commit fe0bdec68b77020281dc814805edfe594ae89e0f Merge: 099e657... 5af75d8... Author: Linus Torvalds Date: Sun Jan 4 16:32:11 2009 -0800 Merge branch 'audit.b61' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b61' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: audit: validate comparison operations, store them in sane form clean up audit_rule_{add,del} a bit make sure that filterkey of task,always rules is reported audit rules ordering, part 2 fixing audit rule ordering mess, part 1 audit_update_lsm_rules() misses the audit_inode_hash[] ones sanitize audit_log_capset() sanitize audit_fd_pair() sanitize audit_mq_open() sanitize AUDIT_MQ_SENDRECV sanitize audit_mq_notify() sanitize audit_mq_getsetattr() sanitize audit_ipc_set_perm() sanitize audit_ipc_obj() sanitize audit_socketcall don't reallocate buffer in every audit_sockaddr() commit 099e657625e801adf82054c8050dde5aceb68452 Author: Alessandro Zummo Date: Sun Jan 4 12:00:54 2009 -0800 rtc: add alarm/update irq interfaces Add standard interfaces for alarm/update irqs enabling. Drivers are no more required to implement equivalent ioctl code as rtc-dev will provide it. UIE emulation should now be handled correctly and will work even for those RTC drivers who cannot be configured to do both UIE and AIE. Signed-off-by: Alessandro Zummo Cc: David Brownell Cc: Atsushi Nemoto Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54566b2c1594c2326a645a3551f9d989f7ba3c5e Author: Nick Piggin Date: Sun Jan 4 12:00:53 2009 -0800 fs: symlink write_begin allocation context fix With the write_begin/write_end aops, page_symlink was broken because it could no longer pass a GFP_NOFS type mask into the point where the allocations happened. They are done in write_begin, which would always assume that the filesystem can be entered from reclaim. This bug could cause filesystem deadlocks. The funny thing with having a gfp_t mask there is that it doesn't really allow the caller to arbitrarily tinker with the context in which it can be called. It couldn't ever be GFP_ATOMIC, for example, because it needs to take the page lock. The only thing any callers care about is __GFP_FS anyway, so turn that into a single flag. Add a new flag for write_begin, AOP_FLAG_NOFS. Filesystems can now act on this flag in their write_begin function. Change __grab_cache_page to accept a nofs argument as well, to honour that flag (while we're there, change the name to grab_cache_page_write_begin which is more instructive and does away with random leading underscores). This is really a more flexible way to go in the end anyway -- if a filesystem happens to want any extra allocations aside from the pagecache ones in ints write_begin function, it may now use GFP_KERNEL (rather than GFP_NOFS) for common case allocations (eg. ocfs2_alloc_write_ctxt, for a random example). [kosaki.motohiro@jp.fujitsu.com: fix ubifs] [kosaki.motohiro@jp.fujitsu.com: fix fuse] Signed-off-by: Nick Piggin Reviewed-by: KOSAKI Motohiro Cc: [2.6.28.x] Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton [ Cleaned up the calling convention: just pass in the AOP flags untouched to the grab_cache_page_write_begin() function. That just simplifies everybody, and may even allow future expansion of the logic. - Linus ] Signed-off-by: Linus Torvalds commit e687d691cb3790d25e31c74f5941fd7c565e9df5 Author: Bruno Prémont Date: Sun Jan 4 13:11:54 2009 -0800 viafb: fix crashes due to 4k stack overflow The function viafb_cursor() uses 2 stack-variables of CURSOR_SIZE bits; CURSOR_SIZE is defined as (8 * 1024). Using up twice 1k on stack is too much for 4k-stack (though it works with 8k-stacks). Make those two variables kzalloc'ed to preserve stack space. Also merge the whole lot of local struct's in viafb_ioctl into a union so the stack usage gets minimized here as well. (struct's are only accessed in their indicidual IOCTL case) This second part is only compile-tested as I know of no userspace app using the IOCTLs. Signed-off-by: Bruno Prémont Cc: Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c644f0e4b56f9a2fc066cd0d75a18074d130e4a3 Author: Pekka Enberg Date: Sun Jan 4 12:00:48 2009 -0800 fs: introduce bgl_lock_ptr() As suggested by Andreas Dilger, introduce a bgl_lock_ptr() helper in and add separate sb_bgl_lock() helpers to filesystem specific header files to break the hidden dependency to struct ext[234]_sb_info. Also, while at it, convert the macros to static inlines to try make up for all the times I broke Andrew Morton's tree. Acked-by: Andreas Dilger Signed-off-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a30c5cefa53cbac429dcb2de906c0637b646253 Author: Randy Dunlap Date: Sun Jan 4 12:00:47 2009 -0800 spi.h uses/needs device.h Include header files as used/needed: In file included from drivers/leds/leds-dac124s085.c:16: include/linux/spi/spi.h:66: error: field 'dev' has incomplete type include/linux/spi/spi.h: In function 'to_spi_device': include/linux/spi/spi.h:100: warning: type defaults to 'int' in declaration of '__mptr' ... Signed-off-by: Randy Dunlap Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e4e27c7d082b2198b63041310609d7191185a9d Author: Adam Lackorzynski Date: Sun Jan 4 12:00:46 2009 -0800 vmalloc.c: fix flushing in vmap_page_range() The flush_cache_vmap in vmap_page_range() is called with the end of the range twice. The following patch fixes this for me. Signed-off-by: Adam Lackorzynski Cc: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b574b7b0124ed344911f5d581e9bc2d83bbeb19 Author: Li Zefan Date: Sun Jan 4 12:00:45 2009 -0800 cgroups: fix a race between cgroup_clone and umount The race is calling cgroup_clone() while umounting the ns cgroup subsys, and thus cgroup_clone() might access invalid cgroup_fs, or kill_sb() is called after cgroup_clone() created a new dir in it. The BUG I triggered is BUG_ON(root->number_of_cgroups != 1); ------------[ cut here ]------------ kernel BUG at kernel/cgroup.c:1093! invalid opcode: 0000 [#1] SMP ... Process umount (pid: 5177, ti=e411e000 task=e40c4670 task.ti=e411e000) ... Call Trace: [] ? deactivate_super+0x3f/0x51 [] ? mntput_no_expire+0xb3/0xdd [] ? sys_umount+0x265/0x2ac [] ? sys_oldumount+0xd/0xf [] ? sysenter_do_call+0x12/0x31 ... EIP: [] cgroup_kill_sb+0x23/0xe0 SS:ESP 0068:e411ef2c ---[ end trace c766c1be3bf944ac ]--- Cc: Serge E. Hallyn Signed-off-by: Li Zefan Cc: Paul Menage Cc: "Serge E. Hallyn" Cc: Balbir Singh Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5af75d8d58d0f9f7b7c0515b35786b22892d5f12 Author: Al Viro Date: Tue Dec 16 05:59:26 2008 -0500 audit: validate comparison operations, store them in sane form Don't store the field->op in the messy (and very inconvenient for e.g. audit_comparator()) form; translate to dense set of values and do full validation of userland-submitted value while we are at it. ->audit_init_rule() and ->audit_match_rule() get new values now; in-tree instances updated. Signed-off-by: Al Viro commit 36c4f1b18c8a7d0adb4085e7f531860b837bb6b0 Author: Al Viro Date: Mon Dec 15 01:50:28 2008 -0500 clean up audit_rule_{add,del} a bit Signed-off-by: Al Viro commit e048e02c89db7bd49d1a5fac77a11c8fb3603087 Author: Al Viro Date: Tue Dec 16 03:51:22 2008 -0500 make sure that filterkey of task,always rules is reported Signed-off-by: Al Viro commit e45aa212ea81d39b38ba158df344dc3a500153e5 Author: Al Viro Date: Mon Dec 15 01:17:50 2008 -0500 audit rules ordering, part 2 Fix the actual rule listing; add per-type lists _not_ used for matching, with all exit,... sitting on one such list. Simplifies "do something for all rules" logics, while we are at it... Signed-off-by: Al Viro commit 0590b9335a1c72a3f0defcc6231287f7817e07c8 Author: Al Viro Date: Sun Dec 14 23:45:27 2008 -0500 fixing audit rule ordering mess, part 1 Problem: ordering between the rules on exit chain is currently lost; all watch and inode rules are listed after everything else _and_ exit,never on one kind doesn't stop exit,always on another from being matched. Solution: assign priorities to rules, keep track of the current highest-priority matching rule and its result (always/never). Signed-off-by: Al Viro commit 1a9d0797b8977d413435277bf9661efbbd584693 Author: Al Viro Date: Sun Dec 14 12:04:02 2008 -0500 audit_update_lsm_rules() misses the audit_inode_hash[] ones Signed-off-by: Al Viro commit 57f71a0af4244d9ba3c0bce74b1d2e66e8d520bd Author: Al Viro Date: Sun Jan 4 14:52:57 2009 -0500 sanitize audit_log_capset() * no allocations * return void * don't duplicate checked for dummy context Signed-off-by: Al Viro commit 157cf649a735a2f7e8dba0ed08e6e38b6c30d886 Author: Al Viro Date: Sun Dec 14 04:57:47 2008 -0500 sanitize audit_fd_pair() * no allocations * return void Signed-off-by: Al Viro commit 564f6993ffef656aebaf46cf2f1f6cb4f5c97207 Author: Al Viro Date: Sun Dec 14 04:02:26 2008 -0500 sanitize audit_mq_open() * don't bother with allocations * don't do double copy_from_user() * don't duplicate parts of check for audit_dummy_context() Signed-off-by: Al Viro commit c32c8af43b9adde8d6f938d8e6328c13b8de79ac Author: Al Viro Date: Sun Dec 14 03:46:48 2008 -0500 sanitize AUDIT_MQ_SENDRECV * logging the original value of *msg_prio in mq_timedreceive(2) is insane - the argument is write-only (i.e. syscall always ignores the original value and only overwrites it). * merge __audit_mq_timed{send,receive} * don't do copy_from_user() twice * don't mess with allocations in auditsc part * ... and don't bother checking !audit_enabled and !context in there - we'd already checked for audit_dummy_context(). Signed-off-by: Al Viro commit 20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b Author: Al Viro Date: Wed Dec 10 07:16:12 2008 -0500 sanitize audit_mq_notify() * don't copy_from_user() twice * don't bother with allocations * don't duplicate parts of audit_dummy_context() * make it return void Signed-off-by: Al Viro commit 7392906ea915b9a2c14dea32b3604b4e178f82f7 Author: Al Viro Date: Wed Dec 10 06:58:59 2008 -0500 sanitize audit_mq_getsetattr() * get rid of allocations * make it return void * don't duplicate parts of audit_dummy_context() Signed-off-by: Al Viro commit e816f370cbadd2afea9f1a42f232d0636137d563 Author: Al Viro Date: Wed Dec 10 03:47:15 2008 -0500 sanitize audit_ipc_set_perm() * get rid of allocations * make it return void * simplify callers Signed-off-by: Al Viro commit a33e6751003c5ade603737d828b1519d980ce392 Author: Al Viro Date: Wed Dec 10 03:40:06 2008 -0500 sanitize audit_ipc_obj() * get rid of allocations * make it return void * simplify callers Signed-off-by: Al Viro commit f3298dc4f2277874d40cb4fc3a6e277317d6603b Author: Al Viro Date: Wed Dec 10 03:16:51 2008 -0500 sanitize audit_socketcall * don't bother with allocations * now that it can't fail, make it return void Signed-off-by: Al Viro commit 4f6b434fee2402b3decdeae9d16eb648725ae426 Author: Al Viro Date: Tue Dec 9 19:50:34 2008 -0500 don't reallocate buffer in every audit_sockaddr() No need to do that more than once per process lifetime; allocating/freeing on each sendto/accept/etc. is bloody pointless. Signed-off-by: Al Viro commit 7d3b56ba37a95f1f370f50258ed3954c304c524b Merge: 269b012... ab14398... Author: Linus Torvalds Date: Sat Jan 3 12:04:39 2009 -0800 Merge branch 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits) x86: setup_per_cpu_areas() cleanup cpumask: fix compile error when CONFIG_NR_CPUS is not defined cpumask: use alloc_cpumask_var_node where appropriate cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t x86: use cpumask_var_t in acpi/boot.c x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids sched: put back some stack hog changes that were undone in kernel/sched.c x86: enable cpus display of kernel_max and offlined cpus ia64: cpumask fix for is_affinity_mask_valid() cpumask: convert RCU implementations, fix xtensa: define __fls mn10300: define __fls m32r: define __fls h8300: define __fls frv: define __fls cris: define __fls cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS cpumask: zero extra bits in alloc_cpumask_var_node cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/ cpumask: convert mm/ ... commit 269b012321f2f1f8e4648c43a93bf432b42c6668 Merge: f60a0a7... 065a6d6... Author: Linus Torvalds Date: Sat Jan 3 12:03:52 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu: (89 commits) AMD IOMMU: remove now unnecessary #ifdefs AMD IOMMU: prealloc_protection_domains should be static kvm/iommu: fix compile warning AMD IOMMU: add statistics about total number of map requests AMD IOMMU: add statistics about allocated io memory AMD IOMMU: add stats counter for domain tlb flushes AMD IOMMU: add stats counter for single iommu domain tlb flushes AMD IOMMU: add stats counter for cross-page request AMD IOMMU: add stats counter for free_coherent requests AMD IOMMU: add stats counter for alloc_coherent requests AMD IOMMU: add stats counter for unmap_sg requests AMD IOMMU: add stats counter for map_sg requests AMD IOMMU: add stats counter for unmap_single requests AMD IOMMU: add stats counter for map_single requests AMD IOMMU: add stats counter for completion wait events AMD IOMMU: add init code for statistic collection AMD IOMMU: add necessary header defines for stats counting AMD IOMMU: add Kconfig entry for statistic collection code AMD IOMMU: use dev_name in iommu_enable function AMD IOMMU: use calc_devid in prealloc_protection_domains ... commit f60a0a79846abed04ad5abddb5dafd14b66e1ab0 Merge: 2f98357... b15dd79... Author: Linus Torvalds Date: Sat Jan 3 12:02:18 2009 -0800 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 (10173): Missing v4l2_prio_close in radio_release V4L/DVB (10172): add DVB_DEVICE_TYPE= to uevent V4L/DVB (10171): Use usb_set_intfdata V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2 V4L/DVB (10167): sms1xxx: add support for inverted gpio V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2 V4L/DVB (10164): Add missing S2 caps flag to S2API V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev V4L/DVB (10162): tuner-simple: Fix tuner type set message V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus V4L/DVB (10160): em28xx: update chip id for em2710 V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus V4L/DVB (10155): Add TEA5764 radio driver V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources. V4L/DVB (10152): Change configuration of the Beholder H6 card V4L/DVB (10151): Fix I2C bridge error in zl10353 ... commit 2f983570010a0dcb26d988da02d7ccfad00c807c Author: Yinghai Lu Date: Sat Jan 3 00:06:34 2009 -0800 sparseirq: move set/get_timer_rand_state back to .c those two functions only used in that C file Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit e9e67a8b579d9605a3d06f7430dbb40465c97bf1 Merge: ad6b646... 418f19e... Author: Linus Torvalds Date: Sat Jan 3 12:00:07 2009 -0800 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: warn about voltage mismatches mmc_spi: Add support for OpenFirmware bindings pxamci: fix dma_unmap_sg length mmc_block: ensure all sectors that do not have errors are read drivers/mmc: Move a dereference below a NULL test sdhci: handle built-in sdhci with modular leds class mmc: balanc pci_iomap with pci_iounmap mmc_block: print better error messages mmc: Add mmc_vddrange_to_ocrmask() helper function ricoh_mmc: Handle newer models of Ricoh controllers mmc: Add 8-bit bus width support sdhci: activate led support also when module mmc: trivial annotation of 'blocks' pci: use pci_ioremap_bar() in drivers/mmc sdricoh_cs: Add support for Bay Controller devices mmc: at91_mci: reorder timer setup and mmc_add_host() call commit ad6b646fe55c40ec193240b974561f0a3775d68d Merge: 61420f5... 006948b... Author: Linus Torvalds Date: Sat Jan 3 11:59:13 2009 -0800 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] Add support for the WM8350 watchdog [WATCHDOG] Add SMSC SCH311x Watchdog Timer. [WATCHDOG] ib700wdt - add timeout parameter commit 61420f59a589c0668f70cbe725785837c78ece90 Merge: d97106a... c742b31... Author: Linus Torvalds Date: Sat Jan 3 11:56:24 2009 -0800 Merge branch 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID [PATCH] improve idle cputime accounting [PATCH] improve precision of idle time detection. [PATCH] improve precision of process accounting. [PATCH] idle cputime accounting [PATCH] fix scaled & unscaled cputime accounting commit d97106ab53f812910a62d18afb9dbe882819c1ba Author: Linus Torvalds Date: Sat Jan 3 11:46:17 2009 -0800 Make %p print '(null)' for NULL pointers Before, when we only ever printed out the pointer value itself, a NULL pointer would never cause issues and might as well be printed out as just its numeric value. However, with the extended %p formats, especially %pR, we might validly want to print out resources for debugging. And sometimes they don't even exist, and the resource pointer is just NULL. Print it out as such, rather than oopsing. This is a more generic version of a patch done by Trent Piepho (catching all %p cases rather than just %pR, and using "(null)" instead of "[NULL]" to match glibc). Requested-by: Trent Piepho Acked-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 3bfacef412b4bc993a8992217e50f1245f2fd3a6 Author: Al Viro Date: Sat Jan 3 07:16:33 2009 +0000 get rid of special-casing the /sbin/loader on alpha ... just make it a binfmt handler like #! one. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 17580d7f2f632ff8c9786d609508c35c9f56e1f3 Author: Al Viro Date: Sat Jan 3 07:16:23 2009 +0000 sanitize ifdefs in binfmt_aout They are actually alpha vs. i386/arm/m68k i.e. ecoff vs. aout. In the only place where we actually tried to handle arm and i386/m68k in different ways (START_DATA() in coredump handling), the arm variant works for all of them (i386 and m68k have u.start_code set to 0). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fe30af971d896c144ef4708f97cf9d3186303c42 Author: Al Viro Date: Sat Jan 3 07:16:13 2009 +0000 remove the rudiment of a.out for sparc it's been used only in sunos compat Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e0b685d39a0404e7f87fb7b7808c3b37a115fe11 Author: Hugh Blemings Date: Sat Jan 3 16:48:44 2009 +1100 Updated contact info for CREDITS file This updates some personal info in the CREDITS file. I'm no longer actively involved in Keyspan driver work so shouldn't really be listed as a Maintainer here. I do however field the occasional question on them and as I'm dropping the misc.nu domain, want to ensure people can find me should they need to. Signed-off-by: Hugh Blemings Signed-off-by: Linus Torvalds commit ab14398abd195af91a744c320a52a1bce814dd1e Author: Cyrill Gorcunov Date: Fri Jan 2 21:51:32 2009 +0300 x86: setup_per_cpu_areas() cleanup Impact: cleanup __alloc_bootmem and __alloc_bootmem_node do panic for us in case of fail so no need for additional checks here. Also lets use pr_*() macros for printing. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 8fd2d2d5aaf086cfa3b2e2e58cab96b7afdc9e51 Author: Mike Travis Date: Wed Dec 31 18:08:48 2008 -0800 cpumask: fix compile error when CONFIG_NR_CPUS is not defined CONFIG_NR_CPUS will be defined for all arch's whether SMP or not, but it may not have made it into all arches yet. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 80855f7361eb68205e6bc1981928629d9b02d5c9 Author: Mike Travis Date: Wed Dec 31 18:08:47 2008 -0800 cpumask: use alloc_cpumask_var_node where appropriate Impact: Reduce inter-node memory traffic. Reduces inter-node memory traffic (offloading the global system bus) by allocating referenced struct cpumasks on the same node as the referring struct. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 2fdf66b491ac706657946442789ec644cc317e1a Author: Rusty Russell Date: Wed Dec 31 18:08:47 2008 -0800 cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t Impact: Reduce memory usage, use new API. This is part of an effort to reduce structure sizes for machines configured with large NR_CPUS. cpumask_t gets replaced by cpumask_var_t, which is either struct cpumask[1] (small NR_CPUS) or struct cpumask * (large NR_CPUS). (Changes to powernow-k* by .) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit ee943a82b697456f9d2ac46f1e6d230beedb4b6c Author: Rusty Russell Date: Wed Dec 31 18:08:47 2008 -0800 x86: use cpumask_var_t in acpi/boot.c Impact: reduce stack size, use new API. Replace cpumask_t with cpumask_var_t. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9628937d5b37169151c5f6bbd40919c6ac958a46 Author: Mike Travis Date: Wed Dec 31 18:08:46 2008 -0800 x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids Impact: Reduce future system panics due to cpumask operations using NR_CPUS Insure that code does not look at bits >= nr_cpu_ids as when cpumasks are allocated based on nr_cpu_ids, these extra bits will not be defined. Also some other minor updates: * change in to use cpu accessor function set_cpu_present() instead of directly accessing cpu_present_map w/cpu_clear() [arch/x86/kernel/reboot.c] * use cpumask_of() instead of &cpumask_of_cpu() [arch/x86/kernel/reboot.c] * optimize some cpu_mask_to_apicid_and functions. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6ca09dfc9f180d038dcef93c167a833f43a8246f Author: Mike Travis Date: Wed Dec 31 18:08:45 2008 -0800 sched: put back some stack hog changes that were undone in kernel/sched.c Impact: prevents panic from stack overflow on numa-capable machines. Some of the "removal of stack hogs" changes in kernel/sched.c by using node_to_cpumask_ptr were undone by the early cpumask API updates, and causes a panic due to stack overflow. This patch undoes those changes by using cpumask_of_node() which returns a 'const struct cpumask *'. In addition, cpu_coregoup_map is replaced with cpu_coregroup_mask further reducing stack usage. (Both of these updates removed 9 FIXME's!) Also: Pick up some remaining changes from the old 'cpumask_t' functions to the new 'struct cpumask *' functions. Optimize memory traffic by allocating each percpu local_cpu_mask on the same node as the referring cpu. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 730cf27246225d56ca1603b2f3c4fdbf882d4e51 Author: Mike Travis Date: Wed Dec 31 18:08:45 2008 -0800 x86: enable cpus display of kernel_max and offlined cpus Impact: enables /sys/devices/system/cpu/{kernel_max,offline} user interface By setting total_cpus, the drivers/base/cpu.c will display the values of kernel_max (NR_CPUS-1) and the offlined cpu map. Signed-off-by: Mike Travis Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6bdf197b04b3ae7c85785bc5a9576f1bcb0ac7c0 Author: Ingo Molnar Date: Sat Jan 3 12:50:46 2009 +0100 ia64: cpumask fix for is_affinity_mask_valid() Impact: build fix on ia64 ia64's default_affinity_write() still had old cpumask_t usage: /home/mingo/tip/kernel/irq/proc.c: In function `default_affinity_write': /home/mingo/tip/kernel/irq/proc.c:114: error: incompatible type for argument 1 of `is_affinity_mask_valid' make[3]: *** [kernel/irq/proc.o] Error 1 make[3]: *** Waiting for unfinished jobs.... update it to cpumask_var_t. Signed-off-by: Ingo Molnar commit 263ec6457bb23d57b575ede18ff6c3d11e0b4e96 Author: Ingo Molnar Date: Sat Jan 3 13:16:09 2009 +0100 cpumask: convert RCU implementations, fix Impact: cleanup This warning: kernel/rcuclassic.c: In function ‘rcu_start_batch’: kernel/rcuclassic.c:397: warning: passing argument 1 of ‘cpumask_andnot’ from incompatible pointer type triggers because one usage site of rcp->cpumask was not converted to to_cpumask(rcp->cpumask). There's no ill effects of this bug. Signed-off-by: Ingo Molnar commit e465b535ce5b2318798c68e1454917204494bfe3 Merge: 7eb1955... 5ece5c5... Author: Ingo Molnar Date: Sat Jan 3 18:54:51 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into cpus4096-v2 commit 7eb19553369c46cc1fa64caf120cbcab1b597f7c Merge: 6092848... 8c384cd... Author: Mike Travis Date: Wed Dec 31 17:34:16 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask Conflicts: arch/x86/kernel/io_apic.c kernel/rcuclassic.c kernel/sched.c kernel/time/tick-sched.c Signed-off-by: Mike Travis [ mingo@elte.hu: backmerged typo fix for io_apic.c ] Signed-off-by: Ingo Molnar commit 065a6d68c71af2a3bdd080fa5aa353b76eede8f5 Author: Joerg Roedel Date: Sat Jan 3 14:16:35 2009 +0100 AMD IOMMU: remove now unnecessary #ifdefs The #ifdef's are no longer necessary when the iommu-api and the amd iommu updates are merged together. Signed-off-by: Joerg Roedel commit b0a11f44aba631fd4b898b620c93cc2096f3f15c Merge: 7398ca7... 0e93dd8... Author: Joerg Roedel Date: Sat Jan 3 16:43:44 2009 +0100 Merge branches 'iommu/api' and 'iommu/amd' into for-linus commit 0e93dd883537e628b809a2120854cd591c8935f1 Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:45:22 2008 +0530 AMD IOMMU: prealloc_protection_domains should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu.c:1299:6: warning: symbol 'prealloc_protection_domains' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Joerg Roedel commit 7398ca79d227f7cd7f2ce23f08624e30081dcb4e Author: Joerg Roedel Date: Sat Jan 3 16:37:53 2009 +0100 kvm/iommu: fix compile warning This fixes a compile warning about a variable thats maybe used uninitialized in the function. Signed-off-by: Joerg Roedel commit 8ecaf8f19f0f0627d6ac6d69ed9472e7d307f35b Author: Joerg Roedel Date: Fri Dec 12 16:13:04 2008 +0100 AMD IOMMU: add statistics about total number of map requests Impact: see total number of map requests in debugfs Signed-off-by: Joerg Roedel commit 5774f7c5fef2526bfa58eab628fbe91dce5e07b1 Author: Joerg Roedel Date: Fri Dec 12 15:57:30 2008 +0100 AMD IOMMU: add statistics about allocated io memory Impact: see amount of allocated io memory in debugfs Signed-off-by: Joerg Roedel commit 18811f55d48e5f3ee70c4744c592f940022fa592 Author: Joerg Roedel Date: Fri Dec 12 15:48:28 2008 +0100 AMD IOMMU: add stats counter for domain tlb flushes Impact: see number of domain tlb flushes in debugfs Signed-off-by: Joerg Roedel commit f57d98ae6979f7bcbf758023b4716f485385f903 Author: Joerg Roedel Date: Fri Dec 12 15:46:29 2008 +0100 AMD IOMMU: add stats counter for single iommu domain tlb flushes Impact: see number of single iommu domain tlb flushes in debugfs Signed-off-by: Joerg Roedel commit c1858976f5ef05122bb671f678beaf7e1fe1dd74 Author: Joerg Roedel Date: Fri Dec 12 15:42:39 2008 +0100 AMD IOMMU: add stats counter for cross-page request Impact: see number of requests for more than one page in debugfs Signed-off-by: Joerg Roedel commit 5d31ee7e08b7713596b999a42e67491bdf3665b3 Author: Joerg Roedel Date: Fri Dec 12 15:16:38 2008 +0100 AMD IOMMU: add stats counter for free_coherent requests Impact: see number of free_coherent requests in debugfs Signed-off-by: Joerg Roedel commit c8f0fb36bffa9e21d214a2910b825567d52bfc2c Author: Joerg Roedel Date: Fri Dec 12 15:14:21 2008 +0100 AMD IOMMU: add stats counter for alloc_coherent requests Impact: see number of alloc_coherent requests in debugfs Signed-off-by: Joerg Roedel commit 55877a6bcdf0843414eecc658550c6551f5b5e1d Author: Joerg Roedel Date: Fri Dec 12 15:12:14 2008 +0100 AMD IOMMU: add stats counter for unmap_sg requests Impact: see number of unmap_sg requests in debugfs Signed-off-by: Joerg Roedel commit d03f067a9d0a1cc09529427af9a15e15d32ba1de Author: Joerg Roedel Date: Fri Dec 12 15:09:48 2008 +0100 AMD IOMMU: add stats counter for map_sg requests Impact: see number of map_sg requests in debugfs Signed-off-by: Joerg Roedel commit 146a6917fc30616401a090f55cff2b855ee5b2ab Author: Joerg Roedel Date: Fri Dec 12 15:07:12 2008 +0100 AMD IOMMU: add stats counter for unmap_single requests Impact: see number of unmap_single requests in debugfs Signed-off-by: Joerg Roedel commit 0f2a86f200bc97ae6cefc5d3ac879094b3fcde48 Author: Joerg Roedel Date: Fri Dec 12 15:05:16 2008 +0100 AMD IOMMU: add stats counter for map_single requests Impact: see number of map_single requests in debugfs Signed-off-by: Joerg Roedel commit da49f6df726ecaaee87757e8b65a560679d32f99 Author: Joerg Roedel Date: Fri Dec 12 14:59:58 2008 +0100 AMD IOMMU: add stats counter for completion wait events Impact: see number of completion wait events in debugfs Signed-off-by: Joerg Roedel commit 7f26508bbb76ce86aad1130ef6b7f1a4bb7de0c2 Author: Joerg Roedel Date: Fri Dec 12 13:50:21 2008 +0100 AMD IOMMU: add init code for statistic collection Impact: create a new debugfs directory Signed-off-by: Joerg Roedel commit a9dddbe0497ab0df7ee729e8d4cb0ee2dec3e4ba Author: Joerg Roedel Date: Fri Dec 12 12:33:06 2008 +0100 AMD IOMMU: add necessary header defines for stats counting Impact: add defines to make iommu stats collection configurable Signed-off-by: Joerg Roedel commit 2e117604a4e8f3f9cee4aec3373b0382159e152a Author: Joerg Roedel Date: Thu Dec 11 19:00:12 2008 +0100 AMD IOMMU: add Kconfig entry for statistic collection code Impact: adds new Kconfig entry Signed-off-by: Joerg Roedel commit a4e267c88b4acfc87ff2ab0cc8e9509878e9aaba Author: Joerg Roedel Date: Wed Dec 10 20:04:18 2008 +0100 AMD IOMMU: use dev_name in iommu_enable function Impact: cleanup Signed-off-by: Joerg Roedel commit edcb34da259c503a2ffd37e51a658672ba3bc7a2 Author: Joerg Roedel Date: Wed Dec 10 20:01:45 2008 +0100 AMD IOMMU: use calc_devid in prealloc_protection_domains Impact: cleanup Signed-off-by: Joerg Roedel commit c226f853091577e665ebc02c064af4834d8d4f28 Author: Joerg Roedel Date: Fri Dec 12 13:53:54 2008 +0100 AMD IOMMU: convert amd_iommu_isolate to bool Impact: cleanup Signed-off-by: Joerg Roedel commit 0cfd7aa90be83a4d278810d231f9ef03f189b4f0 Author: Joerg Roedel Date: Wed Dec 10 19:58:00 2008 +0100 AMD IOMMU: convert iommu->need_sync to bool Impact: use bool instead of int for iommu->need_sync Signed-off-by: Joerg Roedel commit ab896722867602eb0e836717e8b857ad513800d8 Author: Joerg Roedel Date: Wed Dec 10 19:43:07 2008 +0100 AMD IOMMU: use dev_name instead of self-build print_devid Impact: use generic dev_name instead of own function Signed-off-by: Joerg Roedel commit 1ac4cbbc5eb56de96d264d10f464ba5222815b1b Author: Joerg Roedel Date: Wed Dec 10 19:33:26 2008 +0100 AMD IOMMU: allocate a new protection for hotplugged devices Impact: also hotplug devices benefit from device isolation Signed-off-by: Joerg Roedel commit e2dc14a2a6c9a83baaafc51f06b7e73cec2167be Author: Joerg Roedel Date: Wed Dec 10 18:48:59 2008 +0100 AMD IOMMU: add a domain flag for default domains Impact: adds a new protection domain flag Signed-off-by: Joerg Roedel commit 26961efe0dab9ca73f8fc3b6137b814252e04972 Author: Joerg Roedel Date: Wed Dec 3 17:00:17 2008 +0100 AMD IOMMU: register functions for the IOMMU API Signed-off-by: Joerg Roedel commit 645c4c8d7289a718c9c828ec217f2b94e3b3e6ff Author: Joerg Roedel Date: Tue Dec 2 20:05:50 2008 +0100 AMD IOMMU: add domain address lookup function for IOMMU API Impact: add a generic function to lockup addresses in protection domains Signed-off-by: Joerg Roedel commit eb74ff6cc0080c7f6270fdfffba65c4eff23d3ad Author: Joerg Roedel Date: Tue Dec 2 19:59:10 2008 +0100 AMD IOMMU: add domain unmap function for IOMMU API Impact: add a generic function to unmap pages into protection domains Signed-off-by: Joerg Roedel commit c6229ca649aa9b312d1f1de20af8d2603b14eead Author: Joerg Roedel Date: Tue Dec 2 19:48:43 2008 +0100 AMD IOMMU: add domain map function for IOMMU API Impact: add a generic function to map pages into protection domains Signed-off-by: Joerg Roedel commit 01106066a6900b518debe990ddaadf376d433bd6 Author: Joerg Roedel Date: Tue Dec 2 19:34:11 2008 +0100 AMD IOMMU: add device attach function for IOMMU API Impact: add a generic function to attach devices to protection domains Signed-off-by: Joerg Roedel commit 684f2888847b896faafed87ce4733501d2cc283c Author: Joerg Roedel Date: Mon Dec 8 12:07:44 2008 +0100 AMD IOMMU: add device detach function for IOMMU API Impact: add a generic function to detach devices from protection domains Signed-off-by: Joerg Roedel commit 98383fc301c6546af0f3a8a1d3cb8bf218f7e940 Author: Joerg Roedel Date: Tue Dec 2 18:34:12 2008 +0100 AMD IOMMU: add domain destroy function for IOMMU API Impact: add a generic function for releasing protection domains Signed-off-by: Joerg Roedel commit c156e347d6d3c36b6843c3b168eda61b9a02c827 Author: Joerg Roedel Date: Tue Dec 2 18:13:27 2008 +0100 AMD IOMMU: add domain init function for IOMMU API Impact: add a generic function for allocation protection domains Signed-off-by: Joerg Roedel commit 6d98cd8043c13438e4ca8a9464893f0224198a30 Author: Joerg Roedel Date: Mon Dec 8 12:05:55 2008 +0100 AMD IOMMU: add domain cleanup helper function Impact: add a function to remove all devices from a domain Signed-off-by: Joerg Roedel commit e275a2a0fc9e2168b15f6c7814e30b7ad58b1c7c Author: Joerg Roedel Date: Wed Dec 10 18:27:25 2008 +0100 AMD IOMMU: add device notifier callback Impact: inform IOMMU about state change of a device in the driver core Signed-off-by: Joerg Roedel commit 355bf553edb7fe21ada51f62c849180bec6da877 Author: Joerg Roedel Date: Mon Dec 8 12:02:41 2008 +0100 AMD IOMMU: add device detach helper functions Impact: add helper functions to detach a device from a domain Signed-off-by: Joerg Roedel commit f1179dc005ee2b0e55c3f74f3552c3e9ef852265 Author: Joerg Roedel Date: Wed Dec 10 14:39:51 2008 +0100 AMD IOMMU: rename set_device_domain function Impact: rename set_device_domain() to attach_device() Signed-off-by: Joerg Roedel commit 863c74ebd0152b21bc4b11c1447b5d1429287d37 Author: Joerg Roedel Date: Tue Dec 2 17:56:36 2008 +0100 AMD IOMMU: add device reference counting for protection domains Impact: know how many devices are assigned to a domain Signed-off-by: Joerg Roedel commit 5b28df6f43ac9878f310ad0cb7f11ddb262a7ac6 Author: Joerg Roedel Date: Tue Dec 2 17:49:42 2008 +0100 AMD IOMMU: add checks for dma_ops domain to dma_ops functions Impact: detect when a driver uses a device assigned otherwise Signed-off-by: Joerg Roedel commit 9fdb19d64c0247f23343b51fc85f438f8e7a2f3c Author: Joerg Roedel Date: Tue Dec 2 17:46:25 2008 +0100 AMD IOMMU: add protection domain flags Imapct: add a new struct member to 'struct protection_domain' When using protection domains for dma_ops and KVM its better to know for which subsystem it was allocated. Add a flags member to struct protection domain for that purpose. Signed-off-by: Joerg Roedel commit 43f4960983a309568a6c4375f081e63fb2ff24a3 Author: Joerg Roedel Date: Tue Dec 2 21:01:12 2008 +0100 AMD IOMMU: add iommu_flush_domain function Impact: add a function to flush a domain id on every IOMMU Signed-off-by: Joerg Roedel commit 9e919012e33c481991e46aa4cb13d807cd47b798 Author: Joerg Roedel Date: Wed Dec 10 20:05:52 2008 +0100 AMD IOMMU: don't remove protection domain from iommu_pd_list Impact: save unneeded logic to add and remove domains to the list The removal of a protection domain from the iommu_pd_list is not necessary. Another benefit is that we save complexity because we don't have to readd it later when the device no longer uses the domain. Signed-off-by: Joerg Roedel commit 237b6f33291394c337ae84e2d3782d5605803af2 Author: Joerg Roedel Date: Tue Dec 2 20:54:37 2008 +0100 AMD IOMMU: move invalidation command building to a separate function Impact: refactoring of iommu_queue_inv_iommu_pages Signed-off-by: Joerg Roedel commit 8d201968e15f56ae2837b0d0b64d3fff098857b0 Author: Joerg Roedel Date: Tue Dec 2 20:34:41 2008 +0100 AMD IOMMU: refactor completion wait handling into separate functions Impact: split one function into three The separate functions are required synchronize commands across all hardware IOMMUs in the system. Signed-off-by: Joerg Roedel commit a2acfb75792511a35586db80a38b8e4701a97730 Author: Joerg Roedel Date: Tue Dec 2 18:28:53 2008 +0100 AMD IOMMU: add domain id free function Impact: add code to release a domain id Signed-off-by: Joerg Roedel commit 86db2e5d47bfa61a151d6ac83263f4bde4d52290 Author: Joerg Roedel Date: Tue Dec 2 18:20:21 2008 +0100 AMD IOMMU: make dma_ops_free_pagetable generic Impact: change code to free pagetables from protection domains The dma_ops_free_pagetable function can only free pagetables from dma_ops domains. Change that to free pagetables of pure protection domains. Signed-off-by: Joerg Roedel commit 38e817febe2f12bd2fbf92a1df36f41946d0c223 Author: Joerg Roedel Date: Tue Dec 2 17:27:52 2008 +0100 AMD IOMMU: rename iommu_map to iommu_map_page Impact: function rename The iommu_map function maps only one page. Make this clear in the function name. Signed-off-by: Joerg Roedel commit cdc7b83726297b43deed0455d8732163cc59802a Author: Mike Day Date: Fri Dec 12 17:16:30 2008 +0100 intel-iommu: fix bit shift at DOMAIN_FLAG_P2P_MULTIPLE_DEVICES Signed-off-by: Mike Day Signed-off-by: Joerg Roedel commit e4754c96cf8b82a754dc5ba791d6c0bf1fbe8e8e Author: Joerg Roedel Date: Wed Dec 3 15:26:42 2008 +0100 VT-d: remove now unused intel_iommu_found function Signed-off-by: Joerg Roedel commit a8bcbb0de4a52f07fef7412ddc877348311ebf2a Author: Joerg Roedel Date: Wed Dec 3 15:14:02 2008 +0100 VT-d: register functions for the IOMMU API Signed-off-by: Joerg Roedel commit d14d65777c2491dd5baf1e17f444b8f653f3cbb1 Author: Joerg Roedel Date: Wed Dec 3 15:06:57 2008 +0100 VT-d: adapt domain iova_to_phys function for IOMMU API Signed-off-by: Joerg Roedel commit dde57a210dcdce85e2813bab8f88687761d9f6a6 Author: Joerg Roedel Date: Wed Dec 3 15:04:09 2008 +0100 VT-d: adapt domain map and unmap functions for IOMMU API Signed-off-by: Joerg Roedel commit 4c5478c94eb29e6101f1f13175f7455bc8b5d953 Author: Joerg Roedel Date: Wed Dec 3 14:58:24 2008 +0100 VT-d: adapt device attach and detach functions for IOMMU API Signed-off-by: Joerg Roedel commit 5d450806eb0e569c5846a5825e7f535980b0da32 Author: Joerg Roedel Date: Wed Dec 3 14:52:32 2008 +0100 VT-d: adapt domain init and destroy functions for IOMMU API Signed-off-by: Joerg Roedel commit 19de40a8472fa64693eab844911eec277d489f6c Author: Joerg Roedel Date: Wed Dec 3 14:43:34 2008 +0100 KVM: change KVM to use IOMMU API Signed-off-by: Joerg Roedel commit 1aaf118352b85bb359ce28070bcc478f659a7031 Author: Joerg Roedel Date: Wed Nov 26 17:25:13 2008 +0100 select IOMMU_API when DMAR and/or AMD_IOMMU is selected These two IOMMUs can implement the current version of this API. So select the API if one or both of these IOMMU drivers is selected. Signed-off-by: Joerg Roedel commit fc2100eb4d0960b56c2c705a97941c08fb1c0fd4 Author: Joerg Roedel Date: Wed Nov 26 17:21:24 2008 +0100 add frontend implementation for the IOMMU API This API can be used by KVM for accessing different types of IOMMUs to do device passthrough to guests. Beside that this API can also be used by device drivers to map non-linear host memory into dma-linear addresses to prevent sgather-gather DMA. UIO may be another user for this API. Signed-off-by: Joerg Roedel Acked-by: Greg Kroah-Hartman commit 4a77a6cf6d9bf9f5c74b27f62bd2bfe6dcc88392 Author: Joerg Roedel Date: Wed Nov 26 17:02:33 2008 +0100 introcude linux/iommu.h for an iommu api This patch introduces the API to abstract the exported VT-d functions for KVM into a generic API. This way the AMD IOMMU implementation can plug into this API later. Signed-off-by: Joerg Roedel commit c4fa3864281c7d88b7262cbc6cbd5c90bb59860e Author: Joerg Roedel Date: Wed Nov 26 15:51:19 2008 +0100 KVM: rename vtd.c to iommu.c Impact: file renamed The code in the vtd.c file can be reused for other IOMMUs as well. So rename it to make it clear that it handle more than VT-d. Signed-off-by: Joerg Roedel commit b653574a7d14b663cc812cb20be6a114939ba186 Author: Weidong Han Date: Mon Dec 8 23:29:53 2008 +0800 Deassign device in kvm_free_assgined_device In kvm_iommu_unmap_memslots(), assigned_dev_head is already empty. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 0a920356748df4fb06e86c21c23d2ed6d31d37ad Author: Weidong Han Date: Tue Dec 2 21:24:23 2008 +0800 KVM: support device deassignment Support device deassignment, it can be used in device hotplug. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 260782bcfdaaa7850f29d6bb2ec6603019168c57 Author: Weidong Han Date: Tue Dec 2 21:03:39 2008 +0800 KVM: use the new intel iommu APIs intel iommu APIs are updated, use the new APIs. In addition, change kvm_iommu_map_guest() to just create the domain, let kvm_iommu_assign_device() assign device. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit fe40f1e020d0923f5f35ca15f02a206c75a28053 Author: Weidong Han Date: Mon Dec 8 23:10:23 2008 +0800 Check agaw is sufficient for mapped memory When domain is related to multiple iommus, need to check if the minimum agaw is sufficient for the mapped memory Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit faa3d6f5ffe7bf60ebfd0d36513fbcda0eb0ea1a Author: Weidong Han Date: Mon Dec 8 23:09:29 2008 +0800 Change intel iommu APIs of virtual machine domain These APIs are used by KVM to use VT-d Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit ea6606b02fc3192f2edab2db669fa0b9756b4e67 Author: Weidong Han Date: Mon Dec 8 23:08:15 2008 +0800 Change domain_context_mapping_one for virtual machine domain vm_domid won't be set in context, find available domain id for a device from its iommu. For a virtual machine domain, a default agaw will be set, and skip top levels of page tables for iommu which has less agaw than default. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 5e98c4b1d6e89676193c355e430eddf369bcf195 Author: Weidong Han Date: Mon Dec 8 23:03:27 2008 +0800 Allocation and free functions of virtual machine domain virtual machine domain is different from native DMA-API domain, implement separate allocation and free functions for virtual machine domain. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 5331fe6f5627e06eec7d0dc154a0a3a9c27813c5 Author: Weidong Han Date: Mon Dec 8 23:00:00 2008 +0800 Add domain_flush_cache Because virtual machine domain may have multiple devices from different iommus, it cannot use __iommu_flush_cache. In some common low level functions, use domain_flush_cache instead of __iommu_flush_cache. On the other hand, in some functions, iommu can is specified or domain cannot be got, still use __iommu_flush_cache Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit c7151a8dfefd11108de5b4293af2390962bcff71 Author: Weidong Han Date: Mon Dec 8 22:51:37 2008 +0800 Add/remove domain device info for virtual machine domain Add iommu reference count in domain, and add a lock to protect iommu setting including iommu_bmp, iommu_count and iommu_coherency. virtual machine domain may have multiple devices from different iommus, so it needs to do more things when add/remove domain device info. Thus implement separate these functions for virtual machine domain. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 1ce28feb22833645a0f3843cd873a0b56ed19ef0 Author: Weidong Han Date: Mon Dec 8 16:35:39 2008 +0800 Add domain flag DOMAIN_FLAG_VIRTUAL_MACHINE Add this flag for VT-d used in virtual machine, like KVM. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 8e604097ddc483eb1e6e99564953e4e937fe439a Author: Weidong Han Date: Mon Dec 8 15:49:06 2008 +0800 iommu coherency In dmar_domain, more than one iommus may be included in iommu_bmp. Due to "Coherency" capability may be different across iommus, set this variable to indicate iommu access is coherent or not. Only when all related iommus in a dmar_domain are all coherent, iommu access of this domain is coherent. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 1b5736839ae13dadc5947940144f95dd0f4a4a8c Author: Weidong Han Date: Mon Dec 8 15:34:06 2008 +0800 calculate agaw for each iommu "SAGAW" capability may be different across iommus. Use a default agaw, but if default agaw is not supported in some iommus, choose a less supported agaw. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 8c11e798eee2ce4475134eaf61302b28ea4f205d Author: Weidong Han Date: Mon Dec 8 15:29:22 2008 +0800 iommu bitmap instead of iommu pointer in dmar_domain In order to support assigning multiple devices from different iommus to a domain, iommu bitmap is used to keep all iommus the domain are related to. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit a2bb8459fe46e5aaad6637b31b5593d740097cba Author: Weidong Han Date: Mon Dec 8 11:24:12 2008 +0800 Get iommu from g_iommus for deferred flush deferred_flush[] uses the iommu seq_id to index, so its iommu is fixed and can get it from g_iommus. Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit d9630fe941769dd050fbc38fbbac20a708ab9461 Author: Weidong Han Date: Mon Dec 8 11:06:32 2008 +0800 Add global iommu list Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit 3b5410e735b093060b96664230c6f9f4fe80b251 Author: Weidong Han Date: Mon Dec 8 09:17:15 2008 +0800 change P2P domain flags Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit d71a2f33ac466a437f316e7bb024d0175a7f3cd9 Author: Weidong Han Date: Sun Dec 7 21:13:41 2008 +0800 Initialize domain flags to 0 It's random number after the domain is allocated by kmem_cache_alloc Signed-off-by: Weidong Han Signed-off-by: Joerg Roedel commit b15dd79ea06b04a7ecee95f62ce7b6a3547dbb0a Author: Udo Steinberg Date: Fri Jan 2 17:34:28 2009 -0300 V4L/DVB (10173): Missing v4l2_prio_close in radio_release The radio_release function of the BTTV driver is missing a call to v4l2_prio_close. As a result, after the radio device has been opened at least once (e.g., by HAL during bootup), v4l2_priority will never drop below V4L2_PRIORITY_INTERACTIVE again. With the following patch against 2.6.28, applications that run with V4L2_PRIORITY_BACKGROUND are able to open devices again. Previous Linux versions are affected as well. Signed-off-by: Udo Steinberg Signed-off-by: Mauro Carvalho Chehab commit 763d19bb90a005a339b7d5ba70a710bb17db2bab Author: Kay Sievers Date: Wed Dec 31 23:35:24 2008 -0300 V4L/DVB (10172): add DVB_DEVICE_TYPE= to uevent Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 03fb02c604d68156c0828e3950094f18ce529385 Author: Julia Lawall Date: Thu Jan 1 17:14:58 2009 -0300 V4L/DVB (10171): Use usb_set_intfdata This code had calls to both usb_set_intfdata and dev_set_drvdata, doing the same thing. The semantic patch that lead to finding this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @header@ @@ @same depends on header@ position p; @@ usb_set_intfdata@p(...) { ... } @depends on header@ position _p!=same.p; identifier _f; struct usb_interface *intf; expression data; @@ _f@_p(...) { <+... - dev_set_drvdata(&intf->dev, data); + usb_set_intfdata(intf, data); ...+> } // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit 2e824f79240476d57a8589f46232cabf151efe90 Author: Yu Zhao Date: Mon Dec 22 16:54:58 2008 +0800 VT-d: fix segment number being ignored when searching DRHD On platforms with multiple PCI segments, any of the segments can have a DRHD with INCLUDE_PCI_ALL flag. So need to check the DRHD's segment number against the PCI device's when searching its DRHD. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse Signed-off-by: Joerg Roedel commit 19c239ce3d089fee339d1ab7e97b43d6f0557ce5 Author: Mark McLoughlin Date: Fri Nov 21 16:56:53 2008 +0000 intel-iommu: trivially inline DMA PTE macros Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit c07e7d217bef198422b7eface456ecfd4bb1ab87 Author: Mark McLoughlin Date: Fri Nov 21 16:54:46 2008 +0000 intel-iommu: trivially inline context entry macros Some macros were unused, so I just dropped them: context_fault_disable context_translation_type context_address_root context_address_width context_domain_id Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 2abd7e167c1b281f99bb58d302225872bfae9123 Author: Mark McLoughlin Date: Thu Nov 20 15:49:50 2008 +0000 intel-iommu: move iommu_prepare_gfx_mapping() out of dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 58fa7304a2c2bfd46e505c293ef779aa1d9715c2 Author: Mark McLoughlin Date: Thu Nov 20 15:49:49 2008 +0000 intel-iommu: kill off duplicate def of dmar_disabled This is only used in dmar.c and intel-iommu.h, so dma_remapping.h seems like the appropriate place for it. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit a647dacbb1389aa6a5fa631766c1eaea35905890 Author: Mark McLoughlin Date: Thu Nov 20 15:49:48 2008 +0000 intel-iommu: move struct device_domain_info out of dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 99126f7ce14aff5f9371b2fa81fddb82be815794 Author: Mark McLoughlin Date: Thu Nov 20 15:49:47 2008 +0000 intel-iommu: move struct dmar_domain def out dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 622ba12a4c2148999bda9b891bfd0c6ddcb6c57e Author: Mark McLoughlin Date: Thu Nov 20 15:49:46 2008 +0000 intel-iommu: move DMA PTE defs out of dma_remapping.h DMA_PTE_READ/WRITE are needed by kvm. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 7a8fc25e0cc6e75fa6fdb0a856490e324218550b Author: Mark McLoughlin Date: Thu Nov 20 15:49:45 2008 +0000 intel-iommu: move context entry defs out from dma_remapping.h Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 46b08e1a76b758193b0e7b889c6486a16eb1e9e2 Author: Mark McLoughlin Date: Thu Nov 20 15:49:44 2008 +0000 intel-iommu: move root entry defs from dma_remapping.h We keep the struct root_entry forward declaration for the pointer in struct intel_iommu. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit f27be03b271851fd54529f292c0f25b4c1f1a553 Author: Mark McLoughlin Date: Thu Nov 20 15:49:43 2008 +0000 intel-iommu: move DMA_32/64BIT_PFN into intel-iommu.c Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 519a05491586dad04e687660e54c57882315b22b Author: Mark McLoughlin Date: Thu Nov 20 14:21:13 2008 +0000 intel-iommu: make init_dmars() static init_dmars() is not used outside of drivers/pci/intel-iommu.c Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 015ab17dc2e9de805c26e74f498b12ee5e8de07e Author: Mark McLoughlin Date: Thu Nov 20 14:04:20 2008 +0000 intel-iommu: remove some unused struct intel_iommu fields The seg, saved_msg and sysdev fields appear to be unused since before the code was first merged. linux/msi.h is not needed in linux/intel-iommu.h anymore since there is no longer a reference to struct msi_msg. The MSI code in drivers/pci/intel-iommu.c still has linux/msi.h included via linux/dmar.h. linux/sysdev.h isn't needed because there is no reference to struct sys_device. Signed-off-by: Mark McLoughlin Signed-off-by: David Woodhouse commit 5ece5c5192d065c229da01e7b347c1d3877b59fa Author: Rusty Russell Date: Sat Jan 3 16:21:08 2009 +1030 xtensa: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 5c134dad43443aa9c9606eaf47c378a6b9c5c597 Author: Rusty Russell Date: Sat Jan 3 16:19:03 2009 +1030 mn10300: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 16a206260ee70f181de6a3672678545859589ef2 Author: Rusty Russell Date: Sat Jan 3 16:16:54 2009 +1030 m32r: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 9ddabc2a29163e4b243d10c5e06fc5584073d7ad Author: Rusty Russell Date: Sat Jan 3 16:16:04 2009 +1030 h8300: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit ee38e5140bafbf40e1bd25ab917ac8db54a27799 Author: Rusty Russell Date: Sat Jan 3 16:14:05 2009 +1030 frv: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 0999769e6cad9b0e5abb7c513c0c3f16821f0884 Author: Rusty Russell Date: Sat Jan 3 15:37:14 2009 +1030 cris: define __fls Like fls, but can't be handed 0 and returns the bit number. Signed-off-by: Rusty Russell commit 8e3bda0863c1578ddf47a015eac7dc6efb1ef48b Merge: 574c3fd... 8e5033a... Author: Linus Torvalds Date: Fri Jan 2 15:57:47 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: (33 commits) UBIFS: add more useful debugging prints UBIFS: print debugging messages properly UBIFS: fix numerous spelling mistakes UBIFS: allow mounting when short of space UBIFS: fix writing uncompressed files UBIFS: fix checkpatch.pl warnings UBIFS: fix sparse warnings UBIFS: simplify make_free_space UBIFS: do not lie about used blocks UBIFS: restore budg_uncommitted_idx UBIFS: always commit on unmount UBIFS: use ubi_sync UBIFS: always commit in sync_fs UBIFS: fix file-system synchronization UBIFS: fix constants initialization UBIFS: avoid unnecessary calculations UBIFS: re-calculate min_idx_size after the commit UBIFS: use nicer 64-bit math UBIFS: fix available blocks count UBIFS: various comment improvements and fixes ... commit 574c3fdae3890e60f8bc59e8107686944ba1e446 Merge: 56635f7... f2863c5... Author: Linus Torvalds Date: Fri Jan 2 15:57:26 2009 -0800 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 * 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6: UBI: fix checkpatch.pl warnings UBI: simplify PEB protection code UBI: prepare for protection tree improvements UBI: return -ENOMEM upon failing vmalloc UBI: document UBI ioctls UBI: handle write errors in WL worker UBI: fix error path UBI: some code re-structuring UBI: fix deadlock UBI: fix warnings when debugging is enabled commit 56635f7e6197404d7363f8dcaa7a97abf57276fb Merge: a8e7823... b67ff8c... Author: Linus Torvalds Date: Fri Jan 2 15:56:54 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: kbuild: ignore a few files in headers_check kbuild: add checks for include of linux/types in userspace headers kbuild: drop debugging leftover in tags.sh kbuild: document environment variables kbuild: make *config usage docs kbuild: disable sparse warning "returning void-valued expression" kbuild: in headers_install autoconvert asm/inline/volatile to __xxx__ kbuild: check for leaked CONFIG_ symbols to userspace headers_check.pl: disallow extern's kconfig: improve error messages for bad source statements kconfig: struct property commented kconfig: add comments to symbol flags kconfig: explain symbol value defaults m68k: fix recursive dependency in Kconfig commit a8e782348d9f0dc64f6adb81f5f6959921949f13 Merge: 6680598... 47dabdc... Author: Linus Torvalds Date: Fri Jan 2 15:33:12 2009 -0800 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: (27 commits) x86: mpparse.c fix style problems x86: nmi.c fix style problems x86: ldt.c fix style problems x86: cpuid.c fix style problems x86, UV: remove erroneous BAU initialization x86: fix incorrect __read_mostly on _boot_cpu_pda x86: convert permanent_kmaps_init() from macro to inline x86: early_printk - use sizeof instead of hardcoded number x86: xsave.c: restore_user_xstate should be static x86: uv_bau.h: fix dubious bitfield x86: apic.c: xapic_icr_read and x2apic_icr_read should be static x86: bios_uv.c: uv_systab should be static x86: genx2apic_phys.c: x2apic_send_IPI_self and init_x2apic_ldr should be static x86: amd_iommu.c: prealloc_protection_domains should be static x86: amd_iommu_init.c: iommu_enable and iommu_enable_event_logging should be static x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h x86_64: pci-gart_64.c iommu_fullflush should be static x86: efi.c declare add_efi_memmap before they get used x86: io_apic.c io_apic_sync should be static x86: apic.c declare pic_mode before they get used ... commit 47dabdc7fcd4daa52dcda72a1f18603dd168355d Merge: 923a789... 46814dd... Author: Ingo Molnar Date: Fri Jan 2 22:41:52 2009 +0100 Merge branches 'x86/cleanups', 'x86/fpu' and 'x86/urgent' into x86/core commit 923a789b49c7269a0245d5af6afe486188d940df Merge: 103ceff... b840d79... Author: Ingo Molnar Date: Fri Jan 2 22:41:36 2009 +0100 Merge branch 'linus' into x86/cleanups Conflicts: arch/x86/kernel/reboot.c commit 6680598b44ed3c0052d155522eb21fc5a00de5f3 Author: Ingo Molnar Date: Fri Jan 2 18:53:14 2009 +0100 Disallow gcc versions 3.{0,1} GCC 3.0 and 3.1 are too old to build a working kernel. Signed-off-by: Ingo Molnar [ This check got dropped as obsolete when I simplified the gcc header inclusion mess in f153b82121b0366fe0e5f9553545cce237335175, but Willy Tarreau reports actually having those old versions still.. -Linus ] Signed-off-by: Linus Torvalds commit b840d79631c882786925303c2b0f4fefc31845ed Merge: 597b0d2... c3d8000... Author: Linus Torvalds Date: Fri Jan 2 11:44:09 2009 -0800 Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits) x86: export vector_used_by_percpu_irq x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and() sched: nominate preferred wakeup cpu, fix x86: fix lguest used_vectors breakage, -v2 x86: fix warning in arch/x86/kernel/io_apic.c sched: fix warning in kernel/sched.c sched: move test_sd_parent() to an SMP section of sched.h sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0 sched: activate active load balancing in new idle cpus sched: bias task wakeups to preferred semi-idle packages sched: nominate preferred wakeup cpu sched: favour lower logical cpu number for sched_mc balance sched: framework for sched_mc/smt_power_savings=N sched: convert BALANCE_FOR_xx_POWER to inline functions x86: use possible_cpus=NUM to extend the possible cpus allowed x86: fix cpu_mask_to_apicid_and to include cpu_online_mask x86: update io_apic.c to the new cpumask code x86: Introduce topology_core_cpumask()/topology_thread_cpumask() x86: xen: use smp_call_function_many() x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c ... Fixed up trivial conflict in kernel/time/tick-sched.c manually commit b67ff8ce122f3353bd741db48ce1756c12fb5f2d Author: Sam Ravnborg Date: Wed Dec 31 09:32:30 2008 +0100 kbuild: ignore a few files in headers_check The new check for asm/types.h and linux/types.h had a few false positives. o We cannot let linux/types.h include linux/types.h o The int-ll64.h and int-ll64.h define the types and are included by linux/types.h Handle this by hardcoding the filenames in the headers_check script. Signed-off-by: Sam Ravnborg commit 483b41218fa9d5172312a9e294aaf78e22b266e6 Author: Sam Ravnborg Date: Tue Dec 30 11:34:58 2008 +0100 kbuild: add checks for include of linux/types in userspace headers If we see __[us](8|16|32|64) then we must include If wee see include of then we recommend Original script from Mike but modified by me. Cc: Mike Frysinger Signed-off-by: Sam Ravnborg commit 521b0c774d1350aac18f5cd35831469a4e879d72 Author: Sam Ravnborg Date: Tue Dec 30 10:20:08 2008 +0100 kbuild: drop debugging leftover in tags.sh Noticed by Jike. Reported-by: "Jike Song" Signed-off-by: Sam Ravnborg commit acc08b516f25b79cfcff310e51d95048bfcf7b0d Author: Sam Ravnborg Date: Mon Dec 29 13:45:52 2008 +0100 kbuild: document environment variables Add kbuild.txt to Documentation/kbuild More stuff can be added later - at least we have som of the varous environment variables documented now. Signed-off-by: Sam Ravnborg commit 2af238e455ef5fd31c2f7a06c2db3f13d843b9bf Author: Randy Dunlap Date: Fri Feb 29 14:21:53 2008 -0800 kbuild: make *config usage docs Create a kconfig user assistance guide, with a few tips and hints about using menuconfig, xconfig, and gconfig. Mostly contains user interface, environment variables, and search topics, along with mini.config/custom.config usage. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 80a7d1d991e35b0370c0396f36f6a076869a6bac Author: Hannes Eder Date: Sat Dec 27 22:38:44 2008 +0100 kbuild: disable sparse warning "returning void-valued expression" The sparse warning -Wreturn-void ("returning void-valued expression") is off by default, but it is enabled with -Wall, so add -Wno-return-void to CHECKFLAGS to disable it. Signed-off-by: Hannes Eder Signed-off-by: Sam Ravnborg commit 4307184f2b9240d0443bdf944c7b9eac044fe67b Author: Mike Frysinger Date: Sat Dec 27 03:23:15 2008 -0500 kbuild: in headers_install autoconvert asm/inline/volatile to __xxx__ Headers in userspace should be using the __xxx__ form of the asm, inline, and volatile keywords. Since people like to revert these things without realizing what's going on, have the headers install step autoconvert these keywords. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 7e557a2509f9e1477c10295b74e29e4e93fa2392 Author: Sam Ravnborg Date: Sat Dec 27 19:52:20 2008 +0100 kbuild: check for leaked CONFIG_ symbols to userspace Signed-off-by: Sam Ravnborg commit 46b8af50ba5c072b74740c5fa8ba08e6eabb22f8 Author: Mike Frysinger Date: Sat Dec 27 02:43:36 2008 -0500 headers_check.pl: disallow extern's Since prototypes with "extern" refer to kernel functions, they make no sense in userspace, so reject them automatically. Signed-off-by: Mike Frysinger [sam: made it into a warning] Signed-off-by: Sam Ravnborg commit 7826005e5a53645d7aab7c13eda76126eadebf0b Author: Sam Ravnborg Date: Sat Dec 27 21:51:59 2008 +0100 kconfig: improve error messages for bad source statements We now say where we detect the second source of a file, and where we detect a recursively source of the same file. This makes it easier to fix such errors. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit cf82607a904d3b2ed3d66f8799f00d1099c1849c Author: Sam Ravnborg Date: Fri Dec 26 21:32:31 2008 +0100 kconfig: struct property commented No functional changes Signed-off-by: Sam Ravnborg commit 5b2cf365a8e9bbf781939e941ed548c9743fdeea Author: Sam Ravnborg Date: Fri Dec 26 21:25:00 2008 +0100 kconfig: add comments to symbol flags No functional changes - only comments. Signed-off-by: Sam Ravnborg commit eaa2a87460eca27ce725d63bbcf3b2da053828b7 Author: Sam Ravnborg Date: Fri Dec 26 21:07:57 2008 +0100 kconfig: explain symbol value defaults Added a few comments - no functional change. Signed-off-by: Sam Ravnborg commit cfb2a494bb7dca9cf8d1632fbed14b34db051980 Author: Sam Ravnborg Date: Fri Dec 26 22:41:18 2008 +0100 m68k: fix recursive dependency in Kconfig We had a recursive dependency between MMU_MOTOROLA and MMU_SUN3 Fix it by dropping the unused dependencies on MMU_MOTOROLA. MMU_MOTOROLA is set to y only using select so any dependencies are anyway ignored. Signed-off-by: Sam Ravnborg Acked-by: Geert Uytterhoeven Cc: Roman Zippel commit 597b0d21626da4e6f09f132442caf0cc2b0eb47c Merge: 2640c9a... 8791723... Author: Linus Torvalds Date: Fri Jan 2 11:41:11 2009 -0800 Merge branch 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (140 commits) KVM: MMU: handle large host sptes on invlpg/resync KVM: Add locking to virtual i8259 interrupt controller KVM: MMU: Don't treat a global pte as such if cr4.pge is cleared MAINTAINERS: Maintainership changes for kvm/ia64 KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs() KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip KVM: fix handling of ACK from shared guest IRQ KVM: MMU: check for present pdptr shadow page in walk_shadow KVM: Consolidate userspace memory capability reporting into common code KVM: Advertise the bug in memory region destruction as fixed KVM: use cpumask_var_t for cpus_hardware_enabled KVM: use modern cpumask primitives, no cpumask_t on stack KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus KVM: set owner of cpu and vm file operations anon_inodes: use fops->owner for module refcount x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj KVM: MMU: prepopulate the shadow on invlpg KVM: MMU: skip global pgtables on sync due to cr3 switch KVM: MMU: collapse remote TLB flushes on root sync ... commit 6b55009e1dc7c2a66c8f5fad67045f0536c9bbd8 Author: Michael Krufky Date: Fri Jan 2 15:55:29 2009 -0300 V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error A user reported the following OOPS with his pcHDTV HD5500 card, which uses a cx88 PCI bridge with a LG-TDVS-H06xF frontend module, made up of a TUA6034 tuner, TDA988x IF demod, and LG DT3303 ATSC/QAM demod. Somehow, tuner-core gets loaded before the digital driver configures the tuner, and tuner-core somehow incorrectly sets the tuner type to LG NTSC (TAPE series) instead of LG TDVS-H06xF. This tuner type does not have the tuning stepsize defined, so an OOPS occurs during the digital tune function. We still dont know how the type gets set incorrectly in the first place. The user has a tainted kernel with a binary nividia module, which COULD have something to do with this, but it's hard to say for sure. Nevertheless, to avoid this division by zero, we should check that stepsize is defined. If stepsize is not defined, print an error and bail out on the tune request. cx8800 0000:05:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47,autodetected], frontend(s): 1 cx88[0]: TV tuner type 47, Radio tuner type -1 tuner' 2-0043: chip found @ 0x86 (cx88[0]) tda9887 2-0043: creating new instance tda9887 2-0043: tda988[5/6/7] found tuner' 2-0061: chip found @ 0xc2 (cx88[0]) tuner-simple 2-0061: creating new instance tuner-simple 2-0061: type set to 47 (LG NTSC (TAPE series)) cx88[0]/0: found at 0000:05:01.0, rev: 5, irq: 19, latency: 32, mmio: 0xea000000 cx88[0]/0: registered device video1 [v4l2] cx88[0]/0: registered device vbi1 cx88_audio 0000:05:01.1: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]/1: CX88x/0: ALSA support for cx2388x boards cx88[0]/2: cx2388x 8802 Driver Manager cx88-mpeg driver manager 0000:05:01.2: PCI INT A -> GSI 19 (level, low) -> IRQ 19 cx88[0]/2: found at 0000:05:01.2, rev: 5, irq: 19, latency: 32, mmio: 0xec000000 cx8802_probe() allocating 1 frontend(s) cx88/2: cx2388x dvb driver version 0.0.6 loaded cx88/2: registering cx8802 driver, type: dvb access: shared cx88[0]/2: subsystem: 7063:5500, board: pcHDTV HD5500 HDTV [card=47] cx88[0]/2: cx2388x based DVB/ATSC card tuner-simple 2-0061: attaching existing instance tuner-simple 2-0061: type set to 64 (LG NTSC (TAPE series)) tda9887 2-0043: attaching existing instance DVB: registering new adapter (cx88[0]) DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3303 VSB/QAM Frontend)... [snip] stepsize=0 divide error: 0000 [1] SMP CPU 1 Modules linked in: nls_utf8 fuse sco bridge stp bnep l2cap bluetooth sunrpc nf_conntrack_netbios_ns nf_conntrack_ftp ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table xfs lgdt330x dm_multipath cx88_dvb cx88_vp3054_i2c uinput tda9887 tda8290 snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul tuner_simple tuner_types tuner msp3400 cx8800 cx88_alsa cx8802 snd_emu10k1 cx88xx snd_rawmidi snd_ac97_codec ir_common ac97_bus saa7115 snd_seq_dummy snd_seq_oss snd_seq_midi_event videobuf_dvb snd_seq dvb_core snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_device videobuf_dma_sg ppdev parport_pc snd_timer videobuf_core snd_page_alloc btcx_risc emu10k1_gp ivtv i2c_algo_bit cx2341x snd_util_mem snd_hwdep nvidia(P) gameport v4l2_common i2c_i801 snd soundcore parport videodev v4l1_compat v4l2_compat_ioctl32 tveeprom i2c_core pcspkr iTCO_wdt iTCO_vendor_support sky2 joydev floppy shpchp ata_generic pata_acpi pata_jmicron [last unloaded: microcode] Pid: 3553, comm: kdvb-ad-0-fe-0 Tainted: P 2.6.27.9-159.fc10.x86_64 #1 RIP: 0010:[] [] simple_dvb_calc_regs+0xab/0x281 [tuner_simple] RSP: 0018:ffff8800605dfd30 EFLAGS: 00010246 RAX: 000000000365c040 RBX: ffff8800605dfdb0 RCX: ffff88007acb8c10 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000246 RBP: ffff8800605dfda0 R08: ffff8800605dfba0 R09: 0000000000000082 R10: 00000010e73c9df1 R11: 0000000100000000 R12: ffff88007ac29c00 R13: ffff88007ac29c00 R14: ffff88007acbb408 R15: ffffffffa09b6fb0 FS: 0000000000000000(0000) GS:ffff88007f804880(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00000000004e8f40 CR3: 000000007114e000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process kdvb-ad-0-fe-0 (pid: 3553, threadinfo ffff8800605de000, task ffff88006fca0000) Stack: ffff8800605dfd40 00000000ffffffa1 ffff88007c055860 0000000000000001 ffff8800605dfda0 ffff8800605dfda0 ffff88007acb8c10 ffffffffa004e48c 8e01880000000390 ffff88007acb8c10 ffff88007ac29c00 0000000000000000 Call Trace: [] ? i2c_transfer+0x80/0x8b [i2c_core] [] simple_dvb_set_params+0x3e/0x9b [tuner_simple] [] lgdt330x_set_parameters+0x188/0x1b9 [lgdt330x] [] dvb_frontend_swzigzag_autotune+0x18e/0x1b5 [dvb_core] [] dvb_frontend_swzigzag+0x1bc/0x21e [dvb_core] [] dvb_frontend_thread+0x528/0x62b [dvb_core] [] ? autoremove_wake_function+0x0/0x38 [] ? dvb_frontend_thread+0x0/0x62b [dvb_core] [] kthread+0x49/0x76 [] child_rip+0xa/0x11 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x76 [] ? child_rip+0x0/0x11 Code: 48 8b 05 2a 4e 00 00 41 8b 77 1c 31 d2 0f b7 40 0a 89 f1 03 45 d0 d1 e9 03 0d 23 4e 00 00 69 c0 24 f4 00 00 8d 04 01 48 8b 4d c0 f6 8a 55 d6 88 53 04 41 89 c4 c1 e8 08 88 43 01 8a 45 d7 44 RIP [] simple_dvb_calc_regs+0xab/0x281 [tuner_simple] RSP Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f4c82548d4fa86fb3606f6ee219b070b88592a1e Author: Michael Krufky Date: Mon Dec 15 17:28:41 2008 -0300 V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2 The GPIO logic for LNA control on the Tiger r2 devices was inverted. This patch corrects the problem. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dd72f31b4fa87c68e16484a3ed3e4d1843ad7f06 Author: Michael Krufky Date: Fri Nov 28 01:02:56 2008 -0300 V4L/DVB (10167): sms1xxx: add support for inverted gpio negative gpio values signify inverted polarity Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e4cda3e0728156c6be1d03e72ef20ea811da4ad5 Author: Mauro Carvalho Chehab Date: Wed Dec 31 14:26:57 2008 -0300 V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments Signed-off-by: Mauro Carvalho Chehab commit faed4aa586f0c16020676481033665e959916c6a Author: Klaus Schmidinger Date: Wed Dec 31 14:13:56 2008 -0300 V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2 Report to userspace that cx24116 and stv0899 drivers support DVB-S2. Signed-off by: Klaus Schmidinger Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit cb889a2f3515b140bef193cf6ffcdb099349b8aa Author: Klaus Schmidinger Date: Wed Dec 31 14:11:23 2008 -0300 V4L/DVB (10164): Add missing S2 caps flag to S2API The attached patch adds a capability flag that allows an application to determine whether a particular device can handle "second generation modulation" transponders. This is necessary in order for applications to be able to decide which device to use for a given channel in a multi device environment, where DVB-S and DVB-S2 devices are mixed. It is assumed that a device capable of handling "second generation modulation" can implicitly handle "first generation modulation". The flag is not named anything with DVBS2 in order to allow its use with future DVBT2 devices as well (should they ever come). Signed-off by: Klaus Schmidinger Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9baed99ee7a834b1f2599e13f219087f01c63f38 Author: Mauro Carvalho Chehab Date: Wed Dec 31 09:37:33 2008 -0300 V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev Some devices require different setups on struct_audio. Due to that, we may need to change some fields at dev.adev during device probe. So, this patch moves the dynamic memory allocation of adev at em28xx-alsa to the dynamic allocation of struct em28xx dev that happens during device probe. Signed-off-by: Mauro Carvalho Chehab commit 0b82c5d6748a15758875f78ac772c6d48ebead2a Author: Mauro Carvalho Chehab Date: Wed Dec 31 09:34:18 2008 -0300 V4L/DVB (10162): tuner-simple: Fix tuner type set message Signed-off-by: Mauro Carvalho Chehab commit 4a87d7c4f259efa89ae6627c49e403eef51a3058 Author: Pham Thanh Nam Date: Wed Dec 31 06:57:19 2008 -0300 V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus This patch fixes autodetection for Avermedia AVerTV GO 007 FM Plus (M15C) (PCI ID 1461:f31d). Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 87ea5f9d389717ff6da60dc014ce79ae14b7947c Author: Mauro Carvalho Chehab Date: Wed Dec 31 06:37:50 2008 -0300 V4L/DVB (10160): em28xx: update chip id for em2710 em2710 uses the same chip ID as em2820 (0x12). Signed-off-by: Mauro Carvalho Chehab commit 5e6de7d9a1a373414a41a7441100f90b71c6119f Author: Mark Lord Date: Wed Dec 3 15:26:15 2008 -0300 V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme Signed-off-by: Mark Lord Cc: Greg KH Signed-off-by: Andrew Morton [tobias.lorenz@gmx.net: Code beautifications and documentation added] Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 6a2d802ca01bd83b860145e7497a7a049c354cd7 Author: Pham Thanh Nam Date: Tue Dec 30 23:26:09 2008 -0300 V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus This patch adds support for Avermedia AVer TV GO 007 FM Plus (M15C) on saa7134 driver (PCI ID 1461:f31d). Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 46a60cfef581307d8273919182ae939d44ff7cca Author: Fabio Belavenuto Date: Tue Dec 30 19:27:09 2008 -0300 V4L/DVB (10155): Add TEA5764 radio driver Add support for radio driver TEA5764 from NXP. This chip is connected in pxa I2C bus in EZX phones from Motorola, the chip is used in phone model A1200. This driver is for OpenEZX project (www.openezx.org) Tested with A1200 phone, openezx kernel and fm-tools [mchehab@redhat.com: Fixed CodingStyle and solved some merge conflicts] Signed-off-by: Fabio Belavenuto Signed-off-by: Mauro Carvalho Chehab commit b0c4be8cffb3f466759ddf621a74a10093537521 Author: Mauro Carvalho Chehab Date: Tue Dec 30 19:10:09 2008 -0300 V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board Signed-off-by: Mauro Carvalho Chehab commit 47aeba5addd88b178438ba9000600b9844ca0ee1 Author: Dmitri Belimov Date: Tue Dec 23 03:53:03 2008 -0300 V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit f204ae40ad79bbf50d85427a5cf39fcebdb4a993 Author: Dmitri Belimov Date: Tue Dec 23 03:51:38 2008 -0300 V4L/DVB (10152): Change configuration of the Beholder H6 card Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 899a6f67b90206c330bd93c7c8f3f8bb8b80397a Author: Dmitri Belimov Date: Tue Dec 23 03:50:09 2008 -0300 V4L/DVB (10151): Fix I2C bridge error in zl10353 Fix I2C bridge error in zl10353 if no tunner attached to internal I2C bus of zl10353 chip. When set enable bridge from internal I2C bus to the main I2C bus (saa7134) the main I2C bus stopped very hardly. No any communication. In our next board we solder additional resistors to internal I2C bus. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 91f7c130c277a08ebef92ac23ed60adc62e505e0 Author: Mike Frysinger Date: Wed Nov 12 12:04:28 2008 -0300 V4L/DVB (10150): ttusb-dec: make it depend on PCI Since ttusb_dec.c relies on pci_alloc_consistent and pci_free_consistent, make it depend on PCI in Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: Mauro Carvalho Chehab commit fbe9834a4a67a21a405043af727073acd103f842 Author: Mike Frysinger Date: Wed Nov 12 12:00:18 2008 -0300 V4L/DVB (10149): ttusb-budget: make it depend on PCI Since dvb-ttusb-budget.c relies on pci_alloc_consistent and pci_free_consistent, make it depend on PCI in Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: Mauro Carvalho Chehab commit f347535a6065be6f9e65526fa82c088d68040f42 Author: roel kluin Date: Wed Nov 26 22:03:18 2008 -0300 V4L/DVB (10148): cx23885: unsigned cx23417_mailbox cannot be negative Unsigned cx23417_mailbox cannot be negative Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 9ed55375919bc30c448c6dd5107e8d593f96856f Author: Cyrill Gorcunov Date: Tue Dec 30 16:40:00 2008 -0300 V4L/DVB (10144): cx24116: build fix Add missed MODULE check to eliminate inapropriate declaration being choosed which causes a build error. Signed-off-by: Cyrill Gorcunov Signed-off-by: Mauro Carvalho Chehab commit aecde8b53b8ee1330a5a8206200f0d6b8845a6e0 Author: Hans Verkuil Date: Tue Dec 30 07:14:19 2008 -0300 V4L/DVB (10141): v4l2: debugging API changed to match against driver name instead of ID. Since the i2c driver ID will be removed in the near future we have to modify the v4l2 debugging API to use the driver name instead of driver ID. Note that this API is not used in applications other than v4l2-dbg.cpp as it is for debugging and testing only. Should anyone use the old VIDIOC_G_CHIP_IDENT, then this will be logged with a warning that it is deprecated and will be removed in 2.6.30. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit da1b5c95e49bb564ae8c61ed135d34ed09acbb66 Author: Hans Verkuil Date: Tue Dec 30 07:07:53 2008 -0300 V4L/DVB (10140): gp8psk: fix incorrect return code (EINVAL instead of -EINVAL) Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bb7cde793f0637cfbdd21c04050ffcef33a5624 Author: Hans Verkuil Date: Tue Dec 30 06:42:40 2008 -0300 V4L/DVB (10139): v4l: rename v4l_compat_ioctl32 to v4l2_compat_ioctl32 This rename prevents conflicts with the older compat_ioctl32 module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 069b747931f13eda289c1d59a09ecc8162281a76 Author: Hans Verkuil Date: Tue Dec 30 07:04:34 2008 -0300 V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl. Since internal to v4l2 the ioctl prototype is the same regardless of it being called through .ioctl or .unlocked_ioctl, we need to convert it all to the long return type of unlocked_ioctl. Thanks to Jean-Francois Moine for posting an initial patch for this and thus bringing it to our attention. Cc: Jean-Francois Moine Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4ab9203b1b7e45f1beae7eb0c67d663a26257a69 Author: Hans Verkuil Date: Tue Dec 23 15:02:16 2008 -0300 V4L/DVB (10137): v4l2-compat32: only build if needed Add CONFIG_COMPAT check in Makefile. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c7dd09dabc278b03980c8e93d0eee3843b5ad514 Author: Hans Verkuil Date: Tue Dec 23 13:42:25 2008 -0300 V4L/DVB (10136): v4l2 doc: update v4l2-framework.txt Mention the new v4l2_file_operations struct. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bec43661b1dc0075b7445223ba775674133b164d Author: Hans Verkuil Date: Tue Dec 30 06:58:20 2008 -0300 V4L/DVB (10135): v4l2: introduce v4l2_file_operations. Introduce a struct v4l2_file_operations for v4l2 drivers. Remove the unnecessary inode argument. Move compat32 handling (and llseek) into the v4l2-dev core: this is now handled in the v4l2 core and no longer in the drivers themselves. Note that this changeset reverts an earlier patch that changed the return type of__video_ioctl2 from int to long. This change will be reinstated later in a much improved version. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dfa9a5ae679ff2d23caa995d0f55a19abaf0596e Author: Hans Verkuil Date: Tue Dec 23 12:17:23 2008 -0300 V4L/DVB (10134): v4l2 doc: set v4l2_dev instead of parent. Update the documentation now that the v4l2_dev field is in. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 50a2a8b35edec09aff900a9b1c629776e11c5c88 Author: Hans Verkuil Date: Mon Dec 22 09:13:11 2008 -0300 V4L/DVB (10133): v4l2-framework: use correct comment style. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7943ecf161753ae92af74e7587c8438f221d55a5 Author: Hans Verkuil Date: Tue Dec 23 14:37:43 2008 -0300 V4L/DVB (10132): v4l2-compat-ioctl32: remove dependency on videodev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2640c9a90fa596871e142f42052608864335f102 Merge: 80618fa... b16aabc... Author: Linus Torvalds Date: Fri Jan 2 10:32:18 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (32 commits) ide-atapi: start dma in a drive-specific way ide-atapi: put the rest of non-ide-cd code into the else-clause of ide_transfer_pc ide-atapi: remove timeout arg to ide_issue_pc ide-cd: remove handler wrappers ide-cd: remove xferlen arg to cdrom_start_packet_command ide-atapi: split drive-specific functionality in ide_issue_pc ide-atapi: assign expiry and timeout based on device type ide-atapi: compute cmd_len based on device type in ide_transfer_pc ide: remove the last ide-scsi remnants ide-atapi: remove ide-scsi remnants from ide_pc_intr() ide-atapi: remove ide-scsi remnants from ide_transfer_pc() ide-atapi: remove ide-scsi remnants from ide_issue_pc ide-cd: move cdrom_timer_expiry to ide-atapi.c ide-atapi: teach ide atapi about drive->waiting_for_dma ide-atapi: accomodate transfer length calculation for ide-cd ide-atapi: setup dma for ide-cd ide-atapi: combine drive-specific assignments ide-atapi: add a dev_is_idecd-inline remove ide-scsi ide-floppy: allocate only toplevel packet commands ... commit 80618fa83a34a26199fa99cfd06476a81ddf57df Merge: 92cde4d... b21a207... Author: Linus Torvalds Date: Fri Jan 2 10:31:04 2009 -0800 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: (31 commits) uwb: remove beacon cache entry after calling uwb_notify() uwb: remove unused include/linux/uwb/debug.h uwb: use print_hex_dump() uwb: use dev_dbg() for debug messages uwb: fix memory leak in uwb_rc_notif() wusb: fix oops when terminating a non-existant reservation uwb: fix oops when terminating an already terminated reservation uwb: improved MAS allocator and reservation conflict handling wusb: add debug files for ASL, PZL and DI to the whci-hcd driver uwb: fix oops in debug PAL's reservation callback uwb: clean up whci_wait_for() timeout error message wusb: whci-hcd shouldn't do ASL/PZL updates while channel is inactive uwb: remove unused beacon group join/leave events wlp: start/stop radio on network interface up/down uwb: add basic radio manager uwb: add pal parameter to new reservation callback uwb: fix races between events and neh timers uwb: don't unbind the radio controller driver when resetting uwb: per-radio controller event thread and beacon cache uwb: add commands to add/remove IEs to the debug interface ... commit 92cde4d5396c3b6cbf3192286b687f97a889dffe Author: Paul Mackerras Date: Fri Jan 2 15:40:55 2009 +1100 Update powerpc maintainers Ben Herrenschmidt is taking over as the primary powerpc architecture maintainer. I'll still be around as his backup/deputy. Signed-off-by: Paul Mackerras Acked-by: Grant Likely Signed-off-by: Linus Torvalds commit f0f0ce97e128569d07fae98c62d8cff1e042fa1e Merge: e8e3232... bef2a50... Author: Linus Torvalds Date: Fri Jan 2 10:28:41 2009 -0800 Merge branch 'i8k-updates' from Alan * i8k-updates: i8k: Add Dell Vostro systems i8k: Enable i8k on Dell Precision Systems commit bef2a508b4276fd7897b2cb27df037d26361842c Author: Federico Heinz Date: Fri Jan 2 16:19:23 2009 +0000 i8k: Add Dell Vostro systems This trivial patch adds support for i8k on the new Dell Vostro models. I tested it on my Vostro 1400, and it works. It does print a warning when loading the module: i8k: unable to get SMM BIOS version But I couldn't figure out how to fix that. The module seems to work fine, anyway... Signed-off-by: Federico Heinz Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7ab21a8692094872298df172f54d55cba72fd308 Author: Andy Spencer Date: Fri Jan 2 16:19:13 2009 +0000 i8k: Enable i8k on Dell Precision Systems Patch to enable i8k on Dell Precisions. Signed-off-by: Andy Spencer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e8e32326279cba3d049b4325111f76618953195c Author: Ingo Brueckl Date: Fri Jan 2 14:42:00 2009 +0100 Fix compiler warning in arch/x86/mm/init_32.c Signed-off-by: Ingo Brueckl Signed-off-by: Linus Torvalds commit d2fde28ce793c09c1ea36d981cb6765174fd1eea Merge: 609e5b7... e65f0f8... Author: Linus Torvalds Date: Fri Jan 2 10:25:51 2009 -0800 Merge branch 'tty-updates' from Alan * tty-updates: (75 commits) serial_8250: support for Sealevel Systems Model 7803 COMM+8 hso maintainers update patch hso modem detect fix patch against Alan Cox'es tty tree tty: Fix an ircomm warning and note another bug drivers/char/cyclades.c: cy_pci_probe: fix error path Serial: UART driver changes for Cavium OCTEON. Serial: Allow port type to be specified when calling serial8250_register_port. 8250: Serial driver changes to support future Cavium OCTEON serial patches. 8250: Don't clobber spinlocks. fix for tty-serial-move-port tty: We want the port object to be persistent __FUNCTION__ is gcc-specific, use __func__ serial: RS485 ioctl structure uses __u32 include linux/types.h tty: Drop the lock_kernel in the private ioctl hook synclink_cs: Convert to tty_port tty: use port methods for the rocket driver tty: kref the rocket driver tty: make rocketport use standard port->flags tty: Redo the rocket driver locking tty: Make epca use the port helpers ... commit 103ceffb9501531f6931df6aebc11a05189201f0 Author: Jaswinder Singh Rajput Date: Fri Jan 2 23:43:25 2009 +0530 x86: mpparse.c fix style problems Impact: cleanup, fix style problems, more readable Fixes style problems: WARNING: Use #include instead of WARNING: Use #include instead of WARNING: suspect code indent for conditional statements (8, 17) WARNING: space prohibited between function name and open parenthesis '(' total: 0 errors, 5 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit e65f0f8271b1b0452334e5da37fd35413a000de4 Author: Flavio Leitner Date: Fri Jan 2 13:50:43 2009 +0000 serial_8250: support for Sealevel Systems Model 7803 COMM+8 Add support for Sealevel Systems Model 7803 COMM+8 Signed-off-by: Flavio Leitner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 11cd29b028be88b13717401496fe4953fb96be03 Author: Denis Joseph Barrow Date: Fri Jan 2 13:50:36 2009 +0000 hso maintainers update patch Added D.J. Barrow as maintainer of hso driver. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 58eb17f155704062d76729d1fb7e23d3559ca86a Author: Denis Joseph Barrow Date: Fri Jan 2 13:50:29 2009 +0000 hso modem detect fix patch against Alan Cox'es tty tree Fixed incorrect check for the modem port, this prevents crashes caused by issueing a tiocmget_submit_urb on endpoints which don't exist for non modem devices. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ad36b88e2d22e9ef42797581d3ecea9feadd9488 Author: Alan Cox Date: Fri Jan 2 13:50:20 2009 +0000 tty: Fix an ircomm warning and note another bug Roel Kluin noted that line is unsigned so one test is unneccessary. Also add a warning for another flaw I noticed while making this change. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c847d47cb7b2fa78b17c9e17ed3fbd010ee3d3ca Author: Andrew Morton Date: Fri Jan 2 13:50:07 2009 +0000 drivers/char/cyclades.c: cy_pci_probe: fix error path We forgot to release resources in one case. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12137 Reported-by: Florian Lohoff Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6b06f19151c335ee0c5b61839fa4e6838182ebb8 Author: David Daney Date: Fri Jan 2 13:50:00 2009 +0000 Serial: UART driver changes for Cavium OCTEON. Cavium UART implementation is not covered by existing uart_configS. Define a new uart_config (PORT_OCTEON) which is specified by OCTEON platform device registration code. Signed-off-by: Tomaso Paoletti Signed-off-by: David Daney Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8e23fcc89c8091790903927449f8efb9b4e23960 Author: David Daney Date: Fri Jan 2 13:49:54 2009 +0000 Serial: Allow port type to be specified when calling serial8250_register_port. Add flag value UPF_FIXED_TYPE which specifies that the UART type is known and should not be probed. For this case the UARTs properties are just copied out of the uart_config entry. This allows us to keep SOC specific 8250 probe code out of 8250.c. In this case we know the serial hardware will not be changing as it is on the same silicon as the CPU, and we can specify it with certainty in the board/cpu setup code. The alternative is to load up 8250.c with a bunch of OCTEON specific special cases in the probing code. Signed-off-by: David Daney Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7d6a07d123b62bf4fa71867420c23da3ca36c995 Author: David Daney Date: Fri Jan 2 13:49:47 2009 +0000 8250: Serial driver changes to support future Cavium OCTEON serial patches. In order to use Cavium OCTEON specific serial i/o drivers, we first patch the 8250 driver to use replaceable I/O functions. Compatible I/O functions are added for existing iotypeS. An added benefit of this change is that it makes it easy to factor some of the existing special cases out to board/SOC specific support code. The alternative is to load up 8250.c with a bunch of OCTEON specific iotype code and bug work-arounds. Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b430428a188e8a434325e251d0704af4b88b4711 Author: David Daney Date: Fri Jan 2 13:49:41 2009 +0000 8250: Don't clobber spinlocks. In serial8250_isa_init_ports(), the port's lock is initialized. We should not overwrite it. In early_serial_setup(), only copy in the fields we need. Since the early console code only uses a subset of the fields, these are sufficient. Signed-off-by: David Daney Signed-off-by: Tomaso Paoletti Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit bc3256288b8ff9787623805e53cf7c6d5a2b4591 Author: Alexander Beregalov Date: Fri Jan 2 13:49:32 2009 +0000 fix for tty-serial-move-port Hi Alan next-20081204 crashes with the following message: BUG: unable to handle kernel paging request at ffff88007d320248 IP: [] uart_remove_one_port+0xef/0x111 kfree(info); 393: 49 8d 7d 10 lea 0x10(%r13),%rdi 397: e8 00 00 00 00 callq 39c Signed-off-by: Alexander Beregalov Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f751928e0ddf54ea4fe5546f35e99efc5b5d9938 Author: Alan Cox Date: Fri Jan 2 13:49:21 2009 +0000 tty: We want the port object to be persistent Move the tty_port and uart_info bits around a little. By embedding the uart_info into the uart_port we get rid of lots of corner case testing and also get the ability to go port<->state<->info which is a bit more elegant than the current data structures. Downsides - we allocate a tiny bit more memory for unused ports, upside we've removed as much code as it saved for most users.. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6ef53066ff7991d5f9670340e92d42ee1776bbe4 Author: Harvey Harrison Date: Fri Jan 2 13:49:13 2009 +0000 __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 60c20fb8c00a2b23308ae4517f145383bc66d291 Author: Andy Whitcroft Date: Fri Jan 2 13:49:04 2009 +0000 serial: RS485 ioctl structure uses __u32 include linux/types.h In the commit below a new struct serial_rs485 was introduced for a new ioctl: commit c26c56c0f40e200e61d1390629c806f6adaffbcc Author: Alan Cox Date: Mon Oct 13 10:37:48 2008 +0100 tty: Cris has a nice RS485 ioctl so we should steal it This structure uses the __u32 types for some of its members, which leads to the following compile error: $ cc -I.../include -c X.c In file included from X.c:2: .../include/linux/serial.h:185: error: expected specifier-qualifier-list before ‘__u32’ $ It seems that these types are appropriate for this structure as it is to be exposed to userspace. These types are available via linux/types.h so move the include of that outside the __KERNEL__ section. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6b447f04a9aecdf2a30c1a97e4b034ac7931bb70 Author: Alan Cox Date: Fri Jan 2 13:48:56 2009 +0000 tty: Drop the lock_kernel in the private ioctl hook We don't need the BKL here any more so it can go. In a couple of spots the driver requirements are not clear so push the lock down into the driver. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eeb4613436f0f19a38f667ea3078821040559c68 Author: Alan Cox Date: Fri Jan 2 13:48:47 2009 +0000 synclink_cs: Convert to tty_port Use the tty port operations, add refcounting, and refactor a bit to make the refcounting work cleanly. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fba85e013f106a44e91ef5edec899fc56a7e61ee Author: Alan Cox Date: Fri Jan 2 13:48:39 2009 +0000 tty: use port methods for the rocket driver Now we have our ducks in order we can begin switching to the port operations Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 47b01b3a5fc7239f3e8d5d5cadc88afbea24d0c3 Author: Alan Cox Date: Fri Jan 2 13:48:30 2009 +0000 tty: kref the rocket driver We will need this kref fitted to make full use of the port operations. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 21bed701da009b4192d9e86b3596cf210ac7369c Author: Alan Cox Date: Fri Jan 2 13:48:23 2009 +0000 tty: make rocketport use standard port->flags We need to this ready for using the standard helpers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c1314a49d7907b96d72f2c41f8927fc3c738e956 Author: Alan Cox Date: Fri Jan 2 13:48:17 2009 +0000 tty: Redo the rocket driver locking Bring this driver into the port locking model Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6ed1dbaeadd62a026a93aa3ac8680d2dfe9f96b3 Author: Alan Cox Date: Fri Jan 2 13:48:11 2009 +0000 tty: Make epca use the port helpers Now the locking is straight and the port kref usage is straight we can replace lots of chunks of code with the standard port helpers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3969ffba71d39ced700d09d9cfde83174396299e Author: Alan Cox Date: Fri Jan 2 13:48:04 2009 +0000 tty: refcount the epca driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d1c815e549ff40f9e9db65654855118e6bdff6a4 Author: Alan Cox Date: Fri Jan 2 13:47:58 2009 +0000 tty: relock epca Bring epca into line with the port locking. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 542f54823614915780c3459b0e6062f06c0c0f99 Author: Denis Joseph Barrow Date: Fri Jan 2 13:47:52 2009 +0000 tty: Modem functions for the HSO driver Makes TIOCM ioctls for Data Carrier Detect & related functions work like /drivers/serial/serial-core.c potentially needed for pppd & similar user programs. Signed-off-by: Denis Joseph Barrow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ac9720c37e8795317e8be3adad63cb0d5522a640 Author: Alan Cox Date: Fri Jan 2 13:47:45 2009 +0000 tty: Fix the HSO termios handling a bit Init the tty structure once Don't set ->low_latency twice in a row Don't force bits we should be leaving to the user Don't allocate termios arrays as these are in fact allocated by the tty layer for you and just overwrite the ones allocated in the driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e136e3036bf27569dbfeae245cc09c7167cdc749 Author: Alan Cox Date: Fri Jan 2 13:47:39 2009 +0000 hso: net driver using tty without locking Checking tty == NULL doesn't help us unless we have a clear semantic for the locking of the tty object in the driver. Use the tty kref objects so that we can take references to the tty in the USB event handling paths. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 33dd474ae712dc435eb586b44cb771cc8d24e2bd Author: Alan Cox Date: Fri Jan 2 13:47:32 2009 +0000 tty: kref nozomi Update the nozomi driver to use krefs Signed-off-by: Linus Torvalds commit c9f19e96a2f33cd56c2bd19f87a0c4982d011c2b Author: Alan Cox Date: Fri Jan 2 13:47:26 2009 +0000 tty: Remove some pointless casts disc_data and driver_data are void * Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0ac6053c4db9369d7b0f9b39c30f4fb04405666b Author: Alan Cox Date: Fri Jan 2 13:47:20 2009 +0000 tty: PTYs set TTY_DO_WRITE_WAKEUP when they don't need to The write wakeup is done anyway for the poll while DO_WRITE_WAKUP is cleared, set and managed by the ldisc layer and is no business of the pty code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ff8cb0fd6f195389aefe55d5dac9927d09a9de54 Author: Thomas Pfaff Date: Fri Jan 2 13:47:13 2009 +0000 tty: N_TTY SIGIO only works for read The N_TTY ldisc layer does not send SIGIO POLL_OUTs correctly when output is possible due to flawed handling of the TTY_DO_WRITE_WAKEUP bit. It will either send no SIGIOs at all or on every tty wakeup. The fix is to set the bit when the tty driver write would block and test and clear it on write wakeup. [Merged with existing N_TTY patches and a small buglet fixed -- Alan] Signed-off-by: Thomas Pfaff Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eff6937a46e096eb35c16a391617b7a5e098a30c Author: Alan Cox Date: Fri Jan 2 13:47:06 2009 +0000 tty: USB tty devices can block in tcdrain when unplugged The underlying problem is that the device methods don't all correctly handle disconnected status and some keep reporting bytes pending which causes tcdrain to stall. When the cable is unplugged they are definitely gone, and as this is true for all USB cables we can fix it in the core usb serial code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 39aced68d664291db3324d0fcf0985ab5626aac2 Author: Niels de Vos Date: Fri Jan 2 13:46:58 2009 +0000 serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter The PCI-card identified as "Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter" is only usable with other devices (i.e. not the same card) after doing a "setserial /dev/ttyS baud_base 115200". This baud_base should be default for this card. Signed-off-by: Niels de Vos Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a6614999e800cf3a134ce93ea46ef837e3c0e76e Author: Alan Cox Date: Fri Jan 2 13:46:50 2009 +0000 tty: Introduce some close helpers for ports Again this is a lot of common code we can unify Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7834909f1eb96ba7c49ca2b9e3a69b500a2cff76 Author: Alan Cox Date: Fri Jan 2 13:46:43 2009 +0000 tty: tty port zero baud open If we have no speed set at some point then we should not raise DTR/RTS at that point when opening as the tty is not ready Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0fdeceb88df7f4d9e4734859bcd650e8584cc0e4 Author: Alan Cox Date: Fri Jan 2 13:46:34 2009 +0000 tty: ESP has been broken for locking etc forver Mark it broken Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4350f3ffec7a7e70770a7369186b3db7d97acfdf Author: Alan Cox Date: Fri Jan 2 13:46:24 2009 +0000 tty: rework stallion to use the tty_port bits Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2a6eadbd5a2ae8f458e421f3614f1ad13c0f9a1c Author: Alan Cox Date: Fri Jan 2 13:46:18 2009 +0000 tty: Rework istallion to use the tty port changes Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 36c621d82b956ff6ff72273f848af53e6c581aba Author: Alan Cox Date: Fri Jan 2 13:46:10 2009 +0000 tty: Introduce a tty_port generic block_til_ready Start sucking more commonality out of the drivers into a single piece of core code. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3b6826b250633361f08a6427a4ac0035e5d88c72 Author: Alan Cox Date: Fri Jan 2 13:45:58 2009 +0000 tty: relock the mxser driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c2ba38cd76df770a253f0cab4b6abe514c265a85 Author: Alan Cox Date: Fri Jan 2 13:45:50 2009 +0000 tty: relock riscom8 using port locks Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a129909ca910d086b8536c790338504878489a95 Author: Alan Cox Date: Fri Jan 2 13:45:44 2009 +0000 tty: rocketport uses different port flags to everyone else Normalise them so we can use the common helpers later on Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 510a3049573868d3d77414bfa55d293f44d0dbbe Author: Alan Cox Date: Fri Jan 2 13:45:36 2009 +0000 tty: relock generic_serial Switch generic_serial to do port count locking via the tty_port structure ready for moving to a common port wait routine. Keep the old driver lock for internal calling so we don't risk messing up the drivers below until we are ready. Still needs kref conversions Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3e61696bdc2103107674b06d0daf30b76193e922 Author: Alan Cox Date: Fri Jan 2 13:45:26 2009 +0000 isicom: redo locking to use tty port locks This helps set the basis for moving block_til_ready into common code. We also introduce a tty_port_hangup helper as this will also be generally needed. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5d951fb458f847e5485b5251597fbf326000bb3b Author: Alan Cox Date: Fri Jan 2 13:45:19 2009 +0000 tty: Pull the dtr raise into tty port This moves another per device special out of what should be shared open wait paths into private methods Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d0c9873addc1f18e7becb50094dad07df8cc4694 Author: Alan Cox Date: Fri Jan 2 13:45:12 2009 +0000 rio: Kill off ckmalloc This was an alloc/clear wrapper but makes even less sense now it uses kzalloc. Kill it off. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 31f35939d1d9bcfb3099b32c67b896d2792603f9 Author: Alan Cox Date: Fri Jan 2 13:45:05 2009 +0000 tty_port: Add a port level carrier detect operation This is the first step to generalising the various pieces of waiting logic duplicated in all sorts of serial drivers. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c9b3976e3fec266be25c5001a70aa0a890b6c476 Author: Alan Cox Date: Fri Jan 2 13:44:56 2009 +0000 tty: Fix PPP hang under load Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d0eafc7db8f170d534a16b5f04617e98ae2025de Author: David Howells Date: Fri Jan 2 13:44:49 2009 +0000 CRED: Wrap task credential accesses in the devpts filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 39efd191d01b5f1efc3d604baf74233dc525e6a8 Author: Kevin Hao Date: Fri Jan 2 13:44:34 2009 +0000 Add device function for USB serial console Add device funtion for usb serial console, so we can open /dev/console when we use a usb serial device as console. (Typecast removed as noted by Sergei Shtylyov) Signed-off-by: Kevin Hao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 975a1a7d887048d4afc9201383e11b7af991866b Author: Russell King Date: Fri Jan 2 13:44:27 2009 +0000 And here's a patch (to be applied on top of the last) which prevents this happening again by making use of 'const'. Signed-off-by: Russell King Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9f2a036aaac8f29bb7c68303b52a9263238b63d2 Author: Russell King Date: Fri Jan 2 13:44:20 2009 +0000 Convert the oxsemi tornado special cases to use the quirk interface and not scribble on its own reference structures. Signed-off-by: Russell King Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8c056e5b148498192832678cf2957760945e8c71 Author: Andrew Morton Date: Fri Jan 2 13:44:12 2009 +0000 devpts: fix unused function warning fs/devpts/inode.c:324: warning: 'compare_init_pts_sb' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4bd43f2c31848d751f63e8753cd2788d48fb5f30 Author: Alan Cox Date: Fri Jan 2 13:44:04 2009 +0000 tty: Fix close races in USB serial USB serial has always had races where the tty port usage count can hit zero during a receive event. The internal locking is a mutex so we can't use that in the IRQ handlers. With krefs we can tackle this differently but we still need to be careful. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7e94b1d9bffc18dca3b45554d9d118a3ffcc4d1b Author: Joe Peterson Date: Fri Jan 2 13:43:40 2009 +0000 n_tty: Output bells immediately on a full buffer This patch causes "bell" (^G) characters (invoked when the input buffer is full) to be immediately output rather than filling the echo buffer. This is especially a problem when the tty is stopped and buffers fill, since the bells do not serve their purpose of immediate notification that the buffer cannot take further input, and they will flush all at once when the tty is restarted. Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit acc71bbad33478973dbed68ebbc2d76dac9a51bd Author: Joe Peterson Date: Fri Jan 2 13:43:32 2009 +0000 n_tty: Fix hanfling of buffer full corner cases Fix the handling of input characters when the tty buffer is full or nearly full. This includes tests that are done in n_tty_receive_char() and handling of PARMRK. Problems with the buffer-full tests done in receive_char() caused characters to be lost at times when the buffer(s) filled. Also, these full conditions would often only be detected with echo on, and PARMRK was not accounted for properly in all cases. One symptom of these problems, in addition to lost characters, was early termination from unix commands like tr and cat when ^Q was used to break from a stopped tty with full buffers (note that breaking out was often previously not possible, due to the pty getting in "gridlock", which will be addressed in another patch). Note space is always reserved at the end of the buffer for a newline (or EOF/EOL) in canonical mode. Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a59c0d6f14315a3f300f6f3786137213727e4c47 Author: Joe Peterson Date: Fri Jan 2 13:43:25 2009 +0000 n_tty: Fix handling of control characters and continuations Fix process_output_block to detect continuation characters correctly and to handle control characters even when O_OLCUC is enabled. Make similar change to do_output_char(). Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fc6f6238226e6d1248e1967eae2bf556eaf3ac17 Author: Alan Cox Date: Fri Jan 2 13:43:17 2009 +0000 pty: simplify resize We have special case logic for resizing pty/tty pairs. We also have a per driver resize method so for the pty case we should use it. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a47d545f5782cbde871b50bdf4a83379ed2da222 Author: Jason Wessel Date: Fri Jan 2 13:43:04 2009 +0000 tty: Fix sparse static warning for tty_driver_lookup_tty Fixed sparse warning: drivers/char/tty_io.c:1216:19: warning: symbol 'tty_driver_lookup_tty' was not declared. Should it be static? Signed-off-by: Jason Wessel Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d95186d1f455b4b901121ba69d0680800fb4b57b Author: Alan Cox Date: Fri Jan 2 13:42:56 2009 +0000 sierra: Fix formatting Andrew Morton wrote: in drivers/usb/serial/sierra.c: } else { if (urb->actual_length) { + tty = tty_port_tty_get(&port->port); tty_buffer_request_room(tty, urb->actual_length); it's missing a tab. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 835aa440f1c3fe16a622015bc1b52dffedf6d90e Author: Alan Cox Date: Fri Jan 2 13:42:48 2009 +0000 devpts: Coding style clean up Just nail the oddments now while this code is being touched Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 784c4d8b1b1e66f8c45e8b889613f4982f525b2b Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:34 2009 +0000 Document usage of multiple-instances of devpts Changelog [v2]: - Add note indicating strict isolation is not possible unless all mounts of devpts use the 'newinstance' mount option. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2a1b2dc0c83bbfc24d72cafd5e69810a149b44e4 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:27 2009 +0000 Enable multiple instances of devpts To support containers, allow multiple instances of devpts filesystem, such that indices of ptys allocated in one instance are independent of ptys allocated in other instances of devpts. But to preserve backward compatibility, enable this support for multiple instances only if: - CONFIG_DEVPTS_MULTIPLE_INSTANCES is set to Y, and - '-o newinstance' mount option is specified while mounting devpts To use multi-instance mount, a container startup script could: $ ns_exec -cm /bin/bash $ umount /dev/pts $ mount -t devpts -o newinstance lxcpts /dev/pts $ mount -o bind /dev/pts/ptmx /dev/ptmx $ /usr/sbin/sshd -p 1234 where 'ns_exec -cm /bin/bash' is calls clone() with CLONE_NEWNS flag and execs /bin/bash in the child process. A pty created by the sshd is not visible in the original mount of /dev/pts. USER-SPACE-IMPACT: - See Documentation/fs/devpts.txt (included in next patch) for user- space impact in multi-instance and mixed-mode operation. TODO: - Update mount(8), pts(4) man pages. Highlight impact of not redirecting /dev/ptmx to /dev/pts/ptmx after a multi-instance mount. Changelog[v6]: - [Dave Hansen] Use new get_init_pts_sb() interface - [Serge Hallyn] Don't bother displaying 'newinstance' in show_options - [Serge Hallyn] Use macros (PARSE_REMOUNT/PARSE_MOUNT) instead of 0/1. - [Serge Hallyn] Check error return from get_sb_single() (now get_init_pts_sb()) - devpts_pty_kill(): don't dput error dentries Changelog[v5]: - Move get_sb_ref() definition to earlier patch - Move usage info to Documentation/filesystems/devpts.txt (next patch) - Make ptmx node even in init_pts_ns, now that default mode is 0000 (defined in earlier patch, enabled here). - Cache ptmx dentry and use to update mode during remount (defined in earlier patch, enabled here). - Bugfix: explicitly ignore newinstance on remount (if newinstance was specified on remount of initial mount, it would be ignored but /proc/mounts would imply that the option was set) Changelog[v4]: - Update patch description to address H. Peter Anvin's comments - Consolidate multi-instance mode code under new config token, CONFIG_DEVPTS_MULTIPLE_INSTANCE. - Move usage-details from patch description to Documentation/fs/devpts.txt Changelog[v3]: - Rename new mount option to 'newinstance' - Create ptmx nodes only in 'newinstance' mounts - Bugfix: parse_mount_options() modifies @data but since we need to parse the @data twice (once in devpts_get_sb() and once during do_remount_sb()), parse a local copy of @data in devpts_get_sb(). (restructured code in devpts_get_sb() to fix this) Changelog[v2]: - Support both single-mount and multiple-mount semantics and provide '-onewmnt' option to select the semantics. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d4076ac55bf8755ce6c5706478631c1726cf0179 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:19 2009 +0000 Define get_init_pts_sb() See comments in the function header for details. The new interface will be used in a follow-on patch. Changelog [v2]: [Dave Hansen] Replace get_sb_ref() in fs/super.c with get_init_pts_sb() and make the new interface private to devpts Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1f8f1e296583f9f832c2fe7b5a219675b74bf43e Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:42:02 2009 +0000 Define mknod_ptmx() /dev/ptmx is closely tied to the devpts filesystem. An open of /dev/ptmx, allocates the next pty index and the associated device shows up in the devpts fs as /dev/pts/n. Wih multiple instancs of devpts filesystem, during an open of /dev/ptmx we would be unable to determine which instance of the devpts is being accessed. So we move the 'ptmx' node into /dev/pts and use the inode of the 'ptmx' node to identify the superblock and hence the devpts instance. This patch adds ability for the kernel to internally create the [ptmx, c, 5:2] device when mounting devpts filesystem. Since the ptmx node in devpts is new and may surprise some userspace scripts, the default permissions for the new node is 0000. These permissions can be changed either using chmod or by remounting with the new '-o ptmxmode=0666' mount option. Changelog[v5]: - [Serge Hallyn bugfix]: Letting new_inode() assign inode number to ptmx can collide with hand-assigning inode numbers to ptys. So, hand-assign specific inode number to ptmx node also. - [Serge Hallyn]: Maybe safer to grab root dentry mutex while creating ptmx node - [Bugfix with Serge Hallyn] Replace lookup_one_len() in mknod_ptmx() wih d_alloc_name() (lookup during ->get_sb() locks up system). To simplify patchset, fold the ptmx_dentry patch into this. Changelog[v4]: - Change default permissions of pts/ptmx node to 0000. - Move code for ptmxmode under #ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES. Changelog[v3]: - Rename ptmx_mode to ptmxmode (for consistency with 'newinstance') Changelog[v2]: - [H. Peter Anvin] Remove mknod() system call support and create the ptmx node internally. Changelog[v1]: - Earlier version of this patch enabled creating /dev/pts/tty as well. As pointed out by Al Viro and H. Peter Anvin, that is not really necessary. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e4adca27bcbb8a73c4cf1dfa71392654cfa33345 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:54 2009 +0000 Add DEVPTS_MULTIPLE_INSTANCES config token Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 53af8ee4094d80ddaac7efefb572b1c22ae49367 Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:47 2009 +0000 Extract option parsing to new function Move code to parse mount options into a separate function so it can (later) be shared between mount and remount operations. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 31af0abbdafb66ad8e27e3df878faec2ebe1132e Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:33 2009 +0000 Per-mount 'config' object With support for multiple mounts of devpts, the 'config' structure really represents per-mount options rather than config parameters. Rename 'config' structure to 'pts_mount_opts' and store it in the super-block. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e76b7c01e598d2d14ddfdb6ae5c6afe45245d0de Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:21 2009 +0000 Per-mount allocated_ptys To enable multiple mounts of devpts, 'allocated_ptys' must be a per-mount variable rather than a global variable. Move 'allocated_ptys' into the super_block's s_fs_info. Changelog[v2]: Define and use DEVPTS_SB() wrapper. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 59e55e6cf86eb472e8373831c4234252916c53ef Author: Sukadev Bhattiprolu Date: Fri Jan 2 13:41:11 2009 +0000 Remove devpts_root global Remove the 'devpts_root' global variable and find the root dentry using the super_block. The super-block can be found from the device inode, using the new wrapper, pts_sb_from_inode(). Changelog: This patch is based on an earlier patchset from Serge Hallyn and Matt Helsley. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 300a6204b4d45dc70359b24384ad04ae899179c3 Author: Alan Cox Date: Fri Jan 2 13:41:04 2009 +0000 n_tty: clean up coding style Now the main work is done its polishing time Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a88a69c91256418c5907c2f1f8a0ec0a36f9e6cc Author: Joe Peterson Date: Fri Jan 2 13:40:53 2009 +0000 n_tty: Fix loss of echoed characters and remove bkl from n_tty Fixes the loss of echoed (and other ldisc-generated characters) when the tty is stopped or when the driver output buffer is full (happens frequently for input during continuous program output, such as ^C) and removes the Big Kernel Lock from the N_TTY line discipline. Adds an "echo buffer" to the N_TTY line discipline that handles all ldisc-generated output (including echoed characters). Along with the loss of characters, this also fixes the associated loss of sync between tty output and the ldisc state when characters cannot be immediately written to the tty driver. The echo buffer stores (in addition to characters) state operations that need to be done at the time of character output (like management of the column position). This allows echo to cooperate correctly with program output, since the ldisc state remains consistent with actual characters written. Since the echo buffer code now isolates the tty column state code to the process_out* and process_echoes functions, we can remove the Big Kernel Lock (BKL) and replace it with mutex locks. Highlights are: * Handles echo (and other ldisc output) when tty driver buffer is full - continuous program output can block echo * Saves echo when tty is in stopped state (e.g. ^S) - (e.g.: ^Q will correctly cause held characters to be released for output) * Control character pairs (e.g. "^C") are treated atomically and not split up by interleaved program output * Line discipline state is kept consistent with characters sent to the tty driver * Remove the big kernel lock (BKL) from N_TTY line discipline Signed-off-by: Joe Peterson Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e482a2378f3d1aef7fa8942f8f163078f01bb456 Author: Sonic Zhang Date: Fri Jan 2 13:40:45 2009 +0000 Blackfin Serial Driver: Remove BI status for known_good_char Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 68a784cb1add52543644a879ef601f3b52d18623 Author: Sonic Zhang Date: Fri Jan 2 13:40:38 2009 +0000 Blackfin Serial Driver: Fix bug - BF527-EZKIT unable to receive large files over UART in DMA mode Add spin_lock_irqsave() when receive and transfer data. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b6efa1eabbe8d23fd7dcad1eed8ce945f4adea83 Author: Sonic Zhang Date: Fri Jan 2 13:40:31 2009 +0000 Blackfin Serial Driver: Clean serial console and early prink code. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 80d5c474b87da88eca8e1ab034e26daa9f688130 Author: Graf Yang Date: Fri Jan 2 13:40:22 2009 +0000 Blackfin Serial Driver: fix bug - SIR driver stop receiving randomly Bug description: The IRDA receiver may can't receiving any more after processed some signals. To duplicate this issue is put three IRDA devices together, one blackfin, two none blackfin, they will detect each other. Let one none blackfin devices irdaping the blackfin devices, when it stopped print out ping information, it is the time that blackfin stoped receiving, the time is random. The related register bit is OK, the other devices is sending data continuously. But no interrupt come. Fixing: I tried Michael's suggestion that request the UARTx error interrupt, and reset the IRDA when found FE error. This method helps much, but it can't completely avoid stop. Reset the IRDA before every time sending the data is more safe. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 52e15f0eae193a8e4ca31c1520179b8d65c79811 Author: Sonic Zhang Date: Fri Jan 2 13:40:14 2009 +0000 Blackfin Serial Driver: updates kgdb over Blackfin serial driver with kgdb framework Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 609e5b71d0eca163df017ecfcf917b149875e744 Author: Ingo Molnar Date: Fri Jan 2 16:16:16 2009 +0100 kbuild: Remove gcc 4.1.0 quirk from init/main.c Impact: cleanup We now have a cleaner check for gcc 4.1.0/4.1.1 trouble in include/linux/compiler-gcc4.h, so remove the 4.1.0 quirk from init/main.c. Reported-by: Bartlomiej Zolnierkiewicz Signed-off-by: Ingo Molnar Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit dceb4521c8ed24b9fe4230e0d385cf4770260383 Author: Jaswinder Singh Rajput Date: Wed Dec 31 17:35:02 2008 +0530 x86: nmi.c fix style problems Impact: cleanup, fix style problems Fixes style problems: WARNING: Use #include instead of WARNING: Use #include instead of total: 0 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f9d14250071eda9972e4c9cea745a11185952114 Author: Linus Torvalds Date: Fri Jan 2 09:29:43 2009 -0800 Disallow gcc versions 4.1.{0,1} These compiler versions are known to miscompile __weak functions and thus generate kernels that don't necessarily work correctly. If a weak function is int he same compilation unit as a caller, gcc may end up inlining it, and thus binding the weak function too early. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781 for details. Cc: Adrian Bunk Cc: Helge Deller Cc: Rusty Russell Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit f153b82121b0366fe0e5f9553545cce237335175 Author: Linus Torvalds Date: Fri Jan 2 09:23:03 2009 -0800 Sanitize gcc version header includes - include the gcc version-dependent header files from the generic gcc header file, rather than the other way around (iow: don't make the non-gcc header file have to know about gcc versions) - don't include compiler-gcc4.h for gcc 5 (for whenever it gets released). That's just confusing and made us do odd things in the gcc4 header file (testing that we really had version 4!) - generate the name from the __GNUC__ version directly, rather than having a mess of #if conditionals. Signed-off-by: Linus Torvalds commit 423a54058f746579aff1430877dbc82f17442b34 Author: Jaswinder Singh Rajput Date: Wed Dec 31 16:42:20 2008 +0530 x86: ldt.c fix style problems Impact: cleanup Fixes style problems: WARNING: Use #include instead of ERROR: space required before the open parenthesis '(' total: 1 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f634fa941188a91dbf1dab961fe7a4509852fd6e Author: Jaswinder Singh Rajput Date: Wed Dec 31 16:29:48 2008 +0530 x86: cpuid.c fix style problems Impact: cleanup Fixes style problems: WARNING: Use #include instead of ERROR: "foo * bar" should be "foo *bar" ERROR: trailing whitespace WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc total: 2 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 46814dded1b972a07b1609d81632eef3009fbb10 Author: Cliff Wickman Date: Wed Dec 31 13:20:50 2008 -0600 x86, UV: remove erroneous BAU initialization Impact: fix crash on x86/UV UV is the SGI "UltraViolet" machine, which is x86_64 based. BAU is the "Broadcast Assist Unit", used for TLB shootdown in UV. This patch removes the allocation and initialization of an unused table. This table is left over from a development test mode. It is unused in the present code. And it was incorrectly initialized: 8 entries allocated but 17 initialized, causing slab corruption. This patch should go into 2.6.27 and 2.6.28 as well as the current tree. Diffed against 2.6.28 (linux-next, 12/30/08) Signed-off-by: Cliff Wickman Cc: Signed-off-by: Ingo Molnar commit 26799a63110dcbe81291ea53178f6b4810d07424 Author: Ravikiran G Thirumalai Date: Wed Dec 31 13:44:46 2008 -0800 x86: fix incorrect __read_mostly on _boot_cpu_pda The pda rework (commit 3461b0af025251bbc6b3d56c821c6ac2de6f7209) to remove static boot cpu pdas introduced a performance bug. _boot_cpu_pda is the actual pda used by the boot cpu and is definitely not "__read_mostly" and ended up polluting the read mostly section with writes. This bug caused regression of about 8-10% on certain syscall intensive workloads. Signed-off-by: Ravikiran Thirumalai Acked-by: Mike Travis Cc: Signed-off-by: Ingo Molnar commit b16aabc9374217fa2d28e72fd9a6e6d60905e1b9 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: start dma in a drive-specific way There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 06cc2778a1744b79edcfa394ce2d41f09134b2b1 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: put the rest of non-ide-cd code into the else-clause of ide_transfer_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 28ad91db77755f1c49d79652de11b28ee2cfbf03 Author: Borislav Petkov Date: Fri Jan 2 16:12:56 2009 +0100 ide-atapi: remove timeout arg to ide_issue_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 65a3309e552585c4908e50e3c9736afb764c97c0 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-cd: remove handler wrappers Remove cdrom_do_newpc_cont and cdrom_start_rw_cont wrappers and pass cdrom_transfer_packet_command to ide_execute_command directly. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: don't move cdrom_start_packet_command() around, remove newlines] Signed-off-by: Bartlomiej Zolnierkiewicz commit 563d993153ab16d829ba373c5c070a118eb1eba4 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-cd: remove xferlen arg to cdrom_start_packet_command There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d77612ab0ad7515623b084b952dfefd547073ada Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-atapi: split drive-specific functionality in ide_issue_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit def860d061d0fcab7fbbe193c0b8b8f0b9b4c828 Author: Borislav Petkov Date: Fri Jan 2 16:12:55 2009 +0100 ide-atapi: assign expiry and timeout based on device type There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c662852d1aa35ed370942ef2740759cd334d2d5 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide-atapi: compute cmd_len based on device type in ide_transfer_pc There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: move cmd_len check closer to ->output_data() call] Signed-off-by: Bartlomiej Zolnierkiewicz commit 5317464dccd0c03026d60f1e9968de4f9cd23f69 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide: remove the last ide-scsi remnants Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d655a03b847fbe5353a8a74bbeb75e18708dca3 Author: Borislav Petkov Date: Fri Jan 2 16:12:54 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_pc_intr() As a result, remove now unused ide_scsi_get_timeout and ide_scsi_expiry. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5fe3110431ccf437607bdc11ac3677bf3eeee6e3 Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_transfer_pc() Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 152fe1cc38ebebb81724663e3b1e1e10272a729e Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: remove ide-scsi remnants from ide_issue_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4cad085efbce8dcc5006b0d1034089758b4fc7ba Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-cd: move cdrom_timer_expiry to ide-atapi.c - cdrom_timer_expiry -> ide_cd_expiry - remove expiry-arg to ide_issue_pc as it is redundant now - ide_debug_log -> debug_log Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f25843fa79b7c35097b0ffe8b2c5cc2428d6495 Author: Borislav Petkov Date: Fri Jan 2 16:12:53 2009 +0100 ide-atapi: teach ide atapi about drive->waiting_for_dma In addition, we wait for DRQ to be asserted by repeatedly polling device status no matter what DRQ type each device implements. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 392de1d53dd40e2eebee3a0a26aa647a3865ca78 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: accomodate transfer length calculation for ide-cd ... by factoring it out of ide_cd_do_request() into a helper, as suggested by Bart. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov [bart: BLK_DEV_IDECD needs to select IDE_ATAPI now] Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f02ff06b4d33aba50ce5157c23e99cd21d447ee Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: setup dma for ide-cd There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ed48554fad7091b9613b967462f082bf1a9cb035 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: combine drive-specific assignments There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 991cb26a6ad287c3bc6555c41e830590a23910c4 Author: Borislav Petkov Date: Fri Jan 2 16:12:52 2009 +0100 ide-atapi: add a dev_is_idecd-inline There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 93c164af19f608c5f737eb9bed8cb4de3a872329 Author: FUJITA Tomonori Date: Fri Jan 2 16:12:51 2009 +0100 remove ide-scsi As planed, this removes ide-scsi. The 2.6 kernel supports direct writing to ide CD drives, which eliminates the need for ide-scsi. ide-scsi has been unmaintained and marked as deprecated. Signed-off-by: FUJITA Tomonori Cc: James.Bottomley@HansenPartnership.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 07bd3f4731f9c7ebcbab90905ca4ad6fc6825f96 Author: Linus Torvalds Date: Fri Jan 2 16:12:51 2009 +0100 ide-floppy: allocate only toplevel packet commands This makes the top-level function just allocate a single pc entry, and then pass it down as a pointer to all the helper functions that also need one of those "struct ide_atapi_pc" things. As far as I can tell, the use of these things never overlaps each other, BUT I DID NOT CHECK VERY CLOSELY! So I'm not guaranteeing this is correct, and I don't have the hardware. It would be good for somebody who knows the code more, and has the hardware, could please test this? With this, ide-floppy still has fairly big stack usage, but instead of idefloppy_ioctl [vmlinux]: 1208 ide_floppy_get_capacity [vmlinux]: 872 idefloppy_release [vmlinux]: 408 idefloppy_open [vmlinux]: 408 where those two first ones are at the very top of the list of stack users for me, it's now ide_floppy_get_capacity [vmlinux]: 404 ide_floppy_ioctl [vmlinux]: 364 ie they are still high, but they are no longer at the top. Borislav: Since ide_floppy_get_capacity is passed as a function pointer to other parts of the kernel (e.g., block layer) we need that ide_atapi_pc to be created on stack. Also, redid stack users numbers above. The two functions missing from Linus' original 'make stackusage' output are due to ide being rewritten/reorganized atm. Signed-off-by: Linus Torvalds Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit bf64741fe89280bd81a9e3a1beadec1570861848 Author: Borislav Petkov Date: Fri Jan 2 16:12:50 2009 +0100 ide: make IDE_AFLAG_.. numbering continuous again Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0f38aaa4980fdf5de215e0a8bf6d6032164a6c4b Author: Borislav Petkov Date: Fri Jan 2 16:12:50 2009 +0100 ide-cd: move debug defines into header While at it: - disable compiling-in debug support by default Signed-off-by: Borislav Petkov [bart: fixup patch description] Signed-off-by: Bartlomiej Zolnierkiewicz commit 201bffa46466b4afdf7d29db8eca3fa5decb39c8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:50 2009 +0100 ide: use per-device request queue locks (v2) * Move hack for flush requests from choose_drive() to do_ide_request(). * Add ide_plug_device() helper and convert core IDE code from using per-hwgroup lock as a request lock to use the ->queue_lock instead. * Remove no longer needed: - choose_drive() function - WAKEUP() macro - 'sleeping' flag from ide_hwif_t - 'service_{start,time}' fields from ide_drive_t This patch results in much simpler and more maintainable code (besides being a scalability improvement). v2: * Fixes/improvements based on review from Elias: - take as many requests off the queue as possible - remove now redundant BUG_ON() Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 631de3708d595d153e8a510a3608689290f4c0ed Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:50 2009 +0100 ide: add ide_[un]lock_hwgroup() helpers Add ide_[un]lock_hwgroup() inline helpers for obtaining exclusive access to the given hwgroup and update the core code accordingly. [ This change besides making code saner results in more efficient use of ide_{get,release}_lock(). ] Cc: Michael Schmitz Cc: Geert Uytterhoeven Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit b2cfb05a701809abee591265a198afa029d68bff Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:49 2009 +0100 ide: remove "paranoia" checks for hwgroup->busy Remove "paranoia" checks for hwgroup->busy from ide_timer_expiry() and ide_intr(). This is a preparation for future changes. Cc: Michael Schmitz Cc: Geert Uytterhoeven Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 2fb211502e2c0513e12d677ed4d7891f3c5e1413 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:49 2009 +0100 ide: remove IDE PM hack from do_ide_request() We now tell block layer that there is still work to do using blk_plug_device() so hack for IDE Power Management can be removed (it was buggy for hwgroups having more than 4 devices anyway). Signed-off-by: Bartlomiej Zolnierkiewicz commit 295f00042aaf6b553b5f37348f89bab463d4a469 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:48 2009 +0100 ide: don't execute the next queued command from the hard-IRQ context (v2) * Tell the block layer that we are not done handling requests by using blk_plug_device() in ide_do_request() (request handling function) and ide_timer_expiry() (timeout handler) if the queue is not empty. * Remove optimization which directly calls ide_do_request() for the next queued command from the ide_intr() (IRQ handler) and ide_timer_expiry(). * Remove no longer needed IRQ masking from ide_do_request() - in case of IDE ports needing serialization disable_irq_nosync()/enable_irq() was used for the (possibly shared) IRQ of the other IDE port. * Put the misplaced comment in the right place in ide_do_request(). * Drop no longer needed 'int masked_irq' argument from ide_do_request(). * Merge ide_do_request() into do_ide_request(). * Remove no longer needed IDE_NO_IRQ define. While at it: * Don't use HWGROUP() macro in do_ide_request(). * Use __func__ in ide_intr(). This patch reduces IRQ hadling latency for IDE and improves the system-wide handling of shared IRQs (which should result in more timeout resistant and stable IDE systems). It also makes it possible to do some further changes later (i.e. replace some busy-waiting delays with sleeping equivalents). v2: Changes per review from Elias Oltmanns: - fix wrong goto statement in 'if (startstop == ide_stopped)' block - use spin_unlock_irq() - don't use obsolete HWIF() macro Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit ebdab07dad3d3a008e519b0a028e1e1ad5ecaef0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:48 2009 +0100 ide: move sysfs support to ide-sysfs.c While at it: - media_string() -> ide_media_string() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 24630dc68a499baec367d24285bc6b92207cc100 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: factor out device type classifying from do_identify() Factor out device type classifying from do_identify() to ide_classify_ata_dev() and ide_classify_atapi_dev(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 96d40941236722777c259775640b8880b7dc6f33 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: small ide_register_port() cleanup Signed-off-by: Bartlomiej Zolnierkiewicz commit b1d249e845efb07975183c62b4f75576c4a8d467 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:47 2009 +0100 ide: remove chipset type fixup from ide_host_register() * Set chipset type explicitly in tx4938ide and tx4939ide host drivers (all other host drivers were updated already). * Remove no longer used chipset type fixup from ide_host_register(). Acked-by: Atsushi Nemoto Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ee86dcdd273aa91cb9b4fe1e3d4f69035750a12 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 2 16:12:46 2009 +0100 tx493x: fix indentation Trivial CodingStyle fixup for tx4938ide and tx4939ide drivers. Acked-by: Atsushi Nemoto Acked-by: Sergei Shtyltov Signed-off-by: Bartlomiej Zolnierkiewicz commit a9067d537615d534dcef06c0d819472e43a0d152 Author: Ingo Brueckl Date: Fri Jan 2 14:42:00 2009 +0100 x86: convert permanent_kmaps_init() from macro to inline Impact: cleanup This compiler warning: arch/x86/mm/init_32.c:515: warning: unused variable 'pgd_base' triggers because permanent_kmaps_init() is a CPP macro in the !CONFIG_HIGHMEM case, that does not tell the compiler that the 'pgd_base' parameter is used. Convert permanent_kmaps_init() (and set_highmem_pages_init()) to C inline functions - which gives the parameter a proper type and which gets rid of the compiler warning as well. Signed-off-by: Ingo Brueckl Signed-off-by: Ingo Molnar commit b21a207141d83a06abc5f492b80204602e02ca44 Merge: 3af3730... b58602a... Author: David Vrabel Date: Fri Jan 2 13:17:13 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream Conflicts: drivers/uwb/wlp/eda.c commit c64d8996bd758cedc2ddc04b86ca66fa1d8599cf Author: Cyrill Gorcunov Date: Fri Jan 2 11:27:18 2009 +0300 x86: early_printk - use sizeof instead of hardcoded number Impact: cleanup Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit b58602a4bac012b5f4fc12fe6b46ab237b610d5d Merge: db200df... 1f3403f... Author: Linus Torvalds Date: Wed Dec 31 15:57:56 2008 -0800 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: (34 commits) nfsd race fixes: jfs nfsd race fixes: reiserfs nfsd race fixes: ext4 nfsd race fixes: ext3 nfsd race fixes: ext2 nfsd/create race fixes, infrastructure filesystem notification: create fs/notify to contain all fs notification fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization kill ->dir_notify() filp_cachep can be static in fs/file_table.c fix f_count description in Documentation/filesystems/files.txt make INIT_FS use the __RW_LOCK_UNLOCKED initialization take init_fs to saner place kill vfs_permission pass a struct path * to may_open kill walk_init_root remove incorrect comment in inode_permission expand some comments (d_path / seq_path) correct wrong function name of d_put in kernel document and source comment fix switch_names() breakage in short-to-short case ... commit 8c384cdee3e04d6194a2c2b192b624754f990835 Author: Rusty Russell Date: Thu Jan 1 10:12:30 2009 +1030 cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS Impact: new debug CONFIG options This helps find unconverted code. It currently breaks compile horribly, but we never wanted a flag day so that's expected. Signed-off-by: Rusty Russell commit 2a53008033189ed09bfe241c6b33811ba4ce980d Author: Rusty Russell Date: Thu Jan 1 10:12:30 2009 +1030 cpumask: zero extra bits in alloc_cpumask_var_node Impact: extra safety checks during transition When CONFIG_CPUMASKS_OFFSTACK is set, the new cpumask_ operators only use bits up to nr_cpu_ids, not NR_CPUS. Using the old cpus_ operators on these masks can mean accessing undefined bits. After some discussion, Mike and I decided to err on the side of caution; we zero the "undefined" bits in alloc_cpumask_var_node() until all the old cpumask functions are removed. Signed-off-by: Rusty Russell commit 5db0e1e9e0f30f160b832a0b5cd1131954bf4f6e Author: Rusty Russell Date: Thu Jan 1 10:12:29 2009 +1030 cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/ Impact: cleanup Simple replacement, now the _nr is redundant. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar commit 174596a0b9f21e8844d70566a6bb29bf48a87750 Author: Rusty Russell Date: Thu Jan 1 10:12:29 2009 +1030 cpumask: convert mm/ Impact: Use new API Convert kernel mm functions to use struct cpumask. We skip include/linux/percpu.h and mm/allocpercpu.c, which are in flux. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter commit 41c7bb9588904eb060a95bcad47bd3804a1ece25 Author: Rusty Russell Date: Thu Jan 1 10:12:28 2009 +1030 cpumask: convert rest of files in kernel/ Impact: Reduce stack usage, use new cpumask API. Mainly changing cpumask_t to 'struct cpumask' and similar simple API conversion. Two conversions worth mentioning: 1) we use cpumask_any_but to avoid a temporary in kernel/softlockup.c, 2) Use cpumask_var_t in taskstats_user_cmd(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Balbir Singh Cc: Ingo Molnar commit e0b582ec56f1a1d8b30ebf340a7b91fb09f26c8c Author: Rusty Russell Date: Thu Jan 1 10:12:28 2009 +1030 cpumask: convert kernel/cpu.c Impact: Reduce kernel stack and memory usage, use new cpumask API. Use cpumask_var_t for take_cpu_down() stack var, and frozen_cpus. Note that notify_cpu_starting() can be called before core_initcall allocates frozen_cpus, but the NULL check is optimized out by gcc for the CONFIG_CPUMASK_OFFSTACK=n case. Signed-off-by: Rusty Russell commit c309b917cab55799ea489d7b5f1b77025d9f8462 Author: Rusty Russell Date: Thu Jan 1 10:12:27 2009 +1030 cpumask: convert kernel/profile.c Impact: Reduce kernel memory usage, use new cpumask API. Avoid a static cpumask_t for prof_cpu_mask, and an on-stack cpumask_t in prof_cpu_mask_write_proc. Both become cpumask_var_t. prof_cpu_mask is only allocated when profiling is on, but the NULL checks are optimized out by gcc for the !CPUMASK_OFFSTACK case. Also removed some strange and unnecessary casts. Signed-off-by: Rusty Russell commit bd232f97b30f6bb630efa136a777647545db3039 Author: Rusty Russell Date: Thu Jan 1 10:12:26 2009 +1030 cpumask: convert RCU implementations Impact: use new cpumask API. rcu_ctrlblk contains a cpumask, and it's highly optimized so I don't want a cpumask_var_t (ie. a pointer) for the CONFIG_CPUMASK_OFFSTACK case. It could use a dangling bitmap, and be allocated in __rcu_init to save memory, but for the moment we use a bitmap. (Eventually 'struct cpumask' will be undefined for CONFIG_CPUMASK_OFFSTACK, so we use a bitmap here to show we really mean it). We remove on-stack cpumasks, using cpumask_var_t for rcu_torture_shuffle_tasks() and for_each_cpu_and in force_quiescent_state(). Signed-off-by: Rusty Russell commit d036e67b40f52bdd95392390108defbac7e53837 Author: Rusty Russell Date: Thu Jan 1 10:12:26 2009 +1030 cpumask: convert kernel/irq Impact: Reduce stack usage, use new cpumask API. ALPHA mod! Main change is that irq_default_affinity becomes a cpumask_var_t, so treat it as a pointer (this effects alpha). Signed-off-by: Rusty Russell commit 6b954823c24f04ed026a8517f6bab5abda279db8 Author: Rusty Russell Date: Thu Jan 1 10:12:25 2009 +1030 cpumask: convert kernel time functions Impact: Use new APIs Convert kernel/time functions to use struct cpumask *. Note the ugly bitmap declarations in tick-broadcast.c. These should be cpumask_var_t, but there was no obvious initialization function to put the alloc_cpumask_var() calls in. This was safe. (Eventually 'struct cpumask' will be undefined for CONFIG_CPUMASK_OFFSTACK, so we use a bitmap here to show we really mean it). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e7577c50f2fb2d1c167e2c04a4b4c2cc042acb82 Author: Rusty Russell Date: Thu Jan 1 10:12:25 2009 +1030 cpumask: convert kernel/workqueue.c Impact: Reduce memory usage, use new cpumask API. cpu_populated_map becomes a cpumask_var_t, and cpu_singlethread_map is simply a cpumask pointer: it's simply the cpumask containing the first possible CPU anyway. Signed-off-by: Rusty Russell commit a45185d2d7108b01b90b9e0293377be4d6346dde Author: Rusty Russell Date: Thu Jan 1 10:12:24 2009 +1030 cpumask: convert kernel/compat.c Impact: Reduce stack usage, use new cpumask API. Straightforward conversion; cpumasks' size is given by cpumask_size() (now a variable rather than fixed) and on-stack cpu masks use cpumask_var_t. Signed-off-by: Rusty Russell commit 3e597945384dee1457240158eb81e3afb90b68c2 Author: Rusty Russell Date: Thu Jan 1 10:12:24 2009 +1030 cpumask: remove any_online_cpu() users: mm/ Impact: Remove obsolete API usage any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit f1fc057c79cb2d27602fb3ad08a031f13459ef27 Author: Rusty Russell Date: Thu Jan 1 10:12:23 2009 +1030 cpumask: remove any_online_cpu() users: kernel/ Impact: Remove obsolete API usage any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 4462344ee9ea9224d026801b877887f2f39774a3 Author: Rusty Russell Date: Thu Jan 1 10:12:23 2009 +1030 cpumask: convert kernel trace functions further Impact: Reduce future memory usage, use new cpumask API. Since the last patch was created and acked, more old cpumask users slipped into kernel/trace. Mostly trivial conversions, except struct trace_iterator's "started" member becomes a cpumask_var_t. Signed-off-by: Rusty Russell commit 9e01c1b74c9531e301c900edaa92a99fcb7738f2 Author: Rusty Russell Date: Thu Jan 1 10:12:22 2009 +1030 cpumask: convert kernel trace functions Impact: Reduce future memory usage, use new cpumask API. (Eventually, cpumask_var_t will be allocated based on nr_cpu_ids, not NR_CPUS). Convert kernel trace functions to use struct cpumask API: 1) Use cpumask_copy/cpumask_test_cpu/for_each_cpu. 2) Use cpumask_var_t and alloc_cpumask_var/free_cpumask_var everywhere. 3) Use on_each_cpu instead of playing with current->cpus_allowed. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Steven Rostedt commit 333af15341b2f6cd813c054e1b441d7b6d8e9318 Author: Rusty Russell Date: Thu Jan 1 10:12:21 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): ia64 Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 9150641dd17fe9e213ab3391c8ebfc228daa2d9d Author: Rusty Russell Date: Thu Jan 1 10:12:21 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): powerpc Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 2bb23a63f22f0e2d91fee93ff5ca9c29e180b146 Author: Rusty Russell Date: Thu Jan 1 10:12:20 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): s390 Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 78fd744f827586615da5b387fa9f0af1888601b6 Author: Rusty Russell Date: Thu Jan 1 10:12:20 2009 +1030 cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): sparc Impact: New API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e0c0ba736547e81c4f986ce192307c549d214167 Author: Rusty Russell Date: Thu Jan 1 10:12:19 2009 +1030 cpumask: Use find_last_bit() Impact: cleanup There's one obvious place to use it: to find the highest possible cpu. Signed-off-by: Rusty Russell commit ab53d472e785e51fdfc08fc1d66252c1153e6c0f Author: Rusty Russell Date: Thu Jan 1 10:12:19 2009 +1030 bitmap: find_last_bit() Impact: New API As the name suggests. For the moment everyone uses the generic one. Signed-off-by: Rusty Russell commit 0db5d3d2f58804edb394e8008c7d9744110338a2 Author: Rusty Russell Date: Thu Jan 1 10:12:18 2009 +1030 m68knommu: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit 434ae514c23047db87a8bbf39cebc9e1767aea44 Author: Rusty Russell Date: Thu Jan 1 10:12:18 2009 +1030 m68k: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit ccec25ff69d5f48c7a088c16fe2dc7e11d9e87fe Author: Rusty Russell Date: Thu Jan 1 10:12:17 2009 +1030 blackfin: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell Acked-by: Mike Frysinger commit 96b8d4c19d797200b973caab57ca842531184c13 Author: Rusty Russell Date: Thu Jan 1 10:12:16 2009 +1030 avr32: define __fls Like fls, but can't be handed 0 and returns the bit number. (I broke this arch in linux-next by using __fls in generic code). Signed-off-by: Rusty Russell commit 165ac433fa3f01ba99b29972f3adc283d03b0f17 Author: Rusty Russell Date: Thu Jan 1 10:12:16 2009 +1030 parisc: remove gratuitous cpu_online_map declaration. This is defined in linux/cpumask.h (included in this file already), and this is now defined differently. Signed-off-by: Rusty Russell Cc: linux-parisc@vger.kernel.org commit 915441b601e6662e79f6c958e7be307967a96977 Author: Rusty Russell Date: Thu Jan 1 10:12:15 2009 +1030 cpumask: Use accessors code in core Impact: use new API cpu_*_map are going away in favour of cpu_*_mask, but const pointers. So we have accessors where we really do want to frob them. Archs will also need the (trivial) conversion before we can finally remove cpu_*_map. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 4f4b6c1a94a8735bbdc030a2911cf395495645b6 Author: Rusty Russell Date: Thu Jan 1 10:12:15 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: core Impact: cleanup In future, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in iterators and other comparisons. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Acked-by: James Morris Cc: Eric Biederman commit 9e2f913df70b378379a358a44e7d286f7b765e8e Author: Rusty Russell Date: Thu Jan 1 10:12:14 2009 +1030 percpu: fix percpu accessors to potentially !cpu_possible() cpus: m32r Impact: CPU iterator bugfixes Percpu areas are only allocated for possible cpus. In general, you shouldn't access random cpu's percpu areas. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Acked-by: Hirokazu Takata commit 6aaa8ce523c7ce954b81b8c0b3e32c8be599af8d Author: Rusty Russell Date: Thu Jan 1 10:12:14 2009 +1030 percpu: fix percpu accessors to potentially !cpu_possible() cpus: pnpbios Impact: CPU iterator bugfixes Percpu areas are only allocated for possible cpus. In general, you shouldn't access random cpu's percpu areas. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Cc: Adam Belay commit e9690a6e4b1615cb0102e425e04b7ce29e7858e2 Author: Li Zefan Date: Wed Dec 31 16:45:50 2008 +0800 cpumask: fix bogus kernel-doc Impact: fix kernel-doc alloc_bootmem_cpumask_var() returns avoid. Signed-off-by: Li Zefan Signed-off-by: Rusty Russell commit f320786063a9d1f885d2cf34ab44aa69c1d88f43 Author: Rusty Russell Date: Thu Jan 1 10:12:13 2009 +1030 cpumask: Remove IA64 definition of total_cpus now it's in core code Impact: fix IA64 compile Fortunately, they have exactly the same semantics. Signed-off-by: Rusty Russell commit 1f3403fa640f9f7b135dee79f2d39d01c8ad4a08 Author: Dave Kleikamp Date: Tue Dec 30 22:08:37 2008 -0600 nfsd race fixes: jfs jfs version of Al Viro's nfsd race patches Signed-off-by: Dave Kleikamp Signed-off-by: Al Viro commit c1eaa26b671299b3ec01d40c6c71ee19a4f81517 Author: Al Viro Date: Tue Dec 30 02:03:58 2008 -0500 nfsd race fixes: reiserfs ... and the same for reiserfs. The difference here is that we need insert_inode_locked4() to match iget5_locked(). Signed-off-by: Al Viro commit 6b38e842bb832a3dbeb17e382404aef3c40ac5f9 Author: Al Viro Date: Tue Dec 30 02:03:31 2008 -0500 nfsd race fixes: ext4 Signed-off-by: Al Viro commit c38012daa7ad902a39a4213ba2b3fe50e81157ea Author: Al Viro Date: Tue Dec 30 02:02:50 2008 -0500 nfsd race fixes: ext3 ext3 analog of the previous patch Signed-off-by: Al Viro commit 41080b5a240113328c607f22b849f653373db0ce Author: Al Viro Date: Tue Dec 30 01:52:35 2008 -0500 nfsd race fixes: ext2 * make ext2_new_inode() put the inode into icache in locked state * do not unlock until the inode is fully set up; otherwise nfsd might pick it in half-baked state. * make sure that ext2_new_inode() does *not* lead to two inodes with the same inumber hashed at the same time; otherwise a bogus fhandle coming from nfsd might race with inode creation: nfsd: iget_locked() creates inode nfsd: try to read from disk, block on that. ext2_new_inode(): allocate inode with that inumber ext2_new_inode(): insert it into icache, set it up and dirty ext2_write_inode(): get the relevant part of inode table in cache, set the entry for our inode (and start writing to disk) nfsd: get CPU again, look into inode table, see nice and sane on-disk inode, set the in-core inode from it oops - we have two in-core inodes with the same inumber live in icache, both used for IO. Welcome to fs corruption... Signed-off-by: Al Viro commit 261bca86ed4f7f391d1938167624e78da61dcc6b Author: Al Viro Date: Tue Dec 30 01:48:21 2008 -0500 nfsd/create race fixes, infrastructure new helpers - insert_inode_locked() and insert_inode_locked4(). Hash new inode, making sure that there's no such inode in icache already. If there is and it does not end up unhashed (as would happen if we have nfsd trying to resolve a bogus fhandle), fail. Otherwise insert our inode into hash and succeed. In either case have i_state set to new+locked; cleanup ends up being simpler with such calling conventions. Signed-off-by: Al Viro commit 272eb01485dda98e3b8910c7c1a53d597616b0a0 Author: Eric Paris Date: Wed Dec 17 13:59:41 2008 -0500 filesystem notification: create fs/notify to contain all fs notification Creating a generic filesystem notification interface, fsnotify, which will be used by inotify, dnotify, and eventually fanotify is really starting to clutter the fs directory. This patch simply moves inotify and dnotify into fs/notify/inotify and fs/notify/dnotify respectively to make both current fs/ and future notification tidier. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit c2acf7b90821785fe812cc0aa05148e5a1f84204 Author: Denis ChengRq Date: Mon Dec 1 14:34:56 2008 -0800 fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization - iget5_locked in bdget really needs blockdev_superblock, instead of bd_mnt, so bd_mnt could be just a local variable; - blockdev_superblock really needs __read_mostly, while local var bd_mnt not; - make use of sb_is_blkdev_sb in bd_forget, instead of direct reference to blockdev_superblock. Signed-off-by: Denis ChengRq Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 6badd79bd002788aaec27b50a74ab69ef65ab8ee Author: Al Viro Date: Fri Dec 26 00:57:40 2008 -0500 kill ->dir_notify() Remove the hopelessly misguided ->dir_notify(). The only instance (cifs) has been broken by design from the very beginning; the objects it creates are never destroyed, keep references to struct file they can outlive, nothing that could possibly evict them exists on close(2) path *and* no locking whatsoever is done to prevent races with close(), should the previous, er, deficiencies someday be dealt with. Signed-off-by: Al Viro commit b6b3fdead251d432f32f2cfce2a893ab8a658110 Author: Eric Dumazet Date: Wed Dec 10 09:35:45 2008 -0800 filp_cachep can be static in fs/file_table.c Instead of creating the "filp" kmem_cache in vfs_caches_init(), we can do it a litle be later in files_init(), so that filp_cachep is static to fs/file_table.c Acked-by: Paul E. McKenney Signed-off-by: Eric Dumazet Signed-off-by: Al Viro commit fd659fd6275d3426d7967da1f0e3638bbbd2fedb Author: Eric Dumazet Date: Wed Dec 10 09:35:45 2008 -0800 fix f_count description in Documentation/filesystems/files.txt Documentation/filesystems/files.txt was not updated when f_count became an atomic_long_t. atomic_long_inc_not_zero() is now used instead of atomic_inc_not_zero() Signed-off-by: Al Viro commit 1239f26c05899f1f3c541b41e719c59d58038786 Author: Steven Rostedt Date: Wed Dec 10 18:37:28 2008 -0500 make INIT_FS use the __RW_LOCK_UNLOCKED initialization [AV: rediffed on top of unification of init_fs] Initialization of init_fs still uses the deprecated RW_LOCK_UNLOCKED macro. This patch updates it to use the __RW_LOCK_UNLOCKED(lock) macro. Signed-off-by: Steven Rostedt Signed-off-by: Al Viro commit 18d8fda7c3c9439be04d7ea2e82da2513b121acb Author: Al Viro Date: Fri Dec 26 00:35:37 2008 -0500 take init_fs to saner place Signed-off-by: Al Viro commit cb23beb55100171646e69e248fb45f10db6e99a4 Author: Christoph Hellwig Date: Fri Oct 24 09:59:29 2008 +0200 kill vfs_permission With all the nameidata removal there's no point anymore for this helper. Of the three callers left two will go away with the next lookup series anyway. Also add proper kerneldoc to inode_permission as this is the main permission check routine now. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 3fb64190aa3c23c10e6e9fd0124ac030115c99bf Author: Christoph Hellwig Date: Fri Oct 24 09:58:10 2008 +0200 pass a struct path * to may_open No need for the nameidata in may_open - a struct path is enough. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit b4091d5f6fde28ab762e1094a1a26d81f3badfa5 Author: Christoph Hellwig Date: Wed Nov 5 15:07:21 2008 +0100 kill walk_init_root walk_init_root is a tiny helper that is marked __always_inline, has just one caller and an unused argument. Just merge it into the caller. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 66f221875dc10813aa2f06c83ad60d0eb1356406 Author: Christoph Hellwig Date: Wed Nov 5 15:04:29 2008 +0100 remove incorrect comment in inode_permission We now pass on all MAY_ flags to the filesystems permission routines, so remove the comment stating the contrary. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 52afeefb9dac9287429642189996426a2bfd6a25 Author: Arjan van de Ven Date: Mon Dec 1 14:35:00 2008 -0800 expand some comments (d_path / seq_path) Explain that you really need to use the return value of d_path rather than the buffer you passed into it. Also fix the comment for seq_path(), the function arguments changed recently but the comment hadn't been updated in sync. Signed-off-by: Arjan van de Ven Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit be42c4c433c2c0d3f1583c08908fead00d36d222 Author: Zhaolei Date: Mon Dec 1 14:34:58 2008 -0800 correct wrong function name of d_put in kernel document and source comment no function named d_put(), it should be dput(). Impact: fix document and comment, no functionality changed Signed-off-by: Zhao Lei Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit dc711ca35f9d95a1eec02118e0c298b5e3068315 Author: Al Viro Date: Mon Nov 3 15:03:50 2008 -0500 fix switch_names() breakage in short-to-short case We want ->name.len to match the resulting name on *both* source and target Signed-off-by: Al Viro commit 7df5fa06de89a4ac311957e0cb9c1d87552b4325 Author: Duane Griffin Date: Fri Dec 19 20:47:18 2008 +0000 befs: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Sergey S. Kostyliov Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit a63d0ff31a136bdf52350c4e6c2929eaf47ea2b2 Author: Duane Griffin Date: Fri Dec 19 20:47:17 2008 +0000 freevxfs: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Christoph Hellwig Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 21acaf8e8da00235be59a3e489d5fa2a8721cafc Author: Duane Griffin Date: Fri Dec 19 20:47:16 2008 +0000 sysv: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit e83c1397cafc4e44f868289db5e417463c0d09a4 Author: Duane Griffin Date: Fri Dec 19 20:47:15 2008 +0000 ext4: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Cc: Theodore Ts'o Cc: adilger@sun.com Cc: linux-ext4@vger.kernel.org Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit b5ed3112b5f74c8ec1c7aa03a76c596635e85197 Author: Duane Griffin Date: Fri Dec 19 20:47:14 2008 +0000 ext3: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Cc: Stephen Tweedie Cc: linux-ext4@vger.kernel.org Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 8d6d0c4da2dbbe0a69fea3692146af39f139f8b4 Author: Duane Griffin Date: Fri Dec 19 20:47:13 2008 +0000 ext2: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit ebd09abbd9699f328165aee50a070403fbf55a37 Author: Duane Griffin Date: Fri Dec 19 20:47:12 2008 +0000 vfs: ensure page symlinks are NUL-terminated On-disk data corruption could cause a page link to have its i_size set to PAGE_SIZE (or a multiple thereof) and its contents all non-NUL. NUL-terminate the link name to ensure this doesn't cause further problems for the kernel. Cc: Al Viro Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 035146851cfa2fe24c1d9dc7637bb009ad06b2f7 Author: Duane Griffin Date: Fri Dec 19 20:47:11 2008 +0000 vfs: introduce helper function to safely NUL-terminate symlinks A number of filesystems were potentially triggering kernel bugs due to corrupted symlink names on disk. This function helps safely terminate the names. Cc: Al Viro Cc: Andrew Morton Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit a17d5232de7b53d34229de79ec22f4bb04adb7e4 Author: Duane Griffin Date: Fri Dec 19 20:47:10 2008 +0000 eCryptfs: check readlink result was not an error before using it The result from readlink is being used to index into the link name buffer without checking whether it is a valid length. If readlink returns an error this will fault or cause memory corruption. Cc: Tyler Hicks Cc: Dustin Kirkland Cc: ecryptfs-devel@lists.launchpad.net Signed-off-by: Duane Griffin Acked-by: Michael Halcrow Acked-by: Tyler Hicks Signed-off-by: Al Viro commit 5cc4a0341a1295ea56b2e62eb70d96d8fdb94ded Author: Julia Lawall Date: Mon Dec 1 14:34:51 2008 -0800 fs/namespace.c: drop code after return The extra semicolon serves no purpose. Signed-off-by: Julia Lawall Reviewed-by: Richard Genoud Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit dded4f4d5048e64a01cf52eed4d27c8cb2600525 Author: Jan Engelhardt Date: Mon Dec 1 14:34:50 2008 -0800 include: linux/fs.h: put declarations in __KERNEL__ include/linux/fs.h contains externs for a bunch of variables. That obviously belongs under ifdef __KERNEL__. Signed-off-by: Jan Engelhardt Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit c2452f32786159ed85f0e4b21fec09258f822fc8 Author: Nick Piggin Date: Mon Dec 1 09:33:43 2008 +0100 shrink struct dentry struct dentry is one of the most critical structures in the kernel. So it's sad to see it going neglected. With CONFIG_PROFILING turned on (which is probably the common case at least for distros and kernel developers), sizeof(struct dcache) == 208 here (64-bit). This gives 19 objects per slab. I packed d_mounted into a hole, and took another 4 bytes off the inline name length to take the padding out from the end of the structure. This shinks it to 200 bytes. I could have gone the other way and increased the length to 40, but I'm aiming for a magic number, read on... I then got rid of the d_cookie pointer. This shrinks it to 192 bytes. Rant: why was this ever a good idea? The cookie system should increase its hash size or use a tree or something if lookups are a problem. Also the "fast dcookie lookups" in oprofile should be moved into the dcookie code -- how can oprofile possibly care about the dcookie_mutex? It gets dropped after get_dcookie() returns so it can't be providing any sort of protection. At 192 bytes, 21 objects fit into a 4K page, saving about 3MB on my system with ~140 000 entries allocated. 192 is also a multiple of 64, so we get nice cacheline alignment on 64 and 32 byte line systems -- any given dentry will now require 3 cachelines to touch all fields wheras previously it would require 4. I know the inline name size was chosen quite carefully, however with the reduction in cacheline footprint, it should actually be just about as fast to do a name lookup for a 36 character name as it was before the patch (and faster for other sizes). The memory footprint savings for names which are <= 32 or > 36 bytes long should more than make up for the memory cost for 33-36 byte names. Performance is a feature... Signed-off-by: Al Viro commit e2b689d82c0394e5239a3557a217f19e2f47f1be Author: Richard Kennedy Date: Thu Dec 4 11:17:47 2008 +0000 fs: reorder struct inotify_device on 64bits to remove padding Reorder struct inotify_device to remove 8 bytes of padding on 64bit builds, reducing size to 128 bytes . Therefore allocating from a smaller slab & using one fewer cachelines. Signed-off-by: Richard Kennedy ---- Hi, patch against 2.6.28-rc7. built & tested on AMDX2 desktop. I've not been able to send this to the listed inotify maintainers, I just get mail failures. So I guessed filesystem was the best home for it, hope that's ok. regards Richard Signed-off-by: Al Viro commit be6d3e56a6b9b3a4ee44a0685e39e595073c6f0d Author: Kentaro Takeda Date: Wed Dec 17 13:24:15 2008 +0900 introduce new LSM hooks where vfsmount is available. Add new LSM hooks for path-based checks. Call them on directory-modifying operations at the points where we still know the vfsmount involved. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: Al Viro commit 418f19ea17a99421b22a64e101e14b6a16bed66d Merge: 98444d3... f6e10b8... Author: Pierre Ossman Date: Wed Dec 31 19:56:05 2008 +0100 Merge branch 'master' of ../mmc commit f6e10b865c3ea56bdaa8c6ecfee313b997900dbb Author: David Brownell Date: Wed Dec 31 09:50:30 2008 -0800 mmc: warn about voltage mismatches Get rid of a silent failure mode when the MMC/SD host doesn't support the voltages needed to operate a given card, by adding a warning. A 3.3V host and a 3.0V card, for example, no longer need to mysteriously just not work at all. This isn't the best diagnostic; ideally it would also tell what voltage the card and host support (and not just by dumping the bitmasks). Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 9c43df57910bbba540a6cb5c9132302a9ea5f41a Author: Anton Vorontsov Date: Tue Dec 30 18:15:28 2008 +0300 mmc_spi: Add support for OpenFirmware bindings The support is implemented via platform data accessors, new module (of_mmc_spi) will be created automatically when the driver compiles on OpenFirmware platforms. Link-time dependency will load the module automatically. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit c00a46abd4d45a67ff62f4ff6d4f839dff38b877 Author: Vernon Sauder Date: Mon Dec 29 19:21:28 2008 -0500 pxamci: fix dma_unmap_sg length dma_unmap_sg should be given the same length as dma_map_sg, not the value returned from dma_map_sg Signed-off-by: Vernon Sauder Signed-off-by: Pierre Ossman commit 6a79e391df295bd7c2aa1309ea5031f361c197fd Author: Adrian Hunter Date: Wed Dec 31 18:21:17 2008 +0100 mmc_block: ensure all sectors that do not have errors are read If a card encounters an ECC error while reading a sector it will timeout. Instead of reporting the entire I/O request as having an error, redo the I/O one sector at a time so that all readable sectors are provided to the upper layers. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit a0d045cac9bcb3e9a9796d596415f7ffb64852e2 Author: Julia Lawall Date: Tue Dec 16 16:13:09 2008 +0100 drivers/mmc: Move a dereference below a NULL test In each case, 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: Pierre Ossman commit f9134319c81c6c56e0ddf38e7adac2492b243d9b Author: Pierre Ossman Date: Sun Dec 21 17:01:48 2008 +0100 sdhci: handle built-in sdhci with modular leds class As reported by Randy Dunlap, having sdhci built-in and LEDs class as a module resulted in undefined symbols. Change the code to handle that case properly (by not having LEDs class support in sdhci). Signed-off-by: Pierre Ossman commit ca4f10563929b932ed8970fda41a7f99385e4b0b Author: Roel Kluin Date: Sat Dec 13 21:21:33 2008 +0100 mmc: balanc pci_iomap with pci_iounmap balance pci_iomap with pci_iounmap, not iounmap Signed-off-by: Roel Kluin Signed-off-by: Pierre Ossman commit 504f191f25b1671802246bac06c9f59f94f0b7de Author: Adrian Hunter Date: Thu Oct 16 12:55:25 2008 +0300 mmc_block: print better error messages Add command response and card status to error messages. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit 86e8286a0e48663e1e86a5884b30a6d05de2993a Author: Anton Vorontsov Date: Wed Nov 26 22:54:17 2008 +0300 mmc: Add mmc_vddrange_to_ocrmask() helper function This function sets the OCR mask bits according to provided voltage ranges. Will be used by the mmc_spi OpenFirmware bindings. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 0527a60c2b6bd7ab20e82cc5e488659e20eaaacd Author: philipl@overt.org Date: Sun Nov 30 20:27:50 2008 -0500 ricoh_mmc: Handle newer models of Ricoh controllers The latest generation of laptops are shipping with a newer model of Ricoh chip where the firewire controller is the primary PCI function but a cardbus controller is also present. The existing code assumes that if a cardbus controller is, present, then it must be the one to manipulate - but the real rule is that you manipulate PCI function 0. This patch adds an additional constraint that the target must be function 0. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit b30f8af3358b5c66be223e3a9f3d11b3d02b4a8f Author: Jarkko Lavinen Date: Mon Nov 17 14:35:21 2008 +0200 mmc: Add 8-bit bus width support Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 35ff8554d12ecc80a46ea0d9bce34fe28733ff38 Author: Éric Piel Date: Sat Nov 22 19:29:29 2008 +0100 sdhci: activate led support also when module CONFIG_LEDS_CLASS is defined only if led-class is built-in, otherwise when it is a module the option is called CONFIG_LEDS_CLASS_MODULE. Led support should also be activated in this case. Signed-off-by: Eric Piel Signed-off-by: Pierre Ossman commit b7a03210b7b381e06f71751cb9addfae7704489c Author: Harvey Harrison Date: Wed Oct 22 17:09:00 2008 -0700 mmc: trivial annotation of 'blocks' sg_init_one is reading a be32, annotate as such. Signed-off-by: Harvey Harrison Signed-off-by: Pierre Ossman commit 092f82edbe96d0a08e1d10436927e89fa101fe0d Author: Arjan van de Ven Date: Sun Sep 28 16:15:56 2008 -0700 pci: use pci_ioremap_bar() in drivers/mmc Use the new pci_ioremap_bar() function in drivers/mmc. 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: Pierre Ossman commit db200df0b3530f673d8e9f5bd535e9e10305842a Merge: ec270e5... 43a2563... Author: Linus Torvalds Date: Wed Dec 31 09:00:59 2008 -0800 Merge branch 'irq-fixes-for-linus-4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus-4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sparseirq: move __weak symbols into separate compilation unit sparseirq: work around __weak alias bug sparseirq: fix hang with !SPARSE_IRQ sparseirq: set lock_class for legacy irq when sparse_irq is selected sparseirq: work around compiler optimizing away __weak functions sparseirq: fix desc->lock init sparseirq: do not printk when migrating IRQ descriptors sparseirq: remove duplicated arch_early_irq_init() irq: simplify for_each_irq_desc() usage proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c irq: for_each_irq_desc() move to irqnr.h hrtimer: remove #include commit 006948bafece27265dce72d3158b12af3ff67fce Author: Mark Brown Date: Thu Nov 6 10:56:21 2008 +0000 [WATCHDOG] Add support for the WM8350 watchdog This driver implements support for the watchdog functionality provided by the Wolfson Microelectronics WM8350, a multi-function audio and power management subsystem intended for use in embedded systems. It is based on a driver originally written by Graeme Gregory, though it has been extensively modified since then. Use of a GPIO to kick the watchdog is not yet supported. Signed-off-by: Mark Brown Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 4c6e63bd177a28ca9154ae8c1bab00a387c350c4 Author: Wim Van Sebroeck Date: Wed Oct 22 08:59:25 2008 +0000 [WATCHDOG] Add SMSC SCH311x Watchdog Timer. Add a watchdog driver for the hardware watchdog timer on the SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset. Tested-by: Marco Chiappero Signed-off-by: Wim Van Sebroeck commit 794db26f20b7dbb879f4e1911221e1959818dfdb Author: Wim Van Sebroeck Date: Wed Oct 15 11:44:40 2008 +0000 [WATCHDOG] ib700wdt - add timeout parameter Add the timeout module parameter to ib700wdt.c Signed-off-by: Wim Van Sebroeck commit 87917239204d67a316cb89751750f86c9ed3640b Author: Marcelo Tosatti Date: Mon Dec 22 18:49:30 2008 -0200 KVM: MMU: handle large host sptes on invlpg/resync The invlpg and sync walkers lack knowledge of large host sptes, descending to non-existant pagetable level. Stop at directory level in such case. Fixes SMP Windows XP with hugepages. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3f353858c98dbe0240dac558a89870f4600f81bb Author: Avi Kivity Date: Sun Dec 21 22:48:32 2008 +0200 KVM: Add locking to virtual i8259 interrupt controller While most accesses to the i8259 are with the kvm mutex taken, the call to kvm_pic_read_irq() is not. We can't easily take the kvm mutex there since the function is called with interrupts disabled. Fix by adding a spinlock to the virtual interrupt controller. Since we can't send an IPI under the spinlock (we also take the same spinlock in an irq disabled context), we defer the IPI until the spinlock is released. Similarly, we defer irq ack notifications until after spinlock release to avoid lock recursion. Signed-off-by: Avi Kivity commit 25e2343246fe135fce672f41abe61e9d2c38caac Author: Avi Kivity Date: Sun Dec 21 18:31:10 2008 +0200 KVM: MMU: Don't treat a global pte as such if cr4.pge is cleared The pte.g bit is meaningless if global pages are disabled; deferring mmu page synchronization on these ptes will lead to the guest using stale shadow ptes. Fixes Vista x86 smp bootloader failure. Signed-off-by: Avi Kivity commit fe634fd46ff643d98fdbcd153847e08c3c076e6e Author: Xiantao Zhang Date: Wed Dec 17 09:38:14 2008 +0800 MAINTAINERS: Maintainership changes for kvm/ia64 Anthony Xu no longer works on kvm. Cc: "Luck, Tony" Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 042b26edf0bc1b0f03238a71aed71cca4593848c Author: Jes Sorensen Date: Tue Dec 16 16:45:47 2008 +0100 KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs() Fix kvm_arch_vcpu_ioctl_[gs]et_regs() to do something meaningful on ia64. Old versions could never have worked since they required pointers to be set in the ioctl payload which were never being set by the ioctl handler for get_regs. In addition reserve extra space for future extensions. The change of layout of struct kvm_regs doesn't require adding a new CAP since get/set regs never worked on ia64 until now. This version doesn't support copying the KVM kernel stack in/out of the kernel. This should be implemented in a seperate ioctl call if ever needed. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit 4531220b71f0399e71cda0c4cf749e7281a7416a Author: Jan Kiszka Date: Thu Dec 11 16:54:54 2008 +0100 KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI There is no point in doing the ready_for_nmi_injection/ request_nmi_window dance with user space. First, we don't do this for in-kernel irqchip anyway, while the code path is the same as for user space irqchip mode. And second, there is nothing to loose if a pending NMI is overwritten by another one (in contrast to IRQs where we have to save the number). Actually, there is even the risk of raising spurious NMIs this way because the reason for the held-back NMI might already be handled while processing the first one. Therefore this patch creates a simplified user space NMI injection interface, exporting it under KVM_CAP_USER_NMI and dropping the old KVM_CAP_NMI capability. And this time we also take care to provide the interface only on archs supporting NMIs via KVM (right now only x86). Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 264ff01d55b456932cef03082448b41d2edeb6a1 Author: Jan Kiszka Date: Mon Nov 24 12:26:19 2008 +0100 KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip As with the kernel irqchip, don't allow an NMI to stomp over an already injected IRQ; instead wait for the IRQ injection to be completed. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit defaf1587c5d7dff828f6f11c8941e5bcef00f50 Author: Mark McLoughlin Date: Tue Dec 2 12:16:33 2008 +0000 KVM: fix handling of ACK from shared guest IRQ If an assigned device shares a guest irq with an emulated device then we currently interpret an ack generated by the emulated device as originating from the assigned device leading to e.g. "Unbalanced enable for IRQ 4347" from the enable_irq() in kvm_assigned_dev_ack_irq(). The fix is fairly simple - don't enable the physical device irq unless it was previously disabled. Of course, this can still lead to a situation where a non-assigned device ACK can cause the physical device irq to be reenabled before the device was serviced. However, being level sensitive, the interrupt will merely be regenerated. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit eb64f1e8cd5c3cae912db30a77d062367f7a11a6 Author: Marcelo Tosatti Date: Tue Dec 9 16:07:22 2008 +0100 KVM: MMU: check for present pdptr shadow page in walk_shadow walk_shadow assumes the caller verified validity of the pdptr pointer in question, which is not the case for the invlpg handler. Fixes oops during Solaris 10 install. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ca9edaee1aea34ebd9adb48910aba0b3d64b1b22 Author: Avi Kivity Date: Mon Dec 8 18:29:29 2008 +0200 KVM: Consolidate userspace memory capability reporting into common code Signed-off-by: Avi Kivity commit 1a811b6167089bcdb84284f2dc9fd0b4d0f1899d Author: Avi Kivity Date: Mon Dec 8 18:25:27 2008 +0200 KVM: Advertise the bug in memory region destruction as fixed Userspace might need to act differently. Signed-off-by: Avi Kivity commit 7f59f492da722eb3551bbe1f8f4450a21896f05d Author: Rusty Russell Date: Sun Dec 7 21:25:45 2008 +1030 KVM: use cpumask_var_t for cpus_hardware_enabled This changes cpus_hardware_enabled from a cpumask_t to a cpumask_var_t: equivalent for CONFIG_CPUMASKS_OFFSTACK=n, otherwise dynamically allocated. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 6ef7a1bc45f80fe0a263119d404688c596ea5031 Author: Rusty Russell Date: Mon Dec 8 20:28:04 2008 +1030 KVM: use modern cpumask primitives, no cpumask_t on stack We're getting rid on on-stack cpumasks for large NR_CPUS. 1) Use cpumask_var_t/alloc_cpumask_var. 2) smp_call_function_mask -> smp_call_function_many 3) cpus_clear, cpus_empty, cpu_set -> cpumask_clear, cpumask_empty, cpumask_set_cpu. This actually generates slightly smaller code than the old one with CONFIG_CPUMASKS_OFFSTACK=n. (gcc knows that cpus cannot be NULL in that case, where cpumask_var_t is cpumask_t[1]). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 498468961ed6f62a306eb90c49125776c526fa40 Author: Rusty Russell Date: Mon Dec 8 20:26:24 2008 +1030 KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus Avi said: > Wow, code duplication from Rusty. Things must be bad. Something about glass houses comes to mind. But instead, a patch. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3d3aab1b973b01bd2a1aa46307e94a1380b1d802 Author: Christian Borntraeger Date: Tue Dec 2 11:17:32 2008 +0100 KVM: set owner of cpu and vm file operations There is a race between a "close of the file descriptors" and module unload in the kvm module. You can easily trigger this problem by applying this debug patch: >--- kvm.orig/virt/kvm/kvm_main.c >+++ kvm/virt/kvm/kvm_main.c >@@ -648,10 +648,14 @@ void kvm_free_physmem(struct kvm *kvm) > kvm_free_physmem_slot(&kvm->memslots[i], NULL); > } > >+#include > static void kvm_destroy_vm(struct kvm *kvm) > { > struct mm_struct *mm = kvm->mm; > >+ printk("off1\n"); >+ msleep(5000); >+ printk("off2\n"); > spin_lock(&kvm_lock); > list_del(&kvm->vm_list); > spin_unlock(&kvm_lock); and killing the userspace, followed by an rmmod. The problem is that kvm_destroy_vm can run while the module count is 0. That means, you can remove the module while kvm_destroy_vm is running. But kvm_destroy_vm is part of the module text. This causes a kerneloops. The race exists without the msleep but is much harder to trigger. This patch requires the fix for anon_inodes (anon_inodes: use fops->owner for module refcount). With this patch, we can set the owner of all anonymous KVM inodes file operations. The VFS will then control the KVM module refcount as long as there is an open file. kvm_destroy_vm will be called by the release function of the last closed file - before the VFS drops the module refcount. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit e3a2a0d4e5ace731e60e2eff4fb7056ecb34adc1 Author: Christian Borntraeger Date: Tue Dec 2 11:16:03 2008 +0100 anon_inodes: use fops->owner for module refcount There is an imbalance for anonymous inodes. If the fops->owner field is set, the module reference count of owner is decreases on release. ("filp_close" --> "__fput" ---> "fops_put") On the other hand, anon_inode_getfd does not increase the module reference count of owner. This causes two problems: - if owner is set, the module refcount goes negative - if owner is not set, the module can be unloaded while code is running This patch changes anon_inode_getfd to be symmetric regarding fops->owner handling. I have checked all existing users of anon_inode_getfd. Noone sets fops->owner, thats why nobody has seen the module refcount negative. The refcounting was tested with a patched and unpatched KVM module.(see patch 2/2) I also did an epoll_open/close test. Signed-off-by: Christian Borntraeger Reviewed-by: Davide Libenzi Signed-off-by: Avi Kivity commit e93353c93a3ba4215633ce930784f40a4e94e3f9 Author: Eduardo Habkost Date: Fri Dec 5 18:36:45 2008 -0200 x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj kvm_get_tsc_khz() currently returns the previously-calculated preset_lpj value, but it is in loops-per-jiffy, not kHz. The current code works correctly only when HZ=1000. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit ad218f85e388e8ca816ff09d91c246cd014c53a8 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:05 2008 -0200 KVM: MMU: prepopulate the shadow on invlpg If the guest executes invlpg, peek into the pagetable and attempt to prepopulate the shadow entry. Also stop dirty fault updates from interfering with the fork detector. 2% improvement on RHEL3/AIM7. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6cffe8ca4a2adf1ac5003d9cad08fe4434d6eee0 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:04 2008 -0200 KVM: MMU: skip global pgtables on sync due to cr3 switch Skip syncing global pages on cr3 switch (but not on cr4/cr0). This is important for Linux 32-bit guests with PAE, where the kmap page is marked as global. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b1a368218ad5b6e62380c8f206f16e6f18bf154c Author: Marcelo Tosatti Date: Mon Dec 1 22:32:03 2008 -0200 KVM: MMU: collapse remote TLB flushes on root sync Collapse remote TLB flushes on root sync. kernbench is 2.7% faster on 4-way guest. Improvements have been seen with other loads such as AIM7. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 60c8aec6e2c9923492dabbd6b67e34692bd26c20 Author: Marcelo Tosatti Date: Mon Dec 1 22:32:02 2008 -0200 KVM: MMU: use page array in unsync walk Instead of invoking the handler directly collect pages into an array so the caller can work with it. Simplifies TLB flush collapsing. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fbce554e940a983d005e29849636d0ef54b3eb18 Author: Amit Shah Date: Thu Dec 4 11:11:40 2008 +0000 KVM: x86 emulator: Fix handling of VMMCALL instruction The VMMCALL instruction doesn't get recognised and isn't processed by the emulator. This is seen on an Intel host that tries to execute the VMMCALL instruction after a guest live migrates from an AMD host. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 9bf8ea42fe22d7d1c48044148fa658cb9083d49c Author: Guillaume Thouvenin Date: Thu Dec 4 14:30:13 2008 +0100 KVM: x86 emulator: add the emulation of shld and shrd instructions Add emulation of shld and shrd instructions Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit d175226a5f54817ba427368c6b739aefa7780fb2 Author: Guillaume Thouvenin Date: Thu Dec 4 14:29:00 2008 +0100 KVM: x86 emulator: add the assembler code for three operands Add the assembler code for instruction with three operands and one operand is stored in ECX register Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit bfcadf83ec5aafe600e73dd427d997db7bcc1d12 Author: Guillaume Thouvenin Date: Thu Dec 4 14:27:38 2008 +0100 KVM: x86 emulator: add a new "implied 1" Src decode type Add SrcOne operand type when we need to decode an implied '1' like with regular shift instruction Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 0dc8d10f7d848b63c8d32cf6fd31ba7def792ac9 Author: Guillaume Thouvenin Date: Thu Dec 4 14:26:42 2008 +0100 KVM: x86 emulator: add Src2 decode set Instruction like shld has three operands, so we need to add a Src2 decode set. We start with Src2None, Src2CL, and Src2ImmByte, Src2One to support shld/shrd and we will expand it later. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 45ed60b371aeae6ed80f7e9d594a5e6412edc176 Author: Guillaume Thouvenin Date: Thu Dec 4 14:25:38 2008 +0100 KVM: x86 emulator: Extend the opcode descriptor Extend the opcode descriptor to 32 bits. This is needed by the introduction of a new Src2 operand type. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 6f89724829cfd4ad6771a92fd4b8d59c90c7220c Author: Glauber Costa Date: Wed Dec 3 13:40:51 2008 -0200 KVM: Really remove a slot when a user ask us so Right now, KVM does not remove a slot when we do a register ioctl for size 0 (would be the expected behaviour). Instead, we only mark it as empty, but keep all bitmaps and allocated data structures present. It completely nullifies our chances of reusing that same slot again for mapping a different piece of memory. In this patch, we destroy rmaps, and vfree() the pointers that used to hold the dirty bitmap, rmap and lpage_info structures. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 7b7015914b30ad8d9136d41412c5129b9bc9af70 Author: Hollis Blanchard Date: Tue Dec 2 15:51:58 2008 -0600 KVM: ppc: mostly cosmetic updates to the exit timing accounting code The only significant changes were to kvmppc_exit_timing_write() and kvmppc_exit_timing_show(), both of which were dramatically simplified. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 73e75b416ffcfa3a84952d8e389a0eca080f00e1 Author: Hollis Blanchard Date: Tue Dec 2 15:51:57 2008 -0600 KVM: ppc: Implement in-kernel exit timing statistics Existing KVM statistics are either just counters (kvm_stat) reported for KVM generally or trace based aproaches like kvm_trace. For KVM on powerpc we had the need to track the timings of the different exit types. While this could be achieved parsing data created with a kvm_trace extension this adds too much overhead (at least on embedded PowerPC) slowing down the workloads we wanted to measure. Therefore this patch adds a in-kernel exit timing statistic to the powerpc kvm code. These statistic is available per vm&vcpu under the kvm debugfs directory. As this statistic is low, but still some overhead it can be enabled via a .config entry and should be off by default. Since this patch touched all powerpc kvm_stat code anyway this code is now merged and simplified together with the exit timing statistic code (still working with exit timing disabled in .config). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c5fbdffbda79254047ec83b09c1a61a3655d052a Author: Hollis Blanchard Date: Tue Dec 2 15:51:56 2008 -0600 KVM: ppc: save and restore guest mappings on context switch Store shadow TLB entries in memory, but only use it on host context switch (instead of every guest entry). This improves performance for most workloads on 440 by reducing the guest TLB miss rate. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 7924bd41097ae8991c6d38cef8b1e4058e30d198 Author: Hollis Blanchard Date: Tue Dec 2 15:51:55 2008 -0600 KVM: ppc: directly insert shadow mappings into the hardware TLB Formerly, we used to maintain a per-vcpu shadow TLB and on every entry to the guest would load this array into the hardware TLB. This consumed 1280 bytes of memory (64 entries of 16 bytes plus a struct page pointer each), and also required some assembly to loop over the array on every entry. Instead of saving a copy in memory, we can just store shadow mappings directly into the hardware TLB, accepting that the host kernel will clobber these as part of the normal 440 TLB round robin. When we do that we need less than half the memory, and we have decreased the exit handling time for all guest exits, at the cost of increased number of TLB misses because the host overwrites some guest entries. These savings will be increased on processors with larger TLBs or which implement intelligent flush instructions like tlbivax (which will avoid the need to walk arrays in software). In addition to that and to the code simplification, we have a greater chance of leaving other host userspace mappings in the TLB, instead of forcing all subsequent tasks to re-fault all their mappings. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c0ca609c5f874f7d6ae8e180afe79317e1943d22 Author: Hollis Blanchard Date: Tue Dec 2 15:51:54 2008 -0600 powerpc/44x: declare tlb_44x_index for use in C code KVM currently ignores the host's round robin TLB eviction selection, instead maintaining its own TLB state and its own round robin index. However, by participating in the normal 44x TLB selection, we can drop the alternate TLB processing in KVM. This results in a significant performance improvement, since that processing currently must be done on *every* guest exit. Accordingly, KVM needs to be able to access and increment tlb_44x_index. (KVM on 440 cannot be a module, so there is no need to export this symbol.) Signed-off-by: Hollis Blanchard Acked-by: Josh Boyer Signed-off-by: Avi Kivity commit 891686188f69d330f7eeeec8e6642ccfb7453106 Author: Hollis Blanchard Date: Tue Dec 2 15:51:53 2008 -0600 KVM: ppc: support large host pages KVM on 440 has always been able to handle large guest mappings with 4K host pages -- we must, since the guest kernel uses 256MB mappings. This patch makes KVM work when the host has large pages too (tested with 64K). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 4a643be8c9b8d3c1ae8f5ccd377daaa85bd57e0c Author: Mark McLoughlin Date: Mon Dec 1 13:57:49 2008 +0000 KVM: split out kvm_free_assigned_irq() Split out the logic corresponding to undoing assign_irq() and clean it up a bit. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 61552367b2ce5e9bea6b6af670ec80aea386f34e Author: Mark McLoughlin Date: Mon Dec 1 13:57:48 2008 +0000 KVM: add KVM_USERSPACE_IRQ_SOURCE_ID assertions Make sure kvm_request_irq_source_id() never returns KVM_USERSPACE_IRQ_SOURCE_ID. Likewise, check that kvm_free_irq_source_id() never accepts KVM_USERSPACE_IRQ_SOURCE_ID. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit f29b2673d3fc7ae38ec22922e9cdc75ee37386b5 Author: Mark McLoughlin Date: Mon Dec 1 13:57:47 2008 +0000 KVM: don't free an unallocated irq source id Set assigned_dev->irq_source_id to -1 so that we can avoid freeing a source ID which we never allocated. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit fdd897e6b5253a45b633f7d334cf3e150bbaf386 Author: Mark McLoughlin Date: Mon Dec 1 13:57:46 2008 +0000 KVM: make kvm_unregister_irq_ack_notifier() safe We never pass a NULL notifier pointer here, but we may well pass a notifier struct which hasn't previously been registered. Guard against this by using hlist_del_init() which will not do anything if the node hasn't been added to the list and, when removing the node, will ensure that a subsequent call to hlist_del_init() will be fine too. Fixes an oops seen when an assigned device is freed before and IRQ is assigned to it. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 844c7a9ff404d8fc88bb77b06461644621d2c985 Author: Mark McLoughlin Date: Mon Dec 1 13:57:45 2008 +0000 KVM: remove the IRQ ACK notifier assertions We will obviously never pass a NULL struct kvm_irq_ack_notifier* to this functions. They are always embedded in the assigned device structure, so the assertion add nothing. The irqchip_in_kernel() assertion is very out of place - clearly this little abstraction needs to know nothing about the upper layer details. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit efff9e538f6bfa8ee2ca03f7e9a55d98df115186 Author: Hannes Eder Date: Fri Nov 28 17:02:06 2008 +0100 KVM: VMX: fix sparse warning Impact: make global function static arch/x86/kvm/vmx.c:134:3: warning: symbol 'vmx_capability' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit e8ba5d311d0c4420e84f40ff50f83981f5864a9a Author: Hannes Eder Date: Fri Nov 28 17:02:42 2008 +0100 KVM: fix sparse warning Impact: make global function static virt/kvm/kvm_main.c:85:6: warning: symbol 'kvm_rebooting' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit f3fd92fbdb7663bd889c136842afc3851351ea8f Author: Avi Kivity Date: Sat Nov 29 20:38:12 2008 +0200 KVM: Remove extraneous semicolon after do/while Notices by Guillaume Thouvenin. Signed-off-by: Avi Kivity commit 2b48cc75b21431037d6f902b9d583b1aff198490 Author: Avi Kivity Date: Sat Nov 29 20:36:13 2008 +0200 KVM: x86 emulator: fix popf emulation Set operand type and size to get correct writeback behavior. Signed-off-by: Avi Kivity commit cf5de4f886116871c2ae2eee53524edd741a68ae Author: Avi Kivity Date: Fri Nov 28 00:14:07 2008 +0200 KVM: x86 emulator: fix ret emulation 'ret' did not set the operand type or size for the destination, so writeback ignored it. Signed-off-by: Avi Kivity commit 8a09b6877f3100207b3572e7e12ea796493fe914 Author: Avi Kivity Date: Thu Nov 27 18:06:33 2008 +0200 KVM: x86 emulator: switch 'pop reg' instruction to emulate_pop() Signed-off-by: Avi Kivity commit 781d0edc5fc5cfe7491a0c5081734e62f6dc66ee Author: Avi Kivity Date: Thu Nov 27 18:00:28 2008 +0200 KVM: x86 emulator: allow pop from mmio Signed-off-by: Avi Kivity commit faa5a3ae39483aefc46a78299c811194f953af27 Author: Avi Kivity Date: Thu Nov 27 17:36:41 2008 +0200 KVM: x86 emulator: Extract 'pop' sequence into a function Switch 'pop r/m' instruction to use the new function. Signed-off-by: Avi Kivity commit b82091824ee4970adf92d5cd6d57b12273171625 Author: Wu Fengguang Date: Wed Nov 26 19:59:06 2008 +0800 KVM: Prevent trace call into unloaded module text Add marker_synchronize_unregister() before module unloading. This prevents possible trace calls into unloaded module text. Signed-off-by: Wu Fengguang Signed-off-by: Avi Kivity commit 6692cef30b7caf7525ae99670cddbaf28f1f9d40 Author: Christian Borntraeger Date: Wed Nov 26 14:51:08 2008 +0100 KVM: s390: Fix memory leak of vcpu->run The s390 backend of kvm never calls kvm_vcpu_uninit. This causes a memory leak of vcpu->run pages. Lets call kvm_vcpu_uninit in kvm_arch_vcpu_destroy to free the vcpu->run. Signed-off-by: Christian Borntraeger Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d329c035e754156ffabcb64ff75d05bb8e2ddbf5 Author: Christian Borntraeger Date: Wed Nov 26 14:50:27 2008 +0100 KVM: s390: Fix refcounting and allow module unload Currently it is impossible to unload the kvm module on s390. This patch fixes kvm_arch_destroy_vm to release all cpus. This make it possible to unload the module. In addition we stop messing with the module refcount in arch code. Signed-off-by: Christian Borntraeger Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 6b7ad61ffb9ca110add6f7fb36cc8a4dd89696a4 Author: Avi Kivity Date: Wed Nov 26 15:30:45 2008 +0200 KVM: x86 emulator: consolidate emulation of two operand instructions No need to repeat the same assembly block over and over. Signed-off-by: Avi Kivity commit dda96d8f1b3de692cce09969ce28fe22e58e5acf Author: Avi Kivity Date: Wed Nov 26 15:14:10 2008 +0200 KVM: x86 emulator: reduce duplication in one operand emulation thunks Signed-off-by: Avi Kivity commit ecc5589f19a52e7e6501fe449047b19087ae11bb Author: Marcelo Tosatti Date: Tue Nov 25 15:58:07 2008 +0100 KVM: MMU: optimize set_spte for page sync The write protect verification in set_spte is unnecessary for page sync. Its guaranteed that, if the unsync spte was writable, the target page does not have a write protected shadow (if it had, the spte would have been write protected under mmu_lock by rmap_write_protect before). Same reasoning applies to mark_page_dirty: the gfn has been marked as dirty via the pagefault path. The cost of hash table and memslot lookups are quite significant if the workload is pagetable write intensive resulting in increased mmu_lock contention. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5319c662522db8995ff9276ba9d80549c64b294a Author: Sheng Yang Date: Mon Nov 24 14:32:57 2008 +0800 KVM: MSI to INTx translate Now we use MSI as default one, and translate MSI to INTx when guest need INTx rather than MSI. For legacy device, we provide support for non-sharing host IRQ. Provide a parameter msi2intx for this method. The value is true by default in x86 architecture. We can't guarantee this mode can work on every device, but for most of us tested, it works. If your device encounter some trouble with this mode, you can try set msi2intx modules parameter to 0. If the device is OK with msi2intx=0, then please report it to KVM mailing list or me. We may prepare a blacklist for the device that can't work in this mode. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 6b9cc7fd469869bed38831c5adac3f59dc25eaf5 Author: Sheng Yang Date: Mon Nov 24 14:32:56 2008 +0800 KVM: Enable MSI for device assignment We enable guest MSI and host MSI support in this patch. The userspace want to enable MSI should set KVM_DEV_IRQ_ASSIGN_ENABLE_MSI in the assigned_irq's flag. Function would return -ENOTTY if can't enable MSI, userspace shouldn't set MSI Enable bit when KVM_ASSIGN_IRQ return -ENOTTY with KVM_DEV_IRQ_ASSIGN_ENABLE_MSI. Userspace can tell the support of MSI device from #ifdef KVM_CAP_DEVICE_MSI. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit f64769eb05565c74d7fce6fa75d65924f9cdaf79 Author: Sheng Yang Date: Mon Nov 24 14:32:55 2008 +0800 KVM: Add assigned_device_msi_dispatch() The function is used to dispatch MSI to lapic according to MSI message address and message data. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 68b76f51675809c8ce200a86276c3c7266f17a64 Author: Sheng Yang Date: Mon Nov 24 14:32:54 2008 +0800 KVM: Export ioapic_get_delivery_bitmask It would be used for MSI in device assignment, for MSI dispatch. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 0937c48d075ddd59ae2c12a6fa8308b9c7a63753 Author: Sheng Yang Date: Mon Nov 24 14:32:53 2008 +0800 KVM: Add fields for MSI device assignment Prepared for kvm_arch_assigned_device_msi_dispatch(). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit fbac7818d8fba7e1df9f4b209777f3b67b953dd3 Author: Sheng Yang Date: Mon Nov 24 14:32:52 2008 +0800 KVM: Clean up assigned_device_update_irq Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 4f906c19ae29397409bedabf7bbe5cb42ad90332 Author: Sheng Yang Date: Mon Nov 24 14:32:51 2008 +0800 KVM: Replace irq_requested with more generic irq_requested_type Separate guest irq type and host irq type, for we can support guest using INTx with host using MSI (but not opposite combination). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 00e3ed39e2e25ffb3417ce1bec8f4b78ed4b85e7 Author: Sheng Yang Date: Mon Nov 24 14:32:50 2008 +0800 KVM: Separate update irq to a single function Separate INTx enabling part to a independence function, so that we can add MSI enabling part easily. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 342ffb93006e537fb8cb215b923ce69943a1e820 Author: Sheng Yang Date: Mon Nov 24 14:32:49 2008 +0800 KVM: Move ack notifier register and IRQ sourcd ID request Distinguish common part for device assignment and INTx part, perparing for refactor later. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 423cd25a5ade17b8a5cc85e6f0a0f37028d2c4a2 Author: Glauber Costa Date: Mon Nov 24 15:45:23 2008 -0200 x86: KVM guest: sign kvmclock as paravirt Currently, we only set the KVM paravirt signature in case of CONFIG_KVM_GUEST. However, it is possible to have it turned off, while CONFIG_KVM_CLOCK is turned on. This is also a paravirt case, and should be shown accordingly. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit df203ec9a77a7236cb90456664d714423b98a977 Author: Avi Kivity Date: Sun Nov 23 18:08:57 2008 +0200 KVM: VMX: Conditionally request interrupt window after injecting irq If we're injecting an interrupt, and another one is pending, request an interrupt window notification so we don't have excess latency on the second interrupt. This shouldn't happen in practice since an EOI will be issued, giving a second chance to request an interrupt window, but... Signed-off-by: Avi Kivity commit 8fe0736763a07fbea56213ea105a0c2ee098e6fc Author: Xiantao Zhang Date: Fri Nov 21 21:04:37 2008 +0800 KVM: ia64: Clean up vmm_ivt.S using tab to indent every line Using tab for indentation for vmm_ivt.S. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 9f7d5bb5e2abf5316bb17eb3e7751dbafa09e5cf Author: Xiantao Zhang Date: Fri Nov 21 17:16:07 2008 +0800 KVM: ia64: Add handler for crashed vmm Since vmm runs in an isolated address space and it is just a copy of host's kvm-intel module, so once vmm crashes, we just crash all guests running on it instead of crashing whole kernel. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 5e2be19832ccf93bf731a1758ec9fabf48414584 Author: Xiantao Zhang Date: Fri Nov 21 10:46:12 2008 +0800 KVM: ia64: Add some debug points to provide crash infomation Use printk infrastructure to print out some debug info once VM crashes. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 7d637978151511148912fe2ea2bac9f9c64f5c35 Author: Xiantao Zhang Date: Fri Nov 21 20:58:11 2008 +0800 KVM: ia64: Define printk function for kvm-intel module kvm-intel module is relocated to an isolated address space with kernel, so it can't call host kernel's printk for debug purpose. In the module, we implement the printk to output debug info of vmm. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit d176720d34c72f7a8474a12204add93e54fe3ef1 Author: Eduardo Habkost Date: Mon Nov 17 19:03:24 2008 -0200 x86: disable VMX on all CPUs on reboot On emergency_restart, we may need to use an NMI to disable virtualization on all CPUs. We do that using nmi_shootdown_cpus() if VMX is enabled. Note: With this patch, we will run the NMI stuff only when the CPU where emergency_restart() was called has VMX enabled. This should work on most cases because KVM enables VMX on all CPUs, but we may miss the small window where KVM is doing that. Also, I don't know if all code using VMX out there always enable VMX on all CPUs like KVM does. We have two other alternatives for that: a) Have an API that all code that enables VMX on any CPU should use to tell the kernel core that it is going to enable VMX on the CPUs. b) Always call nmi_shootdown_cpus() if the CPU supports VMX. This is a bit intrusive and more risky, as it would run nmi_shootdown_cpus() on emergency_reboot() even on systems where virtualization is never enabled. Finding a proper point to hook the nmi_shootdown_cpus() call isn't trivial, as the non-emergency machine_restart() (that doesn't need the NMI tricks) uses machine_emergency_restart() directly. The solution to make this work without adding a new function or argument to machine_ops was setting a 'reboot_emergency' flag that tells if native_machine_emergency_restart() needs to do the virt cleanup or not. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 2340b62f77c782c305e6ae7748675a638436d1ef Author: Eduardo Habkost Date: Mon Nov 17 19:03:23 2008 -0200 kdump: forcibly disable VMX and SVM on machine_crash_shutdown() We need to disable virtualization extensions on all CPUs before booting the kdump kernel, otherwise the kdump kernel booting will fail, and rebooting after the kdump kernel did its task may also fail. We do it using cpu_emergency_vmxoff() and cpu_emergency_svm_disable(), that should always work, because those functions check if the CPUs support SVM or VMX before doing their tasks. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 0f3e9eeba0ea212bbea88790729d054b700ab91e Author: Eduardo Habkost Date: Mon Nov 17 19:03:22 2008 -0200 x86: cpu_emergency_svm_disable() function This function can be used by the reboot or kdump code to forcibly disable SVM on the CPU. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 2c8dceebb238680d5577500f8283397d41ca5590 Author: Eduardo Habkost Date: Mon Nov 17 19:03:21 2008 -0200 KVM: SVM: move svm_hardware_disable() code to asm/virtext.h Create cpu_svm_disable() function. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 63d1142f8f69e39468bc6079ab2239e902828134 Author: Eduardo Habkost Date: Mon Nov 17 19:03:20 2008 -0200 KVM: SVM: move has_svm() code to asm/virtext.h Use a trick to keep the printk()s on has_svm() working as before. gcc will take care of not generating code for the 'msg' stuff when the function is called with a NULL msg argument. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6aa07a0d77f6aafbe69e4e8609ffaf2b7ee1b591 Author: Eduardo Habkost Date: Mon Nov 17 19:03:19 2008 -0200 x86: cpu_emergency_vmxoff() function Add cpu_emergency_vmxoff() and its friends: cpu_vmx_enabled() and __cpu_emergency_vmxoff(). Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 710ff4a855d0f3bf74b5b4a20328e2858a8a2968 Author: Eduardo Habkost Date: Mon Nov 17 19:03:18 2008 -0200 KVM: VMX: extract kvm_cpu_vmxoff() from hardware_disable() Along with some comments on why it is different from the core cpu_vmxoff() function. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 1e9931146c748420343aeefadb3bb17bd1c14a37 Author: Eduardo Habkost Date: Mon Nov 17 19:03:17 2008 -0200 x86: asm/virtext.h: add cpu_vmxoff() inline function Unfortunately we can't use exactly the same code from vmx hardware_disable(), because the KVM function uses the __kvm_handle_fault_on_reboot() tricks. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6210e37b122583643da335c0389f74098713e5ca Author: Eduardo Habkost Date: Mon Nov 17 19:03:16 2008 -0200 KVM: VMX: move cpu_has_kvm_support() to an inline on asm/virtext.h It will be used by core code on kdump and reboot, to disable vmx if needed. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit eca70fc5671b226966dfb7ee9953d59199288566 Author: Eduardo Habkost Date: Mon Nov 17 19:03:15 2008 -0200 KVM: VMX: move ASM_VMX_* definitions from asm/kvm_host.h to asm/vmx.h Those definitions will be used by code outside KVM, so move it outside of a KVM-specific source file. Those definitions are used only on kvm/vmx.c, that already includes asm/vmx.h, so they can be moved safely. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit c2cedf7be2017e3264c93a4c0d75b1d96d0d7104 Author: Eduardo Habkost Date: Mon Nov 17 19:03:14 2008 -0200 KVM: SVM: move svm.h to include/asm svm.h will be used by core code that is independent of KVM, so I am moving it outside the arch/x86/kvm directory. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 13673a90f1cf88296f726265cc7cf3ec76ecba30 Author: Eduardo Habkost Date: Mon Nov 17 19:03:13 2008 -0200 KVM: VMX: move vmx.h to include/asm vmx.h will be used by core code that is independent of KVM, so I am moving it outside the arch/x86/kvm directory. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit fe4e771d5c37f0949047faf95d16a512b21406bf Author: Hollis Blanchard Date: Mon Nov 10 14:57:36 2008 -0600 KVM: ppc: fix userspace mapping invalidation on context switch We used to defer invalidating userspace TLB entries until jumping out of the kernel. This was causing MMU weirdness most easily triggered by using a pipe in the guest, e.g. "dmesg | tail". I believe the problem was that after the guest kernel changed the PID (part of context switch), the old process's mappings were still present, and so copy_to_user() on the "return to new process" path ended up using stale mappings. Testing with large pages (64K) exposed the problem, probably because with 4K pages, pressure on the TLB faulted all process A's mappings out before the guest kernel could insert any for process B. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit df9b856c454e331bc394c80903fcdea19cae2a33 Author: Hollis Blanchard Date: Mon Nov 10 14:57:35 2008 -0600 KVM: ppc: use prefetchable mappings for guest memory Bare metal Linux on 440 can "overmap" RAM in the kernel linear map, so that it can use large (256MB) mappings even if memory isn't a multiple of 256MB. To prevent the hardware prefetcher from loading from an invalid physical address through that mapping, it's marked Guarded. However, KVM must ensure that all guest mappings are backed by real physical RAM (since a deliberate access through a guarded mapping could still cause a machine check). Accordingly, we don't need to make our mappings guarded, so let's allow prefetching as the designers intended. Curiously this patch didn't affect performance at all on the quick test I tried, but it's clearly the right thing to do anyways and may improve other workloads. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit bf5d4025c9fe8a64c5905c00bf4292319d634903 Author: Hollis Blanchard Date: Mon Nov 10 14:57:34 2008 -0600 KVM: ppc: use MMUCR accessor to obtain TID We have an accessor; might as well use it. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit e7cacd40d20849f69c908f1290c714145073685a Author: Sheng Yang Date: Tue Nov 11 15:30:40 2008 +0800 KVM: Fix kernel allocated memory slot Commit 7fd49de9773fdcb7b75e823b21c1c5dc1e218c14 "KVM: ensure that memslot userspace addresses are page-aligned" broke kernel space allocated memory slot, for the userspace_addr is invalid. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 30ed5bb685ab03c9bdf812502900b65087d61490 Author: Xiantao Zhang Date: Fri Oct 24 11:47:57 2008 +0800 KVM: ia64: Remove some macro definitions in asm-offsets.c. Use kernel's corresponding macro instead. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 74ef740da64fd82a14dbab6d7f43d798ecc1b6cc Author: Hollis Blanchard Date: Fri Nov 7 13:15:13 2008 -0600 KVM: ppc: fix Kconfig constraints Make sure that CONFIG_KVM cannot be selected without processor support (currently, 440 is the only processor implementation available). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 78749809222be5083e21bfe697b44ab797e5c0a8 Author: Hollis Blanchard Date: Fri Nov 7 13:32:12 2008 -0600 KVM: ensure that memslot userspace addresses are page-aligned Bad page translation and silent guest failure ensue if the userspace address is not page-aligned. I hit this problem using large (host) pages with qemu, because qemu currently has a hardcoded 4096-byte alignment for guest memory allocations. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 0fdf8e59faa5c60e9d77c8e14abe3a0f8bfcf586 Author: Nitin A Kamble Date: Wed Nov 5 15:56:21 2008 -0800 KVM: Fix cpuid iteration on multiple leaves per eac The code to traverse the cpuid data array list for counting type of leaves is currently broken. This patches fixes the 2 things in it. 1. Set the 1st counting entry's flag KVM_CPUID_FLAG_STATE_READ_NEXT. Without it the code will never find a valid entry. 2. Also the stop condition in the for loop while looking for the next unflaged entry is broken. It needs to stop when it find one matching entry; and in the case of count of 1, it will be the same entry found in this iteration. Signed-Off-By: Nitin A Kamble Signed-off-by: Avi Kivity commit 0853d2c1d849ef69884d2447d90d04007590b72b Author: Nitin A Kamble Date: Wed Nov 5 15:37:36 2008 -0800 KVM: Fix cpuid leaf 0xb loop termination For cpuid leaf 0xb the bits 8-15 in ECX register define the end of counting leaf. The previous code was using bits 0-7 for this purpose, which is a bug. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit fcfdbd266a41d3e41d17666de410a24995fde03a Author: Hollis Blanchard Date: Wed Nov 5 09:36:24 2008 -0600 KVM: ppc: improve trap emulation set ESR[PTR] when emulating a guest trap. This allows Linux guests to properly handle WARN_ON() (i.e. detect that it's a non-fatal trap). Also remove debugging printk in trap emulation. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d4cf3892e50b8e35341086a4fe2bb8a3989b55d4 Author: Hollis Blanchard Date: Wed Nov 5 09:36:23 2008 -0600 KVM: ppc: optimize irq delivery path In kvmppc_deliver_interrupt is just one case left in the switch and it is a rare one (less than 8%) when looking at the exit numbers. Therefore we can at least drop the switch/case and if an if. I inserted an unlikely too, but that's open for discussion. In kvmppc_can_deliver_interrupt all frequent cases are in the default case. I know compilers are smart but we can make it easier for them. By writing down all options and removing the default case combined with the fact that ithe values are constants 0..15 should allow the compiler to write an easy jump table. Modifying kvmppc_can_deliver_interrupt pointed me to the fact that gcc seems to be unable to reduce priority_exception[x] to a build time constant. Therefore I changed the usage of the translation arrays in the interrupt delivery path completely. It is now using priority without translation to irq on the full irq delivery path. To be able to do that ivpr regs are stored by their priority now. Additionally the decision made in kvmppc_can_deliver_interrupt is already sufficient to get the value of interrupt_msr_mask[x]. Therefore we can replace the 16x4byte array used here with a single 4byte variable (might still be one miss, but the chance to find this in cache should be better than the right entry of the whole array). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 9ab80843c01ac25139e635d018467e528729a317 Author: Hollis Blanchard Date: Wed Nov 5 09:36:22 2008 -0600 KVM: ppc: optimize find first bit Since we use a unsigned long here anyway we can use the optimized __ffs. Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 1b6766c7f3533c5d03668e11dd5617ae4a52e5a8 Author: Hollis Blanchard Date: Wed Nov 5 09:36:21 2008 -0600 KVM: ppc: optimize kvm stat handling Currently we use an unnecessary if&switch to detect some cases. To be honest we don't need the ligh_exits counter anyway, because we can calculate it out of others. Sum_exits can also be calculated, so we can remove that too. MMIO, DCR and INTR can be counted on other places without these additional control structures (The INTR case was never hit anyway). The handling of BOOKE_INTERRUPT_EXTERNAL/BOOKE_INTERRUPT_DECREMENTER is similar, but we can avoid the additional if when copying 3 lines of code. I thought about a goto there to prevent duplicate lines, but rewriting three lines should be better style than a goto cross switch/case statements (its also not enough code to justify a new inline function). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit b8fd68ac8db1f926fdb2c7f196598a279461de53 Author: Hollis Blanchard Date: Wed Nov 5 09:36:20 2008 -0600 KVM: ppc: fix set regs to take care of msr change When changing some msr bits e.g. problem state we need to take special care of that. We call the function in our mtmsr emulation (not needed for wrtee[i]), but we don't call kvmppc_set_msr if we change msr via set_regs ioctl. It's a corner case we never hit so far, but I assume it should be kvmppc_set_msr in our arch set regs function (I found it because it is also a corner case when using pv support which would miss the update otherwise). Signed-off-by: Christian Ehrhardt Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5cf8ca22146fa106f3bb865631ec04f5b499508f Author: Hollis Blanchard Date: Wed Nov 5 09:36:19 2008 -0600 KVM: ppc: adjust vcpu types to support 64-bit cores However, some of these fields could be split into separate per-core structures in the future. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit db93f5745d836f81cef0b4101a7c2685eeb55efb Author: Hollis Blanchard Date: Wed Nov 5 09:36:18 2008 -0600 KVM: ppc: create struct kvm_vcpu_44x and introduce container_of() accessor This patch doesn't yet move all 44x-specific data into the new structure, but is the first step down that path. In the future we may also want to create a struct kvm_vcpu_booke. Based on patch from Liu Yu . Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5cbb5106f50b4515815cd32cf944958c0d4da83f Author: Hollis Blanchard Date: Wed Nov 5 09:36:17 2008 -0600 KVM: ppc: Move the last bits of 44x code out of booke.c Needed to port to other Book E processors. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 75f74f0dbe086c239b4b0cc5ed75b903ea3e663f Author: Hollis Blanchard Date: Wed Nov 5 09:36:16 2008 -0600 KVM: ppc: refactor instruction emulation into generic and core-specific pieces Cores provide 3 emulation hooks, implemented for example in the new 4xx_emulate.c: kvmppc_core_emulate_op kvmppc_core_emulate_mtspr kvmppc_core_emulate_mfspr Strictly speaking the last two aren't necessary, but provide for more informative error reporting ("unknown SPR"). Long term I'd like to have instruction decoding autogenerated from tables of opcodes, and that way we could aggregate universal, Book E, and core-specific instructions more easily and without redundant switch statements. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c381a04313e7c0fb04246b1ff711e0b5726de6c0 Author: Hollis Blanchard Date: Wed Nov 5 09:36:15 2008 -0600 ppc: Create disassemble.h to extract instruction fields This is used in a couple places in KVM, but isn't KVM-specific. However, this patch doesn't modify other in-kernel emulation code: - xmon uses a direct copy of ppc_opc.c from binutils - emulate_instruction() doesn't need it because it can use a series of mask tests. Signed-off-by: Hollis Blanchard Acked-by: Paul Mackerras Signed-off-by: Avi Kivity commit 9dd921cfea734409a931ccc6eafd7f09850311e9 Author: Hollis Blanchard Date: Wed Nov 5 09:36:14 2008 -0600 KVM: ppc: Refactor powerpc.c to relocate 440-specific code This introduces a set of core-provided hooks. For 440, some of these are implemented by booke.c, with the rest in (the new) 44x.c. Note that these hooks are link-time, not run-time. Since it is not possible to build a single kernel for both e500 and 440 (for example), using function pointers would only add overhead. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d9fbd03d240380826c0ec16f927242be24ff6265 Author: Hollis Blanchard Date: Wed Nov 5 09:36:13 2008 -0600 KVM: ppc: combine booke_guest.c and booke_host.c The division was somewhat artificial and cumbersome, and had no functional benefit anyways: we can only guests built for the real host processor. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 0f55dc481ea5c4f87fc0161cb1b8c6e2cafae8fc Author: Hollis Blanchard Date: Wed Nov 5 09:36:12 2008 -0600 KVM: ppc: Rename "struct tlbe" to "struct kvmppc_44x_tlbe" This will ease ports to other cores. Also remove unused "struct kvm_tlb" while we're at it. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit a0d7b9f246074fab1f42678d203ef4ba281505f2 Author: Hollis Blanchard Date: Wed Nov 5 09:36:11 2008 -0600 KVM: ppc: Move 440-specific TLB code into 44x_tlb.c This will make it easier to provide implementations for other cores. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 2843099fee32a6020e1caa95c6026f28b5d43bff Author: Izik Eidus Date: Fri Oct 3 17:40:32 2008 +0300 KVM: MMU: Fix aliased gfns treated as unaliased Some areas of kvm x86 mmu are using gfn offset inside a slot without unaliasing the gfn first. This patch makes sure that the gfn will be unaliased and add gfn_to_memslot_unaliased() to save the calculating of the gfn unaliasing in case we have it unaliased already. Signed-off-by: Izik Eidus Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6eb55818c043b097c83828da8430fcb9a02fdb89 Author: Sheng Yang Date: Fri Oct 31 12:37:41 2008 +0800 KVM: Enable Function Level Reset for assigned device Ideally, every assigned device should in a clear condition before and after assignment, so that the former state of device won't affect later work. Some devices provide a mechanism named Function Level Reset, which is defined in PCI/PCI-e document. We should execute it before and after device assignment. (But sadly, the feature is new, and most device on the market now don't support it. We are considering using D0/D3hot transmit to emulate it later, but not that elegant and reliable as FLR itself.) [Update: Reminded by Xiantao, execute FLR after we ensure that the device can be assigned to the guest.] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 853dafb62b386a3a75808483a120998e734eb6e1 Author: Xiantao Zhang Date: Thu Oct 23 15:03:38 2008 +0800 KVM: ia64: Remove lock held by halted vcpu Remove the lock protection for kvm halt logic, otherwise, once other vcpus want to acquire the lock, and they have to wait all vcpus are waken up from halt. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit a917f7af3905953329361d29b6db78eb17b4d44c Author: Xiantao Zhang Date: Thu Oct 23 14:56:44 2008 +0800 KVM: ia64: Re-organize data sturure of guests' data area 1. Increase the size of data area to 64M 2. Support more vcpus and memory, 128 vcpus and 256G memory are supported for guests. 3. Add the boundary check for memory and vcpu allocation. With this patch, kvm guest's data area looks as follow: * * +----------------------+ ------- KVM_VM_DATA_SIZE * | vcpu[n]'s data | | ___________________KVM_STK_OFFSET * | | | / | * | .......... | | /vcpu's struct&stack | * | .......... | | /---------------------|---- 0 * | vcpu[5]'s data | | / vpd | * | vcpu[4]'s data | |/-----------------------| * | vcpu[3]'s data | / vtlb | * | vcpu[2]'s data | /|------------------------| * | vcpu[1]'s data |/ | vhpt | * | vcpu[0]'s data |____________________________| * +----------------------+ | * | memory dirty log | | * +----------------------+ | * | vm's data struct | | * +----------------------+ | * | | | * | | | * | | | * | | | * | | | * | | | * | | | * | vm's p2m table | | * | | | * | | | * | | | | * vm's data->| | | | * +----------------------+ ------- 0 * To support large memory, needs to increase the size of p2m. * To support more vcpus, needs to ensure it has enough space to * hold vcpus' data. */ Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 1d5a4d9b92028d9fe77da34037bd5a1ebfecc733 Author: Guillaume Thouvenin Date: Wed Oct 29 09:39:42 2008 +0100 KVM: VMX: Handle mmio emulation when guest state is invalid If emulate_invalid_guest_state is enabled, the emulator is called when guest state is invalid. Until now, we reported an mmio failure when emulate_instruction() returned EMULATE_DO_MMIO. This patch adds the case where emulate_instruction() failed and an MMIO emulation is needed. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit e93f36bcfaa9e899c595e1c446c784a69021854a Author: Guillaume Thouvenin Date: Tue Oct 28 10:51:30 2008 +0100 KVM: allow emulator to adjust rip for emulated pio instructions If we call the emulator we shouldn't call skip_emulated_instruction() in the first place, since the emulator already computes the next rip for us. Thus we move ->skip_emulated_instruction() out of kvm_emulate_pio() and into handle_io() (and the svm equivalent). We also replaced "return 0" by "break" in the "do_io:" case because now the shadow register state needs to be committed. Otherwise eip will never be updated. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit c0d09828c870f90c6bc72070ada281568f89c63b Author: Amit Shah Date: Mon Oct 27 09:04:18 2008 +0000 KVM: SVM: Set the 'busy' flag of the TR selector The busy flag of the TR selector is not set by the hardware. This breaks migration from amd hosts to intel hosts. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 25022acc3dd5f0b54071c7ba7c371860f2971b52 Author: Amit Shah Date: Mon Oct 27 09:04:17 2008 +0000 KVM: SVM: Set the 'g' bit of the cs selector for cross-vendor migration The hardware does not set the 'g' bit of the cs selector and this breaks migration from amd hosts to intel hosts. Set this bit if the segment limit is beyond 1 MB. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit b8222ad2e52fd2c0c4e5e1c53e65d131f911b767 Author: Amit Shah Date: Wed Oct 22 16:39:47 2008 +0530 KVM: x86: Fix typo in function name get_segment_descritptor_dtable() contains an obvious type. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit e19e30effac03f5a005a8e42ed941a2a5dc62654 Author: Sheng Yang Date: Mon Oct 20 16:07:10 2008 +0800 KVM: IRQ ACK notifier should be used with in-kernel irqchip Also remove unnecessary parameter of unregister irq ack notifier. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit cc6e462cd54e64858ea25816df87d033229efe56 Author: Jan Kiszka Date: Mon Oct 20 10:20:03 2008 +0200 KVM: x86: Optimize NMI watchdog delivery As suggested by Avi, this patch introduces a counter of VCPUs that have LVT0 set to NMI mode. Only if the counter > 0, we push the PIT ticks via all LAPIC LVT0 lines to enable NMI watchdog support. Signed-off-by: Jan Kiszka Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 8fdb2351d51b040146f10a624387bbd102d851c0 Author: Jan Kiszka Date: Mon Oct 20 10:20:02 2008 +0200 KVM: x86: Fix and refactor NMI watchdog emulation This patch refactors the NMI watchdog delivery patch, consolidating tests and providing a proper API for delivering watchdog events. An included micro-optimization is to check only for apic_hw_enabled in kvm_apic_local_deliver (the test for LVT mask is covering the soft-disabled case already). Signed-off-by: Jan Kiszka Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 291fd39bfc2089c2dae79cf2d7cfca81b14ca769 Author: Guillaume Thouvenin Date: Mon Oct 20 13:11:58 2008 +0200 KVM: x86 emulator: Add decode entries for 0x04 and 0x05 opcodes (add acc, imm) Add decode entries for 0x04 and 0x05 (ADD) opcodes, execution is already implemented. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit 6fe639792c7b8e462baeaac39ecc33541fd5da6e Author: Sheng Yang Date: Thu Oct 16 17:30:58 2008 +0800 KVM: VMX: Move private memory slot position PCI device assignment would map guest MMIO spaces as separate slot, so it is possible that the device has more than 2 MMIO spaces and overwrite current private memslot. The patch move private memory slot to the top of userspace visible memory slots. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 291f26bc0f89518ad7ee3207c09eb8a743ac8fcc Author: Sheng Yang Date: Thu Oct 16 17:30:57 2008 +0800 KVM: MMU: Extend kvm_mmu_page->slot_bitmap size Otherwise set_bit() for private memory slot(above KVM_MEMORY_SLOTS) would corrupted memory in 32bit host. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit d73fa29a9b75b2af7f69dae276d2c602a23b329b Author: Sheng Yang Date: Tue Oct 14 15:59:10 2008 +0800 KVM: Clean up kvm_x86_emulate.h Remove one left improper comment of removed CR2. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 64d4d521757117aa5c1cfe79d3baa6cf57703f81 Author: Sheng Yang Date: Thu Oct 9 16:01:57 2008 +0800 KVM: Enable MTRR for EPT The effective memory type of EPT is the mixture of MSR_IA32_CR_PAT and memory type field of EPT entry. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 74be52e3e6285fc6e872a2a7baea544106f399ea Author: Sheng Yang Date: Thu Oct 9 16:01:56 2008 +0800 KVM: Add local get_mtrr_type() to support MTRR For EPT memory type support. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 468d472f3f65100d5fb88c8d45043c85b874c294 Author: Sheng Yang Date: Thu Oct 9 16:01:55 2008 +0800 KVM: VMX: Add PAT support for EPT GUEST_PAT support is a new feature introduced by Intel Core i7 architecture. With this, cpu would save/load guest and host PAT automatically, for EPT memory type in guest depends on MSR_IA32_CR_PAT. Also add save/restore for MSR_IA32_CR_PAT. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 0bed3b568b68e5835ef5da888a372b9beabf7544 Author: Sheng Yang Date: Thu Oct 9 16:01:54 2008 +0800 KVM: Improve MTRR structure As well as reset mmu context when set MTRR. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 932d27a7913fc6b3c64c6e6082628b0a1561dec9 Author: Sheng Yang Date: Thu Oct 9 16:01:53 2008 +0800 x86: Export some definition of MTRR For KVM can reuse the type define, and need them to support shadow MTRR. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit b558bc0a25c82ef2a9d2683b0beb3e4b87cea20b Author: Sheng Yang Date: Thu Oct 9 16:01:52 2008 +0800 x86: Rename mtrr_state struct and macro names Prepare for exporting them. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5f179287fa02723215eecf681d812b303c243973 Author: Gleb Natapov Date: Tue Oct 7 15:42:33 2008 +0200 KVM: call kvm_arch_vcpu_reset() instead of the kvm_x86_ops callback Call kvm_arch_vcpu_reset() instead of directly using arch callback. The function does additional things. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3b86cd9967242f3f3d775ee015fb814a349ed5e6 Author: Jan Kiszka Date: Fri Sep 26 09:30:57 2008 +0200 KVM: VMX: work around lacking VNMI support Older VMX supporting CPUs do not provide the "Virtual NMI" feature for tracking the NMI-blocked state after injecting such events. For now KVM is unable to inject NMIs on those CPUs. Derived from Sheng Yang's suggestion to use the IRQ window notification for detecting the end of NMI handlers, this patch implements virtual NMI support without impact on the host's ability to receive real NMIs. The downside is that the given approach requires some heuristics that can cause NMI nesting in vary rare corner cases. The approach works as follows: - inject NMI and set a software-based NMI-blocked flag - arm the IRQ window start notification whenever an NMI window is requested - if the guest exits due to an opening IRQ window, clear the emulated NMI-blocked flag - if the guest net execution time with NMI-blocked but without an IRQ window exceeds 1 second, force NMI-blocked reset and inject anyway This approach covers most practical scenarios: - succeeding NMIs are seperated by at least one open IRQ window - the guest may spin with IRQs disabled (e.g. due to a bug), but leaving the NMI handler takes much less time than one second - the guest does not rely on strict ordering or timing of NMIs (would be problematic in virtualized environments anyway) Successfully tested with the 'nmi n' monitor command, the kgdbts testsuite on smp guests (additional patches required to add debug register support to kvm) + the kernel's nmi_watchdog=1, and a Siemens- specific board emulation (+ guest) that comes with its own NMI watchdog mechanism. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 487b391d6ea9b1d0e2e0440466fb3130e78c98d9 Author: Jan Kiszka Date: Fri Sep 26 09:30:56 2008 +0200 KVM: VMX: Provide support for user space injected NMIs This patch adds the required bits to the VMX side for user space injected NMIs. As with the preexisting in-kernel irqchip support, the CPU must provide the "virtual NMI" feature for proper tracking of the NMI blocking state. Based on the original patch by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit c4abb7c9cde24b7351a47328ef866e6a2bbb1ad0 Author: Jan Kiszka Date: Fri Sep 26 09:30:55 2008 +0200 KVM: x86: Support for user space injected NMIs Introduces the KVM_NMI IOCTL to the generic x86 part of KVM for injecting NMIs from user space and also extends the statistic report accordingly. Based on the original patch by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 26df99c6c5807115f06d4e1abae397b7f5f3e00c Author: Jan Kiszka Date: Fri Sep 26 09:30:54 2008 +0200 KVM: Kick NMI receiving VCPU Kick the NMI receiving VCPU in case the triggering caller runs in a different context. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 0496fbb973ccc9477082e859ed0faab5acb805ba Author: Jan Kiszka Date: Fri Sep 26 09:30:53 2008 +0200 KVM: x86: VCPU with pending NMI is runnabled Ensure that a VCPU with pending NMIs is considered runnable. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 23930f9521c9c4d4aa96cdb9d1e1703f3782bb94 Author: Jan Kiszka Date: Fri Sep 26 09:30:52 2008 +0200 KVM: x86: Enable NMI Watchdog via in-kernel PIT source LINT0 of the LAPIC can be used to route PIT events as NMI watchdog ticks into the guest. This patch aligns the in-kernel irqchip emulation with the user space irqchip with already supports this feature. The trick is to route PIT interrupts to all LAPIC's LVT0 lines. Rebased and slightly polished patch originally posted by Sheng Yang. Signed-off-by: Jan Kiszka Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 66a5a347c2690db4c0756524a8eb5a05e0437aa8 Author: Jan Kiszka Date: Fri Sep 26 09:30:51 2008 +0200 KVM: VMX: fix real-mode NMI support Fix NMI injection in real-mode with the same pattern we perform IRQ injection. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit f460ee43e250b675376246b1c4c9fe9b9af4ab16 Author: Jan Kiszka Date: Fri Sep 26 09:30:50 2008 +0200 KVM: VMX: refactor IRQ and NMI window enabling do_interrupt_requests and vmx_intr_assist go different way for achieving the same: enabling the nmi/irq window start notification. Unify their code over enable_{irq|nmi}_window, get rid of a redundant call to enable_intr_window instead of direct enable_nmi_window invocation and unroll enable_intr_window for both in-kernel and user space irq injection accordingly. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 33f089ca5a61f7aead26e8e1866dfc961dd88a9e Author: Jan Kiszka Date: Fri Sep 26 09:30:49 2008 +0200 KVM: VMX: refactor/fix IRQ and NMI injectability determination There are currently two ways in VMX to check if an IRQ or NMI can be injected: - vmx_{nmi|irq}_enabled and - vcpu.arch.{nmi|interrupt}_window_open. Even worse, one test (at the end of vmx_vcpu_run) uses an inconsistent, likely incorrect logic. This patch consolidates and unifies the tests over {nmi|interrupt}_window_open as cache + vmx_update_window_states for updating the cache content. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 448fa4a9c5dbc6941dd19ed09692c588d815bb06 Author: Jan Kiszka Date: Fri Sep 26 09:30:48 2008 +0200 KVM: x86: Reset pending/inject NMI state on CPU reset CPU reset invalidates pending or already injected NMIs, therefore reset the related state variables. Based on original patch by Gleb Natapov. Signed-off-by: Gleb Natapov Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 60637aacfd95c368e1fbc2157275d1b621b5dcdd Author: Jan Kiszka Date: Fri Sep 26 09:30:47 2008 +0200 KVM: VMX: Support for NMI task gates Properly set GUEST_INTR_STATE_NMI and reset nmi_injected when a task-switch vmexit happened due to a task gate being used for handling NMIs. Also avoid the false warning about valid vectoring info in kvm_handle_exit. Based on original patch by Gleb Natapov. Signed-off-by: Gleb Natapov Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit e4a41889ece6c95f390a7fa3a94255ab62470968 Author: Jan Kiszka Date: Fri Sep 26 09:30:46 2008 +0200 KVM: VMX: Use INTR_TYPE_NMI_INTR instead of magic value Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit a26bf12afb608eb5a96192eaee35fc08ffbf85aa Author: Jan Kiszka Date: Fri Sep 26 09:30:45 2008 +0200 KVM: VMX: include all IRQ window exits in statistics irq_window_exits only tracks IRQ window exits due to user space requests, nmi_window_exits include all exits. The latter makes more sense, so let's adjust irq_window_exits accounting. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 2786b014ec893c301ea52ef9962e7cc60f89f9b3 Author: Guillaume Thouvenin Date: Mon Sep 22 16:08:06 2008 +0200 KVM: x86 emulator: consolidate push reg This patch consolidate the emulation of push reg instruction. Signed-off-by: Guillaume Thouvenin Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit c742b31c03f37c5c499178f09f57381aa6c70131 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:42 2008 +0100 [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID The extract cpu time instruction (ectg) instruction allows the user process to get the current thread cputime without calling into the kernel. The code that uses the instruction needs to switch to the access registers mode to get access to the per-cpu info page that contains the two base values that are needed to calculate the current cputime from the CPU timer with the ectg instruction. Signed-off-by: Martin Schwidefsky commit 9cfb9b3c3a7361c793c031e9c3583b177ac5debd Author: Martin Schwidefsky Date: Wed Dec 31 15:11:41 2008 +0100 [PATCH] improve idle cputime accounting Distinguish the cputime of the idle process where idle is actually using cpu cycles from the cputime where idle is sleeping on an enabled wait psw. The former is accounted as system time, the later as idle time. Signed-off-by: Martin Schwidefsky commit 6f43092441bda528dd38f2dc6c1e2522c5079fb7 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:40 2008 +0100 [PATCH] improve precision of idle time detection. Increase the precision of the idle time calculation that is exported to user space via /sys/devices/system/cpu/cpu/idle_time_us Signed-off-by: Martin Schwidefsky commit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:39 2008 +0100 [PATCH] improve precision of process accounting. The unit of the cputime accouting values that are stored per process is currently a microsecond. The CPU timer has a maximum granularity of 2**-12 microseconds. There is no benefit in storing the per process values in the lesser precision and there is the disadvantage that the backend has to do the rounding to microseconds. The better solution is to use the maximum granularity of the CPU timer as cputime unit. Signed-off-by: Martin Schwidefsky commit 79741dd35713ff4f6fd0eafd59fa94e8a4ba922d Author: Martin Schwidefsky Date: Wed Dec 31 15:11:38 2008 +0100 [PATCH] idle cputime accounting The cpu time spent by the idle process actually doing something is currently accounted as idle time. This is plain wrong, the architectures that support VIRT_CPU_ACCOUNTING=y can do better: distinguish between the time spent doing nothing and the time spent by idle doing work. The first is accounted with account_idle_time and the second with account_system_time. The architectures that use the account_xxx_time interface directly and not the account_xxx_ticks interface now need to do the check for the idle process in their arch code. In particular to improve the system vs true idle time accounting the arch code needs to measure the true idle time instead of just testing for the idle process. To improve the tick based accounting as well we would need an architecture primitive that can tell us if the pt_regs of the interrupted context points to the magic instruction that halts the cpu. In addition idle time is no more added to the stime of the idle process. This field now contains the system time of the idle process as it should be. On systems without VIRT_CPU_ACCOUNTING this will always be zero as every tick that occurs while idle is running will be accounted as idle time. This patch contains the necessary common code changes to be able to distinguish idle system time and true idle time. The architectures with support for VIRT_CPU_ACCOUNTING need some changes to exploit this. Signed-off-by: Martin Schwidefsky commit 457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4 Author: Martin Schwidefsky Date: Wed Dec 31 15:11:37 2008 +0100 [PATCH] fix scaled & unscaled cputime accounting The utimescaled / stimescaled fields in the task structure and the global cpustat should be set on all architectures. On s390 the calls to account_user_time_scaled and account_system_time_scaled never have been added. In addition system time that is accounted as guest time to the user time of a process is accounted to the scaled system time instead of the scaled user time. To fix the bugs and to prevent future forgetfulness this patch merges account_system_time_scaled into account_system_time and account_user_time_scaled into account_user_time. Cc: Benjamin Herrenschmidt Cc: Hidetoshi Seto Cc: Tony Luck Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: Michael Neuling Acked-by: Paul Mackerras Signed-off-by: Martin Schwidefsky commit 2ca1a615835d9f4990f42102ab1f2ef434e7e89c Merge: e12f010... 6a94cb7... Author: Rusty Russell Date: Wed Dec 31 23:05:57 2008 +1030 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/x86/kernel/io_apic.c commit 8e5033adc78ff4fbeab7052134e7af1f6ff04187 Author: Artem Bityutskiy Date: Tue Dec 30 18:37:45 2008 +0200 UBIFS: add more useful debugging prints Print node sizes and maximum node sizes. Signed-off-by: Artem Bityutskiy commit 5d38b3ac78e0e0e420fba134716fc3d20e6b978a Author: Artem Bityutskiy Date: Tue Dec 30 17:58:42 2008 +0200 UBIFS: print debugging messages properly We cannot use ubifs_err() macro with DBGKEY() and DBGKEY1(), because this is racy and holding dbg_lock is needed. Use dbg_err() instead, which does have the lock held. Signed-off-by: Artem Bityutskiy commit 80736d41f895bc472b2433a1c27fa6d4afe6ca35 Author: Artem Bityutskiy Date: Tue Dec 30 17:44:02 2008 +0200 UBIFS: fix numerous spelling mistakes Signed-off-by: Artem Bityutskiy commit 57a450e95932f7798677885b8a01443aca72fdc7 Author: Artem Bityutskiy Date: Tue Dec 30 16:23:34 2008 +0200 UBIFS: allow mounting when short of space It is fine if there is not free space - we should still allow mounting this FS. This patch relaxes the free space requirements and adds info dumps. Signed-off-by: Artem Bityutskiy commit a9f2fc0e251e71a51deb8059b181c375a4a5e979 Author: Artem Bityutskiy Date: Tue Dec 23 14:39:14 2008 +0200 UBIFS: fix writing uncompressed files UBIFS does not disable compression if ui->flags is non-zero, e.g. if the file has "sync" flag. This is because of the typo which is fixed by this patch. The patch also adds a couple of useful debugging prints. Signed-off-by: Artem Bityutskiy commit f92b982680e4b4149c559789a54e1e9db190752a Author: Artem Bityutskiy Date: Sun Dec 28 11:34:26 2008 +0200 UBIFS: fix checkpatch.pl warnings These are mostly long lines and wrong indentation warning fixes. But also there are two volatile variables and checkpatch.pl complains about them: WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt + volatile int gc_seq; WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt + volatile int gced_lnum; Well, we anyway use smp_wmb() for c->gc_seq and c->gced_lnum, so these 'volatile' modifiers can be just dropped. Signed-off-by: Artem Bityutskiy commit 6a4a9b438fe43397f4652853838f284cddd629b5 Author: Artem Bityutskiy Date: Sun Dec 28 11:00:55 2008 +0200 UBIFS: fix sparse warnings fs/ubifs/compress.c:111:8: warning: incorrect type in argument 5 (different signedness) fs/ubifs/compress.c:111:8: expected unsigned int *dlen fs/ubifs/compress.c:111:8: got int *out_len fs/ubifs/compress.c:175:10: warning: incorrect type in argument 5 (different signedness) fs/ubifs/compress.c:175:10: expected unsigned int *dlen fs/ubifs/compress.c:175:10: got int *out_len Fix this by adding a cast to (unsigned int *). We guarantee that our lengths are small and no overflow is possible. Signed-off-by: Artem Bityutskiy commit 2acf80675800d5e6775990d1280cca5c2ffb30e6 Author: Artem Bityutskiy Date: Tue Dec 9 11:04:40 2008 -0500 UBIFS: simplify make_free_space The 'make_free_space()' function was too complex and this patch simplifies it. It also fixes a bug - the freespace test failed straight away on UBI volumes with 512 bytes LEB size. Signed-off-by: Artem Bityutskiy commit 2edc2025c2583a18eafe5cdbc7deb36e320aaec5 Author: Artem Bityutskiy Date: Mon Dec 22 11:21:03 2008 +0200 UBIFS: do not lie about used blocks Do not force UBIFS return 0 used space when it is empty. It leads to a situation when creating any file immediately produces tens of used blocks, which looks very weird. It is better to be honest and say that some blocks are used even if the FS is empty. And ext2 does the same. Signed-off-by: Artem Bityutskiy commit 6edbfafda682b30ad984964cc432da6fa1c8fab5 Author: Artem Bityutskiy Date: Tue Dec 30 20:06:49 2008 +0200 UBIFS: restore budg_uncommitted_idx UBIFS stores uncommitted index size in c->budg_uncommitted_idx, and this affect budgeting calculations. When mounting and replaying, this variable is not updated, so we may end up with "over-budgeting". This patch fixes the issue. Signed-off-by: Artem Bityutskiy commit 26d05777b0a23062a39e83c369c0a3583918f164 Author: Artem Bityutskiy Date: Sun Dec 28 09:11:02 2008 +0200 UBIFS: always commit on unmount UBIFS commits on unmount to make the next mount faster. Currently, it commits only if there is more than LEB size bytes in the journal. This is not very good, because journal size may be large (512KiB). And there may be few deletions in the journal which do not take much journal space, but which do introduce a lot of TNC changes and make mount slow. Thus, jurt remove this condition and always commit. Signed-off-by: Artem Bityutskiy commit cb5c6a2b2be59b480a3746c5113cb3411c053bff Author: Artem Bityutskiy Date: Sun Dec 28 08:18:43 2008 +0200 UBIFS: use ubi_sync UBI now has (fake for now, though) synchronization call - use it. Signed-off-by: Artem Bityutskiy commit f10383006c26b33539820759b9dc8656497b02a4 Author: Artem Bityutskiy Date: Sun Dec 28 08:16:32 2008 +0200 UBIFS: always commit in sync_fs Always run commit in sync_fs, because even if the journal seems to be almost empty, there may be a deletion which removes a large file, which affects the index greatly. And because we want better free space predictions after 'sync_fs()', we have to commit. Signed-off-by: Artem Bityutskiy commit 304d427cd99eb645b44b08d77e70ce308e6bcd8c Author: Artem Bityutskiy Date: Sun Dec 28 08:04:17 2008 +0200 UBIFS: fix file-system synchronization Argh. The ->sync_fs call is called _before_ all inodes are flushed. This means we first sync write buffers and commit, then all inodes are synced, and we end up with unflushed write buffers! Fix this by forcing synching all indoes from 'ubifs_sync_fs()'. Signed-off-by: Artem Bityutskiy commit 79807d075ab8d1ca3574f5f52421e0047c1f1256 Author: Artem Bityutskiy Date: Sat Dec 27 19:18:00 2008 +0200 UBIFS: fix constants initialization The c->min_idx_lebs constant depends on c->old_idx_sz, which is read from the master node. This means that we have to initialize c->min_idx_lebs only after we have read the master node. Signed-off-by: Artem Bityutskiy commit ec270e59a74eee972006a87c8e12514a20588369 Merge: 6a94cb7... 5a6bb10... Author: Linus Torvalds Date: Tue Dec 30 20:33:34 2008 -0800 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: make sure to set d_ops in fat_get_parent fat: fix duplicate addition of ->llseek handler fat: drop negative dentry on rename() path commit 6a94cb73064c952255336cc57731904174b2c58f Merge: f57fa1d... 0a8c539... Author: Linus Torvalds Date: Tue Dec 30 17:48:25 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (184 commits) [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI [XFS] handle unaligned data in xfs_bmbt_disk_get_all [XFS] avoid memory allocations in xfs_fs_vcmn_err [XFS] Fix speculative allocation beyond eof [XFS] Remove XFS_BUF_SHUT() and friends [XFS] Use the incore inode size in xfs_file_readdir() [XFS] set b_error from bio error in xfs_buf_bio_end_io [XFS] use inode_change_ok for setattr permission checking [XFS] add a FMODE flag to make XFS invisible I/O less hacky [XFS] resync headers with libxfs [XFS] simplify projid check in xfs_rename [XFS] replace b_fspriv with b_mount [XFS] Remove unused tracing code [XFS] Remove unnecessary assertion [XFS] Remove unused variable in ktrace_free() [XFS] Check return value of xfs_buf_get_noaddr() [XFS] Fix hang after disallowed rename across directory quota domains [XFS] Fix compile with CONFIG_COMPAT enabled move inode tracing out of xfs_vnode. move vn_iowait / vn_iowake into xfs_aops.c ... commit f57fa1d6a6b3414e853d3d17e339ac48816e4406 Merge: 6094c85... 08cc36c... Author: Linus Torvalds Date: Tue Dec 30 17:45:45 2008 -0800 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (70 commits) fs/nfs/nfs4proc.c: make nfs4_map_errors() static rpc: add service field to new upcall rpc: add target field to new upcall nfsd: support callbacks with gss flavors rpc: allow gss callbacks to client rpc: pass target name down to rpc level on callbacks nfsd: pass client principal name in rsc downcall rpc: implement new upcall rpc: store pointer to pipe inode in gss upcall message rpc: use count of pipe openers to wait for first open rpc: track number of users of the gss upcall pipe rpc: call release_pipe only on last close rpc: add an rpc_pipe_open method rpc: minor gss_alloc_msg cleanup rpc: factor out warning code from gss_pipe_destroy_msg rpc: remove unnecessary assignment NFS: remove unused status from encode routines NFS: increment number of operations in each encode routine NFS: fix comment placement in nfs4xdr.c NFS: fix tabs in nfs4xdr.c ... commit 6094c85a935f7eadb4c607c6dc6d86c0a9f09a4b Merge: 590cf28... ee48c3d... Author: Linus Torvalds Date: Tue Dec 30 17:45:28 2008 -0800 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: IB/mlx4: Fix reading SL field out of cqe->sl_vid RDMA/addr: Fix build breakage when IPv6 is disabled commit 590cf28580c999c8ba70dc39b40bab09d69e2630 Merge: f54a6ec... fb5edd0... Author: Linus Torvalds Date: Tue Dec 30 17:43:10 2008 -0800 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: (104 commits) [SCSI] fcoe: fix configuration problems [SCSI] cxgb3i: fix select/depend problem [SCSI] fcoe: fix incorrect use of struct module [SCSI] cxgb3i: remove use of skb->sp [SCSI] cxgb3i: Add cxgb3i iSCSI driver. [SCSI] zfcp: Remove unnecessary warning message [SCSI] zfcp: Add support for unchained FSF requests [SCSI] zfcp: Remove busid macro [SCSI] zfcp: remove DID_DID flag [SCSI] zfcp: Simplify mask lookups for incoming RSCNs [SCSI] zfcp: Remove initial device data from zfcp_data [SCSI] zfcp: fix compile warning [SCSI] zfcp: Remove adapter list [SCSI] zfcp: Simplify SBAL allocation to fix sparse warnings [SCSI] zfcp: register with SCSI layer on ccw registration [SCSI] zfcp: Fix message line break [SCSI] qla2xxx: changes in multiq code [SCSI] eata: fix the data buffer accessors conversion regression [SCSI] ibmvfc: Improve async event handling [SCSI] lpfc : correct printk types on PPC compiles ... commit f54a6ec0fd85002d94d05b4bb679508eeb066683 Merge: 5ed1836... 1341798... Author: Linus Torvalds Date: Tue Dec 30 17:41:32 2008 -0800 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: (583 commits) V4L/DVB (10130): use USB API functions rather than constants V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends V4L/DVB (10128): modify V4L documentation to be a valid XHTML V4L/DVB (10127): stv06xx: Avoid having y unitialized V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices V4L/DVB (10124): em28xx: expand output formats available V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile V4L/DVB (10119): em28xx: fix corrupted XCLK value V4L/DVB (10118): zoran: fix warning for a variable not used V4L/DVB (10116): af9013: Fix gcc false warnings V4L/DVB (10111a): usbvideo.h: remove an useless blank line V4L/DVB (10111): quickcam_messenger.c: fix a warning V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2 V4L/DVB (10109): anysee: Fix usage of an unitialized function V4L/DVB (10104): uvcvideo: Add support for video output devices V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams. V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous ... commit 5ed1836814d908f45cafde0e79cb85314ab9d41d Merge: ab70537... eb4dea5... Author: Linus Torvalds Date: Tue Dec 30 17:39:37 2008 -0800 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 percpu counters deadlock cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net drivers/net/usb: use USB API functions rather than constants cls_cgroup: clean up Kconfig cls_cgroup: clean up for cgroup part cls_cgroup: fix an oops when removing a cgroup EtherExpress16: fix printing timed out status mlx4_en: Added "set_ringparam" Ethtool interface implementation mlx4_en: Always allocate RX ring for each interrupt vector mlx4_en: Verify number of RX rings doesn't exceed MAX_RX_RINGS IPVS: Make "no destination available" message more consistent between schedulers net: KS8695: removed duplicated #include tun: Fix SIOCSIFHWADDR error. smsc911x: compile fix re netif_rx signature changes netns: foreach_netdev_safe is insufficient in default_device_exit net: make xfrm_statistics_seq_show use generic snmp_fold_field net: Fix more NAPI interface netdev argument drop fallout. net: Fix unused variable warnings in pasemi_mac.c and spider_net.c commit ab70537c32a3245325b48774664da588904e47f2 Merge: 14a3c4a... bda53cd... Author: Linus Torvalds Date: Tue Dec 30 17:37:25 2008 -0800 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: struct device - replace bus_id with dev_name() lguest: move the initial guest page table creation code to the host kvm-s390: implement config_changed for virtio on s390 virtio_console: support console resizing virtio: add PCI device release() function virtio_blk: fix type warning virtio: block: dynamic maximum segments virtio: set max_segment_size and max_sectors to infinite. virtio: avoid implicit use of Linux page size in balloon interface virtio: hand virtio ring alignment as argument to vring_new_virtqueue virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize virtio: Don't use PAGE_SIZE for vring alignment in virtio_pci. virtio: rename 'pagesize' arg to vring_init/vring_size virtio: Don't use PAGE_SIZE in virtio_pci.c virtio: struct device - replace bus_id with dev_name(), dev_set_name() virtio-pci queue allocation not page-aligned commit 14a3c4ab0e58d143c7928c9eb2f2610205e13bf2 Merge: 1af237a... 47992cb... Author: Linus Torvalds Date: Tue Dec 30 17:36:49 2008 -0800 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits) [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices [ARM] pxafb: cleanup of the timing checking code [ARM] pxafb: cleanup of the color format manipulation code [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset [ARM] pxafb: allow video memory size to be configurable [ARM] pxa: add document on the MFP design and how to use it [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) [ARM] pxa: Update eseries defconfig [ARM] 5352/1: add w90p910-plat config file [ARM] s3c: S3C options should depend on PLAT_S3C [ARM] mv78xx0: implement GPIO and GPIO interrupt support [ARM] Kirkwood: implement GPIO and GPIO interrupt support [ARM] Orion: share GPIO IRQ handling code [ARM] Orion: share GPIO handling code [ARM] s3c: define __io using the typesafe version [ARM] S3C64XX: Ensure CPU_V6 is selected ... commit 1af237a099a3b8ff56aa384f605c6a68af7bf288 Author: Huang Weiyi Date: Tue Dec 30 06:41:44 2008 +0800 tracing: removed duplicated #include Removed duplicated #include in kernel/trace/trace.c. Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 74a6d0f064cd9106599ce3f1d924309669e83582 Merge: 14eeee8... 519d680... Author: Linus Torvalds Date: Tue Dec 30 17:34:37 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits) ide-cd: remove dead dsc_overlap setting ide: push local_irq_{save,restore}() to do_identify() ide: remove superfluous local_irq_{save,restore}() from ide_dump_status() ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2) ide: move Power Management support to ide-pm.c ide: use ATA_DMA_* defines in ide-dma-sff.c ide: checkpatch.pl fixes for ide-lib.c ide: remove inline tags from ide-probe.c ide: remove redundant code from ide_end_drive_cmd() ide: struct device - replace bus_id with dev_name(), dev_set_name() ide: rework handling of serialized ports (v2) cy82c693: remove superfluous ide_cy82c693 chipset type trm290: add IDE_HFLAG_TRM290 host flag ide: add ->max_sectors field to struct ide_port_info rz1000: apply chipset quirks early (v2) ide: always set nIEN on idle devices ide: fix ->quirk_list checking in ide_do_request() gayle: set IDE_HFLAG_SERIALIZE explictly cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646 ali14xx: doesn't use shared IRQs ... commit 14eeee88bfb439a3dc9449f94c23a21930cbe35b Merge: 5b8f258... d69e83d... Author: Linus Torvalds Date: Tue Dec 30 17:33:33 2008 -0800 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: ensure symlinks are NUL-terminated commit 5b8f258758494315b69d568661a2823e24d4ad6f Merge: 526ea06... c7e324f... Author: Linus Torvalds Date: Tue Dec 30 17:32:25 2008 -0800 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: sata_sil: add Large Block Transfer support [libata] ata_piix: cleanup dmi strings checking DMI: add dmi_match libata: blacklist NCQ on OCZ CORE 2 SSD (resend) [libata] Update kernel-doc comments to match source code libata: perform port detach in EH libata: when restoring SControl during detach do the PMP links first libata: beef up iterators commit 526ea064f953fc5ad2fb905b537f490b9374a0f0 Merge: db5e53f... d69d59f... Author: Linus Torvalds Date: Tue Dec 30 17:31:25 2008 -0800 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: select RING_BUFFER ring_buffer: adding EXPORT_SYMBOLs oprofile: fix lost sample counter oprofile: remove nr_available_slots() oprofile: port to the new ring_buffer ring_buffer: add remaining cpu functions to ring_buffer.h oprofile: moving cpu_buffer_reset() to cpu_buffer.h oprofile: adding cpu_buffer_entries() oprofile: adding cpu_buffer_write_commit() oprofile: adding cpu buffer r/w access functions ftrace: remove unused function arg in trace_iterator_increment() ring_buffer: update description for ring_buffer_alloc() oprofile: set values to default when creating oprofilefs oprofile: implement switch/case in buffer_sync.c x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c x86/oprofile: reordering IBS code in op_model_amd.c oprofile: fix typo oprofile: whitspace changes only oprofile: update comment for oprofile_add_sample() oprofile: comment cleanup commit db5e53fbf0abf5cadc83be57032242e5e7c6c394 Merge: 3f4b5c5... 3c506ef... Author: Linus Torvalds Date: Tue Dec 30 17:28:09 2008 -0800 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: avoid leaking caches or refcounts on sysfs error slab: Fix comment on #endif slab: remove GFP_THISNODE clearing from alloc_slabmgmt() slub: Add might_sleep_if() to slab_alloc() SLUB: failslab support slub: Fix incorrect use of loose slab: Update the kmem_cache_create documentation regarding the name parameter slub: make early_kmem_cache_node_alloc void slab: unsigned slabp->inuse cannot be less than 0 slub - fix get_object_page comment SLUB: Replace __builtin_return_address(0) with _RET_IP_. SLUB: cleanup - define macros instead of hardcoded numbers commit 3f4b5c5d275608d42ff54c4981307f9a5c75ea4a Merge: a4ba2e9... aa59662... Author: Linus Torvalds Date: Tue Dec 30 17:25:49 2008 -0800 Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (37 commits) drm/i915: fix modeset devname allocation + agp init return check. drm/i915: Remove redundant test in error path. drm: Add a debug node for vblank state. drm: Avoid use-before-null-test on dev in drm_cleanup(). drm/i915: Don't print to dmesg when taking signal during object_pin. drm: pin new and unpin old buffer when setting a mode. drm/i915: un-EXPORT and make 'intelfb_panic' static drm/i915: Delete unused, pointless i915_driver_firstopen. drm/i915: fix sparse warnings: returning void-valued expression drm/i915: fix sparse warnings: move 'extern' decls to header file drm/i915: fix sparse warnings: make symbols static drm/i915: fix sparse warnings: declare one-bit bitfield as unsigned drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). drm/i915: Fix fbcon setup to align display pitch to 64b. drm/i915: Add missing userland definitions for gem init/execbuffer. i915/drm: provide compat defines for userspace for certain struct members. drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well. drm: sanitise drm modesetting API + remove unused hotplug drm: fix allowing master ioctls on non-master fds. drm/radeon: use locked rmmap to remove sarea mapping. ... commit a4ba2e9e36d10ace6f5ca222c1ff3e5024d75f1a Merge: 6de7148... b854b2a... Author: Linus Torvalds Date: Tue Dec 30 17:25:29 2008 -0800 Merge branch 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/intel: Fix broken ® symbol in device name. agp/intel: add support for G41 chipset commit 6de71484cf9561edb45224f659a9db38b6056d5e Merge: 1dff81f... e3c6d4e... Author: Linus Torvalds Date: Tue Dec 30 17:23:31 2008 -0800 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: (98 commits) sparc: move select of ARCH_SUPPORTS_MSI sparc: drop SUN_IO sparc: unify sections.h sparc: use .data.init_task section for init_thread_union sparc: fix array overrun check in of_device_64.c sparc: unify module.c sparc64: prepare module_64.c for unification sparc64: use bit neutral Elf symbols sparc: unify module.h sparc: introduce CONFIG_BITS sparc: fix hardirq.h removal fallout sparc64: do not export pus_fs_struct sparc: use sparc64 version of scatterlist.h sparc: Commonize memcmp assembler. sparc: Unify strlen assembler. sparc: Add asm/asm.h sparc: Kill memcmp_32.S code which has been ifdef'd out for centuries. sparc: replace for_each_cpu_mask_nr with for_each_cpu sparc: fix sparse warnings in irq_32.c sparc: add include guards to kernel.h ... commit 1dff81f20cd55ffa5a8ee984da70ce0b99d29606 Merge: 179475a... d3f7611... Author: Linus Torvalds Date: Tue Dec 30 17:20:05 2008 -0800 Merge branch 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block: (43 commits) bio: get rid of bio_vec clearing bounce: don't rely on a zeroed bio_vec list cciss: simplify parameters to deregister_disk function cfq-iosched: fix race between exiting queue and exiting task loop: Do not call loop_unplug for not configured loop device. loop: Flush possible running bios when loop device is released. alpha: remove dead BIO_VMERGE_BOUNDARY Get rid of CONFIG_LSF block: make blk_softirq_init() static block: use min_not_zero in blk_queue_stack_limits block: add one-hit cache for disk partition lookup cfq-iosched: remove limit of dispatch depth of max 4 times quantum nbd: tell the block layer that it is not a rotational device block: get rid of elevator_t typedef aio: make the lookup_ioctx() lockless bio: add support for inlining a number of bio_vecs inside the bio bio: allow individual slabs in the bio_set bio: move the slab pointer inside the bio_set bio: only mempool back the largest bio_vec slab cache block: don't use plugging on SSD devices ... commit 179475a3b46f86e2d06f83e2312218ac3f0cf3a7 Merge: bb758e9... 860cf88... Author: Linus Torvalds Date: Tue Dec 30 16:20:19 2008 -0800 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, sparseirq: clean up Kconfig entry x86: turn CONFIG_SPARSE_IRQ off by default sparseirq: fix numa_migrate_irq_desc dependency and comments sparseirq: add kernel-doc notation for new member in irq_desc, -v2 locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP sparseirq, xen: make sure irq_desc is allocated for interrupts sparseirq: fix !SMP building, #2 x86, sparseirq: move irq_desc according to smp_affinity, v7 proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ sparse irqs: add irqnr.h to the user headers list sparse irqs: handle !GENIRQ platforms sparseirq: fix !SMP && !PCI_MSI && !HT_IRQ build sparseirq: fix Alpha build failure sparseirq: fix typo in !CONFIG_IO_APIC case x86, MSI: pass irq_cfg and irq_desc x86: MSI start irq numbering from nr_irqs_gsi x86: use NR_IRQS_LEGACY sparse irq_desc[] array: core kernel and x86 changes genirq: record IRQ_LEVEL in irq_desc[] irq.h: remove padding from irq_desc on 64bits commit bb758e9637e5ddcff84a97177415499ae1fed498 Merge: 5f34fe1... 32e8d18... Author: Linus Torvalds Date: Tue Dec 30 16:16:21 2008 -0800 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimers: fix warning in kernel/hrtimer.c x86: make sure we really have an hpet mapping before using it x86: enable HPET on Fujitsu u9200 linux/timex.h: cleanup for userspace posix-timers: simplify de_thread()->exit_itimers() path posix-timers: check ->it_signal instead of ->it_pid to validate the timer posix-timers: use "struct pid*" instead of "struct task_struct*" nohz: suppress needless timer reprogramming clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI nohz: no softirq pending warnings for offline cpus hrtimer: removing all ur callback modes, fix hrtimer: removing all ur callback modes, fix hotplug hrtimer: removing all ur callback modes x86: correct link to HPET timer specification rtc-cmos: export second NVRAM bank Fixed up conflicts in sound/drivers/pcsp/pcsp.c and sound/core/hrtimer.c manually. commit 5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4 Merge: eca1bf5... 6638101... Author: Linus Torvalds Date: Tue Dec 30 16:10:19 2008 -0800 Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits) stacktrace: provide save_stack_trace_tsk() weak alias rcu: provide RCU options on non-preempt architectures too printk: fix discarding message when recursion_bug futex: clean up futex_(un)lock_pi fault handling "Tree RCU": scalable classic RCU implementation futex: rename field in futex_q to clarify single waiter semantics x86/swiotlb: add default swiotlb_arch_range_needs_mapping x86/swiotlb: add default phys<->bus conversion x86: unify pci iommu setup and allow swiotlb to compile for 32 bit x86: add swiotlb allocation functions swiotlb: consolidate swiotlb info message printing swiotlb: support bouncing of HighMem pages swiotlb: factor out copy to/from device swiotlb: add arch hook to force mapping swiotlb: allow architectures to override phys<->bus<->phys conversions swiotlb: add comment where we handle the overflow of a dma mask on 32 bit rcu: fix rcutorture behavior during reboot resources: skip sanity check of busy resources swiotlb: move some definitions to header swiotlb: allow architectures to override swiotlb pool allocation ... Fix up trivial conflicts in arch/x86/kernel/Makefile arch/x86/mm/init_32.c include/linux/hardirq.h as per Ingo's suggestions. commit ee48c3d7d3afab7b582051ee8f3f8979e6a87766 Merge: 2c4ab62... f781a22... Author: Roland Dreier Date: Tue Dec 30 15:36:58 2008 -0800 Merge branches 'cma' and 'mlx4' into for-linus commit f781a22fa2ec11878a960bc3c2abb0a76f9a8f16 Author: Roland Dreier Date: Tue Dec 30 15:30:26 2008 -0800 IB/mlx4: Fix reading SL field out of cqe->sl_vid Commit f780a9f1 ("mlx4_core: Add ethernet fields to CQE struct") introduced a bug in how wc->sl is set in mlx4_ib_poll_one() -- since cqe->sl_vid is a big-endian value, the shift must be done after converting to host endianness. This bug was found using sparse endianness checking. Signed-off-by: Roland Dreier commit 08cc36cbd1ee7d86422713bb21551eed1326b894 Merge: 3c92ec8... 46f72f5... Author: Trond Myklebust Date: Tue Dec 30 16:51:43 2008 -0500 Merge branch 'devel' into next commit 46f72f57d279688c4524df78edb5738db730eeef Author: WANG Cong Date: Tue Dec 30 16:35:55 2008 -0500 fs/nfs/nfs4proc.c: make nfs4_map_errors() static nfs4_map_errors() can become static. Signed-off-by: WANG Cong Cc: J. Bruce Fields Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 7820b75643a763abf595c99fab963000ffc8b5f0 Author: Jaswinder Singh Rajput Date: Tue Dec 30 22:05:55 2008 +0530 x86: xsave.c: restore_user_xstate should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/xsave.c:162:5: warning: symbol 'restore_user_xstate' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit fa95826fe0ddbc2a55373134d8d1a21b49d13434 Author: Jaswinder Singh Rajput Date: Tue Dec 30 20:13:49 2008 +0530 x86: uv_bau.h: fix dubious bitfield Impact: cleanup, avoid sparse warnings declare bitfield as unsigned to avoid dubious bitfield issue CHECK arch/x86/kernel/tlb_64.c arch/x86/include/asm/uv/uv_bau.h:136:22: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:138:25: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:140:15: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:143:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:146:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:149:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:151:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:155:14: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:159:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:173:19: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:181:16: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:185:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:188:16: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/tlb_uv.c arch/x86/include/asm/uv/uv_bau.h:136:22: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:138:25: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:140:15: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:143:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:146:14: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:149:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:151:18: warning: dubious bitfield without explicit `signed' or `unsigned' arch/x86/include/asm/uv/uv_bau.h:155:14: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:159:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:173:19: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:181:16: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:185:18: error: dubious one-bit signed bitfield arch/x86/include/asm/uv/uv_bau.h:188:16: error: dubious one-bit signed bitfield Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit ec8c842a524888fdcccece337d91798e3e8af880 Author: Jaswinder Singh Rajput Date: Tue Dec 30 22:46:36 2008 +0530 x86: apic.c: xapic_icr_read and x2apic_icr_read should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/apic.c:270:5: warning: symbol 'x2apic_icr_read' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit fb5edd020fa0fbe991f4a473611ad530d2237425 Author: James Bottomley Date: Tue Dec 30 09:44:29 2008 -0600 [SCSI] fcoe: fix configuration problems fcoe selects libfc and requires SCSI and PCI (the SCSI requirement is implicitly covered by an enclosing if). Fix them both up so they cannot be configured in an invalid state: make LIBFC select SCSI_FC_ATTRS and make FCOE depend on PCI and select LIBFC. Reported-by: Randy Dunlap Cc: Robert Love Signed-off-by: James Bottomley commit 58daa68a8fd4a373092df9035fdccaa29420f1e6 Author: James Bottomley Date: Tue Dec 30 10:20:24 2008 -0600 [SCSI] cxgb3i: fix select/depend problem cxgb3i requires the cxgb3 net driver, so it selects it. However, cxgb3 has dependencies which the select cannot see. Fix this by separating out the cxgb3 dependencies into a separate hidden config option (CONFIG_CHELSIO_T3_DEPENDS) and make both cxgb3 and cxgb3i depend on it. Reported-by: Randy Dunlap Cc: Karen Xie Signed-off-by: James Bottomley commit 56b854bb314084396d3d3138126496d330943559 Author: James Bottomley Date: Mon Dec 29 15:45:41 2008 -0600 [SCSI] fcoe: fix incorrect use of struct module This structure may not be defined if CONFIG_MODULE=n, so never deref it. Change uses of module->name to module_name(module) and corrects some dyslexic printks and docbook comments. Reported-by: Randy Dunlap Cc: Robert Love Signed-off-by: James Bottomley commit 73c336740362731983bf7fd747cdd3b6ac593cef Author: Karen Xie Date: Mon Dec 29 21:43:25 2008 -0800 [SCSI] cxgb3i: remove use of skb->sp The cxgb3i was using skb->sp pointer for some internal book-keeping which is not related to the secure path. Changed it to use skb->cb[] instead. Reported-by: Randy Dunlap Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit c3673464ebc004a3d82063cd41b9cf74d1b55db2 Author: Karen Xie Date: Tue Dec 9 14:15:32 2008 -0800 [SCSI] cxgb3i: Add cxgb3i iSCSI driver. This patch implements the cxgb3i iscsi connection acceleration for the open-iscsi initiator. The cxgb3i driver offers the iscsi PDU based offload: - digest insertion and verification - payload direct-placement into host memory buffer. Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit 134179823b3ca9c8b98e0631906459dbb022ff9b Author: Julia Lawall Date: Mon Dec 29 21:49:22 2008 -0300 V4L/DVB (10130): use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_is_isoc_in(epd) usb_endpoint_is_isoc_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit cec73844a91017f9b84ca1d665feb8fc714c8410 Author: Steven Rostedt Date: Thu Dec 11 23:01:14 2008 -0300 V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends Impact: clean up RW_LOCK_UNLOCKED is deprecated. This patch replaces it with the __RW_LOCK_UNLOCKED(lock) macro. This change was a little trickier than others due to the macro being used in another macro that fills an array. Signed-off-by: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit aa16c10a347e887ec9505de9eacf3675938be722 Author: Németh Márton Date: Mon Dec 29 16:37:14 2008 -0300 V4L/DVB (10128): modify V4L documentation to be a valid XHTML Modify Documentation/video4linux/API.html to be a valid XHTML 1.0 Strict. The result was verified using the http://validator.w3.org/ service. Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 1970f14fde9640cc2e238c031498900edbd8ff94 Author: Erik Andrén Date: Tue Dec 30 04:58:36 2008 -0300 V4L/DVB (10127): stv06xx: Avoid having y unitialized As pointed by gcc: drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c: In function ‘hdcs_set_size’: drivers/media/video/gspca/stv06xx/stv06xx_hdcs.c:301: warning: ‘y’ may be used uninitialized in this function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit de84830e6959b046a99da3be12246458f4ab9825 Author: Devin Heitmueller Date: Tue Dec 30 00:17:09 2008 -0300 V4L/DVB (10125): em28xx: Don't do AC97 vendor detection for i2s audio devices The current code was trying to query the AC97 registers for the vendor information even if it was clearly not a AC97 audio device (resulting in errors in the dmesg output). This was due to a bug in the way we did the check. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3fbf930951462871848b5b504fa4a10ab06d2fee Author: Devin Heitmueller Date: Mon Dec 29 23:34:37 2008 -0300 V4L/DVB (10124): em28xx: expand output formats available Add additional output formats, which will be useful for the Pinnacle PCTV Ultimate 880e integration with the saa7136. Thanks to Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 54d79e339881388cdb6a6888b0f6bcd4911d3582 Author: Devin Heitmueller Date: Mon Dec 29 22:52:37 2008 -0300 V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes Noticed when doing the audio support for the Pinnacle PCTV HD Ultimate 808e that the modes were incorrect (the 808e uses I2S in 5 sample mode) Thanks for Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 62f3e69bd5ff9db1574356a84895324ab3896e44 Author: Devin Heitmueller Date: Mon Dec 29 22:43:55 2008 -0300 V4L/DVB (10122): em28xx: don't load em28xx-alsa for em2870 based devices Like the em2874, the em2870 does not have any analog support, so don't bother loading the em28xx-alsa module. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 7ed3a7a3113a5399a4591fdf1f2a07c9cd954853 Author: Devin Heitmueller Date: Mon Dec 29 22:39:42 2008 -0300 V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile The Pinnacle 80e cannot be supported since Micronas yanked their driver support for the drx-j chipset at the last minute. Remove the device profile since it cannot work without the drx driver and it being there is only likely to confuse people into thinking the device is supported but not working. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e890759220759dfe4f3bea91a2deafb565ec10e9 Author: Devin Heitmueller Date: Mon Dec 29 22:34:35 2008 -0300 V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile The DVC 100 profile is redundant since we already have an existing identical profile named "Pinnacle Dazzle DVC 90/DVC 100" Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ed14e1c2f419a380c7a1a3483ac2443d20a24355 Author: Devin Heitmueller Date: Mon Dec 29 22:27:30 2008 -0300 V4L/DVB (10119): em28xx: fix corrupted XCLK value Correct problem introduced during the board refactoring where the XCLK frequency would get zero'd out. The sequence of events was as follows: em28xx_pre_card_setup() called em28xx_set_model() em28xx_set_model() would memcpy to dev->board configuration em28xx_pre_card_setup() would set the dev->board.xclk if not set em28xx_pre_card_setup() would set the XCLK register based on dev->board.xclk ... em28xx_card_setup() would call em28xx_set_model() em28xx_set_model() would memcpy to dev->board configuration (clearing out value of dev->board.xclk set in em28xx_pre_card_setup) ... em28xx_audio_analog_set() sets the XCLK register based on dev->board.xclk (which now contains zero) The change sets the default XCLK and I2C Clock fields in the board definition inside of em28xx_set_model() so that subsequent calls do not cause the values to be overwritten. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 60b4bde48b36c0315ef41fd38c339b9c7e68c46f Author: Mauro Carvalho Chehab Date: Mon Dec 29 23:44:20 2008 -0300 V4L/DVB (10118): zoran: fix warning for a variable not used Fix this warning: drivers/media/video/zoran/zoran_card.c:156: warning: ‘zr36067_pci_tbl’ defined but not used Currently, zoran driver relies on a find routine that doesn't use the pci table. Signed-off-by: Mauro Carvalho Chehab commit 4d543096ee743faa52d69506eef73d3cb6208f18 Author: Mauro Carvalho Chehab Date: Mon Dec 29 23:18:31 2008 -0300 V4L/DVB (10116): af9013: Fix gcc false warnings drivers/media/dvb/frontends/af9013.c: In function ‘af9013_set_coeff’: drivers/media/dvb/frontends/af9013.c:231: warning: ‘ns_coeff2_8k’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:230: warning: ‘ns_coeff2_2k’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:229: warning: ‘ns_coeff1_8193nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:228: warning: ‘ns_coeff1_8192nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:227: warning: ‘ns_coeff1_8191nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c:226: warning: ‘ns_coeff1_2048nu’ may be used uninitialized in this function drivers/media/dvb/frontends/af9013.c: In function ‘af9013_update_snr’: drivers/media/dvb/frontends/af9013.c:1012: warning: ‘snr_table’ may be used uninitialized in this function Cc: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ed716dcb862f969e118037ee8830ad28664b4a11 Author: Mauro Carvalho Chehab Date: Mon Dec 29 22:31:13 2008 -0200 V4L/DVB (10111a): usbvideo.h: remove an useless blank line This is needed to sync with the development tree. Probably, a merge conflict were solved by adding this blank line. Signed-off-by: Mauro Carvalho Chehab commit b48413066118ff8c6e44f258fbcd226f4c22aa92 Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:26:17 2008 -0300 V4L/DVB (10111): quickcam_messenger.c: fix a warning drivers/media/video/usbvideo/quickcam_messenger.c: In function ‘qcm_sensor_init’: drivers/media/video/usbvideo/quickcam_messenger.c:450: warning: operation on ‘ret’ may be undefined Signed-off-by: Mauro Carvalho Chehab commit 92ab7886119da6375a983713eedab444e32094f6 Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:15:43 2008 -0300 V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl = __video_ioctl2 This patch fixes this warning: drivers/media/video/gspca/gspca.c:1811: warning: initialization from incompatible pointer type The reason is that the returned argument should be a long, not an integer. Signed-off-by: Mauro Carvalho Chehab commit 902571aaa91263bc27e923e94ddf161c106befee Author: Mauro Carvalho Chehab Date: Mon Dec 29 19:02:24 2008 -0300 V4L/DVB (10109): anysee: Fix usage of an unitialized function drivers/media/dvb/dvb-usb/anysee.c: In function ‘anysee_master_xfer’: drivers/media/dvb/dvb-usb/anysee.c:156: warning: ‘ret’ may be used uninitialized By looking at the function, altrough very unlikely, this might eventually be true if num = 0. So, better to fix the warning by initializing with ret = 0. Cc: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ff924203c9e4a5bc218143bc37182851185f4e5f Author: Laurent Pinchart Date: Sun Dec 28 22:32:29 2008 -0300 V4L/DVB (10104): uvcvideo: Add support for video output devices Extend the range of supported UVC devices by allowing video output devices matching the following structure: TT_STREAMING -> VC_PROCESSING_UNIT -> VC_EXTENSION_UNIT{0,n} -> OTT_* Video output devices are reported with the V4L2_CAP_VIDEO_OUTPUT capability flag and are subject to the same restrictions as video input devices. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 538e7a004bf960c96c7e9eb836b59989eb5f5b7f Author: Laurent Pinchart Date: Sun Dec 28 20:26:32 2008 -0300 V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams. Built-in iSight webcams have an interrupt endpoint but spit proprietary data that don't conform to the UVC status endpoint messages. Don't try to handle the interrupt endpoint for those cameras. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit f8dd4af6d44b4b738f125f6a21afa885f3b1d13b Author: Laurent Pinchart Date: Tue Dec 16 10:41:57 2008 -0300 V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous When the first bulk URB of a video payload contains an erroneous header, or when no V4L2 buffer is available, the whole payload must be dropped. Change the skip logic to drop all bulk URBs until the end of the payload instead of the first one only. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4e96fd088cf6fb95ba4b212e5e72bac1e6d34e79 Author: Guennadi Liakhovetski Date: Mon Dec 29 06:04:59 2008 -0300 V4L/DVB (10099): soc-camera: add support for MT9T031 CMOS camera sensor from Micron This camera is rather similar to MT9M001, but also has a couple of enhanced features, like pixel binning. create mode 100644 drivers/media/video/mt9t031.c Signed-off-by: Guennadi Liakhovetski Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit f82a8569bfa10f32a3123ca0b681ec7c3188d2c0 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:44 2008 -0300 V4L/DVB (10098): ov772x: fix try_fmt calculation method Don't modify driver's state in try_fmt, just verify format acceptability or adjust it to driver's capabilities. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 77fe3d4a44f76653263eb8671d7909ab0fdafd71 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:37 2008 -0300 V4L/DVB (10097): ov772x: clear i2c client data on error and remove Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7dcb212eee1d3833073ba0458ca5a603b7b05cc5 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:22 2008 -0300 V4L/DVB (10096): ov772x: change dev_info to dev_dbg Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6d75611231fb22dbce0019310a9f3dc66918317e Author: Kuninori Morimoto Date: Mon Dec 29 06:04:16 2008 -0300 V4L/DVB (10095): The failure of set_fmt is solved in tw9910 priv->scale is checked in start_capture. Therefore, it should be NULL if failing in set_fmt. This patch resolve this problem. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ed922a892e535c14035210b5be328af1f49561c8 Author: Kuninori Morimoto Date: Mon Dec 29 06:04:06 2008 -0300 V4L/DVB (10094): Add tw9910 driver This patch adds tw9910 driver that use soc_camera framework. It was tested on SH Migo-r board and mplayer. create mode 100644 drivers/media/video/tw9910.c create mode 100644 include/media/tw9910.h Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 042d87900217228f865654fa70fade8139bd42cf Author: Guennadi Liakhovetski Date: Fri Dec 19 10:07:49 2008 -0300 V4L/DVB (10093): soc-camera: add new bus width and signal polarity flags In preparation for i.MX31 camera host driver add flags for 4 and 15 bit bus widths and for data lines polarity inversion. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b6c6173ee8af9e8723b76e12bd92e484dc39353f Author: Kuninori Morimoto Date: Thu Dec 18 13:50:40 2008 -0300 V4L/DVB (10092): Change V4L2 field to ANY from NONE on sh_mobile_ceu_camera.c Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a85bdace0c5f951ff614aa5b7cf6acb03f7955bf Author: Guennadi Liakhovetski Date: Thu Dec 18 12:54:33 2008 -0300 V4L/DVB (10091): mt9m001 mt9v022: simplify pointer derefernces Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 06daa1af4d207e93c9a8a3e54adef8635ba81c94 Author: Guennadi Liakhovetski Date: Thu Dec 18 12:52:08 2008 -0300 V4L/DVB (10090): soc-camera: let drivers decide upon supported field values sh_mobile_ceu_camera.c is already prepared to support interlaced format, this patch moves the choice of a field type down to host and / or camera drivers. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ccab8a29040b4b57a45f2150c9b6e6115ebdbc44 Author: Kuninori Morimoto Date: Thu Dec 18 12:51:21 2008 -0300 V4L/DVB (10089): Add interlace support to sh_mobile_ceu_camera.c Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7a1a81643f80df3ff3351b1a81e54470dc47681d Author: Magnus Damm Date: Thu Dec 18 12:50:30 2008 -0300 V4L/DVB (10088): video: sh_mobile_ceu cleanups and comments This patch cleans up the sh_mobile_ceu driver and adds comments and constants to clarify the magic sequence in sh_mobile_ceu_capture(). Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 34d359db7d683e227f27595ad3702fb2ae96108a Author: Kuninori Morimoto Date: Thu Dec 18 12:47:46 2008 -0300 V4L/DVB (10087): Add new enum_input function on soc_camera This patch presents new method to be able to select V4L2 input type Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 513791aba6266e0c15d5b697b97e956e83537f5a Author: Kuninori Morimoto Date: Thu Dec 18 12:46:45 2008 -0300 V4L/DVB (10086): Add new set_std function on soc_camera This patch presents new method to be able to check v4l2_std_id Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9e4a56d27f6150b0c9f8c7cc33ea944749377104 Author: Magnus Damm Date: Thu Dec 18 12:45:33 2008 -0300 V4L/DVB (10085): sh_mobile_ceu: add NV16 and NV61 support This patch adds NV16/NV61 support to the sh_mobile_ceu driver. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8be65dc59645d6ec9149fc26dfff7ca01e279e87 Author: Magnus Damm Date: Thu Dec 18 12:38:06 2008 -0300 V4L/DVB (10084): sh_mobile_ceu: add NV12 and NV21 support This patch adds NV12/NV21 support to the sh_mobile_ceu driver. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1c3bb7431d16f7486a8523d54380bad89c485dc8 Author: Guennadi Liakhovetski Date: Thu Dec 18 12:28:54 2008 -0300 V4L/DVB (10083): soc-camera: unify locking, play nicer with videobuf locking Move mutex from host drivers to camera device object, take into account videobuf locking. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bf507158eb27ea94aca300b28ecee60fdbb40007 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:53:51 2008 -0300 V4L/DVB (10081): pxa-camera: call try_fmt() camera device method with correct pixel format With the introduction of the format conversion support in soc-camera, we now also have to take care to pass the correct pixel format to the camera driver when calling its try_fmt() method. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 64f5905ee74906643e22657bd20e2f11443053f0 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:51:55 2008 -0300 V4L/DVB (10080): soc-camera: readability improvements, more strict operations checks Simplify multiple drivers by replacing f->fmt.pix.* with a single pointer dereference, merge some needlessly broken lines, verify host and camera operations pointers on registration. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9414de39e8e07d90bdb6524be501fae0e013d37b Author: Magnus Damm Date: Thu Dec 18 11:49:06 2008 -0300 V4L/DVB (10079): sh_mobile_ceu: use new pixel format translation code This patch converts the sh_mobile_ceu driver to make use of the new pixel format translation code. Only pass-though mode at this point. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 91962fa713bd8bf47434b02ac661fdc201365fa5 Author: Magnus Damm Date: Thu Dec 18 11:45:00 2008 -0300 V4L/DVB (10078): video: add NV16 and NV61 pixel formats This patch adds support for NV16 and NV61 pixel formats. These pixel formats use two planes; one for 8-bit Y values and one for interleaved 8-bit U and V values. NV16/NV61 formats are very similar to NV12/NV21 with the exception that NV16/NV61 are using the same number of lines for both planes. The difference between NV16 and NV61 is the U and V byte order. The fourcc values are extrapolated from the NV12/NV21 case. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d7f83a5106f2da9eb59bf49e7b48414e27d6618a Author: Mike Rapoport Date: Thu Dec 18 11:44:15 2008 -0300 V4L/DVB (10077): mt9m111: add support for mt9m112 since sensors seem identical Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9b9fd6c71fb46a4a710040c8ef28f1e84b88a830 Author: Mike Rapoport Date: Thu Dec 18 11:42:54 2008 -0300 V4L/DVB (10076): v4l: add chip ID for MT9M112 camera sensor from Micron The chip is largely compatible with MT9M111 and is going to be supported by the same driver. Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit cf34cba78d0e0a7244bd7f11addb4d971293fb30 Author: Guennadi Liakhovetski Date: Thu Dec 18 11:38:03 2008 -0300 V4L/DVB (10075): pxa-camera: setup the FIFO inactivity time-out register Using PXA270's FIFO inactivity time-out register (CITOR) reduces FIFO overruns. The time-out is calculated in CICLK / LCDCLK ticks and has to be longer than one pixel time. For this we have to know the pixel clock frequency, which usually is provided by the camera. We use the struct soc_camera_sense to request PCLK frequency from the camera driver upon each data format change. Tested-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a9bef518cd78d569a3ff0b1ac2afa5e2d8b3573a Author: Guennadi Liakhovetski Date: Thu Dec 18 11:34:20 2008 -0300 V4L/DVB (10074): soc-camera: add camera sense data Add a struct soc_camera_sense, that can be used by camera host drivers to request additional information from a camera driver, for example, when changing data format. This struct can be extended in the future, its first use is to request the camera driver whether the pixel-clock frequency has changed. Tested-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 39bf372f606448de2df93a90f40efc613cb5c909 Author: Robert Jarzmik Date: Thu Dec 18 11:29:05 2008 -0300 V4L/DVB (10073): mt9m111: Add automatic white balance control Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bd73b36f0c41b0c02ef4b10a307db1c43537e006 Author: Guennadi Liakhovetski Date: Tue Dec 23 05:54:45 2008 -0300 V4L/DVB (10072): soc-camera: Add signal inversion flags to be used by camera drivers As reported by Antonio Ospite two platforms with a mt9m111 camera require opposite pixel clock polarity, which means one of them inverts it. This patch adds support for inversion flags and switches all available camera drivers to using them. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 5ca11fa3e0025864df930d6d97470b87c35919ed Author: Eric Miao Date: Thu Dec 18 11:15:50 2008 -0300 V4L/DVB: pxa-camera: use memory mapped IO access for camera (QCI) registers Signed-off-by: Eric Miao Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8a787b40ecf29e5d8cc95bf9f12986862d230d8e Author: Mauro Carvalho Chehab Date: Mon Dec 29 18:35:51 2008 -0300 V4L/DVB (10107): More than one driver defines the same var name (dump_bridge). Add "static" on stv06xx for all static functions and parameters to avoid such troubles. Cc: Erik Andren Cc: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dd9e7c3c42fff48a338f87febee95cd289058bc9 Author: Mauro Carvalho Chehab Date: Mon Dec 29 18:06:09 2008 -0300 V4L/DVB (10106): gscpa - stv06xx: Fix compilation with kernel tree Signed-off-by: Mauro Carvalho Chehab commit 3cac2cab4f5b7eb7d9f7afc42cb251c45b96be36 Author: Kuninori Morimoto Date: Thu Dec 18 11:07:11 2008 -0300 V4L/DVB (10069): Add ov7725 support to ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit aeabc882a3ad9a320783815e0446b12526fd2102 Author: Kuninori Morimoto Date: Thu Dec 18 11:05:49 2008 -0300 V4L/DVB (10068): Change device ID selection method on ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2d425131d2c44228c4390d2d48d302f3e122bc49 Author: Kuninori Morimoto Date: Wed Dec 17 14:05:45 2008 -0300 V4L/DVB (10067): Remove ov772x_default_regs from ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 297a7ef700ce2e91ed0f941034541d1563ef0a7d Author: Guennadi Liakhovetski Date: Wed Dec 17 14:05:38 2008 -0300 V4L/DVB (10066): mt9m001 mt9v022: fix bus-width switch GPIO availability test Testing for non-NULL platform-data is not enough, we have to check if the GPIO in the platform data is valid or not. Also see my earlier patch: [ARM] pxa/pcm990: use negative number for an invalid GPIO in camera data Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 88f4b8990fd2b4d856f63c3689bb4df18029da06 Author: Robert Jarzmik Date: Wed Dec 17 14:05:31 2008 -0300 V4L/DVB (10065): mt9m111: add all yuv format combinations. The Micron mt9m111 offers 4 byte orders for YCbCr output. This patchs adds all possible outputs capabilities to the mt9m111 driver. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 0f28b79346439ef5db130020aa07be9ca7c2ee84 Author: roel kluin Date: Wed Dec 17 14:01:07 2008 -0300 V4L/DVB (10064): mt9m111: mt9m111_get_global_gain() - unsigned >= 0 is always true unsigned >= 0 is always true and fix formula Signed-off-by: Roel Kluin Acked-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d25cb6461ac93683ac04b2e181bcaa0cc15c349b Author: Alexey Klimov Date: Sat Dec 27 22:40:57 2008 -0300 V4L/DVB (10062): dsbr100: change return values in 3 functions Patch replace return -1; with return retval; in 3 functions. And we also change if-checks for this returned values. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6076dbf46a776a666166f8cdad97802334a0083c Author: Alexey Klimov Date: Sat Dec 27 22:35:21 2008 -0300 V4L/DVB (10061): dsbr100: increase driver version Due to a lot of patches for dsbr100 last time we should update version of driver. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit fc55bcb0a04a66465ab13c33f36a290f6e3a3f7d Author: Alexey Klimov Date: Sat Dec 27 22:33:54 2008 -0300 V4L/DVB (10060): dsbr100: fix and add right comments Fix and add right comments. Few empty lines removed. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7e1ca8491d046d1f01de105add7f2f8f477869ec Author: Alexey Klimov Date: Sat Dec 27 22:31:52 2008 -0300 V4L/DVB (10059): dsbr100: dev_err instead of dev_warn We should use dev_err (not dev_warn) if video_register_device fails. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 417b7953668574ff38d3f2dc76e9fe669f121469 Author: Alexey Klimov Date: Sat Dec 27 22:30:29 2008 -0300 V4L/DVB (10058): dsbr100: fix codingstyle, add dev_err messages We should make if-constructions more clear. Introduce int retval variables in some functions to make it this way. Also a lot of useful dev_err messages added. And now we check every returned value after usb_control_msg. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 290588e067b6710b614da4bd538197dd88158b62 Author: Alexey Klimov Date: Sat Dec 27 21:42:39 2008 -0300 V4L/DVB (10057): dsbr100: place dev_warn instead of printk Remove printk in one line and place dev_warn there. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5609cfd23233617858d03fab537bc120f7f6fa7f Author: Douglas Schilling Landgraf Date: Sat Dec 27 21:39:35 2008 -0300 V4L/DVB (10056): em28xx: Add snapshot button on Pixelview Prolink PlayTV USB 2.0 Added snapshot feature for Pixelview Prolink PlayTV USB 2.0 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1e1addd57bdf56c51dbc292d7760ea3d207fe833 Author: Douglas Schilling Landgraf Date: Sat Dec 27 21:38:14 2008 -0300 V4L/DVB (10055): em28xx: Add entry for PixelView PlayTV Box 4 Added board PixelView PlayTV Box 4 Thanks to Vildenei Negrao Pereira for testing and data collection. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 3a0efc3200386b9288e1d3d3be0a9f5d6f286906 Author: Alexey Klimov Date: Sat Dec 27 21:32:49 2008 -0300 V4L/DVB (10054): dsbr100: fix unplug oops This patch corrects unplug procedure. Patch adds usb_dsbr100_video_device_release, new macros - videodev_to_radio, mutex lock and a lot of safety checks. Struct video_device videodev is embedded in dsbr100_device structure. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f2ce9179eab9a1551e91e3c97498e9350a087e39 Author: Alexey Klimov Date: Sat Dec 27 21:31:49 2008 -0300 V4L/DVB (10053): radio-mr800: disable autosuspend support Because this device doesn't provide any powermanagment capabilities(may be they exist but unknown to me yet, so they are not implemented), we should turn them off. Patch sets support_autosuspend equal to 0. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f4e9043e5a07af789ec902dada50f46d08ff8639 Author: Alexey Klimov Date: Sat Dec 27 21:30:34 2008 -0300 V4L/DVB (10052): radio-mr800: correct unplug, fix to previous patch This patch corrects unplug procedure, that was implemented wrong in previous patch. New function usb_amradio_device_release added. Disconnect lock removed. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit da3bcb5d909925397715dff4a7584f21f9857bfa Author: Jean-Francois Moine Date: Mon Dec 29 09:06:09 2008 -0300 V4L/DVB (10050): gspca - vc032x: Webcam 046d:0897 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cc611b8aef7a8a9a2e614f1bdf3e2b8f066c8c8d Author: Jean-Francois Moine Date: Mon Dec 29 07:49:41 2008 -0300 V4L/DVB (10049): gspca - many subdrivers: Set 'const' the pixel format table. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4c98834addfee3fdd42c505c37569261bf669d94 Author: Erik Andren Date: Mon Dec 29 07:35:23 2008 -0300 V4L/DVB (10048): gspca - stv06xx: New subdriver. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 15f64864e392612b230bc71d84e4537b80c607b1 Author: Jean-Francois Moine Date: Mon Dec 29 06:19:43 2008 -0300 V4L/DVB (10046): gspca - ov534: Use the gspca usb buf for usb control messages. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f367b85d9a0bda04c31c5c5598dba758efc6658e Author: Jean-Francois Moine Date: Sun Dec 28 06:51:37 2008 -0300 V4L/DVB (10045): gspca - ov534: Remove empty line in trace. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 71d50f30724c901c3d8cc7a19bdb3c33e1ee5463 Author: Hans de Goede Date: Sat Dec 27 03:43:53 2008 -0300 V4L/DVB (10044): gspca - pac7311: Webcam 093a:2620 added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 27b1e4ca21d6322a16978127b9f227c432f10ae6 Author: Erik Andrén Date: Tue Dec 23 18:06:37 2008 -0300 V4L/DVB (10041): m5602 - rework parts of the resolution initialization Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1f614f40b5ab302596374356f7a2065602e80e25 Author: Erik Andrén Date: Tue Dec 23 17:15:19 2008 -0300 V4L/DVB (10040): m5602 - ov9650: Activate variopixel Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 03f46de925b87b26fcdf611b8fda182002627bd1 Author: Erik Andrén Date: Tue Dec 23 17:07:58 2008 -0300 V4L/DVB (10039): m5602 - ov9650: Add CIF mode Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1b0b27b87fcae1cfbfa74b544bcf452797be7af1 Author: Erik Andrén Date: Tue Dec 23 14:08:07 2008 -0300 V4L/DVB (10038): m5602: tweak the hsync. Remove redundant init sequence Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3b2f3327ff5af235837bc83c6b788bc560ba23a6 Author: Erik Andrén Date: Mon Dec 22 16:06:29 2008 -0300 V4L/DVB (10037): m5602: add QVGA mode for the ov9650 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 082aa8937c79a02397981b7543ccc65d2bdeaf97 Author: Erik Andrén Date: Sun Dec 21 18:07:59 2008 -0300 V4L/DVB (10036): m5602 - ov9650: Prepare the sensor to set multiple resolutions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3da3dce5afd267d354427042090aaf6370ebc15c Author: Erik Andrén Date: Sun Dec 21 17:25:25 2008 -0300 V4L/DVB (10035): m5602: add a start sending hook in the sensor struct Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7d292de890a2367ddb605f9a52b015e45c10e322 Author: Erik Andrén Date: Fri Dec 19 13:29:21 2008 -0300 V4L/DVB (10034): m5602: fixup offset in order to align image Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit cedacfec4d8ef97f3df7755c07f79e5b9dcf010b Author: Erik Andrén Date: Fri Dec 19 13:12:04 2008 -0300 V4L/DVB (10033): m5602: add some comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7e08e66a4c198cd7e01e756744d7de47d31e4dd5 Author: Erik Andrén Date: Fri Dec 19 03:29:31 2008 -0300 V4L/DVB (10032): m5602: add vflip quirk for Alienware m9700 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 0bd7bd79f1cec3e6d142c5bc79b66b36acd9bc3f Author: Erik Andrén Date: Mon Dec 1 03:32:59 2008 -0300 V4L/DVB (10031): m5602: correct the name of the Pascal Stangs library Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1d07b6f14e39eb613e42ff7fe7e352d6f67a65eb Author: Erik Andrén Date: Thu Nov 27 14:07:24 2008 -0300 V4L/DVB (10030): m5602: Use read/modify/write when toggling vflip on the po1030 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 48223c88299a10a62ff5f5e40bd07670a21c3de9 Author: Erik Andrén Date: Thu Nov 27 13:58:20 2008 -0300 V4L/DVB (10029): m5602: remove uneeded test on po1030 The po1030 never sends long i2c messages, no need to test for that in the init phase. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 83fdea270ca5a648185525f61d27c9068355215c Author: Erik Andrén Date: Thu Nov 27 13:55:07 2008 -0300 V4L/DVB (10028): mt5602: Remove the s5k83a specific read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6b9c0a2aad5a64ee7eb605e35bc761d901782d25 Author: Erik Andrén Date: Thu Nov 27 13:54:13 2008 -0300 V4L/DVB (10027): m5602: convert the s5k83a sensor to use the common function Convert the s5k83a sensor to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 62e856dc2fa49d3fc0b5d0b7b315236ea49c5f34 Author: Erik Andrén Date: Thu Nov 27 13:52:53 2008 -0300 V4L/DVB (10026): m5602: remove the s5k4aa implementation of the read_sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4feb24fc2643dc612b3c598c5de062cfbb08e6ea Author: Erik Andrén Date: Thu Nov 27 13:51:11 2008 -0300 V4L/DVB (10025): m5602: convert the s5k4aa sensor to use the common function Convert the s5k4aa sensor to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit f1c6171c4b7b2882a67db6a24c8699fa0efab42f Author: Erik Andrén Date: Thu Nov 27 13:50:17 2008 -0300 V4L/DVB (10024): m5602: Remove the mt9m111 implementation of the read_sensor function. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4f93c450e8320d906ae50c75f2c8696516b5ccf3 Author: Erik Andrén Date: Thu Nov 27 13:48:33 2008 -0300 V4L/DVB (10023): m5602: Convert the mt9m111 to use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2f5ded9b99fa2cfa86a0f08993a932c1e6b47560 Author: Erik Andrén Date: Thu Nov 27 13:47:21 2008 -0300 V4L/DVB (10022): m5602: Remove the po1030 read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c061c97e8db75eb5bab808dcfa93df3767c97b5a Author: Erik Andrén Date: Thu Nov 27 13:46:39 2008 -0300 V4L/DVB (10021): m5602: Let the po1030 use the common read_sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit b66503e30e9f4dc137128364277a988f8b40fa80 Author: Erik Andrén Date: Thu Nov 27 13:44:19 2008 -0300 V4L/DVB (10020): m5602: Remove the ov9650 implementation of the read sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 905aabafc4051a8313168b1dd20949b8108fbbb2 Author: Erik Andrén Date: Thu Nov 27 13:42:45 2008 -0300 V4L/DVB (10019): m5602: Let the ov9650 use the common read sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit edbfbdb3bdcf9ae90ce06b92636a07c05224fe45 Author: Erik Andrén Date: Thu Nov 27 13:41:55 2008 -0300 V4L/DVB (10018): gspca - m5602 - ov9650: Use generic read_sensor function Toggle read sensor sequence depending on type of sensor. Check that no more than max width of a sensor is read. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit e7a7f5103bddf2491760677cdd715a865b889072 Author: Erik Andrén Date: Wed Nov 26 13:15:35 2008 -0300 V4L/DVB (10015): gspca - m5602: Add initial read sensor implementation Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit fce65f6515f049dea9451afaa0e85af01aecd190 Author: Erik Andrén Date: Wed Nov 26 04:12:59 2008 -0300 V4L/DVB (10014): gspca - m5602: Remove all sensor specific write functions. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6dc4cff0c391c691dae56486f854534658fdfea8 Author: Erik Andrén Date: Wed Nov 26 04:08:10 2008 -0300 V4L/DVB (10013): Convert all sensors to use the unified write sensor function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4b8f393391c0492ebec1277d073203392c90677d Author: Erik Andrén Date: Wed Nov 26 04:01:40 2008 -0300 V4L/DVB (10012): m5602: Start to unify read/write sensor functions First step into unifying the read and write sensor functions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d58626c21d8cafe56eb8cdf883d1d6710dc3fc81 Author: Erik Andrén Date: Tue Nov 25 03:50:05 2008 -0300 V4L/DVB (10011): m5602: Remove the write and read sensor from the main struct Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 3efb6bda0788796f0086722ceb608c11d945e55f Author: Erik Andrén Date: Tue Nov 25 03:15:15 2008 -0300 V4L/DVB (10010): gspca - m5602: Add vflip quirk for the ASUS A6Ja Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 658efb63e4d0620369c301d9401acde10499def2 Author: Erik Andrén Date: Mon Nov 24 14:21:29 2008 -0300 V4L/DVB (10009): gspca - m5602: Convert some functions to be static Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 082ec3b865f42f722ea304f0d9f05f3124c37388 Author: Erik Andrén Date: Mon Nov 24 14:12:46 2008 -0300 V4L/DVB (10008): gspca - m5602: Checkpatch.pl fixes on m5602_ov9650.c Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b2cd079ec8dcc65cdca6621245cfa5e30a8ef9f Author: Erik Andrén Date: Thu Nov 20 14:11:58 2008 -0300 V4L/DVB (10007): gspca - m5602: Refactor the error handling in the s5k83a Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit bac79f37be2944f7a1db7585b347ca57628d57e2 Author: Erik Andrén Date: Thu Nov 20 14:03:22 2008 -0300 V4L/DVB (10006): gspca - m5602: Align some defines Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 32500701e572f07e4d9c8e10c6c26d09c28f48a4 Author: Erik Andrén Date: Thu Nov 20 04:02:44 2008 -0300 V4L/DVB (10005): m5602: Cleanup the s5k4aa error handling, cull some comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b9f246738869e6a55bf180441598e8daa72a99e Author: Erik Andrén Date: Thu Nov 20 03:59:02 2008 -0300 V4L/DVB (10004): m5602: Cleanup the po1030 sensor error handling Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit e07b14e80be3d93807a6dc01edb80e0cc38040ad Author: Erik Andrén Date: Thu Nov 20 03:54:43 2008 -0300 V4L/DVB (10003): m5602: Simplify the error handling in the ov9650 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 8bcbc91149bf77dfcc079be911289221f2755b3f Author: Erik Andrén Date: Thu Nov 20 03:46:55 2008 -0300 V4L/DVB (10002): m5602: Simplify error handling in the mt9m111 sensor code Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 619a4d5ca127e80583fb9d269681164363be983e Author: Erik Andrén Date: Thu Nov 20 03:41:44 2008 -0300 V4L/DVB (10001): gspca - m5602: Minor fixes Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 84833a3f4e22907379462e8a7c18970db70d21d8 Author: Erik Andrén Date: Wed Nov 19 17:58:55 2008 -0300 V4L/DVB (10000): gspca - m5602: Add lost ampersand This restores the correct boolean expression Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 88a40cfbf25d82758237250a04d9bed51266215c Author: Fabio Rossi Date: Fri Dec 26 14:41:48 2008 -0300 V4L/DVB (9999): gspca - zc3xx: Webcam 046d:089d added. Signed-off-by: Fabio Rossi Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c6b6c75e206a4da19ff139ea6b34c80306ebbf06 Author: Jean-Francois Moine Date: Wed Dec 24 05:50:04 2008 -0300 V4L/DVB (9997): gspca - main: Don't lock the kernel on ioctl. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5c1a15a149504496b25ee3f681893cbe1647ba39 Author: Jean-Francois Moine Date: Sun Dec 21 15:02:54 2008 -0300 V4L/DVB (9995): gspca - ov534 and m5602: Set static some functions/variables. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 97a53a0fd4d877b1c83cf03db1d2a18583a281db Author: Roel Kluin Date: Sun Dec 21 11:58:05 2008 -0300 V4L/DVB (9994): gspca: t613: Bad loop in om6802 reset. Signed-off-by: Roel Kluin Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 87945895bf14b0b4dacbcef6dc08f284177affc8 Author: Hans de Goede Date: Sat Dec 20 14:30:58 2008 -0300 V4L/DVB (9992): gspca - pac207: Webcam 093a:2461 added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1edabe71277a394b306fcb9a28a1977f345c8a20 Author: Jean-Francois Moine Date: Fri Dec 19 15:17:25 2008 -0300 V4L/DVB (9991): gspca - main: Check if a buffer has been queued on streamon. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 13752bd9c9db4b9baf847fcb6bb281ba48466dd3 Author: Jean-Francois Moine Date: Fri Dec 19 15:08:51 2008 -0300 V4L/DVB (9990): gspca - main: Remove useless tests of the buffer type. The buffer type is already checked in v4l2-ioctl. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f8a04a6fc4373001a7f311540dba5e4f4d86300f Author: Jean-Francois Moine Date: Fri Dec 19 07:21:26 2008 -0300 V4L/DVB (9988): gspca - spca561: Separate the bridge and sensor tables of Rev72a Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5b7ed28ec5deb57f790e38af8d813310b830743c Author: Jean-Francois Moine Date: Thu Dec 18 12:38:15 2008 -0300 V4L/DVB (9987): gspca - spca561: Control changes for Rev72a. - move the rev12a sequence from setcontrast to end of start - add the white balance control for rev72a - adjust the contrast formula Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f4b59e353239d3c8e2456a986e42f4c87cfcef9f Author: Jean-Francois Moine Date: Wed Dec 17 14:43:05 2008 -0300 V4L/DVB (9986): gspca - spca561: Don't get the control values from the webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 35dc1b4cfa75dc0fa5ed44991b41db814e0f7741 Author: Jean-Francois Moine Date: Wed Dec 17 14:34:53 2008 -0300 V4L/DVB (9985): gspca - spca561: Cleanup source. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ca8959bb07f27514f811200b4f71669b1783dc54 Author: Jean-Francois Moine Date: Mon Dec 15 04:12:57 2008 -0300 V4L/DVB (9984): gspca - pac7311: Webcam 093a:262c added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dc1fe157dd679c7b3036a4808db40862a01d53fe Author: Hans de Goede Date: Sun Dec 14 09:37:02 2008 -0300 V4L/DVB (9982): gspca - pac207: Update my email address. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d29ca09d50309bb7df5d57aec88efdcd09a56f9f Author: Thomas Reitmayr Date: Mon Dec 29 10:59:29 2008 -0300 V4L/DVB (9981): [PATCH] usb-urb.c: Fix initialization of URB list. Fix the initialization of the URB list for a DVB-USB device to prevent problems on certain platforms (MIPS). Signed-off-by: Thomas Reitmayr Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2e5ef2dfc45ff1ecebb0d8657b85b3fc716db9bf Author: Mauro Carvalho Chehab Date: Sun Dec 28 22:26:36 2008 -0300 V4L/DVB (9980): em28xx: simplify analog logic Now, just two routines are enough for analog: the first one configs the analog part and register V4L2 devices, and the second one release analog devices. After this patch, it will be easier to transform em28xx-video into an em28xx extension, loaded only on analog devices. Signed-off-by: Mauro Carvalho Chehab commit 1a23f81b7dc3115b29cff0e4f58b5dd04a6242ad Author: Mauro Carvalho Chehab Date: Sun Dec 28 22:18:14 2008 -0300 V4L/DVB (9979): em28xx: move usb probe code to a proper place em28xx-video were holding several code that are not specific to V4L2 interface. This patch moves the core code for em28xx-core, and usb probing code into em28xx-cards. This opens the possibility of breaking em28xx into a core module and a V4L2 module, loaded only on devices that have analog interfaces. Some cleanup may be done at em28xx-cards to optimize the config code. Signed-off-by: Mauro Carvalho Chehab commit 126be90f720d9b23e89c68519022fb806882f42d Author: Jaime Velasco Juan Date: Thu Dec 25 07:04:52 2008 -0300 V4L/DVB (9978): stkwebcam: Implement VIDIOC_ENUM_FRAMESIZES ioctl This patch implements VIDIOC_ENUM_FRAMESIZES, it is used at least by gstreamer. Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 71050814c21a461fb7950373f2ae2fc625412f20 Author: Mauro Carvalho Chehab Date: Fri Dec 26 07:07:39 2008 -0300 V4L/DVB (9977): Kbuild: fix compilation when dib7000p is not defined dib7000p.h defines a few extern symbols when CONFIG_DVB_DIB7000P is not set. since the header is used on more than one driver, this causes symbol duplication, as pointed by Ingo Molnar : drivers/media/dvb/built-in.o: In function `dib7000p_set_gpio': (.text+0x3f242): multiple definition of `dib7000p_set_gpio' drivers/media/video/built-in.o:(.text+0xb8c1e): first defined here drivers/media/dvb/built-in.o: In function `dib7000p_i2c_enumeration': (.text+0x3f282): multiple definition of `dib7000p_i2c_enumeration' drivers/media/video/built-in.o:(.text+0xb8c3e): first defined here drivers/media/dvb/built-in.o: In function `dib7000p_set_wbd_ref': (.text+0x3f1c1): multiple definition of `dib7000p_set_wbd_ref' drivers/media/video/built-in.o:(.text+0xb8bfe): first defined here LD drivers/net/built-in.o make[2]: *** [drivers/media/built-in.o] Error 1 Cc: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4efc9abfde232a74ed1a4c2c1f797bdacf7bda53 Author: Hans Verkuil Date: Tue Dec 23 07:35:45 2008 -0300 V4L/DVB (9975): ivtv: set v4l2_dev instead of parent. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bea3514dd4a44490b53cc52498b2967e48056dd Author: Hans Verkuil Date: Tue Dec 23 07:35:17 2008 -0300 V4L/DVB (9974): v4l2-dev: allow drivers to pass v4l2_device as parent Drivers that use v4l2_device can set that as parent pointer in the v4l2_dev field instead of using the struct device parent field. This allows v4l2-dev.c to check whether this driver is v4l2_device based, and if so then it can offer additional services. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dc93a70cc7f92e1dbaf29fa7dfd914b0f618fb31 Author: Hans Verkuil Date: Fri Dec 19 21:28:27 2008 -0300 V4L/DVB (9973): v4l2-dev: use the release callback from device instead of cdev Instead of relying on the cdev release callback we should rely on the release callback from the device struct. This requires that we use get_device/put_device to do proper refcounting. In order to do this safely v4l2-dev.c now sets up its own file_operations that call out to the driver's ops. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit be49e368fb6e20c3a90c566b040ac3d248e2ce29 Author: Jiri Slaby Date: Mon Dec 22 22:38:23 2008 -0300 V4L/DVB (9972): v4l: usbvideo, fix module ref count check usbvideo_ClientIncModCount may return value < 0 in the case of error, not > 0. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 14983d8163c78826386404b27ee5bfc72e25a9d4 Author: Mauro Carvalho Chehab Date: Mon Dec 22 20:58:41 2008 -0300 V4L/DVB (9970): em28xx: Allow get/set registers for debug on i2c slave chips Signed-off-by: Mauro Carvalho Chehab commit bc97430510960846b6e8f2d62c503653031991e1 Author: Mauro Carvalho Chehab Date: Mon Dec 22 20:34:18 2008 -0300 V4L/DVB (9969): tvp5150: add support for VIDIOC_G_CHIP_IDENT ioctl Signed-off-by: Mauro Carvalho Chehab commit b3ee7e21f25cdd50cccc906dc09e547f36166372 Author: Hans Verkuil Date: Fri Dec 19 10:34:22 2008 -0300 V4L/DVB (9967): cs5345: convert to v4l2_subdev and fix broken s_ctrl. Converted to v4l2_subdev. While doing that I also discovered a stray 'break' that broke the S_CTRL handling. Fixed that as well. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 12f91a3fac52ea0fb0913b4e0e66e7357f31251c Author: Hans Verkuil Date: Thu Dec 18 13:43:45 2008 -0300 V4L/DVB (9966): tda9875: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 973909e816baa85a969d2edd5ac12a1ca8669cec Author: Hans Verkuil Date: Thu Dec 18 13:21:57 2008 -0300 V4L/DVB (9965): tda9840: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d531305ae148d5a401f34cd64434824f5cb8c2b1 Author: Hans Verkuil Date: Thu Dec 18 13:04:05 2008 -0300 V4L/DVB (9964): tda7432: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6869ffe80e4d662a99cea70acad087bb71beb21a Author: Hans Verkuil Date: Thu Dec 18 12:43:56 2008 -0300 V4L/DVB (9963): tlv320aic23b: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2a5b828d753de1675497a319cd4fa67f4dfbb46a Author: Hans Verkuil Date: Thu Dec 18 12:33:45 2008 -0300 V4L/DVB (9962): tea6420: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 85d826b01751c17bc70a97bcacc1886f0c79917d Author: Hans Verkuil Date: Thu Dec 18 12:29:07 2008 -0300 V4L/DVB (9961): tea6415c: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 035f8dc1e478c67ea2682fde8f26ee9d0982a2e7 Author: Hans Verkuil Date: Thu Dec 18 12:27:28 2008 -0300 V4L/DVB (9960): v4l2-subdev: ioctl ops should use unsigned for cmd arg. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 64f70e7e30a074d4f0422679eaa994fa52ba84fc Author: Hans Verkuil Date: Thu Dec 18 12:11:32 2008 -0300 V4L/DVB (9959): tvaudio: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b8fe02557fcf5edd228ec1e3a6a7f8a86b294a6 Author: Hans Verkuil Date: Thu Dec 18 11:17:25 2008 -0300 V4L/DVB (9958): tvp5150: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1fe2740ff10b3de1aab8f88f2f05547e5f369035 Author: Hans Verkuil Date: Thu Dec 18 11:16:24 2008 -0300 V4L/DVB (9957): v4l2-subdev: add g_sliced_vbi_cap and add NULL pointer checks Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 531c98e71805b32e9ea35a218119100bbd2b7615 Author: Mauro Carvalho Chehab Date: Mon Dec 22 13:18:27 2008 -0300 V4L/DVB (9953): em28xx: Add suport for debugging AC97 anciliary chips The em28xx driver can be coupled to an anciliary AC97 chip. This patch allows read/write AC97 registers directly. Signed-off-by: Mauro Carvalho Chehab commit 4b00eb25340c1a9b9eedaf0bc5b0f0d18eddb028 Author: Hans Verkuil Date: Fri Dec 19 11:17:56 2008 -0300 V4L/DVB (9944): videodev2.h: fix typo. The comment said CX2584X instead of CX2341X. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a47ddf1425554ca0b1e9b16b20a9d631e5daaaa8 Author: Hans Verkuil Date: Fri Dec 19 10:20:22 2008 -0300 V4L/DVB (9943): v4l2: document video_device. Add the missing video_device documentation to v4l2-framework.txt. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 806e5b7cfa96195baadc4cc4663266aaac92e22b Author: Hans Verkuil Date: Fri Dec 19 09:10:56 2008 -0300 V4L/DVB (9942): v4l2-dev: check for parent device in get_index. get_index requires a valid parent device in order to discover which indices are in use. Some drivers (e.g. pvrusb2) do not set the parent device. In that case just return 0. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cfbd3072890e119639b97a133d84c13d25bba034 Author: Hans Verkuil Date: Fri Dec 19 07:36:46 2008 -0300 V4L/DVB (9941): cx24113: fix compile warnings Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 77587c5627aab50636ea0f93c28d2013cd0b7004 Author: Hans Verkuil Date: Fri Dec 19 07:18:38 2008 -0300 V4L/DVB (9940): bt832: remove this driver The bt832 i2c driver was never used or even compiled and is no longer maintained. It is now removed completely. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49dd1315fae94ef6161f72c7be961560d3309f17 Author: Hans Verkuil Date: Fri Dec 19 07:07:56 2008 -0300 V4L/DVB (9939): tuner: fix tuner_ioctl compile error if V4L1 ioctls are disabled. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 55d81aa5c11f9da510a72cc48fd59689b3e91e3a Author: Andy Walls Date: Sat Dec 20 23:48:57 2008 -0300 V4L/DVB (9937): cx18: Use a consistent crystal value for computing all PLL parameters Use a consistent crystal value of 28.636360 MHz for computing all PLL parameters so clocks don't have relative error due to assumed crystal value mismatches. Also aimed to have all PLLs run their VOCs at close to 400 MHz to minimze the error of these PLLs as frequency synthesizers. Also set the VDCLK and AIMCLK PLLs to sane values before the APU and CPU firmware are loaded. Also fixed I2S Master clock dividers. Many thanks to Mike Bradley and Jeff Campbell for reporting this problem and suggesting the solution, researching and experimenting, and performing extensive testing to support their suggested solution. Reported-by: Jeff Campbell Reported-by: Mike Bradley Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 57e24b629a5282bee24aaff44977270a3e462041 Author: Andy Walls Date: Sat Dec 20 23:26:38 2008 -0300 V4L/DVB (9936): cx18: Disable locking of Video and Audio PLL for analog captures Disable AV_LOCK, locking of audio PLL to video PLL in the cx18-av-core for analog captures. It seems to have adverse effects on captures from SVideo and CVBS sources with current clock & crystal settings in the driver. Many thanks to Jeff Campbell and Mike Bradley for reporting this problem, and suggesting the solution and performing extensive testing to support their suggestion. Reported-by: Jeff Campbell Reported-by: Mike Bradley Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 15029b39bb95a765b57ad81f5062718b10422072 Author: Hans Verkuil Date: Sun Dec 21 10:44:24 2008 -0300 V4L/DVB (9934): v4l2-compat32: add two additional #ifdef __OLD_VIDIOC_ lines Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 92f45badbbaccdbc1be25085292a1e258948e221 Author: Hans Verkuil Date: Sun Dec 21 10:35:25 2008 -0300 V4L/DVB (9932): v4l2-compat32: fix 32-64 compatibility module Added all missing v4l1/2 ioctls and fix several broken conversions. Partially based on work done by Cody Pisto . Tested-by: Brandon Jenkins Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b6070f0756fe1bccda1c8c67a6bfdfa51022b664 Author: Mauro Carvalho Chehab Date: Mon Dec 22 06:20:32 2008 -0300 V4L/DVB (9931): em28xx: de-obfuscate vidioc_g_ctrl logic vidioc_g_ctrl() were using an uneeded confusing logic. Instead, use the direct approach. Signed-off-by: Mauro Carvalho Chehab commit 5db0b5e1adff92dac54f2dfb1846a42501c8f7d9 Author: Mauro Carvalho Chehab Date: Mon Dec 22 06:14:31 2008 -0300 V4L/DVB (9930): em28xx: Fix bad locks on error condition Signed-off-by: Mauro Carvalho Chehab commit 02ebf23bc20eee5d91d008a9e831e7768d963946 Author: Alan Nisota Date: Sat Dec 20 12:03:06 2008 -0300 V4L/DVB (9928): Convert GP8PSK module to use S2API This patch converts the gp8psk module to use the S2API. It pretends to be DVB-S2 capable in order to allow the various supported modulations (8PSK, QPSK-Turbo, etc), and keep software compatibility with the S2API patches for Mythtv and VDR. Signed-off by: Alan Nisota Signed-off-by: Mauro Carvalho Chehab commit bddcf63313c6a4a85f94db092f45e31f530da691 Author: Mauro Carvalho Chehab Date: Sat Dec 20 09:06:37 2008 -0300 V4L/DVB (9927): em28xx: use a more standard way to specify video formats This patch uses the same code for enumberating video formats that are present on cx88, bttv and saa7134 drivers. Signed-off-by: Mauro Carvalho Chehab commit 381aaba91de9659ccb8c061d6b7248e606903374 Author: Mauro Carvalho Chehab Date: Sat Dec 20 07:43:34 2008 -0300 V4L/DVB (9926): em28xx: Fix a bug that were putting xc2028/3028 tuner to sleep The changeset 78aa52a159cf introduced a bug on em28xx: buffer setup should be awaking xc3028. Instead, since we didn't specify the tuner mode, the device were going to sleep, due to the lack of tuner mode when asking tuner to handle VIDIOC_S_FREQUENCY: xc2028 0-0061: Device is Xceive 3028 version 1.0, firmware version 2.7 xc2028 0-0061: divisor= 00 00 14 d0 (freq=83.250) xc2028 0-0061: Putting xc2028/3028 into poweroff mode. xc2028 0-0061: Printing sleep stack trace: Pid: 10936, comm: mplayer Tainted: P M 2.6.27.8 #1 Call Trace: [] xc2028_sleep+0x89/0x1ab [tuner_xc2028] [] tuner_s_frequency+0xf5/0x165 [tuner] Signed-off-by: Mauro Carvalho Chehab commit 16a5e53d09227a080410b0385a7884bf7b84bc06 Author: Mauro Carvalho Chehab Date: Sat Dec 20 07:17:10 2008 -0300 V4L/DVB (9925): tuner-core: add debug msg's when asking tuner to sleep Signed-off-by: Mauro Carvalho Chehab commit d553cc958aacdc3cdfcecd675b15458aa156c736 Author: Devin Heitmueller Date: Wed Dec 17 02:25:00 2008 -0300 V4L/DVB (9923): xc5000: remove init_fw option The init_fw option was broken for the HVR-950q because we would call the reset callback inside of dvb_attach() and the callback had not been setup yet. Michael Krufky (who added the init_fw feature) says it's no longer required, so just remove the option completely. Thanks to user Zzeiss from #linuxtv chat for reporting the issue and Michael Krufky for proposing the fix. Signed-off-by: Devin Heitmueller Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c665f4dd99a584036c2bd79a6baa25b06cae42f8 Author: Devin Heitmueller Date: Tue Dec 16 23:35:23 2008 -0300 V4L/DVB (9922): em28xx: don't assume every eb1a:2820 reference design is a Prolink PlayTV USB2 Don't operate under the assumption that every device that uses the em2820 default USB ID is a Prolink PlayTV USB. We have an eeprom hash, so use that, since otherwise we cannot support other devices with the 2820 default USB ID (such as the ADS Tech Instant TV USB USBAV-704) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b1fa26c66c975bbd3173a45ef673870fd1d52dea Author: Devin Heitmueller Date: Tue Dec 16 23:15:33 2008 -0300 V4L/DVB (9921): em28xx: add chip id for em2874 Add the em2870 to the list of known em28xx chip ids. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 793927372626bae48b32db24dddde40d73923a9c Author: Darron Broad Date: Thu Dec 18 06:28:35 2008 -0300 V4L/DVB (9918): cx88: advise/acquire clean-up for HVR-1300/3000/4000 This cleans-up the advise/acquire methods. This has been tested on the hvr-1300/4000 and assumed to be correct on the hvr-3000. This update also fixes analogue tuning on the hvr-1300 when in blackbird mode. Signed-off-by: Darron Broad Cc: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6639f1e060c2d2f3331ba6bcefe8f65b623365f3 Author: Darron Broad Date: Thu Dec 18 06:28:18 2008 -0300 V4L/DVB (9917): cx24116: change to ALGO_HW Slow tuning, EG: > szap-s2 -r -c 39.FTATV "1=Pgm1;Net1" reading channels from file '39.FTATV' zapping to 3 '1=Pgm1;Net1': delivery DVB-S, modulation QPSK sat 0, frequency 11140 MHz V, symbolrate 1425000, coderate 5/6, rolloff 0.35 vpid 0x0200, apid 0x0300, sid 0x0001 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' status 00 | signal c2c0 | snr 0000 | ber 00012d4a | unc 00000000 | status 03 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 01 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 03 | signal c040 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal c040 | snr bb33 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Appears to be resolved by dropping zig-zag tuning and relying on hardware only: > szap-s2 -r -c 39.FTATV "1=Pgm1;Net1" reading channels from file '39.FTATV' zapping to 3 '1=Pgm1;Net1': delivery DVB-S, modulation QPSK sat 0, frequency 11140 MHz V, symbolrate 1425000, coderate 5/6, rolloff 0.35 vpid 0x0200, apid 0x0300, sid 0x0001 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' status 01 | signal ff80 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal ff80 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal c040 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 1f | signal ff80 | snr c199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Tuning to a weaker channel shows that the hardware recovers sync: status 1f | signal fe40 | snr 5199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fd40 | snr 5000 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fd80 | snr 5000 | ber 00000000 | unc 00000000 | status 01 | signal fd80 | snr 4e66 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK status 03 | signal fe40 | snr 5000 | ber 00000000 | unc 00000000 | status 01 | signal fd80 | snr 0000 | ber 00000000 | unc 00000000 | status 1f | signal fe40 | snr 5199 | ber 00000000 | unc 00000000 | FE_HAS_LOCK Also, tuning, moving the dish and then restoring the dish also retunes. Signed-off-by: Darron Broad Cc: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2fac9a0f44d1950abb0e16f5d43f88866962ca3c Author: Darron Broad Date: Thu Dec 18 06:27:50 2008 -0300 V4L/DVB (9916): dvb-core: don't add an event when in ONE SHOT mode for algo type HW It has been noticed that in HW tuning mode in cx24123.c that a check is made to not alter the status var when in one shot mode, a simpler solution is to not update here for all cards. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 2fd9339664bc18a5345bbd6b855ff58273049f32 Author: Darron Broad Date: Thu Dec 18 06:27:23 2008 -0300 V4L/DVB (9915): cx24116: fix retune regression introduced in 70ee86a7c630 Thanks to AKPM for spotting this. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 3569476dcebc7d6154815239ec982dee77511581 Author: Darron Broad Date: Thu Dec 18 06:21:51 2008 -0300 V4L/DVB (9914): cx24116: bugfix: add missing delsys in FEC lookup Delsys was missing when searching for FEC in table. This fixes FEC lookup for DVB-S2 QPSK modulation. Cc: Steven Toth Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit e278e746bc95dd1e7aa90eb5b858c309266797cd Author: Mauro Carvalho Chehab Date: Thu Dec 18 06:00:25 2008 -0300 V4L/DVB (9913): tuner-xc2028: allow printing stack trace as debug on sleep code tuner-xc3028 can be put to sleep to save power. However, if not properly recovered from sleep, the device won't work. It is noticed that some devices doesn't recover properly, so let's add a dump_stack() as a debug option, to allow us to track when this happens. Signed-off-by: Mauro Carvalho Chehab commit efc52a94840198eb5ba68107812b879d34959dbb Author: Mauro Carvalho Chehab Date: Tue Dec 16 22:04:56 2008 -0300 V4L/DVB (9912): em28xx: fix/improve em28xx locking schema Changes/fixes on em28xx dev->lock: - em28xx_init_dev() were unlocking without a previous lock; - some read ioctls need to lock after the removal of KBL, since a write may be happening at the same time an ioctl is reading; - keep the device locked during all device initialization; - lock/unlock while reading/writing registers. Signed-off-by: Mauro Carvalho Chehab commit cf8c91c3e77cc26c43cfe6fc47e649b685736259 Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:36:13 2008 -0300 V4L/DVB (9911): em28xx: vidioc_try_fmt_vid_cap() doesn't need any lock vidioc_try_fmt_vid_cap() just checks if a given resolution is supported. It doesn't touch on struct em28xx device descriptor. so, there's no need to lock. While there, use unlikely() for those values that aren't likely to occur. Signed-off-by: Mauro Carvalho Chehab commit 29b59417c514a2c5291abb4e3a42e5245ffe6058 Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:19:24 2008 -0300 V4L/DVB (9910): em28xx: move res_get locks to the caller routines Signed-off-by: Mauro Carvalho Chehab commit 7831364f33af9bb7333f333e9a239b1dd2edea1c Author: Mauro Carvalho Chehab Date: Tue Dec 16 20:00:49 2008 -0300 V4L/DVB (9909): em28xx: move dev->lock from res_free to the caller routines Signed-off-by: Mauro Carvalho Chehab commit 7d4f0b8153608fbfdae26887512fa1fb5229cde9 Author: Hans Verkuil Date: Mon Dec 15 07:19:20 2008 -0300 V4L/DVB (9905): v4l2-compat32: add missing newline after kernel message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 69373f6a9cde6a7683d877ca8ad296112fe032e6 Author: Hans Verkuil Date: Mon Dec 15 07:15:32 2008 -0300 V4L/DVB (9904): v4l: fix compile warning. Fix (bogus) compile warning about uninitialized variable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9768352ac1f9cc3aae675adb299452bd28a54734 Author: Laurent Pinchart Date: Tue Dec 16 06:46:32 2008 -0300 V4L/DVB (9903): uvcvideo: V4L2 zoom controls support Add support for absolute and continuous zoom controls (mapped to absolute and relative UVC zoom controls). Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6df126f834c7f6972528cba43604ce0c97329886 Author: Laurent Pinchart Date: Tue Dec 16 06:44:11 2008 -0300 V4L/DVB (9902): uvcvideo: V4L2 privacy control support Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 74980159e75e3a6913d23d1508da57d018fe7436 Author: Laurent Pinchart Date: Sun Dec 14 16:24:04 2008 -0300 V4L/DVB (9899): v4l2: Add missing control names Update v4l2_ctrl_get_name() and v4l2_ctrl_get_menu() with missing control names and menu values. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 046425f8c4ac431db00c09a6d9fba16560b8e5b9 Author: Laurent Pinchart Date: Sun Dec 14 16:22:05 2008 -0300 V4L/DVB (9898): v4l2: Add privacy control The privacy control prevents video from being acquired by the camera. A true value indicates that no image can be captured. Devices that implement the privacy control must support read access and may support write access. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0877258d98154565def498833ccb208234c85084 Author: Laurent Pinchart Date: Sun Dec 14 16:21:16 2008 -0300 V4L/DVB (9897): v4l2: Add camera zoom controls The zoom controls move the zoom lens group to a an absolute position, as a relative displacement or at a given speed until reaching physical device limits. Positive values move the zoom lens group towards the telephoto direction, negative values towards the wide-angle direction. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit fd6b9c978dc3447b9b4677d8949ef3ea7f946abc Author: Andy Walls Date: Sun Dec 14 21:26:25 2008 -0300 V4L/DVB (9895): cx18: Refine the firmware load and firmware startup process Refine the firmware load and firmware startup process. Significant changes are to ensure the SCB and IPC area are correct before starting up the firmware, and letting the CPU firmware start up the APU firmware for us. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 50b86bac6ae6dda00faa14f7d73ae2412eacc240 Author: Andy Walls Date: Sun Nov 23 19:16:44 2008 -0300 V4L/DVB (9894): cx18: Use a known open task handle when setting stream CX2341x parameters cx18: Use a known open task handle when setting stream CX2341x parameters Sometimes, we might only have VBI or YUV stream open instead of an MPEG stream. Let's make sure we use a valid task handle to perform the CX2341x control settings. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f6b181ac3bda7aab227e9ee3148bc9b7f1889c57 Author: Andy Walls Date: Sun Dec 14 21:05:36 2008 -0300 V4L/DVB (9893): cx18: Convert some list manipulations to emphasize entries not lists Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit aafc77066f4cc8b6de4af1a7d643c9646e19bad9 Author: Andy Walls Date: Sun Dec 14 19:21:35 2008 -0300 V4L/DVB (9892): cx18: VBI comment corrections and comments about VBI issues VBI comment corrections to avoid future confusion about standards. Comments on cx18 VBI implementation shortcomings that need resolution. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0ef0289264e8f278312909f1639a7764cc9cf580 Author: Andy Walls Date: Sun Dec 14 18:52:12 2008 -0300 V4L/DVB (9891): cx18 Replace magic number 63 with CX18_MAX_FW_MDLS_PER_STREAM Removed magic number that referred to firmware limit on the number of MDLs the firmware can maintain for any stream at any one time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 83c3a3c8b6a0e7a54ca9fa18b02c90e2d9a889f9 Author: Patrick Boettcher Date: Sun Dec 14 11:56:28 2008 -0300 V4L/DVB (9889): CX24113: Fixed more typos Uwe Bugla pointed out that there are some more typos in some print-statements. Fixed. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 14811ac911780f029113323a325b7b87f1042194 Author: Uwe Bugla Date: Sun Dec 14 09:11:53 2008 -0300 V4L/DVB (9888): Patch: fix a typo in cx24113.c This patch fixes a typo in cx24113.c. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 826c8b6092f3e1c98dd6236ad212a3c0e292d42e Author: Patrick Boettcher Date: Sun Dec 14 08:59:55 2008 -0300 V4L/DVB (9887): Minor fixes for cx24113-driver (codingstyle) Fixed some minor coding style issues and some driver information printed when using the driver on a board. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1dc87b6e2fb29777f921c733d78df7eea31e6cc8 Author: Jean-Francois Moine Date: Sun Dec 14 05:50:24 2008 -0300 V4L/DVB (9884): gspca - ov534: Fix a warning when compilation without GSPCA_DEBUG. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e6e483782772994fe42ef9e8b5b4d6f6376b3d45 Author: Antonio Ospite Date: Sun Dec 14 05:48:07 2008 -0300 V4L/DVB (9883): gspca - ov534: Show sensor ID. The original version of sccb_read_reg() is from Jim Paris. NOTE: as it is now reading sensor ID won't work for sensors on different i2c slave address. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 15e3209a30c1b4dd52e937388fb3969d06dc33ec Author: Antonio Ospite Date: Sun Dec 14 05:41:56 2008 -0300 V4L/DVB (9882): gspca - ov534: Fix typo. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47a42b0b9cc9c328ce33af9e4bab58e57d643908 Author: Jean-Francois Moine Date: Sat Dec 13 07:45:34 2008 -0300 V4L/DVB (9880): gspca - vc032x: Add V&H flips and sharpness controls for sensor po1200. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f8ea4af42b03976eb986742957fc7c581b620937 Author: Jean-Francois Moine Date: Fri Dec 12 04:48:06 2008 -0300 V4L/DVB (9879): gspca - vc032x: Remove the unused quality/qindex. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d473a002399ff8cd168012f831aca7691d5f5086 Author: Hans de Goede Date: Thu Dec 11 05:02:18 2008 -0300 V4L/DVB (9878): gspca - vc032x: Fix frame overflow errors with vc0321. The vc0321 sends some additional data after sending the complete frame, we ignore this. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 11d9f25da89523d19dba3608d51a86af2954fc0d Author: Jim Paris Date: Wed Dec 10 06:06:20 2008 -0300 V4L/DVB (9877): gspca - ov534: Add framerate support. Add support for getting and setting framerate via v4l2 controls, rather than setting a fixed value at module insertion. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 627a5ef7893fa127925b99e2597c8210202c75aa Author: Jim Paris Date: Wed Dec 10 06:02:42 2008 -0300 V4L/DVB (9876): gspca - main: Allow subdrivers to handle v4l2_streamparm requests. Add get_streamparm and set_streamparm operations so subdrivers can get/set stream parameters such as framerate. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c06eb61941459b1981817fb675d0104ac0cd6df8 Author: Jim Paris Date: Wed Dec 10 05:47:44 2008 -0300 V4L/DVB (9874): gspca - ov534: Explicitly initialize frame format. Set frame format registers 0x0a and 0x0b to explicit values rather than relying on reset-time defaults. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0f7a50b29dd9c8603d5ce15c11fd1a1d731e1a6d Author: Jim Paris Date: Wed Dec 10 05:45:14 2008 -0300 V4L/DVB (9873): gspca - ov534: Improve payload handling. Frame data in bulk transfers is separated into 2048-byte payloads. Each payload has its own header. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8d3f6e3582b762a3b28f52c8093631caee94c03a Author: Jean-Francois Moine Date: Wed Dec 10 05:13:05 2008 -0300 V4L/DVB (9871): gspca - vc032x: Bad detection of sensor mi0360. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8852153548b31abb99c1c0772d03f92054f1f80d Author: Jean-Francois Moine Date: Wed Dec 10 05:06:13 2008 -0300 V4L/DVB (9870): gspca - vc032x: Webcam 15b8:6002 and sensor po1200 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7320d6bf300262b05116309ecf0c6655c818a5da Author: Jean-Francois Moine Date: Mon Dec 8 06:41:04 2008 -0300 V4L/DVB (9869): gspca - zc3xx: Change the USB exchanges for the sensor pas202b. This sensor was declared as hdcs2020. The new exchanges have been extracted from the ms-win file usbvm31b.inf. The light frequency control has been added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f4f4ef7618c0839326aa6f462a7c95ed76fb26b6 Author: Jean-Francois Moine Date: Mon Dec 8 06:25:40 2008 -0300 V4L/DVB (9868): gspca - zc3xx: Remove the duplicated register names Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 34e21c34c621821a44bd49f3e889bc17fadfbfa7 Author: Jean-Francois Moine Date: Mon Dec 8 05:17:32 2008 -0300 V4L/DVB (9867): gspca - vc032x: Remove the autogain control. This control was not coded. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7dc7ad38f4f375c21ef5e05461639061e6483c73 Author: Jean-Francois Moine Date: Mon Dec 8 05:13:53 2008 -0300 V4L/DVB (9866): gspca - vc032x: V and H flips added for sensors ov7660 and 7670. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e18fd01e63aada731efbcadba6232fde28a20ff5 Author: Jean-Francois Moine Date: Mon Dec 8 04:48:21 2008 -0300 V4L/DVB (9865): gspca - vc032x: Bad check of the sensor mi0360. Error was due to bad variable names. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2961e875ea1b9ef446e7533eff86e6711fd3a727 Author: Romain Beauxis Date: Fri Dec 5 06:25:26 2008 -0300 V4L/DVB (9864): gspca - ov519: Change copyright information. Signed-off-by: Romain Beauxis Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 577cbf49cd793c39f149b526309b080ac4ebbad4 Author: Jean-Francois Moine Date: Fri Dec 5 06:18:37 2008 -0300 V4L/DVB (9863): gspca - sonixj: Cleanup / simplify code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8c252050146fc6f54e9bf5ef8276b25f3dd67a1c Author: Jean-Francois Moine Date: Thu Dec 4 05:06:08 2008 -0300 V4L/DVB (9861): gspca - ov534: Accept many simultaneous webcams. This patch moves the last fid and pts from static to the sd structure. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fb139224aea3b56237542690516eb9d6d671b135 Author: Jim Paris Date: Thu Dec 4 04:52:40 2008 -0300 V4L/DVB (9860): gspca - ov534: Frame transfer improvements. The indirect registers at 0x1c/0x1d control frame settings. If we leave the values at 0x0a and 0x0b at their reset-time defaults, frame data from the camera matches the UVC payload format. This lets us better reassemble the data into frames and know when data was lost. This also lets us relax the bulk_size requirement from 600K to 2K, which should help systems on with limited RAM (like the PS3). Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5ea9c4def8154a5be836dd31cbd97f49fd34ea8f Author: Jim Paris Date: Thu Dec 4 04:36:14 2008 -0300 V4L/DVB (9859): gspca - ov534: Fix frame size so we don't miss the last pixel. The frame size is too small, so we lose the last YUYV pixel. Fix the setup and remove the last_pixel hack. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47dfd21fbf4ba303b5fdfad6f4e110e57990803c Author: Jim Paris Date: Thu Dec 4 04:28:27 2008 -0300 V4L/DVB (9858): gspca - ov534: Initialization cleanup. Signed-off-by: Jim Paris Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 442a43f50fac8ce13f1b43ca7c5f54af6f91c65e Author: Antonio Ospite Date: Wed Dec 3 16:21:08 2008 -0300 V4L/DVB (9857): gspca: Use smaller chunks for urb buffer in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9e1e7b068debea80c3ffbde264d0389b8137b589 Author: Antonio Ospite Date: Wed Dec 3 14:10:01 2008 -0300 V4L/DVB (9856): gspca: Use u8 values for USB control messages in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3adba442246a81aad29cf99ef55500379b7a3669 Author: Antonio Ospite Date: Wed Dec 3 14:01:54 2008 -0300 V4L/DVB (9855): gspca: Simplify frame rate setting and debug in ov534. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a9da98a4336df020e5f089b963295373c6c3e6b9 Author: Jean-Francois Moine Date: Wed Dec 3 07:29:26 2008 -0300 V4L/DVB (9854): gspca: Add the webcam 0c45:60fe in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 121520a7084b48cb26437c6e89d4b491c3e4d4d5 Author: Jean-Francois Moine Date: Wed Dec 3 07:19:22 2008 -0300 V4L/DVB (9853): gspca: Webcam 093a:2622 added in pac7311. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit daa5cb42f12684173e2cfd7d062527ca24916791 Author: Jean-Francois Moine Date: Tue Dec 2 15:00:57 2008 -0300 V4L/DVB (9852): gspca: Fix image problem at low resolutions with ov7660 in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit bd088835c78bd402711b16940b80bb761a74fa75 Author: Jean-Francois Moine Date: Tue Dec 2 06:58:57 2008 -0300 V4L/DVB (9850): gspca: Bad color control in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d7bb7317d4caca55de72e5bd2229d68ed7cce7af Author: Jean-Francois Moine Date: Tue Dec 2 06:56:47 2008 -0300 V4L/DVB (9849): gspca: Add the webcam 0c45:613a in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3319dc98a742d445a660268a6ce3426ad0922e2a Author: Jean-Francois Moine Date: Mon Dec 1 14:44:02 2008 -0300 V4L/DVB (9848): gspca: Webcam 06f8:3004 added in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2ed9f81680432e3dc42b41d4738d443bc516b8c9 Author: Jean-Francois Moine Date: Fri Nov 28 15:31:43 2008 -0300 V4L/DVB (9847): gspca: Align the 640x480 and 320x240 init of tas5130 in zc3xx. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f955c4fc863c0823ec6c224b6645ab67c46f1a0d Author: Jean-Francois Moine Date: Fri Nov 28 08:51:50 2008 -0300 V4L/DVB (9846): gspca: Do the webcam microphone work when present. This patch adds the set/get/enum audio controls. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cbb0554f9db8a7f592fad898d57df79fe38bf492 Author: Jean-Francois Moine Date: Wed Nov 26 16:17:13 2008 -0300 V4L/DVB (9845): gspca: Add sensor mi0360 in vc032x. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 403123d276e6af29ed401930fd8e25de768d2e34 Author: Jean-Francois Moine Date: Wed Nov 26 04:46:15 2008 -0300 V4L/DVB (9843): gspca: Change the colors and add the red and blue controls in sonixj. The colors control (saturation) acted as color balance. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b1b056a5f22851273813f7f1208b50fb7934f12a Author: Jean-Francois Moine Date: Tue Nov 25 04:47:09 2008 -0300 V4L/DVB (9842): gspca: Center the brightness in sonixj. The brightness jumped from max to min at the middle of the control values. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit abf485fe5136c4f828df2d07655d6dc7253894a5 Author: Jean-Francois Moine Date: Mon Nov 24 06:38:21 2008 -0300 V4L/DVB (9841): gspca: Use msleep instead of mdelay. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8843765e28f0eeb0510edb0cc3037d9e1dffd6a6 Author: Jean-Francois Moine Date: Mon Nov 24 06:28:58 2008 -0300 V4L/DVB (9840): gspca: Simplify the pkt_scan of stk014. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9edf1a69259a74fc295f2ef52546f3da8bb962cb Author: Jean-Francois Moine Date: Sun Nov 23 15:53:28 2008 -0300 V4L/DVB (9838): gspca: Delay when trying an other altsetting on streaming start. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 91bd3412a22d68b7a9a09720e748fbbf68c2d545 Author: Jean-Francois Moine Date: Sun Nov 23 14:47:50 2008 -0300 V4L/DVB (9837): gspca: Simplify the brightness/contrast for ov76xx sensors in sonixj. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 67ec09fdf5e05d4670b617256c696348b5df080b Author: Hans Verkuil Date: Sat Nov 29 19:38:23 2008 -0300 V4L/DVB (9835): ivtv/ivtvfb: convert to v4l2_device/v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ca085fb900265b525e3f9fb95fb6d7fd27a302ea Author: Hans Verkuil Date: Sat Nov 29 13:03:22 2008 -0300 V4L/DVB (9834): wm8775: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f1460e9771b2166ff5802cf95e81b7e00b055303 Author: Hans Verkuil Date: Sat Nov 29 13:02:26 2008 -0300 V4L/DVB (9833): wm8739: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9460f067e45a0099cfa9349361de3b19e8e8ceb Author: Hans Verkuil Date: Sat Nov 29 13:01:28 2008 -0300 V4L/DVB (9832): vp27smpx: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cc7ca3ea062c440d6d2cd995023bdfd0278f78a9 Author: Hans Verkuil Date: Sat Nov 29 13:00:30 2008 -0300 V4L/DVB (9831): upd64083: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 09abd5065f3c0a4d0e74f308639f6d69adaa1a04 Author: Hans Verkuil Date: Sat Nov 29 12:59:33 2008 -0300 V4L/DVB (9830): upd64031a: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e8a4a9e79b169317e698a0fdc469545d93ef304b Author: Hans Verkuil Date: Mon Nov 24 18:21:40 2008 -0300 V4L/DVB (9829): tuner: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 27760fc4b9b71d04568580fd44b38ac708731b28 Author: Hans Verkuil Date: Sat Nov 29 12:57:44 2008 -0300 V4L/DVB (9828): saa717x: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 627426c67553e2fbf99b5143623bffcc6b0b1020 Author: Hans Verkuil Date: Sat Nov 29 12:56:38 2008 -0300 V4L/DVB (9827): saa7127: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9415f4b2166e6d9b3095fef47f4aa7dac76ac037 Author: Hans Verkuil Date: Sat Nov 29 12:55:19 2008 -0300 V4L/DVB (9826): saa7115: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 76efd62f1546c6fab2116d3ba832403387bd3d4a Author: Hans Verkuil Date: Mon Nov 24 18:16:46 2008 -0300 V4L/DVB (9825): msp3400: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5d302f2e2c5fce46d88a9f6b3c1f74f9e9240e25 Author: Hans Verkuil Date: Sat Nov 29 12:51:32 2008 -0300 V4L/DVB (9824): m52790: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9357b31c6cbd3d1c279fb161b3bf179c53062365 Author: Hans Verkuil Date: Sat Nov 29 12:50:06 2008 -0300 V4L/DVB (9823): cx25840: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 825c6aa2a874731fa5fbe96a9a0c8f2e27f6a0c0 Author: Hans Verkuil Date: Sat Nov 29 12:45:59 2008 -0300 V4L/DVB (9822): cs53l32a: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd99120c7165c6873a423977d1eaa41b6e2d1ffc Author: Hans Verkuil Date: Sun Nov 23 12:19:45 2008 -0300 V4L/DVB (9821): v4l2-common: add i2c helper functions Add helper functions to load i2c sub-devices, integrating them into the v4l2-framework. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2a1fcdf08230522bd5024f91da24aaa6e8d81f59 Author: Hans Verkuil Date: Sat Nov 29 21:36:58 2008 -0300 V4L/DVB (9820): v4l2: add v4l2_device and v4l2_subdev structs to the v4l2 framework. Start implementing a proper v4l2 framework as discussed during the Linux Plumbers Conference 2008. Introduces v4l2_device (for device instances) and v4l2_subdev (representing sub-device instances). Signed-off-by: Hans Verkuil Reviewed-by: Laurent Pinchart Reviewed-by: Guennadi Liakhovetski Reviewed-by: Andy Walls Reviewed-by: David Brownell Signed-off-by: Mauro Carvalho Chehab commit 07b1747c8d0bb463311f9dd05d4c013765abe2eb Author: Vaibhav Hiremath Date: Fri Dec 5 10:19:36 2008 -0300 V4L/DVB (9817): v4l: add new tvp514x I2C video decoder driver Signed-off-by: Brijesh Jadav Signed-off-by: Hardik Shah Signed-off-by: Manjunath Hadli Signed-off-by: R Sivaraj Signed-off-by: Vaibhav Hiremath Signed-off-by: Karicheri Muralidharan Signed-off-by: Hans Verkuil Reviewed-by: Hans Verkuil Reviewed-by: David Brownell Signed-off-by: Mauro Carvalho Chehab commit 67bc04dd04bfe6a6337a9c6773e4c36645360332 Author: Vaibhav Hiremath Date: Fri Dec 5 10:13:40 2008 -0300 V4L/DVB (9816): v4l2-int-if: add three new ioctls for std handling and routing These changes are needed for the new TVP514x driver. Signed-off-by: Brijesh Jadav Signed-off-by: Hardik Shah Signed-off-by: Manjunath Hadli Signed-off-by: R Sivaraj Signed-off-by: Vaibhav Hiremath Signed-off-by: Karicheri Muralidharan Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 39aee69a166b775a38ed0053596cdb8e717ae315 Author: Sakari Ailus Date: Mon Dec 1 15:40:09 2008 -0300 V4L/DVB (9815): omap2: add OMAP2 camera driver. Add a driver for the OMAP2 camera block. OMAP2 is used in e.g. Nokia N800/N810 internet tablet. This driver uses the V4L2 internal ioctl interface. Signed-off-by: Sakari Ailus Signed-off-by: Trilok Soni Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b1f1d76ef7cc96541b6a16bff7082e9033f0ba08 Author: Patrick Boettcher Date: Wed Dec 10 18:27:39 2008 -0300 V4L/DVB (9812): [PATCH] short help for Technisat cards to select the right configuration This patch adds a short help for Technisat cards to help the user selecting the right configuration for his card(s). Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 4c48ae8e8a490f16abbd874602135bcd83c84f26 Author: Patrick Boettcher Date: Sun Nov 23 16:26:54 2008 -0300 V4L/DVB (9811): Add support for the CX24113 DVB-S tuner driver This commit adds support for the CX24113 DVB-S tuner driver and thus support for the Technisat Skystar2 revision 2.8. The driver was created with the help of Technisat. Thank you very much. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2bdd29cf3d4d32e4371fbd6b27ea171f2c1f0836 Author: Laurent Pinchart Date: Sat Dec 6 17:43:40 2008 -0300 V4L/DVB (9810): uvcvideo: Add a device quirk to prune bogus controls. Bogus controls currently include processing unit auto controls for which no corresponding manual control is available. Such auto controls make little sense if any, and are known to crash at least the SiGma Micro webcam. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0fbd8ee6de6ac3d0b93c96da848c5bc3ccc1dc83 Author: Laurent Pinchart Date: Sat Dec 6 16:25:14 2008 -0300 V4L/DVB (9809): uvcvideo: Add nodrop module parameter to turn incomplete frame drop off. The driver drops incomplete uncompressed video frames to avoid confusing userspace with corrupt data. Add a nodrop module parameter to turn that behaviour off and make all frames available to userspace. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit af009cf635141858642864a26602e379e97bf7d6 Author: Andy Walls Date: Fri Dec 12 20:00:29 2008 -0300 V4L/DVB (9806): cx18: Enable raw VBI capture A combined authorship patch from Hans Verkuil and Andy Walls. Raw VBI can now be captured but requires a video capture to be in progress as well. Signed-off-by: Andy Walls Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd073434b5285121007860914a004320d644ee7e Author: Andy Walls Date: Fri Dec 12 16:24:04 2008 -0300 V4L/DVB (9805): cx18: Port fix for raw/sliced VBI mixup from ivtv and cx25840 This is a port of the fixes Hans Verkuil made for ivtv/cx25840: The service_set field was used to determine whether raw or sliced VBI was desired. This is incorrect since it is perfectly valid to select sliced VBI with a service_set of 0. Instead the driver should check on VIDIOC_S_FMT whether the type field matches the raw or sliced VBI type. Updated the cx18 driver accordingly, including an additional check in cx18_start_v4l2_encode_stream() that didn't exist in ivtv. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit abb096de82f6f920a06ca935f76925261e66b556 Author: Andy Walls Date: Fri Dec 12 15:50:27 2008 -0300 V4L/DVB (9804): cx18: Avoid making firmware API calls with the queue lock held cx18: Avoid making firmware API calls with the queue lock held. The source of MPEG strem corruption when not holding the queue lock was found to be that the MPEG buffer could be retrieved by the user app before it was sync'ed for the host cpu. Incoming buffers are now sync'ed before being put on q_full and releasing the queue lock. We can thus avoid the sometimes lengthy call to the firmware for CPU_DE_SET_MDL while holding the queue lock, so we can get better performance. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 765f6f612ef69ada79f7ec2627dcbc49276bf7b5 Author: Andy Walls Date: Mon Dec 8 23:14:46 2008 -0300 V4L/DVB (9803): cx18: Increment version number due to siginificant buffering changes cx18: Increment version number due to siginificant buffering changes. Now version 1.0.4 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6ecd86dcc838fa446ec86334a9fe0c1e415e3514 Author: Andy Walls Date: Sun Dec 7 23:30:17 2008 -0300 V4L/DVB (9802): cx18: Add module parameters for finer control over buffer allocations cx18: Add module parameters for finer control over buffer allocations. User now has the option of setting smaller buffers to get lower latency transfers from the encoder. User can also now set the number of buffers used for a stream explicitly. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 66c2a6b0bc0b394d215768610d96f44cf97052ac Author: Andy Walls Date: Mon Dec 8 23:02:45 2008 -0300 V4L/DVB (9801): cx18: Allow more than 63 capture buffers in rotation per stream cx18: Allow more than 63 capture buffers in rotation per stream. Implement q_busy to hold buffers the firmware has for use. q_free holds truly unused buffers in a pool. New buffers are given to the firmware as soon as the firmware returns one, if there are any to give to the firmware. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b80e1074c734416987486b7b76b6479faa73f1e2 Author: Andy Walls Date: Fri Nov 28 00:04:21 2008 -0300 V4L/DVB (9800): cx18: Eliminate q_io from stream buffer handling Eliminate q_io from stream buffer handling in anticipation of upcoming changes in buffer handling. q_io was a holdover from ivtv and it's function in cx18 was trivial and not necessary. We just push things back onto the front of q_full now, instead of maintaining a 1 buffer q_io queue. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit be2c6db122467c6b6b55d93dd08d89cb2ee7821c Author: Mauro Carvalho Chehab Date: Tue Dec 9 15:43:10 2008 -0300 V4L/DVB (9799): em28xx: fix Kworld Hybrid 330 (A316) support Signed-off-by: Mauro Carvalho Chehab commit a5525685eeaec8e720323180530181ffe69a24f5 Author: Hermann Pitton Date: Fri Dec 5 19:49:34 2008 -0300 V4L/DVB (9798): saa7134: add analog and DVB-T support for Medion/Creatix CTX946 How to enable the mpeg encoder is not found yet. The card comes up with gpio 0x0820000 for DVB-T. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit ea023df5f8a6f2f788247a4d8a7d5483c0d9266b Author: Igor M. Liplianin Date: Thu Dec 4 12:49:23 2008 -0300 V4L/DVB (9797): Fix stv0299 support in dw2102 USB DVB-S/S2 driver register 0x00 contains 0xa1 for STV0299 and STV0299B register 0x00 might contain 0x80 when returning from standby Signed-off-by: Igor M. Liplianin Acked-by: Sergey Silkin Signed-off-by: Mauro Carvalho Chehab commit a8782f669c35df585749caadfbae6456d9e3ac98 Author: Julia Lawall Date: Tue Dec 2 19:34:52 2008 -0300 V4L/DVB (9796): drivers/media/video/cx88/cx88-alsa.c: Adjust error-handling code In the function cx88_audio_initdev, the value card has been created using snd_card_new. The other error handling code in this function frees the value using snd_card_free. I have thus changed the first error case to do the same. On the other hand, it may be that card is not sufficiently initialized at this point to use snd_card_free, in which case something else should be done to free the memory in the error case. In the function snd_cx88_create the call kfree(chip) in one error case looks suspicious, both because it is not done in the other error code, and because chip points into the middle of the memory allocated by snd_card_new, ie it is not itself associated with a separate kmalloc. Therefore I have removed it. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S,S1; position p1,p2,p3; expression E,E1; type T,T1; expression *ptr != NULL; @@ ( if ((x@p1 = snd_card_new(...)) == NULL) S | x@p1 = snd_card_new(...); ) ... when != snd_card_free(...,(T)x,...) when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> } when != true x == NULL || ... when != x = E when != E = (T)x when any ( if (x == NULL || ...) S1 | if@p2 (...) { ... when != snd_card_free(...,(T1)x,...) when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> } when != x = E1 when != E1 = (T1)x ( return \(0\|<+...x...+>\|ptr\); | return@p3 ...; ) } ) @ script:python @ p1 << r.p1; p3 << r.p3; @@ print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 9bb1b7e879091f09fc677dca10c5e132b68a9da3 Author: Igor M. Liplianin Date: Sun Nov 23 14:11:16 2008 -0300 V4L/DVB (9795): Add Compro VideoMate E650F (DVB-T part only). Add Compro VideoMate E650F (DVB-T part only). The card based on cx23885 PCI-Express chip, xc3028 tuner and ce6353 demodulator. Cc: Steven Toth Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit f89bc32974a4376e8393001484af28d8c3350ab4 Author: Douglas Schilling Landgraf Date: Mon Dec 1 21:01:04 2008 -0300 V4L/DVB (9793): em28xx: Add specific entry for WinTV-HVR 850 Added specific entry for WinTV-HVR 850 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 2a48fc739df213b8f98b4effd95ce5ec93bca3da Author: Robert Jarzmik Date: Mon Dec 1 09:45:35 2008 -0300 V4L/DVB (9791): pxa-camera: pixel format negotiation Use the new format-negotiation infrastructure, support all four YUV422 packed and the planar formats. The new translation structure enables to build the format list with buswidth, depth, host format and camera format checked, so that it's not done anymore on try_fmt nor set_fmt. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c2786ad27104c558b92343e8816e18654aae1759 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:27 2008 -0300 V4L/DVB (9790): soc-camera: pixel format negotiation - core support Allocate and fill a list of formats, supported by this specific camera-host combination. Use it for format enumeration. Take care to stay backwards-compatible. Camera hosts rely on sensor formats available, as well as host specific translations. We add a structure so that hosts can define a translation table and use it for format check and setup. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Robert Jarzmik Signed-off-by: Mauro Carvalho Chehab commit d2e3dce083bc96b3bfb71603eaa1726181f7184b Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:24 2008 -0300 V4L/DVB (9789): soc-camera: add a per-camera device host private data pointer This pointer will be used by pxa_camera.c to point to its pixel format data. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d8fac217c58f0101a351b9c8c80f1665bd9efef9 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:45:21 2008 -0300 V4L/DVB (9788): soc-camera: simplify naming We anyway don't follow the s_fmt_vid_cap / g_fmt_vid_cap / try_fmt_vid_cap naming, and soc-camera is so far only about video capture, let's simplify operation names a bit further. set_fmt_cap / try_fmt_cap wasn't a very good choice too. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 25c4d74ea6f07f2aaa3df537619680ba967043f5 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:59 2008 -0300 V4L/DVB (9787): soc-camera: let camera host drivers decide upon pixel format Pixel format requested by the user is not necessarily the same, as what a sensor driver provides. There are situations, when a camera host driver provides the required format, but requires a different format from the sensor. Further, the list of formats, supported by sensors is pretty static and can be pretty good described with a constant list of structures. Whereas decisions, made by camera host drivers to support requested formats can be quite complex, therefore it is better to let the host driver do the work. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit abe4c4710386a4859dae9193bfc9a1f0e3c60db4 Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:56 2008 -0300 V4L/DVB (9786): soc-camera: formatting fixes Minor formatting fixes Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a2c8c68cca3dbb0c87f5034ab8ea29350174ec4a Author: Guennadi Liakhovetski Date: Mon Dec 1 09:44:53 2008 -0300 V4L/DVB (9785): soc-camera: merge .try_bus_param() into .try_fmt_cap() .try_bus_param() method from struct soc_camera_host_ops is only called at one location immediately before .try_fmt_cap(), there is no value in keeping these two methods separate, merge them. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b3d7b2ad9cd7612354d921ba948ab6514699519c Author: Kuninori Morimoto Date: Mon Dec 1 09:44:51 2008 -0300 V4L/DVB (9784): Register name fix for ov772x driver Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b90c032b0da3b8d5293676f6aabcd032a6c02bcb Author: Kuninori Morimoto Date: Mon Dec 1 09:44:48 2008 -0300 V4L/DVB (9783): Change power on/off sequence on ov772x Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit daa1c164db63540fe7a52c658ce14ae6a8d1ae53 Author: Andy Walls Date: Sun Nov 30 10:01:21 2008 -0300 V4L/DVB (9778): cx18: cx18_writel_expect() should not declare success on a PCI read error cx18: cx18_writel_expect() should not declare success on a PCI read error. This removes the potential for cx18_write*_expect() calls to not accomplish a PCI write successfully as expected. The CX18-AV core uses the *expect() calls often and this may be the source of intermittent audio problems and standands switching problems. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 572bfea71b0fb2efb36407b4e284c1e7962d4779 Author: Andy Walls Date: Tue Nov 25 21:43:05 2008 -0300 V4L/DVB (9776): cx18: Change to per CX23418 device work queues for deferrable work handling cx18: Change to per CX23418 device work queues for deferrable work handling. Needed to support 2.6.22 and earlier kernels that can't selectively cancel work orders. Also will provide slightly better performance on SMP systems. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9af0ef27a06f3e8976b90a4ed4758e25ea0f2df5 Author: Mauro Carvalho Chehab Date: Mon Dec 8 10:36:57 2008 -0300 V4L/DVB (9775): tda8290: fix FM radio tda8290 were using some random video standard for FM. This results on random errors. Instead, program tda8290 in expert mode, using a configuration near the one specified on NXP datasheet for tda8295 (available on their site). Also, properly display that the device is on radio mode. Signed-off-by: Mauro Carvalho Chehab commit 92d90f1a57dcb6c6ab5a7b9ad949bdb7531931a4 Author: Mauro Carvalho Chehab Date: Mon Dec 8 00:49:33 2008 -0300 V4L/DVB (9774): tda827x: fix returned frequency Probably due to a removed code, tda827x were doing some wrong calculus at the returned frequency. I suspect that the original idea were to return the programmed divisor converted into frequency again. However, the current code is sometimes multiplying the programmed frequency by 62500, and, on other cases, like radio, it dividing it by 1000. Instead of doing such math, let's just store the frequency value as requested by the caller module. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e5218eedaef39ed5f1ebc84ab9510dd9b99acadf Author: Mauro Carvalho Chehab Date: Sun Dec 7 23:01:57 2008 -0300 V4L/DVB (9773): tda827x: fix printk message when in FM mode Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26d5f3a3fe917232cb77e2e3450f7d7f8698259c Author: Mauro Carvalho Chehab Date: Sun Dec 7 13:19:29 2008 -0300 V4L/DVB (9772): saa7134: Add support for Kworld Plus TV Analog Lite PCI Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring this development. Signed-off-by: Gilberto Signed-off-by: Mauro Carvalho Chehab commit 10f201af1bedd39a88913f472b33698c4a3b0680 Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:49:53 2008 -0300 V4L/DVB (9771): tuner-xc2028: fix a small warning /home/mauro/v4l-dvb/v4l/tuner-xc2028.c: In function 'xc2028_sleep': /home/mauro/v4l-dvb/v4l/tuner-xc2028.c:1111: warning: 'return' with no value, in function returning non-void Signed-off-by: Mauro Carvalho Chehab commit eb6c96345d07c7c3978e77d3ad0b5c5b9e5b2faa Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:39:12 2008 -0300 V4L/DVB (9770): em28xx: turn off tuner when not used em28xx devices generally get hot when xc3028 tuner is powered on. This patch solves this by turning power off when the device is not used, at the expense of having a higher load time, when calling a TV application. Since firmware load happens on 1 or 2 seconds on most devices, this is not a pain. Also, it helps to save the planet by saving some power :) Signed-off-by: Mauro Carvalho Chehab commit 74a89b2ae352aca1d76789365e9f49964f2677e4 Author: Mauro Carvalho Chehab Date: Fri Dec 5 10:31:16 2008 -0300 V4L/DVB (9769): tuner-xc2028: powers device of when not used Since the firmware load is now fast on most boards, better to keep the tuner off by default. A modprobe parameter were added to keep the old behavior, to be used by old devices. Signed-off-by: Mauro Carvalho Chehab commit 9e5d6760c28409dd4ebd1cbafee77e5f58d6d574 Author: Mauro Carvalho Chehab Date: Wed Nov 26 09:58:48 2008 -0300 V4L/DVB (9756): em28xx: Improve register log format Change log format to look more like URB transactions. In fact, setup and IN/OUT transactions are merged. This helps to debug the driver. Signed-off-by: Mauro Carvalho Chehab commit dff65740e0c3a18cf56b2e3cbeebd9e9cfa7ac0d Author: Michael Krufky Date: Sat Nov 22 14:33:00 2008 -0300 V4L/DVB (9737): sms1xxx: enable LNA control on Hauppauge WinTV MiniCard Power the LNA while the frontend is in use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ec984f437842426622fb54b56bbcc416183eefe6 Author: Andy Walls Date: Sun Nov 23 16:27:57 2008 -0300 V4L/DVB (9730): cx18: Quiet a sometimes common warning that often has benign consequences cx18: Quiet a sometimes common warning that often has benign consequences. No one probably cares that the firmware took forever to ack our command, as they always seem to succeed whether or not the firmware acks it in a reasonable amount of time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 20543ec414dee5e9d5e7a82f678fa2c0b21c5bdb Author: Andy Walls Date: Sat Nov 22 01:40:11 2008 -0300 V4L/DVB (9729): cx18: Update version due to significant irq handling changes Update the version number due to significant changes in the way the mailboxes and interrupts are handled. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1ed9dcc8ef61c35a620fecc039c01f2c50dceb80 Author: Andy Walls Date: Sat Nov 22 01:37:34 2008 -0300 V4L/DVB (9728): cx18: Copyright attribution update for files modified by awalls Add copyright attribution for files modified by awalls in 2008 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2bb49f1b9f6a4f50222bc8a6b1e9df87a432c52c Author: Andy Walls Date: Sat Nov 22 01:23:22 2008 -0300 V4L/DVB (9727): cx18: Adjust outgoing mailbox timeouts and remove statistics logging cx18: Adjust outgoing mailbox timeouts and remove statistics logging. This saves some wasted storage in struct cx18 for each card. Cutting the outgoing mailbox timeouts in half from the previous value appears to be safe with MythTV. Got rid of interrupted case code path after a wait uninterruptable returns. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit bca11a5721917d6d5874571813673a2669ffec4b Author: Andy Walls Date: Wed Nov 19 01:24:33 2008 -0300 V4L/DVB (9726): cx18: Restore buffers that have fallen out of the transfer rotation Restore buffers that have fallen out of the transfer rotation, and check for coherent mailbox data when processing a stale mailbox. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d6c7e5f8faad080e75bace5c4f2265e3513e3510 Author: Andy Walls Date: Mon Nov 17 22:48:46 2008 -0300 V4L/DVB (9725): cx18: Remove unnecessary MMIO accesses in time critical irq handling path Remove unnecessary MMIO accesses in time critical irq handling path. Also ensured that the mailbox ack field is read in last, so we know for sure if we have a stale mailbox or not on receipt. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3f75c6161f28e6a17c547daf552c1127c805c5e7 Author: Andy Walls Date: Sun Nov 16 23:33:41 2008 -0300 V4L/DVB (9724): cx18: Streamline cx18-io[ch] wrappers and enforce MMIO retry strategy cx18: Streamline cx18-io[ch] wrappers and enforce MMIO retry strategy so that write retries always occur and read retries never occur (as they never help). Remove MMIO statistics logging to speed up MMIO accesses. Deprecate & ignore retry_mmio and mmio_ndelay module parameters, to essentially force retry_mmio=1 and mmio_ndelay=0. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 72a4f8081af1c53a1673c173ce0fdd85c4b7d403 Author: Andy Walls Date: Sun Nov 16 21:18:00 2008 -0300 V4L/DVB (9723): cx18: Propagate staleness of mailbox and mdl ack data to work handler cx18: Propagate staleness of mailbox and mdl ack data to work handler to let the work handler know that the data from the encoder may not be coherent. Allows for smarter handling of buffers in future, to deal with MDLs that fall out of rotation due to irq handler being late in collecting mailbox and mdl ack info. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f576ceefb481e5617ecfb77e3a05b3d26dbf2f92 Author: Andy Walls Date: Sun Nov 16 20:18:05 2008 -0300 V4L/DVB (9722): cx18: Convert per stream queue spinlocks into mutexes Convert the per stream queue spinlocks into mutexes. All queue manipulation happens via the work queue or system calls into the driver, and not in an interrupt context. This reduces the amout of time the cx18 driver keeps interrupts disabled. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 18b5dc2ed7f0ede825dd1f93fefc7a61aba866e3 Author: Andy Walls Date: Sun Nov 16 17:15:01 2008 -0300 V4L/DVB (9721): cx18: Change to singlethreaded global work queue thread for deferable work Change to singlethreaded global work queue thread for deferable work, instead of the kernel default multithreaded work queue. This ensures execution of deferable work is always in the proper order, so caputred buffers don't get reordered. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ee2d64f5ccc71b5c5191e92ea91a12b65f9ca060 Author: Andy Walls Date: Sun Nov 16 01:38:19 2008 -0300 V4L/DVB (9720): cx18: Major rewrite of interrupt handling for incoming mailbox processing A major rewrite of interrupt handling for incoming mailbox processing, to split the timing critical steps from the the deferrable steps as the sending XPU on the CX23418 will time out and overwrite our incoming mailboxes rather quickly. Setup a pool of work "order forms" for the irq handler to send jobs to the new work handler routine which uses the kernel default work queue to do the deferrable work. Started optimizing some of the cx18-io calls as they are now the low hanging fruit for recoving microseconds back from the timeline. Future optimizations will get rid of mmio read retries, mmio stats logging, and combine smaller functions in the irq path into the larger ones to save ~2 us each. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ba38ee8ebe4a42ce2213802152b0b86a95dc109f Author: Jean-Francois Moine Date: Sat Nov 22 04:27:34 2008 -0300 V4L/DVB (9710): gspca: Remove some unuseful core in main. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 181b704fd3e32cdf779bc4d5b99d43a4b2c25985 Author: Hans de Goede Date: Wed Nov 19 17:16:26 2008 -0300 V4L/DVB (9707): gspca: Remove the event counter and simplify the frame wait. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3480130a502a528373f98fb852d2b3fc5f73e58b Author: Alexey Klimov Date: Wed Nov 19 00:36:29 2008 -0300 V4L/DVB (9655): radio-mr800: fix unplug This patch fixes problems(kernel oopses) with unplug of device while it's working. Patch adds disconnect_lock mutex, changes usb_amradio_close and usb_amradio_disconnect functions and adds a lot of safety checks. Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit c7abfb47c9e19d63ce6f757afcb392c69ce09765 Author: Andy Walls Date: Sun Nov 9 19:51:44 2008 -0300 V4L/DVB (9599): cx18: Fix unitialized variable problem upon APU firmware file read failure If APU firmware file read failed, the jump vector to the APU was undefined and the APU would be started executing garbage. Fix uninitialized variable to be an infinite loop for the APU, but also bail out before even starting the APU. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d20ceecd0c5370cfe6b6eee2f63fecb65222c747 Author: Andy Walls Date: Sun Nov 9 18:14:07 2008 -0300 V4L/DVB (9598): cx18: Prevent CX23418 from clearing it's outgoing ack interrupts to driver When the CX23418 CPU unit sent out an ack interrupt to the linux driver, it also received that interrupt and cleared the flag before the linux driver could see what the interrupt was for. This fix prevents the CPU from receiving an IRQ for it's own outgoing ack's to the linux driver. This fix is critical now that the linux driver doesn't poll but relies on these ack interrupts. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2d1a1b055be8598dbcc8a7b905d07bcf05eaff3a Author: Andy Walls Date: Sat Nov 8 17:14:22 2008 -0300 V4L/DVB (9597): cx18: Minor fixes to APU firmware load process Use the APU fw start address from rom file instead of a hardcoded entry vector. Fixed cx18_setup_page() calls to use the correct APU image load addresses. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 330c6ec8942765e81f237bd58020da1b161935ce Author: Andy Walls Date: Sat Nov 8 14:19:37 2008 -0300 V4L/DVB (9596): cx18: Further changes to improve mailbox protocol integrity & performnce All waits for cx18 mailbox API commands are now uninterruptable. Added code to collect mailbox ack statistics. Tweaked timeouts based on collected stats and video vertical frame and field rates. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ac50441720332f22a9d85ac03151d6acb7bc55d6 Author: Andy Walls Date: Fri Nov 7 23:57:46 2008 -0300 V4L/DVB (9595): cx18: Improve handling of outgoing mailboxes detected to be busy cx18: Improve handling of outgoing mailboxes detected to be busy. When encountering a busy mailbox, sleep instead of polling, and wait for interrupt or timeout. If the mailbox is still busy, force it free. When sending commands, make sure we never create a situation where we mark the mailbox busy upon sending, and ensure we always have a method to cleanly recover from a busy mailbox. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d670b6ff4ef32d3a0804ec26ad53a2a7712cec98 Author: Andy Walls Date: Thu Nov 6 01:33:27 2008 -0300 V4L/DVB (9594): cx18: Roll driver version number due to significant changes Driver interrupt and mailbox handling has change significantly. Time for a roll to v1.0.2. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 72c2d6d3ac91d1b9efb482ff4a8dd68e3d867965 Author: Andy Walls Date: Thu Nov 6 01:15:41 2008 -0300 V4L/DVB (9593): cx18: Add outgoing mailbox mutexes and check for ack via waitq vs poll Add mutexes to ensure exclusive access for outgoing driver to CX23418 mailboxes. Also wait on a waitq for mailbox acknowledgement from the CX23418 instead of polling. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f68d0cf56761128e85ebc98d8de4776b89c30279 Author: Andy Walls Date: Wed Nov 5 21:19:15 2008 -0300 V4L/DVB (9592): cx18: Use default kernel work queue; fix streaming flag for work handler cx18: Use default kernel work queue; fix streaming flag for work handler. Eliminate cx18 specific work queue and use the kernel default work queue. Fixed the F_STREAMING_FLAG for the TS stream so cx18_dvb_work_handler() can know when it is not safe to send MDLs to the firmware. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 13563f44a27a07dfade36662903037edbf8a6e01 Author: Jean-Francois Moine Date: Thu Nov 6 15:35:21 2008 -0300 V4L/DVB (9558): gspca: Add the light frequency control for the sensor HV7131B in zc3xx Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f7823f8f437fbbd41155f2312ef17e471199b706 Author: Andy Walls Date: Sun Nov 2 18:15:28 2008 -0300 V4L/DVB (9513): cx18: Reduce number of mmio read retries cx18: Reduce number of mmio read retries to improve performance. Experiments have shown 2 things: read retries never improve the result of a suspect mmio read from the CX23418 (the result stays all 0xff's), and that most of the suspected read failures are actually proper reads of values that should be all 0xff's. This change reduces the number of read retries and keeps the count separate from write retries. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f2e52cd17622eed39576f113b77bbd18c577e308 Author: Manu Abraham Date: Mon Nov 19 16:44:47 2007 -0300 V4L/DVB (9442): Revert back previous change to 90MHz Note: * At High Symbol Rates we do not have enouph machine cycles to handle the incoming symbols and hence might run into problems at the very end of the specified definition * Most of the equations have been calculated for a master clock of 99 MHz, running at 90MHz, raises lot of issues such as the need to recalculate all of them , which is eventually very painful. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 07b9bf7de5d91594eb79bcd43129fe5df94bdd28 Author: Manu Abraham Date: Tue Oct 30 09:31:13 2007 -0300 V4L/DVB (9431): Bug ID #19: Diseqc works properly at 90MHz only on Cut 1.1 and 2.0 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 697be0679ef71e5701c7ab2055ed8e76cc44583d Author: Manu Abraham Date: Thu Oct 18 06:25:51 2007 -0300 V4L/DVB (9425): Initialize at 90MHz itself Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2c4ab6243f91cda62f22af2eb8a6c07590de37b1 Author: Roland Dreier Date: Mon Dec 29 23:37:14 2008 -0800 RDMA/addr: Fix build breakage when IPv6 is disabled Commit 38617c64 ("RDMA/addr: Add support for translating IPv6 addresses") broke the build when CONFIG_IPV6=n, because the ib_addr module unconditionally attempted to call ipv6_chk_addr() and other IPv6 functions that are not defined when IPv6 is disabled. Fix this by only building IPv6 support if CONFIG_IPV6 is turned on, and add a Kconfig dependency to prevent the ib_addr code from being built in when IPv6 is built modular. Signed-off-by: Roland Dreier commit eb4dea5853046727bfbb579f0c9a8cae7369f7c6 Author: Herbert Xu Date: Mon Dec 29 23:04:08 2008 -0800 net: Fix percpu counters deadlock When we converted the protocol atomic counters such as the orphan count and the total socket count deadlocks were introduced due to the mismatch in BH status of the spots that used the percpu counter operations. Based on the diagnosis and patch by Peter Zijlstra, this patch fixes these issues by disabling BH where we may be in process context. Reported-by: Jeff Kirsher Tested-by: Ingo Molnar Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0f23174aa8c1aa7a2a6050a72a60d290ef9ee578 Author: Rusty Russell Date: Mon Dec 29 12:23:42 2008 +0000 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net In future all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in iterators and other comparisons. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Signed-off-by: David S. Miller commit c62e9d56ea90ef94f9708ce3f11860c20fa5e135 Author: Jaswinder Singh Rajput Date: Mon Dec 29 22:12:50 2008 +0530 x86: bios_uv.c: uv_systab should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/bios_uv.c:28:18: warning: symbol 'uv_systab' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 4d08d97f5262dab4482af5bc91b30af4ca02269e Author: Jaswinder Singh Rajput Date: Mon Dec 29 22:11:40 2008 +0530 x86: genx2apic_phys.c: x2apic_send_IPI_self and init_x2apic_ldr should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warnings Fixes sparse warnings: arch/x86/kernel/genx2apic_phys.c:164:6: warning: symbol 'x2apic_send_IPI_self' was not declared. Should it be static? arch/x86/kernel/genx2apic_phys.c:169:6: warning: symbol 'init_x2apic_ldr' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 557f687c87ddb8adb094b2dad4e1c83c7717982d Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:45:22 2008 +0530 x86: amd_iommu.c: prealloc_protection_domains should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu.c:1299:6: warning: symbol 'prealloc_protection_domains' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 412a1be265b894a45cebbfc2b57eb7a593bf34b2 Author: Jaswinder Singh Rajput Date: Mon Dec 29 21:44:12 2008 +0530 x86: amd_iommu_init.c: iommu_enable and iommu_enable_event_logging should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/amd_iommu_init.c:246:13: warning: symbol 'iommu_enable' was not declared. Should it be static? arch/x86/kernel/amd_iommu_init.c:259:13: warning: symbol 'iommu_enable_event_logging' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit f201a8a4511a4c9953189924df3c880207194b41 Author: Julia Lawall Date: Mon Dec 29 00:21:07 2008 +0000 drivers/net/usb: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC In drivers/net/wireless/zd1211rw/zd_usb.c the code: (endpoint->bEndpointAddress & USB_TYPE_MASK) == USB_DIR_OUT is suspicious. If it is intended to use USB_ENDPOINT_DIR_MASK rather than USB_TYPE_MASK, then the whole conditional test could be converted to a call to usb_endpoint_is_bulk_in. An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 68ce9c0e3411b430b9800015e318af9f96933aa0 Author: Li Zefan Date: Sun Dec 28 17:57:25 2008 +0000 cls_cgroup: clean up Kconfig cls_cgroup can't be compiled as a module, since it's not supported by cgroup. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 8e8ba85417366afd2361e315c6ba5949d3eff56f Author: Li Zefan Date: Mon Dec 29 19:39:03 2008 -0800 cls_cgroup: clean up for cgroup part - It's better to use container_of() instead of casting cgroup_subsys_state * to cgroup_cls_state *. - Add helper function task_cls_state(). - Rename net_cls_state() to cgrp_cls_state(). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 2f068bf8711c35b98bf9a0172555b8390a762fc0 Author: Li Zefan Date: Sun Dec 28 17:57:19 2008 +0000 cls_cgroup: fix an oops when removing a cgroup When removing a cgroup, an oops was triggered immediately. The cause is wrong kfree() in cgrp_destroy(). Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 684f4a4c4a69f7226d8c7559c0cdfc7bd388335a Author: Roel Kluin Date: Mon Dec 29 18:42:33 2008 -0800 EtherExpress16: fix printing timed out status in drivers/net/eexpress.c:558, function unstick_cu() while (!SCB_complete(rsst=scb_status(dev))) { ... if (...) printk(KERN_WARNING "%s: Reset timed out status %04x, retrying...\n", dev->name,rsst); } but this will become while (!((rsst = scb_status(dev) & 0x8000) != 0) ... because of the macro: #define SCB_complete(s) ((s&0x8000)!=0) so rsst can only become either 0x8000 or 0, but in the latter case the loop ends, I think the wrong timed out status is printed. This also cleans up similar macros. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 18cc42a3a17d19774b332e933cf34c71b0d3903c Author: Yevgeny Petrilin Date: Mon Dec 29 18:39:20 2008 -0800 mlx4_en: Added "set_ringparam" Ethtool interface implementation Now using Ethtool to determine ring sizes, removed the module parameters that controlled those values. Modifying ring size requires restart of the interface. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 2d6a7b7559b47f81c50a1df91910edefff79b9b4 Author: Yevgeny Petrilin Date: Mon Dec 29 18:38:54 2008 -0800 mlx4_en: Always allocate RX ring for each interrupt vector Removed module parameter specifying number of RX rings Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit c2b559ed8683ffb5a7bdd9e71b3803b231623c86 Author: Yevgeny Petrilin Date: Mon Dec 29 18:38:21 2008 -0800 mlx4_en: Verify number of RX rings doesn't exceed MAX_RX_RINGS Required in cases were dev->caps.num_comp_vectors > MAX_RX_RINGS. For current values this would happen on machines that have more then 16 cores. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 68888d105365366c5e1e0424cc939c1fc757f9c4 Author: Simon Horman Date: Mon Dec 29 18:37:36 2008 -0800 IPVS: Make "no destination available" message more consistent between schedulers Acked-by: Graeme Fowler Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit c8e95c021caa9574350cea6f2b4f91e232e3f3ee Author: Huang Weiyi Date: Mon Dec 29 18:30:05 2008 -0800 net: KS8695: removed duplicated #include Removed duplicated include in drivers/net/arm/ks8695net.c. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit 7a0a9608e4459afdf2e4a7831c1cbeb41353adf6 Author: Kusanagi Kouichi Date: Mon Dec 29 18:23:28 2008 -0800 tun: Fix SIOCSIFHWADDR error. Set proper operations. Signed-off-by: Kusanagi Kouichi Signed-off-by: David S. Miller commit 36f8b9238373751b684650871fd161546b10116c Author: Alexey Dobriyan Date: Mon Dec 29 18:22:43 2008 -0800 smsc911x: compile fix re netif_rx signature changes Signed-off-by: Alexey Dobriyan Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 8eb79863962bbf18ebf648335e329bfd468432fa Author: Eric W. Biederman Date: Mon Dec 29 18:21:48 2008 -0800 netns: foreach_netdev_safe is insufficient in default_device_exit During network namespace teardown we either move or delete all of the network devices associated with a network namespace. In the case of veth devices deleting one will also delete it's pair device. If both devices are in the same network namespace then for_each_netdev_safe is insufficient as next may point to the second veth device we have deleted. To avoid problems I do what we do in __rtnl_kill_links and restart the scan of the device list, after we have deleted a device. Currently dev_change_netnamespace does not appear to suffer from this problem, but wireless devices are also paired and likely should be moved between network namespaces together. So I have errored on the side of caution and restart the scan of the network devices in that case as well. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 91b208c7c1db4cefa2247f8243fbda75b0472d24 Author: Rusty Russell Date: Mon Dec 29 18:20:06 2008 -0800 net: make xfrm_statistics_seq_show use generic snmp_fold_field No reason to roll our own here. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 2d0658d4ef92e4958172c832bd88c961840e599e Author: Kamalesh Babulal Date: Mon Dec 29 18:18:24 2008 -0800 net: Fix more NAPI interface netdev argument drop fallout. I hit similar build failure due to the change in the netif_rx_reschedule() drivers/net/ehea/ehea_main.c: In function 'ehea_poll': drivers/net/ehea/ehea_main.c:844: warning: passing argument 1 of 'netif_rx_reschedule' from incompatible pointer type drivers/net/ehea/ehea_main.c:844: error: too many arguments to function 'netif_rx_reschedule' make[3]: *** [drivers/net/ehea/ehea_main.o] Error 1 greping through the sources for the changes missed out, we have ./drivers/net/arm/ixp4xx_eth.c:507: netif_rx_reschedule(dev, napi)) { ./drivers/net/arm/ep93xx_eth.c:310: if (more && netif_rx_reschedule(dev, napi)) ./drivers/net/wan/ixp4xx_hss.c:657: netif_rx_reschedule(dev, napi)) { Signed-off-by: Kamalesh Babulal Acked-by: Neil Horman Signed-off-by: David S. Miller commit bda53cd510b6777ced652ba279020bb7b414b744 Author: Mark McLoughlin Date: Wed Dec 10 17:45:39 2008 +0000 lguest: struct device - replace bus_id with dev_name() bus_id is gradually being removed, so use dev_name() instead. Signed-off-by: Mark McLoughlin Cc: Kay Sievers Cc: Greg Kroah-Hartman Signed-off-by: Rusty Russell commit 58a24566449892dda409b9ad92c2e56c76c5670c Author: Matias Zabaljauregui Date: Mon Sep 29 01:40:07 2008 -0300 lguest: move the initial guest page table creation code to the host This patch moves the initial guest page table creation code to the host, so the launcher keeps working with PAE enabled configs. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit be3c5832d51174ef7f21cefd6ad612dabdcb62fd Author: Christian Borntraeger Date: Tue Nov 18 22:44:13 2008 +0100 kvm-s390: implement config_changed for virtio on s390 This patch implements config_changed for the s390 virtio transport. We use the least significant bit of the interrupt parameter field to decide, if this interrupt should call the virtio virtqueue callback or the config_changed callback. This method is compatible with old host and guest code. Old 64 bit guests will not check the bit and trigger a harmless additional vring_interrupt call. Old host code will never set this bit, this is also safe. This patch also takes care of a potential future 31 bit virtio transport for s390. On 31 bit _LC_PFAULT_INTPARM and __LC_EXT_PARAMS are identical. We exploit the alignment of the token and fold the change bit into the lsb of the token itself. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit c29834584ea4eafccf2f62a0b8a32e64f792044c Author: Christian Borntraeger Date: Tue Nov 25 13:36:26 2008 +0100 virtio_console: support console resizing this patch uses the new hvc callback hvc_resize to set the window size which allows to change the tty size of hvc_console via a hvc_resize function. I have added a new feature bit VIRTIO_CONSOLE_F_SIZE. The driver will change the window size on tty open and via the config_changed callback of the transport. Currently lguest and kvm_s390 have not implemented this callback, but the callback can be implemented at a later point in time. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 29f9f12ec737af62835124e4a8bdb9de631f04dd Author: Mark McLoughlin Date: Wed Dec 10 17:45:34 2008 +0000 virtio: add PCI device release() function Add a release() function for virtio_pci devices so as to avoid: Device 'virtio0' does not have a release() function, it is broken and must be fixed Move the code to free the resources associated with the device from virtio_pci_remove() into this new function. virtio_pci_remove() now merely unregisters the device which should cause the final ref to be dropped and virtio_pci_release_dev() to be called. Signed-off-by: Mark McLoughlin Reported-by: Michael Tokarev Cc: Anthony Liguori Signed-off-by: Rusty Russell commit b194aee95622f649311f8e53418a17e210ff6827 Author: Randy Dunlap Date: Wed Nov 26 13:15:50 2008 -0800 virtio_blk: fix type warning Fix parameter type warning: linux-next-20081126/drivers/block/virtio_blk.c:307: warning: large integer implicitly truncated to unsigned type Signed-off-by: Randy Dunlap cc: Rusty Russell Signed-off-by: Rusty Russell commit 0864b79a153342c1dfbebb12b2d099fec76c5e18 Author: Rusty Russell Date: Tue Dec 30 09:26:05 2008 -0600 virtio: block: dynamic maximum segments Enhance the driver to handle whatever maximum segment number the host tells us to handle. Do to this, we need to allocate the scatterlist dynamically. We set max_phys_segments and max_hw_segments to the same value (1 if the host doesn't tell us, since that's safest and all known hosts do tell us). Note that kmalloc'ing the structure for large sg_elems might be problematic: the fix for this is sg_table, but that requires more work. Signed-off-by: Rusty Russell commit 4b7f7e2049956f6e946ad56c1ee093e7bab74da9 Author: Rusty Russell Date: Tue Dec 30 09:26:04 2008 -0600 virtio: set max_segment_size and max_sectors to infinite. Setting max_segment_size allows more than 64k per sg element, unless the host specified a limit. Setting max_sectors indicates that our max_hw_segments is the only limit. Signed-off-by: Rusty Russell commit 1b4aa2faeca1b9922033daf2475b6fc13b0ffea6 Author: Hollis Blanchard Date: Thu Nov 13 15:48:33 2008 -0600 virtio: avoid implicit use of Linux page size in balloon interface Make the balloon interface always use 4K pages, and convert Linux pfns if necessary. This patch assumes that Linux's PAGE_SHIFT will never be less than 12. Signed-off-by: Hollis Blanchard Signed-off-by: Rusty Russell (modified) commit 87c7d57c17ade5024d95b6ca0da249da49b0672a Author: Rusty Russell Date: Tue Dec 30 09:26:03 2008 -0600 virtio: hand virtio ring alignment as argument to vring_new_virtqueue This allows each virtio user to hand in the alignment appropriate to their virtio_ring structures. Signed-off-by: Rusty Russell Acked-by: Christian Borntraeger commit db40598863e8cbbd11053ad3c8bae89000f603f9 Author: Rusty Russell Date: Tue Dec 30 09:26:02 2008 -0600 virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize This doesn't really matter, since s390 pagesize is 4k anyway. Signed-off-by: Rusty Russell Acked-by: Christian Borntraeger commit 2966af73e70dee461c256b5eb877b2ff757f8c82 Author: Rusty Russell Date: Tue Dec 30 09:25:58 2008 -0600 virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize This doesn't really matter, since lguest is i386 only at the moment, but we could actually choose a different value. (lguest doesn't have a guarenteed ABI). Signed-off-by: Rusty Russell commit 498af14783935af487d17dbee4ac451783cbc2b7 Author: Rusty Russell Date: Tue Dec 30 09:25:57 2008 -0600 virtio: Don't use PAGE_SIZE for vring alignment in virtio_pci. That doesn't work for non-4k guests which are now appearing. Signed-off-by: Rusty Russell commit 5f0d1d7f2286c8a02dab69f5f0bd51681fab161e Author: Rusty Russell Date: Tue Dec 30 09:25:57 2008 -0600 virtio: rename 'pagesize' arg to vring_init/vring_size It's really the alignment desired for consumer/producer separation; historically this x86 pagesize, but with PowerPC it'll still be x86 pagesize. And in theory lguest could choose a different value. Signed-off-by: Rusty Russell commit 480daab42c4dd74b3c07031ddf9031251c530c77 Author: Rusty Russell Date: Tue Dec 30 09:25:56 2008 -0600 virtio: Don't use PAGE_SIZE in virtio_pci.c The virtio PCI devices don't depend on the guest page size. This matters now PowerPC virtio is gaining ground (they like 64k pages). Signed-off-by: Rusty Russell commit 99e0b6c8e3f30602383bcfe3f574537a02ee2bea Author: Kay Sievers Date: Tue Dec 30 09:25:56 2008 -0600 virtio: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Rusty Russell commit 13b1eb333beed018140be3d0b77bf34000125a34 Author: Hollis Blanchard Date: Tue Dec 2 16:24:40 2008 -0600 virtio-pci queue allocation not page-aligned kzalloc() does not guarantee page alignment, and in fact this broke when I enabled CONFIG_SLUB_DEBUG_ON. (Thanks to Anthony Liguori for spotting the missing kfree sub) Signed-off-by: Hollis Blanchard Signed-off-by: Rusty Russell (fixed kfree) Tested-by: Anthony Liguori commit e12f0102ac81d660c9f801d0a0e10ccf4537a9de Author: Rusty Russell Date: Tue Dec 30 09:05:19 2008 +1030 cpumask: Use nr_cpu_ids in seq_cpumask Impact: cleanup, futureproof nr_cpu_ids is the (badly named) runtime limit on possible CPU numbers; ie. the variable version of NR_CPUS. With the new cpumask operators, only bits less than this are defined. So we should use it everywhere, rather than NR_CPUS. Eventually this will make it possible to allocate cpumasks of the minimal length at runtime. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit cbe31f02f5b5536f17dd978118e25052af528071 Author: Rusty Russell Date: Tue Dec 30 09:05:18 2008 +1030 cpumask: use new cpumask API in drivers/infiniband/hw/ipath Impact: cleanup We're moving from handing around cpumask_t's to handing around struct cpumask *'s. cpus_*, cpumask_t and cpu_*_map are deprecated: convert to cpumask_*, cpu_*_mask. Signed-off-by: Rusty Russell Cc: Ralph Campbell commit b29179c3d32021d79c11ece7199a1da41d31b1b7 Author: Rusty Russell Date: Tue Dec 30 09:05:18 2008 +1030 cpumask: use new cpumask API in drivers/infiniband/hw/ehca Impact: cleanup We're moving from handing around cpumask_t's to handing around struct cpumask *'s. cpus_*, cpumask_t and cpu_*_map are deprecated: convert to cpumask_*, cpu_*_mask. Signed-off-by: Rusty Russell Acked-by: Hoang-Nam Nguyen Tested-by: Hoang-Nam Nguyen Cc: Christoph Raisch commit 259c4ddd00237e5072921afa15a900839643fd98 Author: Rusty Russell Date: Tue Dec 30 09:05:17 2008 +1030 cpumask: use for_each_online_cpu() in drivers/infiniband/hw/ehca/ehca_irq.c Impact: cleanup In future, accessing cpu numbers beyond nr_cpu_ids (the runtime limit) will be undefined. We can avoid future problems by using for_each_online_cpu() here. Signed-off-by: Rusty Russell Acked-by: Hoang-Nam Nguyen Tested-by: Hoang-Nam Nguyen Cc: Christoph Raisch commit ce47d974f71af26d00832e83a43ac79bec272d99 Author: Rusty Russell Date: Tue Dec 30 09:05:17 2008 +1030 cpumask: arch_send_call_function_ipi_mask: core Impact: new API to reduce stack usage We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(). Signed-off-by: Rusty Russell commit 54b11e6d57a10aa9d0009efd93873e17bffd5d30 Author: Rusty Russell Date: Tue Dec 30 09:05:16 2008 +1030 cpumask: smp_call_function_many() Impact: Implementation change to remove cpumask_t from stack. Actually change smp_call_function_mask() to smp_call_function_many(). We avoid cpumasks on the stack in this version. (S390 has its own version, but that's going away apparently). We have to do some dancing to figure out if 0 or 1 other cpus are in the mask supplied and the online mask without allocating a tmp cpumask. It's still fairly cheap. We allocate the cpumask at the end of the call_function_data structure: if allocation fails we fallback to smp_call_function_single rather than using the baroque quiescing code (which needs a cpumask on stack). (Thanks to Hiroshi Shimamoto for spotting several bugs in previous versions!) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Hiroshi Shimamoto Cc: npiggin@suse.de Cc: axboe@kernel.dk commit 3fa41520696fec2815e2d88fbcccdda77ba4d693 Author: Rusty Russell Date: Tue Dec 30 09:05:16 2008 +1030 cpumask: make set_cpu_*/init_cpu_* out-of-line They're only for use in boot/cpu hotplug code anyway, and this avoids the use of deprecated cpu_*_map. Stephen Rothwell points out that gcc 4.2.4 (on powerpc at least) didn't like the cast away of const anyway: include/linux/cpumask.h: In function 'set_cpu_possible': include/linux/cpumask.h:1052: warning: passing argument 2 of 'cpumask_set_cpu' discards qualifiers from pointer target type So this kills two birds with one stone. Signed-off-by: Rusty Russell commit ae7a47e72e1a0b5e2b46d1596bc2c22942a73023 Author: Rusty Russell Date: Tue Dec 30 09:05:15 2008 +1030 cpumask: make cpumask.h eat its own dogfood. Changes: 1) cpumask_t to struct cpumask, 2) cpus_weight_nr to cpumask_weight, 3) cpu_isset to cpumask_test_cpu, 4) ->bits to cpumask_bits() 5) cpu_*_map to cpu_*_mask. 6) for_each_cpu_mask_nr to for_each_cpu Signed-off-by: Rusty Russell commit b3199c025d1646e25e7d1d640dd605db251dccf8 Author: Rusty Russell Date: Tue Dec 30 09:05:14 2008 +1030 cpumask: switch over to cpu_online/possible/active/present_mask: core Impact: cleanup This implements the obsolescent cpu_online_map in terms of cpu_online_mask, rather than the other way around. Same for the other maps. The documentation comments are also updated to refer to _mask rather than _map. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit cb78a0ce69fad2026825f957e24e2d9cda1ec9f1 Author: Rusty Russell Date: Tue Dec 30 09:05:14 2008 +1030 bitmap: fix seq_bitmap and seq_cpumask to take const pointer Impact: cleanup seq_bitmap just calls bitmap_scnprintf on the bits: that arg can be const. Similarly, seq_cpumask just calls seq_bitmap. Signed-off-by: Rusty Russell commit 4b0bc0bca83f3fb7cf920e2ec80684c15d2269c0 Author: Rusty Russell Date: Tue Dec 30 09:05:13 2008 +1030 bitmap: test for constant as well as small size for inline versions Impact: reduce text size bitmap_zero et al have a fastpath for nbits <= BITS_PER_LONG, but this should really only apply where the nbits is known at compile time. This only saves about 1200 bytes on an allyesconfig kernel, but with cpumasks going variable that number will increase. text data bss dec hex filename 35327852 5035607 6782976 47146435 2cf65c3 vmlinux-before 35326640 5035607 6782976 47145223 2cf6107 vmlinux-after Signed-off-by: Rusty Russell commit 278d1ed65e25d80af7c3a112d707b3f70516ddb4 Author: Rusty Russell Date: Tue Dec 30 09:05:12 2008 +1030 cpumask: make CONFIG_NR_CPUS always valid. Impact: cleanup Currently we have NR_CPUS, which is 1 on UP, and CONFIG_NR_CPUS on SMP. If we make CONFIG_NR_CPUS always valid (and always 1 on !SMP), we can skip the middleman. This also allows us to find and check all the unaudited NR_CPUS usage as we prepare for v. large NR_CPUS. To avoid breaking every arch, we cheat and do this for the moment in the header if the arch doesn't. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 33edcf133ba93ecba2e4b6472e97b689895d805c Merge: be4d638... 3c92ec8... Author: Rusty Russell Date: Tue Dec 30 08:02:35 2008 +1030 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 8c2399895dc1b5e8976884d4898e68e61ec23e54 Author: Mauro Carvalho Chehab Date: Fri Nov 28 23:46:43 2008 -0300 V4L/DVB (9767): em28xx: improve board description messages Print manufacturer/product info from USB device and also card entry. Signed-off-by: Mauro Carvalho Chehab commit 6a18eaf61aadcd7f002ddfa26031525570e6f8b6 Author: Mauro Carvalho Chehab Date: Thu Nov 27 14:32:17 2008 -0300 V4L/DVB (9766): em28xx: improve probe messages Prints usb speed used by em28xx interface. While there, fixes USB ID's endiannes. Signed-off-by: Mauro Carvalho Chehab commit 017ab4b1e2aa31dc9fe986ab6d1f5ffa2a84395b Author: Mauro Carvalho Chehab Date: Thu Nov 27 09:21:55 2008 -0300 V4L/DVB (9765): em28xx: move tuner gpio's to the cards struct Signed-off-by: Mauro Carvalho Chehab commit 2fe3e2ee72ef17daad1d3769321bb7dd69a003a9 Author: Mauro Carvalho Chehab Date: Thu Nov 27 09:10:40 2008 -0300 V4L/DVB (9764): em28xx: Add support for suspend the device when not used Several chips may be turned off when the device is not used, like audio, video and dvb demods. This patch adds a gpio callback at the core structs to allow turning off such devices. Signed-off-by: Mauro Carvalho Chehab commit f502e861849ade3a128964410c87acedf437a6a1 Author: Mauro Carvalho Chehab Date: Thu Nov 27 09:00:00 2008 -0300 V4L/DVB (9763): em28xx: fix gpio settings A previous changeset moved gpio from em28xx struct into em28xx_board. However, the driver were not updated to properly honor those gpio's. Signed-off-by: Mauro Carvalho Chehab commit 1c67e76f71e7cccc1e0734aee908391e9f0a32f8 Author: Mauro Carvalho Chehab Date: Thu Nov 27 07:46:59 2008 -0300 V4L/DVB (9762): em28xx: fix tuner absent entries Before this patch, several devices without tuner were kept the value 0 for tuner_type. However, this means TUNER_TEMIC_PAL. Replace those entries for the proper TUNER_ABSENT value. Signed-off-by: Mauro Carvalho Chehab commit a5942b5c26864bfc7dda653f294e956dc0a36c84 Author: Mauro Carvalho Chehab Date: Thu Nov 27 07:44:00 2008 -0300 V4L/DVB (9761): em28xx: replace magic numbers for mux aliases Instead of using magic vmux/amux, let's use an alias where possible. Signed-off-by: Mauro Carvalho Chehab commit 122b77e59ed2de0692dfe45c87a93e98156fe03a Author: Mauro Carvalho Chehab Date: Thu Nov 27 07:42:26 2008 -0300 V4L/DVB (9760): em28xx: move gpio lines into board table description Instead of a large, ugly switch specifying the gpio tables for each device, let's move it into the boards struct. This also helps to see what boards have already the gpio's for DVB. Signed-off-by: Mauro Carvalho Chehab commit 0ec202d183b4e3d3e4d06612a29e25466889c328 Author: Mauro Carvalho Chehab Date: Tue Nov 25 13:16:13 2008 -0300 V4L/DVB (9759): em28xx: move gpio tables to the top of em28xx-cards Signed-off-by: Mauro Carvalho Chehab commit 2a29a0d770ef6f24a8fd7806655c826d45888cba Author: Mauro Carvalho Chehab Date: Wed Nov 26 16:28:42 2008 -0300 V4L/DVB (9758): em28xx: replace some magic by register descriptions where known Replaces all occurrences of em28xx_write_regs_req() and em28xx_write_reg() used to setup register names by em28xx_write_reg(). Also, documents the register names that are known. This patch were generated by this small perl script: my %reg_map = ( # Register table - the same as defined on parse_em28xx.pl script ); while (<>) { if (m/(.*)em28xx_write_regs_req\(dev\,\s*0x00\,\s*(.*)\,\s*\"\\x(..)\",\s*1\)\;(.*)/) { my $reg = $2; my $val = $3; $val =~ tr/A-f/a-f/; $reg = $reg_map{$reg} if defined($reg_map{$reg}); printf "$1em28xx_write_reg(dev, %s, 0x%s);$4\n", $reg, $val; } elsif (m/(.*)em28xx_write_regs\(dev\,\s*(.*)\,\s*\"\\x(..)\",\s*1\)\;(.*)/) { my $reg = $2; my $val = $3; $val =~ tr/A-f/a-f/; $reg = $reg_map{$reg} if defined($reg_map{$reg}); printf "$1em28xx_write_reg(dev, %s, 0x%s);$4\n", $reg, $val; } else { print $_; } } Signed-off-by: Mauro Carvalho Chehab commit c864405747fa8b50c1454b280c216f54da834cb4 Author: Mauro Carvalho Chehab Date: Tue Nov 25 13:10:14 2008 -0300 V4L/DVB (9755): em28xx: cleanup: We need just one tuner callback Signed-off-by: Mauro Carvalho Chehab commit 1bee0184f6ffba1263a4b1e5732cde2c5292d843 Author: Mauro Carvalho Chehab Date: Tue Nov 25 10:06:21 2008 -0300 V4L/DVB (9754): em28xx: improve debug messages Now, the first message states board names. Also, removed printing the alternate settings by default. I2C messages are now clearer. Signed-off-by: Mauro Carvalho Chehab commit ec5de990d912c0d5cca98e030bf6447c1529f56d Author: Mauro Carvalho Chehab Date: Tue Nov 25 09:43:29 2008 -0300 V4L/DVB (9753): em28xx: cleanup: saa7115 module auto-detects saa711x type Since saa7115 has saa711x chip auto-detection, there's no need on differenciating it at cards table. Just use the generic name for all boards that use a philips saa711x decoder. Signed-off-by: Mauro Carvalho Chehab commit 505b6d0b774fa4475fedbd3cebf95199c17a0086 Author: Mauro Carvalho Chehab Date: Tue Nov 25 09:39:50 2008 -0300 V4L/DVB (9752): Remove duplicated fields on em28xx_board and em28xx structs Several fields are duplicated on both structs. Let's just copy em28xx_board instead. A later cleanup could just copy the fields that are changed, in order to keep em28xx_board const. Signed-off-by: Mauro Carvalho Chehab commit d4d889e329bd0837598b3ef611806421754e9b83 Author: Mauro Carvalho Chehab Date: Tue Nov 25 09:10:25 2008 -0300 V4L/DVB (9751): em28xx: card description cleanups Remove unused em28xx_board.vchannels and em28xx.video_channels. Also, .is_em2800 = 0 is not needed, as all data is zeroed by kernel loader. The table also included a notice that svideo weren't test on Hauppauge USB2. Remove this notice, since this input also works properly. Also, it does some whitespace cleanups. Signed-off-by: Mauro Carvalho Chehab commit a2070c665459ac37a36bebae5e97bb4a2568990e Author: Mauro Carvalho Chehab Date: Tue Nov 25 07:05:06 2008 -0300 V4L/DVB (9747): em28xx: Properly handles XCLK and I2C speed The previous patches removed XCLK and I2C magic. Now, we finally know what those registers do. Also, only a very few cards need different setups for those. Instead of keeping the setups for those values inside the per-device hack magic switch, move the uncommon values to the board-specific struct, and have a common setup for all other boards. So, almost 100 lines of hacking magic were removed. A co-lateral effect of this patch is that it also fixes a bug at em28xx-core, where xclk were set, without taking any care about not overriding a previous xclk setup. Signed-off-by: Mauro Carvalho Chehab commit 6d676d8af852e483044837240ad9ca669a01aaf2 Author: Devin Heitmueller Date: Tue Nov 25 06:04:02 2008 -0300 V4L/DVB (9745): em28xx: Cleanup GPIO/GPO setup code Cleanup the calls to set the GPIOs and GPOs for various devices, replacing the register number with the #define from em28xx-reg.h and converting over to using em28xx_write_reg() Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 55927684e7c616b0b0976cc52926997f2da5930d Author: Devin Heitmueller Date: Tue Nov 25 06:03:31 2008 -0300 V4L/DVB (9744): em28xx: cleanup XCLK register usage Convert over to setting the XCLK register usage with the new em28xx_write_reg() function. Thanks to Ray Lu from Empia for providing the em2860/2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 2f56c34b2bc25a5a3419715f38f7d761fcd61b23 Author: Uri Shkolnik Date: Sat Nov 22 14:08:46 2008 -0300 V4L/DVB (9740): sms1xxx: add USB suspend and hibernation support This patch provides USB suspend and hibernation support for Siano's SMS chipset based USB device Signed-off-by: Uri Shkolnik Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7b29e10d609035b5f93546ac6bcd1c5d810476a7 Author: Michael Krufky Date: Sat Nov 22 15:32:19 2008 -0300 V4L/DVB (9739): sms1xxx: enable signal quality indicator LEDs on Hauppauge WinTV MiniStick Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 851a90914346b9a3b1afc0ae9c1ed2eb3dae9b5a Author: Michael Krufky Date: Sat Nov 22 14:56:37 2008 -0300 V4L/DVB (9738): sms1xxx: fix invalid unc readings Add function smsdvb_read_ucblocks to report uncorrectable error counts. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a6fbed650cc329ba7094af3278deaea0c80bd7b Author: Michael Krufky Date: Sat Nov 22 14:26:37 2008 -0300 V4L/DVB (9736): sms1xxx: enable power LED on Hauppauge WinTV MiniStick Enable power LED while the frontend is in use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 250fa674fdcaa64ba17cdb6d3ef0bdf2fa15af90 Author: Michael Krufky Date: Sun Nov 16 22:45:42 2008 -0300 V4L/DVB (9735): sms1xxx: turn off LEDs after initialization of Hauppauge WinTV MiniStick Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3f7d99f65a044785804ef65b3588da0640ed1c37 Author: Michael Krufky Date: Sat Nov 22 11:21:02 2008 -0300 V4L/DVB (9733): sms1xxx: add autodetection support for Hauppauge WinTV MiniCard add USB IDs for Hauppauge WinTV MiniCard DVB-T Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76052bc8688c84628865740e2f82ab41d71a977b Author: Michael Krufky Date: Sun Nov 16 18:01:58 2008 -0300 V4L/DVB (9734): sms1xxx: add functions to configure and set gpio Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c9455fbb159711ca7a2ee5a67f0e7ca43287bbd7 Author: Mauro Carvalho Chehab Date: Sat Nov 22 10:50:38 2008 -0300 V4L/DVB (9717): em28xx: improve message probing logs On some em28xx devices, there's an unused interface. This is printed on the logs as an error. We can just ignore that interface. Signed-off-by: Mauro Carvalho Chehab commit 6e4ae872c580d6a388a52ddfdfc93b4215af1180 Author: Jean-Francois Moine Date: Sat Nov 22 05:35:49 2008 -0300 V4L/DVB (9713): gspca: Add the ov534 webcams in the gspca documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fbb4c6d20f29f2b10daad31cc6238d91f93d70d4 Author: Antonio Ospite Date: Sat Nov 22 05:23:39 2008 -0300 V4L/DVB (9712): gspca:Subdriver ov534 added. The OmniVision OV534 is the USB bridge chip used in Sony Playstation EYE, it is found also in other webcams like Hercules Blog Webcam and Hercules Dualpix HD. This driver is the port to gspca of a prototype driver by Mark Ferrell based on vivi. The original code to initialize the camera and start the capture is from Jim Paris on ps2dev.org, here integrated with the analysis of the USB communications taken by the windows driver. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a08d81af37b3d7547813219da68c3c946f742fb3 Author: Jean-Francois Moine Date: Sat Nov 22 04:53:31 2008 -0300 V4L/DVB (9711): gspca: Let gspca handle the webcams 045e:00f5 & 00f7 instead of sn9c102. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 342b4a2adf9e11c7f18c3ddc47d109fdab3530ff Author: Jean-Francois Moine Date: Sat Nov 22 04:17:06 2008 -0300 V4L/DVB (9709): gspca: Fix typos and name errors in Kconfig. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1432f3062a72d1eafccc641dd9327a062fc27b92 Author: Jean-Francois Moine Date: Fri Nov 21 04:34:15 2008 -0300 V4L/DVB (9708): gspca: Do the sn9c105 - ov7660 work again in sonixj. The sn9c105 and sn9c120 bridges must be differently programmed for the ov7660. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d01823069f40b8ff084449bf469ba558b1bc951d Author: Hans de Goede Date: Wed Nov 19 17:10:47 2008 -0300 V4L/DVB (9706): gspca: Use the ref counting of v4l2 for disconnection. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 579ef879999f9b9e9215ad5c5bb78e168cc64dde Author: Erik Andrén Date: Tue Nov 18 14:38:10 2008 -0300 V4L/DVB (9703): Move the s5k4aa vflip quirk table to the main sensor file in order to avoid compilation errors on older kernels Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 30881ab7b30f1585a44bb7cd7dafb59ec798073d Author: Erik Andrén Date: Tue Nov 18 14:36:53 2008 -0300 V4L/DVB (9702): Move the ov9650 vflip table to avoid compilation warnings on older kernels Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 8eaaf4034f22bad1da46859d64edab1d898974ab Author: Erik Andrén Date: Tue Nov 18 14:32:27 2008 -0300 V4L/DVB (9701): Add a minor comment to the sensor init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2ea487e2d00ba2c1c24a1e5cd7e2465ce0c95c4b Author: Erik Andrén Date: Sat Nov 1 13:13:03 2008 -0300 V4L/DVB (9698): Add another vflip quirk for the s5k4aa The msi gx7xx range of computers seem to be a strange lot with lots of different sys vendor names and differently oriented sensors. This commit adds another quirk for a range of them. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 9267b1e8249983ecaded94bf23253a66a5cc55fc Author: Erik Andrén Date: Sat Oct 18 16:20:36 2008 -0300 V4L/DVB (9696): Remove accidental typo Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 000e177f78466be2487ac4983291abb7b0ff0be7 Author: Erik Andrén Date: Tue Oct 14 02:41:54 2008 -0300 V4L/DVB (9694): Indent the m5602 register definitions Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d7280518ef8151600aad1e6b999464df435b608b Author: Erik Andrén Date: Tue Oct 14 02:38:49 2008 -0300 V4L/DVB (9693): Remove some unused defines The gspca conversion deprecated a number of defines. Remove them. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 880ae24d35d357037d5ad5c3148383fde1070a12 Author: Jean-Francois Moine Date: Tue Nov 18 04:19:52 2008 -0300 V4L/DVB (9688): gspca: Reset the bulk URB status before resubmitting at irq level. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9a23f5fcb0d38ebb70ab31c16c079f38b26e453c Author: Hans de Goede Date: Mon Nov 17 15:03:03 2008 -0300 V4L/DVB (9687): gspca: Split brightness and red and blue balance in spca501. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit bd131f38aae2f354c4919790712f8ce89896f839 Author: Hans de Goede Date: Mon Nov 17 14:56:41 2008 -0300 V4L/DVB (9686): gspca: Don't return the control values from the webcams in spca501. The bridge takes some time to update after a write, so apps doing a quick write/read can get the old value back. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cc043428e5869a629252665d3ecc86ee4c14db3d Author: Hans de Goede Date: Mon Nov 17 14:52:56 2008 -0300 V4L/DVB (9685): gspca: Correct restart of webcams in spca501. Currently the spca501 driver only works the first time used, then the cam needs to be unplugged or the driver reloaded, this is because currently the data which should be send each time the stream is started is send only once. Likewise currently the data to initialize the cam is send from the probe function, and thus will not get send after a suspend/resume. This patch fixes this by sending both at the right time. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dff369aad6407e7b123e239e9ea2f552299cf74c Author: Antonio Ospite Date: Fri Nov 14 07:53:32 2008 -0300 V4L/DVB (9682): gspca: New subdriver parameter 'bulk_nurbs'. Some webcams with image transfer by bulk messages accept one or many permanent bulk read. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6270330abea2d9556583d597bb78d64b291aa6ba Author: Jean-Francois Moine Date: Tue Nov 11 08:42:56 2008 -0300 V4L/DVB (9681): gspca: Rewrite the exchanges with the sensor ov7648 of sonixj. The new exchanges are adapted from MS-win traces and the webcams work better. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 821ced29a4aee1bd21d1d114cc9c7247b3aa4ba3 Author: Jean-Francois Moine Date: Tue Nov 11 07:10:11 2008 -0300 V4L/DVB (9680): gspca: Let gspca handle the webcam 0c45:613a instead of sn9c102. The driver sn9c102 has no code for the ov7648 sensor. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c58701b26340176a19ea400fed41ad8263dcf860 Author: Hans Verkuil Date: Thu Nov 20 05:37:05 2008 -0300 V4L/DVB (9678): af9015: Cleanup switch for usb ID It is much more readable to swap the byteorder in the switch rather than in each case statement. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 05583625710dfd75880a6cbb68292929d1d4c33c Author: Dirk Heer Date: Fri Nov 21 19:00:55 2008 -0300 V4L/DVB (9677): bttv: fix some entries on Phytec boards and add missing ones This Patch does modify the bttv-cards.c and bttc.h so that the driver supports VD-011, VD-012, VD-012-X1 and VD-012-X2 Framegrabber from Phytec Messtechnik GmbH. Signed-off-by: Dirk Heer Signed-off-by: Mauro Carvalho Chehab commit 31e0530c32701fc14b845ef84fe61b66e9c5398c Author: Mauro Carvalho Chehab Date: Thu Nov 20 18:47:37 2008 -0300 V4L/DVB (9676): em28xx: fix a regression caused by 22c90ec6a5e07173ee670dc2ca75e0df0a7772c0 If removing and reiserting the driver on some devices, tuner type will be unset at the second time. This patch fixes this issue. Signed-off-by: Mauro Carvalho Chehab commit 3ce6509456805904799bf669e82a8ea5126e92df Author: Mauro Carvalho Chehab Date: Thu Nov 20 18:38:29 2008 -0300 V4L/DVB (9675): em28xx: devices with xc2028/3028 don't have tda9887 This patch cleans up the entries of xc2028/3028, since those devices don't need or use a tda9887. Signed-off-by: Mauro Carvalho Chehab commit 30e4ac7c033f6a2c2e3060875a2f08d7909636a1 Author: Mauro Carvalho Chehab Date: Thu Nov 20 13:43:05 2008 -0300 V4L/DVB (9673): em28xx: fix Pixelview PlayTV board entry Pixelview uses a Sigmatel stac codec. It has an external line out pin, connected to AC97_MASTER_VOL. It also provides I2S output, but using a Signed-off-by: Mauro Carvalho Chehab commit e879b8ebb000298f8124fc8fae570afc9eb37cbb Author: Mauro Carvalho Chehab Date: Thu Nov 20 13:39:39 2008 -0300 V4L/DVB (9672): Allow opening more than one output at the same time Some devices use more than one AC97 outputs. This patch allows such devices to properly work. Signed-off-by: Mauro Carvalho Chehab commit 209acc02249d831e7f2e3d8083b6b562dde5fc6f Author: Mauro Carvalho Chehab Date: Thu Nov 20 12:49:33 2008 -0300 V4L/DVB (9671): em28xx: Add detection of Sigmatel Stac97xx series of AC97 devices Signed-off-by: Mauro Carvalho Chehab commit 35ae6f04ad3e4c3ed8a83382b6511bd9beb5c768 Author: Mauro Carvalho Chehab Date: Thu Nov 20 12:40:51 2008 -0300 V4L/DVB (9670): em28xx: allow specifying audio output Some boards use different AC97 setups for output. This patch adds the capability of specifying the output to be used. Currently, only one output is selected, but the better is to allow user to select it via a mixer, on alsa driver. Signed-off-by: Mauro Carvalho Chehab commit f1990a9c39d957e6896fc506fc5388b7f302c429 Author: Mauro Carvalho Chehab Date: Thu Nov 20 12:10:44 2008 -0300 V4L/DVB (9669): em28xx: Fix a stupid cut-and-paste error Signed-off-by: Mauro Carvalho Chehab commit bdf398eb09e3f2e1fd1acb50960ce93fe380e847 Author: Oldrich Jedlicka Date: Thu Nov 13 22:03:00 2008 -0300 V4L/DVB (9667): Fixed typo in sizeof() causing NULL pointer OOPS Signed-off-by: Oldřich Jedlička Signed-off-by: Mauro Carvalho Chehab commit 0537156f6ca44193f70e91b636a25724aaa1e53b Author: Alain Kalker Date: Mon Nov 17 17:20:38 2008 -0300 V4L/DVB (9665): af9015: Add support for the Digittrade DVB-T USB Stick remote Adds support for the Digittrade DVB-T USB Stick remote. As the Digittrade USB stick identifies itself as a generic Afatech AF9015 device, the remote cannot be autodetected. To enable it, add the following to /etc/modprobe.d/dvb-usb-af9015 or /etc/modprobe.conf: options dvb-usb-af9015 remote=4 Signed-off-by: Alain Kalker Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 308bb52c192cc1bad3c90c82dbd90e7fff176caa Author: Laurent Pinchart Date: Mon Nov 17 18:32:11 2008 -0300 V4L/DVB (9662): uvcvideo: Fix printk badness when printing ioctl names Add a trailing newline character after calling v4l_printk_ioctl() to avoid messing the kernel log up and merge the uvc_v4l2_ioctl message with the ioctl name. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 23867b2511140ae5693587d2b15badbcc632e3cc Author: Laurent Pinchart Date: Wed Nov 12 11:46:43 2008 -0300 V4L/DVB (9661): uvcvideo: Commit streaming parameters when enabling the video stream Sonix-based cameras seem to require the host to commit video streaming parameters before selecting the alternate endpoint. While most applications issue a VIDIOC_S_FMT ioctl before starting streaming, this is not required by the V4L2 specification. The problem has been noticed on Ubuntu 8.10 with applications using libv4l. The library blocks VIDIOC_S_FMT calls when the requested format is identical to the currently selected format. As the driver commits video streaming parameters when initialising the device, only the first run of a libv4l-enabled application would succeed. For the sake of completeness, experiment showed that the camera keeps sending 12 bytes isochronous packets (header only, no data) without toggling the FID bit if video streaming parameters haven't been committed before selecting the alternate endpoint. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 9bc6218dc1dc7bd421f3d141241c8e0e70c4e92b Author: Michael Hennerich Date: Tue Nov 11 14:11:28 2008 -0300 V4L/DVB (9660): uvcvideo: Fix unaligned memory access. Use the unaligned memory access macros when accessing unaligned memory. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4d3939f6eecb1c3330a34e0bc95a6b8529207b88 Author: Laurent Pinchart Date: Tue Nov 11 14:04:30 2008 -0300 V4L/DVB (9659): uvcvideo: Use {get|set}_unaligned_le32 macros Replace combination of endianess conversion and unaligned access macros with {get|set}_unaligned_*. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 23159a0bfcfb329cf68c7a7259e688494273bb7f Author: Devin Heitmueller Date: Thu Nov 20 09:53:05 2008 -0300 V4L/DVB (9658): em28xx: use em28xx_write_reg() for i2c clock setup Convert the calls that write the i2c clock register over to the new em28xx_write_reg() function that allows for or'ing bits Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b69724899440289ab258ff417c2d6aa104c70310 Author: Devin Heitmueller Date: Thu Nov 20 09:52:20 2008 -0300 V4L/DVB (9657): em28xx: add a functio to write on a single register Introduce a new function that writes to a single register. This is useful because the vast majority of register writes are a single register, and this format permits or'ing register value bits together. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f8de18d4308317a1c088fb8852ed0516124521b1 Author: Jelle Foks Date: Thu Nov 20 07:07:45 2008 -0300 V4L/DVB (9654): new email address Please accept this patch to refer to my new email address Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 5faff78904d9c07f38ac0e227b322e9f58d5447c Author: Mauro Carvalho Chehab Date: Thu Nov 20 09:06:09 2008 -0300 V4L/DVB (9653): em28xx: improve AC97 handling AC97 devices provide several input and outputs. However, before this patch, em28xx device weren't properly allowing the usage of ac97 possible combinations. Also, several input volumes were left untouched, instead of making sure that the volumes were set on mute state. This patch improves support for ac97 devices by allowing to use any inputs, and making sure that unused inputs are set on mute state. Yet, some work is still needed to select the AC97 output. Signed-off-by: Mauro Carvalho Chehab commit 16c7bcadff2222b297d13951dc30e133f56d0154 Author: Mauro Carvalho Chehab Date: Thu Nov 20 08:56:19 2008 -0300 V4L/DVB (9652): em28xx: merge AC97 vendor id's into a single var This makes easier to identify vendor ID, since AC97 vendors are generally identified by 3 bytes. The remaining byte is used by the vendor to identify its devices. Signed-off-by: Mauro Carvalho Chehab commit 35643943be58aef82826e340761e86e0d37870ec Author: Mauro Carvalho Chehab Date: Wed Nov 19 12:01:33 2008 -0300 V4L/DVB (9651): em28xx: Improve audio handling This patch properly implements audio handling on em28xx. Before this patch, it was assumed that every device has an Empia 202 audio chip. However, this is not true. After this patch, specific AC97 chipset setup and configurations can be done. Signed-off-by: Mauro Carvalho Chehab commit 8a5caa6bcb03b72db6c19a11e7b2de7656bd3f26 Author: Mauro Carvalho Chehab Date: Wed Nov 19 11:10:50 2008 -0300 V4L/DVB (9650): em28xx: replace magic numbers to something more meaningful audio mux entries were described by 0 and 1 magic numers. Use an enum alias for each entry type. Signed-off-by: Mauro Carvalho Chehab commit a42aa191cc2b7573bdcf53023c4e9d5cfe91363e Author: Mauro Carvalho Chehab Date: Wed Nov 19 11:08:53 2008 -0300 V4L/DVB (9649): em28xx: remove two amux entries used only on one card This patch parepares for an audio refactor patch that auto-detects ac97 chips. Signed-off-by: Mauro Carvalho Chehab commit 5c2231c84304563fd5d28e8bbb72e09e882a8e32 Author: Devin Heitmueller Date: Wed Nov 19 08:22:28 2008 -0300 V4L/DVB (9648): em28xx: get audio config from em28xx register Make use of the em28xx chip configuration register to determine whether we have AC97 audio, I2S audio, or no audio support at all. Thanks for Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 67c96f67060abfe595974a77aeb4ce7815893648 Author: Devin Heitmueller Date: Tue Nov 18 05:05:46 2008 -0300 V4L/DVB (9644): em28xx: add em2750 to the list of known em28xx chip ids Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 897511139634b96a5980420f5d37972589a19f17 Author: Mauro Carvalho Chehab Date: Mon Nov 17 22:40:36 2008 -0300 V4L/DVB (9643): em28xx: remove the previous register names Previously, AC97 registers were named as if they were part of em28xx device, generating some confusion. Replace such names for a more general naming convention. Signed-off-by: Mauro Carvalho Chehab commit 6fbcebf06a40f10a1c9dd7bc835115662284c40c Author: Mauro Carvalho Chehab Date: Mon Nov 17 22:30:09 2008 -0300 V4L/DVB (9642): Add AC97 registers found on em28xx devices Signed-off-by: Mauro Carvalho Chehab commit f09fb53075646c35efe0f74d97b7c4bc7ec61e5a Author: Mauro Carvalho Chehab Date: Sun Nov 16 10:40:21 2008 -0300 V4L/DVB (9641): Add chip ID's for em2820 and em2840 Signed-off-by: Mauro Carvalho Chehab commit 802971257a3b897d2affd39e540be264bae89c3b Author: Julia Lawall Date: Wed Nov 12 23:18:21 2008 -0300 V4L/DVB (9638): drivers/media: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 292ee46107abc213fc073298aa6a838a595d2b78 Author: Harvey Harrison Date: Fri Nov 14 18:19:56 2008 -0300 V4L/DVB (9637): usb vendor_ids/product_ids are __le16 Noticed by sparse: drivers/media/dvb/dvb-usb/af9015.c:756:25: warning: restricted __le16 degrades to integer drivers/media/dvb/dvb-usb/af9015.c:744:28: warning: restricted __le16 degrades to integer Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit b3d8466fd0e63fd58096f195cbe5ec2444d3fd60 Author: Harvey Harrison Date: Sat Nov 15 01:08:45 2008 -0300 V4L/DVB (9636): dvb: cinergyt2 annotate struct endianness, remove unused variable, add static All noticed by sparse: drivers/media/dvb/dvb-usb/cinergyT2-core.c:35:5: warning: symbol 'disable_remote' was not declared. Should it be static? drivers/media/dvb/dvb-usb/cinergyT2-core.c:48:23: warning: symbol 'cinergyt2_usb_device' was not declared. Should it be static? drivers/media/dvb/dvb-usb/cinergyT2-fe.c:160:15: warning: cast to restricted __le16 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:190:9: warning: cast to restricted __le32 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:208:9: warning: cast to restricted __le32 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:227:24: warning: cast to restricted __le16 drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12: warning: incorrect type in assignment (different base types) drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12: expected unsigned short [unsigned] [assigned] [usertype] tps drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12: got restricted __le16 [usertype] drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13: warning: incorrect type in assignment (different base types) drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13: expected unsigned int [unsigned] [assigned] [usertype] freq drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13: got restricted __le32 [usertype] Cc: Thierry Merle Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 726cf2000b1c0978bbddc6345ddd7f88caf8aa48 Author: Devin Heitmueller Date: Sun Nov 16 03:39:50 2008 -0300 V4L/DVB (9633): Put s5h1411 into low power mode at end of attach() call Place the s5h1411 into low power mode until first use (to handle the case where the user plugs in the device and then doesn't use it for a while). On the Pinnacle 801e, this brings the power usage from 126ma down to 82ma. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 66767920e3e6532db8afe04f9b2d8e1a9e95cad9 Author: Mauro Carvalho Chehab Date: Sun Nov 16 08:05:06 2008 -0300 V4L/DVB (9630): Some boards need to specify tuner address Signed-off-by: Mauro Carvalho Chehab commit 60245e858ddb2255d458868be16ba814f6f8d446 Author: Devin Heitmueller Date: Sun Nov 16 08:03:53 2008 -0300 V4L/DVB (9629): Add support for the ATI TV Wonder HD 600 USB Remote Control Add support for the ATI TV Wonder HD 600 USB Remote Control (required a new keymap) [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4b92253acc723f365ad6b2f32e4118e38133b7b8 Author: Devin Heitmueller Date: Thu Nov 13 03:15:55 2008 -0300 V4L/DVB (9628): em28xx: refactor IR support Refactor the em28xx IR support based on the em2860/em2880 and em2874 datasheets. Tested on the HVR-950 (em2883), Pinnacle 800e (em2883), Pinnacle 80e (em2874) using the remote controls that came with those products. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0a6b8a851efae71b0a6f2cbf5d40880553dfabaa Author: Mauro Carvalho Chehab Date: Wed Nov 12 18:46:01 2008 -0300 V4L/DVB (9612): Fix key repetition with HVR-950 IR Signed-off-by: Mauro Carvalho Chehab commit 91812fa74f29f70a2c3a4bf58f7601f86092794f Author: Mauro Carvalho Chehab Date: Wed Nov 12 14:05:46 2008 -0300 V4L/DVB (9611): em28xx: experimental support for HVR-950 IR Signed-off-by: Mauro Carvalho Chehab commit a924a499adb89f52046936deac87264774652a81 Author: Mauro Carvalho Chehab Date: Wed Nov 12 08:41:29 2008 -0300 V4L/DVB (9607): em28xx: Properly implement poll support for IR's The first em28xx were based on i2c IR's. However, some newer designs are coming with a polling-based IR. Those are done by reading a register set at em28xx. This patch adds core polling support for those devices. Later patches will add support for some device-specific IR's. This patch adds the same basic IR polling code used by bttv, cx88 and saa7134, and shares the common getkey masks defined at ir-common. Signed-off-by: Mauro Carvalho Chehab commit 1958578da6f3971227fca94a62429cdf0bd3c699 Author: Mauro Carvalho Chehab Date: Wed Nov 12 01:03:02 2008 -0300 V4L/DVB (9591): v4l core: fix debug printk for enumberating framerates Signed-off-by: Mauro Carvalho Chehab commit 864ec0b7a03c8401e6e49f9e480489478ea14cb5 Author: Devin Heitmueller Date: Wed Nov 12 02:05:28 2008 -0300 V4L/DVB (9590): Add registration for Pinnacle 80e ATSC tuner Add registration for Pinnacle 80e ATSC tuner Register the em2874 based Pinnacle 80e device. Note that support for this device also requires the new drx-j driver (which is not available yet) Thanks for Ray Lu from Empia for providing the em2874 datasheet. Thanks to Joerg Schindler from Pinnacle for providing sample hardware. Thanks to Rainer Miethling from Pinnacle for providing engineering support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ebef13d480f0223512963ee785bd93770d404fe3 Author: Devin Heitmueller Date: Wed Nov 12 02:05:24 2008 -0300 V4L/DVB (9589): Properly support capture start on em2874 Properly support capture start on em2874 The transport stream enable register moved in the em2874, so make it work properly. Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 24a613e4b08c4077b4c809bebab1d4a36d541fcc Author: Devin Heitmueller Date: Wed Nov 12 02:05:19 2008 -0300 V4L/DVB (9588): Don't load em28xx audio module for digital-only devices Rework the logic so that the em28xx-alsa module does not get loaded for devices that don't support analog audio (such as the em2874) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 95ea4705746f52e17f1f14f9136ea2106ffe3b26 Author: Devin Heitmueller Date: Wed Nov 12 02:02:17 2008 -0300 V4L/DVB (9587): Handle changes to endpoint layout in em2874 Empia moved around their endpoint configuration in newer chips, so accommodate the changes Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 492404449532e40b5b6ed06b56aae2bf710239e6 Author: Devin Heitmueller Date: Wed Nov 12 02:05:15 2008 -0300 V4L/DVB (9586): Fix possible null pointer dereference in info message Fix case where we could end up dereferencing a NULL pointer if dev->vdev or dev->vbi_dev were not set properly. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a527c9f827517a14b869511a954910d973556c8c Author: Devin Heitmueller Date: Wed Nov 12 02:05:10 2008 -0300 V4L/DVB (9585): Skip reading eeprom in newer Empia devices Empia switched to a 16-bit addressable eeprom in newer devices. While we could certainly write a routine to read the eeprom, there is nothing of use in there that cannot be accessed through registers, and there is the risk that we could corrupt the eeprom (since a 16-bit read call is interpreted as a write call by 8-bit eeproms). So just be safe and bail out of the function. Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6a1acc3bc5144e004996029b20e46e6020d128a7 Author: Devin Heitmueller Date: Wed Nov 12 02:05:06 2008 -0300 V4L/DVB (9584): Support different GPIO/GPO registers for newer devices Empia moved the location of the GPIO/GPO registers in newer devices. Add the ability to specify the relocated registers (including caching of register contents). Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 600bd7f0edee0f9687c3c77e6fe63c74452acbfa Author: Devin Heitmueller Date: Wed Nov 12 02:05:02 2008 -0300 V4L/DVB (9583): Remember chip id of devices at initialization When setting up the device, remember the chip id, so we can control behavior in the future without having to read the register continuously. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 1ed1dd54b0456a880ab4090275a47eb5a7a245d1 Author: Devin Heitmueller Date: Wed Nov 12 02:04:57 2008 -0300 V4L/DVB (9582): Add a EM28XX_NODECODER option to the list of available decoders Add a EM28XX_NODECODER option to the list of available decoders. This option becomes important for devices that do not have analog support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 65c9fd4609ccbabe4aa354eeab7823507424d8b3 Author: Devin Heitmueller Date: Wed Nov 12 02:04:53 2008 -0300 V4L/DVB (9581): Remove unused variable from em28xx-audio.c Remove unused variable from em28xx-audio.c Fix warning for unused "ret" variable Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 5caeba045c3a676b892790c6685e542f81a4f96e Author: Devin Heitmueller Date: Wed Nov 12 02:04:48 2008 -0300 V4L/DVB (9580): Add chip id for em2874 to list of known chips Add em2874 chip id Add chip id for em2874 to list of known chips Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a56a18c3ed3442a0c049c9b5f0dda918a6e83726 Author: Mauro Carvalho Chehab Date: Tue Nov 11 21:15:03 2008 -0300 V4L/DVB (9579): v4l core: a few get ioctls were lacking memory clean Signed-off-by: Mauro Carvalho Chehab commit 74d83fa0241f603a4067f071a88ef8b9a7c415a0 Author: Mauro Carvalho Chehab Date: Tue Nov 11 21:13:47 2008 -0300 V4L/DVB (9578): v4l core: add support for enumerating frame sizes and intervals video_ioctl2 lacks implementation of those two ioctls: - VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS Adds implementation for those. Signed-off-by: Mauro Carvalho Chehab commit f3f741e7119f93db642f06940376a1c93dd3f57b Author: Darron Broad Date: Tue Nov 11 08:50:02 2008 -0300 V4L/DVB (9577): saa7134-dvb: MFE attachment clean-up for saa-7134 dvb This cleans-up MFE attachment for saa-7134 dvb devices. note: MFE is not fully implemented here yet. Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 60a5a927595763dbb711a13528e21c2b7a46dbad Author: Darron Broad Date: Tue Nov 11 08:48:27 2008 -0300 V4L/DVB (9576): cx88-dvb: MFE attachment clean-up for HVR-3000/4000 This cleans-up MFE attachment for these cards plus two cases of potential memory leak on attachment failure. Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 2c9bcea1a11134a47a46b6b61aeac5f06296d152 Author: Mauro Carvalho Chehab Date: Mon Nov 10 23:35:00 2008 -0200 V4L/DVB (9572a): Whitespace cleanup Signed-off-by: Mauro Carvalho Chehab commit 44f0079ec74330b457d990072c13cbe28b0f1abf Author: Laurent Pinchart Date: Sat Nov 8 19:14:50 2008 -0300 V4L/DVB (9570): uvcvideo: Handle failed video GET_{MIN|MAX|DEF} requests more gracefully Failed requests will now generate a one-time warning message instead of the usual "Failed to query..." error, which should be more user-friendly. The driver will also recover automatically from failed GET_MIN/GET_MAX requests when the device is half-broken without requiring the MINMAX quirk (fully broken devices still need the quirk). Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 7e21fda17e7f6156e2ad66ca4f76abcbe1063eb2 Author: Jean-Francois Moine Date: Mon Nov 10 04:45:51 2008 -0300 V4L/DVB (9563): gspca: Let gspca handle the webcam 0471:0328 instead of sn9c102. According to http://bugzilla.kernel.org/show_bug.cgi?id=11997, the driver sn9c102 does not work for this webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 29fbdf3d94dc0fd97e245cceaf1b77012e77c22d Author: Jean-Francois Moine Date: Fri Nov 7 04:53:28 2008 -0300 V4L/DVB (9560): gspca: Let gspca handle the webcam 0c45:602c instead of sn9c102. According to http://bugzilla.kernel.org/show_bug.cgi?id=11920, the driver sn9c102 does not work for this webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 95c730beb21235e031fb38145048ab4389e8c442 Author: Frederic Cand Date: Sat Oct 25 05:03:19 2008 -0300 V4L/DVB (9548): gspca: Fix Kconfig CodingStyle Signed-off-by: Frederic Cand Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 54b7b0deb4c602d0751627d14510dc50b5bba372 Author: Alexey Klimov Date: Sat Nov 8 00:31:50 2008 -0300 V4L/DVB (9540): dsbr100: add disabled controls and fix version Patch adds disabled controls in v4l2_queryctrl struct. Also version of driver corrected. -- Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit 04e0ffbbdd297fac1d8a5696b5d27887d6ff3dc2 Author: Alexey Klimov Date: Sat Nov 8 00:40:46 2008 -0300 V4L/DVB (9539): dsbr100: add suspend and resume This patch adds support for suspend and resume methods in driver. Without this kradio and gnomeradio crashes during resume. Also .supports_autosuspend in usb_driver struct set equal to 0 to avoid suspending of module if usb_autosuspend enabled. Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit f34253dfe66ff365a794eeddbe240b4bfd8e32eb Author: Mauro Carvalho Chehab Date: Mon Nov 10 18:56:20 2008 -0300 V4L/DVB (9572): Whitespace cleanup Some recent patches added a few bad whitespaces. Remove that. Signed-off-by: Mauro Carvalho Chehab commit c9535db3d23c56db50fe4e65542bf1c7f0a4681c Author: Laurent Pinchart Date: Sat Nov 8 18:53:49 2008 -0300 V4L/DVB (9569): uvcvideo: Sort the frame descriptors during parsing The UVC specification does not require frame descriptors to be sorted by bFrameIndex. At least one camera (145f:013e) is known not to sort the descriptors properly, so they need to be sorted during parsing as the driver then accesses them by index. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 2f38483bc45e11dc138cedce72135f57819f57c4 Author: Laurent Pinchart Date: Sat Nov 8 18:52:04 2008 -0300 V4L/DVB (9568): uvcvideo: Add support for Lenovo Thinkpad SL500 integrated webcam Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 562f0fed97722fc58230d21e401f1259caa94b4c Author: Laurent Pinchart Date: Sat Nov 8 18:47:28 2008 -0300 V4L/DVB (9567): uvcvideo: Add support for Samsung Q310 integrated webcam Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 1c44d81dbb5fa29842ce73fdb5c647fda657082b Author: Jean-Francois Moine Date: Mon Nov 10 05:56:55 2008 -0300 V4L/DVB (9565): gspca: Remove empty lines in traces. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 53e745157b79c79f434a10361a77a8364c15db2f Author: Jean-Francois Moine Date: Sat Nov 8 06:10:19 2008 -0300 V4L/DVB (9562): gspca: Set the default frame rate to 30 fps for sensor ov764x in ov519. This patch fixes the bad picture at low resolution (320x240). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ac40b1fae5e8ac831298351ff8291944d1ff0354 Author: Jean-Francois Moine Date: Sat Nov 8 06:03:37 2008 -0300 V4L/DVB (9561): gspca: Cleanup the source of ov519. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 917118745a610765e98621c4a81d7744806e4954 Author: Jean-Francois Moine Date: Tue Oct 28 08:00:23 2008 -0300 V4L/DVB (9553): gspca: Webcam 145f:013a added in pac207. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2e0903b00131e751ac91720162d62415613e9bc5 Author: Jean-Francois Moine Date: Mon Oct 27 04:43:49 2008 -0300 V4L/DVB (9552): gspca: Simplify the ISOC packet scanning in tv8532. This patch - makes unuseful the temporary buffers - and also fixes the bad colors problem. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 42ec3135b1715f44ef3c2b10fb06d5a5d5c836d1 Author: Frederic Cand Date: Mon Nov 10 20:05:06 2008 -0200 V4L/DVB (9548): gspca: Properly indent Kconfig Signed-off-by: Frederic Cand Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 240d3ad8ea12beae84305f3b17797dcf98ba8c12 Author: Jean-Francois Moine Date: Fri Oct 24 05:02:58 2008 -0300 V4L/DVB (9547): gspca: Version change. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ba13cca706ab9eacb5bf5ed73c67d9af74ea45b1 Author: Jean-Francois Moine Date: Fri Oct 24 04:19:29 2008 -0300 V4L/DVB (9546): gspca: Bad scanning of ISOC packets in tv8532. - The scan function must know about empty packets. - Packets starting with 0x80 must not be counted. - Wrong size of the translated frame. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ff374747ce5357eedf034b44ec3111cec28d50d5 Author: Jean-Francois Moine Date: Thu Oct 23 07:29:51 2008 -0300 V4L/DVB (9545): gspca: Add a flag for empty ISOC packets. - This flag is needed by some subdrivers as tv8532 for start of frame detection. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8fe2f1d522bb599eccfff6ef4fc55f7b7abbaeec Author: Jean-Francois Moine Date: Wed Oct 22 14:51:56 2008 -0300 V4L/DVB (9544): gspca: Clear the bulk endpoint at starting time when bulk transfer. - usb_clear_halt() added in gspca and removed in finepix. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5017c7bde46abc859e0a350bcd591f502442d6af Author: Hans de Goede Date: Wed Oct 22 04:59:29 2008 -0300 V4L/DVB (9543): gspca: Adjust autoexpo values for cams with a vga sensor in sonixb. - This patch makes sonixb.c strife to different values during autoexposure for sif versus vga sensors. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0cae89647e3f601029474b99c21b38a7ca781f07 Author: Jean-Francois Moine Date: Fri Oct 17 07:48:24 2008 -0300 V4L/DVB (9541): gspca: Add infrared control for sonixj - mi0360. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4cc0edff341294d14f3a6acb3ddb97abdf29b8c0 Author: Igor M. Liplianin Date: Wed Nov 5 22:12:56 2008 -0300 V4L/DVB (9537): Add TerraTec Cinergy S USB support Add TerraTec Cinergy S USB support Signed-off-by: Igor M. Liplianin Acked-by: Thorsten Leupold Signed-off-by: Mauro Carvalho Chehab commit 5cff91a0336a5c8b1d64304a353687f4d242070c Author: Vincent Pelletier Date: Sun Nov 9 13:50:07 2008 -0300 V4L/DVB (9536): WinFast DTV2000 H: add support for missing analog inputs Add support for the following inputs: - radio tuner - composite 1 & 2 (only 1 is physically available, but composite 2 is also advertised by windows driver) - svideo Signed-off-by: Vincent Pelletier Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 93f26c147bd835d4352d477c2b98a98bbc4427e0 Author: Igor M. Liplianin Date: Sun Nov 9 14:59:33 2008 -0300 V4L/DVB (9535): cx88-dvb: Remove usage core->prev_set_voltage from cx24116 based cards. Remove usage core->prev_set_voltage from cx24116 based cards, as it does not make sense for the demod. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit cd3cde1271c6c597c16e4c22810449949c675092 Author: Igor M. Liplianin Date: Sun Nov 9 15:26:25 2008 -0300 V4L/DVB (9534): cx88: Add support for Prof 6200 DVB-S PCI card The card based on stv0299 or stv0288 demodulators. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 4b29631db33292d416dc395c56122ea865e7635c Author: Igor M. Liplianin Date: Sun Nov 9 15:25:31 2008 -0300 V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card The card based on stv0299 or stv0288 demodulators. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1f6340bd431921f9b6dc995973eb065d6c14f024 Author: Mauro Carvalho Chehab Date: Fri Nov 7 14:24:18 2008 -0300 V4L/DVB (9532): Properly handle error messages during alsa registering Signed-off-by: Mauro Carvalho Chehab commit 886134e4be4e9ef585b0ecde5eebcaf37ee78f80 Author: Igor M. Liplianin Date: Thu Oct 30 22:04:56 2008 -0300 V4L/DVB (9520): stb0899 Remove double .read_status assignment Currently in stb0899 code it appears double .read_status assignment Send patch to fix it. Cc: Manu Abraham Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit f4167342b572c6122c712e8c6e5391808c1e5503 Author: Andy Walls Date: Sun Nov 2 18:54:10 2008 -0300 V4L/DVB (9514): cx18: Fix PLL freq computation for debug display cx18: Fix PLL freq computation for debug display. The code to compute the PLL freq from register values was storing an intermediate 56 bit result in a 32 bit type, causing a nonsense value to be displayed. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 69acdf1e5a9146ec6667f6c4b439acd38c18f5ea Author: Robert Jarzmik Date: Tue Nov 4 21:59:37 2008 -0300 V4L/DVB (9530): Add new pixel format VYUY 16 bits wide. There were already 3 YUV formats defined : - YUYV - YVYU - UYVY The only left combination is VYUY, which is added in this patch. Signed-off-by: Robert Jarzmik Signed-off-by: Mauro Carvalho Chehab commit bc13ae11227b06d2397cea1a8eb22fc2ca64e22f Author: Patrice Levesque Date: Sun Nov 2 16:37:35 2008 -0300 V4L/DVB (9529): cx88: add a second PCI ID for ATI TV Wonder Pro There's a second PCI identifier for the ATI TV WONDER PRO card (0x1002:0x00f9). Attached is a patch to kernel 2.6.27 that adds autodetection for this version. Signed-off-by: Mauro Carvalho Chehab commit 163e9cd074c2471695c5c79da0022f46fa53ce40 Author: Antti Palosaari Date: Tue Nov 4 12:57:47 2008 -0300 V4L/DVB (9526): af9015: add support for KWorld USB DVB-T TV Stick II (VS-DVBT 395U) - add USB-ID 1b80:e396 for KWorld USB DVB-T TV Stick II (VS-DVBT 395U) Thanks-to: Bo Hansen Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit c78de71ca382e18885907bff246cba496e8b0988 Author: Jose Alberto Reguero Date: Tue Nov 4 11:38:01 2008 -0300 V4L/DVB (9525): af9015: add support for AverMedia Volar X remote. This patch add support for AverMedia Volar X remote. Signed-off-by: Jose Alberto Reguero Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 2499abe710a86084eee1c0d5662ebd43c261350d Author: Alan McIvor Date: Wed Mar 19 22:18:11 2008 -0300 V4L/DVB (9523): Increase number of BT8XX devices supported in a system The BT8XX device driver currently only supports 16 such devices in a system. This is too small for many surveillance applications. This patch increases the number to 32. Signed-off-by: Alan McIvor Signed-off-by: Mauro Carvalho Chehab commit 9be4daa09a80488440639e9d1ebd1c451b90dda8 Author: Alan McIvor Date: Wed Mar 19 22:17:24 2008 -0300 V4L/DVB (9522): Increase number of SAA7134 devices supported in a system The SAA7134 device driver currently only supports 8 such devices in a system. This is too small for many surveillance applications. This patch increases the number to 32. Signed-off-by: Alan McIvor Signed-off-by: Mauro Carvalho Chehab commit af128a102c4aee994b4ff6e422b3cfab17127578 Author: Kay Sievers Date: Thu Oct 30 00:51:46 2008 -0300 V4L/DVB (9521): V4L: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Thanks, Kay Signed-off-by: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: Mauro Carvalho Chehab commit 9b2fb337a1423be53c671c4937fd4651cb30618e Author: Huang Weiyi Date: Fri Oct 31 14:50:06 2008 -0300 V4L/DVB: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/media/dvb/frontends/si21xx.c This patch removes the said #include . Cc: Igor M. Liplianin Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit e60b022e13c582689e3b38cb41bd5d6539671fae Author: Alexey Klimov Date: Tue Nov 4 15:02:36 2008 -0300 V4L/DVB (9518): radio-mr800: remove warn, info and err messages Patch removes warn(), err() and info() statements in drivers/media/radio/radio-mr800.c, and place dev_warn, dev_info in right places. Printk changed on pr_info and pr_err macro. Also new macro amradio_dev_warn defined. Name in usb driver struct changed on MR800_DRIVER_NAME. -- Signed-off-by: Alexey Klimov Acked-by: David Ellingsworth Signed-off-by: Mauro Carvalho Chehab commit ced07371d931884c9c89b66bfe951ea0148a8d08 Author: Andy Walls Date: Sun Nov 2 10:59:04 2008 -0300 V4L/DVB (9512): cx18: Fix write retries for registers that always change - part 3. cx18: Fix write retries for registers that always change - part 3. Fix the io for the rest of the registers that will often not read back the value just written. Modified register readback checks to make sure the intended effect was achieved without constantly rewriting the registers. The one outstanding register remaining is 0xc72014 CX18_AUDIO_ENABLE, whose behavior on writes I have yet to determine. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 48fc6bb37ba8ee278a8cc647a4ef2bf529b519dd Author: Hans Verkuil Date: Mon Nov 3 08:46:00 2008 -0300 V4L/DVB (9508): ivtv: enable tuner support for Yuan PG600-2 The Yuan PG600-2 has a working tuner, so this can be enabled. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 91121d9cfdeea84cdc837cb2f041dae735f5131c Author: Hans Verkuil Date: Mon Nov 3 08:07:44 2008 -0300 V4L/DVB (9507): v4l: remove EXPERIMENTAL from several drivers Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b7496780e800061522de2262b4b4d7bf7602ecfa Author: Hans Verkuil Date: Mon Nov 3 05:38:43 2008 -0300 V4L/DVB (9504): dvbdev: fix typo causing 2.6.28 compile error Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f473bf76c71ca734a16f9331ce6b6e9603641888 Author: Hans Verkuil Date: Sat Nov 1 08:25:11 2008 -0300 V4L/DVB (9503): v4l: remove inode argument from video_usercopy The inode argument was never used. Removing it from video_usercopy brings the function pointer type of video_usercopy in line with similar v4l2 functions, thus simplifying several drivers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bef216b7edb0fac356565dea4bd65131bf6f9c4a Author: Hans Verkuil Date: Thu Oct 30 10:57:14 2008 -0300 V4L/DVB (9502): ov772x: CodingStyle improvements Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cbd82441065820190960aae1b1cfb09bff366ad6 Author: Darron Broad Date: Thu Oct 30 05:07:44 2008 -0300 V4L/DVB (9500): cx88-dvb: MFE attachment fix-up MFE attachment fix-up Signed-off-by: Darron Broad Signed-off-by: Mauro Carvalho Chehab commit 5910e820cdaaf0b7120c96647d10e3ce52d840b7 Author: Mauro Carvalho Chehab Date: Thu Oct 30 14:28:19 2008 -0300 V4L/DVB (9498): Simplify video standards enumeration Signed-off-by: Mauro Carvalho Chehab commit b84ca9f2a08601205878a07a91ef418a1a5f77b1 Author: Frederic CAND Date: Thu Oct 30 04:53:07 2008 -0300 V4L/DVB (9497): tda9887/cx88: Adds SECAM/BGH standards Adds secam bgh support Signed-off-by: Frederic CAND Signed-off-by: Mauro Carvalho Chehab commit d9b01449e75d1351296595e28d2af72993bcc3dc Author: Alan Cox Date: Mon Oct 27 15:13:47 2008 -0300 V4L/DVB (9491): rationalise addresses to one common one Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit ac2657c10ccbba7b2c934681f17d7743deee3859 Author: Stephen Rothwell Date: Wed Oct 29 02:20:11 2008 -0300 V4L/DVB (9490): linux-next: v4l-dvb tree build failure Today's linux-next build (x86_64 allmodconfig) failed like this: drivers/media/dvb/dvb-core/dvbdev.c: In function 'dvb_register_device': drivers/media/dvb/dvb-core/dvbdev.c:254: error: implicit declaration of function 'nums2minor' Caused by commit f3d9182030d9655d9ffff33dfceb45b4a127b6ec ("V4L/DVB (9361): Dynamic DVB minor allocation") which clearly has not even been built with CONFIG_DVB_DYNAMIC_MINORS=y. Signed-off-by: Mauro Carvalho Chehab commit 08a66aea55154b50f9e9e2e89cc85d8b75121568 Author: Kuninori Morimoto Date: Fri Oct 24 15:43:07 2008 -0300 V4L/DVB (9488): Add ov772x driver This patch adds ov772x driver that use soc_camera framework. It was tested on SH Migo-r board. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d1f81da2361804d62f7ade2703eda68dda6cdb48 Author: Hans Verkuil Date: Wed Oct 22 00:04:45 2008 -0300 V4L/DVB (9484): v4l: rename compat_ioctl32.c to v4l2-compat-ioctl32.c All core v4l sources should start with 'v4l2-' This file was the last one for which this was not the case. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit da40b59305f373d386435ece69244c570e3954b6 Author: Manu Abraham Date: Tue Oct 28 13:50:01 2008 -0300 V4L/DVB (9479): Wait for a maximum of 100mS Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 667d75e7c61e73a59ff452b3a5ce04d9b3e8eca5 Author: Andy Walls Date: Sat Oct 25 21:33:22 2008 -0300 V4L/DVB (9474): cx18: Remove redundant block scope variable in cx18_probe() for sparse cx18: Remove redundant block scope variable in cx18_probe() to eliminate sparse build warning. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a5f4c0ce682efa60fa9552514118bb70a7646e28 Author: Kay Sievers Date: Mon Oct 27 22:27:37 2008 -0300 V4L/DVB (9473): add DVB_DEVICE_NUM and DVB_ADAPTER_NUM to uevent This allows udev to create proper device nodes without any hacky shell scripts/programs to call, which guess these numbers from the kernel device names. Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 7b51a70cbf0c9995caf59f7126d251e14a9e0686 Author: FUJITA Tomonori Date: Fri Oct 24 06:13:23 2008 -0300 V4L/DVB (9472): dm1105: fix the misuse of pci_dma_mapping_error pci_dma_mapping_error can't be used for pci_alloc_consistent (pci_dma_mapping_error is for dma_map_single and dma_map_page). pci_alloc_consistent returns NULL if the allocation fails. Signed-off-by: FUJITA Tomonori Acked-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 20dafb3b0696471cfaa3e2fc2769516ebda3daf9 Author: Ales Jurik Date: Sun Oct 26 18:45:59 2008 -0300 V4L/DVB (9470): Disable PLL Loop while tuning Signed-off-by: Ales Jurik Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3f4009255bbcfcf55cf8ca40d70e4cf75e4dc68c Author: Manu Abraham Date: Sun Oct 26 18:28:52 2008 -0300 V4L/DVB (9469): Port STB0899 and STB6100 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9bb17eee39d862611d2f34d5c611661b3dfd2e54 Author: Reinhard Nissl Date: Wed Jul 9 15:38:27 2008 -0300 V4L/DVB (9468): Miscellaneous fixes - Fix a bitfield - Set gain appropriately - Slept for the wrong duration Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c615a27a533b6f6de6143d4d58cfa0abfdb6970d Author: Reinhard Nissl Date: Wed Jul 9 15:33:38 2008 -0300 V4L/DVB (9467): Fix runtime verbosity Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit aa912921d888c72470d32616dc9d65cdbe477906 Author: Manu Abraham Date: Wed May 28 05:08:48 2008 -0300 V4L/DVB (9466): Bug: Fix incorrect Register definitions Thanks to Robert Schlabbach for pointing this out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9acfee56df8ba3078b9c90e23249f3006b585c37 Author: Manu Abraham Date: Tue May 27 02:24:27 2008 -0300 V4L/DVB (9465): Fix incorrect IF_AGC Bitfield definition Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 8f04c70fe2e4d41e283537cfd53f52dbfabdfa48 Author: Manu Abraham Date: Thu Oct 23 18:47:55 2008 -0300 V4L/DVB (9464): Remove unreferenced delivery Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e399a7896080183132d875aa5d4faac647688134 Author: Manu Abraham Date: Sat Mar 8 20:28:09 2008 -0300 V4L/DVB (9463): Make delivery system standalone. Eventhough the delivery system is made standalone, DVBFE_SET_DELSYS needs to be set as the very first operation, for a multistandard frontend Splitting delivery system out as a new ioctl, makes things a bit more easier to understand. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b91a7cb026124951a34e41f8481f1a4fb754983e Author: Manu Abraham Date: Tue Mar 4 19:19:58 2008 -0300 V4L/DVB (9462): Allow specifying clock per device Optimizations galore: Blistering barnacles! The KNC1 and friends like 90 Mhz clock much better rather than running at a higher throttle, for almost similar hardware. he exact cause unknown, possibly due to a lower voltage applied for the demod power supply. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ef3052bc9805ad74d21b5ac91647a8fecde1d96a Author: Manu Abraham Date: Thu Oct 23 18:45:17 2008 -0300 V4L/DVB (9461): Initialize SYSREG register Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 54fb122d126c89c2a38c86205f7096defc04ccb0 Author: Manu Abraham Date: Sat Mar 1 13:54:28 2008 -0300 V4L/DVB (9460): Code Simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e94a4470b1c32f935f63c64027434932e3f0c90e Author: Manu Abraham Date: Sat Feb 23 19:10:56 2008 -0300 V4L/DVB (9459): We can now reduce the debug levels, just need to look at errors only. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9a286097b027081c073addc2c55775340704c683 Author: Manu Abraham Date: Sat Feb 23 18:02:45 2008 -0300 V4L/DVB (9458): Bugfix: gate control needs to be handled Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 40e8ce3dba8e9437ed48c88c268615dc0a4bebb2 Author: Manu Abraham Date: Sun Feb 3 19:37:02 2008 -0300 V4L/DVB (9457): Optimization, Fix a Bug * cut down some I/O operations by disabling "disable gate" * budget_av was left with the gate open, thereby more susceptible to RF interference due to I/O operations Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ed3d150eacfa87087f705a908a2586bdec5bf9b7 Author: Manu Abraham Date: Sun Jan 27 14:57:05 2008 -0300 V4L/DVB (9456): Select STB0899, STB6100, TDA8261 for budget_ci and budget_av respectively. Thanks to Marco Schluessler for pointing it out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b359325d1e4a67942626421ea1f203b41adc9712 Author: Manu Abraham Date: Fri Jan 25 20:56:21 2008 -0300 V4L/DVB (9455): Cleanup: remove some superfluous stuff and dead commented out code Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3d6a3bebda2093cf563266bbfa0f1f1b1ae8fd41 Author: Manu Abraham Date: Fri Jan 25 20:39:16 2008 -0300 V4L/DVB (9454): Fix a compile warning Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 85eabac439ff6b60775e3d6458702dcb6c479e05 Author: Manu Abraham Date: Fri Jan 25 20:28:46 2008 -0300 V4L/DVB (9453): stb0899: fix compilation warnings Cleanup/Optimization: * Fix compile warnings * The compile warnings helped to identify 2 unnecessary I/O operations Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d6812086508a38ccb48ed9d5bc9f50732dc818db Author: Manu Abraham Date: Fri Jan 25 18:35:21 2008 -0300 V4L/DVB (9452): Fix invalid GCT mode Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 18527bee917fb94aaf1760826d918ac7f08d7e61 Author: Manu Abraham Date: Fri Jan 25 18:25:13 2008 -0300 V4L/DVB (9451): Bug! F/3 Clock domain was incorrectly used Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 8be969b3134ade447e3ba9f63e60eeabca270227 Author: Manu Abraham Date: Fri Jan 25 18:20:48 2008 -0300 V4L/DVB (9450): Code Review: #4 Consolidate configurations * Better readability * Avoids duplication Comments from Oliver Endriss Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 27713c8ba45e807c64c53a8a865adbe3a73f3b2d Author: Reinhard Nissl Date: Mon Jan 21 16:43:18 2008 -0300 V4L/DVB (9449): Code Simplification: use do_div() instead Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 561374113e6dbd717ac4a578d99834219de9d3c1 Author: Reinhard Nissl Date: Mon Jan 21 16:17:48 2008 -0300 V4L/DVB (9448): Bug: fix array size Bug: a string which contains 4 digits needs an array of size 5. The fifth character will hold the terminating '\0' Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6f6c268b0f1f6846584162053a47d3aadf34a3c4 Author: Reinhard Nissl Date: Mon Jan 21 16:15:14 2008 -0300 V4L/DVB (9447): stb6100: improve rounding Optimization: Round the requested value to achieve a +/-1MHz error instead of +0/-2MHz Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 02ec9d8ff4fba95255c277585aa5d0f33ec3adef Author: Reinhard Nissl Date: Fri Jan 18 20:09:52 2008 -0300 V4L/DVB (9446): Bug Fix an overflow in bandwidth calculation Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 89693b7d7bd965c18e9ce1c68eef2b52f9c2b745 Author: Reinhard Nissl Date: Fri Jan 18 16:06:18 2008 -0300 V4L/DVB (9445): Bug: Bandwidth calculation at upper and lower boundaries Signed-off-by: Reinhard Nissl Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 043a68b36dc137c5754183c7625950d7fe39be0b Author: Manu Abraham Date: Fri Jan 18 14:15:17 2008 -0300 V4L/DVB (9444): Initialize post process events to NULL Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 763fbaf65a3f7fd571db427a376e727faeb5bfc5 Author: Manu Abraham Date: Fri Jan 18 11:28:48 2008 -0300 V4L/DVB (9443): Bug: Bandwidth calculation Bug #1: The 5 tap equaliser is set to correct simple perturbations like reflections on the IF cable for DVB-S. In the case of DVB-S2 a more powerful equalizer is used to correct the filter group delay allowing the bandwidth to be reduced by a factor of 1/3 Bug #2: The ZIF tuner takes badwidth to be set in Hz Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 27a330d1240ffeaca8c7cf2a2eb6a5fbeef3c4ec Author: Manu Abraham Date: Mon Nov 19 16:44:47 2007 -0300 V4L/DVB (9442): Revert back previous change to 90MHz Note: * At High Symbol Rates we do not have enouph machine cycles to handle the incoming symbols and hence might run into problems at the very end of the specified definition * Most of the equations have been calculated for a master clock of 99 MHz, running at 90MHz, raises lot of issues such as the need to recalculate all of them , which is eventually very painful. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 72f7841613a9f6e2c013ad9ff61efb5fc16a89f2 Author: Manu Abraham Date: Sat Nov 10 16:59:16 2007 -0300 V4L/DVB (9441): Code simplification: clock is already initialized, no need to initialize again. Thanks to Marko Schluessler for pointing it out Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d0a41e8f8fa3d0fe94ebd1cc115f73e3d7b97172 Author: Arvo Jarve Date: Fri Nov 9 18:21:27 2007 -0300 V4L/DVB (9440): Bug in previous commit Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1b792e05e99f0f56eb4da91084ac9b8e8a132a15 Author: Manu Abraham Date: Fri Nov 9 17:33:26 2007 -0300 V4L/DVB (9439): Bug! SFRL nibble got swapped The Bug was found by Arvo Jarve It was a wonder how it worked in the case with this bug, STM verified this that this nibble was in fact insignificant and can be ignored. But still we need to fix all inconsistencies. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit eadf29b941df1c0e0e585d7482e096ca608a7bb7 Author: Arvo Jarve Date: Fri Nov 9 17:24:45 2007 -0300 V4L/DVB (9438): Bug! RTF is signed Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ba8862a83f2db95cdd8e9193e83915e5e278927a Author: Manu Abraham Date: Wed Oct 31 19:22:02 2007 -0300 V4L/DVB (9437): Disable Symbol rate auto scan feature Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9efdd297bc7c50dea24532a9b52bd0245e7e5169 Author: Manu Abraham Date: Tue Oct 30 20:05:59 2007 -0300 V4L/DVB (9436): Fix a typo in the previous commit Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b168e351a50086e582d3cb42eb4336387ce1ddab Author: Manu Abraham Date: Tue Oct 30 19:46:49 2007 -0300 V4L/DVB (9435): Add post process interfaces Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 947881a999e8bcde98c9cb637316cb8026af4f71 Author: Manu Abraham Date: Tue Oct 30 10:25:26 2007 -0300 V4L/DVB (9434): Limit initial RF AGC gain Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1e3d8abe6d70ccd345bf0210d1184b813403fa94 Author: Arvo Jarve Date: Tue Oct 30 10:21:33 2007 -0300 V4L/DVB (9433): Limit bandwidth with a 3dB response fall In this case, we will be sure that there exists a carrier and the center frequency would be simply f1 - f2. In such a circumstance, the TR loop is simplified to doing a simple check for timing, rather than searching for the same. Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b2fe5c6b01f1e44fff0a5d298457a9c9262c997a Author: Arvo Jarve Date: Tue Oct 30 09:46:04 2007 -0300 V4L/DVB (9432): Increment the AGC1 and AGC2 gain respectively, improves sensitivity slightly Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ac8fdc47cc86ff11457812893f31b0ff7c447788 Author: Manu Abraham Date: Tue Oct 30 09:31:13 2007 -0300 V4L/DVB (9431): Bug ID #19: Diseqc works properly at 90MHz only on Cut 1.1 and 2.0 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b655b6cbc9238aa34e90aa6763088f6d4e830347 Author: Arvo Jarve Date: Tue Oct 30 09:16:17 2007 -0300 V4L/DVB (9430): stb0899: avoid parameter overwriting BUG! Setting CRL parameter overwrote the CR Algorithm type, eventually leading to wrong search algorithm to be employed in the DVB-S carrier loop optimization. Symptom: Once the CR optimization stage is passed either way, in a successful or failed manner, the very next carrier search will fail, due to no Carrier Search Algorithm specified. Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5dc1611cb24f5124ef97de279f04ea91b5a4c2e6 Author: Arvo Jarve Date: Thu Oct 25 13:25:23 2007 -0300 V4L/DVB (9429): Add support for the Satelco Easywatch DVB-S2 PCI card Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7d8f1e57646d7121089ba21e270c1b390de9a17a Author: Marko Schluessler Date: Tue Oct 23 19:56:18 2007 -0300 V4L/DVB (9428): Fix: assignment of wrong values Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7e4e8c52e3f87a83ce967397bb389f75cb71742d Author: Manu Abraham Date: Fri Oct 19 06:27:56 2007 -0300 V4L/DVB (9427): Code simplification: Sleep only for the required time interval. * Saves 70 mS LOCK time on the STB6100 based * Saves 100 mS LOCK time on the TDA8261 based Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ddbee1c6e2b2fb2318281a144b7be536f843da24 Author: Manu Abraham Date: Thu Oct 18 12:03:40 2007 -0300 V4L/DVB (9426): Add a missing break Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3d16d19effa7870facfbeb178a484f6851423125 Author: Manu Abraham Date: Thu Oct 18 06:25:51 2007 -0300 V4L/DVB (9425): Initialize at 90MHz itself Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e0a28c95af8395c5344284d7d8666729f631844b Author: Manu Abraham Date: Thu Oct 18 06:13:04 2007 -0300 V4L/DVB (9424): Deviation from the reference, pullup is 12k instead Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c1f0ce22283f983f1840c0594d7ad869a51b25b7 Author: Manu Abraham Date: Mon Oct 15 14:39:58 2007 -0300 V4L/DVB (9423): Though insignificant, removes an unnecessary read of the LOCK_LOSS register, which should have happenend in the DVB-S2 mode only, but reading it as it is for the other delivery systems causes nothing to say but LOCK_LOST, which just causes confusion amongst users. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 0867f571858043c761e3e44bd4f2bcc70f82bb27 Author: Manu Abraham Date: Mon Oct 15 13:07:16 2007 -0300 V4L/DVB (9422): Bug: Fix a typo Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6efb0ffe09bec45397142da8e1197885f562e7fa Author: Manu Abraham Date: Mon Oct 15 12:08:20 2007 -0300 V4L/DVB (9421): We must wait for the PLL to stabilize Thanks to Peter for the in depth explanation Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 417dd69de843a2f67a9ff6e21df7de5be5dd8204 Author: Manu Abraham Date: Wed Oct 10 06:12:13 2007 -0300 V4L/DVB (9420): return -EINVAL for invalid parameters Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit cf6efeb6705e9828291401f890dcb327a0ea52e7 Author: Manu Abraham Date: Mon Oct 8 19:04:03 2007 -0300 V4L/DVB (9419): Bug: unnecessary large current causes large phasor errors Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6199ceef8bd28b79e0792423ca79cce8b224cd50 Author: Manu Abraham Date: Mon Oct 8 18:51:54 2007 -0300 V4L/DVB (9418): DVB_ATTACH for STB0899, STB6100, TDA8261 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ae9902da96b4d2d82707706c7fbc93a8e501dde8 Author: Manu Abraham Date: Mon Oct 8 18:51:54 2007 -0300 V4L/DVB (9417): DVB_ATTACH for STB0899, STB6100, TDA8261 Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e0ee77acb1b849ce0ad729aff2427d3dc07ee5d1 Author: Manu Abraham Date: Sat Oct 6 09:41:16 2007 -0300 V4L/DVB (9416): Hmmph, a proper calculation broke the working behaviour. Need some thoughts, temporary for now .. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6c1022cbc87bbd962b7c1e551c2af290be9e4277 Author: Manu Abraham Date: Fri Oct 5 11:41:19 2007 -0300 V4L/DVB (9414): Initialize DiSEqC Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit baa40e48d9069c6ec3ac4739f47e2e7560a022d3 Author: Manu Abraham Date: Fri Oct 5 09:04:32 2007 -0300 V4L/DVB (9413): Bug: Set Auxilliary Clock Register correctly Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b11eb46344f9d64c9bd9ecbb1b265f9c67f105eb Author: Manu Abraham Date: Fri Oct 5 01:57:59 2007 -0300 V4L/DVB (9412): Fix tuner name and comment Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3479474b368ec3da83240500eca03688fd53ca03 Author: Manu Abraham Date: Thu Oct 4 17:39:19 2007 -0300 V4L/DVB (9411): Bug! Timing recovery was calculated for 99MHz not 90 MHz Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c14eaedd6c6b2b8ef8900f2dddab382567d556f8 Author: Manu Abraham Date: Thu Oct 4 16:52:51 2007 -0300 V4L/DVB (9410): Bug: Missing reference clock definition Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit aa4a9e1ae0f499dd87cddf59d32154cba9399cc9 Author: Manu Abraham Date: Thu Oct 4 16:48:54 2007 -0300 V4L/DVB (9409): Bug! inverted logic Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f6e6382764f49ca0d94bd7dcd791456838e347b9 Author: Manu Abraham Date: Fri Sep 28 19:06:06 2007 -0300 V4L/DVB (9408): tda8261: check status to avoid lock loss We need to check for tuner LOCK LOSS, especially in the case of simple PLL's Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d98c02859fbeefe19e6b182997c6a8b3c9c32acc Author: Manu Abraham Date: Wed Sep 26 18:32:13 2007 -0300 V4L/DVB (9407): Optimizations Reduce capture range from 10MHz to 3Mhz * Reduces szapping time a lot * increased stability at Low Symbol rates * overall increases reliability in tuning Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 421b2970d24f7571039b29e6726bce1608578ac4 Author: Marko Schluessler Date: Tue Sep 25 20:13:31 2007 -0300 V4L/DVB (9406): Really silly bug, setting bandwidth into frequency probably should stop fiddling with code late nights. :-( Thanks to Marco for pointing it out and fixing it. Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e99d00cb176dde1d0c140b06492b6a729367e745 Author: Manu Abraham Date: Tue Sep 25 17:48:59 2007 -0300 V4L/DVB (9405): Practical tests show that the TT S2 3200 has I/Q inputs inverted, similar to the KNC1. Don't have this hardware and cannot verify this for myself, but from the reports this looks to be quite a reasonable and correct hypothesis. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7dd82f7473df9465801255a856bf466a16824b5e Author: Manu Abraham Date: Tue Sep 25 14:57:19 2007 -0300 V4L/DVB (9404): the KNC1 and clones also don't have the I/Q inputs swapped Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6ea223c20dfb45311d0ffe0d6ef6b55c9ed4f398 Author: Manu Abraham Date: Mon Sep 24 19:58:24 2007 -0300 V4L/DVB (9403): Fix the CA module not working issue Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b48e2de3b2b05fd360a07704eb39bf44298c74d0 Author: Manu Abraham Date: Mon Sep 24 19:51:32 2007 -0300 V4L/DVB (9402): TT S2 3200 shouldn't need Inversion ON and Inversion AUTO at the same time This is a racy situation. Inversion is default OFF on the TT S2 3200 hardware, unlike the KNC1 where it is default Inverted Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ecdec311806220d6e88e3ac52936cc30e1580810 Author: Manu Abraham Date: Mon Sep 24 19:38:11 2007 -0300 V4L/DVB (9401): Code Simplification Use an enumeration for I/Q Swap rather than an int, easier to spot the nasty ones Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit db1d3b80b3d077b6d5936f2afef3e5a84d302c1a Author: Manu Abraham Date: Mon Sep 24 19:15:41 2007 -0300 V4L/DVB (9400): stb6100: Code Simplification The 2 callbacks created nothing more than confusion Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit a55bc848559d229025f5b2468fbed1070ae377e7 Author: Manu Abraham Date: Thu Oct 23 18:32:50 2008 -0300 V4L/DVB (9399): some cleanups at budget-ci Still messing up: * Cleanup * Use KNC1's default settings to startup with * Add in tuner wrapper calls Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9e0dc6606a4f26a70cede6bf181cbff21f4c5477 Author: Marko Schluessler Date: Thu Oct 23 18:16:40 2008 -0300 V4L/DVB (9398): Initial support for the Technotrend TT S2 3200 Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c7d85a2debb07af67c4915c972a352b68cda9022 Author: Manu Abraham Date: Mon Sep 24 13:27:06 2007 -0300 V4L/DVB (9397): fix some bugs at tda8261 Fix bug obviously, some enhancements as well * enable i2c_gate before doing any transaction * read is one single message with 2 words * reduce sleep from 100mS to 20mS Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit de29eb82595684c937cf0e2578479f4fcb9c9e40 Author: Manu Abraham Date: Sat Sep 22 21:39:17 2007 -0300 V4L/DVB (9396): Fix clocks at stb0899 Really silly! Disabled all clocks and expected it to run. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 41e1151b33cce7e19cfba1648d05abd34a0ba492 Author: Manu Abraham Date: Sat Sep 22 21:28:11 2007 -0300 V4L/DVB (9395): Add initial support for two KNC1 DVB-S2 boards Add initial support for: * KNC1 DVB-S2 Plus * KNC1 DVB-S2 OEM (known as Satelco DVB-S2) Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 0b8f15dcebb58ef8956203803c6de8f41a173dbc Author: Manu Abraham Date: Sat Sep 22 13:36:34 2007 -0300 V4L/DVB (9394): cache last successful state Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 654dbad45d83ef1a1d234940705d775dc813a501 Author: Manu Abraham Date: Thu Oct 23 17:56:07 2008 -0300 V4L/DVB (9393): Add TDA8261 to build Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 00360205b94cb9d0b93be5f4ca6676b53dceba7f Author: Manu Abraham Date: Sat Sep 22 13:30:09 2007 -0300 V4L/DVB (9392): initial go at TDA8261 tuner Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 43498ade8ade7cee1b983e5410c838ac84eef691 Author: Marko Schluessler Date: Fri Sep 21 18:59:17 2007 -0300 V4L/DVB (9391): Register definition bugs Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 08bcdbec683c8ded6d19f361cd806efcb77c287f Author: Marko Schluessler Date: Fri Sep 21 18:40:14 2007 -0300 V4L/DVB (9390): Offset Freq has been set in reg Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit a18d43156a09e57dada62b1c51f229a6d0da02d6 Author: Marko Schluessler Date: Fri Sep 21 18:13:30 2007 -0300 V4L/DVB (9389): Use kzalloc instead of kmalloc Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3e3263e6654ca22c317fb4d49eea3b940613b3ba Author: Marko Schluessler Date: Fri Sep 21 18:08:01 2007 -0300 V4L/DVB (9388): Reference Clock is in kHz Signed-off-by: Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 57ad94a63548b413dc11039f462480994a06c809 Author: Manu Abraham Date: Mon Jul 2 09:51:54 2007 -0300 V4L/DVB (9387): FIX: Write to the correct register Thanks to Marko Schluessler for pointing it out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d189f3ef9e91b81573731f6fcb00c62b61450a50 Author: Manu Abraham Date: Mon Jul 2 09:48:50 2007 -0300 V4L/DVB (9386): FIX: Add in missing inversion (should be ideally in the config struct) Thanks to Marco Schluessler for pointing it out Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 381d8047031d8b7c2aca4b0dd624108c807262ec Author: Manu Abraham Date: Mon Jul 2 09:36:47 2007 -0300 V4L/DVB (9384): FIX: register value is not reset to 0 after write Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit bb29cc6ffa15bc2c4f2c014a44d995368244e7ba Author: Manu Abraham Date: Mon Jul 2 09:08:23 2007 -0300 V4L/DVB (9383): Let's neither sleep nor wakeup for now Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 795b72b21a566b9e440e7e8afadcfa76386c1cb2 Author: Manu Abraham Date: Mon Jul 2 09:01:48 2007 -0300 V4L/DVB (9382): Use a delay for tracking acquisition status Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 54c358fc23a4ca6c75bc0f8c6b3864ae16cba803 Author: Manu Abraham Date: Mon Jul 2 08:44:32 2007 -0300 V4L/DVB (9381): On the KNC1 cards the CLOCK is clamped to a maximum limit of 90MHz, eventhough not limited in hardware, this causes instabilities at a higher clock due to issues such as thermal, also the divider wraps around, which causes the demodulator core to actually run at a lower frequency. This needs to be empirically tested whether it affects other cards. If found necessary, this parameter needs to be moved out to the config struct such that it can be made hardware dependant. Reducing the CLOCK from 99MHz to 90MHz improved the acquisition time taken on the KNC1 cards and hence such a change. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b797c206168992e8a2c080e80e39a56410cdaac0 Author: Manu Abraham Date: Sat Feb 24 09:14:39 2007 -0300 V4L/DVB (9380): FIX: a possible division by zero Thanks to Marko Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b3332a983dc07d6bd35d5a97a6e3572b067e7f53 Author: Manu Abraham Date: Tue Jul 3 09:58:57 2007 -0300 V4L/DVB (9379): FIX: fix a bug in the charge pump setting Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 040dcc3e5194d0170727adc5df213cfe9d994302 Author: Manu Abraham Date: Sat Feb 24 08:31:40 2007 -0300 V4L/DVB (9378): Add STB6100 Support Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c46b65621007a2ede49464d227f64dd3a909a109 Author: Manu Abraham Date: Sat Feb 24 08:31:40 2007 -0300 V4L/DVB (9377): Add STB6100 Support Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e50e8e3338788359d63f0a1ea2e038dd48415754 Author: Manu Abraham Date: Tue Jul 3 09:53:42 2007 -0300 V4L/DVB (9376): Add STB0899 to build Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 8bd135bab91f4659d4c62466029aff468e56f235 Author: Manu Abraham Date: Tue Jul 3 09:53:42 2007 -0300 V4L/DVB (9375): Add STB0899 support Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2b1b945f88537a110f018f6a50b1f01bbb23fb7e Author: Mauro Carvalho Chehab Date: Fri Oct 24 23:13:57 2008 -0300 V4L/DVB (9370): Update README.cx88 with the current status README.cx88 were outdated since a long time. Update it with the current status. Cc: Rafael Diniz Signed-off-by: Mauro Carvalho Chehab commit f71f11ed46df2f29daf928eb5fd8c6c2d1455f36 Author: Mauro Carvalho Chehab Date: Fri Oct 24 15:06:17 2008 -0300 V4L/DVB (9367): Move lgdt3304 driver to the proper place and allow it to compile Signed-off-by: Mauro Carvalho Chehab commit c2e591fcb7aa5300cf6967edb29960628cf1831d Author: Mauro Carvalho Chehab Date: Fri Oct 24 13:44:38 2008 -0300 V4L/DVB (9366): Move S921 driver to the proper place and allow it to compile Signed-off-by: Mauro Carvalho Chehab commit 67ea14f250c295486baa3440ca85be0b032fda95 Author: Markus Rechberger Date: Wed Oct 22 21:08:47 2008 -0300 V4L/DVB (9365): adding lgdt3304 based driver lgdt3304.c: frontend driver for the lgdt3304 chip, this driver is not compatible with the lgdt330x. Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit aa56cb9db05858912f5d06b36740df5600666e3d Author: Markus Rechberger Date: Wed Oct 22 21:07:42 2008 -0300 V4L/DVB (9364): adding sharp s921 ISDB-T driver s921_module.c: wrapper for the dvb frontend interface s921_core.c: core s921 1seg ISDB-T driver, everything is set to auto as much as possible in order to not require certain parameters which currently cannot be passed to the ISDB-T chip. ISDB-T support can be tested using dvbscan, dvbstream/snoop and mplayer Tested 1seg H264/aac stream with this driver using a custom linux ISDB-T player Signed-off-by: Mauro Carvalho Chehab commit 2c5aacc6c7916e0a432991b68f3645540365ad53 Author: Markus Rechberger Date: Fri Oct 24 12:19:14 2008 -0300 V4L/DVB (9363): tvp5150: add support to enable raw vbi Signed-off-by: Markus Rechberger [mchehab@redhat.com: Fix bad whitespaces] Signed-off-by: Mauro Carvalho Chehab commit a9dbe5dc2e9337f1c7fab16963753aaf3f5283be Author: Markus Rechberger Date: Fri Oct 24 12:15:08 2008 -0300 V4L/DVB (9362): zl10353: add new register configuration for zl10353/especially 6mhz taiwan. Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit 5dd3f3071070f5a306bdf8d474c80062f5691cba Author: Andreas Oberritter Date: Thu Oct 23 12:11:19 2008 -0300 V4L/DVB (9361): Dynamic DVB minor allocation Implement dynamic minor allocation for DVB, to allow more than four devices of the same type per adapter, based on drivers/usb/core/file.c. Add a new config option, DVB_DYNAMIC_MINORS, to make use of this feature, which defaults to no for backwards compatibility. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 568e9bb8d764300e1de81d49ae698cc970a511d8 Author: Huang Weiyi Date: Sat Oct 18 04:41:52 2008 -0300 V4L/DVB: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/media/dvb/dm1105/dm1105.c drivers/media/dvb/dvb-usb/dw2102.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit 9962ac5331d79362cc538f2da257c0663fb609e1 Author: Marco Schluessler Date: Thu Oct 30 02:38:59 2008 -0300 V4L/DVB (9480): Fix frontend DVBFE_ALGO_CUSTOM Search Issue: Currently, the DVBFE_ALGO_CUSTOM is called only at the first tuning. After the first call, the status is never set to force a new tuning. Signed-off-by: Marco Schluessler Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f04c3ca8a2677816af1c0ae7170c2e56ac5d7042 Author: Manu Abraham Date: Tue Oct 28 06:11:24 2008 -0300 V4L/DVB (9478): Fix: parameters not supplied in the search process Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f7c9bf96ad3f65e80762c190be6aad6b2ce997f6 Author: Matthias Schwarzott Date: Tue Oct 28 05:58:04 2008 -0300 V4L/DVB (9477): Fix: Commit 9344 breaks tning of cx24123 Signed-off-by: Matthias Schwarzott Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7bcbdf386bdc2ea2bcd916a7b972ad7bca14db04 Author: Arvo Jarve Date: Mon Oct 20 06:05:21 2008 -0300 V4L/DVB (9345): Add event with changed status only Signed-off-by: Arvo Jarve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c59e7870fddbbc232221f92fb24958c605be404c Author: Manu Abraham Date: Tue Oct 14 16:34:07 2008 -0300 V4L/DVB (9344): DVB-Core update Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit a12ca6a6e143d77557772139f660121dfea6e923 Author: Jean-Francois Moine Date: Wed Nov 19 06:37:53 2008 -0300 V4L/DVB (9691): gspca: Some cleanups at device register Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 519d68082e56fe4a5a7d273465323a95cbe5a33f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:38 2008 +0100 ide-cd: remove dead dsc_overlap setting dsc_overlap setting is not useful anymore for ide-cd so remove "dsc_overlap" /proc setting, disallow changing the setting through HDIO_SET_NICE ioctl and cleanup ide_cd{rom_setup,_release}(). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 94b9efdf5a3ec78bc31281ea3ba80028ce4ab057 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:38 2008 +0100 ide: push local_irq_{save,restore}() to do_identify() Push local_irq_{save,restore}() from actual_try_to_identify() to do_identify() and remove no longer needed local_irq_enable(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d688b72c90a7faf13c070d4ebb63cacdf481de32 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: remove superfluous local_irq_{save,restore}() from ide_dump_status() No reason to run this function with local IRQs off. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f92b11c1cc0e865fc64f3148eda87fff74920e1 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2) * Move legacy ISA/VLB ports handling from ide-probe.c to ide-legacy.c. * Add CONFIG_IDE_LEGACY config option to be selected by host drivers needing ide-legacy.c. v2: Fix CONFIG_IDE_LEGACY not being defined in Kconfig. (from Takashi Iwai ) There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e2984c628c924442132304ae662da433f41c05c9 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: move Power Management support to ide-pm.c There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d35364acbd5ab7d67bb39cfc5dd3ed0fbefb4b8 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:37 2008 +0100 ide: use ATA_DMA_* defines in ide-dma-sff.c In few places open-coded values were still being used. Fix it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2f996acb6191b6b5f188eca1d1ad76cf1d8ecf76 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: checkpatch.pl fixes for ide-lib.c Fix following errors/warnings detected by checkpatch.pl: - WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable - WARNING: space prohibited between function name and open parenthesis '(' - ERROR: trailing whitespace - ERROR: trailing statements should be on next line - WARNING: printk() should include KERN_ facility level Signed-off-by: Bartlomiej Zolnierkiewicz commit 047140ae2ecf954c0c44ea27cb1ae89138671bc1 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: remove inline tags from ide-probe.c Let the compiler handle it. Signed-off-by: Bartlomiej Zolnierkiewicz commit b002415012f518e6940fabb77e35f0fb21b3640d Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: remove redundant code from ide_end_drive_cmd() rq->errors is overwritten later in this function. Signed-off-by: Bartlomiej Zolnierkiewicz commit dc09c78425de89c80c51319c3fbb939f7960c59c Author: Kay Sievers Date: Mon Dec 29 20:27:36 2008 +0100 ide: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Bartlomiej Zolnierkiewicz commit 702c026be87ef8374ae58122969a4b0b081ce6f2 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:36 2008 +0100 ide: rework handling of serialized ports (v2) * hpt366: set IDE_HFLAG_SERIALIZE in ->host_flags if needed in init_hwif_hpt366(). Remove HPT_SERIALIZE_IO while at it. * Set IDE_HFLAG_SERIALIZE in ->host_flags if needed in ide_init_port(). * Convert init_irq() to use IDE_HFLAG_SERIALIZE together with hwif->host to find out ports which need to be serialized. * Remove no longer needed save_match() and ide_hwif_t.serialized. v2: * Set host's ->host_flags field instead of port's copy. This patch should fix the incorrect grouping of port(s) from host(s) that need serialization with port(s) that happen to use the same IRQ(s) but are from the host(s) that don't need it. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b7876a6fb6e9bf6cbcf7b40cf034aa4138d7978f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:34 2008 +0100 cy82c693: remove superfluous ide_cy82c693 chipset type Since CY82C693 doesn't require serialization we may as well use the default ide_pci chipset type. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f66019bdf902cb59adf959e462bcd3f4c01f683 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:34 2008 +0100 trm290: add IDE_HFLAG_TRM290 host flag * Add IDE_HFLAG_TRM290 host flag and use it in ide_build_dmatable(). * Remove no longer needed ide_trm290 chipset type. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6b4924962c49655494d2c8e9d3faab0e349a3062 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:34 2008 +0100 ide: add ->max_sectors field to struct ide_port_info * Add ->max_sectors field to struct ide_port_info to allow host drivers to specify value used for hwif->rqsize (if smaller than the default). * Convert pdc202xx_old to use ->max_sectors and remove no longer needed IDE_HFLAG_RQSIZE_256 flag. There should be no functional changes caused by this patch. Acked-by: Sergei Shtyltov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f1ac8c4b9dadc55ec656b368f5f470f2cbe3083 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 rz1000: apply chipset quirks early (v2) * Use pci_name(dev) instead of hwif->name in init_hwif_rz1000(). * init_hwif_rz1000() -> rz1000_init_chipset(). Update rz1000_init_one() to use rz1000_init_chipset() and add now required rz1000_remove(). * Remove superfluous ide_rz1000 chipset type. v2: * unsigned int rz1000_init_chipset() -> int rz1000_disable_readahead() per Sergei's suggestion. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f58c1ab8deebc2360cef998f169a6727c288210f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 ide: always set nIEN on idle devices * Set nIEN for previous port/device in ide_do_request() also if port uses a non-shared IRQ. * Remove no longer needed ide_hwif_t.sharing_irq. Signed-off-by: Bartlomiej Zolnierkiewicz commit 46aa7af1d6bf46d0973dc9e8f13275f2c001d3dd Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 ide: fix ->quirk_list checking in ide_do_request() Fix nIEN quirk check to also omit quirky devices using pdc202xx_{new,old} host drivers for which ->quirk_list == 2. Signed-off-by: Bartlomiej Zolnierkiewicz commit a4cd1a344818b4aa7149b851dc61f0447dc398bc Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:33 2008 +0100 gayle: set IDE_HFLAG_SERIALIZE explictly If IDE doubler is used ports need to be serialized. Currently init_irq() handles it fine but lets also set IDE_HFLAG_SERIALIZE host flag explicitly in preparation for future changes. Also convert the driver to use struct ide_port_info while at it. Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 6b5cde3629701258004b94cde75dd1089b556b02 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646 * Set IDE_HFLAG_SERIALIZE explictly for CMD646. * Remove no longer needed ide_cmd646 chipset type (which has a nice side-effect of fixing handling of unexpected IRQs). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 02fb5683c98b0ce9ff75d890ebccd8e520d0e7a9 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 ali14xx: doesn't use shared IRQs init_irq() shouldn't use IRQF_SHARED for ali14xx IDE IRQ handler. Signed-off-by: Bartlomiej Zolnierkiewicz commit 27c01c2db05c3cf8824975e50403cd4fd9356dca Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 ide-cd: remove obsolete seek optimization It doesn't make much sense nowadays and is problematic on some drives. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 08cd1dca00f7c84c8b30c2726e078529d4ebc93f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:32 2008 +0100 ide: cleanup ide_do_request() Both choose_drive() and PM handling code make sure that the queue is unplugged so no need to check it again. Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 2a2ca6a96194c4744a2adeefbc09ce881f3c5abe Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:31 2008 +0100 ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2) Now that (almost) all host drivers have been fixed not to abuse ide_lock and core code usage of ide_lock has been sanitized we may safely replace ide_lock by per-hwgroup locks. This patch is partially based on earlier patch from Ravikiran G Thirumalai. While at it: - don't use deprecated HWIF() and HWGROUP() macros - update locking documentation in ide.h v2: Add missing spin_lock_init(&hwgroup->lock). (Noticed by Elias Oltmanns) Cc: Vaibhav V. Nivargi Cc: Alok N. Kataria Cc: Shai Fultheim Signed-off-by: Ravikiran Thirumalai Cc: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ea52226ca131a99bb619bd56fbeee566ea5a966 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:31 2008 +0100 ide: use queue lock instead of ide_lock when possible This is just a preparation for future changes and there should be no functional changes caused by this patch since ide_lock is currently also used as queue lock. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3c8a2cce47c6813383c9e38134e31f7e5f72e9d8 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:31 2008 +0100 ide: ide_lock + __blk_end_request() -> blk_end_request() Use blk_end_request() instead of ide_lock + __blk_end_request() in cdrom_end_request(), cdrom_newpc_intr(), __ide_end_request(), ide_complete_pm_request() and ide_end_drive_cmd(). [ ide_lock is currently also used as queue lock ] Signed-off-by: Bartlomiej Zolnierkiewicz commit a72b2147ec9e77be68308ba06190603550d1cb61 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:30 2008 +0100 ide: push ide_lock to __ide_end_request() __ide_end_request() needs ide_lock only for __blk_end_request() call so push ide_lock taking inside __ide_end_requests(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d0bf587df5b17bb93b32d760171417883ca907f Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:30 2008 +0100 ide: ide_hwgroup_t.rq doesn't need an ide_lock held While at it: - no need to check for hwgroup presence in ide_dump_opcode() Signed-off-by: Bartlomiej Zolnierkiewicz commit 44e312310889145b47311a311d3faf2488349116 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:30 2008 +0100 ide: __ide_port_unregister_devices() doesn't need an ide_lock held [ and ide_cfg_mtx mutex provides a sufficient protection for callers ] Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f473e9c92ea458e60494561a2065a358b7239bb Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:29 2008 +0100 ide: IDE settings don't need an ide_lock held IDE settings are protected by ide_setting_mtx mutex so there is no need to hold ide_lock in ide_setting_ioctl(), ide_read_setting() and ide_proc_unregister_driver(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e0e29f7373ec96a1bd972790649524af7353f42 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:29 2008 +0100 ide: unify ide_intr()'s exit points Just a preparation for future changes. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e63a588fc3d6a5e6bb66bacaeb11cd9093141f8 Author: Bartlomiej Zolnierkiewicz Date: Mon Dec 29 20:27:29 2008 +0100 ide: fix IDE ACPI regression breaking suspend Commit 4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab ("ide: make drive->id an union (take 2)") accidentally introduced an IDE ACPI regression which at least on some machines confuses ACPI and breaks suspend. Fix it. Fixes kernel.org bug #12279: http://bugzilla.kernel.org/show_bug.cgi?id=12279 [ Sorry about the bug (IDE ACPI is not used by default so it managed to slip in). Still it is kind of surprising that the bug breaks suspend as it shouldn't impact anything except IDE ACPI (it seems that it uncovered either some ACPI/PM deficiency or a BIOS bug). ] Reported-and-bisected-by: David Roka Tested-by: David Roka Cc: Rafael J. Wysocki Cc: Len Brown Signed-off-by: Bartlomiej Zolnierkiewicz commit f26f6ceacaaf017a677138cbca7ab076b565ca87 Author: Atsushi Nemoto Date: Mon Dec 29 20:27:29 2008 +0100 tx493[89]ide: Fix length for __ide_flush_dcache_range This fixes data corruption on PIO mode. Signed-off-by: Atsushi Nemoto Cc: stable Cc: sshtylyov@ru.mvista.com Signed-off-by: Bartlomiej Zolnierkiewicz commit a0fce792b55b260589c3d77293a224e84395ec07 Author: Atsushi Nemoto Date: Mon Dec 29 20:27:28 2008 +0100 tx4939ide: Do not use zero count PRD entry This fixes data corruption on some heavy load. Signed-off-by: Atsushi Nemoto Cc: stable Cc: sshtylyov@ru.mvista.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 47992cbdaef2f18a47871b2ed01ad27f568c8b73 Merge: 4655a0d... 198fc10... Author: Russell King Date: Mon Dec 29 18:08:11 2008 +0000 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit b632ade282895562924d18b8eedd11a825f4b08c Author: Christof Schmitt Date: Fri Dec 19 16:57:02 2008 +0100 [SCSI] zfcp: Remove unnecessary warning message Remove a message that was emitted for a port that could not initially be opened. This is a rare case when the port discovery hits an initiator port and only confuses the user with an initator port logged in the message. Remove the whole special case: The failed "open port" request triggers required follow-up actions anyway. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 39eb7e9aca2a582330ddb6f1167272268e6b3965 Author: Christof Schmitt Date: Fri Dec 19 16:57:01 2008 +0100 [SCSI] zfcp: Add support for unchained FSF requests Add the support to send CT and ELS requests as unchained FSF requests. This is required for older hardware and was somehow omitted during the cleanup of the FSF layer. The req_count and resp_count attributes are unused, so remove them instead of adding a special case for setting them. Also add debug data and a warning, when the ct request hits a limit. Signed-off-by: Christof Schmitt Acked-by: Martin Petermann Signed-off-by: James Bottomley commit b225cf9b8040849e16add4da8e84a72a3548ada8 Author: Christof Schmitt Date: Fri Dec 19 16:57:00 2008 +0100 [SCSI] zfcp: Remove busid macro With the change to the dev_ message macros, the macro to get the busid is only used in a few places. Remove it and directly get the dev_name from the device. Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b98478d71b0fea6d35f96069612d92b76013589f Author: Christof Schmitt Date: Fri Dec 19 16:56:59 2008 +0100 [SCSI] zfcp: remove DID_DID flag The port flag DID_DID indicates whether we know the current id of the port. This is always set in parallel. Since the id 0 is invalid (because the port id 0 is invalid) we can remove the DID_DID flag: d_id of 0 indicates an invalid d_id != 0 is a valid one. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit e0d7fcb5ecad495a54f7334e410f5e16e1da7f78 Author: Christof Schmitt Date: Fri Dec 19 16:56:58 2008 +0100 [SCSI] zfcp: Simplify mask lookups for incoming RSCNs Use an array for looking up the mask corresponding to the 2-bit information instead of the switch/case. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 3623ecba19660d1d838f8b1a4d1e80007d603617 Author: Christof Schmitt Date: Fri Dec 19 16:56:57 2008 +0100 [SCSI] zfcp: Remove initial device data from zfcp_data The information from the kernel parameter is only needed during init. Keep the three pieces (busid, wwpn and lun) local to simplify the global zfcp_data structures. While at it, also remove the unused loglevel variable and give the module parameter variable a better name. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 06499fac65a273f1de0154679ab04f29dead2bba Author: Heiko Carstens Date: Fri Dec 19 16:56:56 2008 +0100 [SCSI] zfcp: fix compile warning Get rid of this one: drivers/s390/scsi/zfcp_erp.c: In function 'zfcp_erp_thread': drivers/s390/scsi/zfcp_erp.c:1400: warning: ignoring return value of 'down_interruptible', declared with attribute warn_unused_result zfcp_erp_thread is a kernel thread which can't receive any signals. So introduce a dummy variable and get rid of the warning. Signed-off-by: Heiko Carstens Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b228af0269eaf1af22dbae12a0860f8dbfd63662 Author: Christof Schmitt Date: Fri Dec 19 16:56:55 2008 +0100 [SCSI] zfcp: Remove adapter list After the latest changes, the list of FCP devices is only used to lookup the adapter for requests from the actcli tool. Change this to use the lookup function in the cio layer. Now we can remove the adapter list and have one place less to use the global config_lock. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit dedbc2b3cb8404c618975bd2811c7605a4ccb51e Author: Christof Schmitt Date: Fri Dec 19 16:56:54 2008 +0100 [SCSI] zfcp: Simplify SBAL allocation to fix sparse warnings When waiting for a request claim the SBAL before waiting. This way, locking before each check of the free counter is not required and sparse does not emit warnings for the complicated locking scheme. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 1d3aab084a2b4d6c60c8478b3ddf5dd9391f6a32 Author: Swen Schillig Date: Fri Dec 19 16:56:53 2008 +0100 [SCSI] zfcp: register with SCSI layer on ccw registration Synchronize the registration and de-registration with the SCSI layer at CCW registration, de-registration. Before we registered with the SCSI layer on adapter activation. This way the reg and de-reg process is in balance. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 27c3f0a6e4521ba0ff6e76da54969f0bf430f53a Author: Christof Schmitt Date: Fri Dec 19 16:56:52 2008 +0100 [SCSI] zfcp: Fix message line break Move the closing parenthesis before the line break. Signed-off-by: Christof Schmitt Acked-by: Felix Beck Signed-off-by: James Bottomley commit 17d98630a4f2a38537618503ad0c7ec97ba461ca Author: Anirban Chakraborty Date: Thu Dec 18 10:06:15 2008 -0800 [SCSI] qla2xxx: changes in multiq code Following changes have been made: 1. Scan outstanding commands only in the queue where it is submitted 2. Update queue registers directly in the fast path 3. Queue specific BAR is remapped only for multiq capable adapters Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 20c09df7eb9c92a40e0ecf654b6e8f14c8583b9e Author: FUJITA Tomonori Date: Tue Dec 23 04:01:35 2008 +0900 [SCSI] eata: fix the data buffer accessors conversion regression This fixes the regression introduced by the commit 58e2a02eb18393e76a469580fedf7caec190eb5e (eata: convert to use the data buffer accessors), reported: http://marc.info/?t=122987621300006&r=1&w=2 - fix DMA_NONE handling in map_dma() - this driver can't use scsi_dma_map since host->shost_gendev.parent is not set properly (it uses scsi_register). Signed-off-by: FUJITA Tomonori Reported-by: Arthur Marsh Tested-by: Arthur Marsh Cc: stable@kernel.org Signed-off-by: James Bottomley commit d2131b33c7e07c2905ee2f2321cc4dae1928c483 Author: Brian King Date: Thu Dec 18 09:26:51 2008 -0600 [SCSI] ibmvfc: Improve async event handling While doing various error injection testing, such as cable pulls and target moves, some issues were observed in handling these events. This patch improves the way these events are handled by increasing the delay waiting for the fabric to settle and also changes the behavior of Link Up to break the CRQ to ensure everything gets cleaned up properly on the VIOS. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 87b5c328c7e32ab9075086f990001bffb7b19550 Author: James Smart Date: Tue Dec 16 10:34:09 2008 -0500 [SCSI] lpfc : correct printk types on PPC compiles Signed-off-by: James Smart Signed-off-by: James Bottomley commit 302378534c8d4403f9a9b2a20f875b6866a27e42 Author: Mark Nelson Date: Wed Dec 10 12:23:20 2008 +1100 [SCSI] ipr: fix lockdep warning from ipr_ioa_reset_done To fix the following lockdep warning we turn the spin_unlock_irq() into a spin_unlock() and similarly for the corresponding spin_lock_irq(). We can do this because there is no need to enable interrupts in this path (thanks to Bring King for the tip). Badness at kernel/lockdep.c:2193 NIP: c0000000000855d0 LR: c0000000000855b4 CTR: c0000000000482d0 REGS: c00000000fffb8d0 TRAP: 0700 Not tainted (2.6.28-rc5-autokern1) MSR: 8000000000021032 CR: 28000022 XER: 00000004 TASK = c00000000091fa80[0] 'swapper' THREAD: c000000000a3c000 CPU: 0 GPR00: 0000000000000000 c00000000fffbb50 c000000000a3c2e0 0000000000000001 GPR04: 000000000000a580 c0000000003870d4 0000000000000000 0000000000000001 GPR08: 0000000000000000 c00000000112fdf0 c0000000008ed918 c000000000abcfd0 GPR12: 0000000048000088 c000000000a7f300 0000000000000000 0000000002100000 GPR16: c000000000644bd0 c000000000643390 0000000000000000 00000000003d0c00 GPR20: 00000000028372d8 c0000000007372d8 0000000002837548 c000000000737548 GPR24: c000000000644660 00000000028372d8 000000000000001a c000000076760000 GPR28: 0000000000000004 c0000000004e8450 c0000000009aafb0 c00000000091fa80 NIP [c0000000000855d0] .trace_hardirqs_on_caller+0x10c/0x194 LR [c0000000000855b4] .trace_hardirqs_on_caller+0xf0/0x194 Call Trace: [c00000000fffbb50] [c00000000fffbbe0] 0xc00000000fffbbe0 (unreliable) [c00000000fffbbe0] [c0000000004e8450] ._spin_unlock_irq+0x38/0x5c [c00000000fffbc70] [c0000000003870d4] .ipr_ioa_reset_done+0x204/0x284 [c00000000fffbd10] [c00000000037d234] .ipr_reset_ioa_job+0xc4/0xec [c00000000fffbda0] [c000000000385ce0] .ipr_isr+0x208/0x484 [c00000000fffbe50] [c0000000000aaf3c] .handle_IRQ_event+0x58/0xd4 [c00000000fffbef0] [c0000000000ad978] .handle_fasteoi_irq+0x110/0x1ac [c00000000fffbf90] [c000000000025214] .call_handle_irq+0x1c/0x2c [c000000000a3f9a0] [c00000000000d168] .do_IRQ+0x120/0x210 [c000000000a3fa40] [c000000000004804] hardware_interrupt_entry+0x1c/0x98 --- Exception: 501 at .pseries_dedicated_idle_sleep+0xec/0x1cc LR = .pseries_dedicated_idle_sleep+0xdc/0x1cc [c000000000a3fd30] [c000000000038208] .pseries_dedicated_idle_sleep+0x74/0x1cc (unreliable) [c000000000a3fdd0] [c000000000012134] .cpu_idle+0x114/0x1dc [c000000000a3fe60] [c0000000004ecb18] .rest_init+0x7c/0x94 [c000000000a3fee0] [c000000000700a40] .start_kernel+0x4b8/0x4e0 [c000000000a3ff90] [c000000000008368] .start_here_common+0x1c/0x34 Instruction dump: e92d01b0 80090894 2f800000 41be002c 481ed1d1 60000000 2fa30000 419e0080 e93e8090 80090000 2f800000 409e0070 <0fe00000> 48000068 7fe3fb78 38800001 Signed-off-by: Mark Nelson Acked-by: Brian King Signed-off-by: James Bottomley commit f78badb1ae07e7f8b835ab2ea0b456ed3fc4caf4 Author: James Smart Date: Fri Dec 5 16:29:59 2008 -0600 [SCSI] fc transport: pre-emptively terminate i/o upon dev_loss_tmo timeout Pre-emptively terminate i/o on the rport if dev_loss_tmo has fired. The desire is to terminate everything, so that the i/o is cleaned up prior to the sdev's being unblocked, thus any outstanding timeouts/aborts are avoided. Also, we do this early enough such that the rport's port_id field is still valid. FCOE libFC code needs this info to find the i/o's to terminate. Signed-off-by: James Smart [michaelc@cs.wisc.edu: remove extra scsi_target_unblock call] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 73208dfd7ab19f379d73e8a0fbf30f92c203e5e8 Author: Anirban Chakraborty Date: Tue Dec 9 16:45:39 2008 -0800 [SCSI] qla2xxx: add support for multi-queue adapter Following changes have been made. 1. qla_hw_data structure holds an array for request queue pointers, and an array for response queue pointers. 2. The base request and response queues are created by default. 3. Additional request and response queues are created at the time of vport creation. If queue resources are exhausted during vport creation, newly created vports use the default queue. 4. Requests are sent to the request queue that the vport was assigned in the beginning. 5. Responses are completed on the response queue with which the request queue is associated with. [fixup memcpy argument reversal spotted by davej@redhat.com] Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 85b4aa4926a50210b683ac89326e338e7d131211 Author: Robert Love Date: Tue Dec 9 15:10:24 2008 -0800 [SCSI] fcoe: Fibre Channel over Ethernet Encapsulation protocol for running Fibre Channel over Ethernet interfaces. Creates virtual Fibre Channel host adapters using libfc. This layer is the LLD to the scsi-ml. It allocates the Scsi_Host, utilizes libfc for Fibre Channel protocol processing and interacts with netdev to send/receive Ethernet packets. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 42e9a92fe6a9095bd68a379aaec7ad2be0337f7a Author: Robert Love Date: Tue Dec 9 15:10:17 2008 -0800 [SCSI] libfc: A modular Fibre Channel library libFC is composed of 4 blocks supported by an exchange manager and a framing library. The upper 4 layers are fc_lport, fc_disc, fc_rport and fc_fcp. A LLD that uses libfc could choose to either use libfc's block, or using the transport template defined in libfc.h, override one or more blocks with its own implementation. The EM (Exchange Manager) manages exhcanges/sequences for all commands- ELS, CT and FCP. The framing library frames ELS and CT commands. The fc_lport block manages the library's representation of the host's FC enabled ports. The fc_disc block manages discovery of targets as well as handling changes that occur in the FC fabric (via. RSCN events). The fc_rport block manages the library's representation of other entities in the FC fabric. Currently the library uses this block for targets, its peer when in point-to-point mode and the directory server, but can be extended for other entities if needed. The fc_fcp block interacts with the scsi-ml and handles all I/O. Signed-off-by: Robert Love [jejb: added include of delay.h to fix ppc64 compile prob spotted by sfr] Signed-off-by: James Bottomley commit f032c2f7cdaae0e8907cd3b26426fc651dc5c275 Author: Robert Love Date: Tue Dec 9 15:10:11 2008 -0800 [SCSI] FC protocol definition header files Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 21465eda9eafa275ed11c27779d90aa95559b6f6 Author: Brian King Date: Mon Dec 8 17:01:47 2008 -0600 [SCSI] ibmvscsi: Don't fail EH due to insufficient resources The ibmvscsi driver currently has a bug in it which can result in it using up all its event structs for commands. If something results in all those commands timing out, we won't have any resources left to send aborts or resets. This results in escalating to a host reset in order to recover, which is a bit heavy handed. This fixes it by reducing can_queue by two in order to have resources to do EH. It also changes the max_requests module parameter so that it is not writable at runtime, since the code really does not handle it changing at runtime. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4d3fef9e69ac002f7531c377970449d1154fe884 Author: FUJITA Tomonori Date: Fri Dec 5 15:37:52 2008 +0900 [SCSI] scsi_transport_spi: fix the misuse of scsi_execute return value [jejb: fix rejections] Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit ccc607f6d29def18a4c2a4aab31435a784754a64 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:31 2008 +0900 [SCSI] st: convert st_int_ioctl to use st_scsi_kern_execute This replaces st_do_scsi in st_int_ioctl with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 7a31ec3c1ff1ceeb3aebe25e13def5ac4edd5dc4 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:30 2008 +0900 [SCSI] st: convert get_location to use st_scsi_kern_execute This replaces st_do_scsi in get_location (READ_POSITION) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 18c87015741d931875038789957db55b00661f5b Author: FUJITA Tomonori Date: Fri Dec 5 15:25:29 2008 +0900 [SCSI] st: convert write_mode_page to use st_scsi_kern_execute This replaces st_do_scsi in write_mode_page (MODE_SELECT) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 8ecf0d994a8d3fb439e1efea6f60c22831bf69c8 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:28 2008 +0900 [SCSI] st: convert read_mode_page to use st_scsi_kern_execute This replaces st_do_scsi in read_mode_page (MODE_SENSE) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 52107b2c575d76bf210ff7e995128042594324ac Author: FUJITA Tomonori Date: Fri Dec 5 15:25:27 2008 +0900 [SCSI] st: convert check_tape to use st_scsi_kern_execute This replaces st_do_scsi in check_tape (READ_BLOCK_LIMITS and MODE_SENSE) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 212cd8bfe12bb115e7bc9e119fe1411451829afb Author: FUJITA Tomonori Date: Fri Dec 5 15:25:26 2008 +0900 [SCSI] st: convert st_flush to use st_scsi_kern_execute This replaces st_do_scsi in st_flush (WRITE FILEMARKS) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 39ade4b1acb685127d73b53814850d9c92084c9e Author: FUJITA Tomonori Date: Fri Dec 5 15:25:25 2008 +0900 [SCSI] st: convert cross_eof to use st_scsi_kern_execute This replaces st_do_scsi in cross_eof (SPACE) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 15c920a6dc65ea0117bc5d4fd025d4b2eab13d59 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:24 2008 +0900 [SCSI] st: convert do_load_unload to use st_scsi_kern_execute This replaces st_do_scsi in do_load_unload (START STOP) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 3c0bf16c63a6ef69c9b3e90591e6179deacfa8f7 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:23 2008 +0900 [SCSI] st: convert set_location to use st_scsi_kern_execute This replaces st_do_scsi in set_location (LOCATE 10) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 0944a721ba5c2535b615f06afd3aaa2f18c69cb9 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:22 2008 +0900 [SCSI] st: convert test_ready to use st_scsi_kern_execute This replaces st_do_scsi in test_ready (TEST_UNIT_READY) with st_scsi_kern_execute. Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit ffb4349499c00cd8ec90cb896599789cc00a7415 Author: FUJITA Tomonori Date: Fri Dec 5 15:25:21 2008 +0900 [SCSI] st: add st_scsi_kern_execute helper function st_scsi_kern_execute is a helper function to perform SCSI commands synchronously. It supports data transfer with a liner in-kernel buffer (not scatter gather). st_scsi_kern_execute internally uses scsi_execute(). The majority of st_do_scsi can be replaced with st_scsi_kern_execute. This is a preparation for rewriting st_do_scsi to remove obsolete scsi_execute_async(). Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4deba245d0d6b2dc97cc4277c37f8519655d3afe Author: FUJITA Tomonori Date: Fri Dec 5 15:25:20 2008 +0900 [SCSI] st: move st_request initialization to st_allocate_request form st_do_scsi This moves st_request initialization code to st_allocate_request() form st_do_scsi(). This is a preparation for making st_allocate_request() usable for everyone, not only st_do_scsi(). Signed-off-by: FUJITA Tomonori Acked-by: Kai Makisara Signed-off-by: James Bottomley commit 5d2711c0ff9cdff79cd62d3c830e763d889e73de Author: James Smart Date: Thu Dec 4 22:40:12 2008 -0500 [SCSI] lpfc 8.3.0 : Update driver version to 8.3.0 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 923e4b6a72e5643fb2373a62e8563827a51520dc Author: James Smart Date: Thu Dec 4 22:40:07 2008 -0500 [SCSI] lpfc 8.3.0 : Hook lpfc's debugfs into Kconfig Signed-off-by: James Smart Signed-off-by: James Bottomley commit e2a0a9d69ce224c6f5b72515d81150e6bf4a905a Author: James Smart Date: Thu Dec 4 22:40:02 2008 -0500 [SCSI] lpfc 8.3.0 : Add BlockGuard support (T10-DIF) code Add SCSI data path, error handling, and debugfs code to complete BlockGuard support. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 81301a9b05c3690bf32bf4ef37d941f0f870a7ba Author: James Smart Date: Thu Dec 4 22:39:46 2008 -0500 [SCSI] lpfc 8.3.0 : Add BlockGuard support (T10-DIF) structs and defs Update struct definitions, #defines, sysfs entries, and initialization to support BlockGuard. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9f1e1b50ab43a281dbc75c25f11e1926a9ea367a Author: James Smart Date: Thu Dec 4 22:39:40 2008 -0500 [SCSI] lpfc 8.3.0 : Fix some memory handling issues - Fix mailbox buffer leak on dump mailbox completion - Fix mbuf leak in lpfc_pci_probe_one() SLI-2 mode error path - Don't allocate HBQs in interrupt context - Use correct size for FCP response buffer so that all available sense data is copied - Fix jiffies calculation to prevent crash when collecting statistical data Signed-off-by: James Smart Signed-off-by: James Bottomley commit 5b75da2fa2c9570c3c3dbb2f63cae5b4183e0ca3 Author: James Smart Date: Thu Dec 4 22:39:35 2008 -0500 [SCSI] lpfc 8.3.0 : Add active interrupt test for enabling MSI/MSI-X/INTx Per the recent discussions at the Linux Plumbers Conference, when enabling MSI or MSI-X, generate a test interrupt to verify the interrupt routing is working properly. If the test interrupt fails, fall back to MSI first, and if that fails as well, to INTx. If the interrupt test fails with INTx, log an error and fail the PCI probe. Also changed the use of spin_(lock|unlock) to the _irq(save|restore) variants in the interrupt handlers because with multi-message MSI-X, both interrupt handlers can now run in parallel. Signed-off-by: James Smart Signed-off-by: James Bottomley commit eaf15d5b5605e1a403f631489de30a49fd66905d Author: James Smart Date: Thu Dec 4 22:39:29 2008 -0500 [SCSI] lpfc 8.3.0 : Fix several minor issues - Avoid polling HBA Error Attention when HBA's PCI channel is offline due to PCI EEH - Fix handling of RSCN with non-zero event qualifiers - Remove unnecessary sleeps during HBA initialization which slow down driver load - Fix internal and external loopback on FCoE HBAs - Fix incorrect decrement of cmd_pending count in lpfc_queuecomand error path - Fix reporting of port busy events to management application - Rename lpfc_adjust_queue_depth() to lpfc_rampdown_queue_depth() for consistency with its partner lpfc_rampup_queue_depth() - Delete redundant lpfc_cmd->start_time = jiffies assignment in lpfc_queuecommand() - Fix handling for ELS, mailbox and heartbeat time outs in the worker thread by removing unnecessary checking of the work_port_events flags. - Fix NULL pointer dereference in lpfc_prep_els_iocb - In lpfc_device_recov_npr_node(), move clearing of NLP_NPR_2B_DISC flag after call to lpfc_cancel_retry_delay_tmo() to keep targets-in-discovery count correct - Remove lpfc_probe_one()'s call to scsi_scan_host() which could cause concurrent SCSI scans to step on each other Signed-off-by: James Smart Signed-off-by: James Bottomley commit 8f34f4cea3234ae347c4b0ffa302ffb85f140838 Author: James Smart Date: Thu Dec 4 22:39:23 2008 -0500 [SCSI] lpfc 8.3.0 : Fix issue with assumed Interrupt Enable Block support The phba hbq_get address was setup before the HBA reported support for Interrupt Enable Block (INB). This caused loopback tests to fail after all HBQs had been used once. Moved setting of hba_get until after config port mailbox command completes. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 97207482fcdd120a60a44e9eb6bbad8da6f81c9d Author: James Smart Date: Thu Dec 4 22:39:19 2008 -0500 [SCSI] lpfc 8.3.0 : Added 3 small features and improve PCI EEH support - Added FC_REG_VPORTRSCN_EVENT to lpfc_nl.h - Added code to provide option ROM version from HBA and via sysfs - Added support for HPS bit in config port mailbox command to tell HBA that host group pointers are in host memory. - Bugfix for Extended Error Handling (EEH) support on IBM PowerPC P6 platform with MSI enabled Signed-off-by: James Smart Signed-off-by: James Bottomley commit eada272dfc32ba3dcd33e7ca5875337defb13c54 Author: James Smart Date: Thu Dec 4 22:39:13 2008 -0500 [SCSI] lpfc 8.3.0 : Fix multiple NPIV issues - Fix lock up on rmmod with vports defined by having lpfc_pci_remove_one() invoke fc_vport_terminate() to remove all the vports before invoking fc_remove_host() for the physical port - Fix echotest failure when NPIV is enabled - Add the vport_disable function to the physical port's transport template to make the vport disable attribute visible - Set the vport state to DISABLE on create if the disable flag is true - Call lpfc_alloc_sysfs_attr() for vports so that statistical data collection works on them - Support setting a vport's symbolic name via sysfs by writing to /sys/class/fc_vport/vportX/symbolic_name - Fix create vport fails when link is down or in loop mode. Should be able to be create vports any time NPIV is enabled - Fix slow vport deletes when deleting multiple vports at once Signed-off-by: James Smart Signed-off-by: James Bottomley commit 109f6ed05aadb7dd1cc9671a63603658d3ba518e Author: James Smart Date: Thu Dec 4 22:39:08 2008 -0500 [SCSI] lpfc 8.3.0 : Fix system crash due to uninitialized node access In the IOCB completion handler, always check if the node is valid before accessing the node object. Added lpfc_initialize_node() to initialize nodes. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9bad76719ee4fa8c305bb6cba6e19b4ddbe800b2 Author: James Smart Date: Thu Dec 4 22:39:02 2008 -0500 [SCSI] lpfc 8.3.0 : Add kernel-doc headers to lpfc_scsi.c Add kernel-doc function headers to lpfc_scsi.c Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3a55b5327b80d805eb3c9720092fd24f15193696 Author: James Smart Date: Thu Dec 4 22:38:54 2008 -0500 [SCSI] lpfc 8.3.0 : Add support for Power Management Suspend/Resume operations Implement lpfc_pci_suspend_one() and lpfc_pci_resume_one() and register them in the pci_driver table. Signed-off-by: James Smart Signed-off-by: James Bottomley commit ddcc50f0f3538e4771c8ab9e8ec685a22c90d88c Author: James Smart Date: Thu Dec 4 22:38:46 2008 -0500 [SCSI] lpfc 8.3.0 : Rework RSCN netlink event to send entire RSCN payload Rework RSCN netlink event to send entire RSCN payload Also replaces (SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_EMULEX) with LPFC_NL_VENDOR_ID Signed-off-by: James Smart Signed-off-by: James Bottomley commit 5cd3bbfad088f86bde3e0f038ff4dd5bb0ac5290 Author: FUJITA Tomonori Date: Fri Dec 5 11:21:46 2008 +0900 [SCSI] retry with missing data for INQUIRY This patch changes scsi_probe_lun() to retry INQUIRY if the device has not actually sent back any INQUIRY data, This enables the Thecus N2050 storage device to work better. The firmware on that device starts up strangely; it sends no data in response to the initial INQUIRY, and it sends the INQUIRY information in response to the followup REQUEST SENSE. But after that it works better, so retrying the INQUIRY is enough to get it going. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit f4f4e47e4af6b02dd1c425b931c65d0165356e33 Author: FUJITA Tomonori Date: Thu Dec 4 14:24:39 2008 +0900 [SCSI] add residual argument to scsi_execute and scsi_execute_req scsi_execute() and scsi_execute_req() discard the residual length information. Some callers need it. This adds residual argument (optional) to scsi_execute and scsi_execute_req. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a528ab7a324f1dbb3598ae0ecd238ab7dd974294 Author: Brian King Date: Wed Dec 3 11:02:56 2008 -0600 [SCSI] ibmvfc: Fix errors due to inconsistent command data In order to ensure the VIOS sees a consistent command buffer, we need to add a memory barrier after building the command buffer but before sending the command. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 1c41fa8288277e76785acb50f52bb2f39509f903 Author: Brian King Date: Wed Dec 3 11:02:54 2008 -0600 [SCSI] ibmvfc: Delay NPIV login retry and add retries Adds a delay prior to retrying a failed NPIV login. This fixes a scenario if the backing fibre channel adapter is getting reset due to an EEH event, NPIV login will fail. Currently, ibmvfc retries three times very quickly, resets the CRQ and tries one more time. If the adapter is getting reset due to EEH, this isn't enough time. This adds a delay prior to retrying a failed NPIV login and also increments the number of retries. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6df19a791bdd5d820cccd8c7a12679888ae62099 Author: Mike Christie Date: Tue Dec 2 00:32:16 2008 -0600 [SCSI] libiscsi_tcp: support padding offload cxgb3i does not offload the processing of the header, but it will always process the padding. This patch adds a padding offload flag to detect when the LLD supports this. The patch also modifies the header processing so that we do not try to read/bypass the header dugest in the skb. cxgb3i will not include it with the header like with other offload cards. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ae15f80172d95f978b60d40408353943d5bc099b Author: Mike Christie Date: Tue Dec 2 00:32:15 2008 -0600 [SCSI] libiscsi: handle init task failures. Mgmt setup used to not fail so we did not have to check the return value. Now with cxgb3i it can so this has us pass up a error. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2ff79d52d56eebcffd83e9327b89d7daedf1e897 Author: Mike Christie Date: Tue Dec 2 00:32:14 2008 -0600 [SCSI] libiscsi: pass opcode into alloc_pdu callout We do not need to allocate a itt for data_out, so this passes the opcode to the alloc_pdu callout. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 262ef63627977acb7d8dd38c4f0f290bf49fbbfd Author: Mike Christie Date: Tue Dec 2 00:32:13 2008 -0600 [SCSI] libiscsi: allow drivers to modify the itt sent to the target bnx2i and cxgb3i need to encode LLD info in the itt so that the firmware/hardware can process the pdu. This patch allows the LLDs to encode info in the task->hdr->itt that they setup in the alloc_pdu callout (any resources that are allocated can be freed with the pdu in the cleanup_task callout). If the LLD encodes info in the itt they should implement a parse_pdu_itt callout. If parse_pdu_itt is not implemented libiscsi will do the right thing for the LLD. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 38e1a8f5479d7d75a68d797c7159f5b7e2ef44e4 Author: Mike Christie Date: Tue Dec 2 00:32:12 2008 -0600 [SCSI] iscsi_tcp: hook iscsi_tcp into new libiscsi_tcp module This hooks iscsi_tcp into the libiscsi_tcp module and removes code that is now in libiscsi_tcp. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a081c13e39b5c17052a7b46fafa61019c4c110ff Author: Mike Christie Date: Tue Dec 2 00:32:11 2008 -0600 [SCSI] iscsi_tcp: split module into lib and lld As explained in the previous mails, cxgb3i needs iscsi_tcp's r2t/data_out and data_in procesing so this just moves functions that both drivers want to use to a new module libiscsi_tcp. The next patch will hook iscsi_tcp in. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 30b4915015c112547e930cadf734d875aec8438d Author: Mike Christie Date: Tue Dec 2 00:32:10 2008 -0600 [SCSI] iscsi_tcp: add iscsi_tcp prefix to iscsi_tcp functions Add iscsi_tcp prefix to most functions. Some are not changed becuase they are going to move in the next patch. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit cfeb2cf957ca5b4e557b53fb91ccc52f442f6dbe Author: Mike Christie Date: Tue Dec 2 00:32:09 2008 -0600 [SCSI] libiscsi: change login data buffer allocation This modifies the login buffer allocation to use __get_free_pages. It will allow drivers that want to send this data with zero copy operations to easily line things up on page boundaries. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e2bac7c55e43c9018f2f4daf15437e836b26e709 Author: Mike Christie Date: Tue Dec 2 00:32:08 2008 -0600 [SCSI] iscsi_tcp: remove unused r2t handling libiscsi's iscsi_prep_data_out_pdu now handles what iscsi_tcp's helpers were so we can remove iscsi_tcp's helpers. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e5a7efeffdcc3062ade5208d16c278d8d484f82a Author: Mike Christie Date: Tue Dec 2 00:32:07 2008 -0600 [SCSI] iscsi_tcp: convert to new alloc_hdr api This converts iscsi_tcp to the new api and modifies how it handles r2ts. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0f9c7449ce050759d10424048b96d1bd0d59dcc1 Author: Mike Christie Date: Tue Dec 2 00:32:06 2008 -0600 [SCSI] iser: convert iser to new alloc_pdu api This just converts iser to new alloc_pdu api. It still preallocates the pdu, so there is no difference. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 577577da6d197ea3dcf3ee19c4f902fbd3a9390a Author: Mike Christie Date: Tue Dec 2 00:32:05 2008 -0600 [SCSI] libiscsi: prepare libiscsi for new offload engines by modifying unsol data code cxgb3i offloads data transfers. It does not offload the entire scsi/iscsi procssing like qla4xxx and it does not offload the iscsi sequence processing like how bnx2i does. cxgb3i relies on iscsi_tcp for the seqeunce handling so this changes how we transfer unsolicitied data by adding a common r2t struct and helpers. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 63c62f1cb980241513c82cacd5b9f878527c6647 Author: Mike Christie Date: Tue Dec 2 00:32:04 2008 -0600 [SCSI] iscsi_tcp: prepare helpers for LLDs that can offload some operations cxgb3i is unlike qla4xxx and bnx2i in that it does not offload entire scsi commands or iscsi sequences. Instead it only offloads the transfer of a ISCSI DATA_IN pdu's data, the digests and padding. This patch fixes up the iscsi tcp recv path so that it exports its skb recv processing so cxgb3i and other drivers can call them. All they have to do is pass the function the skb with the hdr or data pdu header and this function will do the rest. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b29f841378460c37e99a2398d0015d9bd7901a09 Author: James Bottomley Date: Sun Nov 30 10:39:01 2008 -0600 [SCSI] remove timeout from struct scsi_device by removing the unused timeout parameter we ensure a compile failure if anyone is accidentally still using it rather than the block timeout. Signed-off-by: James Bottomley commit a02488ed73488f316aa00eb973407f4229c6c2bf Author: James Bottomley Date: Sun Nov 30 10:36:26 2008 -0600 [SCSI] st: update to use block timeout Since we're trying to eliminate struct scsi_device timeout, the tape driver has to be updated to use the block queue timeout instead. The tape use of scsi_device timeout looks to be self consistent, so I don't think this necessarily fixes any bug, but it has to be done to allow me to remove the timeout parameter from struct scsi_device. Acked-by: Kai Makisara Signed-off-by: James Bottomley commit da244654c66e78e03668863974ec74c981934c38 Author: Finn Thain Date: Mon Nov 17 21:37:45 2008 +0100 [SCSI] mac_esp: fix for quadras with two esp chips On the Quadra 900 and 950 there are two ESP chips sharing one IRQ. Because the shared IRQ is edge-triggered, we must make sure that an IRQ transition from one chip doesn't go unnoticed when the shared IRQ is already active due to the other. This patch prevents interrupts getting lost so that both SCSI busses may be used simultaneously. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 09e13e91670b69736b5da0a869a076a55a326394 Author: Finn Thain Date: Mon Nov 17 21:37:07 2008 +0100 [SCSI] m68k: mac_esp asm fix Fix asm constraints and arguments so as not to transfer an odd byte when there may be more words to transfer. The bug would probably also cause exceptions sometimes by transferring one too many bytes. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 749af3d54a6d5619088ecadb1010c6ab7766f519 Author: Anirban Chakraborty Date: Fri Nov 14 13:48:12 2008 -0800 [SCSI] qla2xxx: Code changes for vport bus reset The following patch changes the handling of bus reset when issued from a vport. In the bus reset code, an extra check is made to make sure that the lip reset is not done before resetting the targets if the bus reset came from a vport. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit b60af5b0adf0da24c673598c8d3fb4d4189a15ce Author: Alan Stern Date: Mon Nov 3 15:56:47 2008 -0500 [SCSI] simplify scsi_io_completion() This patch (as1142b) consolidates a lot of repetitious code in scsi_io_completion(). It also fixes a few comments. Most importantly, however, it clearly distinguishes among the three sorts of retries that can be done when a command fails to complete: Unprepare the request and resubmit it, so that a new command will be created for it. Requeue the request directly so that it will be retried immediately using the same command. Requeue the request so that it will be retried following a short delay. Complete the remainder of the request with an I/O error. [jejb: Updates 1. For several error conditions, we would now print the sense twice in slightly different ways, so unify the location of sense printing. 2. I added more descriptions to actual failure conditions for better debugging 3. according to spec, ABORTED_COMMAND is supposed to be retried (except on DIF failure). Our old behaviour of erroring it looks to be a bug. 4. I'd prefer not to default initialise the action variable because that ensures that every leg of the error handler has an associated action and the compiler will warn if someone later accidentally misses one or removes one. ] Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit 67e6d58d812ec3e95918266076d4c836cdec849a Author: Brian King Date: Fri Nov 14 13:33:54 2008 -0600 [SCSI] ibmvfc: Driver version 1.0.4 Bump driver version Signed-off-by: Brian King Signed-off-by: James Bottomley commit 646d3857b95e8e310aae7a4594f43d7f3b100a1f Author: Brian King Date: Fri Nov 14 13:33:53 2008 -0600 [SCSI] ibmvfc: Handle port login required response The virtual fibre channel stack can return a failure response for a command indicating the port login has been invalidated without sending the client an async event. Add code to handle this response and initiate a PLOGI. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 5919ce29085f4ca080054fde5feef8f8b3405261 Author: Brian King Date: Fri Nov 14 13:33:52 2008 -0600 [SCSI] ibmvfc: Fix command timeouts due to cached CRQ access The CRQs used by the ibmvfc driver are read and written by both the client and the server. Therefore, we need to mark them volatile so that we do not cache their contents when handling an interrupt. This fixes a problem which can surface as occasional command timeouts. No commands were actually timing out, but due to accessing cached data for the CRQ in the interrupt handler, the interrupt was not processing all command completions as it should. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4081b77c3a86151d2eaeed9d568a34dd0982ed52 Author: Brian King Date: Fri Nov 14 13:33:50 2008 -0600 [SCSI] ibmvfc: Fix oops in interrupt handler Fixes an oops that can occur in the interrupt handler if we get a lot of async events. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 273c4781529ef1bc901a27208736b0ccabd52178 Author: Babu Moger Date: Mon Nov 10 16:17:48 2008 -0700 [SCSI] scsi_dh_rdac: Add LSI vendor and product ids in rdac device list [jejb: fixed whitespace damage] Signed-off-by: Babu Moger Signed-off-by: James Bottomley commit dd7c34e9a27be521d480e5b84c84e92de2ea7b95 Author: Julia Lawall Date: Sun Nov 9 17:55:27 2008 +0100 [SCSI] fusion: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. Signed-off-by: Julia Lawall Acked-by: "Prakash, Sathya" Signed-off-by: James Bottomley commit ef661c5e8f2b6846f6d2dab98b5bffdefbfce477 Author: Randy Dunlap Date: Wed Oct 29 22:35:16 2008 -0700 [SCSI] fusion: remove excess kernel-doc notation Remove excess kernel-doc function parameter notation: Warning(drivers/message/fusion/mptbase.c:964): Excess function parameter or struct member 'handle' description in 'mpt_free_msg_frame' Warning(drivers/message/fusion/mptbase.c:5434): Excess function parameter or struct member 'portnum' description in 'mpt_findImVolumes' Warning(drivers/message/fusion/mptbase.c:6949): Excess function parameter or struct member 'mr' description in 'mpt_spi_log_info' Signed-off-by: Randy Dunlap cc: Eric.Moore@lsi.com Signed-off-by: James Bottomley commit c51da4ecb03a4513996e64dd9500a9d5ca812523 Author: Anirban Chakraborty Date: Mon Nov 10 15:53:20 2008 -0800 [SCSI] qla2xxx: Fix for build warning drivers/scsi/qla2xxx/qla_os.c: In function 'qla2x00_probe_one': drivers/scsi/qla2xxx/qla_os.c:1582: warning: 'mem_only' is used uninitialized in this function Reported-by: Stephen Rothwell Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit e315cd28b9ef0d7b71e462ac16e18dbaa2f5adfe Author: Anirban Chakraborty Date: Thu Nov 6 10:40:51 2008 -0800 [SCSI] qla2xxx: Code changes for qla data structure refactoring Following changes have been made: 1. Outstanding commands are based on a request queue, scsi_qla_host does not maintain it anymore. 2. start_scsi is accessed via isp_ops struct instead of direct invocation. 3. Interrupt registrations are done using response queue instead of device id. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 7b867cf76fbcc8d77867cbec6f509f71dce8a98f Author: Anirban Chakraborty Date: Thu Nov 6 10:40:19 2008 -0800 [SCSI] qla2xxx: Refactor qla data structures Following changes have been made to the qla2xxx FC driver in preparation for the multi- queue and future SR IOV hardware. 1. scsi_qla_host structure has been changed to contain scsi host specific data only. 2. A new structure, qla_hw_data is created to contain HBA specific hardware data. 3. Request and response IO specific data strucures are created. 4. The global list of fcports for the hba is not maintained anymore, instead a fcport list is construted on per scsi_qla_host. Signed-of-by: Anirban Chakraborty Signed-off-by: James Bottomley commit a9b589d90e3d7748dae459031c2d912cd9e83c88 Author: Vladislav Bolkhovitin Date: Thu Nov 6 13:57:52 2008 +0300 [SCSI] scsi_error: TASK ABORTED status handling improvement This patch improves handling of TASK ABORTED status by Linux SCSI mid-layer. Currently, command returned with this status considered failed and returned to upper layers. It leads to additional error recovery load on file systems and block layer, which sometimes can cause undesired side effects, like I/O errors and file systems corruptions. See http://lkml.org/lkml/2008/11/1/38, for instance. From other side, TASK ABORTED status is returned by SCSI target if the corresponding command was aborted by another initiator and the target has TAS bit set in the control mode page. So, in the majority of cases commands with TASK ABORTED status should be simply retried. In other cases, maybe_retry path will not retry if no retries are allowed. This patch implement suggestion by James Bottomley from http://marc.info/?l=linux-scsi&m=121932916906009&w=2. Signed-off-by: Vladislav Bolkhovitin Signed-off-by: James Bottomley commit c85f8cb9254e60cd25a094329c9dc9185c2140e7 Author: Chandra Seetharaman Date: Wed Nov 5 20:06:37 2008 -0800 [SCSI] scsi_dh: Retry mode select in rdac device handler When the mode select sent to the controller fails with the retryable error, it is better to retry the mode_select from the hardware handler itself, instead of propagating the failure to dm-multipath. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 9eece961fc646e2652086dae42650d002e2d27e2 Author: Chandra Seetharaman Date: Wed Nov 5 20:05:21 2008 -0800 [SCSI] scsi_dh: Make sure the state of a path is set properly when controller is swapped from passive to active When the controller ownership is changed (from passive to active), check_ownership() doesn't set the state of the device to ACTIVE. Signed-off-by: Chandra Seetharaman Reported-by: "Moger, Babu" Signed-off-by: James Bottomley commit 4a8ab87baf8d424de99234fdfae35db6a414ffd2 Author: Ilpo Järvinen Date: Thu Oct 30 13:00:57 2008 +0200 [SCSI] scsi_error: fix indentation and braces disagreement - add braces ...and the list of recent breakage goes on and on, this time it's 242f9dcb8ba6f (block: unify request timeout handling) which broke it. Signed-off-by: Ilpo Järvinen Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 66aa5745f6fe328f0166f91b523df864b17fb8f1 Author: Ilpo Järvinen Date: Thu Oct 30 12:58:38 2008 +0200 [SCSI] tmscsim: fix indentation and braces disagreement - add braces Lucky winner is 557cc476c04 ([SCSI] tmscsim: Fixup KERN_INFO in printk). Signed-off-by: Ilpo Järvinen Acked-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 8d6dda7f0ce53c55ec14eb5eaa360d549641586b Author: roel kluin Date: Wed Oct 29 14:24:47 2008 -0700 [SCSI] u14-34f: fix scsi_dma_map failure case When unsigned, scsi_dma_map may return -ENOMEM without triggering BUG_ON() Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 237abac6ff093aa5cb64faf6f632c479e00a67be Author: Julia Lawall Date: Wed Oct 29 14:24:40 2008 -0700 [SCSI] esp_scsi: Use DIV_ROUND_UP Use the macro DIV_ROUND_UP and eliminate the variable rounded_up, as suggested by Matthew Wilcox. Signed-off-by: Julia Lawall Cc: David Miller Reviewed-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 973b73605cc2ac1f51457809c5f1f1f8ab760c47 Author: Brian King Date: Wed Oct 29 08:46:49 2008 -0500 [SCSI] ibmvfc: Driver version 1.0.3 Bump driver version. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 50ed9a005dc0846685f57c637436ee28e404368d Author: Brian King Date: Wed Oct 29 08:46:47 2008 -0500 [SCSI] ibmvfc: Quiet gcc warning in ibmvfc_reset_device Stops gcc from complaining about a possible uninitialized variable being used in ibmvfc_reset_device. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 10e794996ed00a0f09ff0745f87e3a3dd5de4606 Author: Brian King Date: Wed Oct 29 08:46:45 2008 -0500 [SCSI] ibmvfc: Fix target initialization failure retry handling If the ibmvfc driver is in discovery attempting to log into a target and it encounters an error, the command may get retried one or more times, depending on the error received. If the retries are unsuccessful such that the discovery thread gives up on discovery to that target, the target ends up in a state where, if SCSI core had previously known about the device, the host will get unblocked but the host will not be logged into the target, causing any commands sent to the target to fail. This patch fixes this so that if this occurs, the target is deleted such that the normal dev_loss processing can occur instead. Signed-off-by: Brian King Signed-off-by: James Bottomley commit ad8dcffaf9bc1d7eb86dabf591e95f4ffb86cf1b Author: Brian King Date: Wed Oct 29 08:46:41 2008 -0500 [SCSI] ibmvfc: Error handling fixes Due to an ambiguity in the VIOS VFC interface specification, abort/cancel handling is not done correctly and can result in double completion of commands. In order to cancel all outstanding commands to a device, a cancel must be sent, followed by an abort task set. After the responses are received for these commands, there may still be commands outstanding, in the process of getting flushed back, in which case, we need to wait for them. This patch removes the assumption that if the abort and the cancel both complete successfully that the device queue has been flushed and waits for all the responses to come back. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 50119dad2a6c2674f35d81e708822b40f65f40cb Author: Brian King Date: Wed Oct 29 08:46:36 2008 -0500 [SCSI] ibmvfc: Fix error reporting for some FC errors If either a "transport fault" or a "general transport" error is received and no other error information is available, the command is improperly returned as successful. Fix this to return DID_ERROR in this case. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 596891acd774f515c2a43adda9322d6a9b2b51b9 Author: Brian King Date: Wed Oct 29 08:46:33 2008 -0500 [SCSI] ibmvfc: Fix log level filtering The ibmvfc log level filtering logic was reversed. The log_level scsi host parameter should result in more verbose logs when log_level is larger, not smaller. Signed-off-by: Brian King Signed-off-by: James Bottomley commit fa195afe4ad3f6d85a9b7cc236ae85c05ca8db03 Author: Alan Cox Date: Mon Oct 27 15:16:36 2008 +0000 [SCSI] Clean up my email address and use a single standard address for everything Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit e98991130df36bc429f341a2f21519c39c52afe3 Author: FUJITA Tomonori Date: Thu Oct 23 17:36:08 2008 +0900 [SCSI] aacraid: check pci_alloc_consistent errors We need to check the address that pci_alloc_consistent() returns since it might fail. When pci_alloc_consistent() fails, some IOMMUs set the dma_handle argument to zero. So we can't use fibptr->hw_fib_pa directly here. Signed-off-by: FUJITA Tomonori Cc: Aacraid List Signed-off-by: James Bottomley commit 25729a7fb88ef2912fcb869abe3a76b3be07fc06 Author: Arjan van de Ven Date: Sun Sep 28 16:18:02 2008 -0700 [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() Use the newly introduced pci_ioremap_bar() function in drivers/scsi. 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 Acked-by: Matthew Wilcox Cc: Brian King Cc: Ed Lin Cc: Nick Cheng Signed-off-by: James Bottomley commit decf67e31e855963f4616912d9bc5b1c339d810a Author: Randy Dunlap Date: Wed Oct 22 16:37:13 2008 -0700 [SCSI] scsi ioctl: fix kernel-doc warning Fix kernel-doc parameter warning and correct the function name: Warning(linux-next-20081022//drivers/scsi/scsi_ioctl.c:281): No description found for parameter 'ndelay' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 824877111cd7f2b4fd2fe6947c5c5cbbb3ac5bd8 Author: Jaswinder Singh Rajput Date: Sat Dec 27 18:32:28 2008 +0530 x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h Impact: cleanup Now that arch/x86/pci/pci.h is used in a number of other places as well, move the lowlevel x86 pci definitions into the architecture include files. (not to be confused with the existing arch/x86/include/asm/pci.h file, which provides public details about x86 PCI) Tested on: X86_32_UP, X86_32_SMP and X86_64_SMP Signed-off-by: Jaswinder Singh Rajput Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar commit c854c91979e0717c619bc55e124d41d60d5eb3d6 Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:38:09 2008 +0530 x86_64: pci-gart_64.c iommu_fullflush should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/pci-gart_64.c:55:5: warning: symbol 'iommu_fullflush' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit cbafbc826bf645f7fbbfbb2ff20138e5ccb4700e Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:36:40 2008 +0530 x86: efi.c declare add_efi_memmap before they get used Impact: cleanup, avoid sparse warning Fixes this sparse warning: arch/x86/kernel/efi.c:67:5: warning: symbol 'add_efi_memmap' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 7f3e632f9d8d234819bcdef7a68fc8b84f7d3d3d Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:34:35 2008 +0530 x86: io_apic.c io_apic_sync should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/io_apic.c:709:6: warning: symbol 'io_apic_sync' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit a1ae299dfb6ef219b296b61d1f222732391973b5 Author: Jaswinder Singh Rajput Date: Mon Dec 29 20:32:52 2008 +0530 x86: apic.c declare pic_mode before they get used Impact: cleanup, avoid sparse warning In asm/mpspec.h moved out pic_mode from CONFIG_X86_32 as it is common for both 32 and 64 bit. Fixes this sparse warning for x86_64: arch/x86/kernel/apic.c:128:5: warning: symbol 'pic_mode' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit c7e324f1bd17b25fcdca33bdad01cf6eb8be4933 Author: Robert Hancock Date: Wed Dec 24 19:06:06 2008 -0600 sata_sil: add Large Block Transfer support This implements support for the Large Block Transfer feature found in Silicon Image 311x controllers. This allows transferring bigger contiguous chunks of data from system memory and avoids the 64KB boundary restriction of standard SFF controllers. This is based on a patch from Jeff Garzik (from the sii-lbt branch of libata-dev) but includes a few bug fixes: Since the bmdma2 register does not implement the status bits, the original bmdma register must be used except where the bmdma2 register is required. As well the DMA boundary should be 31-bit instead of 32-bit since the top bit of the length field is still required for the PRD end-of-table flag. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 3c387730ef2639811306c631e820711a70b98c5d Author: Jiri Slaby Date: Wed Dec 10 14:07:22 2008 +0100 [libata] ata_piix: cleanup dmi strings checking Commit ATA: piix, fix pointer deref on suspend fixed a possible oops in an ugly manner. Use newly introduced dmi_match() to make the code pretty again. Signed-off-by: Jiri Slaby Cc: Alexandru Romanescu Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit d61c72e52b98411d1cfef1fdb3f5a8bb070f8966 Author: Jiri Slaby Date: Wed Dec 10 14:07:21 2008 +0100 DMI: add dmi_match Add a wrapper for testing system_info which will handle also NULL system infos. This will be used by the ata PIIX driver. Signed-off-by: Jiri Slaby Cc: Alexandru Romanescu Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 5ccfca974f3ce3c33be72f1fcb2b42747714ec79 Author: Lubomir Bulej Date: Mon Dec 22 11:35:22 2008 +0100 libata: blacklist NCQ on OCZ CORE 2 SSD (resend) The patchlet below blacklists NCQ on OCZ CORE v2 SSD drive(s). Even though the drive advertises NCQ support with queue depth 1, it responds with all-zeroes FIS to NCQ commands which triggers ata error handling several times before the kernel decides to disable NCQ on the drive. Signed-off-by: Lubomir Bulej Signed-off-by: Jeff Garzik commit 2f06de0671096e19350c9efe21cfdbc0891aab20 Author: Jaswinder Singh Rajput Date: Sat Dec 27 21:37:10 2008 +0530 x86: introducing asm/sys_ia32.h Impact: cleanup, avoid 44 sparse warnings, new file asm/sys_ia32.h Fixes following sparse warnings: CHECK arch/x86/ia32/sys_ia32.c arch/x86/ia32/sys_ia32.c:53:17: warning: symbol 'sys32_truncate64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:60:17: warning: symbol 'sys32_ftruncate64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:98:17: warning: symbol 'sys32_stat64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:109:17: warning: symbol 'sys32_lstat64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:119:17: warning: symbol 'sys32_fstat64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:128:17: warning: symbol 'sys32_fstatat' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:164:17: warning: symbol 'sys32_mmap' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:195:17: warning: symbol 'sys32_mprotect' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:201:17: warning: symbol 'sys32_pipe' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:215:17: warning: symbol 'sys32_rt_sigaction' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:291:17: warning: symbol 'sys32_sigaction' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:330:17: warning: symbol 'sys32_rt_sigprocmask' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:370:17: warning: symbol 'sys32_alarm' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:383:17: warning: symbol 'sys32_old_select' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:393:17: warning: symbol 'sys32_waitpid' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:401:17: warning: symbol 'sys32_sysfs' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:406:17: warning: symbol 'sys32_sched_rr_get_interval' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:421:17: warning: symbol 'sys32_rt_sigpending' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:445:17: warning: symbol 'sys32_rt_sigqueueinfo' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:472:17: warning: symbol 'sys32_sysctl' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:517:17: warning: symbol 'sys32_pread' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:524:17: warning: symbol 'sys32_pwrite' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:532:17: warning: symbol 'sys32_personality' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:545:17: warning: symbol 'sys32_sendfile' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:565:17: warning: symbol 'sys32_mmap2' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:589:17: warning: symbol 'sys32_olduname' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:626:6: warning: symbol 'sys32_uname' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:641:6: warning: symbol 'sys32_ustat' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:663:17: warning: symbol 'sys32_execve' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:678:17: warning: symbol 'sys32_clone' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:693:6: warning: symbol 'sys32_lseek' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:698:6: warning: symbol 'sys32_kill' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:703:6: warning: symbol 'sys32_fadvise64_64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:712:6: warning: symbol 'sys32_vm86_warning' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:726:6: warning: symbol 'sys32_lookup_dcookie' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:732:20: warning: symbol 'sys32_readahead' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:738:17: warning: symbol 'sys32_sync_file_range' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:746:17: warning: symbol 'sys32_fadvise64' was not declared. Should it be static? arch/x86/ia32/sys_ia32.c:753:17: warning: symbol 'sys32_fallocate' was not declared. Should it be static? CHECK arch/x86/ia32/ia32_signal.c arch/x86/ia32/ia32_signal.c:126:17: warning: symbol 'sys32_sigsuspend' was not declared. Should it be static? arch/x86/ia32/ia32_signal.c:141:17: warning: symbol 'sys32_sigaltstack' was not declared. Should it be static? arch/x86/ia32/ia32_signal.c:249:17: warning: symbol 'sys32_sigreturn' was not declared. Should it be static? arch/x86/ia32/ia32_signal.c:279:17: warning: symbol 'sys32_rt_sigreturn' was not declared. Should it be static? CHECK arch/x86/ia32/ipc32.c arch/x86/ia32/ipc32.c:12:17: warning: symbol 'sys32_ipc' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit c805b7300ed20ec4f10ea385988d6d3fa935b26c Author: Cyrill Gorcunov Date: Sat Dec 27 17:10:18 2008 +0300 x86: mach-default setup.c cleanups Impact: cleanup - Break long lines into shorter form. - Use pr_ macros instead of plain printk. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6092848a2a23b660150a38bc06f59d75838d70c8 Author: Sergio Luis Date: Sun Dec 28 04:12:26 2008 -0300 x86: mark get_cpu_leaves() with __cpuinit annotation Impact: fix section mismatch warning Commit b2bb85549134c005e997e5a7ed303bda6a1ae738 ("x86: Remove cpumask games in x86/kernel/cpu/intel_cacheinfo.c") introduced get_cpu_leaves(), which references __cpuinit cpuid4_cache_lookup(). Mark get_cpu_leaves() with a __cpuinit annotation. Signed-off-by: Sergio Luis Signed-off-by: Ingo Molnar commit 75329f1f0c0e2e2ad611734a2ef08309391a4d9f Merge: b6b301a... 3c92ec8... Author: Ingo Molnar Date: Mon Dec 29 13:09:40 2008 +0100 Merge branch 'linus' into x86/cleanups commit 43a256322ac1fc105c181b3cade3b9bfc0b63ca1 Author: Yinghai Lu Date: Sun Dec 28 16:01:13 2008 -0800 sparseirq: move __weak symbols into separate compilation unit GCC has a bug with __weak alias functions: if the functions are in the same compilation unit as their call site, GCC can decide to inline them - and thus rob the linker of the opportunity to override the weak alias with the real thing. So move all the IRQ handling related __weak symbols to kernel/irq/chip.c. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 198fc108ee4c2cd3f08954eae6a819c81c03214b Author: Eric Miao Date: Tue Dec 23 17:49:43 2008 +0800 [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices PXA27x and later processors support overlay1 and overlay2 on-top of the base framebuffer (although under-neath the base is also possible). They support palette and no-palette RGB formats, as well as YUV formats (only available on overlay2). These overlays have dedicated DMA channels and behave in a similar way as a framebuffer. This heavily simplified and re-structured work is based on the original pxafb_overlay.c (which is pending for mainline merge for a long time). The major problems with this pxafb_overlay.c are (if you are interested in the history): 1. heavily redundant (the control logics for overlay1 and overlay2 are actually identical except for some small operations, which are now abstracted into a 'pxafb_layer_ops' structure) 2. a lot of useless and un-tested code (two workarounds which are now fixed on mature silicons) 3. cursorfb is actually useless, hardware cursor should not be used this way, and the code was actually un-tested for a long time. The code in this patch should be self-explanatory, I tried to add minimum comments. As said, this is basically simplified, there are several things still on the pending list: 1. palette mode is un-supported and un-tested (although re-using the palette code of the base framebuffer is actually very easy now with previous clean-up patches) 2. fb_pan_display for overlay(s) is un-supported 3. the base framebuffer can actually be abstracted by 'pxafb_layer' as well, which will help further re-use of the code and keep a better and consistent structure. (This is the reason I named it 'pxafb_layer' instead of 'pxafb_overlay' or something alike) See Documentation/fb/pxafb.txt for additional usage information. Signed-off-by: Eric Miao Cc: Rodolfo Giometti Signed-off-by: Eric Miao commit 3f16ff608a75c8bf28c8cafed12e076d67a3602a Author: Eric Miao Date: Thu Dec 18 22:51:54 2008 +0800 [ARM] pxafb: cleanup of the timing checking code Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 878f5783199a95cfa91db45a6e34d2f72756fa18 Author: Eric Miao Date: Thu Dec 18 22:36:26 2008 +0800 [ARM] pxafb: cleanup of the color format manipulation code 1. introduce var_to_depth() to calculate the color depth including the transparency bit 2. the conversion from 'fb_var_screeninfo' to LCCR3 BPP bits can be re- used by overlays (in OVLxC1), thus an individual pxafb_var_to_bpp() has been separated out. 3. pxafb_setmode() should really set the color bitfields correctly at begining, introduce a pxafb_set_pixfmt() for this 4. allow user apps to specify color formats within fb_var_screeninfo, and checking of this in pxafb_check_var() has been simplified as below: a) pxafb_var_to_bpp() should pass - which means a basically correct bits_per_pixel and color depth setting b) the RGBT bitfields are then forced into supported values by pxafb_set_pixfmt() Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit a0427509a76c61984fbba4e206b617c689f419ef Author: Eric Miao Date: Thu Dec 18 22:10:00 2008 +0800 [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3 Add the palette format support for LCCR4_PAL_FOR_3, and fix the issue of LCCR4 being never assigned. Also remove the useless pxafb_set_truecolor(). Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 6e354846e807e037751fdc8faaee8ad492177113 Author: Eric Miao Date: Wed Dec 17 16:50:43 2008 +0800 [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching dma branching is enabled by extending the current setup_frame_dma() function to allow a 2nd set of frame/palette dma descriptors to be used. As a result, pxafb_dma_buff.dma_desc[], pxafb_dma_buff.pal_desc[] and pxafb_info.fdadr[] are doubled. This allows maximum re-use of the current dma setup code, although the pxafb_info.fdadr[xx] for FBRx register values looks a bit odd. Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 7e4b19c95c8632b543bd510ec6c710bebb53b840 Author: Eric Miao Date: Wed Dec 17 14:56:54 2008 +0800 [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset Note the var->yres_virtual is only re-calculated from the fix.smem_len when text mode acceleration is enabled (which is default), this is due to the issue as Russell suggested below: Previous experience of doing this with the X server and acornfb is that it causes all sorts of problems - it seems to force the X server into assuming that the framebuffer should be panned no matter what settings you ask it for. The recommended workaround (implemented in acornfb) is to only do these kinds of adjustments if text mode acceleration is enabled. IIRC, the X server should be disabling text mode acceleration when it maps the framebuffer. I seem to remember that there are X servers which forget to do that though. Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 77e196752bdd76a0c58ab082658d28c6a90fa40e Author: Eric Miao Date: Tue Dec 16 11:54:34 2008 +0800 [ARM] pxafb: allow video memory size to be configurable The amount of video memory size is decided according to the following order: 1. x x by default, which is the backward compatible way 2. size specified in platform data 3. size specified in module parameter 'options' string or specified in kernel boot command line (see updated Documentation/fb/pxafb.txt) And now since the memory is allocated from system memory, the pxafb_mmap can be removed and the default fb_mmap() should be working all right. Also, since we now have introduced the 'struct pxafb_dma_buff' for DMA descriptors and palettes, the allocation can be separated cleanly. NOTE: the LCD DMA actually supports chained transfer (i.e. page-based transfers), to simplify the logic and keep the performance (with less TLB misses when accessing from memory mapped user space), the memory is allocated by alloc_pages_*() to ensures it's physical contiguous. Signed-off-by: Eric Miao Signed-off-by: Eric Miao commit 5bfb4093be6ac7b6c06c8e6461d85241654acc61 Author: Eric Miao Date: Thu Dec 25 17:19:02 2008 +0800 [ARM] pxa: add document on the MFP design and how to use it Signed-off-by: Eric Miao commit 28a623855f737a905b90a1616107ad813bfcd6e9 Author: Eric Miao Date: Wed Dec 24 11:32:45 2008 +0800 [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constant See description of commit: [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant for additional information. Signed-off-by: Eric Miao commit 6769717d5d51596618f6b143008d8ace11ec8a69 Author: Eric Miao Date: Thu Dec 18 11:10:32 2008 +0800 [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant As Nicolas and Russell pointed out, CLOCK_TICK_RATE is no more a constant on PXA when multiple processors and platforms are selected, change TIMER_FREQ in rtc-sa1100.c into a variable. Since the code to decide the clock tick rate is re-used from timer.c, introduce a common get_clock_tick_rate() for this. Signed-off-by: Eric Miao Acked-by: Nicolas Pitre commit 9f1442bbf9fd68d8e190c91ab294131dd5c289ee Author: Eric Miao Date: Sun Dec 28 00:40:29 2008 +0800 [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad) Signed-off-by: Eric Miao commit 3c506efd7e0f615bd9603ce8c06bc4a896952599 Merge: fd37617... 773ff60... Author: Pekka Enberg Date: Mon Dec 29 11:47:05 2008 +0200 Merge branch 'topic/failslab' into for-linus Conflicts: mm/slub.c Signed-off-by: Pekka Enberg commit fd37617e69fb865348d012eb1413aef0141ae2de Merge: 7b8f3b6... 9f6c708e... 249da16... Author: Pekka Enberg Date: Mon Dec 29 11:45:47 2008 +0200 Merge branches 'topic/fixes', 'topic/cleanups' and 'topic/documentation' into for-linus commit 7b8f3b66d9d7e5f021ae535620b9b52833f4876e Author: David Rientjes Date: Wed Dec 17 22:09:46 2008 -0800 slub: avoid leaking caches or refcounts on sysfs error If a slab cache is mergeable and the sysfs alias cannot be added, the target cache shall have its refcount decremented. kmem_cache_create() will return NULL, so if kmem_cache_destroy() is ever called on the target cache, it will never be freed if the refcount has been leaked. Likewise, if a slab cache is not mergeable and the sysfs link cannot be added, the new cache shall be removed from the slab_caches list. kmem_cache_create() will return NULL, so it will be impossible to call kmem_cache_destroy() on it. Both of these operations require slub_lock since refcount of all slab caches and slab_caches are protected by the lock. In the mergeable case, it would be better to restore objsize and offset back to their original values, but this could race with another merge since slub_lock was dropped. Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit dfcd3610289132a762b7dc0eaf33998262cd9e20 Author: Pascal Terjan Date: Tue Nov 25 15:08:19 2008 +0100 slab: Fix comment on #endif This #endif in slab.h is described as closing the inner block while it's for the big CONFIG_NUMA one. That makes reading the code a bit harder. This trivial patch fixes the comment. Signed-off-by: Pascal Terjan Signed-off-by: Pekka Enberg commit 8759ec50a6cad7ca5a6d63e657d25b85ab5ba44a Author: Pekka Enberg Date: Wed Nov 26 10:01:31 2008 +0200 slab: remove GFP_THISNODE clearing from alloc_slabmgmt() Commit 6cb062296f73e74768cca2f3eaf90deac54de02d ("Categorize GFP flags") left one call-site in alloc_slabmgmt() to clear GFP_THISNODE instead of GFP_CONSTRAINT_MASK. Unfortunately, that ends up clearing __GFP_NOWARN and __GFP_NORETRY as well which is not what we want. As the only caller of alloc_slabmgmt() already clears GFP_CONSTRAINT_MASK before passing local_flags to it, we can just remove the clearing of GFP_THISNODE. This patch should fix spurious page allocation failure warnings on the mempool_alloc() path. See the following URL for the original discussion of the bug: http://lkml.org/lkml/2008/10/27/100 Acked-by: Christoph Lameter Reported-by: Miklos Szeredi Signed-off-by: Pekka Enberg commit 89124d706db0aa95daacfa4c0df45a43a44d44f4 Author: OGAWA Hirofumi Date: Wed Nov 19 21:23:59 2008 +0900 slub: Add might_sleep_if() to slab_alloc() Currently SLUB doesn't warn about __GFP_WAIT. Add it into slab_alloc(). Acked-by: Christoph Lameter Signed-off-by: OGAWA Hirofumi Signed-off-by: Pekka Enberg commit 773ff60e841461cb1f9374a713ffcda029b8c317 Author: Akinobu Mita Date: Tue Dec 23 19:37:01 2008 +0900 SLUB: failslab support Currently fault-injection capability for SLAB allocator is only available to SLAB. This patch makes it available to SLUB, too. [penberg@cs.helsinki.fi: unify slab and slub implementations] Cc: Christoph Lameter Cc: Matt Mackall Signed-off-by: Akinobu Mita Signed-off-by: Pekka Enberg commit aa5966296675a5092505f68d72563d5939a92353 Author: Dave Airlie Date: Mon Dec 29 16:35:02 2008 +1000 drm/i915: fix modeset devname allocation + agp init return check. devname needs to be allocated before the irq is installed, so the irq routines get the correct name in /proc. Also check the return value from the AGP init function, and fixup the exit points. Signed-off-by: Dave Airlie commit aad87dff5acb232666932e750318ec1fdb716e79 Author: Julia Lawall Date: Sun Dec 21 16:28:47 2008 +0100 drm/i915: Remove redundant test in error path. The error path for object list being null is in the second goto target. Signed-off-by: Julia Lawall Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit fede5c91c4a8a7701d205b2b84b9835ddc7d6f02 Author: Eric Anholt Date: Fri Dec 19 17:23:38 2008 -0800 drm: Add a debug node for vblank state. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f51c5b6e623cc737d47f513cbb893cec914f0bd2 Author: Eric Anholt Date: Fri Dec 19 15:07:11 2008 -0800 drm: Avoid use-before-null-test on dev in drm_cleanup(). Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f1acec933848219c402c165686677b1c307407f8 Author: Eric Anholt Date: Fri Dec 19 14:47:48 2008 -0800 drm/i915: Don't print to dmesg when taking signal during object_pin. This showed up in logs where people had a hung chip, so pinning was blocked on the chip unpinning other buffers, and the X Server took its scheduler signal during that time. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 3c4fdcfb2941dc36b6a16bc509a2adb97c131716 Author: Kristian Høgsberg Date: Wed Dec 17 22:14:46 2008 -0500 drm: pin new and unpin old buffer when setting a mode. This removes the requirement for user space to pin a buffer before setting a mode that is backed by the pixels from that buffer. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit d1e22c6ed05f3bfb3a7de0947498e7f3c868b296 Author: Hannes Eder Date: Fri Dec 19 12:34:27 2008 +0100 drm/i915: un-EXPORT and make 'intelfb_panic' static Fix this sparse warning: drivers/gpu/drm/i915/intel_fb.c:417:5: warning: symbol 'intelfb_panic' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit bae7ec657305def791a946f5d791054c48a5f081 Author: Eric Anholt Date: Fri Dec 19 14:30:31 2008 -0800 drm/i915: Delete unused, pointless i915_driver_firstopen. Thanks to Hannes Eder for pointing out that this code was dead according to sparse. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit d4da3af667d251cc853d1873a1fad4db6daabf5f Author: Hannes Eder Date: Thu Dec 18 21:24:18 2008 +0100 drm/i915: fix sparse warnings: returning void-valued expression Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 606df4e024bc8e921dd516cdb7160250658d9b7a Author: Hannes Eder Date: Thu Dec 18 21:22:24 2008 +0100 drm/i915: fix sparse warnings: move 'extern' decls to header file Move 'extern'-decls from "intel_dvo.c" to "dvo.h", as "dvo.h" is included by and only by files where the symbols are either defined or used. Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit b358d0a6252d8ed16afb20caaec35b24c76074bb Author: Hannes Eder Date: Thu Dec 18 21:18:47 2008 +0100 drm/i915: fix sparse warnings: make symbols static Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 95281e352e19b670458563a5ca746195c183a98f Author: Hannes Eder Date: Thu Dec 18 15:09:00 2008 +0100 drm/i915: fix sparse warnings: declare one-bit bitfield as unsigned Signed-off-by: Hannes Eder Signed-off-by: Eric Anholt Acked-by: Jesse Barnes Signed-off-by: Dave Airlie commit b117763627ef4d24086801dd5f74c9eb2f487790 Author: Eric Anholt Date: Wed Dec 10 10:09:41 2008 -0800 drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). We haven't seen this in practice, but it was visible when looking at a bug report from when i915_gem_evict_everything() was broken and would always return error. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit e7da40f0c89c10ad3cbb63b754abaf6c3e792f79 Author: Eric Anholt Date: Wed Dec 10 17:23:00 2008 -0800 drm/i915: Fix fbcon setup to align display pitch to 64b. This is required by the display plane, and fixes 1400x1050 laptop displays. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 8d391aa410ecb230fc4c3147b94eec25b9f3c20f Author: Eric Anholt Date: Wed Dec 17 22:32:14 2008 -0800 drm/i915: Add missing userland definitions for gem init/execbuffer. fdo bug #19132. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit dfef24592257805af0bee42dced099459c68a307 Author: Dave Airlie Date: Fri Dec 19 15:07:46 2008 +1000 i915/drm: provide compat defines for userspace for certain struct members. Painfully userspace started using new names that were never actually to be used from the external repo. Also fill out the gaps in the structure for old/new userspace compat Add compat defines for these structs. Signed-off-by: Dave Airlie commit 0c7c26647579e9e647e8b969bb0e7b3f5f1a1492 Author: Kristian H�gsberg Date: Thu Dec 18 13:14:37 2008 +1000 drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well. The replace fb ioctl replaces the backing buffer object for a modesetting framebuffer object. This can be acheived by just creating a new framebuffer backed by the new buffer object, setting that for the crtcs in question and then removing the old framebuffer object. Signed-off-by: Kristian Hogsberg Acked-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit e0c8463a8b00b467611607df0ff369d062528875 Author: Jakob Bornecrantz Date: Fri Dec 19 14:50:50 2008 +1000 drm: sanitise drm modesetting API + remove unused hotplug The initially merged modesetting API has some uglies in it, this cleans up the struct members and ioctl ordering for initial submission. It also removes the unneeded hotplug infrastructure. airlied:- I've pulled this patch in from git modesetting-gem tree. Signed-off-by: Dave Airlie commit df989374a9f5356ee815baa1ba6916671a701da2 Author: Dave Airlie Date: Fri Dec 19 12:00:46 2008 +1100 drm: fix allowing master ioctls on non-master fds. The multi-master patches changed master to a pointer, and this fell out, change to use is_master. Signed-off-by: Dave Airlie commit 4e74f36d08e83390121d088f1f62e3337603df89 Author: Dave Airlie Date: Fri Dec 19 10:23:14 2008 +1100 drm/radeon: use locked rmmap to remove sarea mapping. this exports the locked version of the symbol as struct_mutex locks it all. Signed-off-by: Dave Airlie commit 60f2ee0b4a6b852299d8e30aeb2af517ef5ee19c Author: Dave Airlie Date: Fri Dec 19 10:22:02 2008 +1100 drm/radeon: fix missing hunk from the master changes. Thanks to Bartlomiej Zolnierkiewicz for reporting this. Signed-off-by: Dave Airlie commit f890607b1e93dc6fdc2a42b60656c917adf6257f Author: Dave Airlie Date: Thu Dec 18 16:59:02 2008 +1000 drm: fix useless gcc unused variable warning the calling function doesn't call this function unless one of the two states that sets the value is true. Signed-off-by: Dave Airlie commit bdf539ad61a8d4d0f0b0865c030a8ecb1ec2a398 Author: Dave Airlie Date: Thu Dec 18 16:56:11 2008 +1000 drm/radeon: fix warning due to PAGE_SIZE max Signed-off-by: Dave Airlie commit 57a6297e52b32ff402291a7d8fd802f83e746e52 Author: Dave Airlie Date: Sat Dec 13 18:21:08 2008 +1000 drm: kconfig have drm core select i2c for kms Signed-off-by: Dave Airlie commit ae14dc0505261978ca06075ac39cc5422c6c6b57 Author: Dave Airlie Date: Thu Dec 11 17:06:35 2008 +1000 drm: PAGE_CACHE_WC is x86 only so far The page protections need to be checked whether they need to be more flexible. Signed-off-by: Dave Airlie commit aa91c6665a5e387e488c4a0b5da2536cc9c9f16e Author: Dave Airlie Date: Mon Dec 8 14:55:27 2008 +1000 drm: pick an 800x600@60HZ mode by default for unknown CRT. This is what X picks now, so we should do the same. Signed-off-by: Dave Airlie commit 60fd99e3682c5acc74d58ed61dac93526d6976f7 Author: Eric Anholt Date: Wed Dec 3 22:50:02 2008 -0800 drm/i915: Fix stolen memory detection on G45 and GM45. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 06d9f33ceb6be29c453915505a2fc88d80c36417 Author: Eric Anholt Date: Wed Dec 3 22:43:14 2008 -0800 drm/i915: Register module dependencies for the modesetting code. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 79e539453b34e35f39299a899d263b0a1f1670bd Author: Jesse Barnes Date: Fri Nov 7 14:24:08 2008 -0800 DRM: i915: add mode setting support This commit adds i915 driver support for the DRM mode setting APIs. Currently, VGA, LVDS, SDVO DVI & VGA, TV and DVO LVDS outputs are supported. HDMI, DisplayPort and additional SDVO output support will follow. Support for the mode setting code is controlled by the new 'modeset' module option. A new config option, CONFIG_DRM_I915_KMS controls the default behavior, and whether a PCI ID list is built into the module for use by user level module utilities. Note that if mode setting is enabled, user level drivers that access display registers directly or that don't use the kernel graphics memory manager will likely corrupt kernel graphics memory, disrupt output configuration (possibly leading to hangs and/or blank displays), and prevent panic/oops messages from appearing. So use caution when enabling this code; be sure your user level code supports the new interfaces. A new SysRq key, 'g', provides emergency support for switching back to the kernel's framebuffer console; which is useful for testing. Co-authors: Dave Airlie , Hong Liu Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit f453ba0460742ad027ae0c4c7d61e62817b3e7ef Author: Dave Airlie Date: Fri Nov 7 14:05:41 2008 -0800 DRM: add mode setting support Add mode setting support to the DRM layer. This is a fairly big chunk of work that allows DRM drivers to provide full output control and configuration capabilities to userspace. It was motivated by several factors: - the fb layer's APIs aren't suited for anything but simple configurations - coordination between the fb layer, DRM layer, and various userspace drivers is poor to non-existent (radeonfb excepted) - user level mode setting drivers makes displaying panic & oops messages more difficult - suspend/resume of graphics state is possible in many more configurations with kernel level support This commit just adds the core DRM part of the mode setting APIs. Driver specific commits using these new structure and APIs will follow. Co-authors: Jesse Barnes , Jakob Bornecrantz Contributors: Alan Hourihane , Maarten Maathuis Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit de151cf67ce52ed2d88083daa5e60c7858947329 Author: Jesse Barnes Date: Wed Nov 12 10:03:55 2008 -0800 drm/i915: add GEM GTT mapping support Use the new core GEM object mapping code to allow GTT mapping of GEM objects on i915. The fault handler will make sure a fence register is allocated too, if the object in question is tiled. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a2c0a97b784f837300f7b0869c82ab712c600952 Author: Jesse Barnes Date: Wed Nov 5 10:31:53 2008 -0800 drm: GEM mmap support Add core support for mapping of GEM objects. Drivers should provide a vm_operations_struct if they want to support page faulting of objects. The code for handling GEM object offsets was taken from TTM, which was written by Thomas Hellström. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a9587470f753d670d910293ecbf1c7b66c99de50 Author: Eric Anholt Date: Wed Nov 5 12:37:42 2008 -0800 drm/i915: Add /proc debugging entry for reading out the HWS. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a9d51a5ad1154b5b20add1e8d30a5564f8aabbe9 Author: Dave Airlie Date: Sun Dec 7 12:02:21 2008 +1000 drm: reorganise start and load. Make sure we have the primary node so the device can add maps. Signed-off-by: Dave Airlie commit 1147c9cdd0f60f09a98702a9f865176af18a989f Author: Vegard Nossum Date: Tue Dec 2 13:38:47 2008 +1000 drm: fix leak of uninitialized data to userspace ...so drm_getunique() is trying to copy some uninitialized data to userspace. The ECX register contains the number of words that are left to copy -- so there are 5 * 4 = 20 bytes left. The offset of the first uninitialized byte (counting from the start of the string) is also 20 (i.e. 0xf65d2294&((1 << 5)-1) == 20). So somebody tried to copy 40 bytes when the string was only 19 long. In drm_set_busid() we have this code: dev->unique_len = 40; dev->unique = drm_alloc(dev->unique_len + 1, DRM_MEM_DRIVER); ... len = snprintf(dev->unique, dev->unique_len, pci:%04x:%02x:%02x.%d", ...so it seems that dev->unique is never updated to reflect the actual length of the string. The remaining bytes (20 in this case) are random uninitialized bytes that are copied into userspace. This patch fixes the problem by setting dev->unique_len after the snprintf(). airlied- I've had to fix this up to store the alloced size so we have it for drm_free later. Reported-by: Sitsofe Wheeler Signed-off-by: Vegard Nossum Signed-off-by: Dave Airlie commit 7c1c2871a6a3a114853ec6836e9035ac1c0c7f7a Author: Dave Airlie Date: Fri Nov 28 14:22:24 2008 +1000 drm: move to kref per-master structures. This is step one towards having multiple masters sharing a drm device in order to get fast-user-switching to work. It splits out the information associated with the drm master into a separate kref counted structure, and allocates this when a master opens the device node. It also allows the current master to abdicate (say while VT switched), and a new master to take over the hardware. It moves the Intel and radeon drivers to using the sarea from within the new master structures. Signed-off-by: Dave Airlie commit e7f7ab45ebcb54fd5f814ea15ea079e079662f67 Author: Dave Airlie Date: Fri Nov 28 13:43:47 2008 +1000 drm: cleanup exit path for module unload The current sub-module unload exit path is a mess, it tries to abuse the idr. Just keep a list of devices per driver struct and free them in-order on rmmod. Signed-off-by: Dave Airlie commit d3f761104b097738932afcc310fbbbbfb007ef92 Author: Jens Axboe Date: Tue Dec 23 12:46:21 2008 +0100 bio: get rid of bio_vec clearing We don't need to clear the memory used for adding bio_vec entries, since nobody should be looking at members unitialized. Any valid use should be below bio->bi_vcnt, and that members up until that count must be valid since they were added through bio_add_page(). Signed-off-by: Jens Axboe commit f735b5eeb9fcbb001e0cf2a5296b19c4bbaec55f Author: Jens Axboe Date: Tue Dec 23 12:44:19 2008 +0100 bounce: don't rely on a zeroed bio_vec list __blk_queue_bounce() relies on a zeroed bio_vec list, since it looks up arbitrary indexes in the allocated bio. The block layer only guarentees that added entries are valid, so clear memory after alloc. Signed-off-by: Jens Axboe commit a0ea8622918019ed76c0b85f5d0247809ba05a7c Author: Stephen M. Cameron Date: Thu Dec 18 14:55:51 2008 +0100 cciss: simplify parameters to deregister_disk function Simplify parameters to deregister_disk function. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 62c1fe9d9f0a676fce89185b1513f0e5f473c72c Author: Jens Axboe Date: Mon Dec 15 21:19:25 2008 +0100 cfq-iosched: fix race between exiting queue and exiting task Original patch from Nikanth Karthikesan When a queue exits the queue lock is taken and cfq_exit_queue() would free all the cic's associated with the queue. But when a task exits, cfq_exit_io_context() gets cic one by one and then locks the associated queue to call __cfq_exit_single_io_context. It looks like between getting a cic from the ioc and locking the queue, the queue might have exited on another cpu. Fix this by rechecking the cfq_io_context queue key inside the queue lock again, and not calling into __cfq_exit_single_io_context() if somebody beat us to it. Signed-off-by: Jens Axboe commit 8ae30b895805a6e2bb725b1d78b12daabd7eadfe Author: Milan Broz Date: Fri Dec 12 14:50:49 2008 +0100 loop: Do not call loop_unplug for not configured loop device. In loop_unplug() function is expected that mapping is set and lo->lo_backing_file is not NULL. Unfortunately loop_set_fd() set the request queue unplug function, but loop_clr_fd() doesn't clear that. Loop device allows open of non-configured loop in some situations. If the unplug on request queue is called, loop module oopses because of missing lo_backing_file. Simple reproducer: losetup /dev/loop0 /xxx losetup -d /dev/loop0 dmsetup create x --table "0 1 linear /dev/loop0 0" EIP is at loop_unplug+0x1d/0x3b ... Call Trace: blk_unplug+0x57/0x5e dm_table_unplug_all+0x34/0x77 [dm_mod] destroy_inode+0x27/0x38 generic_delete_inode+0xd5/0xd9 iput+0x4b/0x4e dm_resume+0xca/0xfe [dm_mod] dev_suspend+0x143/0x165 [dm_mod] dm_ctl_ioctl+0x18e/0x1cf [dm_mod] dev_suspend+0x0/0x165 [dm_mod] dm_ctl_ioctl+0x0/0x1cf [dm_mod] vfs_ioctl+0x22/0x69 do_vfs_ioctl+0x39d/0x3c7 trace_hardirqs_on+0xb/0xd remove_vma+0x50/0x56 do_munmap+0x21c/0x237 sys_ioctl+0x2c/0x45 sysenter_do_call+0x12/0x31 Several reports here http://www.kerneloops.org/search.php?search=loop_unplug Fix it by simply clear unplug function together with removing of backing file. Signed-off-by: Milan Broz Signed-off-by: Jens Axboe commit 14f2793958bd7878db2dc0309ed4525d6b7f1b72 Author: Milan Broz Date: Fri Dec 12 14:48:27 2008 +0100 loop: Flush possible running bios when loop device is released. When there are still queued bios and reference count drops to zero, loop device must flush all queued bios. Otherwise it can lead to situation that caller closes the device, but some bios are still running and endio() function call later OOpses when uses unallocated mempool. This happens for example when running dm-crypt over loop, here is typical oops backtrace: Oops: 0000 [#1] PREEMPT SMP EIP is at mempool_free+0x12/0x6b ... crypt_dec_pending+0x50/0x54 [dm_crypt] crypt_endio+0x9f/0xa7 [dm_crypt] crypt_endio+0x0/0xa7 [dm_crypt] bio_endio+0x2b/0x2e loop_thread+0x37a/0x3b1 do_lo_send_aops+0x0/0x165 autoremove_wake_function+0x0/0x33 loop_thread+0x0/0x3b1 kthread+0x3b/0x61 kthread+0x0/0x61 kernel_thread_helper+0x7/0x10 (But crash is reproducible with different dm targets running over loop device too.) Patch fixes it by flushing the bios in release call, reusing the flush mechanism for switching backing store. Signed-off-by: Milan Broz Signed-off-by: Jens Axboe commit 10e5b64415ae9a0ba81dd1f1036d14dfdae9308c Author: FUJITA Tomonori Date: Fri Dec 12 09:52:35 2008 +0100 alpha: remove dead BIO_VMERGE_BOUNDARY The block layer dropped the virtual merge feature (b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5). BIO_VMERGE_BOUNDARY definition is meaningless now. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Jens Axboe commit b3a6ffe16b5cc48abe7db8d04882dc45280eb693 Author: Jens Axboe Date: Fri Dec 12 09:51:16 2008 +0100 Get rid of CONFIG_LSF We have two seperate config entries for large devices/files. One is CONFIG_LBD that guards just the devices, the other is CONFIG_LSF that handles large files. This doesn't make a lot of sense, you typically want both or none. So get rid of CONFIG_LSF and change CONFIG_LBD wording to indicate that it covers both. Acked-by: Jean Delvare Signed-off-by: Jens Axboe commit 3c18ce71af754cefae75103dbae28817e04b2db4 Author: Roel Kluin Date: Wed Dec 10 15:47:33 2008 +0100 block: make blk_softirq_init() static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Jens Axboe commit 18af8b2ca34b831c32c6fa01e7ce33143c33bb63 Author: FUJITA Tomonori Date: Thu Dec 4 08:56:35 2008 +0100 block: use min_not_zero in blk_queue_stack_limits zero is invalid for max_phys_segments, max_hw_segments, and max_segment_size. It's better to use use min_not_zero instead of min. min() works though (because the commit 0e435ac makes sure that these values are set to the default values, non zero, if a queue is initialized properly). With this patch, blk_queue_stack_limits does the almost same thing that dm's combine_restrictions_low() does. I think that it's easy to remove dm's combine_restrictions_low. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit a6f23657d3072bde6844055bbc2290e497f33fbc Author: Jens Axboe Date: Fri Oct 24 12:52:42 2008 +0200 block: add one-hit cache for disk partition lookup disk_map_sector_rcu() returns a partition from a sector offset, which we use for IO statistics on a per-partition basis. The lookup itself is an O(N) list lookup, where N is the number of partitions. This actually hurts performance quite a bit, even on the lower end partitions. On higher numbered partitions, it can get pretty bad. Solve this by adding a one-hit cache for partition lookup. This makes the lookup O(1) for the case where we do most IO to one partition. Even for mixed partition workloads, amortized cost is pretty close to O(1) since the natural IO batching makes the one-hit cache last for lots of IOs. Signed-off-by: Jens Axboe commit 30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec Author: Jens Axboe Date: Mon Oct 20 15:44:28 2008 +0200 cfq-iosched: remove limit of dispatch depth of max 4 times quantum This basically limits the hardware queue depth to 4*quantum at any point in time, which is 16 with the default settings. As CFQ uses other means to shrink the hardware queue when necessary in the first place, there's really no need for this extra heuristic. Additionally, it ends up hurting performance in some cases. Signed-off-by: Jens Axboe commit 31dcfab0ae6eb0340d456931df4d478e17efc65d Author: Jens Axboe Date: Fri Oct 31 10:06:37 2008 +0100 nbd: tell the block layer that it is not a rotational device Then we can get rid of that manual elevator type fiddling. Signed-off-by: Jens Axboe commit b374d18a4bfce705e4a99ae9f501b53e86ecb283 Author: Jens Axboe Date: Fri Oct 31 10:05:07 2008 +0100 block: get rid of elevator_t typedef Just use struct elevator_queue everywhere instead. Signed-off-by: Jens Axboe commit abf137dd7712132ee56d5b3143c2ff61a72a5faa Author: Jens Axboe Date: Tue Dec 9 08:11:22 2008 +0100 aio: make the lookup_ioctx() lockless The mm->ioctx_list is currently protected by a reader-writer lock, so we always grab that lock on the read side for doing ioctx lookups. As the workload is extremely reader biased, turn this into an rcu hlist so we can make lookup_ioctx() lockless. Get rid of the rwlock and use a spinlock for providing update side exclusion. There's usually only 1 entry on this list, so it doesn't make sense to look into fancier data structures. Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit 392ddc32982a5c661dd90dd49a3cb37f1c68b782 Author: Jens Axboe Date: Tue Dec 23 12:42:54 2008 +0100 bio: add support for inlining a number of bio_vecs inside the bio When we go and allocate a bio for IO, we actually do two allocations. One for the bio itself, and one for the bi_io_vec that holds the actual pages we are interested in. This feature inlines a definable amount of io vecs inside the bio itself, so we eliminate the bio_vec array allocation for IO's up to a certain size. It defaults to 4 vecs, which is typically 16k of IO. Signed-off-by: Jens Axboe commit bb799ca0202a360fa74d5f17039b9100caebdde7 Author: Jens Axboe Date: Wed Dec 10 15:35:05 2008 +0100 bio: allow individual slabs in the bio_set Instead of having a global bio slab cache, add a reference to one in each bio_set that is created. This allows for personalized slabs in each bio_set, so that they can have bios of different sizes. This means we can personalize the bios we return. File systems may want to embed the bio inside another structure, to avoid allocation more items (and stuffing them in ->bi_private) after the get a bio. Or we may want to embed a number of bio_vecs directly at the end of a bio, to avoid doing two allocations to return a bio. This is now possible. Signed-off-by: Jens Axboe commit 1b4344986926da324b5cd10b683e5a1a5e1b7db3 Author: Jens Axboe Date: Wed Oct 22 20:32:58 2008 +0200 bio: move the slab pointer inside the bio_set In preparation for adding differently sized bios. Signed-off-by: Jens Axboe commit 7ff9345ffac56743b5001561bc2dc1e041b79149 Author: Jens Axboe Date: Thu Dec 11 11:53:43 2008 +0100 bio: only mempool back the largest bio_vec slab cache We only very rarely need the mempool backing, so it makes sense to get rid of all but one of the mempool in a bio_set. So keep the largest bio_vec count mempool so we can always honor the largest allocation, and "upgrade" callers that fail. Signed-off-by: Jens Axboe commit a31a97381cdf7dceb03b797a8faf9bc8a01c65d1 Author: Jens Axboe Date: Fri Oct 17 13:58:29 2008 +0200 block: don't use plugging on SSD devices We just want to hand the first bits of IO to the device as fast as possible. Gains a few percent on the IOPS rate. Signed-off-by: Jens Axboe commit a185eb4bc84155fff35b602ce99602c010de9634 Author: Tejun Heo Date: Fri Nov 28 13:32:07 2008 +0900 block: fix empty barrier on write-through w/ ordered tag Empty barrier on write-through (or no cache) w/ ordered tag has no command to execute and without any command to execute ordered tag is never issued to the device and the ordering is never achieved. Force draining for such cases. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 58eea927d2de43dc6f03d1ba2c46e55854b31540 Author: Tejun Heo Date: Fri Nov 28 13:32:06 2008 +0900 block: simplify empty barrier implementation Empty barrier required special handling in __elv_next_request() to complete it without letting the low level driver see it. With previous changes, barrier code is now flexible enough to skip the BAR step using the same barrier sequence selection mechanism. Drop the special handling and mask off q->ordered from start_ordered(). Remove blk_empty_barrier() test which now has no user. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 8f11b3e99a1136fcbb67316c3260f085299c0bff Author: Tejun Heo Date: Fri Nov 28 13:32:05 2008 +0900 block: make barrier completion more robust Barrier completion had the following assumptions. * start_ordered() couldn't finish the whole sequence properly. If all actions are to be skipped, q->ordseq is set correctly but the actual completion was never triggered thus hanging the barrier request. * Drain completion in elv_complete_request() assumed that there's always at least one request in the queue when drain completes. Both assumptions are true but these assumptions need to be removed to improve empty barrier implementation. This patch makes the following changes. * Make start_ordered() use blk_ordered_complete_seq() to mark skipped steps complete and notify __elv_next_request() that it should fetch the next request if the whole barrier has completed inside start_ordered(). * Make drain completion path in elv_complete_request() check whether the queue is empty. Empty queue also indicates drain completion. * While at it, convert 0/1 return from blk_do_ordered() to false/true. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f671620e7d895af221bdfeda751d54fa55ed9546 Author: Tejun Heo Date: Fri Nov 28 13:32:04 2008 +0900 block: make every barrier action optional In all barrier sequences, the barrier write itself was always assumed to be issued and thus didn't have corresponding control flag. This patch adds QUEUE_ORDERED_DO_BAR and unify action mask handling in start_ordered() such that any barrier action can be skipped. This patch doesn't introduce any visible behavior changes. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit a7384677b2f4cd40948fd7ce024ba5e1821444ba Author: Tejun Heo Date: Fri Nov 28 13:32:03 2008 +0900 block: remove duplicate or unused barrier/discard error paths * Because barrier mode can be changed dynamically, whether barrier is supported or not can be determined only when actually issuing the barrier and there is no point in checking it earlier. Drop barrier support check in generic_make_request() and __make_request(), and update comment around the support check in blk_do_ordered(). * There is no reason to check discard support in both generic_make_request() and __make_request(). Drop the check in __make_request(). While at it, move error action block to the end of the function and add unlikely() to q existence test. * Barrier request, be it empty or not, is never passed to low level driver and thus it's meaningless to try to copy back req->sector to bio->bi_sector on error. In addition, the notion of failed sector doesn't make any sense for empty barrier to begin with. Drop the code block from __end_that_request_first(). Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 313e42999dbc0f234ca5909a236f78f082cb43b1 Author: Tejun Heo Date: Fri Nov 28 13:32:02 2008 +0900 block: reorganize QUEUE_ORDERED_* constants Separate out ordering type (drain,) and action masks (preflush, postflush, fua) from visible ordering mode selectors (QUEUE_ORDERED_*). Ordering types are now named QUEUE_ORDERED_BY_* while action masks are named QUEUE_ORDERED_DO_*. This change is necessary to add QUEUE_ORDERED_DO_BAR and make it optional to improve empty barrier implementation. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit ba744d5e290055d171c68067259fcc1e2721f542 Author: Richard Kennedy Date: Wed Dec 3 12:41:40 2008 +0100 block: reorder struct bio to remove padding on 64bit Remove 8 bytes of padding from struct bio which also removes 16 bytes from struct bio_pair to make it 248 bytes. bio_pair then fits into one fewer cache lines & into a smaller slab. Signed-off-by: Richard Kennedy Signed-off-by: Jens Axboe commit 64d01dc9e1927e6535627d73f2336c75d1dd3fe2 Author: Cheng Renquan Date: Wed Dec 3 12:41:39 2008 +0100 block: use cancel_work_sync() instead of kblockd_flush_work() After many improvements on kblockd_flush_work, it is now identical to cancel_work_sync, so a direct call to cancel_work_sync is suggested. The only difference is that cancel_work_sync is a GPL symbol, so no non-GPL modules anymore. Signed-off-by: Cheng Renquan Cc: Jens Axboe Signed-off-by: Jens Axboe commit 08bafc0341f2f7920e9045bc32c40299cac8c21b Author: Keith Mannthey Date: Tue Nov 25 10:24:35 2008 +0100 block: Supress Buffer I/O errors when SCSI REQ_QUIET flag set Allow the scsi request REQ_QUIET flag to be propagated to the buffer file system layer. The basic ideas is to pass the flag from the scsi request to the bio (block IO) and then to the buffer layer. The buffer layer can then suppress needless printks. This patch declutters the kernel log by removed the 40-50 (per lun) buffer io error messages seen during a boot in my multipath setup . It is a good chance any real errors will be missed in the "noise" it the logs without this patch. During boot I see blocks of messages like " __ratelimit: 211 callbacks suppressed Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242847 Buffer I/O error on device sdm, logical block 1 Buffer I/O error on device sdm, logical block 5242878 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242879 Buffer I/O error on device sdm, logical block 5242872 " in my logs. My disk environment is multipath fiber channel using the SCSI_DH_RDAC code and multipathd. This topology includes an "active" and "ghost" path for each lun. IO's to the "ghost" path will never complete and the SCSI layer, via the scsi device handler rdac code, quick returns the IOs to theses paths and sets the REQ_QUIET scsi flag to suppress the scsi layer messages. I am wanting to extend the QUIET behavior to include the buffer file system layer to deal with these errors as well. I have been running this patch for a while now on several boxes without issue. A few runs of bonnie++ show no noticeable difference in performance in my setup. Thanks for John Stultz for the quiet_error finalization. Submitted-by: Keith Mannthey Signed-off-by: Jens Axboe commit 7c239517d9f18427fc2e7ed259fb3b866595f5af Author: Wu Fengguang Date: Tue Nov 25 09:08:39 2008 +0100 block: don't take lock on changing ra_pages There's no need to take queue_lock or kernel_lock when modifying bdi->ra_pages. So remove them. Also remove out of date comment for queue_max_sectors_store(). Signed-off-by: Wu Fengguang Signed-off-by: Jens Axboe commit 42364690992e592c05f85c76fda4055820b48c1b Author: Nikanth Karthikesan Date: Mon Nov 24 10:46:29 2008 +0100 Documentation: remove reference to ll_rw_blk.c and moved drivers/block/elevator.c The drivers/block/ll_rw_block.c has been split and organized in the block/ directory, and also drivers/block/elevator.c has been moved to the block/ directory. Update Documentation/block/biodoc.txt accordingly Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit c6a06f707cc29ea3a47588e4d2cd0bdcfa311a7d Author: Qinghuang Feng Date: Mon Nov 24 10:43:36 2008 +0100 block/blk-tag.c: cleanup kernel-doc There is no argument named @tags in blk_init_tags, remove its' comment. Signed-off-by: Qinghuang Feng Signed-off-by: Jens Axboe commit 8a3173de4ab4cdacc43675dc5c077f9a5bf17f5f Author: Jens Axboe Date: Thu Nov 20 09:46:09 2008 +0100 cciss: switch to using hlist for command list management This both cleans up the code and also helps detect the spurious case of a command attempted being removed from a queue it doesn't belong to. Acked-by: Mike Miller Signed-off-by: Jens Axboe commit 7c0990c7ee988aa193abbb7da3faeb9279146dbf Author: Nikanth Karthikesan Date: Wed Nov 19 10:20:23 2008 +0100 Do not free io context when taking recursive faults in do_exit When taking recursive faults in do_exit, if the io_context is not null, exit_io_context() is being called. But it might decrement the refcount more than once. It is better to leave this task alone. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit d194139c18edb7dae45e159a24f2aa72091033b8 Author: Marcin Slusarz Date: Sun Nov 16 19:06:37 2008 +0100 cdrom: reduce stack usage of mmc_ioctl_dvd_read_struct 1. kmalloc 192 bytes in dvd_read_bca (which is inlined into dvd_read_struct) 2. Pass struct packet_command to all dvd_read_* functions. Checkstack output: Before: mmc_ioctl_dvd_read_struct: 280 After: mmc_ioctl_dvd_read_struct: 56 Signed-off-by: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Cc: Andrew Morton Cc: Jens Axboe Signed-off-by: Jens Axboe commit 3147c531b6b53fbbf8942689c4aa113c519f5e4e Author: Marcin Slusarz Date: Sun Nov 16 19:04:47 2008 +0100 cdrom: split mmc_ioctl to lower stack usage Checkstack output: Before: mmc_ioctl: 584 After: mmc_ioctl_dvd_read_struct: 280 mmc_ioctl_cdrom_subchannel: 152 mmc_ioctl_cdrom_read_data: 120 mmc_ioctl_cdrom_volume: 104 mmc_ioctl_cdrom_read_audio: 104 (mmc_ioctl is inlined into cdrom_ioctl - 104 bytes) Signed-off-by: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Cc: Andrew Morton Cc: Jens Axboe Signed-off-by: Jens Axboe commit 2b91bafcc0fc545e489e9537a38f487706960ea5 Author: Milton Miller Date: Mon Nov 17 13:10:34 2008 +0100 scsi-ioctl: use clock_t <> jiffies Convert the timeout ioctl scalling to use the clock_t functions which are much more accurate with some USER_HZ vs HZ combinations. Signed-off-by: Milton Miller Signed-off-by: Jens Axboe commit 70ed28b92a786f44750ab64117b03d126dd14656 Author: Jens Axboe Date: Wed Nov 19 14:38:39 2008 +0100 block: leave the request timeout timer running even on an empty list For sync IO, we'll often do them serialized. This means we'll be touching the queue timer for every IO, as opposed to only occasionally like we do for queued IO. Instead of deleting the timer when the last request is removed, just let continue running. If a new request comes up soon we then don't have to readd the timer again. If no new requests arrive, the timer will expire without side effect later. This improves high iops sync IO by ~1%. Signed-off-by: Jens Axboe commit 65d3618ccfe686e8d7b3f01a838d0578182406df Author: Jens Axboe Date: Thu Oct 30 08:53:02 2008 +0100 block: add comment in blk_rq_timed_out() about why next can not be 0 Signed-off-by: Jens Axboe commit 565e411d764eeda006738dfadbccca79d48381e1 Author: malahal@us.ibm.com Date: Thu Oct 30 08:51:58 2008 +0100 block: optimizations in blk_rq_timed_out_timer() Now the rq->deadline can't be zero if the request is in the timeout_list, so there is no need to have next_set. There is no need to access a request's deadline field if blk_rq_timed_out is called on it. Signed-off-by: Malahal Naineni Signed-off-by: Jens Axboe commit 66d352e1e410dcea22fecb9fa9ec09dd23a62e1c Author: Fernando Luis Vázquez Cao Date: Mon Oct 27 18:45:54 2008 +0900 xen-blkfront: set queue paravirt flag Xen's blkfront sets noop as the default I/O scheduler at initialization time to avoid elevator overheads such as idling, but with the advent of basic disk profiling capabilities this is not necessary anymore. We should just tell the block layer that we are a paravirt front-end driver and the elevator will automatically make the necessary adjustments. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jens Axboe commit 7d116b626b843c66b17630a62d696e044d049bfc Author: Fernando Luis Vázquez Cao Date: Mon Oct 27 18:45:15 2008 +0900 virtio_blk: set queue paravirt flag As a paravirt front-end driver, virtio_blk is not a rotational device so we want do avoid idling in AS/CFQ. Tell the block layer about this. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jens Axboe commit 88e740f1654bf28565edd528a060695c1f2b5ad7 Author: Fernando Luis Vázquez Cao Date: Mon Oct 27 18:44:46 2008 +0900 block: add queue flag for paravirt frontend drivers As is the case with SSD devices, we do not want to idle in AS/CFQ when the block device is a paravirt front-end driver. This patch adds a flag (QUEUE_FLAG_VIRT) which should be used by front-end drivers such as virtio_blk and xen-blkfront to indicate a paravirtualized device. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jens Axboe commit 0a8c5395f90f06d128247844b2515c8bf3f2826b Merge: 2505115... 3c92ec8... Author: Lachlan McIlroy Date: Mon Dec 29 16:47:18 2008 +1100 [XFS] Fix merge failures Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: fs/xfs/linux-2.6/xfs_cred.h fs/xfs/linux-2.6/xfs_globals.h fs/xfs/linux-2.6/xfs_ioctl.c fs/xfs/xfs_vnodeops.h Signed-off-by: Lachlan McIlroy commit e3c6d4ee545e427b55882d97d3b663c6411645fe Merge: 5bc0530... 3c92ec8... Author: David S. Miller Date: Sun Dec 28 20:19:47 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sparc64/kernel/idprom.c commit 59c5ea6ebdfa11626635f371b8d99ada2fcaf390 Author: David S. Miller Date: Sun Dec 28 20:15:38 2008 -0800 net: Fix unused variable warnings in pasemi_mac.c and spider_net.c As reported by Stephen Rothwell: -------------------- Today's linux-next build (powerpc ppc64_defconfig) produced these new warnings: drivers/net/pasemi_mac.c: In function 'pasemi_mac_rx_intr': drivers/net/pasemi_mac.c:957: warning: unused variable 'dev' drivers/net/pasemi_mac.c: In function 'pasemi_mac_poll': drivers/net/pasemi_mac.c:1637: warning: unused variable 'dev' drivers/net/spider_net.c: In function 'spider_net_poll': drivers/net/spider_net.c:1280: warning: unused variable 'netdev' Probably caused by commit 908a7a16b852ffd618a9127be8d62432182d81b4 ("net: Remove unused netdev arg from some NAPI interfaces"). -------------------- Signed-off-by: David S. Miller commit bd353ffdc9a355c89ef7e45e4833af5995a5015d Author: Qinghuang Feng Date: Tue Nov 25 11:37:19 2008 -0500 [libata] Update kernel-doc comments to match source code Signed-off-by: Qinghuang Feng commit ece180d1cfe5fa751eaa85bf796cf28b2150af15 Author: Tejun Heo Date: Mon Nov 3 20:04:37 2008 +0900 libata: perform port detach in EH ata_port_detach() first made sure EH saw ATA_PFLAG_UNLOADING and then assumed EH context belongs to it and performed detach operation itself. However, UNLOADING doesn't disable all of EH and this could lead to problems including triggering WARN_ON()'s in EH path. This patch makes port detach behave more like other EH actions such that ata_port_detach() requests EH to detach and waits for completion. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ad74e4c18d0962397314460d0da312e72c8bd02d Author: Tejun Heo Date: Mon Nov 3 20:03:49 2008 +0900 libata: when restoring SControl during detach do the PMP links first When restoring SControl during detach, PMP links should be handled first as changing SControl of the host link can affect SCR access of PMP links. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1eca4365be25c540650693e941bc06a66cf38f94 Author: Tejun Heo Date: Mon Nov 3 20:03:17 2008 +0900 libata: beef up iterators There currently are the following looping constructs. * __ata_port_for_each_link() for all available links * ata_port_for_each_link() for edge links * ata_link_for_each_dev() for all devices * ata_link_for_each_dev_reverse() for all devices in reverse order Now there's a need for looping construct which is similar to __ata_port_for_each_link() but iterates over PMP links before the host link. Instead of adding another one with long name, do the following cleanup. * Implement and export ata_link_next() and ata_dev_next() which take @mode parameter and can be used to build custom loop. * Implement ata_for_each_link() and ata_for_each_dev() which take looping mode explicitly. The following iteration modes are implemented. * ATA_LITER_EDGE : loop over edge links * ATA_LITER_HOST_FIRST : loop over all links, host link first * ATA_LITER_PMP_FIRST : loop over all links, PMP links first * ATA_DITER_ENABLED : loop over enabled devices * ATA_DITER_ENABLED_REVERSE : loop over enabled devices in reverse order * ATA_DITER_ALL : loop over all devices * ATA_DITER_ALL_REVERSE : loop over all devices in reverse order This change removes exlicit device enabledness checks from many loops and makes it clear which ones are iterated over in which direction. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3 Author: David Howells Date: Mon Dec 29 00:41:51 2008 +0000 KEYS: Fix variable uninitialisation warnings Fix variable uninitialisation warnings introduced in: commit 8bbf4976b59fc9fc2861e79cab7beb3f6d647640 Author: David Howells Date: Fri Nov 14 10:39:14 2008 +1100 KEYS: Alter use of key instantiation link-to-keyring argument As: security/keys/keyctl.c: In function 'keyctl_negate_key': security/keys/keyctl.c:976: warning: 'dest_keyring' may be used uninitialized in this function security/keys/keyctl.c: In function 'keyctl_instantiate_key': security/keys/keyctl.c:898: warning: 'dest_keyring' may be used uninitialized in this function Some versions of gcc notice that get_instantiation_key() doesn't always set *_dest_keyring, but fail to observe that if this happens then *_dest_keyring will not be read by the caller. Reported-by: Linus Torvalds Signed-off-by: David Howells Signed-off-by: James Morris commit 3c92ec8ae91ecf59d88c798301833d7cf83f2179 Merge: c4c9f01... ca9153a... Author: Linus Torvalds Date: Sun Dec 28 16:54:33 2008 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits) powerpc/44x: Support 16K/64K base page sizes on 44x powerpc: Force memory size to be a multiple of PAGE_SIZE powerpc/32: Wire up the trampoline code for kdump powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M powerpc/32: Allow __ioremap on RAM addresses for kdump kernel powerpc/32: Setup OF properties for kdump powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs() powerpc: Prepare xmon_save_regs for use with kdump powerpc: Remove default kexec/crash_kernel ops assignments powerpc: Make default kexec/crash_kernel ops implicit powerpc: Setup OF properties for ppc32 kexec powerpc/pseries: Fix cpu hotplug powerpc: Fix KVM build on ppc440 powerpc/cell: add QPACE as a separate Cell platform powerpc/cell: fix build breakage with CONFIG_SPUFS disabled powerpc/mpc5200: fix error paths in PSC UART probe function powerpc/mpc5200: add rts/cts handling in PSC UART driver powerpc/mpc5200: Make PSC UART driver update serial errors counters powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver ... Fix trivial conflict in drivers/char/Makefile as per Paul's directions commit c4c9f0183b7c4e97836e8fecbb67898b06c47e78 Author: Stephen Rothwell Date: Mon Dec 29 10:46:13 2008 +1100 net: ehea NAPI interface cleanup fix Commit 908a7a16b852ffd618a9127be8d62432182d81b4 ("net: Remove unused netdev arg from some NAPI interfaces") missed two spots. Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit bf66542bef3771a42ad3b1d5dc503c804bc22b33 Author: Stephen Rothwell Date: Wed Dec 3 13:49:23 2008 +1100 cifs: update for new IP4/6 address printing Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit b854b2ab959e8175d75e01cf8ed452ed2624d0c8 Author: Eric Anholt Date: Mon Dec 22 18:56:27 2008 -0800 agp/intel: Fix broken ® symbol in device name. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit a50ccc6c6623ab0e64f2109881e07c176b2d876f Author: Zhenyu Wang Date: Mon Nov 17 14:39:00 2008 +0800 agp/intel: add support for G41 chipset Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit b2e2fe99628c4f944c3075258e536197b5a4f3f8 Author: Ingo Molnar Date: Mon Dec 29 00:16:45 2008 +0100 sparseirq: work around __weak alias bug Impact: fix boot crash if the kernel is built with certain GCC versions GCC has a bug with __weak alias functions: if the functions are in the same compilation unit as their call site, GCC can decide to inline them - and thus rob the linker of the opportunity to override the weak alias with the real thing. This can lead to the boot crash reported by Kamalesh Babulal: ACPI: Core revision 20080926 Setting APIC routing to flat BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 IP: [] add_pin_to_irq_cpu+0x14/0x74 PGD 0 Oops: 0000 [#1] SMP [...] So move the arch_init_chip_data() function from handle.c to manage.c. Reported-by: Kamalesh Babulal Signed-off-by: Ingo Molnar commit d05a788f2279056a518d412c6391322ef11366e0 Merge: 96faec9... 54d2f64... Author: Linus Torvalds Date: Sun Dec 28 15:15:08 2008 -0800 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: smackfs: check for allocation failures in smk_set_access() commit 96faec945f39cab38403f60f515bff43660b4dab Merge: 2926328... 9bb4824... Author: Linus Torvalds Date: Sun Dec 28 15:13:48 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits) allow stripping of generated symbols under CONFIG_KALLSYMS_ALL kbuild: strip generated symbols from *.ko kbuild: simplify use of genksyms kernel-doc: check for extra kernel-doc notations kbuild: add headerdep used to detect inclusion cycles in header files kbuild: fix string equality testing in tags.sh kbuild: fix make tags/cscope kbuild: fix make incompatibility kbuild: remove TAR_IGNORE setlocalversion: add git-svn support setlocalversion: print correct subversion revision scripts: improve the decodecode script scripts/package: allow custom options to rpm genksyms: allow to ignore symbol checksum changes genksyms: track symbol checksum changes tags and cscope support really belongs in a shell script kconfig: fix options to check-lxdialog.sh kbuild: gen_init_cpio expands shell variables in file names remove bashisms from scripts/extract-ikconfig kbuild: teach mkmakfile to be silent ... commit 2926328554fa740518e2a6585b2cefb01e5f65f3 Merge: 541ef5c... 8587b33f... Author: Linus Torvalds Date: Sun Dec 28 15:12:35 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-nvram * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-nvram: [PATCH] nvram - convert PRINT_PROC to seq_file [PATCH] nvram - CodingStyle commit 54d2f649a67109d877ca143c09cdeba61fe51bcf Merge: 541ef5c... 81ea714... Author: James Morris Date: Mon Dec 29 09:57:38 2008 +1100 Merge branch 'next' into for-linus commit ca9153a3a2a7556d091dfe080e42b0e67881fff6 Author: Ilya Yanok Date: Thu Dec 11 04:55:41 2008 +0300 powerpc/44x: Support 16K/64K base page sizes on 44x This adds support for 16k and 64k page sizes on PowerPC 44x processors. The PGDIR table is much smaller than a page when using 16k or 64k pages (512 and 32 bytes respectively) so we allocate the PGDIR with kzalloc() instead of __get_free_pages(). One PTE table covers rather a large memory area when using 16k or 64k pages (32MB or 512MB respectively), so we can easily put FIXMAP and PKMAP in the area covered by one PTE table. Signed-off-by: Yuri Tikhonov Signed-off-by: Vladimir Panfilov Signed-off-by: Ilya Yanok Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 6ca4f7494bde078b2b730e28e4ea1dc36a772f70 Author: Hollis Blanchard Date: Wed Nov 26 10:19:26 2008 -0600 powerpc: Force memory size to be a multiple of PAGE_SIZE Ensure that total memory size is page-aligned, because otherwise mark_bootmem() gets upset. This error case was triggered by using 64 KiB pages in the kernel while arch/powerpc/boot/4xx.c arbitrarily reduced the amount of memory by 4096 (to work around a chip bug that affects the last 256 bytes of physical memory). Signed-off-by: Hollis Blanchard Signed-off-by: Paul Mackerras commit 541ef5cbb8e68189d47272cea52a69abc30259bc Merge: 0191b62... aa6eeee... Author: Linus Torvalds Date: Sun Dec 28 12:54:07 2008 -0800 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: use the new byteorder headers fbcon: Protect free_irq() by MACH_IS_ATARI check fbcon: remove broken mac vbl handler m68k: fix trigraph ignored warning in setox.S macfb annotations and compiler warning fix m68k: mac baboon interrupt enable/disable m68k: machw.h cleanup m68k: Mac via cleanup and commentry m68k: Reinstate mac rtc commit 0191b625ca5a46206d2fb862bb08f36f2fcb3b31 Merge: 54a696b... eb56092... Author: Linus Torvalds Date: Sun Dec 28 12:49:40 2008 -0800 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: (1429 commits) net: Allow dependancies of FDDI & Tokenring to be modular. igb: Fix build warning when DCA is disabled. net: Fix warning fallout from recent NAPI interface changes. gro: Fix potential use after free sfc: If AN is enabled, always read speed/duplex from the AN advertising bits sfc: When disabling the NIC, close the device rather than unregistering it sfc: SFT9001: Add cable diagnostics sfc: Add support for multiple PHY self-tests sfc: Merge top-level functions for self-tests sfc: Clean up PHY mode management in loopback self-test sfc: Fix unreliable link detection in some loopback modes sfc: Generate unique names for per-NIC workqueues 802.3ad: use standard ethhdr instead of ad_header 802.3ad: generalize out mac address initializer 802.3ad: initialize ports LACPDU from const initializer 802.3ad: remove typedef around ad_system 802.3ad: turn ports is_individual into a bool 802.3ad: turn ports is_enabled into a bool 802.3ad: make ntt bool ixgbe: Fix set_ringparam in ixgbe to use the same memory pools. ... Fixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due to the conversion to %pI (in this networking merge) and the addition of doing IPv6 addresses (from the earlier merge of CIFS). commit 54a696bd07c14d3b1192d03ce7269bc59b45209a Merge: 1d248b2... 359d67d... Author: Linus Torvalds Date: Sun Dec 28 12:37:14 2008 -0800 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: (31 commits) [CIFS] Remove redundant test [CIFS] make sure that DFS pathnames are properly formed Remove an already-checked error condition in SendReceiveBlockingLock Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition [CIFS] Streamline SendReceive[2] by using "goto out:" in an error condition Slightly streamline SendReceive[2] Check the return value of cifs_sign_smb[2] [CIFS] Cleanup: Move the check for too large R/W requests [CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary "else" branch Simplify allocate_mid() slightly: Remove some unnecessary "else" branches [CIFS] In SendReceive, move consistency check out of the mutexed region cifs: store password in tcon cifs: have calc_lanman_hash take more granular args cifs: zero out session password before freeing it cifs: fix wait_for_response to time out sleeping processes correctly [CIFS] Can not mount with prefixpath if root directory of share is inaccessible [CIFS] various minor cleanups pointed out by checkpatch script [CIFS] fix typo [CIFS] remove sparse warning ... Fix trivial conflict in fs/cifs/cifs_fs_sb.h due to comment changes for the CIFS_MOUNT_xyz bit definitions between cifs updates and security updates. commit 1d248b2593e92db6c51ca07235985a95c625a93f Merge: 1db2a5c... 2a0d836... Author: Linus Torvalds Date: Sun Dec 28 12:33:59 2008 -0800 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: (26 commits) IB/mlx4: Set ownership bit correctly when copying CQEs during CQ resize RDMA/nes: Remove tx_free_list RDMA/cma: Add IPv6 support RDMA/addr: Add support for translating IPv6 addresses mlx4_core: Delete incorrect comment mlx4_core: Add support for multiple completion event vectors IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs IB/ehca: Remove redundant test of vpage IB/ehca: Replace modulus operations in flush error completion path IB/ipath: Add locking for interrupt use of ipath_pd contexts vs free IB/ipath: Fix spi_pioindex value IB/ipath: Only do 1X workaround on rev1 chips IB/ipath: Don't count IB symbol and link errors unless link is UP IB/ipath: Check return value of dma_map_single() IB/ipath: Fix PSN of send WQEs after an RDMA read resend RDMA/nes: Cleanup warnings RDMA/nes: Add loopback check to make_cm_node() RDMA/nes: Check cqp_avail_reqs is empty after locking the list RDMA/nes: Fix TCP compliance test failures RDMA/nes: Forward packets for a new connection with stale APBVT entry ... commit 1db2a5c11e495366bff35cf7445d494703f7febe Merge: a39b863... cef7125... Author: Linus Torvalds Date: Sun Dec 28 12:33:21 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (85 commits) [S390] provide documentation for hvc_iucv kernel parameter. [S390] convert ctcm printks to dev_xxx and pr_xxx macros. [S390] convert zfcp printks to pr_xxx macros. [S390] convert vmlogrdr printks to pr_xxx macros. [S390] convert zfcp dumper printks to pr_xxx macros. [S390] convert cpu related printks to pr_xxx macros. [S390] convert qeth printks to dev_xxx and pr_xxx macros. [S390] convert sclp printks to pr_xxx macros. [S390] convert iucv printks to dev_xxx and pr_xxx macros. [S390] convert ap_bus printks to pr_xxx macros. [S390] convert dcssblk and extmem printks messages to pr_xxx macros. [S390] convert monwriter printks to pr_xxx macros. [S390] convert s390 debug feature printks to pr_xxx macros. [S390] convert monreader printks to pr_xxx macros. [S390] convert appldata printks to pr_xxx macros. [S390] convert setup printks to pr_xxx macros. [S390] convert hypfs printks to pr_xxx macros. [S390] convert time printks to pr_xxx macros. [S390] convert cpacf printks to pr_xxx macros. [S390] convert cio printks to pr_xxx macros. ... commit a39b863342b8aba52390092be95db58f6ed56061 Merge: b0f4b28... 4e20228... Author: Linus Torvalds Date: Sun Dec 28 12:27:58 2008 -0800 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: (31 commits) sched: fix warning in fs/proc/base.c schedstat: consolidate per-task cpu runtime stats sched: use RCU variant of list traversal in for_each_leaf_rt_rq() sched, cpuacct: export percpu cpuacct cgroup stats sched, cpuacct: refactoring cpuusage_read / cpuusage_write sched: optimize update_curr() sched: fix wakeup preemption clock sched: add missing arch_update_cpu_topology() call sched: let arch_update_cpu_topology indicate if topology changed sched: idle_balance() does not call load_balance_newidle() sched: fix sd_parent_degenerate on non-numa smp machine sched: add uid information to sched_debug for CONFIG_USER_SCHED sched: move double_unlock_balance() higher sched: update comment for move_task_off_dead_cpu sched: fix inconsistency when redistribute per-cpu tg->cfs_rq shares sched/rt: removed unneeded defintion sched: add hierarchical accounting to cpu accounting controller sched: include group statistics in /proc/sched_debug sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER => SCHED_OMIT_FRAME_POINTER sched: clean up SCHED_CPUMASK_ALLOC ... commit b0f4b285d7ed174804658539129a834270f4829a Merge: be9c5ae... 5250d32... Author: Linus Torvalds Date: Sun Dec 28 12:21:10 2008 -0800 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits) sched, trace: update trace_sched_wakeup() tracing/ftrace: don't trace on early stage of a secondary cpu boot, v3 Revert "x86: disable X86_PTRACE_BTS" ring-buffer: prevent false positive warning ring-buffer: fix dangling commit race ftrace: enable format arguments checking x86, bts: memory accounting x86, bts: add fork and exit handling ftrace: introduce tracing_reset_online_cpus() helper tracing: fix warnings in kernel/trace/trace_sched_switch.c tracing: fix warning in kernel/trace/trace.c tracing/ring-buffer: remove unused ring_buffer size trace: fix task state printout ftrace: add not to regex on filtering functions trace: better use of stack_trace_enabled for boot up code trace: add a way to enable or disable the stack tracer x86: entry_64 - introduce FTRACE_ frame macro v2 tracing/ftrace: add the printk-msg-only option tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp() x86, bts: correctly report invalid bts records ... Fixed up trivial conflict in scripts/recordmcount.pl due to SH bits being already partly merged by the SH merge. commit be9c5ae4eeec2e85527e95647348b8ea4eb25128 Merge: bb26c6c... 79a66b9... Author: Linus Torvalds Date: Sun Dec 28 12:07:57 2008 -0800 Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (246 commits) x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32 x86: PAT: fix address types in track_pfn_vma_new() x86: prioritize the FPU traps for the error code x86: PAT: pfnmap documentation update changes x86: PAT: move track untrack pfnmap stubs to asm-generic x86: PAT: remove follow_pfnmap_pte in favor of follow_phys x86: PAT: modify follow_phys to return phys_addr prot and return value x86: PAT: clarify is_linear_pfn_mapping() interface x86: ia32_signal: remove unnecessary declaration x86: common.c boot_cpu_stack and boot_exception_stacks should be static x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies x86: fix warning in arch/x86/kernel/microcode_amd.c x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32 x86: asm-offset_64: use rt_sigframe_ia32 x86: sigframe.h: include headers for dependency x86: traps.c declare functions before they get used x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3 x86: PAT: add pgprot_writecombine() interface for drivers - v3 x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3 x86: PAT: implement track/untrack of pfnmap regions for x86 - v3 ... commit bb26c6c29b7cc9f39e491b074b09f3c284738d36 Merge: e14e61e... cbacc2c... Author: Linus Torvalds Date: Sun Dec 28 11:43:54 2008 -0800 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: (105 commits) SELinux: don't check permissions for kernel mounts security: pass mount flags to security_sb_kern_mount() SELinux: correctly detect proc filesystems of the form "proc/foo" Audit: Log TIOCSTI user namespaces: document CFS behavior user namespaces: require cap_set{ug}id for CLONE_NEWUSER user namespaces: let user_ns be cloned with fairsched CRED: fix sparse warnings User namespaces: use the current_user_ns() macro User namespaces: set of cleanups (v2) nfsctl: add headers for credentials coda: fix creds reference capabilities: define get_vfs_caps_from_disk when file caps are not enabled CRED: Allow kernel services to override LSM settings for task actions CRED: Add a kernel_service object class to SELinux CRED: Differentiate objective and effective subjective credentials on a task CRED: Documentation CRED: Use creds in file structs CRED: Prettify commoncap.c CRED: Make execve() take advantage of copy-on-write credentials ... commit e14e61e967f2b3bdf23f05e4ae5b9aa830151a44 Merge: cb10ea5... 0ee4a96... Author: Linus Torvalds Date: Sun Dec 28 11:43:22 2008 -0800 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: (57 commits) crypto: aes - Precompute tables crypto: talitos - Ack done interrupt in isr instead of tasklet crypto: testmgr - Correct comment about deflate parameters crypto: salsa20 - Remove private wrappers around various operations crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set crypto: sha512 - Switch to shash crypto: sha512 - Move message schedule W[80] to static percpu area crypto: michael_mic - Switch to shash crypto: wp512 - Switch to shash crypto: tgr192 - Switch to shash crypto: sha256 - Switch to shash crypto: md5 - Switch to shash crypto: md4 - Switch to shash crypto: sha1 - Switch to shash crypto: rmd320 - Switch to shash crypto: rmd256 - Switch to shash crypto: rmd160 - Switch to shash crypto: rmd128 - Switch to shash crypto: null - Switch to shash crypto: hash - Make setkey optional ... commit cb10ea549fdc0ab2dd8988adab5bf40b4fa642f3 Merge: 81d6e59... 5ce442f... Author: Linus Torvalds Date: Sun Dec 28 11:41:32 2008 -0800 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: (367 commits) ALSA: ASoC: fix a typo in omp-pcm.c ASoC: Fix DSP formats in SSM2602 audio codec ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers ALSA: hda: fix incorrect mixer index values for 92hd83xx ALSA: hda: dinput_mux check ALSA: hda - Add quirk for another HP dv7 ALSA: ASoC - Add missing __devexit annotation to wm8350.c ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai ALSA: ASoC: tlv320aic3x add dsp_a ALSA: ASoC: DaVinci: document I2S limitations ALSA: ASoC: DaVinci: davinci-i2s clean up ALSA: ASoC: DaVinci: davinci-i2s clean up ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit ALSA: ca0106 - disable 44.1kHz capture ALSA: ca0106 - Add missing card->private_data initialization ALSA: ca0106 - Check ac97 availability at PM ALSA: hda - Power up always when no jack detection is available ALSA: hda - Fix unused variable warnings in patch_sigmatel.c ... commit 81d6e59dabb1ae0c782e9eb7e3d88f699d25b314 Merge: 4a6908a... 59de580... Author: Linus Torvalds Date: Sun Dec 28 11:39:19 2008 -0800 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: (132 commits) sh: oprofile: Fix up the module build. sh: add UIO support for JPU on SH7722. serial: sh-sci: Fix up port pinmux for SH7366. sh: mach-rsk: Use uImage generation by default for rsk7201/7203. sh: mach-sh03: Fix up pata_platform build breakage. sh: enable deferred io LCDC on Migo-R video: sh_mobile_lcdcfb deferred io support video: deferred io with physically contiguous memory video: deferred io cleanup video: fix deferred io fsync() sh: add LCDC interrupt configuration to AP325 and Migo-R sh_mobile_lcdc: use FB_SYS helpers instead of FB_CFB sh: split coherent pages sh: dma: Kill off ISA DMA wrapper. sh: Conditionalize the code dumper on CONFIG_DUMP_CODE. sh: Kill off the unused SH_ALPHANUMERIC debug option. sh: Enable skipping of bss on debug platforms for sh32 also. doc: Update sh cpufreq documentation. sh: mrshpc_setup_windows() needs to be inline. serial: sh-sci: sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. ... commit aa6eeeef78263e9891185c6cfaaf64808460a54a Author: Harvey Harrison Date: Tue Nov 18 20:45:23 2008 +0100 m68k: use the new byteorder headers Signed-off-by: Harvey Harrison Signed-off-by: Geert Uytterhoeven commit 7f877ebb32ac9a4b0783e825cef84c6ace87fe90 Author: Geert Uytterhoeven Date: Tue Nov 18 20:45:23 2008 +0100 fbcon: Protect free_irq() by MACH_IS_ATARI check Add missing check for Atari in free_irq() call, which could cause problems on multi-platform m68k kernels. Reported-by: Brad Boyer Signed-off-by: Geert Uytterhoeven commit 79f0c9a0479060e3a8607d93bc8d81ff962acc87 Author: Finn Thain Date: Tue Nov 18 20:45:23 2008 +0100 fbcon: remove broken mac vbl handler Remove the Mac VBL interrupt code as it doesn't work properly and doesn't bring any benefit when fixed. Also remove unused DEFAULT_CURSOR_BLINK_RATE macro and irqres variable. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 646819e86222cc06b85ed2a8dafbbb361a05ea2d Author: Finn Thain Date: Tue Nov 18 20:45:22 2008 +0100 m68k: fix trigraph ignored warning in setox.S Fix the warning: trigraph ??/ ignored, use -trigraphs to enable caused by the recent removal of -traditional option. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 3839d01d61195d76d53943ac36b603d7e7ca4b6e Author: Finn Thain Date: Tue Nov 18 20:45:22 2008 +0100 macfb annotations and compiler warning fix Add some __iomem annotations. Remove some volatile qualifiers to fix several compiler warnings: "passing arg 1 of `iounmap' discards qualifiers from pointer target type". Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 746e8d3b223281f0e5472ab0ad8f59af2221ea9b Author: Finn Thain Date: Tue Nov 18 20:45:21 2008 +0100 m68k: mac baboon interrupt enable/disable No-one seems to know how to mask individual baboon interrupts, so we just mask the umbrella IRQ. This will work as long as only the IDE driver uses the baboon chip (it can't deadlock). Use mac_enable_irq/mac_disable_irq rather than enable_irq/disable_irq because the latter routines count the depth of nested calls which triggers a warning and call trace because IRQ_NUBUS_C is enabled twice in a row (once when the baboon handler is registered, and once when the IDE IRQ is registered). Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 429dbf53bca49b110f1058f0d9417a59115c41b8 Author: Finn Thain Date: Tue Nov 18 20:45:20 2008 +0100 m68k: machw.h cleanup Remove some more cruft from machw.h and drop the #include where it isn't needed. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 4a973592d67ccc240bca694e48ce88facd764043 Author: Finn Thain Date: Tue Nov 18 20:45:20 2008 +0100 m68k: Mac via cleanup and commentry No behavioural changes, just cleanups and better documentation. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 40f7f9c1c22aef049ed7339d9e45624aa980a1a0 Author: Finn Thain Date: Tue Nov 18 20:45:20 2008 +0100 m68k: Reinstate mac rtc Reinstate the Mac hardware clock for CUDA ADB and Mac II ADB models. It doesn't work properly on Mac IIsi ADB and PMU ADB yet, so leave them out. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit f2863c54f30cccb50661697a6e4bdcd0ad0b0a6c Author: Artem Bityutskiy Date: Sun Dec 28 12:20:51 2008 +0200 UBI: fix checkpatch.pl warnings Just minor indentation and "over 80 characters" fixes. Signed-off-by: Artem Bityutskiy commit eb56092fc168bf5af199d47af50c0d84a96db898 Author: Dave Jones Date: Sat Dec 27 20:43:48 2008 -0800 net: Allow dependancies of FDDI & Tokenring to be modular. I noticed it isn't possible to build token ring & fddi drivers without causing LLC, and a bunch of other things to be forced built-in. For distro kernels, this means carrying a chunk of code in the vmlinuz, even if the user doesn't use those protocols. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 12026ea16a618b289fcf457661aed24f57323a20 Author: Yinghai Lu Date: Fri Dec 26 22:38:15 2008 -0800 sparseirq: fix hang with !SPARSE_IRQ Impact: fix hang Suresh report his two sockets system only works with SPARSE_IRQ enable it turns out we miss the setting desc->irq so provide early_irq_init() even !SPARSE_IRQ to set desc->irq Reported-by: "Siddha, Suresh B" Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit fa6beb37b0d9bc00f90f11154eeed9502d8b0a37 Author: Yinghai Lu Date: Mon Dec 22 20:24:09 2008 -0800 sparseirq: set lock_class for legacy irq when sparse_irq is selected Impact: add lockdep annotation to legacy IRQ descs Warnings resulting out of this were not seen in practice, but it's prudent to initialize the legacy descriptors to the lock class as well, symmetric to how we do it with other descriptors. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 13a0c3c269b223f60abfac8a9811d77111a8b4ba Author: Yinghai Lu Date: Fri Dec 26 02:05:47 2008 -0800 sparseirq: work around compiler optimizing away __weak functions Impact: fix panic on null pointer with sparseirq Some GCC versions seem to inline the weak global function, when that function is empty. Work it around, by making the functions return a (dummy) integer. Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit b6b301aa9fba57b114c3a00f5f43abf672bd4ecd Author: Jaswinder Singh Date: Tue Dec 23 21:52:33 2008 +0530 x86: apic.c x2apic_preenabled and disable_x2apic should be static Impact: cleanup, reduce kernel size a bit, avoid sparse warning Fixes sparse warning: arch/x86/kernel/apic.c:103:5: warning: symbol 'disable_x2apic' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 0b936bfdeb85784b7df132b2c64fb34ad9b11ffa Author: Jaswinder Singh Date: Tue Dec 23 21:51:28 2008 +0530 x86: reboot.c declare port_cf9_safe before they get used Impact: cleanup, avoid sparse warning Include "../pci/pci.h" for port_cf9_safe Fixes this sparse warning: arch/x86/kernel/reboot.c:43:6: warning: symbol 'port_cf9_safe' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 34bf5d0ff54d03f0a8ed690d47efb806ee2fffcb Merge: bd8b96d... 79a66b9... Author: Ingo Molnar Date: Sat Dec 27 11:30:05 2008 +0100 Merge branch 'x86/core' into x86/cleanups commit 5bc053089376217943187ed5153d0d1e5c5085b6 Author: Sam Ravnborg Date: Sat Dec 27 00:56:29 2008 -0800 sparc: move select of ARCH_SUPPORTS_MSI It is counter intuitive to have the select listed as part of the PCI option. Move the select to the SPARC64 specific part of the config. PCI_MSI has a dependency on PCI so it does not harm to have it always selected. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c4a4a21977573141fd6d53b9cf0879782ae3dda2 Author: Sam Ravnborg Date: Sat Dec 27 00:55:45 2008 -0800 sparc: drop SUN_IO SUN_IO is always 'y' so drop it and thus killing an ifdef/endif pair Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 86ed40bd6fe511d26bb8f3fa65a84cb65c235366 Author: Sam Ravnborg Date: Sat Dec 27 00:35:12 2008 -0800 sparc: unify sections.h While doing this use standard names for start/end so we could use definitions straight from asm-generic for all the typical symbols. This also allowed us to drop the use of PROVIDE in the linker script so sprc is less non-standard on this area. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b74e34dbdeb39136e0557930a373392b7d644f43 Author: Sam Ravnborg Date: Sat Dec 27 00:34:41 2008 -0800 sparc: use .data.init_task section for init_thread_union Use a dedicated aligned section for the init_thread_union variable and declare this section in vmlinux.lds. This align sparc with most other architectures. Eventually this allow the init_task bits to be unified across all architectures. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 793f7b12a0c95e7bfec1badf9628043fb78fd440 Author: Ingo Molnar Date: Fri Dec 26 19:02:20 2008 +0100 sparseirq: fix desc->lock init Impact: cleanup init_one_irq_desc() does not initialize the desc->lock properly - you cannot init a lock by memcpying some other lock on it. This happens to work right now (because irq_desc_init is never in use), but it's a dangerous construct nevertheless, so fix it. Signed-off-by: Ingo Molnar commit 8b07cd44511f3aa78dd912cca6493275a6787dc5 Author: Ingo Molnar Date: Fri Dec 26 19:10:04 2008 +0100 sparseirq: do not printk when migrating IRQ descriptors Impact: reduce printk noise There were a couple of leftover KERN_DEBUG debugging printks, remove them. Also clarify an error message. Signed-off-by: Ingo Molnar commit 92d9091f305cc32eb64edc1757d925b93acde6da Author: Robert Reif Date: Fri Dec 26 15:39:11 2008 -0800 sparc: fix array overrun check in of_device_64.c Do the array length check and fixup before copying the array. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit e6b04fe0bae3c0c9204c8190c8988efa6646ef35 Author: Sam Ravnborg Date: Fri Dec 26 15:38:17 2008 -0800 sparc: unify module.c o Copy module_64.c to module.c o Add all sparc specific bits to module.c o delete module_32.c o update Makefile Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 627bf2f678ba7325461922af137ff5f20b6523eb Author: Sam Ravnborg Date: Fri Dec 26 15:37:24 2008 -0800 sparc64: prepare module_64.c for unification o Introduce a helper function o Combine sparc64 specific case values o add ifdef's around sparc64 code snippets Note: The ifdef around the BUG_ON is highly questionable but for now the safe approach was taken Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c45d1c209f7420a01afd1f82c08af8d681fd56b8 Author: Sam Ravnborg Date: Fri Dec 26 15:36:29 2008 -0800 sparc64: use bit neutral Elf symbols To prepare for unification use the bit neutral versions of the Elf types defined by asm/module.h Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit e1648a8194117c7afeb432afb0d10896e10cbea4 Author: Sam Ravnborg Date: Fri Dec 26 15:35:41 2008 -0800 sparc: unify module.h Use some preprocessor magic in combination with the newly introduced CONFIG_BITS to unify module.h. A few additional symbols are added as they are needed in a follow-up patch Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit fe6875ec5c3ca7f6bcb399b6649ba2b64744df51 Author: Sam Ravnborg Date: Fri Dec 26 15:35:16 2008 -0800 sparc: introduce CONFIG_BITS CONFIG_BITS is set to 32 for sparc32 and 64 for sparc64. This allow us to use this symbol in for example header files to ease unification of sparc32 and sparc64. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 6e6ab2e2f0083314265f90bf0aefefcb7a46c702 Author: Sam Ravnborg Date: Fri Dec 26 15:33:07 2008 -0800 sparc: fix hardirq.h removal fallout When hardirq.h are removed from asm-generic/local.h a few bits fails to build. Fix these upfront. Reported by Alexey Dobriyan. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8d25332081d87491e3b12fa130539fe9e2ba4a94 Author: David S. Miller Date: Fri Dec 26 15:13:55 2008 -0800 igb: Fix build warning when DCA is disabled. Signed-off-by: David S. Miller commit 2d5451d2614583de0c9aaf61cf5f77faf5694105 Author: David S. Miller Date: Fri Dec 26 15:10:00 2008 -0800 net: Fix warning fallout from recent NAPI interface changes. When we removed the network device argument from several NAPI interfaces in 908a7a16b852ffd618a9127be8d62432182d81b4 ("net: Remove unused netdev arg from some NAPI interfaces.") several drivers now started getting unused variable warnings. This fixes those up. Signed-off-by: David S. Miller commit 0da2afd59653d2edf5c8e0f09b23f367ab5bc80f Author: Herbert Xu Date: Fri Dec 26 14:57:42 2008 -0800 gro: Fix potential use after free The initial skb may have been freed after napi_gro_complete in napi_gro_receive if it was merged into an existing packet. Thus we cannot check same_flow (which indicates whether it was merged) after calling napi_gro_complete. This patch fixes this by saving the same_flow status before the call to napi_gro_complete. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 843813453f52e3378fc988c8364063fd4cb9d0e3 Author: Ben Hutchings Date: Fri Dec 26 13:49:25 2008 -0800 sfc: If AN is enabled, always read speed/duplex from the AN advertising bits When AN is enabled and the link is down the speed/duplex control bits will not be meaningful. Use the advertising bits instead, and mask them with the LPA bits if and only if AN is complete (as before). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f4bd954e7c24063b15fa9abc8b4b1242772928ed Author: Ben Hutchings Date: Fri Dec 26 13:48:51 2008 -0800 sfc: When disabling the NIC, close the device rather than unregistering it This should reduce user confusion and may also aid recovery (ioctls will still be available). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 307505e9a4ce0b13b2f996385669039806e07390 Author: Ben Hutchings Date: Fri Dec 26 13:48:00 2008 -0800 sfc: SFT9001: Add cable diagnostics The SFT9001 firmware implements cable diagnostics; run those and include their results in a self-test. In case of a cable fault, do not fail the self-test as a whole; only faults in the NIC should cause that. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1796721a5a691a5d392abf8070ad40a0b787b667 Author: Ben Hutchings Date: Fri Dec 26 13:47:25 2008 -0800 sfc: Add support for multiple PHY self-tests Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2ef3068e6c40ec44d27f6f8027616e284d1b0466 Author: Ben Hutchings Date: Fri Dec 26 13:47:04 2008 -0800 sfc: Merge top-level functions for self-tests Pass in ethtool test flags to determine which tests to run. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a5692e49cd9e6512c48ebf61e52991cbe643c12d Author: Ben Hutchings Date: Fri Dec 26 13:46:38 2008 -0800 sfc: Clean up PHY mode management in loopback self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit caa8d8bbddc9157cb8f34465be98fc83faf37155 Author: Ben Hutchings Date: Fri Dec 26 13:46:12 2008 -0800 sfc: Fix unreliable link detection in some loopback modes Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6977dc6309ea8bbcb24c0a1356c33969e4a07410 Author: Ben Hutchings Date: Fri Dec 26 13:44:39 2008 -0800 sfc: Generate unique names for per-NIC workqueues Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e727149e26b08550269a7786fda977aed65578f6 Author: Holger Eitzenberger Date: Fri Dec 26 13:41:53 2008 -0800 802.3ad: use standard ethhdr instead of ad_header 802.3ad has its own ethhdr-like structure in the form of an ad_header, which is at the start of both the LACPDU and marker PDU. Both are the same from the struct values, both are packed as well. It's therefore perfectly fine to replace the ad_header by the ethhdr and to remove its definition. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit e4ac43200fd6b8b8de3b487e74e74d3742f70d79 Author: Holger Eitzenberger Date: Fri Dec 26 13:40:48 2008 -0800 802.3ad: generalize out mac address initializer Generalize out mac address initializer for the LACPDU multicast address and use in two places. Remove the now unused AD_MULTICAST_LACPDU_ADDR. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 7addeef6b15c9b7cffaaf40ec5b5b0940145ec16 Author: Holger Eitzenberger Date: Fri Dec 26 13:28:33 2008 -0800 802.3ad: initialize ports LACPDU from const initializer Save some text by initializing ports LACPDU from const initializer, then get rid of ad_initialize_lacpdu(). Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 87f422f8618c541db0f96194cca9465817f76b89 Author: Holger Eitzenberger Date: Fri Dec 26 13:27:57 2008 -0800 802.3ad: remove typedef around ad_system As typedefs are considered a bad thing most of the time remove the typedef around ad_system. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 1624db7be0d9f77f5494efe1b066d1d44b46c96c Author: Holger Eitzenberger Date: Fri Dec 26 13:27:21 2008 -0800 802.3ad: turn ports is_individual into a bool Turn ports is_individual into a bool. There is no functional change. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit f48127b6f3270cf7234a7a9f770533332e85e8ae Author: Holger Eitzenberger Date: Fri Dec 26 13:26:54 2008 -0800 802.3ad: turn ports is_enabled into a bool Turn ports is_enabled into a bool. There is no functional change. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit d238d458a70ad134cb421c3ffc66242277f30dda Author: Holger Eitzenberger Date: Fri Dec 26 11:18:15 2008 -0800 802.3ad: make ntt bool Turn Need-To-Transmit port variable into a bool. There is no functional change. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit be4d638c1597580ed2294d899d9f1a2cd10e462c Author: Rusty Russell Date: Fri Dec 26 22:23:43 2008 +1030 cpumask: Replace cpu_coregroup_map with cpu_coregroup_mask cpu_coregroup_map returned a cpumask_t: it's going away. (Note, the sched part of this patch won't apply meaningfully to the sched tree, but I'm posting it to show the goal). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Jens Axboe Cc: Ingo Molnar commit 9be3eec2c83848a1ca57ebad13c63c95d0df01e2 Author: Rusty Russell Date: Fri Dec 26 22:23:42 2008 +1030 cpumask: cpu_coregroup_mask(): s390 Like cpu_coregroup_map, but returns a (const) pointer. Compile-tested on s390 (defconfig). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit a0ae09b46a516f05ea76e3419ad43c46f52c1165 Author: Rusty Russell Date: Fri Dec 26 22:23:42 2008 +1030 cpumask: cpu_coregroup_mask(): sparc Like cpu_coregroup_map, but returns a (const) pointer. Compile-tested on sparc64 (defconfig). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 030bb203e01db12e3f2866799f4f03a114d06349 Author: Rusty Russell Date: Fri Dec 26 22:23:41 2008 +1030 cpumask: cpu_coregroup_mask(): x86 Impact: New API Like cpu_coregroup_map, but returns a (const) pointer. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar commit 2258a5bb1064351b552aceaff29393967d694fa3 Author: Rusty Russell Date: Fri Dec 26 22:23:41 2008 +1030 cpumask: alpha: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. I'm not sure the existing code even compiles, but new version is straightforward. Signed-off-by: Rusty Russell Cc: Richard Henderson commit b4a2f916a8326065816a0743dd1b0ca2ffd18f5f Author: Rusty Russell Date: Fri Dec 26 22:23:40 2008 +1030 cpumask: Mips: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Signed-off-by: Rusty Russell Cc: Ralf Baechle commit fbb776c3ca4501d5a2821bf1e9bceefcaec7ae47 Author: Rusty Russell Date: Fri Dec 26 22:23:40 2008 +1030 cpumask: IA64: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. We can also use the new for_each_cpu_and() to avoid a temporary cpumask, and a gratuitous test in sn_topology_show. (Includes fix from KOSAKI Motohiro ) Signed-off-by: Rusty Russell Cc: Tony Luck Cc: KOSAKI Motohiro commit 86c6f274f52c3e991d429869780945c0790e7b65 Author: Rusty Russell Date: Fri Dec 26 22:23:39 2008 +1030 cpumask: powerpc: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. (Also replaces powerpc internal uses of node_to_cpumask). Signed-off-by: Rusty Russell Cc: Benjamin Herrenschmidt commit 7479a2939df4957ba794cce814379b6d10914bdc Author: Rusty Russell Date: Fri Dec 26 22:23:39 2008 +1030 cpumask: sh: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Signed-off-by: Rusty Russell Cc: Paul Mundt commit 96d76a74870d5f11ce2abdd09a8dcdc401d714d1 Author: Rusty Russell Date: Fri Dec 26 22:23:38 2008 +1030 cpumask: sparc: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Signed-off-by: Rusty Russell Acked-by: David S. Miller commit 393d68fb9929817cde7ab31c82d66fcb28ad35fc Author: Rusty Russell Date: Fri Dec 26 22:23:38 2008 +1030 cpumask: x86: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. Also makes __pcibus_to_node take a const pointer. Signed-off-by: Rusty Russell Acked-by: Ingo Molnar commit 00c23634879062d1c38d60128bf150c394a359e8 Author: Yinghai Lu Date: Tue Dec 23 17:29:00 2008 -0800 sparseirq: remove duplicated arch_early_irq_init() Impact: clean up We already have a weak copy of this function in init/main.c Signed-off-by: Yinghai Signed-off-by: Ingo Molnar commit d3fa4721456226d77475181a4bfbe5b3d899d65c Author: Peter P Waskiewicz Jr Date: Fri Dec 26 01:36:33 2008 -0800 ixgbe: Fix set_ringparam in ixgbe to use the same memory pools. The adapter rings are kcalloc()'d, but in set_ringparam() in ixgbe_ethtool, we replace that memory from the vmalloc() pool. This can result in a NULL pointer reference when trying to modify the rings at a later time, or on device removal. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7adf1525befb5606462431eb1a4ea40ded5baef4 Author: Peter P Waskiewicz Jr Date: Fri Dec 26 01:36:05 2008 -0800 ixgbe: Fix NAPI enable/disable path when using DCB This change allows DCB mode to change the number of queues, and presumably the number of NAPI instances, safely. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d7b06636be162d3f74c9ce5d6d0d9ea4e5d362c8 Author: Peter P Waskiewicz Jr Date: Fri Dec 26 01:35:35 2008 -0800 net: Init NAPI dev_list on napi_del The recent GRO patches introduced the NAPI removal of devices in free_netdev. For drivers that can change the number of queues during driver operation, the NAPI infrastructure doesn't allow the freeing and re-addition of NAPI entities without reloading the driver. This change reinitializes the dev_list in each NAPI struct on delete, instead of just deleting it (and assigning the list pointers to POISON). Drivers that wish to remove/re-add NAPI will need to re-initialize the netdev napi_list after removing all NAPI instances, before re-adding NAPI devices again. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 26bc19ecf6c077c926827c25631340fd2e8fb16e Author: Alexander Duyck Date: Fri Dec 26 01:34:11 2008 -0800 igb: re-order queues to support cleaner use of ivar on 82576 The 82576 adapter orders the queues in pairs when virtualization is in use. The queue ordering previously conflicted with the ordering when sr-iov was enabled. This new ordering allows a PF to allocate 2 queues without using any VF resources. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0e014cb16234c3797aa518d46fe7e1fe91ebcca9 Author: Alexander Duyck Date: Fri Dec 26 01:33:18 2008 -0800 igb: defeature tx head writeback This patch removes tx head writeback as it was found to not provide a significant improvement in tx performance and on some systems has been seen to cause a performance degredation due to partial cache line writes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f2712fd0b4097e8385bdb75c0ebd285a057fe299 Author: Herbert Xu Date: Fri Dec 26 01:31:18 2008 -0800 ipsec: Remove useless ret variable This patch removes a useless ret variable from the IPv4 ESP/UDP decapsulation code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fdb614c28487df41f7bf2c98e85f29f31885561e Author: Anton Vorontsov Date: Tue Dec 23 06:59:25 2008 +0000 ucc_geth: Eliminate the need for forward references This patch simply reorders some functions to eliminate the need for forward references. No other changes than that. Suggested-by: Timur Tabi Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 9c54004ea717116a10886e254e26502ffb1136e9 Author: David Woodhouse Date: Tue Dec 23 04:09:02 2008 +0000 atm: Driver for Solos PCI ADSL2+ card. This adds basic support for the 'Solos' PCI ADSL2+ cards being developed by Traverse Technologies and Xrio Ltd: http://www.traverse.com.au/productview.php?product_id=116 Signed-off-by: Nathan Williams Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 236b87c29953a87a6817e96e311b0efd00e95dc7 Author: Tilman Schmidt Date: Fri Dec 26 01:22:03 2008 -0800 gigaset: ifdef cleanup Remove unnecessary #ifdef-s and #if-0-ed code sections. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit c8770dcabd6a615b155c25dc4d57251d3e7f151c Author: Tilman Schmidt Date: Fri Dec 26 01:21:29 2008 -0800 gigaset: use pr_err() and pr_info() Switch from private printk wrapper macros to using pr_err() and pr_info() from linux/kernel.h, at the same time unifying a few error messages. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4d8cd002602987ddc9507b5390800343f820ac92 Author: Divy Le Ray Date: Fri Dec 26 01:16:39 2008 -0800 cxgb3: add control to access embedded images Update contol path between cxgb3 and ULP modules (iWARP, iSCSI) to provide access to firware and protocol engine info. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 18eefedfe8ad33e8fc7614c13359e29a9fab4644 Author: KOSAKI Motohiro Date: Fri Dec 26 12:29:48 2008 +0900 irq: simplify for_each_irq_desc() usage Impact: cleanup all for_each_irq_desc() usage point have !desc check. then its check can move into for_each_irq_desc() macro. Signed-off-by: KOSAKI Motohiro Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 26ddd8d5cac8a563953d5febe8c6e40909f7bce1 Author: KOSAKI Motohiro Date: Fri Dec 26 14:24:10 2008 +0900 proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c Impact: cleanup irq_desc can be NULL when CONFIG_SPARSE_IRQ=y only. therefore, NULL checking can move into kstat_irqs_cpu() of SPARSE_IRQ version. Signed-off-by: KOSAKI Motohiro Acked-by: "Yinghai Lu" Signed-off-by: Ingo Molnar commit f9af0e70911e9d6cc9a68f784dca86415486084d Author: KOSAKI Motohiro Date: Fri Dec 26 12:24:24 2008 +0900 irq: for_each_irq_desc() move to irqnr.h Impact: cleanup before CONFIG_SPARSE_IRQ age, for_each_irq_desc() sat in irqnr.h and could be called from generic code. CONFIG_SPARSE_IRQ breaks this assumption, but SPARSE_IRQ version for_each_irq_desc() also can move into irqnr.h easily. Also, this patch unifies CONFIG_SPARSE_IRQ and !CONFIG_SPARSE_IRQ for_each_irq_desc(). Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 51bc39f4ba35bae153b32145077fb1109bcae14c Author: KOSAKI Motohiro Date: Fri Dec 26 12:23:00 2008 +0900 hrtimer: remove #include Impact: cleanup can be removed and should be, because: - hrtimer doesn't use any irq feature. - shouldn't be include from generic code. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit bd8b96dfc216eebc72950a6c40da8d3eca8667df Author: Ingo Molnar Date: Fri Dec 26 09:20:22 2008 +0100 x86: clean up comment style in arch/x86/kernel/traps.c Impact: cleanup Signed-off-by: Ingo Molnar commit c656d9ca48d3ef1a11449e892ce488ee0bb5a335 Merge: 71ab6b2... a73ad33... Author: Ingo Molnar Date: Fri Dec 26 09:21:05 2008 +0100 Merge branch 'x86/fpu' into x86/cleanups commit 6dd014808f91ad99d4d794cf7c7c69610c10f904 Author: Hannes Eder Date: Fri Dec 26 00:15:03 2008 -0800 drivers/net/wireless/prism54: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/prism54/islpci_hotplug.c:97:1: warning: symbol 'prism54_probe' was not declared. Should it be static? drivers/net/wireless/prism54/islpci_hotplug.c:220:1: warning: symbol 'prism54_remove' was not declared. Should it be static? drivers/net/wireless/prism54/islpci_hotplug.c:263:1: warning: symbol 'prism54_suspend' was not declared. Should it be static? drivers/net/wireless/prism54/islpci_hotplug.c:286:1: warning: symbol 'prism54_resume' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit a3d1fd23e1ff2deeda0415805cf9a044dda7f55c Author: Hannes Eder Date: Fri Dec 26 00:14:41 2008 -0800 drivers/net/wireless/ipw2x00: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/ipw2x00/ipw2100.c:5271:6: warning: symbol 'ipw2100_queues_initialize' was not declared. Should it be static? drivers/net/wireless/ipw2x00/ipw2100.c:5278:6: warning: symbol 'ipw2100_queues_free' was not declared. Should it be static? drivers/net/wireless/ipw2x00/ipw2100.c:5285:5: warning: symbol 'ipw2100_queues_allocate' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 11ab72a7c94f3ccac05b85928875fdc4f1ed5e9b Author: Hannes Eder Date: Fri Dec 26 00:13:46 2008 -0800 drivers/net/wireless/b43: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/b43/phy_a.c:80:6: warning: symbol 'b43_radio_set_tx_iq' was not declared. Should it be static? drivers/net/wireless/b43/phy_a.c:150:6: warning: symbol 'b43_radio_init2060' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:57:10: warning: symbol 'b43_radio_channel_codes_bg' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:218:6: warning: symbol 'b43_set_txpower_g' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:386:6: warning: symbol 'b43_nrssi_hw_write' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:393:5: warning: symbol 'b43_nrssi_hw_read' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:404:6: warning: symbol 'b43_nrssi_hw_update' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:418:6: warning: symbol 'b43_nrssi_mem_update' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:592:6: warning: symbol 'b43_calc_nrssi_slope' was not declared. Should it be static? drivers/net/wireless/b43/phy_g.c:1357:5: warning: symbol 'b43_radio_init2050' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit bf512bc827c84f77553538834fffe71604079f23 Author: Hannes Eder Date: Fri Dec 26 00:13:29 2008 -0800 drivers/net/wireless/ath9k: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/ath9k/eeprom.c:195:6: warning: symbol 'ath9k_fill_eeprom' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:463:5: warning: symbol 'ath9k_check_eeprom' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1219:6: warning: symbol 'ath9k_hw_set_def_power_per_rate_table' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1510:6: warning: symbol 'ath9k_hw_set_4k_power_per_rate_table' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2007:5: warning: symbol 'ath9k_set_txpower' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2106:6: warning: symbol 'ath9k_set_addac' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2543:6: warning: symbol 'ath9k_eeprom_set_board_values' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2606:5: warning: symbol 'ath9k_get_eeprom_antenna_cfg' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2622:4: warning: symbol 'ath9k_hw_get_4k_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2628:4: warning: symbol 'ath9k_hw_get_def_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2647:4: warning: symbol 'ath9k_get_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2790:5: warning: symbol 'ath9k_get_eeprom' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2ed5ba890e1e8dda89557e4ea233a26ab8bf3d58 Author: Hannes Eder Date: Fri Dec 26 00:12:59 2008 -0800 drivers/net/wireless: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/wireless/airo.c:3610:6: warning: symbol 'mpi_receive_802_11' was not declared. Should it be static? drivers/net/wireless/atmel.c:3183:6: warning: symbol 'atmel_join_bss' was not declared. Should it be static? drivers/net/wireless/ray_cs.c:831:5: warning: symbol 'ray_dev_init' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 62c5345db704c912b485f6b60dab381c9cebf268 Author: Hannes Eder Date: Fri Dec 26 00:12:08 2008 -0800 drivers/net/wan/z85230.c: fix sparse warnings: un-EXPORT symbols The symbols are only references within the translation unit they are defined in, so un-EXPORT them und make them 'static'. Fix this sparse warnings: drivers/net/wan/z85230.c:604:25: warning: symbol 'z8530_dma_sync' was not declared. Should it be static? drivers/net/wan/z85230.c:613:25: warning: symbol 'z8530_txdma_sync' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 7b3dfa11cdef38bda07b99991f2f88c86df67ed2 Author: Hannes Eder Date: Fri Dec 26 00:11:21 2008 -0800 drivers/net/wan: fix sparse warning: make symbol static Fix this sparse warning: drivers/net/wan/x25_asy.c:623:5: warning: symbol 'x25_asy_esc' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit d157e0230f205f5dd646c4e0985030367de7aa4c Author: Hannes Eder Date: Mon Dec 22 09:17:55 2008 +0000 drivers/net/wan: fix sparse warnings: make do-while a compound statement Fix this sparse warnings: drivers/net/wan/wanxl.c:414:3: warning: do-while statement is not a compound statement drivers/net/wan/wanxl.c:441:3: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit ec1d1ebbb3bdc9807474be28c29efa155d15b850 Author: Hannes Eder Date: Fri Dec 26 00:07:45 2008 -0800 drivers/net/tulip: fix sparse warnings: make do-while a compound statement Fix this sparse warnings: drivers/net/tulip/de2104x.c:1695:4: warning: do-while statement is not a compound statement drivers/net/tulip/tulip_core.c:1433:5: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 27cd6ae5619084f363630683e77d70be38075afe Author: Hannes Eder Date: Fri Dec 26 00:07:15 2008 -0800 drivers/net/tokenring: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/tokenring/ibmtr.c:1840:6: warning: symbol 'tok_rerun' was not declared. Should it be static? drivers/net/tokenring/madgemc.c:469:16: warning: symbol 'madgemc_setnselout_pins' was not declared. Should it be static? drivers/net/tokenring/proteon.c:286:16: warning: symbol 'proteon_setnselout_pins' was not declared. Should it be static? drivers/net/tokenring/skisa.c:303:16: warning: symbol 'sk_isa_setnselout_pins' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 409b204435b85f7e159230c216f334a862cb3b95 Author: Hannes Eder Date: Fri Dec 26 00:06:28 2008 -0800 drivers/net/skfp: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/skfp/skfddi.c:620:13: warning: symbol 'skfp_interrupt' was not declared. Should it be static? drivers/net/skfp/skfddi.c:687:25: warning: symbol 'skfp_ctl_get_stats' was not declared. Should it be static? drivers/net/skfp/skfddi.c:1232:6: warning: symbol 'CheckSourceAddress' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2f22d22ea7e95d45353b790ac52975a42e3a8558 Author: Hannes Eder Date: Fri Dec 26 00:04:53 2008 -0800 drivers/net/qlge: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/qlge/qlge_ethtool.c:100:6: warning: symbol 'ql_update_stats' was not declared. Should it be static? drivers/net/qlge/qlge_mpi.c:22:5: warning: symbol 'ql_get_mb_sts' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit f8057b7fefea1daca6928cbb95751d01fc934a41 Author: Hannes Eder Date: Fri Dec 26 00:04:26 2008 -0800 drivers/net/netxen: fix sparse warnings: use NULL pointer instead of plain integer Fix this sparse warnings: drivers/net/netxen/netxen_nic_hw.c:1462:18: warning: Using plain integer as NULL pointer drivers/net/netxen/netxen_nic_hw.c:1536:18: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e855aac805dd9c68b6fabe395cbc8e05f0eda6e4 Author: Hannes Eder Date: Fri Dec 26 00:03:59 2008 -0800 drivers/net/ixgbe: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/ixgbe/ixgbe_82598.c:180:5: warning: symbol 'ixgbe_get_copper_link_capabilities_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:245:5: warning: symbol 'ixgbe_setup_fc_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:729:5: warning: symbol 'ixgbe_set_vmdq_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:773:5: warning: symbol 'ixgbe_set_vfta_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:897:5: warning: symbol 'ixgbe_read_analog_reg8_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:919:5: warning: symbol 'ixgbe_write_analog_reg8_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:940:5: warning: symbol 'ixgbe_read_i2c_eeprom_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_82598.c:1000:5: warning: symbol 'ixgbe_get_supported_physical_layer_82598' was not declared. Should it be static? drivers/net/ixgbe/ixgbe_dcb_82598.c:100:5: warning: symbol 'ixgbe_dcb_config_packet_buffers_82598' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 0e49e64526ccd8cb78d7c4b4a732024ff221d4d0 Author: Hannes Eder Date: Fri Dec 26 00:03:19 2008 -0800 drivers/net/irda: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/irda/ma600-sir.c:239:5: warning: symbol 'ma600_reset' was not declared. Should it be static? drivers/net/irda/smsc-ircc2.c:875:5: warning: symbol 'smsc_ircc_hard_xmit_sir' was not declared. Should it be static? drivers/net/irda/smsc-ircc2.c:1131:6: warning: symbol 'smsc_ircc_set_sir_speed' was not declared. Should it be static? drivers/net/irda/smsc-ircc2.c:1897:6: warning: symbol 'smsc_ircc_sir_start' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:150:5: warning: symbol 'w83977af_open' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:313:5: warning: symbol 'w83977af_probe' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:412:6: warning: symbol 'w83977af_change_speed' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:492:5: warning: symbol 'w83977af_hard_xmit' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:734:5: warning: symbol 'w83977af_dma_receive' was not declared. Should it be static? drivers/net/irda/w83977af_ir.c:806:5: warning: symbol 'w83977af_dma_receive_complete' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 678c610b5a069a0a76c3189dd9aa801e5d5cd7e0 Author: Hannes Eder Date: Fri Dec 26 00:02:49 2008 -0800 drivers/net/igb: remove dead code (function 'igb_read_pci_cfg') Fix this warning: drivers/net/igb/e1000_mac.c:54: warning: 'igb_read_pci_cfg' defined but not used Signed-off-by: Hannes Eder Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5e4232ee5d7a1d2b2399e9080bf2f1a28444c80b Author: Hannes Eder Date: Fri Dec 26 00:01:18 2008 -0800 drivers/net/enic: fix sparse warning: make symbol static Fix this sparse warning: drivers/net/enic/vnic_dev.c:288:5: warning: symbol 'vnic_dev_capable' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit fa4c16da738952882d51b265adbef1d8d329d50f Author: Hannes Eder Date: Mon Dec 22 09:16:13 2008 +0000 drivers/net/e1000e: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/e1000e/es2lan.c:1265:5: warning: symbol 'e1000_read_kmrn_reg_80003es2lan' was not declared. Should it be static? drivers/net/e1000e/es2lan.c:1298:5: warning: symbol 'e1000_write_kmrn_reg_80003es2lan' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit af8eca5cbbc8f991ec14c8d7e3350bbe2ea49655 Author: Hannes Eder Date: Thu Dec 25 23:59:28 2008 -0800 drivers/net/cxgb3: comment out dead code The function 'vsc8211_set_speed_duplex' is not used, so comment it out. For 'vsc8211_set_automdi' the function 'vsc8211_set_speed_duplex' is the only caller, so comment it out as well. Fix this (sparse) warning: drivers/net/cxgb3/vsc8211.c:269: warning: 'vsc8211_set_automdi' defined but not used drivers/net/cxgb3/vsc8211.c:295:5: warning: symbol 'vsc8211_set_speed_duplex' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b06715b7a3db551dcf4706f05e8d2285a66fe05f Author: Hannes Eder Date: Thu Dec 25 23:58:57 2008 -0800 drivers/net/bonding: fix sparse warnings: move decls to header file Fix this sparse warnings: drivers/net/bonding/bond_main.c:104:20: warning: symbol 'bonding_defaults' was not declared. Should it be static? drivers/net/bonding/bond_main.c:204:22: warning: symbol 'ad_select_tbl' was not declared. Should it be static? drivers/net/bonding/bond_sysfs.c:60:21: warning: symbol 'bonding_rwsem' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 9dc20f553f8cb548feaba9dae0cb4905327ecbac Author: Hannes Eder Date: Thu Dec 25 23:58:35 2008 -0800 drivers/net/atlx: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/atlx/atl1.c:198:16: warning: symbol 'atl1_check_options' was not declared. Should it be static? drivers/net/atlx/atl1.c:526:5: warning: symbol 'atl1_read_mac_addr' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 888432f6720bec93ddae93c4d1483a18198a1b3b Author: Hannes Eder Date: Thu Dec 25 23:57:21 2008 -0800 drivers/net/arcnet: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/arcnet/capmode.c:64:6: warning: symbol 'arcnet_cap_init' was not declared. Should it be static? drivers/net/arcnet/com90xx.c:586:5: warning: symbol 'com90xx_reset' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit dac499f912abd5838fa3501efdcd0f23d5f4fc29 Author: Hannes Eder Date: Thu Dec 25 23:56:45 2008 -0800 drivers/net: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/net/3c523.c:350:6: warning: symbol 'alloc586' was not declared. Should it be static? drivers/net/cs89x0.c:1029:14: warning: symbol 'reset_chip' was not declared. Should it be static? drivers/net/eepro.c:1399:1: warning: symbol 'read_eeprom' was not declared. Should it be static? drivers/net/plip.c:1020:5: warning: symbol 'plip_hard_header_cache' was not declared. Should it be static? drivers/net/s2io.c:5116:6: warning: symbol 'do_s2io_store_unicast_mc' was not declared. Should it be static? drivers/net/smc9194.c:767:12: warning: symbol 'smc_findirq' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit a08b32df1417146b1a4c43e641ec1177da51896c Author: Hannes Eder Date: Thu Dec 25 23:56:04 2008 -0800 drivers/net: fix sparse warning: returning void-valued expression Fix this sparse warning: drivers/net/niu.c:8850:2: warning: returning void-valued expression Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e4c3c13cb4c4985cb62cf28677fc0ace69a8d69f Author: Hannes Eder Date: Thu Dec 25 23:55:35 2008 -0800 drivers/net: fix sparse warnings: make do-while a compound statement While at it insert some extra curly braces and fix formatting. Fix this sparse warnings: drivers/net/atp.c:811:8: warning: do-while statement is not a compound statement drivers/net/atp.c:813:8: warning: do-while statement is not a compound statement drivers/net/atp.c:815:11: warning: do-while statement is not a compound statement drivers/net/atp.c:817:11: warning: do-while statement is not a compound statement drivers/net/plip.c:642:4: warning: do-while statement is not a compound statement drivers/net/plip.c:647:4: warning: do-while statement is not a compound statement drivers/net/plip.c:820:4: warning: do-while statement is not a compound statement drivers/net/plip.c:825:4: warning: do-while statement is not a compound statement drivers/net/starfire.c:886:3: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2705d4f87c068552f45e5d6feaa5c468a312f761 Author: Hannes Eder Date: Thu Dec 25 23:52:57 2008 -0800 drivers/net: fix sparse warning: use ANSI-style function declaration Fix this sparse warning: drivers/net/ne.c:932:24: warning: non-ANSI function declaration of function 'init_module' Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit d76e56b4c620c959fa8346c08d24ee4b2783a564 Author: Nathan Lynch Date: Mon Dec 22 08:42:11 2008 +0000 ehea: use get_zeroed_page for alignment-sensitive allocation With slub debug enabled, I see the following errors and crash with 2.6.28-rc9: IBM eHEA ethernet device driver (Release EHEA_0095) ehea: Error in ehea_h_register_rpage_mr: not on pageboundary ehea: Error in ehea_reg_mr_section: register_rpage_mr failed ehea: Error in ehea_reg_kernel_mr: registering mr failed ehea: Error in ehea_setup_ports: creating MR failed ehea 23c00100.lhea: setup_ports failed Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6bbdcb Faulting instruction address: 0xd000000000064a24 cpu 0x0: Vector: 300 (Data Access) at [c0000000740e7190] pc: d000000000064a24: .ehea_update_firmware_handles+0x84/0x47c [ehea] lr: d00000000006df34: .ehea_probe_adapter+0x35c/0x39c [ehea] sp: c0000000740e7410 msr: 8000000000009032 dar: 6b6b6b6b6b6bbdcb dsisr: 40000000 current = 0xc000000074233780 paca = 0xc0000000008a3300 pid = 2046, comm = modprobe enter ? for help [c0000000740e74f0] d00000000006df34 .ehea_probe_adapter+0x35c/0x39c [ehea] [c0000000740e75a0] c00000000041d5a4 .of_platform_device_probe+0x78/0xb0 [c0000000740e7630] c0000000002d8b38 .driver_probe_device+0x13c/0x200 [c0000000740e76c0] c0000000002d8c90 .__driver_attach+0x94/0xd8 [c0000000740e7750] c0000000002d7d64 .bus_for_each_dev+0x80/0xd8 [c0000000740e7800] c0000000002d889c .driver_attach+0x28/0x40 [c0000000740e7880] c0000000002d8340 .bus_add_driver+0xd4/0x284 [c0000000740e7920] c0000000002d90a0 .driver_register+0xc4/0x198 [c0000000740e79d0] c00000000041d45c .of_register_driver+0x4c/0x60 [c0000000740e7a50] c000000000020ef8 .ibmebus_register_driver+0x30/0x4c [c0000000740e7ae0] d00000000006e108 .ehea_module_init+0x194/0x208c [ehea] [c0000000740e7b90] c000000000009028 .do_one_initcall+0x90/0x1ac [c0000000740e7d90] c00000000008619c .sys_init_module+0xc4/0x200 [c0000000740e7e30] c0000000000084ac syscall_exit+0x0/0x40 (When slub debug is disabled it works fine.) PAGE_SIZE allocations via slab are not guaranteed to be page-aligned; use get_zeroed_page for the 'pt' buffer (I don't really know what this is, only that it is passed to firmware and that the first error message complains about its alignment). This allows the system to boot. Signed-off-by: Nathan Lynch Signed-off-by: David S. Miller commit 359d67d6ad054ae11ad459665fdfb883aca87782 Author: Julia Lawall Date: Mon Dec 22 21:53:40 2008 +0000 [CIFS] Remove redundant test In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning of the function, and not reassigned subsequently. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) Signed-off-by: Julia Lawall Signed-off-by: Steve French commit c6fbba0546d3ead18d4a623e76e28bcbaa66a325 Author: Steve French Date: Thu Dec 18 01:41:20 2008 +0000 [CIFS] make sure that DFS pathnames are properly formed The paths in a DFS request are supposed to only have a single preceding backslash, but we are sending them with a double backslash. This is exposing a bug in Windows where it also sends a path in the response that has a double backslash. The existing code that builds the mount option string however expects a double backslash prefix in a couple of places when it tries to use the path returned by build_path_from_dentry. Fix compose_mount_options to expect properly formed DFS paths (single backslash at front). Also clean up error handling in that function. There was a possible NULL pointer dereference and situations where a partially built option string would be returned. Tested against Samba 3.0.28-ish server and Samba 3.3 and Win2k8. CC: Stable Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ac6a3ef405f314c206906463ca9913a826a577ee Author: Volker Lendecke Date: Sat Dec 6 16:40:40 2008 +0100 Remove an already-checked error condition in SendReceiveBlockingLock Remove an already-checked error condition in SendReceiveBlockingLock Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 698e96a826939bb24063f6a61801c174e19c32b1 Author: Volker Lendecke Date: Sat Dec 6 16:39:31 2008 +0100 Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 17c8bfed8abbbed82937a751abfc40d2866e3196 Author: Volker Lendecke Date: Sat Dec 6 16:38:19 2008 +0100 Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 2b2bdfba7a3679f67b7c3aca4a4b08b24bb675a8 Author: Steve French Date: Thu Dec 11 17:26:54 2008 +0000 [CIFS] Streamline SendReceive[2] by using "goto out:" in an error condition Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 8e4f2e8a1e5cfa07c5b2731accee0e6eb4c64575 Author: Volker Lendecke Date: Sat Dec 6 16:22:15 2008 +0100 Slightly streamline SendReceive[2] Slightly streamline SendReceive[2] Remove an else branch by naming the error condition what it is Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 829049cbb1d2ddda2be17ea008b6b3c457808d91 Author: Volker Lendecke Date: Sat Dec 6 16:00:53 2008 +0100 Check the return value of cifs_sign_smb[2] Check the return value of cifs_sign_smb[2] Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 4c3130efda1ef4f28d5f26819fae2e58c3945f0b Author: Steve French Date: Tue Dec 9 00:28:16 2008 +0000 [CIFS] Cleanup: Move the check for too large R/W requests This avoids an unnecessary else branch Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 27a97a613b96688e59dd116cae3f0c94107b434c Author: Volker Lendecke Date: Mon Dec 8 20:59:39 2008 +0000 [CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary "else" branch This is no functional change, because in the "if" branch we do an early "return 0;". Signed-off-by: Volker Lendecke Signed-off-by: Steve French commit 8fbbd365cc700e288fb6f9780b092c5afa4946e5 Author: Volker Lendecke Date: Sat Dec 6 13:12:34 2008 +0100 Simplify allocate_mid() slightly: Remove some unnecessary "else" branches Simplify allocate_mid() slightly: Remove some unnecessary "else" branches Signed-off-by: Volker Lendecke Acked-by: Jeff Layton Signed-off-by: Steve French commit 6d9c6d543165d1d492602c1371cb019040093584 Author: Volker Lendecke Date: Mon Dec 8 20:50:24 2008 +0000 [CIFS] In SendReceive, move consistency check out of the mutexed region inbuf->smb_buf_length does not change in in wait_for_free_request() or in allocate_mid(), so we can check it early. Signed-off-by: Volker Lendecke Acked-by: Jeff Layton Signed-off-by: Steve French commit 00e485b0198ea4f509341373f1d9adb0a5977a2f Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: store password in tcon cifs: store password in tcon Each tcon has its own password for share-level security. Store it in the tcon and wipe it clean and free it when freeing the tcon. When doing the tree connect with share-level security, use the tcon password instead of the session password. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4e53a3fb98d3d5c2941d2e7199dab317a9d4ead3 Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: have calc_lanman_hash take more granular args cifs: have calc_lanman_hash take more granular args We need to use this routine to encrypt passwords associated with the tcon too. Don't assume that the password will be attached to the smb_session. Also, make some of the values in the lower encryption functions const since they aren't changed. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 55162dec9371a6f6ac63ff546c182cc6144a649e Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: zero out session password before freeing it cifs: zero out session password before freeing it ...just to be on the safe side. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 85705524258f93a6086c3247a58f34a661b82b3d Author: Jeff Layton Date: Fri Dec 5 20:41:21 2008 -0500 cifs: fix wait_for_response to time out sleeping processes correctly cifs: fix wait_for_response to time out sleeping processes correctly The current scheme that CIFS uses to sleep and wait for a response is not quite what we want. After sending a request, wait_for_response puts the task to sleep with wait_event(). One of the conditions for wait_event is a timeout (using time_after()). The problem with this is that there is no guarantee that the process will ever be woken back up. If the server stops sending data, then cifs_demultiplex_thread will leave its response queue sleeping. I think the only thing that saves us here is the fact that cifs_dnotify_thread periodically (every 15s) wakes up sleeping processes on all response_q's that have calls in flight. This makes for unnecessary wakeups of some processes. It also means large variability in the timeouts since they're all woken up at once. Instead of this, put the tasks to sleep with wait_event_timeout. This makes them wake up on their own if they time out. With this change, cifs_dnotify_thread should no longer be needed. I've been testing this in conjunction with some other patches that I'm working on. It doesn't seem to affect performance at all with with heavy I/O. Identical iozone -ac runs complete in almost exactly the same time (<1% difference in times). Thanks to Wasrshi Nimara for initially pointing this out. Wasrshi, it would be nice to know whether this patch also helps your testcase. Signed-off-by: Jeff Layton Cc: Wasrshi Nimara Signed-off-by: Steve French commit 8be0ed44c2fa4afcf2c6d2fb3102c926e9f989df Author: Steve French Date: Fri Dec 5 19:14:12 2008 +0000 [CIFS] Can not mount with prefixpath if root directory of share is inaccessible Windows allows you to deny access to the top of a share, but permit access to a directory lower in the path. With the prefixpath feature of cifs (ie mounting \\server\share\directory\subdirectory\etc.) this should have worked if the user specified a prefixpath which put the root of the mount at a directory to which he had access, but we still were doing a lookup on the root of the share (null path) when we should have been doing it on the prefixpath subdirectory. This fixes Samba bug # 5925 Acked-by: Jeff Layton Signed-off-by: Steve French commit 61e748015866e48aff91284e3d300c6e3035a87a Author: Steve French Date: Wed Dec 3 00:57:54 2008 +0000 [CIFS] various minor cleanups pointed out by checkpatch script Signed-off-by: Steve French commit 3de2091ac722e7dbc37d87d9112ab19ec6a871de Author: Steve French Date: Tue Dec 2 20:52:28 2008 +0000 [CIFS] fix typo Signed-off-by: Steve French commit acc18aa1e643519035abdab5e72dc75e534b5198 Author: Steve French Date: Tue Dec 2 18:53:55 2008 +0000 [CIFS] remove sparse warning Signed-off-by: Steve French commit 13a6e42af8d90e2e8eb7fa50adf862a525b70518 Author: Steve French Date: Tue Dec 2 17:24:33 2008 +0000 [CIFS] add mount option to send mandatory rather than advisory locks Some applications/subsystems require mandatory byte range locks (as is used for Windows/DOS/OS2 etc). Sending advisory (posix style) byte range lock requests (instead of mandatory byte range locks) can lead to problems for these applications (which expect that other clients be prevented from writing to portions of the file which they have locked and are updating). This mount option allows mounting cifs with the new mount option "forcemand" (or "forcemandatorylock") in order to have the cifs client use mandatory byte range locks (ie SMB/CIFS/Windows/NTFS style locks) rather than posix byte range lock requests, even if the server would support posix byte range lock requests. This has no effect if the server does not support the CIFS Unix Extensions (since posix style locks require support for the CIFS Unix Extensions), but for mounts to Samba servers this can be helpful for Wine and applications that require mandatory byte range locks. Acked-by: Jeff Layton CC: Alexander Bokovoy Signed-off-by: Steve French commit d5c5605c27c92dac6de1a7a658af5b030847f949 Author: Jeff Layton Date: Mon Dec 1 18:42:33 2008 -0500 cifs: make ipv6_connect take a TCP_Server_Info arg Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bcf4b1063db246a90b9e09e0556f635d632eef36 Author: Jeff Layton Date: Mon Dec 1 18:42:15 2008 -0500 cifs: make ipv4_connect take a TCP_Server_Info arg In order to unify the smb_send routines, we need to reorganize the routines that connect the sockets. Have ipv4_connect take a TCP_Server_Info pointer and get the necessary fields from that. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7586b76585d15db767c19255ba0ecfb164df99f7 Author: Jeff Layton Date: Mon Dec 1 18:41:49 2008 -0500 cifs: don't declare smb_vol info on the stack struct smb_vol is fairly large, it's probably best to kzalloc it... Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 63c038c29774476c5dae759e348c269342b4dbef Author: Jeff Layton Date: Mon Dec 1 18:41:46 2008 -0500 cifs: move allocation of new TCP_Server_Info into separate function Clean up cifs_mount a bit by moving the code that creates new TCP sessions into a separate function. Have that function search for an existing socket and then create a new one if one isn't found. Also reorganize the initializion of TCP_Server_Info a bit to prepare for cleanup of the socket connection code. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8ecaf67a8ea58c8f131ff045475c74e9538d6b7a Author: Jeff Layton Date: Mon Dec 1 15:23:50 2008 -0500 cifs: account for IPv6 in ses->serverName and clean up netbios name handling The current code for setting the session serverName is IPv4-specific. Allow it to be an IPv6 address as well. Use NIP* macros to set the format. This also entails increasing the length of the serverName field, so declare a new macro for RFC1001 name length and use it in the appropriate places. Finally, drop the unicode_server_Name field from TCP_Server_Info since it's not used. We can add it back later if needed, but for now it just wastes memory. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 954d7a1cf12158fed23dd8b0f3f563d5a5c97f28 Author: Jeff Layton Date: Mon Dec 1 15:23:50 2008 -0500 cifs: make dnotify thread experimental code Now that tasks sleeping in wait_for_response will time out on their own, we're not reliant on the dnotify thread to do this. Mark it as experimental code for now. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 72ca545b2d83ac7de671bf66d2dbc214528b4c0c Author: Jeff Layton Date: Mon Dec 1 07:09:36 2008 -0500 cifs: convert tcpSem to a mutex Mutexes are preferred for single-holder semaphores... Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0468a2cf914e79442b8309ce62e3f861599d8cab Author: Jeff Layton Date: Mon Dec 1 07:09:35 2008 -0500 cifs: take module reference when starting cifsd cifsd can outlive the last cifs mount. We need to hold a module reference until it exits to prevent someone from unplugging the module until we're ready. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 80909022ce966191e6140fcc15d8aff57a7df32e Author: Jeff Layton Date: Mon Dec 1 07:09:35 2008 -0500 cifs: display addr and prefixpath options in /proc/mounts Have cifs_show_options display the addr and prefixpath options in /proc/mounts. Reduce struct dereferencing by adding some local variables. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 24b9b06ba7ea53aa0c4d0b1c8c1e93aa1bd9fe72 Author: Jeff Layton Date: Mon Dec 1 07:09:34 2008 -0500 cifs: remove unused SMB session pointer from struct mid_q_entry Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 26c743bed9b0dc83dc736c68d2a3e7494a9790ad Author: Yevgeny Petrilin Date: Thu Dec 25 18:20:13 2008 -0800 mlx4_en: Remove pauses module parameters. They are controlled through Ethtool interface. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 60b9f9e5588a9e37c35abc2051d57ef12171f916 Author: Yevgeny Petrilin Date: Thu Dec 25 18:19:47 2008 -0800 mlx4_en: Removed Interrupt moderation module parameters They are controlled through Ethtool interface, no need to have two ways to modify them. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit c03ea21fcf549eed42de7aaa965ced8bee17aa76 Author: Yevgeny Petrilin Date: Thu Dec 25 18:14:04 2008 -0800 mlx4_en: Removed redundant cq->armed flag Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 48374ddce72e278e29080e3177e74a13c034d8b4 Author: Yevgeny Petrilin Date: Thu Dec 25 18:13:45 2008 -0800 mlx4_en: Removed TX locking when polling TX cq There is no need to synchronize the polling with the transmit function. The only place to synchronize is when we process the cq from the transmit function. Also removed spin_lock_irq, and using spin_trylock, if somebody else is already processing the cq, no need to wait for it to finish. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit b51968d676db1c4e541b4c84de7ce7af812c9e9f Author: Yevgeny Petrilin Date: Thu Dec 25 18:13:20 2008 -0800 mlx4_en: Memory leak on completion queue free If port is being destroyed without being activated before, CQ resources are not freed. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit e74b3f7d568a62d21a76885438d7351948e7355a Merge: 13e620e... 59f8500... Author: David S. Miller Date: Thu Dec 25 18:10:12 2008 -0800 Merge branch 'for-david' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 commit 13e620e0e6c609ccc9882ea280f4f077500d51a0 Author: Brice Goglin Date: Thu Dec 25 18:09:16 2008 -0800 myri10ge: update driver version to 1.4.4-1.395 Update myri10ge driver version to 1.4.4-1.395. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit e92df2820d2d8de4be3dcbad96eb144ce6fd550d Author: Brice Goglin Date: Thu Dec 25 18:08:59 2008 -0800 myri10ge: update firmware headers to 1.4.37 Update myri10ge firmware headers to 1.4.37: * Make each member of the error/cmd enum an initialized one, so there is a convenient numerical reference to look for reverse conversion. * Add new MXGEFW_CMD_RELAX_RXBUFFER_ALIGNMENT command. * Add new "features" field to mcp_header. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 36994a0a7004fd4777cd93a4b658b5f84bf4c93e Author: Johannes Berg Date: Thu Dec 25 18:07:50 2008 -0800 forcedeth: don't poll NV event 36 Polling doesn't seem to be necessary on my hardware, at least I haven't seen any bad effects testing it a while. Remove the polling so the CPU doesn't have to wake up a hundred times per second. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 88a44e51e9a5202f8856f72400fc87a39205186d Author: Julia Lawall Date: Thu Dec 25 18:04:51 2008 -0800 net/appletalk: Remove redundant test atif is tested for being NULL twice, with the same effect in each case. I have kept the second test, as it seems to fit well with the comment above it. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit c14ea0ca659d378dd377e417162ebd908d1da4ce Author: Julia Lawall Date: Thu Dec 25 18:03:44 2008 -0800 drivers/net/wan: Remove redundant test arg is checked not to be NULL a few lines before. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 90f5dfcc6afafcc3e1c18298143c1213b071990d Author: Julia Lawall Date: Thu Dec 25 18:03:28 2008 -0800 drivers/net: Remove redundant test In each case, ap is checked not to be NULL a few lines before. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 662f44af635f6bde366d44abacaeec7916d9f168 Author: Julia Lawall Date: Thu Dec 25 18:03:09 2008 -0800 drivers/net/ehea: Remove redundant test In each case, vpage is checked not to be NULL just after it is initialized at the beginning of each loop iteration. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit b0fd0d235df2b3cf8e5e244e301614092a9c317c Author: Julia Lawall Date: Thu Dec 25 18:02:49 2008 -0800 drivers/net/au1000_eth.c: Remove redundant test phydev is checked to be not NULL a few lines above. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit c062076cc999795af19ff61d8c76f33e5ceb9ca0 Author: Roel Kluin Date: Thu Dec 25 17:23:50 2008 -0800 qlge: ql_adapter_down() typo Signed-off-by: Roel Kluin Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 619e803d3c1b7bcc17c45e81f309d0b9b3df2d5d Author: Vegard Nossum Date: Thu Dec 25 17:21:17 2008 -0800 netlink: fix (theoretical) overrun in message iteration See commit 1045b03e07d85f3545118510a587035536030c1c ("netlink: fix overrun in attribute iteration") for a detailed explanation of why this patch is necessary. In short, nlmsg_next() can make "remaining" go negative, and the remaining >= sizeof(...) comparison will promote "remaining" to an unsigned type, which means that the expression will evaluate to true for negative numbers, even though it was not intended. I put "theoretical" in the title because I have no evidence that this can actually happen, but I suspect that a crafted netlink packet can trigger some badness. Note that the last test, which seemingly has the exact same problem (also true for nla_ok()), is perfectly OK, since we already know that remaining is positive. Signed-off-by: Vegard Nossum Signed-off-by: David S. Miller commit 64ff3b938ec6782e6585a83d5459b98b0c3f6eb8 Author: Herbert Xu Date: Thu Dec 25 17:12:58 2008 -0800 tcp: Always set urgent pointer if it's beyond snd_nxt Our TCP stack does not set the urgent flag if the urgent pointer does not fit in 16 bits, i.e., if it is more than 64K from the sequence number of a packet. This behaviour is different from the BSDs, and clearly contradicts the purpose of urgent mode, which is to send the notification (though not necessarily the associated data) as soon as possible. Our current behaviour may in fact delay the urgent notification indefinitely if the receiver window does not open up. Simply matching BSD however may break legacy applications which incorrectly rely on the out-of-band delivery of urgent data, and conversely the in-band delivery of non-urgent data. Alexey Kuznetsov suggested a safe solution of following BSD only if the urgent pointer itself has not yet been transmitted. This way we guarantee that when the remote end sees the packet with non-urgent data marked as urgent due to wrap-around we would have advanced the urgent pointer beyond, either to the actual urgent data or to an as-yet untransmitted packet. The only potential downside is that applications on the remote end may see multiple SIGURG notifications. However, this would occur anyway with other TCP stacks. More importantly, the outcome of such a duplicate notification is likely to be harmless since the signal itself does not carry any information other than the fact that we're in urgent mode. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8510b937ae1e23583abdeb828cad5c518295c61d Author: Wei Yongjun Date: Thu Dec 25 16:59:03 2008 -0800 sctp: Add validity check for SCTP_PARTIAL_DELIVERY_POINT socket option The latest ietf socket extensions API draft said: 8.1.21. Set or Get the SCTP Partial Delivery Point Note also that the call will fail if the user attempts to set this value larger than the socket receive buffer size. This patch add this validity check for SCTP_PARTIAL_DELIVERY_POINT socket option. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 9fcb95a105758b81ef0131cd18e2db5149f13e95 Author: Wei Yongjun Date: Thu Dec 25 16:58:11 2008 -0800 sctp: Avoid memory overflow while FWD-TSN chunk is received with bad stream ID If FWD-TSN chunk is received with bad stream ID, the sctp will not do the validity check, this may cause memory overflow when overwrite the TSN of the stream ID. The FORWARD-TSN chunk is like this: FORWARD-TSN chunk Type = 192 Flags = 0 Length = 172 NewTSN = 99 Stream = 10000 StreamSequence = 0xFFFF This patch fix this problem by discard the chunk if stream ID is not less than MIS. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit aea3c5c05d2c409e93bfa80dcedc06af7da6c13b Author: Wei Yongjun Date: Thu Dec 25 16:57:24 2008 -0800 sctp: Implement socket option SCTP_GET_ASSOC_NUMBER Implement socket option SCTP_GET_ASSOC_NUMBER of the latest ietf socket extensions API draft. 8.2.5. Get the Current Number of Associations (SCTP_GET_ASSOC_NUMBER) This option gets the current number of associations that are attached to a one-to-many style socket. The option value is an uint32_t. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ea686a2653c5586b1c7192958b9d521abde66e92 Author: Wei Yongjun Date: Thu Dec 25 16:56:45 2008 -0800 sctp: Fix a typo in socket.c Just fix a typo in socket.c. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit e89c2095815d82eaa9fb85eff42f8b65b67a59cf Author: Wei Yongjun Date: Thu Dec 25 16:54:58 2008 -0800 sctp: Bring SCTP_MAXSEG socket option into ietf API extension compliance Brings maxseg socket option set/get into line with the latest ietf socket extensions API draft, while maintaining backwards compatibility. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 161c8d2f50109b44b664eaf23831ea1587979a61 Author: Krzysztof Halasa Date: Thu Dec 25 16:50:41 2008 -0800 net: PHYLIB mdio fixes #2 The PHYLIB mdio code has more problems in error paths: - mdiobus_release can be called before bus->state is set to MDIOBUS_REGISTERED - mdiobus_scan allocates resources which need to be freed - the comment is wrong, the resistors used are actually pull-ups. Signed-off-by: Krzysztof Halasa Signed-off-by: David S. Miller commit f7d1b9f5aafa371d7f51f644aa3c38bc914e9205 Author: Eric Dumazet Date: Thu Dec 25 16:45:19 2008 -0800 vlan: fix convertion to net_device_ops commit 656299f706e52e0409733d704c2761f1b12d6954 (vlan: convert to net_device_ops) added a net_device_ops with a NULL ndo_start_xmit field. This gives a crash in dev_hard_start_xmit() Fix it using two net_device_ops structures, one for hwaccel vlan, one for non hwaccel vlan. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d45227391c70ea12ec129ebfa97841e9b7ff34fd Author: Steve Glendinning Date: Thu Dec 25 16:44:01 2008 -0800 smsc911x: fix platform resource call during module unload This patch fixes a typo, the platform_get_resource calls in smsc911x_drv_remove are supposed to look the same as those in smsc911x_drv_probe. Reported and fixed by dfoley@telus.net. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit dc26977f77dd3486b59516d2cc03627009c0d4c6 Author: Steve Glendinning Date: Thu Dec 25 16:43:34 2008 -0800 smsc911x: don't clobber driver_data smsc911x uses driver_data to store our net_device, don't overwrite this with the mii_bus. Reported and fixed by dfoley@telus.net. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 7091e728c570157496e52296d2dbe816a6916836 Author: Alexey Dobriyan Date: Thu Dec 25 16:42:51 2008 -0800 netns: igmp: make /proc/net/{igmp,mcfilter} per netns This patch makes the followinf proc entries per-netns: /proc/net/igmp /proc/net/mcfilter Signed-off-by: Alexey Dobriyan Acked-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit b4ee07df3d8121060200dbe1c6686a4e0682bee2 Author: Alexey Dobriyan Date: Thu Dec 25 16:42:23 2008 -0800 netns: igmp: allow IPPROTO_IGMP sockets in netns Looks like everything is already ready. Required for ebtables(8) for one thing. Also, required for ipmr per-netns (coming soon). (Benjamin) Signed-off-by: Alexey Dobriyan Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit cb5b04fe14394a93eb9a3523f5af9f77480a5a04 Author: Steve Glendinning Date: Thu Dec 25 16:41:09 2008 -0800 smsc911x: make smsc911x_ethtool_ops constant Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 631b7568c7d8f0222773e1beb2460a86541ae394 Author: Steve Glendinning Date: Thu Dec 25 16:40:47 2008 -0800 smsc911x: convert driver to use net_device_ops Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit dd0451938815d8b901488b1058f52023892c6cde Author: Steve Glendinning Date: Thu Dec 25 16:40:19 2008 -0800 smsc911x: fix BUG if module is removed while interface is up If the module is removed while its interface is up, smsc911x_stop is not called until after smsc911x_drv_remove has disposed of phy_dev. This patch changes the stop method to handle this situation. This is a different problem to the one reported by dfoley@telus.net. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 71ab6b245fda6e7597a667a67cce0d26c3c7a14b Author: Rusty Russell Date: Thu Dec 25 17:18:43 2008 +1030 x86: remove impossible test in mtrr/main.c Impact: cleanup enable_mtrr_cleanup is static, and is never set to anything but 0 or 1. Signed-off-by: Rusty Russell Signed-off-by: H. Peter Anvin commit a73ad3331fdbf4191cf99b83ea9ac7082b6757ba Author: H. Peter Anvin Date: Thu Dec 25 10:39:01 2008 -0800 x86: unify the implementation of FPU traps On 32 bits, we may suffer IRQ 13, or supposedly we might have a buggy implementation which gives spurious trap 16. We did not check for this on 64 bits, but there is no reason we can't make the code the same in both cases. Furthermore, this is presumably rare, so do the spurious check last, instead of first. Signed-off-by: H. Peter Anvin commit 32e8d18683adb322c994d1a0fe02d66380991f45 Merge: 4a6908a... 0a57b78... 39c04b5... b2e3c0a... 0014744... c29541b... 8187926... a5a6449... Author: Ingo Molnar Date: Thu Dec 25 18:02:25 2008 +0100 Merge branches 'timers/clocksource', 'timers/hpet', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/rtc' into timers/core commit 860cf8894b326e4b89720f520540604834337b72 Merge: e262a7b... 973656f... f2b662d... 4a6908a... Author: Ingo Molnar Date: Thu Dec 25 16:27:54 2008 +0100 Merge branches 'irq/sparseirq', 'irq/genirq' and 'irq/urgent'; commit 'v2.6.28' into irq/core commit 973656fe1afb4adf95d7b9ab75d4660cd3821ea1 Author: Ingo Molnar Date: Thu Dec 25 16:26:47 2008 +0100 x86, sparseirq: clean up Kconfig entry Impact: improve help text Signed-off-by: Ingo Molnar commit 6638101c1124c19c8a65b1645e4ecd09e0572f3e Merge: cc37d3d... 3ae7020... a086366... 00ef9f7... 26cc271... 12d79ba... 3ac5266... 8b752e3... 9212ddb... Author: Ingo Molnar Date: Thu Dec 25 14:06:29 2008 +0100 Merge branches 'core/debugobjects', 'core/iommu', 'core/locking', 'core/printk', 'core/rcu', 'core/resources', 'core/softirq' and 'core/stacktrace' into core/core commit cc37d3d20604f3759d269247b022616f710aa52d Merge: b594deb... b568636... Author: Ingo Molnar Date: Thu Dec 25 13:54:14 2008 +0100 Merge branch 'core/futexes' into core/core commit b594deb0cc54d857828d2e33b2e9d5a9f02f0e89 Merge: 0b271ef... ec5679e... Author: Ingo Molnar Date: Thu Dec 25 13:53:11 2008 +0100 Merge branch 'core/debug' into core/core commit 0b271ef4521756010675b1611bef20fd3096790d Merge: b19b3c7... 4a6908a... Author: Ingo Molnar Date: Thu Dec 25 13:51:46 2008 +0100 Merge commit 'v2.6.28' into core/core commit 4e202284e6ac1695df3eb4a0e549ea78addfb663 Merge: 826e08b... 80f40ee... 4a6908a... Author: Ingo Molnar Date: Thu Dec 25 13:42:23 2008 +0100 Merge branch 'sched/urgent'; commit 'v2.6.28' into sched/core commit cef7125def4dd104769f400c941199614da0aca1 Author: Hendrik Brueckner Date: Thu Dec 25 13:39:55 2008 +0100 [S390] provide documentation for hvc_iucv kernel parameter. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 2a7c6f2c39d1291e55403676b25fcfbff78fc5fb Author: Peter Tiedemann Date: Thu Dec 25 13:39:54 2008 +0100 [S390] convert ctcm printks to dev_xxx and pr_xxx macros. Signed-off-by: Peter Tiedemann Signed-off-by: Martin Schwidefsky commit ecf39d42129767c0b4b4a6cf4997c1219c860934 Author: Christof Schmitt Date: Thu Dec 25 13:39:53 2008 +0100 [S390] convert zfcp printks to pr_xxx macros. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky commit 5466c2e43e78068cfe634b07fe36dd7a6a7af535 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:52 2008 +0100 [S390] convert vmlogrdr printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 17159dc6fb8769e52edb23d138c2b6bc634397a3 Author: Michael Holzheu Date: Thu Dec 25 13:39:51 2008 +0100 [S390] convert zfcp dumper printks to pr_xxx macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 395d31d40cc38270dd7c024691404e2eddf0678d Author: Martin Schwidefsky Date: Thu Dec 25 13:39:50 2008 +0100 [S390] convert cpu related printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 74eacdb9c2bf9fc6e8c6785013b5dd0e551a9dfa Author: Frank Blaschka Date: Thu Dec 25 13:39:49 2008 +0100 [S390] convert qeth printks to dev_xxx and pr_xxx macros. Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit b3ff088b3025c3583194edd7576215b61333111f Author: Martin Schwidefsky Date: Thu Dec 25 13:39:48 2008 +0100 [S390] convert sclp printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 8f7c502c267c0e5e2dbbbdea9f3e7e85bbc95694 Author: Ursula Braun Date: Thu Dec 25 13:39:47 2008 +0100 [S390] convert iucv printks to dev_xxx and pr_xxx macros. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 136f7a1c4239be91e3e0f53532944b9aab7b58f8 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:46 2008 +0100 [S390] convert ap_bus printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 93098bf01578763bb84b627fe893f219cc44b995 Author: Hongjie Yang Date: Thu Dec 25 13:39:45 2008 +0100 [S390] convert dcssblk and extmem printks messages to pr_xxx macros. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky commit 1519c0c6ebd2bfd29bae762a1741963a1d06bca2 Author: Melissa Howland Date: Thu Dec 25 13:39:44 2008 +0100 [S390] convert monwriter printks to pr_xxx macros. Signed-off-by: Melissa Howland Signed-off-by: Martin Schwidefsky commit c5612c1956597687e4bdf59f2649d20d60f5a2b6 Author: Michael Holzheu Date: Thu Dec 25 13:39:43 2008 +0100 [S390] convert s390 debug feature printks to pr_xxx macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a4f5a299cf8468619dc17f0711017c6d72d6ab94 Author: Gerald Schaefer Date: Thu Dec 25 13:39:42 2008 +0100 [S390] convert monreader printks to pr_xxx macros. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit e7534b0ec9a28c53a7bcc874e818a24d3b49680f Author: Gerald Schaefer Date: Thu Dec 25 13:39:41 2008 +0100 [S390] convert appldata printks to pr_xxx macros. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 3b6ed4ab48be2110aa93d9828783bfe86193331d Author: Martin Schwidefsky Date: Thu Dec 25 13:39:40 2008 +0100 [S390] convert setup printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit f55495ba1a56adba57ea7d3164a766d83a631c58 Author: Michael Holzheu Date: Thu Dec 25 13:39:39 2008 +0100 [S390] convert hypfs printks to pr_xxx macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit feab6501d84f7e2f75cf0f5c7d43341431904374 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:38 2008 +0100 [S390] convert time printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit 39f09392498d8ee876bea3ad34f26c447924c818 Author: Jan Glauber Date: Thu Dec 25 13:39:37 2008 +0100 [S390] convert cpacf printks to pr_xxx macros. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit e6d5a428e01b1387852f17b3dd7934239a0be0d4 Author: Michael Ernst Date: Thu Dec 25 13:39:36 2008 +0100 [S390] convert cio printks to pr_xxx macros. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit 80a5c36d1dae15520aa0df0eff713c6c41c46035 Author: Frank Munzert Date: Thu Dec 25 13:39:35 2008 +0100 [S390] convert vmur printks to pr_xxx macros. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 2f526e5acbf1179d30bc9fa1d20b69ec4c0bb689 Author: Christian Borntraeger Date: Thu Dec 25 13:39:34 2008 +0100 [S390] convert cpcmd printks to pr_xxx macros. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit c99fc5dadcd87e8b97613f50c48407678b731cfb Author: Klaus-D. Wacker Date: Thu Dec 25 13:39:33 2008 +0100 [S390] convert lcs printks to dev_xxx and pr_xxx macros. Signed-off-by: Klaus-D. Wacker Signed-off-by: Martin Schwidefsky commit 8988e58f8b7d4b5e8b64435bedf84e4b3987a63d Author: Christian Borntraeger Date: Thu Dec 25 13:39:32 2008 +0100 [S390] convert vmcp printks to pr_xxx macros. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit d1c2f8928a2feab56a181bb7e9afe8f804fd26cd Author: Martin Schwidefsky Date: Thu Dec 25 13:39:31 2008 +0100 [S390] convert xpram printks to pr_xxx macros. Signed-off-by: Martin Schwidefsky commit acfa922c5a00eca0abac0e2b6d6666c606c27345 Author: Julia Lawall Date: Thu Dec 25 13:39:30 2008 +0100 [S390] s390: Remove redundant test The loop above the modified code only terminates when rc is a valid pointer. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Martin Schwidefsky commit 0946100f566d04cc93e86654f3ba588ee94b3f4c Author: Hendrik Brueckner Date: Thu Dec 25 13:39:29 2008 +0100 [S390] s390/setup: set default preferred console device "ttyS" This patch sets the default console device for s390. The console= kernel parameter can be still used to switch the preferred console to some other device. In that case, console messages are also printed on the default console device (ttyS0). Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 21e7b2c4d59e5d6631b25e71e777cb0160997d6a Author: Julia Lawall Date: Thu Dec 25 13:39:28 2008 +0100 [S390] drivers/s390/crypto: Move dereference to after IS_ERR test If reply is ERR_PTR(...), then it should not be dereferenced, so I have moved the dereference from the declaration to after the IS_ERR test. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @match exists@ expression x, E; identifier fld; position p1,p2; @@ ( x = E; | x = E | x@p1->fld ... when != x = E IS_ERR(x@p2) ... when any ) @other_match exists@ expression match.x, E1, E2; position match.p1,match.p2; @@ x = E1 ... when != x = E2 when != x@p1 x@p2 @ script:python depends on !other_match@ p1 << match.p1; p2 << match.p2; @@ print "* file %s dereference %s test %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Martin Schwidefsky commit 33b1d09ef317d64c58b135c2e811bb55b3f15b19 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:27 2008 +0100 [S390] panic_stack leak in smp_alloc_lowcore Fix freeing of the panic_stack if the allocation of async_stack failed. Signed-off-by: Martin Schwidefsky commit 4f7e90d6d61fa0e56821787521c12f8a626c4037 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:26 2008 +0100 [S390] clear_table inline assembly contraints Tell the compile that the clear_table inline assembly writes to the memory referenced by *s. Signed-off-by: Martin Schwidefsky commit c185b783b0993c294ca22ad0a55e6cdf8df4f9d3 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:25 2008 +0100 [S390] Remove config options. On s390 we always want to run with precise cputime accounting. Remove the config options VIRT_TIMER and VIRT_CPU_ACCOUNTING. Signed-off-by: Martin Schwidefsky commit 349f1b671a4b2612c1355612bedadc81f86d26f1 Author: Heiko Carstens Date: Thu Dec 25 13:39:24 2008 +0100 [S390] cpu topology: remove dead code Interrupts haven't been implemented. So remove the dead code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2b1a61f0a8c714c96277bf16a823a84bafa1397d Author: Heiko Carstens Date: Thu Dec 25 13:39:23 2008 +0100 [S390] cpu topology: introduce kernel parameter Introduce a topology=[on|off] kernel parameter which allows to switch cpu topology on/off. Default will be off, since it looks like that for some workloards this doesn't behave very well (on s390). Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9fee8db222a344b9ee407fad9c652ed823690788 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:22 2008 +0100 [S390] add new machine types to setup_hwcaps. Add the machine types for z9-bc, z10-ec and z10-bc to the elf_platform detection in setup_hwcaps. Signed-off-by: Martin Schwidefsky commit c58d92b233a41b81fbbea6add4ba1b512784f837 Author: Heiko Carstens Date: Thu Dec 25 13:39:21 2008 +0100 [S390] Remove initial kernel stack backchain initialization. Early init code clears the backchain of the initial kernel stack frame. This is not necessary since it is pre initialized with zeros. Plus it was broken on 64 bit since it cleared only four of eight bytes. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 64253acbf189085fb0ceb9a3fbe43b40f4a0a932 Author: Harvey Harrison Date: Thu Dec 25 13:39:20 2008 +0100 [S390] s390: use the new byteorder headers Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit e37f50e1811d68170e4d58a087cf634b2bf1cef9 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:19 2008 +0100 [S390] Add processor type march=z10 and a processor type safety check. This patch adds the code generation option for IBM System z10 and adds a check in head[31,64].S to prevents the execution of a kernel compiled for a new processor type on an old machine. Signed-off-by: Martin Schwidefsky commit b3b59d3339c907b1dec3ce19f62b2a7f120d142d Author: Heiko Carstens Date: Thu Dec 25 13:39:18 2008 +0100 [S390] sclp vt220: fix compile warning get rid of this one: CC drivers/s390/char/sclp_vt220.o drivers/s390/char/sclp_vt220.c:588: warning: '__sclp_vt220_flush_buffer' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2d6cd2a5908adecd06c8cee2a73814463ed71493 Author: Martin Schwidefsky Date: Thu Dec 25 13:39:17 2008 +0100 [S390] remove warnings with functions ending in BUG Functions which end in a BUG() statement and skip the return statement cause compile warnings on s390, e.g.: mm/bootmem.c: In function 'mark_bootmem': mm/bootmem.c:321: warning: control reaches end of non-void function To avoid the warning add an endless loop to the BUG() macro. Signed-off-by: Martin Schwidefsky Signed-off-by: Martin Schwidefsky commit edd5378740fe7717b1377ee04e593cfad8d29650 Author: Heiko Carstens Date: Thu Dec 25 13:39:16 2008 +0100 [S390] mark disabled_wait as noreturn function disabled_wait() won't return, so add an __attribute__((noreturn)). This will remove a false positive finding which our internal code checker reports. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d36f0c66389eb5e4dbd9b095eea252230ba3273e Author: Sebastian Ott Date: Thu Dec 25 13:39:15 2008 +0100 [S390] cio: use pim to check for multipath. To check if multipath is available we count the bits set in lpm, which could change over time (via configure [on|off] of a path). The following patch uses the pim (which is persistent) for this decision. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit f444cc0e52523560a8dfc12f5374e5d5ecf5375b Author: Sebastian Ott Date: Thu Dec 25 13:39:14 2008 +0100 [S390] cio: commit all pmcw changes. Sometimes we change the pmcw configuration but don't call msch to transmit these changes to the channel subsystem. The patch fixes this by calling cio_commit_config in such cases. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 13952ec12dfeea793ff83c2a96139ed57eb0b897 Author: Sebastian Ott Date: Thu Dec 25 13:39:13 2008 +0100 [S390] cio: introduce cio_commit_config To change the configuration of a subchannel we alter the modifiable bits of the subchannel's schib field and issue a modify subchannel. There can be the case that not all changes were applied -or worse- quietly overwritten by the hardware. With the next store subchannel we obtain the current state of the hardware but lose our target configuration. With this patch we introduce a subchannel_config structure which contains the target subchannel configuration. Additionally the msch wrapper cio_modify is replaced with cio_commit_config which copies the desired changes to a temporary schib. msch is then called with the temporary schib. This schib is only written back to the subchannel if all changes were applied. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit cdb912a40df8b8507ab60b3d52f9980c0ba1f44d Author: Sebastian Ott Date: Thu Dec 25 13:39:12 2008 +0100 [S390] cio: introduce cio_update_schib There is the chance that we get condition code 0 for a stsch but the resulting schib is not vaild. In the current code there are 2 cases: * we do a check for validity of the schib after stsch, but at this time we have already stored the invaild schib in the subchannel structure. This may lead to problems. * we don't do a check for validity, which is not that good either. The patch addresses both issues by introducing the stsch wrapper cio_update_schib which performs stsch on a local schib. This schib is only written back to the subchannel if it's valid. side note: For some functions (chp_events) the return codes are different now (-ENXIO vs -ENODEV) but this shouldn't do harm since the caller doesn't check for _specific_ errors. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit d6a30761d8116b8de8a5b5e79e68cce81d36414b Author: Cornelia Huck Date: Thu Dec 25 13:39:11 2008 +0100 [S390] cio: Use device_is_registered(). Check if a ccw device is registered via device_is_registered() and not via the old kludge of checking the membership in driver core internal klists. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 283fdd0b8ab102080dbffe4bcaae245f9ceda184 Author: Cornelia Huck Date: Thu Dec 25 13:39:10 2008 +0100 [S390] cio: Dont call ->release directly. Just put the cdev's reference count to give up our reference. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 90ed2b692fa75272d7395c4e4c2de4423d52f506 Author: Cornelia Huck Date: Thu Dec 25 13:39:09 2008 +0100 [S390] cio: Dont fail probe for I/O subchannels. If we fail the probe for an I/O subchannel, we won't be able to unregister it again since there are no sch_event() callbacks for unbound subchannels. Just succeed the probe in any case and schedule unregistering the subchannel. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 5fb6b8544d9ccd2ed478af777f9e99e342eb8886 Author: Cornelia Huck Date: Thu Dec 25 13:39:08 2008 +0100 [S390] cio: Only register ccw_device for registered subchannel. There is a race between io_subchannel_register() and io_subchannel_sch_event() which may cause a subchannel to be unregistered because it is no longer operational before io_subchannel_register() had run. We need to check whether the subchannel is still registered before the ccw device can be registered and just bail out if it is not. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 6eff208f479d6fe99fd92c0e6bf7e930bb45cd30 Author: Cornelia Huck Date: Thu Dec 25 13:39:07 2008 +0100 [S390] cio: Fix I/O subchannel refcounting. Subchannel refcounting was incorrect in some places, especially a refcount was missing when ccw_device_call_sch_unregister() was called and the refcount was not correctly switched after moving devices. Fix this by establishing the following rules: - The ccw_device obtains a reference on its parent subchannel when dev.parent is set and gives it up in its release function. This is needed because we need a parent reference for correct refcounting even before the ccw device is (if at all) registered. - When calling device_move(), obtain a reference on the new subchannel before moving the ccw device and give up the reference on the old parent after moving. This brings the refcount in line with the first rule. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 9cd67421977a701272820987ff9e6f197b1b97b7 Author: Cornelia Huck Date: Thu Dec 25 13:39:06 2008 +0100 [S390] cio: Fix reference counting for online/offline. The current code attempts to get an extra reference count for online devices by doing a get_device() in ccw_device_online() and a put_device() in ccw_device_done(). However, this - incorrectly obtains an extra reference for disconnected devices becoming available again (since they are already online) - needs special checks for css_init_done in order to handle the console device - is not obvious and - may incorretly drop a reference count in ccw_device_done() if that function is called after path verification for a device that just became not operational. So let's just get the reference in ccw_device_set_online() and drop it in ccw_device_set_offline(). (Unfortunately, we still need the special case in io_subchannel_probe().) Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 97166f52fc84c0bc49c7dbba2a26720110acb458 Author: Cornelia Huck Date: Thu Dec 25 13:39:05 2008 +0100 [S390] cio: Put referernce on correct device after moving. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit c619d4223eaa063dd15ce44235b04487235f8cb7 Author: Peter Oberparleiter Date: Thu Dec 25 13:39:04 2008 +0100 [S390] cio: fix ccwgroup online vs. ungroup race condition Ensure atomicity of ungroup operation to prevent concurrent ungroup and online processing which may lead to use-after-release situations. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 111e95a4cae01d6dadbbd1d8ab28dcd10fa5619c Author: Sebastian Ott Date: Thu Dec 25 13:39:03 2008 +0100 [S390] cio: move irritating comment. Due to former patches a comment and device id initialization were split from the addressed function call in io_subchannel_probe. Move it back to where it belongs. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit d7b604891b7ce7de93e3758ec6b3b7b7964e1884 Author: Peter Oberparleiter Date: Thu Dec 25 13:39:02 2008 +0100 [S390] cio: update sac values Values for the sac field have changed - update code accordingly. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 191fd44c11e10daf9d2cabd16935952e9c735949 Author: Heiko Carstens Date: Thu Dec 25 13:39:01 2008 +0100 [S390] cio: get rid of compile warning Move cio_tpi() to the rest of the CONFIG_CCW_CONSOLE functions to get rid of this one: drivers/s390/cio/cio.c:115: warning: 'cio_tpi' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 547e3cec4f7a4846707db19cba43aa58eb07f48f Author: Martin Schwidefsky Date: Thu Dec 25 13:39:00 2008 +0100 [S390] remove ptrace warning on 31 bit. A kernel compile on 31 bit gives the following warnings in ptrace.c: arch/s390/kernel/ptrace.c: In function 'peek_user': arch/s390/kernel/ptrace.c:207: warning: unused variable 'dummy' arch/s390/kernel/ptrace.c: In function 'poke_user': arch/s390/kernel/ptrace.c:315: warning: unused variable 'dummy' Getting rid of the dummy variables removes the warnings. Signed-off-by: Martin Schwidefsky commit 32272a26974d2027384fd4010cd1780fca425d94 Author: Martin Schwidefsky Date: Thu Dec 25 13:38:59 2008 +0100 [S390] __page_to_pfn warnings For CONFIG_SPARSEMEM_VMEMMAP=y on s390 I get warnings like init/main.c: In function 'start_kernel': init/main.c:641: warning: format '%08lx' expects type 'long unsigned int', but argument 2 has type 'int' The warning can be suppressed with a cast to unsigned long in the CONFIG_SPARSEMEM_VMEMMAP=y version of __page_to_pfn. Signed-off-by: Martin Schwidefsky commit 91d5d45ee0a8978870fd12e5c3fe394a530ec2ed Author: Hendrik Brueckner Date: Thu Dec 25 13:38:58 2008 +0100 [S390] iucv: Locking free version of iucv_message_(receive|send) Provide a locking free version of iucv_message_receive and iucv_message_send that do not call local_bh_enable in a spin_lock_(bh|irqsave)() context. Signed-off-by: Hendrik Brueckner commit 44a01d5ba8a4d543694461cd3e178cfa6b3f221b Author: Hendrik Brueckner Date: Thu Dec 25 13:38:57 2008 +0100 [S390] s390/hvc_console: z/VM IUCV hypervisor console support This patch introduces a new hypervisor console (HVC) back-end that provides terminal access over the z/VM inter-user communication vehicle (IUCV). The z/VM IUCV communication is independent of the regular tcp/ip network and allows access even if there is no network connection between two z/VM guest virtual machines. The z/VM IUCV hypervisor console back-end helps the user to access a z/VM guest virtual machine that lacks of network connectivity; and thus, provides a "full-screen" terminal alternative to 3215/3270 terminal sessions. Use the hvc_iucv=[0..8] kernel boot parameter to specify the number of HVC terminals using a z/VM IUCV back-end. A recent version of the s390-tools package is required to establish a terminal connection to a z/VM IUCV hypervisor console back-end. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 5d360a75f87f288e9a25d56cca503a7c7939e490 Author: Heiko Carstens Date: Thu Dec 25 13:38:56 2008 +0100 [S390] ftrace: function tracer backend for s390 This implements just the basic function tracer (_mcount) backend for s390. The dynamic variant will come later. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 98df67b324a2a986987ce29986e44ae9156b6698 Author: Kay Sievers Date: Thu Dec 25 13:38:55 2008 +0100 [S390] struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Cornelia Huck Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0cd4bd4754d51bdc8f9cd880c29910d0d52337bb Author: Stefan Haberland Date: Thu Dec 25 13:38:54 2008 +0100 [S390] dasd: call cleanup_cqr with request_queue_lock __dasd_cleanup_cqr should be called with request_queue_lock held and __dasd_block_process_erp with queue_lock Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 50afd20f8c3ce23994a21c389e7250e54a93bf55 Author: Stefan Haberland Date: Thu Dec 25 13:38:53 2008 +0100 [S390] dasd: correct sense byte condition for SIM SIM sense data are always 32 bit sense data so sense byte 27 bit 0 has not to be set. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit faf16aa9b368d48a0efbd0920718d68ec7a72542 Author: Cornelia Huck Date: Thu Dec 25 13:38:52 2008 +0100 [S390] dasd: Use accessors instead of using driver_data directly. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 2bf373b3e3691d5cb57089a3897316a1b7d5ffa7 Author: Stefan Haberland Date: Thu Dec 25 13:38:51 2008 +0100 [S390] dasd: improve dasd statistics proc interface For a large number of I/O requests the values were shifted binary. The shift was not transparent for the user because the shift value was not displayed. To make this interface more human readable the values are shifted decimal and the scale factor is displayed. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit bd43a42b7e9880f426ed715f18bb4f963b7352af Author: Christof Schmitt Date: Thu Dec 25 13:38:50 2008 +0100 [S390] zfcp: Report microcode level through service level interface Register zfcp with the new /proc/service_level interface to report the FCP microcode level. When the adapter goes offline or a channel path disappears, zfcp unregisters, since the microcode version might change and zfcp does not know about it. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky commit 6bcac508fbebdca52f5a55d69a4316997ecb5391 Author: Martin Schwidefsky Date: Thu Dec 25 13:38:49 2008 +0100 [S390] service level interface. Add a new proc interface /proc/service_levels that allows any code to report a relevant service level, e.g. the microcode level of devices, the service level of the hypervisor, etc. Signed-off-by: Martin Schwidefsky commit 7a0b4cbc7d7d99763511b488b08bbc2607ddd1e3 Author: Jan Glauber Date: Thu Dec 25 13:38:48 2008 +0100 [S390] qdio: fix error reporting for hipersockets Hipersocket connections can encounter temporary busy conditions. In case of the busy bit set we retry the SIGA operation immediatelly. If the busy condition still persists after 100 ms we fail and report the error to the upper layer. The second stage retry logic is removed. In case of ongoing busy conditions the upper layer needs to reset the connection. The reporting of a SIGA error is now done synchronously to allow the network driver to requeue the buffers. Also no error trace is created for the temporary SIGA errors so the error message view is not flooded. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 50f769df1c4bea766c4eb927eae35728fb93e305 Author: Jan Glauber Date: Thu Dec 25 13:38:47 2008 +0100 [S390] qdio: improve inbound buffer acknowledgement - Use automatic acknowledgement of incoming buffers in QEBSM mode - Move ACK for non-QEBSM mode always to the newest buffer to prevent a race with qdio_stop_polling - Remove the polling spinlock, the upper layer drivers return new buffers in the same code path and could not run in parallel - Don't flood the error log in case of no-target-buffer-empty - In handle_inbound we check if we would overwrite an ACK'ed buffer, if so advance the pointer to the oldest ACK'ed buffer so we don't overwrite an empty buffer in qdio_stop_polling Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 22f9934767f49012ffbae753b28b8055bd28348f Author: Jan Glauber Date: Thu Dec 25 13:38:46 2008 +0100 [S390] qdio: rework debug feature logging - make qdio_trace a per device view - remove s390dbf exceptions - remove CONFIG_QDIO_DEBUG, not needed anymore if we check for the level before calling sprintf - use snprintf for dbf entries - add start markers to see if the dbf view wrapped - add a global error view for all queues Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 9a1ce28aeb7a8b1666eaa9f104c1a2f5a149f9df Author: Jan Glauber Date: Thu Dec 25 13:38:45 2008 +0100 [S390] qdio: fix compile warning under 31 bit The QEBSM instructions are only available for CONFIG_64BIT, they are not used under 31 bit. Make compiler happy about the false positive: drivers/s390/cio/qdio_main.c: In function ?qdio_inbound_q_done?: drivers/s390/cio/qdio_main.c:532: warning: ?state? may be used uninitialized in this function Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 23589d057ac2da81e456d4a9dcdd9135fd96f493 Author: Jan Glauber Date: Thu Dec 25 13:38:44 2008 +0100 [S390] qdio: add eqbs/sqbs instruction counters Add counters for the eqbs and sqbs instructions that indicate how often we issued the instructions and how often the instructions returned with less buffers than specified. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit bbd50e172f75b1d12ef9b1bcf593b51a44199016 Author: Jan Glauber Date: Thu Dec 25 13:38:43 2008 +0100 [S390] qdio: fix qeth port count detection qeth needs to get the port count information before qdio has allocated a page for the chsc operation. Extend qdio_get_ssqd_desc() to store the data in the specified structure. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 43c207e6e5b7e591b59294ee4fc9860b0e3de3b8 Author: Christian Maaser Date: Thu Dec 25 13:38:42 2008 +0100 [S390] ap: Minor code beautification. Changed some symbol names for a better and clearer code. Signed-off-by: Christian Maaser Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit cb17a6364a29b4dfe5bbb00696032fb63d780157 Author: Felix Beck Date: Thu Dec 25 13:38:41 2008 +0100 [S390] zcrypt: Use of Thin Interrupts When the machine supports AP adapter interrupts polling will be switched off at module initialization and the driver will work in interrupt mode. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 320c04c068c62b71fe9ea55e06e4968b4edc9e48 Author: Heiko Carstens Date: Thu Dec 25 13:38:40 2008 +0100 [S390] Move stfle to header file. stfle will be needed by the ap_bus module to figure out wether the AP queue adapter interruption facility is installed. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ca9fc75a68ee98812bb6d212405fea039421910b Author: Heiko Carstens Date: Thu Dec 25 13:38:39 2008 +0100 [S390] convert s390 to generic IPI infrastructure Since etr/stp don't need the old smp_call_function semantics anymore we can convert s390 to the generic IPI infrastructure. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0b3016b781abeabc502042c942cbc611e31250c7 Author: Martin Schwidefsky Date: Thu Dec 25 13:38:38 2008 +0100 [S390] serialize stp/etr work The work function dispatched with schedule_work() can be run twice on different cpus because run_workqueue clears the WORK_STRUCT_PENDING bit and then executes the function. Another cpu can call schedule_work() again and run the work function a second time before the first call is completed. This patch serialized the etr and stp work function with a mutex. Signed-off-by: Martin Schwidefsky commit 750887dedc088d28198b170bcae83695247797d1 Author: Heiko Carstens Date: Thu Dec 25 13:38:37 2008 +0100 [S390] convert etr/stp to stop_machine interface This converts the etr and stp code to the new stop_machine interface which allows to synchronize all cpus without allocating any memory. This way we get rid of the only reason why we haven't converted s390 to the generic IPI interface yet. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b020632e40c3ed5e8c0c066d022672907e8401cf Author: Martin Schwidefsky Date: Thu Dec 25 13:38:36 2008 +0100 [S390] introduce vdso on s390 Add a vdso to speed up gettimeofday and clock_getres/clock_gettime for CLOCK_REALTIME/CLOCK_MONOTONIC. Signed-off-by: Martin Schwidefsky commit fc5243d98ac2575ad14a974b3c097e9ba874c03d Author: Martin Schwidefsky Date: Thu Dec 25 13:38:35 2008 +0100 [S390] arch_setup_additional_pages arguments arch_setup_additional_pages currently gets two arguments, the binary format descripton and an indication if the process uses an executable stack or not. The second argument is not used by anybody, it could be removed without replacement. What actually does make sense is to pass an indication if the process uses the elf interpreter or not. The glibc code will not use anything from the vdso if the process does not use the dynamic linker, so for statically linked binaries the architecture backend can choose not to map the vdso. Acked-by: Ingo Molnar Signed-off-by: Martin Schwidefsky commit a114a9d69d1362546b9dda651028acb311ddb7af Author: Christian Borntraeger Date: Thu Dec 25 13:38:34 2008 +0100 [S390] vmcp: remove BKL The vmcp driver uses the session->mutex for concurrent access of the data structures. Therefore, the BKL in vmcp_open does not protect against any other function in the driver. The BLK in vmcp_open would protect concurrent access to the module init but all necessary steps ave finished before misc_register is called. We can safely remove the lock_kernel from vcmp. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit f414f5f15376764d68a31dc568d9e814d3fcb58a Author: Heiko Carstens Date: Thu Dec 25 13:37:59 2008 +0100 [S390] cpu topology: dont destroy cpu sets on topology change Call rebuild_sched_domains instead of arch_reinit_sched_domains if cpu topology changes. This leaves cpu sets alone which otherwise would be destroyed. If and how it makes sense to define cpu sets on a virtualized architecture is another question. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 8f2961c39eacd5d450048d8a3e91675486f3a015 Author: Al Viro Date: Thu Dec 25 13:37:58 2008 +0100 [S390] audit: get s390 ret_from_fork in sync with other architectures On s390 we have ret_from_fork jump not to the "do all work we normally do on return from syscall" as on x86, ppc, etc., but to the "do all such work except audit". Historical reasons - the codepath triggered when we have AUDIT process flag set is separated from the normall one and they converge at sysc_return, which is the common part of post-syscall work. And does not include calling audit_syscall_exit() - that's done in the end of sysc_tracesys path, just before that path jumps to sysc_return. IOW, the child returning from fork()/clone()/vfork() doesn't call audit_syscall_exit() at all, so no matter what we do with its audit context, we are not going to see the audit entry. The fix is simple: have ret_from_fork go to the point just past the call of sys_.... in the 'we have AUDIT flag set' path. There we have (64bit variant; for 31bit the situation is the same): sysc_tracenogo: tm __TI_flags+7(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT) jz sysc_return la %r2,SP_PTREGS(%r15) # load pt_regs larl %r14,sysc_return # return point is sysc_return jg do_syscall_trace_exit which is precisely what we need - check the flag, bugger off to sysc_return if not set, otherwise call do_syscall_trace_exit() and bugger off to sysc_return. r9 has just been properly set by ret_from_fork itself, so we are fine. Tested on s390x, seems to work fine. WARNING: it's been about 16 years since my last contact with 3X0 assembler[1], so additional review would be very welcome. I don't think I've managed to screw it up, but... [1] that *was* in another country and besides, the box is dead... Signed-off-by: Al Viro Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5439050f9f1aa92381ab9beccbea6ddf0c687c2b Author: Heiko Carstens Date: Thu Dec 25 13:37:57 2008 +0100 [S390] cpu topology: fix cpu_core_map initialization Common code doesn't call arch_update_cpu_topology() anymore on cpu hotplug. But our architecture backend relied on that in order to update the cpu_core_map. For machines without cpu topology support this leads uninitialized cpu_core_maps for later on added cpus. To solve this just initialize the maps with cpu_possible_map, since that will be always valid for machines without topology support. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5250d329e38cdf7580faeb9c53c17d3588d7d19c Merge: a3eeeef... 468a15b... 67be403... 98db8df... 4a6908a... Author: Ingo Molnar Date: Thu Dec 25 13:11:00 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/hw-branch-tracing' and 'tracing/ring-buffer'; commit 'v2.6.28' into tracing/core commit 468a15bb4cc61694495cc5ed7ffca29e87c79b69 Author: Peter Zijlstra Date: Tue Dec 16 08:07:03 2008 +0100 sched, trace: update trace_sched_wakeup() Impact: extend the wakeup tracepoint with the info whether the wakeup was real Add the information needed to distinguish 'real' wakeups from 'false' wakeups. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a3eeeefbf1cd1d142c52238cc19c75d14c3bc8d5 Merge: 30cd324... 7e3cbc3... Author: Ingo Molnar Date: Thu Dec 25 12:48:18 2008 +0100 Merge branch 'x86/tsc' into tracing/core Merge it to resolve this incidental conflict between the BTS fixes/cleanups and changes in x86/tsc: Conflicts: arch/x86/kernel/cpu/intel.c commit 4e17fee24a39448f3a20e9cf98887b7665825848 Author: Ingo Molnar Date: Thu Dec 25 12:04:17 2008 +0100 x86: turn CONFIG_SPARSE_IRQ off by default New feature - lets disable it by default first - can flip it around later. Signed-off-by: Ingo Molnar commit 79a66b96c339626a3e4b226fefc0e45244cfe6ff Merge: bed4f13... c1c15b6... 1fcccb0... 4a6908a... Author: Ingo Molnar Date: Thu Dec 25 11:50:41 2008 +0100 Merge branches 'x86/pat2' and 'x86/fpu'; commit 'v2.6.28' into x86/core commit 1fcccb008be12ea823aaa392758e1e41fb82de9a Author: Jaswinder Singh Date: Tue Dec 23 21:50:11 2008 +0530 x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32 Impact: cleanup, avoid warning on X86_64 Fixes this warning on X86_64: CC arch/x86/kernel/traps.o arch/x86/kernel/traps.c:695:5: warning: "CONFIG_X86_32" is not defined Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 9212ddb5eada64fec5a08b28207401f3cc3d0876 Author: Ingo Molnar Date: Thu Dec 25 11:21:20 2008 +0100 stacktrace: provide save_stack_trace_tsk() weak alias Impact: build fix Some architectures have not implemented save_stack_trace_tsk() yet: fs/built-in.o: In function `proc_pid_stack': base.c:(.text+0x3f140): undefined reference to `save_stack_trace_tsk' So warn about that if the facility is used. Signed-off-by: Ingo Molnar commit 5ce442fe2c9423ec5451222aee6f9b2127bb8311 Merge: 60cda2b... 2af7529... Author: Takashi Iwai Date: Thu Dec 25 11:40:34 2008 +0100 Merge branch 'topic/udev-id-rename' into to-push commit 60cda2b53a7826d273198f668cd124f0eeda0e4a Merge: 9649745... 3d1ee37... Author: Takashi Iwai Date: Thu Dec 25 11:40:33 2008 +0100 Merge branch 'topic/sound-core-fix' into to-push commit 9649745c8670eacc671e9cff72c5c1e346e13036 Merge: a9c3c7e... 5e03c54... Author: Takashi Iwai Date: Thu Dec 25 11:40:32 2008 +0100 Merge branch 'topic/snd-hrtimer' into to-push commit a9c3c7e04b9a744eafb2e87c770e7300bbffa375 Merge: cc49108... ade9b2f... Author: Takashi Iwai Date: Thu Dec 25 11:40:31 2008 +0100 Merge branch 'topic/pcxhr-update' into to-push commit cc4910850f93a8bb1cbafad038fd40f6da68c783 Merge: a802269... de04b10... Author: Takashi Iwai Date: Thu Dec 25 11:40:30 2008 +0100 Merge branch 'topic/oxygen' into to-push commit a8022697811c3f2271df5ec14fa6f518b731b46a Merge: a650562... cdc6936... Author: Takashi Iwai Date: Thu Dec 25 11:40:29 2008 +0100 Merge branch 'topic/jack-mechanical' into to-push commit a65056205cdf7efb96fb2558e4f1ec6bae2582ed Merge: 313769d... 7645c4b... Author: Takashi Iwai Date: Thu Dec 25 11:40:28 2008 +0100 Merge branch 'topic/hda' into to-push commit 313769d9edb1bbd59d2e94f5069950eecfe6fa44 Merge: 8afabfa... f144b7f... Author: Takashi Iwai Date: Thu Dec 25 11:40:28 2008 +0100 Merge branch 'topic/cs5535audio' into to-push commit 8afabfa74bbe81ac496e66f7f0ed8943dff5fdb5 Merge: 86b3aa3... 1f04128... Author: Takashi Iwai Date: Thu Dec 25 11:40:27 2008 +0100 Merge branch 'topic/convert-tasklet' into to-push commit 86b3aa390b4b9925f16a21b98441fd7abdb9fff2 Merge: e4456e7... ebef7cf... Author: Takashi Iwai Date: Thu Dec 25 11:40:26 2008 +0100 Merge branch 'topic/ca0106' into to-push commit e4456e71618ec2c98084c15824d93e997955b60c Merge: 5c8261e... 16950e0... Author: Takashi Iwai Date: Thu Dec 25 11:40:26 2008 +0100 Merge branch 'topic/audigy-capture-boost' into to-push commit 5c8261e44eaebbc91f9fc1bbd3f3167e91a50a57 Merge: facef86... 472346d... Author: Takashi Iwai Date: Thu Dec 25 11:40:25 2008 +0100 Merge branch 'topic/asoc' into to-push commit facef8685b3ff95c01c33d9d836401d0dd26211d Merge: 4a6908a... 888dcb7... Author: Takashi Iwai Date: Thu Dec 25 11:40:24 2008 +0100 Merge branch 'topic/aoa' into to-push commit 0ca59dd948a51c95d5a366d35f897bc5ef9df55d Author: Frederic Weisbecker Date: Wed Dec 24 23:30:02 2008 +0100 tracing/ftrace: don't trace on early stage of a secondary cpu boot, v3 Impact: fix a crash/hard-reboot on certain configs while enabling cpu runtime On some archs, the boot of a secondary cpu can have an early fragile state. On x86-64, the pda is not initialized on the first stage of a cpu boot but it is needed to get the cpu number and the current task pointer. This data is needed during tracing. As they were dereferenced at this stage, we got a crash while tracing a cpu being enabled at runtime. Some other archs like ia64 can have such kind of issue too. Changes on v2: We dropped the previous solution of a per-arch called function to guess the current state of a cpu. That could slow down the tracing. This patch removes the -pg flag on arch/x86/kernel/cpu/common.c where the low level cpu boot functions exist, on start_secondary() and a helper function used at this stage. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 12d79bafb75639f406a9f71aab94808c414c836e Author: Ingo Molnar Date: Thu Dec 25 09:31:28 2008 +0100 rcu: provide RCU options on non-preempt architectures too Impact: build fix Some old architectures still do not use kernel/Kconfig.preempt, so the moving of the RCU options there broke their build: In file included from /home/mingo/tip/include/linux/sem.h:81, from /home/mingo/tip/include/linux/sched.h:69, from /home/mingo/tip/arch/alpha/kernel/asm-offsets.c:9: /home/mingo/tip/include/linux/rcupdate.h:62:2: error: #error "Unknown RCU implementation specified to kernel configuration" Move these options back to init/Kconfig, which every architecture includes. Signed-off-by: Ingo Molnar commit 2a0d8366dde9c66d8f481bee56828b661e5c8bf1 Merge: 1f5175a... 139cdab... 3d08909... bba7ebb... 7798dbf... e189062... Author: Roland Dreier Date: Wed Dec 24 20:35:42 2008 -0800 Merge branches 'cma', 'ehca', 'ipath', 'iser', 'mlx4' and 'nes' into for-next commit 7798dbf40ad9d295aa3a02eca700168e4327239a Author: Jack Morgenstein Date: Wed Dec 24 20:32:42 2008 -0800 IB/mlx4: Set ownership bit correctly when copying CQEs during CQ resize When resizing a CQ, when copying over unpolled CQEs from the old CQE buffer to the new buffer, the ownership bit must be set appropriately for the new buffer, or the ownership bit in the new buffer gets corrupted. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit e189062a8ca55b0a1843f0346c3fae1a47297c34 Author: Faisal Latif Date: Wed Dec 24 20:30:04 2008 -0800 RDMA/nes: Remove tx_free_list There is no lock protecting tx_free_list thus causing a system crash when skb_dequeue() is called and the list is empty. Since it did not give any performance boost under heavy load, remove it to simplify the code. Replace get_free_pkt() with dev_alloc_skb() to allocate MAX_CM_BUFFER skb for connection establishment/teardown as well as MPA request/response. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 81ea714bf148fce35e931edcbdfd3aedda20d1dc Author: Sergio Luis Date: Mon Dec 22 01:16:15 2008 -0300 smackfs: check for allocation failures in smk_set_access() smackfs: check for allocation failures in smk_set_access() While adding a new subject/object pair to smack_list, smk_set_access() didn't check the return of kzalloc(). This patch changes smk_set_access() to return 0 or -ENOMEM, based on kzalloc()'s return. It also updates its caller, smk_write_load(), to check for smk_set_access()'s return, given it is no longer a void return function. Signed-off-by: Sergio Luis To: Casey Schaufler Cc: Ahmed S. Darwish Cc: LSM Cc: LKLM Acked-by: Casey Schaufler commit cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db Merge: 4a6908a... 7419224... Author: James Morris Date: Thu Dec 25 11:40:09 2008 +1100 Merge branch 'next' into for-linus commit 4655a0de36e8e903e99a8d152818e3aae86dae1a Merge: b479f3c... a48d196... Author: Russell King Date: Thu Dec 25 00:13:35 2008 +0000 Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im into devel commit a48d196191c2d78d6cbd6f8509285af8ec1edcbc Author: Ian Molton Date: Wed Dec 24 23:59:48 2008 +0000 [ARM] pxa: Update eseries defconfig Signed-off-by: Ian Molton commit 0ee4a96902dd7858e65f378c86f428a0355bd841 Author: Herbert Xu Date: Thu Dec 25 11:05:13 2008 +1100 crypto: aes - Precompute tables The tables used by the various AES algorithms are currently computed at run-time. This has created an init ordering problem because some AES algorithms may be registered before the tables have been initialised. This patch gets around this whole thing by precomputing the tables. Signed-off-by: Herbert Xu commit ca38a814c6f86db0aa58884a31093d4f096e20aa Author: Lee Nipper Date: Sat Dec 20 17:09:25 2008 +1100 crypto: talitos - Ack done interrupt in isr instead of tasklet Previous commit for interrupt mitigation moved the done interrupt acknowlegement from the isr to the talitos_done tasklet. This patch moves the done interrupt acknowledgement back into the isr so that done interrupts will always be acknowledged. This covers the case for acknowledging interrupts for channel done processing that has actually already been completed by the tasklet prior to fielding a pending interrupt. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit bcf84a38f05c55180bc1225901950c7e715c0d55 Author: Geert Uytterhoeven Date: Thu Dec 18 17:17:46 2008 +1100 crypto: testmgr - Correct comment about deflate parameters The comment for the deflate test vectors says the winbits parameter is 11, while the deflate module actually uses -11 (a negative window bits parameter enables the raw deflate format instead of the zlib format). Correct this, to avoid confusion about the format used. Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit f0d1ec3a227e01a27ce20719bf7b58de86d44f0f Author: Harvey Harrison Date: Wed Dec 17 16:53:49 2008 +1100 crypto: salsa20 - Remove private wrappers around various operations ROTATE -> rol32 XOR was always used with the same destination, use ^= PLUS/PLUSONE use ++ or += Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit ad79cdd77fc1466e45cf923890f66bcfe7c43f12 Author: Jarod Wilson Date: Wed Dec 17 16:51:13 2008 +1100 crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set While its a slightly insane to bypass the key1 == key2 || key2 == key3 check in triple-des, since it reduces it to the same strength as des, some folks do need to do this from time to time for backwards compatibility with des. My own case is FIPS CAVS test vectors. Many triple-des test vectors use a single key, replicated 3x. In order to get the expected results, des3_ede_setkey() needs to only reject weak keys if the CRYPTO_TFM_REQ_WEAK_KEY flag is set. Also sets a more appropriate RES flag when a weak key is found. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit bd9d20dba182ce4541b16b083eccd30fb252b9f4 Author: Adrian-Ken Rueegsegger Date: Wed Dec 17 16:49:02 2008 +1100 crypto: sha512 - Switch to shash This patch changes sha512 and sha384 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit f9e2bca6c22d75a289a349f869701214d63b5060 Author: Adrian-Ken Rueegsegger Date: Wed Dec 17 16:47:52 2008 +1100 crypto: sha512 - Move message schedule W[80] to static percpu area The message schedule W (u64[80]) is too big for the stack. In order for this algorithm to be used with shash it is moved to a static percpu area. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 19e2bf146759aea38fd6c2daea08cb7a6367149b Author: Adrian-Ken Rueegsegger Date: Sun Dec 7 19:35:38 2008 +0800 crypto: michael_mic - Switch to shash This patch changes michael_mic to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 4946510baac6aaa8658528e3deefc7e9ba2951a9 Author: Adrian-Ken Rueegsegger Date: Sun Dec 7 19:34:37 2008 +0800 crypto: wp512 - Switch to shash This patch changes wp512, wp384 and wp256 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit f63fbd3d501b4283e1551e195cb74434a838064f Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:58:32 2008 +0800 crypto: tgr192 - Switch to shash This patch changes tgr192, tgr160 and tgr128 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 50e109b5b9c1f734e91a6e9b557bce48c9a88654 Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:57:49 2008 +0800 crypto: sha256 - Switch to shash This patch changes sha256 and sha224 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 14b75ba70da925a9f040a7575cb46ad7d394b117 Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:57:12 2008 +0800 crypto: md5 - Switch to shash This patch changes md5 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 808a1763cef93bf0f740d7e10dd9a2dfc4065b1a Author: Adrian-Ken Rueegsegger Date: Wed Dec 3 19:55:27 2008 +0800 crypto: md4 - Switch to shash This patch changes md4 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 54ccb36776eb7e03b592bfab60393c7800851a0b Author: Adrian-Ken Rueegsegger Date: Tue Dec 2 21:08:20 2008 +0800 crypto: sha1 - Switch to shash This patch changes sha1 to the new shash interface. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 3b8efb4c4147094652570d7791a516d07b7df8c2 Author: Herbert Xu Date: Sat Nov 8 10:11:09 2008 +0800 crypto: rmd320 - Switch to shash This patch changes rmd320 to the new shash interface. Signed-off-by: Herbert Xu commit d8a5e2e9f4e70ade136c67ce8242f0db4c2cddc7 Author: Herbert Xu Date: Sat Nov 8 09:58:10 2008 +0800 crypto: rmd256 - Switch to shash This patch changes rmd256 to the new shash interface. Signed-off-by: Herbert Xu commit e5835fba0206a331bdefdf5d805d1a384af37c44 Author: Herbert Xu Date: Sat Nov 8 09:18:51 2008 +0800 crypto: rmd160 - Switch to shash This patch changes rmd160 to the new shash interface. Signed-off-by: Herbert Xu commit 7c4468bc011131e77d0a872d6d9942390f8217ea Author: Herbert Xu Date: Sat Nov 8 09:10:40 2008 +0800 crypto: rmd128 - Switch to shash This patch changes rmd128 to the new shash interface. Signed-off-by: Herbert Xu commit d35d2454ce2175be77d2a366c2648597fd33a98f Author: Herbert Xu Date: Sat Nov 8 08:09:56 2008 +0800 crypto: null - Switch to shash This patch changes digest_null to the new shash interface. Signed-off-by: Herbert Xu commit 3751f402e099893c34089ed303dca6f5f92dbfd1 Author: Herbert Xu Date: Sat Nov 8 08:56:57 2008 +0800 crypto: hash - Make setkey optional Since most cryptographic hash algorithms have no keys, this patch makes the setkey function optional for ahash and shash. Signed-off-by: Herbert Xu commit b812eb0076235743872b5c9d18714d2324cc668d Author: Geert Uytterhoeven Date: Fri Nov 28 20:51:28 2008 +0800 crypto: testmgr - Validate output length in (de)compression tests When self-testing (de)compression algorithms, make sure the actual size of the (de)compressed output data matches the expected output size. Otherwise, in case the actual output size would be smaller than the expected output size, the subsequent buffer compare test would still succeed, and no error would be reported. Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit dad3df2044b78ba68a92bf78e38a408bab80ff61 Author: Harvey Harrison Date: Fri Nov 28 20:49:19 2008 +0800 crypto: remove uses of __constant_{endian} helpers Base versions handle constant folding just fine. Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit 664134d2916109be76648977705a2bea3ff76427 Author: Ingo Molnar Date: Tue Nov 25 23:19:24 2008 +0800 crypto: testmgr - Fix error flow of test_comp This warning: crypto/testmgr.c: In function ‘test_comp’: crypto/testmgr.c:829: warning: ‘ret’ may be used uninitialized in this function triggers because GCC correctly notices that in the ctcount == 0 && dtcount != 0 input condition case this function can return an undefined value, if the second loop fails. Remove the shadowed 'ret' variable from the second loop that was probably unintended. Signed-off-by: Ingo Molnar Signed-off-by: Herbert Xu commit 5f459f0adc7581da01cdd9b7f84db14a4559a390 Author: Evgeniy Polyakov Date: Tue Nov 25 23:17:10 2008 +0800 crypto: hifn_795x - Use softirq kernel mapping in bh context Use KM_SOFTIRQ instead of KM_IRQ in tasklet context. Added bug_on on input no-page condition. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit d6a10c84a2a2b08bdd637852c9cc42c41e109b25 Author: Evgeniy Polyakov Date: Mon Nov 24 22:04:39 2008 +0800 crypto: hifn_795x - Fix queue management Fix queue management. Change ring size and perform its check not one after another descriptor, but using stored pointers to the last checked descriptors. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 3ec858de6468e810953e41b8c154a0d605b25d68 Author: Patrick McHardy Date: Mon Nov 24 22:03:37 2008 +0800 crypto: hifn_795x - Remove some unused cruft Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit ed4f92e3723a7d73bcd179ba09529094752063b2 Author: Patrick McHardy Date: Mon Nov 24 22:02:55 2008 +0800 crypto: hifn_795x - Fix queue processing Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 5df4c0c671bbb425e4a77dde5f51869aeebebd67 Author: Patrick McHardy Date: Mon Nov 24 22:01:42 2008 +0800 crypto: hifn_795x - Fix request context corruption HIFN uses the transform context to store per-request data, which breaks when more than one request is outstanding. Move per request members from struct hifn_context to a new struct hifn_request_context and convert the code to use this. Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 3416158680d5ba6fdb939e5bb52a8eba1ad5c027 Author: Patrick McHardy Date: Mon Nov 24 22:00:49 2008 +0800 crypto: hifn_795x - Don't copy src sg list Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 75741a034024f146ba5431602f3ad33a5df8363c Author: Patrick McHardy Date: Mon Nov 24 21:59:25 2008 +0800 crypto: hifn_795x - Fix DMA setup Signed-off-by: Patrick McHardy Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 09fbf7c0f24176ef3b450c590f220ed8033dd2c3 Author: Jarod Wilson Date: Mon Nov 24 21:20:13 2008 +0800 crypto: ansi_cprng - fix inverted DT increment routine The ANSI X9.31 PRNG docs aren't particularly clear on how to increment DT, but empirical testing shows we're incrementing from the wrong end. A 10,000 iteration Monte Carlo RNG test currently winds up not getting the expected result. From http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf : # CAVS 4.3 # ANSI931 MCT [X9.31] [AES 128-Key] COUNT = 0 Key = 9f5b51200bf334b5d82be8c37255c848 DT = 6376bbe52902ba3b67c925fa701f11ac V = 572c8e76872647977e74fbddc49501d1 R = 48e9bd0d06ee18fbe45790d5c3fc9b73 Currently, we get 0dd08496c4f7178bfa70a2161a79459a after 10000 loops. Inverting the DT increment routine results in us obtaining the expected result of 48e9bd0d06ee18fbe45790d5c3fc9b73. Verified on both x86_64 and ppc64. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 93027354d6e8a66a12dedb89d59b21cf7c2d35ed Author: Herbert Xu Date: Thu Nov 13 22:05:13 2008 +0800 libcrc32c: Select CRYPTO in Kconfig Selecting CRYPTO_CRC32C is not enough as CRYPTO which CRYPTO_CRC32C depends on may be disabled. This patch adds the select on CRYPTO. Signed-off-by: Herbert Xu commit aa1a85dbd1d3265ca36f684026fe7689b7836bed Author: Jarod Wilson Date: Thu Nov 13 22:03:20 2008 +0800 crypto: ansi_cprng - Avoid incorrect extra call to _get_more_prng_bytes While working with some FIPS RNGVS test vectors yesterday, I discovered a little bug in the way the ansi_cprng code works right now. For example, the following test vector (complete with expected result) from http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf ... Key = f3b1666d13607242ed061cabb8d46202 DT = e6b3be782a23fa62d71d4afbb0e922fc V = f0000000000000000000000000000000 R = 88dda456302423e5f69da57e7b95c73a ...when run through ansi_cprng, yields an incorrect R value of e2afe0d794120103d6e86a2b503bdfaa. If I load up ansi_cprng w/dbg=1 though, it was fairly obvious what was going wrong: ----8<---- getting 16 random bytes for context ffff810033fb2b10 Calling _get_more_prng_bytes for context ffff810033fb2b10 Input DT: 00000000: e6 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Input I: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Input V: 00000000: f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tmp stage 0: 00000000: e6 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc tmp stage 1: 00000000: f4 8e cb 25 94 3e 8c 31 d6 14 cd 8a 23 f1 3f 84 tmp stage 2: 00000000: 8c 53 6f 73 a4 1a af d4 20 89 68 f4 58 64 f8 be Returning new block for context ffff810033fb2b10 Output DT: 00000000: e7 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Output I: 00000000: 04 8e cb 25 94 3e 8c 31 d6 14 cd 8a 23 f1 3f 84 Output V: 00000000: 48 89 3b 71 bc e4 00 b6 5e 21 ba 37 8a 0a d5 70 New Random Data: 00000000: 88 dd a4 56 30 24 23 e5 f6 9d a5 7e 7b 95 c7 3a Calling _get_more_prng_bytes for context ffff810033fb2b10 Input DT: 00000000: e7 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Input I: 00000000: 04 8e cb 25 94 3e 8c 31 d6 14 cd 8a 23 f1 3f 84 Input V: 00000000: 48 89 3b 71 bc e4 00 b6 5e 21 ba 37 8a 0a d5 70 tmp stage 0: 00000000: e7 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc tmp stage 1: 00000000: 80 6b 3a 8c 23 ae 8f 53 be 71 4c 16 fc 13 b2 ea tmp stage 2: 00000000: 2a 4d e1 2a 0b 58 8e e6 36 b8 9c 0a 26 22 b8 30 Returning new block for context ffff810033fb2b10 Output DT: 00000000: e8 b3 be 78 2a 23 fa 62 d7 1d 4a fb b0 e9 22 fc Output I: 00000000: c8 e2 01 fd 9f 4a 8f e5 e0 50 f6 21 76 19 67 9a Output V: 00000000: ba 98 e3 75 c0 1b 81 8d 03 d6 f8 e2 0c c6 54 4b New Random Data: 00000000: e2 af e0 d7 94 12 01 03 d6 e8 6a 2b 50 3b df aa returning 16 from get_prng_bytes in context ffff810033fb2b10 ----8<---- The expected result is there, in the first "New Random Data", but we're incorrectly making a second call to _get_more_prng_bytes, due to some checks that are slightly off, which resulted in our original bytes never being returned anywhere. One approach to fixing this would be to alter some byte_count checks in get_prng_bytes, but it would mean the last DEFAULT_BLK_SZ bytes would be copied a byte at a time, rather than in a single memcpy, so a slightly more involved, equally functional, and ultimately more efficient way of fixing this was suggested to me by Neil, which I'm submitting here. All of the RNGVS ANSI X9.31 AES128 VST test vectors I've passed through ansi_cprng are now returning the expected results with this change. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 31a61bfc6e415fbd871317cbee7b8a4158d8ac5b Author: Julia Lawall Date: Thu Nov 13 21:19:04 2008 +0800 crypto: md4 - Use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Herbert Xu commit 0426c166424ea6d3d0412f47879c8ba268f874c4 Author: Herbert Xu Date: Tue Nov 11 12:20:06 2008 +0800 libcrc32c: Add crc32c_le macro The bnx2x driver actually uses the crc32c_le name so this patch restores the crc32c_le symbol through a macro. Signed-off-by: Herbert Xu commit 53b146ae598268edbe2bf7ea7dfec721d51adddd Author: Adrian-Ken Rueegsegger Date: Tue Nov 11 12:14:00 2008 +0800 libcrc32c: Fix "crc32c undefined" compilation error The latest shash changes leave crc32c undefined: [...] Building modules, stage 2. MODPOST 1381 modules ERROR: "crc32c" [net/sctp/sctp.ko] undefined! ERROR: "crc32c" [net/ipv4/netfilter/nf_nat_proto_sctp.ko] undefined! Adding EXPORT_SYMBOL(crc32c) to lib/libcrc32c.c fixes the compile error. This patch has been compile-tested only. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 69c35efcf1576ab5f00cba83e8ca740923afb6c9 Author: Herbert Xu Date: Fri Nov 7 15:11:47 2008 +0800 libcrc32c: Move implementation to crypto crc32c This patch swaps the role of libcrc32c and crc32c. Previously the implementation was in libcrc32c and crc32c was a wrapper. Now the code is in crc32c and libcrc32c just calls the crypto layer. The reason for the change is to tap into the algorithm selection capability of the crypto API so that optimised implementations such as the one utilising Intel's CRC32C instruction can be used where available. Signed-off-by: Herbert Xu commit 8e3ee85e68c5d5c95451afd3e8f0997eec6f99e5 Author: Herbert Xu Date: Fri Nov 7 14:58:52 2008 +0800 crypto: crc32c - Test descriptor context format This patch adds a test for the requirement that all crc32c algorithms shall store the partial result in the first four bytes of the descriptor context. Signed-off-by: Herbert Xu commit b7e8bdadce6317eb13c13b9451d7114614aa1450 Author: Herbert Xu Date: Thu Nov 6 16:56:41 2008 +0800 crypto: crc32c-intel - Switch to shash This patch changes crc32c-intel to the new shash interface. Signed-off-by: Herbert Xu commit faccc4bba160784e834b758f23d598e500ac7108 Author: Herbert Xu Date: Tue Sep 9 17:23:07 2008 +1000 crypto: crc32c - Switch to shash This patch changes crc32c to the new shash interface. Signed-off-by: Herbert Xu commit 5f7082ed4f482f05db01d84dbf58190492ebf0ad Author: Herbert Xu Date: Sun Aug 31 22:21:09 2008 +1000 crypto: hash - Export shash through hash This patch allows shash algorithms to be used through the old hash interface. This is a transitional measure so we can convert the underlying algorithms to shash before converting the users across. Signed-off-by: Herbert Xu commit 67cd080c5070b4f17520c1385f7684206f4987b3 Author: Herbert Xu Date: Thu Nov 6 14:39:16 2008 +0800 crypto: api - Call type show function before legacy for proc This patch makes /proc/crypto call the type-specific show function if one is present before calling the legacy show functions for cipher/digest/compress. This allows us to reuse the type values for those legacy types. In particular, hash and digest will share one type value while shash is phased in as the default hash type. Signed-off-by: Herbert Xu commit dec8b78606ebd5f309c38f2fb10196ce996dd18d Author: Herbert Xu Date: Sun Nov 2 21:38:11 2008 +0800 crypto: hash - Add import/export interface It is often useful to save the partial state of a hash function so that it can be used as a base for two or more computations. The most prominent example is HMAC where all hashes start from a base determined by the key. Having an import/export interface means that we only have to compute that base once rather than for each message. Signed-off-by: Herbert Xu commit 3b2f6df08258e2875f42bd630eece7e7241a053b Author: Herbert Xu Date: Sun Aug 31 18:52:18 2008 +1000 crypto: hash - Export shash through ahash This patch allows shash algorithms to be used through the ahash interface. This is required before we can convert digest algorithms over to shash. Signed-off-by: Herbert Xu commit 7b5a080b3c46f0cac71c0d0262634c6517d4ee4f Author: Herbert Xu Date: Sun Aug 31 15:47:27 2008 +1000 crypto: hash - Add shash interface The shash interface replaces the current synchronous hash interface. It improves over hash in two ways. Firstly shash is reentrant, meaning that the same tfm may be used by two threads simultaneously as all hashing state is stored in a local descriptor. The other enhancement is that shash no longer takes scatter list entries. This is because shash is specifically designed for synchronous algorithms and as such scatter lists are unnecessary. All existing hash users will be converted to shash once the algorithms have been completely converted. There is also a new finup function that combines update with final. This will be extended to ahash once the algorithm conversion is done. This is also the first time that an algorithm type has their own registration function. Existing algorithm types will be converted to this way in due course. Signed-off-by: Herbert Xu commit 7b0bac64cd5b74d6f1147524c26216de13a501fd Author: Herbert Xu Date: Sun Sep 21 06:52:53 2008 +0900 crypto: api - Rebirth of crypto_alloc_tfm This patch reintroduces a completely revamped crypto_alloc_tfm. The biggest change is that we now take two crypto_type objects when allocating a tfm, a frontend and a backend. In fact this simply formalises what we've been doing behind the API's back. For example, as it stands crypto_alloc_ahash may use an actual ahash algorithm or a crypto_hash algorithm. Putting this in the API allows us to do this much more cleanly. The existing types will be converted across gradually. Signed-off-by: Herbert Xu commit 4a7794860ba2b56693b1d89fd485fd08cdc763e3 Author: Herbert Xu Date: Sat Sep 13 18:19:03 2008 -0700 crypto: api - Move type exit function into crypto_tfm The type exit function needs to undo any allocations done by the type init function. However, the type init function may differ depending on the upper-level type of the transform (e.g., a crypto_blkcipher instantiated as a crypto_ablkcipher). So we need to move the exit function out of the lower-level structure and into crypto_tfm itself. As it stands this is a no-op since nobody uses exit functions at all. However, all cases where a lower-level type is instantiated as a different upper-level type (such as blkcipher as ablkcipher) will be converted such that they allocate the underlying transform and use that instead of casting (e.g., crypto_ablkcipher casted into crypto_blkcipher). That will need to use a different exit function depending on the upper-level type. This patch also allows the type init/exit functions to call (or not) cra_init/cra_exit instead of always calling them from the top level. Signed-off-by: Herbert Xu commit 2566578a6feb9d9e39da41326afe8ed6022db3c5 Author: Neil Horman Date: Wed Nov 5 12:13:14 2008 +0800 crypto: ansi_cprng - Allow resetting of DT value This is a patch that was sent to me by Jarod Wilson, marking off my outstanding todo to allow the ansi cprng to set/reset the DT counter value in a cprng instance. Currently crytpo_rng_reset accepts a seed byte array which is interpreted by the ansi_cprng as a {V key} tuple. This patch extends that tuple to now be {V key DT}, with DT an optional value during reset. This patch also fixes a bug we noticed in which the offset of the key area of the seed is started at DEFAULT_PRNG_KSZ rather than DEFAULT_BLK_SZ as it should be. Signed-off-by: Neil Horman Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 420a4b20c504e4674bf253601f793bdb254f99fa Author: Herbert Xu Date: Sun Aug 31 15:58:45 2008 +1000 crypto: padlock - Avoid resetting cword on successive operations Resetting the control word is quite expensive. Fortunately this isn't an issue for the common operations such as CBC and ECB as the whole operation is done through a single call. However, modes such as LRW and XTS have to call padlock over and over again for one operation which really hurts if each call resets the control word. This patch uses an idea by Sebastian Siewior to store the last control word used on a CPU and only reset the control word if that changes. Note that any task switch automatically resets the control word so we only need to be accurate with regard to the stored control word when no task switches occur. Signed-off-by: Herbert Xu commit 1c06da81a5d042d5fba67c4c533b16ae62a174ab Author: Kent Liu Date: Fri Oct 31 16:52:58 2008 +0800 crypto: crc32c-intel - Update copyright head The original copyright head for crc32c-intel.c is incorrect. Please merge the patch to update it. Signed-Off-By: Kent Liu Signed-off-by: Herbert Xu commit 4b24ea971a93f5d0bec34bf7bfd0939f70cfaae6 Author: Vishnu Suresh Date: Mon Oct 20 21:06:18 2008 +0800 crypto: talitos - Preempt overflow interrupts off-by-one fix In commit ec6644d6325b5a38525f1d5b20fd4bf7db05cf2a "crypto: talitos - Preempt overflow interrupts", the test in atomic_inc_not_zero was interpreted by the author to be applied after the increment operation (not before). This off-by-one fix prevents overflow error interrupts from occurring when requests are frequent and large enough to do so. Signed-off-by: Vishnu Suresh Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 32bd78e0a5d34cd8e34046502bddcf31aeb38e64 Author: Harvey Harrison Date: Sun Oct 12 20:40:12 2008 +0800 crypto: camellia - use kernel-provided bitops, unaligned access Remove the private implementation of 32-bit rotation and unaligned access with byteswapping. As a bonus, fixes sparse warnings: crypto/camellia.c:602:2: warning: cast to restricted __be32 crypto/camellia.c:603:2: warning: cast to restricted __be32 crypto/camellia.c:604:2: warning: cast to restricted __be32 crypto/camellia.c:605:2: warning: cast to restricted __be32 crypto/camellia.c:710:2: warning: cast to restricted __be32 crypto/camellia.c:711:2: warning: cast to restricted __be32 crypto/camellia.c:712:2: warning: cast to restricted __be32 crypto/camellia.c:713:2: warning: cast to restricted __be32 crypto/camellia.c:714:2: warning: cast to restricted __be32 crypto/camellia.c:715:2: warning: cast to restricted __be32 crypto/camellia.c:716:2: warning: cast to restricted __be32 crypto/camellia.c:717:2: warning: cast to restricted __be32 [Thanks to Tomoyuki Okazaki for spotting the typo] Tested-by: Carlo E. Prelz Signed-off-by: Harvey Harrison Signed-off-by: Herbert Xu commit d12d6b6d37cad766b390467e770eb0ab81345d78 Author: Neil Horman Date: Sun Oct 12 20:36:51 2008 +0800 crypto: testmgr - Trigger a panic when self test fails in FIPS mode The FIPS specification requires that should self test for any supported crypto algorithm fail during operation in fips mode, we need to prevent the use of any crypto functionality until such time as the system can be re-initialized. Seems like the best way to handle that would be to panic the system if we were in fips mode and failed a self test. This patch implements that functionality. I've built and run it successfully. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit fe5720e2b7c1e8ff95d4bf18329517cf64ad1d70 Author: Kim Phillips Date: Sun Oct 12 20:33:14 2008 +0800 crypto: talitos - Perform auth check in h/w if on sec 2.1 and above SEC version 2.1 and above adds the capability to do the IPSec ICV memcmp in h/w. Results of the cmp are written back in the descriptor header, along with the done status. A new callback is added that checks these ICCR bits instead of performing the memcmp on the core, and is enabled by h/w capability. Signed-off-by: Kim Phillips After testing on different parts, another condition was added before using h/w auth check because different SEC revisions require different handling. The SEC 3.0 allows a more flexible link table where the auth data can span separate link table entries. The SEC 2.4/2.1 does not support this case. So a test was added in the decrypt routine for a fragmented case; the h/w auth check is disallowed for revisions not having the extent in the link table; in this case the hw auth check is done by software. A portion of a previous change for SEC 3.0 link table handling was removed since it became dead code with the hw auth check supported. This seems to be the best compromise for using hw auth check on supporting SEC revisions; it keeps the link table logic simpler for the fragmented cases. Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit 1c2e8811eea5f0c5da3213ea206c2864fa4614fd Author: Lee Nipper Date: Sun Oct 12 20:29:34 2008 +0800 crypto: talitos - Implement done interrupt mitigation In talitos_interrupt, upon one done interrupt, mask further done interrupts, and ack only any error interrupt. In talitos_done, unmask done interrupts after completing processing. In flush_channel, ack each done channel processed. Keep done overflow interrupts masked because even though each pkt is ack'ed, a few done overflows still occur. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 40405f10b853ef404b395c6febca71b0de185490 Author: Kim Phillips Date: Sun Oct 12 20:19:35 2008 +0800 crypto: talitos - Pass correct interrupt status to error handler Since we ack early, the re-read interrupt status in talitos_error may be already updated with a new value. Pass the error ISR value directly in order to report and handle the error based on the correct error status. Also remove unused error tasklet. Signed-off-by: Kim Phillips Signed-off-by: Lee Nipper Signed-off-by: Herbert Xu commit a44b56cc69a5b017f396ed1daeaef6a63e086656 Author: Evgeniy Polyakov Date: Sun Oct 12 20:14:15 2008 +0800 crypto: hifn - Disable driver when physical size exceeds 32 bits On Tue, Sep 23, 2008 at 08:06:32PM +0200, Dimitri Puzin (max@psycast.de) wrote: > With this patch applied it still doesn't work as expected. The overflow > messages are gone however syslog shows > [ 120.924266] hifn0: abort: c: 0, s: 1, d: 0, r: 0. > when doing cryptsetup luksFormat as in original e-mail. At this point > cryptsetup hangs and can't be killed with -SIGKILL. I've attached > SysRq-t dump of this condition. Yes, I was wrong with the patch: HIFN does not support 64-bit addresses afaics. Attached patch should not allow HIFN to be registered on 64-bit arch, so crypto layer will fallback to the software algorithms. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 67be403d897f818b1a5ecc201967b0ee6a0332f9 Author: Ingo Molnar Date: Wed Dec 24 21:08:37 2008 +0100 Revert "x86: disable X86_PTRACE_BTS" This reverts commit 40f15ad8aadff5ebb621b17a6f303ad2cd3f847d. The CONFIG_X86_PTRACE_BTS bugs have been fixed via: c5dee61: x86, bts: memory accounting bf53de9: x86, bts: add fork and exit handling Signed-off-by: Ingo Molnar commit db8862eafe8a5d030a3b02e81b8bb47447c315e3 Merge: c5dee61... c20137f... Author: Ingo Molnar Date: Wed Dec 24 21:08:26 2008 +0100 Merge branch 'linus' into tracing/hw-branch-tracing commit 1f5175adeaa1d161f603ef351785a19814dfe900 Author: Aleksey Senin Date: Wed Dec 24 10:16:45 2008 -0800 RDMA/cma: Add IPv6 support Handle AF_INET6 cases where required, and use struct sockaddr_storage wherever an IPv6 address might be stored. Signed-off-by: Aleksey Senin Signed-off-by: Roland Dreier commit 38617c64bf9a10bf20e41d95b69bb81e8560fe9d Author: Aleksey Senin Date: Wed Dec 24 10:16:37 2008 -0800 RDMA/addr: Add support for translating IPv6 addresses Add support for translating AF_INET6 addresses to the IB address translation service. This requires using struct sockaddr_storage instead of struct sockaddr wherever an IPv6 address might be stored, and adding cases to handle IPv6 in addition to IPv4 to the various translation functions. Signed-off-by: Aleksey Senin Signed-off-by: Roland Dreier commit 7645c4bfbb36f357f03815f5729c46ce8d89f008 Merge: 74b7ff4... 574f3c4... Author: Takashi Iwai Date: Wed Dec 24 11:04:08 2008 +0100 Merge branch 'fix/hda' into topic/hda commit c1c15b65ec30275575dac9322aae607075769fbc Author: H. Peter Anvin Date: Tue Dec 23 10:10:40 2008 -0800 x86: PAT: fix address types in track_pfn_vma_new() Impact: cleanup, fix warning This warning: arch/x86/mm/pat.c: In function track_pfn_vma_copy: arch/x86/mm/pat.c:701: warning: passing argument 5 of follow_phys from incompatible pointer type Triggers because physical addresses are resource_size_t, not u64. This really matters when calling an interface like follow_phys() which takes a pointer to a physical address -- although on x86, being littleendian, it would generally work anyway as long as the memory region wasn't completely uninitialized. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 25051158bbed127e8672b43396c71c5eb610e5f1 Author: Lachlan McIlroy Date: Wed Dec 24 14:07:32 2008 +1100 [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI The iolock is dropped and re-acquired around the call to XFS_SEND_NAMESP(). While the iolock is released the file can become cached. We then 'goto retry' and - if we are doing direct I/O - mapping->nrpages may now be non zero but need_i_mutex will be zero and we will hit the WARN_ON(). Since we have dropped the I/O lock then the file size may have also changed so what we need to do here is 'goto start' like we do for the XFS_SEND_DATA() DMAPI event. We also need to update the filesize before releasing the iolock so that needs to be done before the XFS_SEND_NAMESP event. If we drop the iolock before setting the filesize we could race with a truncate. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6332178d91ca1a9dbd99bd97cabbcf965d178e9f Merge: 908a7a1... 739840d... Author: David S. Miller Date: Tue Dec 23 17:56:23 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ppp_generic.c commit c3d80000e3a812fe5a200d6bde755fbd7fa65481 Author: Ingo Molnar Date: Tue Dec 23 15:15:17 2008 +0100 x86: export vector_used_by_percpu_irq Impact: build fix lguest can be built as a module and makes use of this new symbol: ERROR: "vector_used_by_percpu_irq" [drivers/lguest/lg.ko] undefined! export it. Signed-off-by: Ingo Molnar commit 7d87d5365556b1c6e8c00abcc632c3ad1fdc58b8 Author: Suresh Siddha Date: Mon Dec 22 17:33:28 2008 -0800 x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and() These commits: commit 95d313cf1c1ecedc8bec5727b09bdacbf67dfc45 Author: Mike Travis Date: Tue Dec 16 17:33:54 2008 -0800 x86: Add cpu_mask_to_apicid_and and commit 6eeb7c5a99434596c5953a95baa17d2f085664e3 Author: Mike Travis Date: Tue Dec 16 17:33:55 2008 -0800 x86: update add-cpu_mask_to_apicid_and to use struct cpumask* broke interrupt delivery on x2apic platforms. As x2apic cluster mode uses logical delivery mode, we need to use logical apicid instead of physical apicid in x2apic_cpu_mask_to_apicid_and() Impact: fixes the broken interrupt delivery issue on generic x2apic platforms. Signed-off-by: Suresh Siddha Acked-by: Mike Travis Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 36dffab679c7eeb91c2507400cf4da6e9e01164e Author: Vaidyanathan Srinivasan Date: Sat Dec 20 10:06:38 2008 +0530 sched: nominate preferred wakeup cpu, fix Andrew Morton reported: > kernel/sched.c: In function 'schedule': > kernel/sched.c:3679: warning: 'active_balance' may be used uninitialized in this function > > This warning is correct - the code is buggy. In sched.c load_balance_newidle, there's real potential use of uninitialised variable - fix it. Signed-off-by: Vaidyanathan Srinivasan Signed-off-by: Ingo Molnar commit b77b881f21b29aa7efa668fde69ee3dc0372ae3f Author: Yinghai Lu Date: Fri Dec 19 15:23:44 2008 -0800 x86: fix lguest used_vectors breakage, -v2 Impact: fix lguest, clean up 32-bit lguest used used_vectors to record vectors, but that model of allocating vectors changed and got broken, after we changed vector allocation to a per_cpu array. Try enable that for 64bit, and the array is used for all vectors that are not managed by vector_irq per_cpu array. Also kill system_vectors[], that is now a duplication of the used_vectors bitmap. [ merged in cpus4096 due to io_apic.c cpumask changes. ] [ -v2, fix build failure ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 2efef7080f471d312a9c4feb3dc5ee038039c7ed Author: Olga Kornievskaia Date: Tue Dec 23 16:19:56 2008 -0500 rpc: add service field to new upcall This patch extends the new upcall with a "service" field that currently can have 2 values: "*" or "nfs". These values specify matching rules for principals in the keytab file. The "*" means that gssd is allowed to use "root", "nfs", or "host" keytab entries while the other option requires "nfs". Restricting gssd to use the "nfs" principal is needed for when the server performs a callback to the client. The server in this case has to authenticate itself as an "nfs" principal. We also need "service" field to distiguish between two client-side cases both currently using a uid of 0: the case of regular file access by the root user, and the case of state-management calls (such as setclientid) which should use a keytab for authentication. (And the upcall should fail if an appropriate principal can't be found.) Signed-off: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 8b1c7bf5b624c9bc91b41ae577b9fc5c21641705 Author: Olga Kornievskaia Date: Tue Dec 23 16:19:26 2008 -0500 rpc: add target field to new upcall This patch extends the new upcall by adding a "target" field communicating who we want to authenticate to (equivalently, the service principal that we want to acquire a ticket for). Signed-off: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 61054b14d545e257b9415d5ca0cd5f43762b4d0c Author: Olga Kornievskaia Date: Tue Dec 23 16:19:00 2008 -0500 nfsd: support callbacks with gss flavors This patch adds server-side support for callbacks other than AUTH_SYS. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 945b34a7725a5f0741de7775132aafc58bfecfbb Author: Olga Kornievskaia Date: Tue Dec 23 16:18:34 2008 -0500 rpc: allow gss callbacks to client This patch adds client-side support to allow for callbacks other than AUTH_SYS. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 608207e8884e083ad8b8d33eda868da70f0d63e8 Author: Olga Kornievskaia Date: Tue Dec 23 16:17:40 2008 -0500 rpc: pass target name down to rpc level on callbacks The rpc client needs to know the principal that the setclientid was done as, so it can tell gssd who to authenticate to. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 68e76ad0baf8f5d5060377c2423ee6eed5c63057 Author: Olga Kornievskaia Date: Tue Dec 23 16:17:15 2008 -0500 nfsd: pass client principal name in rsc downcall Two principals are involved in krb5 authentication: the target, who we authenticate *to* (normally the name of the server, like nfs/server.citi.umich.edu@CITI.UMICH.EDU), and the source, we we authenticate *as* (normally a user, like bfields@UMICH.EDU) In the case of NFSv4 callbacks, the target of the callback should be the source of the client's setclientid call, and the source should be the nfs server's own principal. Therefore we allow svcgssd to pass down the name of the principal that just authenticated, so that on setclientid we can store that principal name with the new client, to be used later on callbacks. Signed-off-by: Olga Kornievskaia Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 34769fc488b463cb753fc632f8f5ba56c918b7cb Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:16:37 2008 -0500 rpc: implement new upcall Implement the new upcall. We decide which version of the upcall gssd will use (new or old), by creating both pipes (the new one named "gssd", the old one named after the mechanism (e.g., "krb5")), and then waiting to see which version gssd actually opens. We don't permit pipes of the two different types to be opened at once. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 5b7ddd4a7b19f913901140ef7807dbf5e2b301cd Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:15:44 2008 -0500 rpc: store pointer to pipe inode in gss upcall message Keep a pointer to the inode that the message is queued on in the struct gss_upcall_msg. This will be convenient, especially after we have a choice of two pipes that an upcall could be queued on. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 79a3f20b641f9f93787ada49d1d7cfa98ee5a11e Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:10:52 2008 -0500 rpc: use count of pipe openers to wait for first open Introduce a global variable pipe_version which will eventually be used to keep track of which version of the upcall gssd is using. For now, though, it only keeps track of whether any pipe is open or not; it is negative if not, zero if one is opened. We use this to wait for the first gssd to open a pipe. (Minor digression: note this waits only for the very first open of any pipe, not for the first open of a pipe for a given auth; thus we still need the RPC_PIPE_WAIT_FOR_OPEN behavior to wait for gssd to open new pipes that pop up on subsequent mounts.) Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit cf81939d6fcdf381fcb069d780c29eceb516bccd Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:10:19 2008 -0500 rpc: track number of users of the gss upcall pipe Keep a count of the number of pipes open plus the number of messages on a pipe. This count isn't used yet. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit e712804ae4bd858bd89272aa3fc1a577294c0940 Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:09:47 2008 -0500 rpc: call release_pipe only on last close I can't see any reason we need to call this until either the kernel or the last gssd closes the pipe. Also, this allows to guarantee that open_pipe and release_pipe are called strictly in pairs; open_pipe on gssd's first open, release_pipe on gssd's last close (or on the close of the kernel side of the pipe, if that comes first). That will make it very easy for the gss code to keep track of which pipes gssd is using. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit c381060869317b3c84430d4f54965d409cbfe65f Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:08:32 2008 -0500 rpc: add an rpc_pipe_open method We want to transition to a new gssd upcall which is text-based and more easily extensible. To simplify upgrades, as well as testing and debugging, it will help if we can upgrade gssd (to a version which understands the new upcall) without having to choose at boot (or module-load) time whether we want the new or the old upcall. We will do this by providing two different pipes: one named, as currently, after the mechanism (normally "krb5"), and supporting the old upcall. One named "gssd" and supporting the new upcall version. We allow gssd to indicate which version it supports by its choice of which pipe to open. As we have no interest in supporting *simultaneous* use of both versions, we'll forbid opening both pipes at the same time. So, add a new pipe_open callback to the rpc_pipefs api, which the gss code can use to track which pipes have been open, and to refuse opens of incompatible pipes. We only need this to be called on the first open of a given pipe. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit db75b3d6b5b0dad29860370618ea94d2726641b4 Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:07:13 2008 -0500 rpc: minor gss_alloc_msg cleanup I want to add a little more code here, so it'll be convenient to have this flatter. Also, I'll want to add another error condition, so it'll be more convenient to return -ENOMEM than NULL in the error case. The only caller is already converting NULL to -ENOMEM anyway. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit b03568c32226163cb3588ea8993adb268ed497a5 Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:06:55 2008 -0500 rpc: factor out warning code from gss_pipe_destroy_msg We'll want to call this from elsewhere soon. And this is a bit nicer anyway. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 99db35636842ede13bf3b6bf1a8d8f4f1c4c93bf Author: \"J. Bruce Fields\ Date: Tue Dec 23 16:06:33 2008 -0500 rpc: remove unnecessary assignment We're just about to kfree() gss_auth, so there's no point to setting any of its fields. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit cf8cdbe5bd662eeaece96b017a4d6676ae416537 Author: Andy Adamson Date: Tue Dec 23 16:06:18 2008 -0500 NFS: remove unused status from encode routines Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit d017931cff77f2a1603c9c76e96477743abc9f41 Author: Andy Adamson Date: Tue Dec 23 16:06:17 2008 -0500 NFS: increment number of operations in each encode routine Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 49c2559e29884fbb13fd273a108b213decd1d8a5 Author: Benny Halevy Date: Tue Dec 23 16:06:16 2008 -0500 NFS: fix comment placement in nfs4xdr.c Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 05d564fe00c05bf8ff93948057ca1acb5bc68e10 Author: Andy Adamson Date: Tue Dec 23 16:06:15 2008 -0500 NFS: fix tabs in nfs4xdr.c Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 6c0195a4681c08335a33a483be801aaf0ed7f192 Author: Andy Adamson Date: Tue Dec 23 16:06:15 2008 -0500 NFS: remove white space from nfs4xdr.c Clean-up Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 374130770efc80418b155b2966ff958495e03948 Author: Benny Halevy Date: Tue Dec 23 16:06:14 2008 -0500 nfs: remove incorrect usage of nfs4 compound response hdr.status 3 call sites look at hdr.status before returning success. hdr.status must be zero in this case so there's no point in this. Currently, hdr.status is correctly processed at decode_op_hdr time if the op status cannot be decoded. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit aadf61521199e5c0b2976002213819cafa41b897 Author: Benny Halevy Date: Tue Dec 23 16:06:13 2008 -0500 nfs: return compound hdr.status when there are no op replies When there are no op replies encoded in the compound reply hdr.status still contains the overall status of the compound rpc. This can happen, e.g., when the server returns a NFS4ERR_MINOR_VERS_MISMATCH error. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c977a2ef40a38c45537ad03823d0a004f06373f0 Author: Benny Halevy Date: Tue Dec 23 16:06:13 2008 -0500 sunrpc: get rid of rpc_rqst.rq_bufsize rq_bufsize is not used. Signed-off-by: Mike Sager Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 027b6ca02192f381a5a91237ba8a8cf625dc6f6a Author: Trond Myklebust Date: Tue Dec 23 16:04:13 2008 -0500 NFSv4: Fix an infinite loop in the NFS state recovery code Marten Gajda states: I tracked the problem down to the function nfs4_do_open_expired. Within this function _nfs4_open_expired is called and may return -NFS4ERR_DELAY. When a further call to _nfs4_open_expired is executed and does not return -NFS4ERR_DELAY the "exception.retry" variable is not reset to 0, causing the loop to iterate again (and as long as err != -NFS4ERR_DELAY, probably forever) Signed-off-by: Trond Myklebust commit 6dcd3926b214a1fb081df18305921dedae269977 Author: Jeff Layton Date: Tue Dec 23 15:21:57 2008 -0500 sunrpc: fix code that makes auth_gss send destroy_cred message (try #2) There's a bit of a chicken and egg problem when it comes to destroying auth_gss credentials. When we destroy the last instance of a GSSAPI RPC credential, we should send a NULL RPC call with a GSS procedure of RPCSEC_GSS_DESTROY to hint to the server that it can destroy those creds. This isn't happening because we're setting clearing the uptodate bit on the credentials and then setting the operations to the gss_nullops. When we go to do the RPC call, we try to refresh the creds. That fails with -EACCES and the call fails. Fix this by not clearing the UPTODATE bit for the credentials and adding a new crdestroy op for gss_nullops that just tears down the cred without trying to destroy the context. The only difference between this patch and the first one is the removal of some minor formatting deltas. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 64672d55d93c26fb4035fd1a84a803cbc09cb058 Author: Peter Staubach Date: Tue Dec 23 15:21:56 2008 -0500 optimize attribute timeouts for "noac" and "actimeo=0" Hi. I've been looking at a bugzilla which describes a problem where a customer was advised to use either the "noac" or "actimeo=0" mount options to solve a consistency problem that they were seeing in the file attributes. It turned out that this solution did not work reliably for them because sometimes, the local attribute cache was believed to be valid and not timed out. (With an attribute cache timeout of 0, the cache should always appear to be timed out.) In looking at this situation, it appears to me that the problem is that the attribute cache timeout code has an off-by-one error in it. It is assuming that the cache is valid in the region, [read_cache_jiffies, read_cache_jiffies + attrtimeo]. The cache should be considered valid only in the region, [read_cache_jiffies, read_cache_jiffies + attrtimeo). With this change, the options, "noac" and "actimeo=0", work as originally expected. This problem was previously addressed by special casing the attrtimeo == 0 case. However, since the problem is only an off- by-one error, the cleaner solution is address the off-by-one error and thus, not require the special case. Thanx... ps Signed-off-by: Peter Staubach Signed-off-by: Trond Myklebust commit dc0b027dfadfcb8a5504f7d8052754bf8d501ab9 Author: Trond Myklebust Date: Tue Dec 23 15:21:56 2008 -0500 NFSv4: Convert the open and close ops to use fmode Signed-off-by: Trond Myklebust commit 7a50c60e461f6ff97428da9448c3dad5b7bef491 Author: Trond Myklebust Date: Tue Dec 23 15:21:55 2008 -0500 NFS: Use delegations to optimise ACCESS calls Signed-off-by: Trond Myklebust commit 15860ab1d7700249ebe3b0b8ca86ce43dfd0d66f Author: Trond Myklebust Date: Tue Dec 23 15:21:54 2008 -0500 NFSv4: Ensure that we set the verifier when revalidating delegated dentries This ensures that we don't have to look up the dentry again after we return the delegation if we know that the directory didn't change. Signed-off-by: Trond Myklebust commit 5584c30630f8a4aac557093b1603e166fe7385be Author: Trond Myklebust Date: Tue Dec 23 15:21:54 2008 -0500 NFSv4: Clean up is_atomic_open() Signed-off-by: Trond Myklebust commit bd7bf9d540c001055fba796ebf146d90e4dd2eb2 Author: Trond Myklebust Date: Tue Dec 23 15:21:53 2008 -0500 NFSv4: Convert delegation->type field to fmode_t Signed-off-by: Trond Myklebust commit 9082a5cc1e33d081f091f54e6ed69a0628a4bdcc Author: Trond Myklebust Date: Tue Dec 23 15:21:53 2008 -0500 NFSv4: Fix up delegation callbacks Currently, the callback server is listening on IPv6 if it is enabled. This means that IPv4 addresses will always be mapped. Signed-off-by: Trond Myklebust commit b7391f44f26b17ad25c7183a3d6ad50f0a9305ff Author: Trond Myklebust Date: Tue Dec 23 15:21:52 2008 -0500 NFSv4: Return unreferenced delegations more promptly If the client is not using a delegation, the right thing to do is to return it as soon as possible. This helps reduce the amount of state the server has to track, as well as reducing the potential for conflicts with other clients. Signed-off-by: Trond Myklebust commit 6411bd4a471893ab2af103d96253ba97c92d4777 Author: Trond Myklebust Date: Tue Dec 23 15:21:51 2008 -0500 NFSv4: Clean up the asynchronous delegation return Reuse the state management thread in order to return delegations when we get a callback. Signed-off-by: Trond Myklebust commit b0d3ded1a21dc3057daff5a488469d9e6aa1b567 Author: Trond Myklebust Date: Tue Dec 23 15:21:50 2008 -0500 NFSv4: Clean up nfs_expire_all_delegations() Let the actual delegreturn stuff be run in the state manager thread rather than allocating a separate kthread. Signed-off-by: Trond Myklebust commit 0d62f85a81216f30a0ba1479b93e84103a5d535b Author: Trond Myklebust Date: Tue Dec 23 15:21:49 2008 -0500 NFSv4: Fix a BAD_SEQUENCEID condition. We really shouldn't be resetting the sequence ids when doing state expiration recovery, since we don't know if the server still remembers our previous state owners. There are servers out there that do attempt to preserve client state even if the lease has expired. Such a server would only release that state if a conflicting OPEN request occurs. Signed-off-by: Trond Myklebust commit f3c76491e7ecacbb7942633f3b2a3514b7476ef9 Author: Trond Myklebust Date: Tue Dec 23 15:21:48 2008 -0500 NFSv4: Don't exit the state management if there are still tasks to do Fix up a potential race... Signed-off-by: Trond Myklebust commit e005e8041c132af9f70862e1387a222198f95e7f Author: Trond Myklebust Date: Tue Dec 23 15:21:48 2008 -0500 NFSv4: Rename the state reclaimer thread It is really a more general purpose state management thread at this point. Signed-off-by: Trond Myklebust commit 707fb4b324371f1b4bea5eb29e39d265c66086ae Author: Trond Myklebust Date: Tue Dec 23 15:21:47 2008 -0500 NFSv4: Clean up NFS4ERR_CB_PATH_DOWN error management... Add a delegation cleanup phase to the state management loop, and do the NFS4ERR_CB_PATH_DOWN recovery there. Signed-off-by: Trond Myklebust commit 515d86117724abe39d7d57d7ccc7cc5c44480529 Author: Trond Myklebust Date: Tue Dec 23 15:21:46 2008 -0500 NFSv4: Clean up the support for returning multiple delegations Add a flag to mark delegations as requiring return, then run a garbage collector. In the future, this will allow for more flexible delegation management, where delegations may be marked for return if it turns out that they are not being referenced. Signed-off-by: Trond Myklebust commit 9e33bed55239bdcee1746c31a11177d239bac1b5 Author: Trond Myklebust Date: Tue Dec 23 15:21:46 2008 -0500 NFSv4: Add recovery for individual stateids NFSv4 defines a number of state errors which the client does not currently handle. Among those we should worry about are: NFS4ERR_ADMIN_REVOKED - the server's administrator revoked our locks and/or delegations. NFS4ERR_BAD_STATEID - the client and server are out of sync, possibly due to a delegation return racing with an OPEN request. NFS4ERR_OPENMODE - the client attempted to do something not sanctioned by the open mode of the stateid. Should normally just occur as a result of a delegation return race. Signed-off-by: Trond Myklebust commit 95d35cb4c473c754824967c0b069bbeb7efa4847 Author: Trond Myklebust Date: Tue Dec 23 15:21:45 2008 -0500 NFSv4: Remove nfs_client->cl_sem Now that we're using the flags to indicate state that needs to be recovered, as well as having implemented proper refcounting and spinlocking on the state and open_owners, we can get rid of nfs_client->cl_sem. The only remaining case that was dubious was the file locking, and that case is now covered by the nfsi->rwsem. Signed-off-by: Trond Myklebust commit 19e03c570e6099ffaf24e5628d4fe1a8acbe820d Author: Trond Myklebust Date: Tue Dec 23 15:21:44 2008 -0500 NFSv4: Ensure that file unlock requests don't conflict with state recovery The unlock path is currently failing to take the nfs_client->cl_sem read lock, and hence the recovery path may see locks disappear from underneath it. Also ensure that it takes the nfs_inode->rwsem read lock so that it there is no conflict with delegation recalls. Signed-off-by: Trond Myklebust commit 65de872ed6501a68e918a49a5c2fa7fca9c6ce21 Author: Trond Myklebust Date: Tue Dec 23 15:21:44 2008 -0500 NFS: Remove the unnecessary argument to nfs4_wait_clnt_recover() ...and move some code around in order to clear out an unnecessary forward declaration. Signed-off-by: Trond Myklebust commit fe1d81952e7f62b9da7dc438caaa07e35ec2b908 Author: Trond Myklebust Date: Tue Dec 23 15:21:43 2008 -0500 NFSv4: Ensure that nfs4_reclaim_open_state() doesn't depend on cl_sem Signed-off-by: Trond Myklebust commit 7eff03aec917e17f733471d7e12c262c0c96409f Author: Trond Myklebust Date: Tue Dec 23 15:21:43 2008 -0500 NFSv4: Add a recovery marking scheme for state owners Signed-off-by: Trond Myklebust commit 0f605b56008c4b6b075217480c36ba395ca4eaa4 Author: Trond Myklebust Date: Tue Dec 23 15:21:42 2008 -0500 NFSv4: Don't tell server we rebooted when not necessary Instead of doing a full setclientid, try doing a RENEW call first. Signed-off-by: Trond Myklebust commit e598d843c08a7ab6bdfa8098de49afb017fc6c6a Author: Trond Myklebust Date: Tue Dec 23 15:21:42 2008 -0500 NFSv4: Remove redundant RENEW calls if we know the lease has expired Signed-off-by: Trond Myklebust commit b79a4a1b45b2543e38026303a1956bdc0aababa0 Author: Trond Myklebust Date: Tue Dec 23 15:21:41 2008 -0500 NFSv4: Fix state recovery when the client runs over the grace period If the client for some reason is not able to recover all its state within the time allotted for the grace period, and the server reboots again, the client is not allowed to recover the state that was 'lost' using reboot recovery. Signed-off-by: Trond Myklebust commit 6dc9d57af9917f5c7faa13c17b770dce17c3972b Author: Trond Myklebust Date: Tue Dec 23 15:21:41 2008 -0500 NFSv4: Callers to nfs4_get_renew_cred() need to hold nfs_client->cl_lock Ditto for nfs4_get_setclientid_cred(). Signed-off-by: Trond Myklebust commit 028600143079c8e8f8366bbc2eb29977743baf3a Author: Trond Myklebust Date: Tue Dec 23 15:21:40 2008 -0500 NFSv4: Clean up for the state loss reclaimer Signed-off-by: Trond Myklebust commit 15c831bf1a3f8cab9812a96228145200726fea33 Author: Trond Myklebust Date: Tue Dec 23 15:21:39 2008 -0500 NFS: Use atomic bitops when changing struct nfs_delegation->flags Signed-off-by: Trond Myklebust commit 86e894899820f2b3094d5557124fc22743ae0fc7 Author: Trond Myklebust Date: Tue Dec 23 15:21:39 2008 -0500 NFSv4: Fix up the dereferencing of delegation->inode Without an extra lock, we cannot just assume that the delegation->inode is valid when we're traversing the rcu-protected nfs_client lists. Use the delegation->lock to ensure that it is truly valid. Signed-off-by: Trond Myklebust commit 343104308a33c4f1e23c8e841ede95e97b870842 Author: Trond Myklebust Date: Tue Dec 23 15:21:38 2008 -0500 NFSv4: Fix up another delegation related race When we can update_open_stateid(), we need to be certain that we don't race with a delegation return. While we could do this by grabbing the nfs_client->cl_lock, a dedicated spin lock in the delegation structure will scale better. Signed-off-by: Trond Myklebust commit 0cb2659b818eca99235e17c04291cfa9985c14f7 Author: Chuck Lever Date: Tue Dec 23 15:21:38 2008 -0500 NLM: allow lockd requests from an unprivileged port If the admin has specified the "noresvport" option for an NFS mount point, the kernel's NFS client uses an unprivileged source port for the main NFS transport. The kernel's lockd client should use an unprivileged port in this case as well. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 50a737f86dbf99daf3a8dcbdf778a3be36bb2a39 Author: Chuck Lever Date: Tue Dec 23 15:21:37 2008 -0500 NFS: "[no]resvport" mount option changes mountd client too If the admin has specified the "noresvport" option for an NFS mount point, the kernel's NFS client uses an unprivileged source port for the main NFS transport. The kernel's mountd client should use an unprivileged port in this case as well. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d740351bf0960e89ce1aef45cfe00167cb0f9e5b Author: Chuck Lever Date: Tue Dec 23 15:21:37 2008 -0500 NFS: add "[no]resvport" mount option The standard default security setting for NFS is AUTH_SYS. An NFS client connects to NFS servers via a privileged source port and a fixed standard destination port (2049). The client sends raw uid and gid numbers to identify users making NFS requests, and the server assumes an appropriate authority on the client has vetted these values because the source port is privileged. On Linux, by default in-kernel RPC services use a privileged port in the range between 650 and 1023 to avoid using source ports of well- known IP services. Using such a small range limits the number of NFS mount points and the number of unique NFS servers to which a client can connect concurrently. An NFS client can use unprivileged source ports to expand the range of source port numbers, allowing more concurrent server connections and more NFS mount points. Servers must explicitly allow NFS connections from unprivileged ports for this to work. In the past, bumping the value of the sunrpc.max_resvport sysctl on the client would permit the NFS client to use unprivileged ports. Bumping this setting also changes the maximum port number used by other in-kernel RPC services, some of which still required a port number less than 1023. This is exacerbated by the way source port numbers are chosen by the Linux RPC client, which starts at the top of the range and works downwards. It means that bumping the maximum means all RPC services requesting a source port will likely get an unprivileged port instead of a privileged one. Changing this setting effects all NFS mount points on a client. A sysadmin could not selectively choose which mount points would use non-privileged ports and which could not. Lastly, this mechanism of expanding the limit on the number of NFS mount points was entirely undocumented. To address the need for the NFS client to use a large range of source ports without interfering with the activity of other in-kernel RPC services, we introduce a new NFS mount option. This option explicitly tells only the NFS client to use a non-privileged source port when communicating with the NFS server for one specific mount point. This new mount option is called "resvport," like the similar NFS mount option on FreeBSD and Mac OS X. A sister patch for nfs-utils will be submitted that documents this new option in nfs(5). The default setting for this new mount option requires the NFS client to use a privileged port, as before. Explicitly specifying the "noresvport" mount option allows the NFS client to use an unprivileged source port for this mount point when connecting to the NFS server port. This mount option is supported only for text-based NFS mounts. [ Sidebar: it is widely known that security mechanisms based on the use of privileged source ports are ineffective. However, the NFS client can combine the use of unprivileged ports with the use of secure authentication mechanisms, such as Kerberos. This allows a large number of connections and mount points while ensuring a useful level of security. Eventually we may change the default setting for this option depending on the security flavor used for the mount. For example, if the mount is using only AUTH_SYS, then the default setting will be "resvport;" if the mount is using a strong security flavor such as krb5, the default setting will be "noresvport." ] Signed-off-by: Chuck Lever [Trond.Myklebust@netapp.com: Fixed a bug whereby nfs4_init_client() was being called with incorrect arguments.] Signed-off-by: Trond Myklebust commit 542fcc334adfea36d407cbf698d549fcb2bf6b91 Author: Chuck Lever Date: Tue Dec 23 15:21:36 2008 -0500 NFS: move nfs_server flag initialization Make it possible for the NFSv4 mount set up logic to pass mount option flags down the stack to nfs_create_rpc_client(). This is immediately useful if we want NFS mount options to modulate settings of the underlying RPC transport, but it may be useful at some later point if other parts of the NFSv4 mount initialization logic want to know what the mount options are. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4a01b8a4ee7b12becd26a49bae57f019605658cd Author: Chuck Lever Date: Tue Dec 23 15:21:35 2008 -0500 NFS: expand flags passed to nfs_create_rpc_client() The nfs_create_rpc_client() function sets up an RPC client for an NFS mount point. Add an option that allows it to set up an RPC transport from an unprivileged port. Instead of having nfs_create_rpc_client()'s callers retain local knowledge about how to set up an RPC client, create a couple of flag arguments to control the use of RPC_CLNT_CREATE flags. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c5d120f8e8b464368a7dcb038dc5c077d234d10a Author: Chuck Lever Date: Tue Dec 23 15:21:35 2008 -0500 NFS: introduce nfs_mount_info struct for calling nfs_mount() Clean up: convert nfs_mount() to take a single data structure argument to make it simpler to add more arguments. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 146ec944bbd31d241a44a00518b054fb01921d22 Author: Chuck Lever Date: Tue Dec 23 15:21:34 2008 -0500 NFS: Move declaration of nfs_mount() to fs/nfs/internal.h Clean up: The nfs_mount() function is not to be used outside of the NFS client. Move its public declaration to fs/nfs/internal.h. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7b5d2b98e118716dd1ccc2808fae88f6c4b16d54 Author: Chuck Lever Date: Tue Dec 23 15:21:34 2008 -0500 NFS: rename nfs_path variable Clean up: I'm about to move the declaration of nfs_mount into fs/nfs/internal.h and include it in fs/nfs/nfsroot.c. There's a conflicting definition of nfs_path in fs/nfs/internal.h and fs/nfs/nfsroot.c, so rename the private one. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit df94f000c46c055cf439f5b92807cd827557ffbc Author: Jeff Layton Date: Tue Dec 23 15:21:33 2008 -0500 lockd: convert reclaimer thread to kthread interface My understanding is that there is a push to turn the kernel_thread interface into a non-exported symbol and move all kernel threads to use the kthread API. This patch changes lockd to use kthread_run to spawn the reclaimer thread. I've made the assumption here that the extra module references taken when we spawn this thread are unnecessary and removed them. I've also added a KERN_ERR printk that pops if the thread can't be spawned to warn the admin that the locks won't be reclaimed. In the future, it would be nice to be able to notify userspace that locks have been lost (probably by implementing SIGLOST), and adding some good policies about how long we should reattempt to reclaim the locks. Finally, I removed a comment about memory leaks that I believe is obsolete and added a new one to clarify the result of sending a SIGKILL to the reclaimer thread. As best I can tell, doing so doesn't actually cause a memory leak. I consider this patch 2.6.29 material. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 2de59872a7842143f4507832e7c1f5123c47feb7 Author: Trond Myklebust Date: Tue Dec 23 15:21:33 2008 -0500 LOCKD: Make lockd_up() and lockd_down() exported GPL-only Signed-off-by: Trond Myklebust commit d716f0b8a57f8577bcd869e7dcb5a0add9f6fc5e Author: Trond Myklebust Date: Tue Dec 23 15:21:32 2008 -0500 SUNRPC: nfsacl_encode/nfsacl_decode should be exported as GPL-only Again, this has never been intended as a public abi for out-of-tree modules. Signed-off-by: Trond Myklebust commit 7bd8826915989f1bd6917c11b0a4151b129e68cb Author: Trond Myklebust Date: Tue Dec 23 15:21:32 2008 -0500 SUNRPC: rpcsec_gss modules should not be used by out-of-tree code Signed-off-by: Trond Myklebust commit 468039ee469c5772d3e39f736923c5e0c31017e2 Author: Trond Myklebust Date: Tue Dec 23 15:21:31 2008 -0500 SUNRPC: Convert the xdr helpers and rpc_pipefs to EXPORT_SYMBOL_GPL We've never considered the sunrpc code as part of any ABI to be used by out-of-tree modules. Signed-off-by: Trond Myklebust commit 88a9fe8cae3bb52e82489447f45e8d7ba1409ca8 Author: Trond Myklebust Date: Tue Dec 23 15:21:31 2008 -0500 SUNRPC: Remove the last remnant of the BKL... Somehow, this escaped the previous purge. There should be no need to keep any extra locks in the XDR callbacks. The NFS client XDR code only writes into private objects, whereas all reads of shared objects are confined to fields that do not change, such as filehandles... Ditto for lockd, the NFSv2/v3 client mount code, and rpcbind. The nfsd XDR code may require the BKL, but since it does a synchronous RPC call from a thread that already holds the lock, that issue is moot. Signed-off-by: Trond Myklebust commit 136221fc3219b3805c48db5da065e8e3467175d4 Author: Wu Fengguang Date: Tue Dec 23 15:21:30 2008 -0500 nfs: remove redundant tests on reading new pages aops->readpages() and its NFS helper readpage_async_filler() will only be called to do readahead I/O for newly allocated pages. So it's not necessary to test for the always 0 dirty/uptodate page flags. The removal of nfs_wb_page() call also fixes a readahead bug: the NFS readahead has been synchronous since 2.6.23, because that call will clear PG_readahead, which is the reminder for asynchronous readahead. More background: the PG_readahead page flag is shared with PG_reclaim, one for read path and the other for write path. clear_page_dirty_for_io() unconditionally clears PG_readahead to prevent possible readahead residuals, assuming itself to be always called in the write path. However, NFS is one and the only exception in that it _always_ calls clear_page_dirty_for_io() in the read path, i.e. for readpages()/readpage(). Cc: Trond Myklebust Signed-off-by: Wu Fengguang Signed-off-by: Trond Myklebust commit b479f3c75739b7fb1e7c73d28754bf918155b520 Author: wanzongshun Date: Tue Dec 23 03:23:12 2008 +0100 [ARM] 5352/1: add w90p910-plat config file The patch is for w90p910 platform default config. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 40321fd21c1eb1fb1886eea73b5f87c5e41ff2fb Merge: d83a12a... 3b24f30... Author: Russell King Date: Tue Dec 23 18:06:37 2008 +0000 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/mach-pxa/am200epd.c arch/arm/mach-pxa/ezx.c commit 98db8df777438e16ad0f44a0fba05ebbdb73db8d Author: Steven Rostedt Date: Tue Dec 23 11:32:25 2008 -0500 ring-buffer: prevent false positive warning Impact: eliminate false WARN_ON message If an interrupt goes off after the setting of the local variable tail_page and before incrementing the write index of that page, the interrupt could push the commit forward to the next page. Later a check is made to see if interrupts pushed the buffer around the entire ring buffer by comparing the next page to the last commited page. This can produce a false positive if the interrupt had pushed the commit page forward as stated above. Thanks to Jiaying Zhang for finding this race. Reported-by: Jiaying Zhang Signed-off-by: Steven Rostedt Cc: Signed-off-by: Ingo Molnar commit a8ccf1d6f60e3e6ae63122e02378cd4d40dd4aac Author: Steven Rostedt Date: Tue Dec 23 11:32:24 2008 -0500 ring-buffer: fix dangling commit race Impact: fix stuck trace-buffers If an interrupt comes in during the rb_set_commit_to_write and pushes the tail page forward just at the right time, the commit updates will miss the adding of the interrupt data. This will cause the commit pointer to cease from moving forward. Thanks to Jiaying Zhang for finding this race. Reported-by: Jiaying Zhang Signed-off-by: Steven Rostedt Cc: Signed-off-by: Ingo Molnar commit bed4f13065b520e564adffbfcd1c1a764a9c887e Merge: 3e5621e... bf8bd66... Author: Ingo Molnar Date: Tue Dec 23 16:30:31 2008 +0100 Merge branch 'x86/irq' into x86/core commit 3e5621edb3392b28efb260ac99b2d26fb8b44e73 Merge: be9a1d3... 181de82... Author: Ingo Molnar Date: Tue Dec 23 16:30:27 2008 +0100 Merge branch 'x86/iommu' into x86/core commit be9a1d3c2e559b267983bcf8b003997b83befb49 Merge: fa623d1... 7e3cbc3... Author: Ingo Molnar Date: Tue Dec 23 16:30:20 2008 +0100 Merge branch 'x86/tsc' into x86/core commit 7e3cbc3f774f31ecd88a51edae3d9377f60a4c00 Merge: 345077c... f4166c5... Author: Ingo Molnar Date: Tue Dec 23 16:29:31 2008 +0100 Merge branch 'x86/ptrace' into x86/tsc Conflicts: arch/x86/kernel/cpu/intel.c commit fa623d1b0222adbe8f822e53c08003b9679a410c Merge: 3d44cc3... 1ccedb7... 34945ed... d437797... c415b3d... beeb419... f269b07... 4e42ebd... e1286f2... 878719e... fd28a5b... adf77ba... 8f2466f... 93093d0... bb55746... f34a10b... b6fd6f2... 30604bb... 5b9a0e1... 67bac79... 7a9787e... f4166c5... 69b88af... 8daa190... 3e1e900... 8403295... 4db646b... 205516c... c8182f0... ecbf29c... Author: Ingo Molnar Date: Tue Dec 23 16:27:23 2008 +0100 Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core commit bf8bd66d0580f296f257d371ee41a0a137b541c7 Merge: 8ae9366... 1ccedb7... Author: Ingo Molnar Date: Tue Dec 23 16:24:15 2008 +0100 Merge branch 'x86/apic' into x86/irq Conflicts: arch/x86/kernel/apic.c commit 1ccedb7cdba6886939dd8b4c8f965a826f696e56 Merge: a98f8fd... 929096f... Author: Ingo Molnar Date: Tue Dec 23 16:23:23 2008 +0100 Merge commit 'v2.6.28-rc9' into x86/apic commit 3af373021fa32f8f787bfbdcc1a9277a287bde4e Author: Stefano Panella Date: Tue Dec 23 12:31:09 2008 +0000 uwb: remove beacon cache entry after calling uwb_notify() Removing the beacon cache entry from a uwb_dev can cause an oops if the bce is released before the call to uwb_notify(). Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit c8f915913afdfe1a796e312e21658b8edcf20868 Author: Artem Bityutskiy Date: Fri Dec 19 16:11:13 2008 +0200 UBIFS: avoid unnecessary calculations Do not calculate min_idx_lebs, because it is available in c->min_idx_lebs Signed-off-by: Artem Bityutskiy commit 650ed50f4298e76007070b7ab9d640dfe7228ab3 Author: Artem Bityutskiy Date: Mon Dec 22 11:09:04 2008 +0200 UBIFS: re-calculate min_idx_size after the commit When we commit, but before we try to write anything to the flash media, @c->min_idx_size is inaccurate, because we do not re-calculate it after the commit. Do not forget to do this. Signed-off-by: Artem Bityutskiy commit 4d61db4f87b527734ac0cc830dda8fcc4e2add2f Author: Artem Bityutskiy Date: Thu Dec 18 14:06:51 2008 +0200 UBIFS: use nicer 64-bit math Instead of using do_div(), use better primitives from linux/math64.h. Signed-off-by: Artem Bityutskiy commit af14a1ad792621942a03e4bd0e5f17b6e177e2e0 Author: Artem Bityutskiy Date: Fri Dec 19 19:26:29 2008 +0200 UBIFS: fix available blocks count Take into account that 2 eraseblocks are never available because they are reserved for the index. This gives more realistic count of FS blocks. To avoid future confusions like this, introduce a constant. Signed-off-by: Artem Bityutskiy commit d3cf502b6ccee1c52890d42cd18cbc98b7526126 Author: Artem Bityutskiy Date: Tue Dec 16 17:52:35 2008 +0200 UBIFS: various comment improvements and fixes Signed-off-by: Artem Bityutskiy commit 21a60258976227daaf7a4c35e96c3d77d4988b15 Author: Artem Bityutskiy Date: Fri Dec 12 11:13:17 2008 -0500 UBIFS: improve budgeting dump Dump available space calculated by budgeting subsystem. Signed-off-by: Artem Bityutskiy commit 24fa9e9438b263600737c839b36543981d87d65b Author: Artem Bityutskiy Date: Wed Dec 17 17:45:14 2008 +0200 UBIFS: fix tnc dumping debugfs tnc dumping was broken because of an obvious typo. Signed-off-by: Artem Bityutskiy commit 7bbe5b5aa6d1e38af6f1fc866efc0aa461d73f19 Author: Artem Bityutskiy Date: Tue Dec 9 11:02:51 2008 -0500 UBIFS: use PAGE_CACHE_MASK correctly It has high bits set, not low bits set as the UBIFS code assumed. Signed-off-by: Artem Bityutskiy commit 908a7a16b852ffd618a9127be8d62432182d81b4 Author: Neil Horman Date: Mon Dec 22 20:43:12 2008 -0800 net: Remove unused netdev arg from some NAPI interfaces. When the napi api was changed to separate its 1:1 binding to the net_device struct, the netif_rx_[prep|schedule|complete] api failed to remove the now vestigual net_device structure parameter. This patch cleans up that api by properly removing it.. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit f8f50b1bddd49eb171398cfc543c957884dc6e35 Author: Dale Farnsworth Date: Wed Dec 17 10:09:26 2008 +0000 powerpc/32: Wire up the trampoline code for kdump Wire up the trampoline code for ppc32 to relay exceptions from the vectors at address 0 to vectors at address 32MB, and modify Kconfig to enable Kdump support for all classic powerpcs. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit ccdcef72c249c289898b164eada89a61855b9287 Author: Dale Farnsworth Date: Wed Dec 17 10:09:13 2008 +0000 powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M Add the ability for a classic ppc kernel to be loaded at an address of 32MB. This done by fixing a few places that assume we are loaded at address 0, and by changing several uses of KERNELBASE to use PAGE_OFFSET, instead. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 01695a9687e5a8d78589605037cc7828a5b67ac9 Author: Anton Vorontsov Date: Wed Dec 17 10:09:10 2008 +0000 powerpc/32: Allow __ioremap on RAM addresses for kdump kernel While for debugging it is good to catch bogus users of ioremap, though for kdump support it is more convenient to use __ioremap for copy_oldmem_page() (exactly as we do for PPC64 currently). Note that copy_oldmem_page() calls __ioremap with flags set to '0', so it should be safe with the regard to the caches. The other option is to use kmap_atomic_pfn()[1], but it will not work for kernels compiled without HIGHMEM. That is, on a board with 256MB RAM and crashkernel=64M@32M case, the !HIGHMEM capturing kernel maps 0-96M range, which does not include all the memory needed to capture the dump. And, obviously, accessing anything upper than 96M will cause faults. [1] http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046747.html Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 6f29c3298b18216198631cbee01c349adecb225d Author: Dale Farnsworth Date: Wed Dec 17 10:09:06 2008 +0000 powerpc/32: Setup OF properties for kdump Refactor the setting of kdump OF properties, moving the common code from machine_kexec_64.c to machine_kexec.c where it can be used on both ppc64 and ppc32. This will be needed for kdump to work on ppc32 platforms. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 73753313884e8d063d9bf9d3e36325743ca006ba Author: Anton Vorontsov Date: Wed Dec 17 10:09:01 2008 +0000 powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs() This replaces the dummy crash_setup_regs function with full-fledged crash_setup_regs implementation. On PPC32 we simply use the new ppc_save_regs function to dump the registers. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 322b439455ea62e6480e300c77b258e872896381 Author: Anton Vorontsov Date: Wed Dec 17 10:08:55 2008 +0000 powerpc: Prepare xmon_save_regs for use with kdump Today the arch/powerpc/xmon/setjmp.S file contains only the xmon_save_regs function. We want to use it for kdump purposes, so let's move the file into arch/powerpc/kernel/ and give the function a more generic name (ppc_save_regs). Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 5be8554875bf3a1a42b7f04d5999b36e7c2fa88b Author: Anton Vorontsov Date: Tue Dec 16 06:23:08 2008 +0000 powerpc: Remove default kexec/crash_kernel ops assignments Default ops are implicit now. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 77733f8a33488307e7d4b9077d174647ecea92e1 Author: Anton Vorontsov Date: Tue Dec 16 06:23:05 2008 +0000 powerpc: Make default kexec/crash_kernel ops implicit This removes the need for each platform to specify default kexec and crash kernel ops, thus effectively adds a working kexec support for most 6xx/7xx/7xxx-based boards. Platforms that can't cope with default ops will explode in some weird way (a hang or reboot is most likely), which means that the board's kexec support should be fixed or blacklisted via dummy _prepare callback returning -ENOSYS. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 2e8e4f5b80e101da588af650de0ff6b3c475d6b3 Author: Dale Farnsworth Date: Tue Dec 16 06:22:59 2008 +0000 powerpc: Setup OF properties for ppc32 kexec Refactor the setting of kexec OF properties, moving the common code from machine_kexec_64.c to machine_kexec.c where it can be used on both ppc64 and ppc32. This is needed for kexec to work on ppc32 platforms. Signed-off-by: Dale Farnsworth Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit b906cfa397fdef8decbd36467b1f63c830a0bf2b Author: Sebastien Dugue Date: Thu Nov 27 00:59:52 2008 +0000 powerpc/pseries: Fix cpu hotplug Currently, pseries_cpu_die() calls msleep() while polling RTAS for the status of the dying cpu. However, if the cpu that is going down also happens to be the one doing the tick then we're hosed as the tick_do_timer_cpu 'baton' is only passed later on in tick_shutdown() when _cpu_down() does the CPU_DEAD notification. Therefore jiffies won't be updated anymore. This replaces that msleep() with a cpu_relax() to make sure we're not going to schedule at that point. With this patch my test box survives a 100k iterations hotplug stress test on _all_ cpus, whereas without it, it quickly dies after ~50 iterations. Signed-off-by: Sebastien Dugue Cc: Michael Ellerman Signed-off-by: Paul Mackerras commit fad7b9b51e21a97e9e2662f1b51869ed2d209097 Author: Paul Mackerras Date: Tue Dec 23 14:57:26 2008 +1100 powerpc: Fix KVM build on ppc440 Commit 2a4aca1144394653269720ffbb5a325a77abd5fa ("powerpc/mm: Split low level tlb invalidate for nohash processors") changed a call to _tlbia to _tlbil_all but didn't include the header that defines _tlbil_all, leading to a build failure on 440 if KVM is enabled. This fixes it. Signed-off-by: Paul Mackerras commit 889bd9b6dbcd426b8698c4a779dd7dbf247f57b8 Author: Oliver Neukum Date: Thu Dec 18 03:57:35 2008 +0000 net: startup race in hso driver The flag marking a device running must be set before the URBs for recption are submitted or they may complete too early and fail to resubmit. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit 05a8c1cbfe368df8c0d4eff710c370d2aa10245a Author: Jarek Poplawski Date: Mon Dec 22 19:44:13 2008 -0800 pkt_sched: Remove smp_wmb() in qdisc_watchdog() While implementing a TCQ_F_THROTTLED flag there was used an smp_wmb() in qdisc_watchdog(), but since this flag is practically used only in sch_netem(), and since it's not even clear what reordering is avoided here (TCQ_F_THROTTLED vs. __QDISC_STATE_SCHED?) it seems the barrier could be safely removed. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 4707470ae7441733822efcd680b0ef3971921c4d Author: Florian Fainelli Date: Mon Dec 22 19:40:38 2008 -0800 r6040: bump release number to 0.19 This patch bumps the release number of the driver. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 3e7c469f07ff14cbf9a814739e1fc99a863e0943 Author: Joe Chou Date: Mon Dec 22 19:40:02 2008 -0800 r6040: save and restore MIER correctly in the interrupt routine This patch saves the MIER register contents before treating interrupts, then restores them correcty at the end of the interrupt routine. Signed-off-by: Joe Chou Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 11e5e8f5d14a1229706576184d2cf4c4556ed94c Author: Joe Chou Date: Mon Dec 22 19:38:17 2008 -0800 r6040: fix wrong logic in mdio code This patch fixes a reverse logic in the MDIO code. Signed-off-by: Joe Chou Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 5f2f6da76c429c42d54f73807f00b8fd761a7d68 Author: Jarek Poplawski Date: Mon Dec 22 19:35:28 2008 -0800 net: Fix oops in dev_ifsioc() A command like this: "brctl addif br1 eth1" issued as a user gave me an oops when bridge module wasn't loaded. It's caused by using a dev pointer before checking for NULL. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit adf77bac052bb5bf0722b2ce2af9fefc5b2d2a71 Author: H. Peter Anvin Date: Mon Dec 22 17:56:05 2008 -0800 x86: prioritize the FPU traps for the error code In the case of multiple FPU errors, prioritize the error codes, instead of returning __SI_FAULT, which ends up pushing a 0 as the error code to userspace, a POSIX violation. For i386, we will simply return if there are no errors at all; for x86-64 this is probably a "can't happen" (and the code should be unified), but for this patch, return __SI_FAULT|SI_KERNEL if this ever happens. Signed-off-by: H. Peter Anvin commit ad1ad968f4e7b06c75741575ea077e25a87da49a Author: Christoph Hellwig Date: Mon Dec 22 09:59:06 2008 -0500 [XFS] handle unaligned data in xfs_bmbt_disk_get_all In libxfs xfs_bmbt_disk_get_all needs to handle unaligned data and thus has been updated to use get_unaligned_be64. In kernelspace we don't strictly need it as the routine is only used for tracing and xfsidbg, but let's keep the two implementations in sync. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit def434c2319c5a336633cd73322e0f28a7091b01 Author: Benjamin Krill Date: Thu Nov 27 16:15:44 2008 +0100 powerpc/cell: add QPACE as a separate Cell platform Since the QPACE (Chromodynamics Parallel Computing on the Cell Broadband Engine) platform doesn't use a iommu, doesn't have PCI devices and a MPIC much lesser setup and configurations are needed. So far all devices are detected as OF device. A notifier function is used to set the dma_ops for the of_platform bus. Further this patch splits the PPC_CELL_NATIVE into PPC_CELL_COMMON which are parts that are shared with the QPACE platform and the rest. Signed-off-by: Benjamin Krill Signed-off-by: Arnd Bergmann commit e68558ddcdbfa8cc2e7811bcada3bcbeef79fd4a Author: Arnd Bergmann Date: Mon Dec 22 22:08:26 2008 +0100 powerpc/cell: fix build breakage with CONFIG_SPUFS disabled CBE_THERM and OPROFILE_CELL both cannot be built without SPU_FS disabled, so make the dependency explicit. Reported-by: Milton Miller Signed-off-by: Arnd Bergmann commit a01777ecf227de735d7e525ecda48fe74b838a17 Author: David Vrabel Date: Mon Dec 22 18:30:29 2008 +0000 uwb: remove unused include/linux/uwb/debug.h Signed-off-by: David Vrabel commit e43ace891229607c43d35597cbba77c2e40f48d4 Author: David Vrabel Date: Mon Dec 22 18:27:17 2008 +0000 uwb: use print_hex_dump() Use print_hex_dump() instead of the home-grown dump_bytes(). Signed-off-by: David Vrabel commit bce83697c5fe84a7a5d38c96fbbe43b4bc028c3e Author: David Vrabel Date: Mon Dec 22 18:22:50 2008 +0000 uwb: use dev_dbg() for debug messages Instead of the home-grown d_fnstart(), d_fnend() and d_printf() macros, use dev_dbg() or remove the message entirely. Signed-off-by: David Vrabel commit 472346da9cc4231bec03ff2032e0d5fd4037232c Author: Roel Kluin Date: Mon Dec 22 17:40:45 2008 +0100 ALSA: ASoC: fix a typo in omp-pcm.c Fix a typo (& and &&) Signed-off-by: Roel Kluin Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai commit c69134858722977a82f58cae88e7ffdb28e1e858 Author: Jarkko Nikula Date: Mon Dec 22 10:57:33 2008 +0200 ASoC: Fix DSP formats in SSM2602 audio codec Thanks to Troy Kisky for noticing. - DSP_A format has 1-bit data delay which corresponds to SSM6202 submode 2 - DSP_B has 0-bit data delay which corresponds to submode 1 - Currently driver sets them opposite so swap the submode setting Signed-off-by: Jarkko Nikula Cc: Cliff Cai Signed-off-by: Mark Brown commit bd25867a6cbe7a00ef7dbe8d9ddebc91b00b9b3f Author: Jarkko Nikula Date: Mon Dec 22 10:21:36 2008 +0200 ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers - OMAP McBSP DAI driver claims to support DSP_A format which has 1-bit data delay but configures link for 0-bit data delay which is in fact DSP_B - Fix this by changing format from DSP_A to DSP_B - Fix also TLV320AIC23 codec and OSK5912 machine drivers since the same error is populated also there Signed-off-by: Jarkko Nikula Acked-by: Arun KS Signed-off-by: Mark Brown commit f5eda57f9bb17b6f09f7888dfc2c47db7aea45d4 Author: Roland Dreier Date: Mon Dec 22 07:15:05 2008 -0800 mlx4_core: Delete incorrect comment The comment about a "Conditional on hca_type" was cut-and-pasted from the mthca driver, and doesn't apply to mlx4 (since only one type of HCA is handled by mlx4). So just delete it. Signed-off-by: Roland Dreier commit b8dd786f9417e5885929bfe33a235c76a9c1c569 Author: Yevgeny Petrilin Date: Mon Dec 22 07:15:03 2008 -0800 mlx4_core: Add support for multiple completion event vectors When using MSI-X mode, create a completion event queue for each CPU. Report the number of completion EQs in a new struct mlx4_caps member, num_comp_vectors, and extend the mlx4_cq_alloc() interface with a vector parameter so that consumers can specify which completion EQ should be used to report events for the CQ being created. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 59de580af1c2fd671b0cb27c41ff958859ae5288 Author: Paul Mundt Date: Mon Dec 22 19:32:27 2008 +0900 sh: oprofile: Fix up the module build. Signed-off-by: Paul Mundt commit 7d91fcfcb91dde7bc4586154942862c1724b3519 Author: Takanari Hayama Date: Mon Dec 22 11:05:03 2008 +0900 sh: add UIO support for JPU on SH7722. Add JPU support on Migo-R via UIO. This make use of Magnus's generic UIO platform driver. Chunk of contiguous memory to hold intermediate image and compressed data during encode and decode. Signed-off-by: Takanari Hayama Signed-off-by: Paul Mundt commit b0c50ad71746c4ad148f366135e3c87e32729108 Author: Paul Mundt Date: Mon Dec 22 03:40:10 2008 +0900 serial: sh-sci: Fix up port pinmux for SH7366. Signed-off-by: Paul Mundt commit 6f5cd2bd59c3bbaf073a7a52fcdefded939bd306 Author: Paul Mundt Date: Mon Dec 22 03:26:26 2008 +0900 sh: mach-rsk: Use uImage generation by default for rsk7201/7203. Signed-off-by: Paul Mundt commit 2ea40dec26da89702dface74365cd16cea9ded6c Author: Paul Mundt Date: Mon Dec 22 03:25:04 2008 +0900 sh: mach-sh03: Fix up pata_platform build breakage. Signed-off-by: Paul Mundt commit b5868e8cdeb35cd9ddc3a541f81f318b0f6772b3 Author: Magnus Damm Date: Fri Dec 19 15:34:50 2008 +0900 sh: enable deferred io LCDC on Migo-R Enable LCDC deferred io on Migo-R using 1s delay. As with other deferred io frame buffers user space code should use fsync() on the frame buffer device to trigger an update. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8564557a03c12adb9c4b76ae1e86db4113a04d13 Author: Magnus Damm Date: Fri Dec 19 15:34:41 2008 +0900 video: sh_mobile_lcdcfb deferred io support This patch adds sh_mobile_lcdcfb deferred io support for SYS panels. The LCDC hardware block managed by the sh_mobile_lcdcfb driver supports RGB or SYS panel configurations. SYS panels come with an external display controller that is resposible for refreshing the actual LCD panel. RGB panels are controlled directly by the LCDC and they need to be refreshed by the LCDC hardware. In the case of SYS panels we can save some power by configuring the LCDC hardware block in one-shot mode. In this one-shot mode panel refresh is managed by software. This works well together with deferred io since it allows us to stop clocks for most of the time and only enable clocks when we actually want to trigger an update. When there is no fbdev activity the clocks are kept stopped which allows us to deep sleep. The refresh rate in deferred io mode is set using platform data. The same platform data can also be used to disable deferred io mode. As with other deferred io frame buffers user space code should use fsync() on the frame buffer device to trigger an update. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 37b4837959cb9aa60686ca0d85f73d819251abad Author: Magnus Damm Date: Fri Dec 19 15:34:32 2008 +0900 video: deferred io with physically contiguous memory Extend the deferred io code from only supporting vmalloc()ed frame buffer memory to support both vmalloc()ed and physically contiguous frame buffer memory. The sh_mobile_lcdcfb hardware does not support scatter gather so we need physically contiguous memory to back our frame buffer. Signed-off-by: Magnus Damm Acked-by: Jaya Kumar Signed-off-by: Paul Mundt commit 6e1038a95bebb8a1ad6066c95aa9c3af6963c9ff Author: Magnus Damm Date: Fri Dec 19 15:34:23 2008 +0900 video: deferred io cleanup Make sure the mmap callback is set to NULL in the deferred io cleanup function. This way we can enable and disable deferred io on the fly. Signed-off-by: Magnus Damm Acked-by: Jaya Kumar Signed-off-by: Paul Mundt commit 87884bd8ae42c875adbd62c84f47ed1cbb3e5090 Author: Magnus Damm Date: Fri Dec 19 15:34:09 2008 +0900 video: fix deferred io fsync() If CONFIG_FB_DEFERRED_IO is set, but there are framebuffers registered that does not make use of deferred io, then fsync() on those framebuffers will result in a crash. Fix that. This is needed for sh_mobile_lcdcfb since we always enable deferred io at compile time but we may disable deferred io for some types of hardware configurations. Signed-off-by: Magnus Damm Acked-by: Jaya Kumar Signed-off-by: Paul Mundt commit 0790555437df2b6070af8f021b8d2ef79e70e144 Author: Magnus Damm Date: Fri Dec 19 12:02:16 2008 +0900 sh: add LCDC interrupt configuration to AP325 and Migo-R Add LCDC interrupt resources for AP325 and Migo-R. The LCDC driver does not require interrupts at this point, but changes such as one-shot SYS mode using deferred io, and wait-for-vblank will both need this. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2540c111ead82cad605ec2b14a1905ad914cc124 Author: Magnus Damm Date: Wed Dec 17 17:29:49 2008 +0900 sh_mobile_lcdc: use FB_SYS helpers instead of FB_CFB Since the sh_mobile_lcdc hardware has the framebuffer(s) in system RAM, use FB_SYS instead of FB_CFB. Also hook in read and write helpers. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit da9fdc8b44c421f14a68988ae4d1fb414d5edbf0 Author: Magnus Damm Date: Wed Dec 17 17:18:45 2008 +0900 sh: split coherent pages Split pages returned by dma_alloc_coherent() and make sure we free them one by one. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 78fb40263f34c65ade1693664db1af168d479588 Author: Paul Mundt Date: Wed Dec 17 16:23:32 2008 +0900 sh: dma: Kill off ISA DMA wrapper. There are no more users for this code, and it has been deprecated for some time, so just kill it off. Signed-off-by: Paul Mundt commit 5d2685d0b3edc51ecc92604d5b7f5ca9b29b90bb Author: Paul Mundt Date: Wed Dec 17 15:56:06 2008 +0900 sh: Conditionalize the code dumper on CONFIG_DUMP_CODE. We don't really want this enabled by default, but it is still quite useful for debugging. So, make it conditional and leave it off by default. Signed-off-by: Paul Mundt commit fe58cac35f48a9598c2a1360c2204c73f7bca2d2 Author: Paul Mundt Date: Wed Dec 17 15:36:50 2008 +0900 sh: Kill off the unused SH_ALPHANUMERIC debug option. Signed-off-by: Paul Mundt commit 740a3e677b70181d5e2b1458a27891209e3bf635 Author: Paul Mundt Date: Wed Dec 17 15:33:43 2008 +0900 sh: Enable skipping of bss on debug platforms for sh32 also. This enables the same functionality that sh64 has for sh32. When running on simulated hardware or via remote memory via the debug interface, memory is gauranteed to be zero on boot already, and skipping the zeroing of BSS has measurable boot time benefits. Signed-off-by: Paul Mundt commit 8a655053ca1593dd160dac2a4ee638fdec037d86 Author: Paul Mundt Date: Wed Dec 17 15:06:54 2008 +0900 doc: Update sh cpufreq documentation. The sh cpufreq driver is no longer limited to just the SH-3 and SH-4, update the documentation to reflect this fact accordingly. Signed-off-by: Paul Mundt commit 0146d7875976795fe364b4a3da629975ebd37671 Author: Paul Mundt Date: Wed Dec 17 14:58:04 2008 +0900 sh: mrshpc_setup_windows() needs to be inline. While no one should be including this file multiple times, flag it inline anyways just in case. Signed-off-by: Paul Mundt commit 1f6fd5c916c8416588f5797e7837b9e81b3251a5 Author: Paul Mundt Date: Wed Dec 17 14:53:24 2008 +0900 serial: sh-sci: sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. sci_poll_put_char() happens to also be used by the serial console, while sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. Add another gnarly ifdef to shut up the compiler. Signed-off-by: Paul Mundt commit 073da9c0de401e8683b6bc76c008a7e0850045d5 Author: Paul Mundt Date: Wed Dec 17 14:41:54 2008 +0900 sh: Kill off cf-enabler with extreme prejudice. Now that the rest of the boards that were using cf-enabler "generically" have switched to setting up their mappings on their own, only the mach-se boards were left using it. All of the cf-enabler using mach-se boards use a special initialization of the MRSHPC windows rather than going through the special PTE as other SH-4 platforms do. This consolidates the MRSHPC setup logic, hooks it up on the boards that care, and gets rid of any and all remaining references to cf-enabler. This has been long overdue, as cf-enabler has been the bane of arch/sh/kernel for the last 7 years. Good riddance. Signed-off-by: Paul Mundt commit 8c197c3afb4a9026973315cc6a3c189dd8434053 Author: Paul Mundt Date: Wed Dec 17 13:57:45 2008 +0900 sh: Add a simple edosk7705_defconfig for build testing. Signed-off-by: Paul Mundt commit 866ef8f48f2272ce8d84156c91964d730666ab33 Author: Paul Mundt Date: Wed Dec 17 13:57:15 2008 +0900 sh: mach-edosk7705: Fix up edosk7705 so it all builds again. Signed-off-by: Paul Mundt commit 0ef0e6ca426d28561b752e5f576932659295b928 Author: Paul Mundt Date: Wed Dec 17 13:14:22 2008 +0900 sh: mach-microdev: Split out the fdc37c93xapm initialization code. This makes the microdev code a bit more readable, and moves the setup for the SuperIO out on its own. Signed-off-by: Paul Mundt commit 43eeb0fb9f4e2aaefc4ae9dc964308ce8f55998b Author: Paul Mundt Date: Wed Dec 17 12:54:09 2008 +0900 sh: mach-sh03: Use __set_io_port_base(), kill off special ioport_map(). This also fixes up a long-standing bug for this platform where the PIO base was set to a register offset, rather than the actual PIO offset itself. Signed-off-by: Paul Mundt commit 8db806ec80ce80605005d1d558add716152a1134 Author: Paul Mundt Date: Wed Dec 17 12:48:41 2008 +0900 sh: mach-sh03: Move off of cf_enabler to pata_platform, as per landisk. This gets rid of the cf enabler use on mach-sh03 and switches to use pata_platform with the proper address directly. cf_enabler is subsequently disabled for mach-sh03. Signed-off-by: Paul Mundt commit 98a955da8525a4218c8186fba5a6b949f563bbea Author: Paul Mundt Date: Wed Dec 17 12:42:20 2008 +0900 sh: board-shmin: Convert shmin to use __set_io_port_base(). Drop the special mv_ioport_map() implementation, as this can simply use __set_io_port_base() directly. Signed-off-by: Paul Mundt commit 2125a46083dc5a9aa321c243e322638a9338cd11 Author: Paul Mundt Date: Wed Dec 17 12:31:32 2008 +0900 sh: Kill off dead mv_init_pci() from machvec. Signed-off-by: Paul Mundt commit 43f8f9b95b65dc05368cd82268895b9508b17d50 Author: Paul Mundt Date: Wed Dec 17 12:20:15 2008 +0900 sh: Simplify kernel_thread_helper() for sh32. This can use the same implementation as sh64, the generated assembly is the same between the new and old version, so there is not much point in leaving it open coded in inline assembly. This is preparatory work for future consolidation of the _32/_64 variants. Signed-off-by: Paul Mundt commit 7b80fb32b39a51ce3e1afa051f5a616eb8ecbed3 Author: Paul Mundt Date: Wed Dec 17 12:19:30 2008 +0900 sh: Kill off mv_heartbeat() from the machvec. Nothing is using this any more, so get rid of it before anyone gets the bright idea to start using it again. Signed-off-by: Paul Mundt commit b94ea27570e4ae87942e2f2ae386d4007ef7ac58 Author: Paul Mundt Date: Wed Dec 17 12:17:20 2008 +0900 sh: Kill off the cayman and microdev special heartbeat code. These can use the generic code instead. Signed-off-by: Paul Mundt commit ca0c14e447a399eb90a1c9a4357560c2a29ef499 Author: Paul Mundt Date: Wed Dec 17 11:47:59 2008 +0900 sh: Kill off sh_bios_in_gdb_mode(). With the reworked kgdb support, we always detach and reinitialize the stub. This was mostly a feature for handoffs between sh-ipl+g and the kgdb stub, but virtually no sh-ipl+g versions ever had this working right in the first place. Given that the sh-ipl+g stubs in general use today don't even support the GDB stub, and we have already killed off the special casing in the sh-sci serial driver, kill off this now unused symbol too. Signed-off-by: Paul Mundt commit a9df1ed92fc46cb7c9a9c6b74dbd8bbdc41f69ce Author: Paul Mundt Date: Wed Dec 17 11:39:33 2008 +0900 sh: export sh_bios_get_node_addr() symbol for stnic module. Signed-off-by: Paul Mundt commit 8e32018b0428038b492dad5b19e80bf7d6dc002d Author: Paul Mundt Date: Wed Dec 17 11:37:51 2008 +0900 sh: Run sh_bios through a long overdue Lindent. Signed-off-by: Paul Mundt commit d5701647f1aaaea5da20023976d86af79ab84707 Author: Paul Mundt Date: Tue Dec 16 20:07:27 2008 +0900 serial: sh-sci: Generalize port pin initialization. Signed-off-by: Paul Mundt commit d830fa4584a4015989b9b396a80779f28f277baa Author: Paul Mundt Date: Tue Dec 16 19:29:38 2008 +0900 serial: sh-sci: Tidy up fifo overrun error handling. Signed-off-by: Paul Mundt commit 762c69e3cad67a5cc5a01ba74e0b552ae4615258 Author: Paul Mundt Date: Tue Dec 16 18:55:26 2008 +0900 serial: sh-sci: pr_debug() -> dev_dbg() conversion. Signed-off-by: Paul Mundt commit 027e68724935599417faa7dd4123c117d18e2483 Author: Paul Mundt Date: Tue Dec 16 18:36:16 2008 +0900 serial: sh-sci: Fix up the cpufreq notifier to use the proper port clock. Signed-off-by: Paul Mundt commit d9341b51f28a5eb4ce231f4a3bbfa02aaecae626 Author: Paul Mundt Date: Tue Dec 16 09:36:25 2008 +0900 sh: oprofile: Convert op_model_sh7750 to new common interface. Signed-off-by: Paul Mundt commit 40a8b421b6a85f7786bf3007d316cd799efe8ea1 Author: Dave Peverley Date: Tue Dec 16 09:35:40 2008 +0900 sh: oprofile: Backtrace support. This patch improves the oprofile support on sh and adds backtrace support. Signed-off-by: Dave Peverley Signed-off-by: Chris Smith Signed-off-by: Paul Mundt commit 60a51fbe5dd2baef0f35bcf79f25ac1ee239a660 Author: Paul Mundt Date: Tue Dec 16 09:33:53 2008 +0900 sh: oprofile: Refactor common setup code for multiple driver support. This re-implements the old op_model_null code in to something more generic, where multiple drivers, backtrace, etc. can all be interfaced. Based largely on arch/mips/oprofile/common.c. Signed-off-by: Paul Mundt commit 70fe224743c11b57f9b63326313988fdcceb54df Author: Matt Fleming Date: Tue Dec 16 09:13:05 2008 +0900 sh: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH machines After the recent changes to switch SuperH board support over to irq_chip it is now possible to set GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH boards. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 1a94757fae2ac2a9971694b55972f65a396a2f31 Author: Matt Fleming Date: Sun Dec 14 12:02:27 2008 +0000 sh: Convert Cayman boards from hw_interrupt_type to irq_chip I've been unable to even compile-test this change because I don't have an sh5 toolchain. All uses of hw_interrupt_type for SuperH boards have now been converted to use irq_chip. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e85a47744bbdfbcc65c94b2af67499f861c6fa42 Author: Matt Fleming Date: Sun Dec 14 12:02:26 2008 +0000 sh: Convert Dreamcast support from hw_interrupt_type to irq_chip Switch the dreamcast IRQ code over to the irq_chip way of doing things, so that we can set GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH boards. Also, whilst I'm here change some things to make checkpatch.pl happy: - Indent with tabs, not with spaces - Include , not - Fix the multi-line comment style - Fix some typos in the comments Tested-by: Adrian McMenamin Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit bd0a22d21f26864792a0e49c20f5bd25d6c335e4 Author: Matt Fleming Date: Sun Dec 14 12:02:25 2008 +0000 sh: Convert SystemH board support from hw_interrupt_type to irq_chip ... as part of the hw_interrupt_type to irq_chip crusade. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit be729fd8900f0026238539de46d867d232d1e913 Author: Matt Fleming Date: Sun Dec 14 12:02:24 2008 +0000 sh: Convert Microdev boards from hw_interrupt_type to irq_chip This is part of the SH move to irq_chip. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 180ae2037f5bc33b0597ddbb76d36b08a74a238a Author: Paul Mundt Date: Fri Dec 12 16:53:14 2008 +0900 sh: Provide sdivsi3/udivsi3/udivdi3 for sh64, kill off libgcc linking. This moves in the necessary libgcc bits and kills off the libgcc linking for sh64 kernels as well. Signed-off-by: Paul Mundt commit 209aa4fdc39eacc145a7f9c32a4b9ffcc68912c6 Author: Paul Mundt Date: Fri Dec 12 16:35:40 2008 +0900 fb: SH-5 uses __raw I/O accessors now also, drop the special casing. Signed-off-by: Paul Mundt commit 4466b20cfcfa718ff515b9e3886749cc025e2005 Author: Paul Mundt Date: Fri Dec 12 16:34:44 2008 +0900 sh: Add SH-5 optimized memcpy()/memset()/strcpy()/strlen(). Adopted from the uClibc optimized string versions. Signed-off-by: Paul Mundt commit 776d6c298aad42c2b8f191fa9ad826075e4d588c Author: Paul Mundt Date: Thu Dec 11 19:15:14 2008 +0900 sh: Kill off remaining CONFIG_SH_KGDB bits. Now that we use the generic stub, kill off all of the left over references. Signed-off-by: Paul Mundt commit 07d2a1a1cd8d609a4bc320a492670de57ec6bde1 Author: Paul Mundt Date: Thu Dec 11 19:06:43 2008 +0900 serial: sh-sci: Implement CONSOLE_POLL support and kill off old kgdb console. Signed-off-by: Paul Mundt commit ab6e570ba33dbee18c2520d386e0f367a9b573c3 Author: Paul Mundt Date: Thu Dec 11 18:46:46 2008 +0900 sh: Generic kgdb stub support. This migrates from the old bitrotted kgdb stub implementation and moves to the generic stub. In the process support for SH-2/SH-2A is also added, which the old stub never provided. Signed-off-by: Paul Mundt commit d7b01f78a3ae6a3cc21a16a1a3d377adc2227537 Author: Paul Mundt Date: Wed Dec 10 20:17:15 2008 +0900 sh: Enable HAVE_ARCH_TRACEHOOK for all SH, now that SH-5 supports it too. Signed-off-by: Paul Mundt commit dd76279b47dce2c0bd7c54997938ec4cb9f16884 Author: Paul Mundt Date: Wed Dec 10 20:14:15 2008 +0900 sh: Provide linux/regset.h interface for SH-5. Plugs in general and FPU regsets. Signed-off-by: Paul Mundt commit 94e2fb3d3e1f4cb6bad2b13c572c4c99ad734a37 Author: Paul Mundt Date: Wed Dec 10 19:46:18 2008 +0900 sh: Provide asm/syscall.h for SH-5. This provides the asm/syscall.h implementation for sh64 parts. Signed-off-by: Paul Mundt commit 6ac034375fe8b4341137657adf5e6ff0dcb5a99f Author: Paul Mundt Date: Wed Dec 10 19:26:44 2008 +0900 sh: Handle cases where setup{_rt,}_frame() fail on SH-5 signal delivery. Presently these cases are not handled properly due to the return value not being passed back. This needs to be correct to get proper behaviour out of things like the tracehook signal notifier, amongst others. Signed-off-by: Paul Mundt commit f15b2dc02fef0c53aa5ffa3c4617e184f057d402 Author: Paul Mundt Date: Wed Dec 10 19:18:46 2008 +0900 sh: Fix up syscall_get_nr() comment in syscall_32.h. Residual copy-and-paste damage, fix it up. Signed-off-by: Paul Mundt commit 35724a0aed6e62bdad640e8a1b8498329708226f Author: Paul Mundt Date: Wed Dec 10 18:17:19 2008 +0900 sh: Fix up the cpu_asid() return value on nommu. This ought to be unsigned long, rather than defaulting to int. Signed-off-by: Paul Mundt commit a99d6fde69dd9c73ac0b4e42a77ed1ebc714e56a Author: Paul Mundt Date: Wed Dec 10 18:06:36 2008 +0900 sh: Convert sh64 /proc/asids to debugfs and generic sh. This converts the sh64 /proc/asids entry to debugfs and enables it for all SH parts that have debugfs enabled. On MMU systems this can be used to determine which processes are using which ASIDs which in turn can be used for finer grained cache tag analysis. Signed-off-by: Paul Mundt commit 4d1f3bbec49a080cae753aaa44dc1fc7277b3e50 Author: Paul Mundt Date: Wed Dec 10 17:16:09 2008 +0900 sh: Kill off sh64's unused alloc/free_task_struct() definitions. These were left over from some time ago, sh64 never got around to defining __HAVE_ARCH_TASK_STRUCT_ALLOCATOR during the conversion, and it has no need to. Kill these off and use the generic versions instead. Signed-off-by: Paul Mundt commit 4eec8834f085e5eaf70e64849f879068256c07c5 Author: Paul Mundt Date: Wed Dec 10 17:09:36 2008 +0900 sh: mach-migor: Kill off unused Migo-R machvec. This kills off the special Migo-R machvec, as nothing is using it. By default this will switch to using the generic machvec, which provides the same functionality. This saves us a bit of space in the machvec section. Signed-off-by: Paul Mundt commit 4545bfa00a010b619a596b3893be820935c01bb7 Author: Magnus Damm Date: Wed Dec 10 17:02:13 2008 +0900 sh: add ov772x reset delay on Migo-R Add reset delay for the ov772x device on Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a6bc25abc89a72a8533dbb912a4116a8349b9d8c Author: Paul Mundt Date: Wed Dec 10 13:42:14 2008 +0900 sh: Drop the special qemu defconfig. QEMU can now use rts7751r2dplus_defconfig directly, there is no more need for a neutered defconfig. Signed-off-by: Paul Mundt commit bd40e8132336fbc3f2857f24720e11b6c1c9ac26 Author: Aoi Shinkai Date: Wed Dec 10 13:30:28 2008 +0900 sh: Delete unnecessary mov in the interrupt exception entry point. The INTEVT read at interrupt exception entry is uneccessary, as the read is deferred until we are ready to enter do_IRQ(). The kgdb nmi path still requires it, so move it there. Signed-off-by: Aoi Shinkai Signed-off-by: Paul Mundt commit 06be3724548a443a99d703ff79f43d6f1e2975f0 Author: Paul Mundt Date: Mon Dec 8 17:01:40 2008 +0900 sh: Fix an off-by-1 check in __mutex_fastpath_unlock(). Signed-off-by: Paul Mundt commit a47925ffd1b1b22ee004de36e2c8b811910616ba Author: Paul Mundt Date: Mon Dec 8 14:53:28 2008 +0900 sh: Update rsk701_defconfig to reflect mach-rsk changes. Signed-off-by: Paul Mundt commit ff15b9050677b9d63959cbca4c9abe36a05c72c9 Author: Paul Mundt Date: Mon Dec 8 14:46:55 2008 +0900 sh: Enable leds-gpio in rsk7203 defconfig. Signed-off-by: Paul Mundt commit ea0aac1e1327476d2f6a38f08145281237cf1b03 Author: Paul Mundt Date: Mon Dec 8 14:32:03 2008 +0900 sh: Consolidate rsk7203/7201 in to a new mach-rsk. RSK+ platforms have quite a few characteristics in common, so roll them together in to a shiny new RSK mach-type. Signed-off-by: Paul Mundt commit b5cfeac990cc164a3d3422aab88ac5b138fa822d Author: Paul Mundt Date: Mon Dec 8 12:02:28 2008 +0900 sh: Provide ftrace_make_call()/ftrace_make_nop(). Signed-off-by: Paul Mundt commit 4bc3e7192cf9a47d9864c4e8259859be55a480b3 Author: Paul Mundt Date: Mon Dec 8 11:49:19 2008 +0900 sh: Disable -Werror for arch/sh/oprofile/. drivers/oprofile/ objects have proven to be problematic in this regard, so simply disable -Werror for now. Signed-off-by: Paul Mundt commit 3b041227f7ef7c7e97f205c68c6069c0c62e5204 Author: Takashi YOSHII Date: Mon Dec 8 11:33:06 2008 +0900 sh: Add plain udivsi3 (not _i4*) for gcc-4.1 and lower. We chan't share code for udivsi3 and udivsi3_i4, because they have a different clobber list. Copy udivsi3 from gcc-4.1.2. As shown in arch/sh/lib/udivsi3.S (and -Os.S), .global __udivsi3_i4i .global __udivsi3_i4 .global __udivsi3 __udivsi3_i4i: ... Three symbols are sharing one code, which is actually udivsi3_i4i. But, this results unwanted code with gcc 4.1. In gcc, these three are treated as pseudo instructions that have their own clobber list apart from the usual calling convention. According to sh's machine description. The clobber list is as follows: - udivsi3_i4i : t,r1,pr,mach,macl - udivsi3_i4 : t,r0,r1,r4,r5,pr,dr0,dr2,dr4 - udivsi3 : t,r4,pr The caller of udivsi3 will be left with a broken r1 and mac*. gcc-4.1.x and older(at least to 3.4) generate udivsi3. ST's gcc-4.1.1 seems to be OK because it has _i4i. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 1fdae0e59a3fc9e391d2422ddcfbdbdec1e8f724 Author: Nick Andrew Date: Fri Dec 5 14:07:57 2008 +1100 Fix incorrect use of loose in c-checksum.c Fix incorrect use of loose in c-checksum.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: Paul Mundt commit 77ba93a7ac5fb0d9338bffbf97c787b8efe00806 Author: Paul Mundt Date: Mon Dec 8 11:25:50 2008 +0900 sh: Fix up the SH-4A mutex fastpath semantics. This fixes up the __mutex_fastpath_xxx() routines to match the semantics noted in the comment. Previously these were looping rather than doing a single-pass, which is counter-intuitive, as the slow path takes care of the looping for us in the event of contention. Signed-off-by: Paul Mundt commit c6f17cb2272121475c87592560534b157b17544e Author: Magnus Damm Date: Thu Dec 4 22:45:20 2008 +0900 sh: allow CONFIG_CPU_IDLE Allow users to select CONFIG_CPU_IDLE regardless of processor type or board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit af998a9a0ae3291e86ddcae8e196a1cbf82c2457 Author: Magnus Damm Date: Thu Dec 4 22:45:12 2008 +0900 sh: allow CONFIG_PM Allow users to select CONFIG_PM regardless of processor type or board. Suspend and hibernation are only allowed on supported platforms. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3e51762759db9e26c6c3e4e1010d80a50c62ca03 Author: Magnus Damm Date: Thu Dec 4 22:45:03 2008 +0900 sh: move the hp6xx pm code Move the not-so-generic pm code from arch/sh/kernel/pm.c to the platform directory together with the rest of the hp6xx pm code. This is done to let non-hp6xx platforms enable CONFIG_PM. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 04645185d06e8b0c92f6f1f9d76ede45637afc09 Author: Magnus Damm Date: Thu Dec 4 18:00:39 2008 +0900 sh: update se7343 defconfig Update the se7343 defconfig with: - use 33MHz PCLK - increase max number of SCIFs - add serial console configuration to compiled-in kernel command line - add 8250 serial port support - add sh-mobile-i2c driver - add uio driver to export VEU and VPU - add usb support and isp1161 host controller - add dm9601 ethernet-over-usb support - remove smc91x support Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 21c601bb2ec79be5c52a99bc6f4b513aff4fa236 Author: Magnus Damm Date: Thu Dec 4 18:00:30 2008 +0900 sh: remove ioport cruft and smc91x from se7343 Remove out-of-date se7343 ioport code including some old support for unknown-ne2000-pcmcia-card, cf-over-pcmcia and a mysterical smc91x that once must have been on a special daughterboard. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5e5aacb0de70fa80e8b1a2b803ae9e2ad40b8e52 Author: Magnus Damm Date: Thu Dec 4 18:00:22 2008 +0900 sh: add isp1161 usb host device to se7343 Add isp1161 platform data to get usb host working on se7343. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6aacba72dbdadc1445244e366ecf0263a160409e Author: Magnus Damm Date: Thu Dec 4 18:00:11 2008 +0900 sh: add st16c2550 devices to se7343 Add 8250 platform data to setup the ST16C2550C chip on se7343. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5727003b5d23eb852c057d25459bba27cbf754c3 Author: Magnus Damm Date: Thu Dec 4 18:00:02 2008 +0900 sh: fix number of interrupts on se7343 Fix to make sure that the on-board interrupt sources are included in the interrupt count on se7343. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 551ea2b40ecf75e0035406fe75ba995233737e76 Author: Magnus Damm Date: Thu Dec 4 17:59:54 2008 +0900 sh: sh7343 scif configuration update Fix interrupt values for the first sh7343 SCIF port and update the configuration to include the remaining 3 ones. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c0daec7ca4f6a67daeafc4343bb453a4a246dbd Author: Magnus Damm Date: Mon Dec 1 15:40:33 2008 +0900 sh: propagate r_clk Make sure the 32 KHz r_clk rate gets propagated correctly. Without this fix the clocks for RTC, CMT, KEYSC and RWDT are stuck at 0 Hz. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6feb348783767e3f38d7612e6551ee8b580ac4e9 Author: Peter Griffin Date: Fri Nov 28 22:56:45 2008 +0900 sh: RSK+ 7201 board support. This patch adds support for the RTE RSK+ 7201 board. Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit 2825999e8a9bd7ab7e25a7e7475c7cdd10371a13 Author: Peter Griffin Date: Fri Nov 28 22:48:20 2008 +0900 sh: Add support for SH7201 CPU subtype. This patch adds support for the SH-2A FPU based SH7201 processor subtype. Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit 135210b378d26f9a9a0c901d0089522c06b5807a Author: Matt Fleming Date: Fri Nov 28 08:58:30 2008 +0000 sh: Switch HD64461 from hw_interrupt_type to irq_chip Use struct irq_chip for the interrupt handler for the HD64461. Also convert some in{b,w} and out{b,w} calls to the equivalent __raw_* calls. Include and not to stop checkpatch.pl complaining. This change should now allow machines with HD64461 to define GENERIC_HARDIRQS_NO__DO_IRQ. Acked-by: Kristoffer Ericson Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 331ff103c7737294c8ecd7921564dae07b9e4632 Author: Yoshihiro Shimoda Date: Thu Nov 27 18:57:35 2008 +0900 sh: pci-sh7780: fix pci memory address mask Fix the problem that cannot work a PCI device when system memory size is 256Mbyte in 29bit address mode. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 22f131aa8de7a534339bf7051680234462f2e877 Author: Paul Mundt Date: Thu Nov 27 11:04:43 2008 +0900 sh: Provide a dyn_arch_ftrace struct definition. Needed for dynamic ftrace API changes. Signed-off-by: Paul Mundt commit 1da1180c6e28cf21be356e2701978727558fa198 Author: Paul Mundt Date: Wed Nov 26 15:52:44 2008 +0900 sh: Split out the idle loop for reuse between _32/_64 variants. Signed-off-by: Paul Mundt commit eb67cf14ae5c21609c200859d6f3eba71c591569 Author: Paul Mundt Date: Wed Nov 26 15:47:44 2008 +0900 sh: Consolidate cpu_relax()/cpu_sleep() definitions across _32/_64. Signed-off-by: Paul Mundt commit f74c034d52d0f908d5b929423a680962a2586199 Author: Paul Mundt Date: Wed Nov 26 15:22:50 2008 +0900 sh: do not latency trace idle. Description snipped from Steven Rostedt's PPC patch: When idle is called, interrupts are blocked, but the idle function will still wake up on an interrupt. The problem is that the interrupt disabled latency tracer will take this call to idle as a latency. This patch disables the latency tracing when going into idle. Signed-off-by: Paul Mundt commit 75fd24c1073adcd1e8ea43048d946bbfa34dfc64 Author: Paul Mundt Date: Wed Nov 26 15:20:35 2008 +0900 sh: Tidy up backtrace formatting with kallsyms disabled. Signed-off-by: Paul Mundt commit 9cfc9a9b6fff9ea7a19814b4472b3cb18b7bbdcc Author: Paul Mundt Date: Wed Nov 26 14:31:03 2008 +0900 sh: Add a simple code dumper for SUPERH32 show_regs(). This implements a simple show_code() that is in turn plugged in to show_regs() to provide minimal code dumping at the end of the trace. Built on top of a simple instruction disassembler derived from the binutils opcode table. Signed-off-by: Paul Mundt commit edfd6da0405520b147ab1473ad183a5b32be7082 Author: Paul Mundt Date: Wed Nov 26 13:06:04 2008 +0900 sh: Add a few more branch types to the branch emulator. This plugs in some extra encodings for matching more bsr/bsrf/jsr branches. Signed-off-by: Paul Mundt commit 5dd614761f05f56b93c94541aa92e6449920516c Author: Paul Mundt Date: Wed Nov 26 04:21:36 2008 +0900 sh: Re-add support for best fit ISA tuning if none is available. This was removed in the libgcc integration, but there are still some compilers that need this. We also relax the rules on the ISA tuning in the cases where there are no matches for the CPU tuning and adopt the -any default, which matches the intent of the isa-y target list. This compensates for mismatches where binutils supports a wide array of targets whilst the compiler is much more restricted. Signed-off-by: Paul Mundt commit 624c6a6750c502981d92de4579647fe2549451dd Author: Paul Mundt Date: Wed Nov 26 03:44:07 2008 +0900 sh: More movmem alias symbol exports for older compilers. Signed-off-by: Paul Mundt commit 95b781c239f53b4c7ecaf2989404ec6379b2409b Author: Paul Mundt Date: Wed Nov 26 00:29:58 2008 +0900 sh: Provide optimized unaligned loads on SH-4A. This adds support for unaligned loads on SH-4A, using the SH-4A's neutered movua.l instruction. As movua.l is r0-inspired, stores are still handled through the packed struct. Based on asm-generic/unaligned.h by Harvey Harrison. Signed-off-by: Paul Mundt commit 716777db7270255f1f7210fd87a7188b08c9a267 Author: Magnus Damm Date: Tue Nov 25 21:57:29 2008 +0900 sh: P4 ioremap pass-through This patch adds a pass-through case when ioremapping P4 addresses. Addresses passed to ioremap() should be physical addresses, so the best option is usually to convert the virtual address to a physical address before calling ioremap. This will give you a virtual address in P2 which matches the physical address and this works well for most internal hardware blocks on the SuperH architecture. However, some hardware blocks must be accessed through P4. Converting the P4 address to a physical and then back to a P2 does not work. One example of this is the sh7722 TMU block, it must be accessed through P4. Without this patch P4 addresses will be mapped using PTEs which requires the page allocator to be up and running. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c9122323acb0c3410dfbd219cb47f4c2e9305e3 Author: Michael Trimarchi Date: Tue Nov 25 21:37:14 2008 +0900 sh: Add SH-4A optimized fastpath mutex implementation. Add fast mutex path implementation for the SH4A architecture Signed-off-by: Michael Trimarchi Signed-off-by: Paul Mundt commit 5c72f303a2b7862dbba79f4176ddc922a440b567 Author: Nobuhiro Iwamatsu Date: Fri Nov 21 14:35:29 2008 +0900 sh: sh7760fb: Add support SH7720/SH7721 of Renesas SH7720 and 7721 has IP of Frame Buffer same as SH7760. This driver can support these. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 679dc3c92ca7894c3df70ee3333ff9878e7d90b9 Author: Nobuhiro Iwamatsu Date: Fri Nov 21 14:34:25 2008 +0900 sh: sh7760fb: Fix color pallette setting The setting of the color palette was wrong, fixed it. And removed fb_setcmap, and added fb_setcolreg function. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit f617682e9cabd5616dc2fe53c67762790eeb14d3 Author: Steve Glendinning Date: Sun Nov 23 15:00:31 2008 +0000 sh: add SH DMAC burst mode constant The SH7709 datasheet defines bit 5 as set for burst mode, clear for cycle-steal mode. Signed-off-by: Steve Glendinning Signed-off-by: Paul Mundt commit c2c5883b3fce61388eb02ca328072400eb54769c Author: Steve Glendinning Date: Sun Nov 23 14:27:22 2008 +0000 sh: fix DMAOR register access on SH7709 sh7709 hardware manual says DMAOR is 16 bits long on this platform. Tested and working with a modified smsc911x ethernet driver (sh-dma support patch for this driver is coming soon). Signed-off-by: Steve Glendinning Signed-off-by: Paul Mundt commit 8085ac753164f45fd23603e7cad85a4c985cbf75 Author: Steve Glendinning Date: Sun Nov 23 14:27:21 2008 +0000 sh: Add platform-specific constants for SH7709 I'm using these constants in support of an in-house development board, and thought they may be useful to other users of SH7709. Signed-off-by: Steve Glendinning Signed-off-by: Paul Mundt commit 0d5bbe0bc2583c4dc06ea00adccf07c3acd1481d Author: Paul Mundt Date: Tue Nov 25 21:22:02 2008 +0900 sh: Provide optimized non-atomic bitops for SH-2A. This ties in the new SH-2A 32-bit non-atomic bitops. Signed-off-by: Paul Mundt commit 8bcc5c1c332af97ba731f99fda780a47911e476f Author: Paul Mundt Date: Thu Nov 20 15:28:47 2008 +0900 sh: Add -m4al tuning for SH4AL-DSP. Signed-off-by: Paul Mundt commit 9ef100287afa8e134de50258b8382cbc9d20f954 Author: Paul Mundt Date: Thu Nov 20 15:26:35 2008 +0900 sh: Add exports for __udivsi3/__sdivsi3 and the _i4 versions. Needed by older compilers. Signed-off-by: Paul Mundt commit 16b529d1d78060254d5bc735390915ca5ccf13a1 Author: Paul Mundt Date: Thu Nov 20 15:25:22 2008 +0900 sh: Convert to generic bitops for IRQ-toggling implementation. Signed-off-by: Paul Mundt commit 709420dd4e75083ee7920e61c2d0bcc3db9b7405 Author: Paul Mundt Date: Tue Nov 18 17:35:45 2008 +0900 sh: Specify sane default image targets for the SH-2 platforms. Signed-off-by: Paul Mundt commit 1aad54a99b6ce316c851ba99b2efe41998cfd37d Author: Paul Mundt Date: Tue Nov 18 17:33:48 2008 +0900 sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. This moves in the necessary libgcc bits for SUPERH32 and drops the libgcc linking for the regular targets. This in turn allows us to rip out quite a few hacks both in sh_ksyms_32 and arch/sh/Makefile. Signed-off-by: Paul Mundt commit e9bf51e5ccc7703226c79888603e157066213700 Author: Paul Mundt Date: Tue Nov 18 14:22:39 2008 +0900 sh: __udivdi3 -> do_div() in softfloat lib. Inhibit the generation of __udivdi3 for the softfloat lib, use do_div() outright. Signed-off-by: Paul Mundt commit 00e825c6b99b39f12751ea45d38bb4d900de70f4 Author: Paul Mundt Date: Tue Nov 18 14:21:34 2008 +0900 sh: Fix clock framework compiler warnings. CC arch/sh/kernel/cpu/clock.o arch/sh/kernel/cpu/clock.c: In function 'clk_disable': arch/sh/kernel/cpu/clock.c:156: warning: 'return' with a value, in function returning void Introduced by ("sh: enable and disable clocks recursively"). Signed-off-by: Paul Mundt commit d6435102d4ca3b5655c0105abe924abec17ffeb8 Author: Paul Mundt Date: Tue Nov 18 12:40:39 2008 +0900 usb: Fix up sh_mobile usbf clock framework warnings. drivers/usb/gadget/m66592-udc.c: In function 'm66592_probe': drivers/usb/gadget/m66592-udc.c:1672: warning: label 'clean_up2' defined but not used drivers/usb/host/r8a66597-hcd.c: In function 'r8a66597_probe': drivers/usb/host/r8a66597-hcd.c:2401: warning: label 'clean_up2' defined but not used Added by commit 985fc7c81c7852f2e104c71cbe913ace683c9e6a ("sh: sh_mobile usbf clock framework support"). Reported-by: Stephen Rothwell Signed-off-by: Paul Mundt commit e7c98dc76d5823444059205e0c7aca49743679f3 Author: Michael Trimarchi Date: Thu Nov 13 18:18:35 2008 +0900 serial: sh-sci: Codestyle cleanup patch. Trivial coding style cleanups. Signed-off-by: Michael Trimarchi Signed-off-by: Paul Mundt commit af505b1eab55445e832bebbe5686f5bd22f1b717 Author: Paul Mundt Date: Thu Nov 13 12:20:26 2008 +0900 media: sh_mobile_ceu_camera: Add HAVE_CLK dependency. Signed-off-by: Paul Mundt commit fad57feba77d2e5b183e068cb6b90693e4567b40 Author: Matt Fleming Date: Wed Nov 12 20:11:47 2008 +0900 sh: dynamic ftrace support. First cut at dynamic ftrace support. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit ef6aff6884408db95ceb0f678f583536e0bd48f8 Author: Magnus Damm Date: Fri Oct 31 20:24:01 2008 +0900 sh: remove old sh_mobile mstpc clocks Remove the old sh_mobile mstpcr clocks. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b51339fff240ff179730f8963a758147fd60f3ec Author: Magnus Damm Date: Fri Oct 31 20:23:26 2008 +0900 sh: sh_mobile lcdc clock framework support Add clock framework support to the lcdc driver and adjust the board specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 765786e0aead7faf6c333176d22948c6f155fff1 Author: Magnus Damm Date: Fri Oct 31 20:22:38 2008 +0900 sh: sh_mobile usb clock framework support Add clock framework support to the usb/r8a66597 driver and adjust the cpu specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit af5be79a7f8d7067588dc2863d37f7cd22e5f2de Author: Magnus Damm Date: Fri Oct 31 20:22:13 2008 +0900 sh: sh_mobile usbf clock framework support Add clock framework support to the usbf/m66592 driver and adjust the cpu specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a42b6dd69cb1c61c5f5a24061a227c22071786de Author: Magnus Damm Date: Fri Oct 31 20:21:44 2008 +0900 sh: sh_mobile ceu clock framework support Add clock framework support to the sh_mobile ceu and adjust the board specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 090d951b69f29a8d5777c63570d4cd61d7efeb22 Author: Magnus Damm Date: Fri Oct 31 20:21:23 2008 +0900 sh: sh_mobile keysc clock framework support Add clock framework support to the sh_mobile keysc driver and adjust the board specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a5616bd0f19730a780c354110454ce37209f1ded Author: Magnus Damm Date: Fri Oct 31 20:20:55 2008 +0900 sh: sh_mobile i2c clock framework support Add clock framework support to the sh_mobile i2c driver and adjust the processor specific code accordingly. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f2eb0109fb4268505b0737cfe661542eb6151907 Author: Magnus Damm Date: Fri Oct 31 20:20:23 2008 +0900 sh: sh_mobile mstpcr clocks for sh7366 Add sh7366 mstpcr bits and information about their parent clocks. The datasheet is pretty clear about the clocks on this device. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6e88d030a1491ec0f130dc4765d06b22f7db6610 Author: Magnus Damm Date: Fri Oct 31 20:19:38 2008 +0900 sh: sh_mobile mstpcr clocks for sh7343 Add sh7343 mstpcr bits and information about their parent clocks. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f14c017d6b2e9e97b0d5f0b33f573797dde4d4f1 Author: Magnus Damm Date: Fri Oct 31 20:16:08 2008 +0900 sh: sh_mobile mstpcr clocks for sh7723 Add sh7723 mstpcr bits and information about their parent clocks. The datasheet is pretty clear about the clocks on this device. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ecf399bdafb83b6c0091837dd2a0612470e9c8d2 Author: Magnus Damm Date: Fri Oct 31 20:15:48 2008 +0900 sh: sh_mobile mstpcr clocks for sh7722 Add sh7722 mstpcr bits and information about their parent clocks. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7c7e02a28b4e7212dcdcc24bbd2b137790504a84 Author: Magnus Damm Date: Fri Oct 31 20:15:07 2008 +0900 sh: new sh_mobile mstpcr clocks base code Add base code to handle new mstpcr clocks. Make sure clock rates propagate. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1dc7b776d91ac9f016982e418e74cb14f63c5b02 Author: Magnus Damm Date: Fri Oct 31 20:14:28 2008 +0900 sh: use arch_flags for sh_mobile mstpcr clock bits Use arch_flags to keep track of register and flag number. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d902d04f5410176bdec77bfefa032516326eb542 Author: Magnus Damm Date: Fri Oct 31 20:14:03 2008 +0900 sh: sh_mobile clock divider index fix Use divider index value instead of divider value. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d12cfac146d2b512496bf974b83ee1210032065f Author: Magnus Damm Date: Fri Oct 31 20:13:32 2008 +0900 sh: enable and disable clocks recursively Recurse and make sure parent clocks get enabled/disabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4a4a9be3ebdbf17957d29e3521f328a1145f9431 Author: Paul Mundt Date: Wed Nov 12 13:17:38 2008 +0900 sh: Move arch_get_unmapped_area() in to arch/sh/mm/mmap.c. Now that arch/sh/mm/mmap.c exists, move arch_get_unmapped_area() there. Follows the ARM change. Signed-off-by: Paul Mundt commit efc557570dc99b46e46a7be51c3c7402b485e829 Author: Christoph Hellwig Date: Wed Dec 17 12:27:36 2008 -0500 [XFS] avoid memory allocations in xfs_fs_vcmn_err xfs_fs_vcmn_err can be called under a spinlock, but does a sleeping memory allocation to create buffer for it's internal sprintf. Fortunately it's the only caller of icmn_err, so we can merge the two and have one single static buffer and spinlock protecting it. While we're at it make sure we proper __attribute__ format annotations so that the compiler can detect mismatched format strings. Reported-by: Alexander Beregalov Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 9f6c92b9cc2fd41d6c7b493be5637cc5b5659880 Author: Lachlan McIlroy Date: Mon Dec 22 17:56:49 2008 +1100 [XFS] Fix speculative allocation beyond eof Speculative allocation beyond eof doesn't work properly. It was broken some time ago after a code cleanup that moved what is now xfs_iomap_eof_align_last_fsb() and xfs_iomap_eof_want_preallocate() out of xfs_iomap_write_delay() into separate functions. The code used to use the current file size in various checks but got changed to be max(file_size, i_new_size). Since i_new_size is the result of 'offset + count' then in xfs_iomap_eof_want_preallocate() the check for '(offset + count) <= isize' will always be true. ie if 'offset + count' is > ip->i_size then isize will be i_new_size and equal to 'offset + count'. This change fixes all the places that used to use the current file size. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4fdc7781799926dca6c3a3bb6e9533a9718c4dea Author: Lachlan McIlroy Date: Mon Dec 22 17:52:58 2008 +1100 [XFS] Remove XFS_BUF_SHUT() and friends Code does nothing so remove it. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d415867e0abc35e3b2f0d4196e98c339d6fe29a2 Author: Lachlan McIlroy Date: Mon Dec 22 17:50:56 2008 +1100 [XFS] Use the incore inode size in xfs_file_readdir() We should be using the incore inode size here not the linux inode size. The incore inode size is always up to date for directories whereas the linux inode size is not updated for directories. We've hit assertions in xfs_bmap() and traced it back to the linux inode size being zero but the incore size being correct. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 826e08b0157c0ce8a80dfe3c0a6c5a1540dd0b1d Author: Ingo Molnar Date: Mon Dec 22 07:37:41 2008 +0100 sched: fix warning in fs/proc/base.c Stephen Rothwell reported this new (harmless) build warning on platforms that define u64 to long: fs/proc/base.c: In function 'proc_pid_schedstat': fs/proc/base.c:352: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'u64' asm-generic/int-l64.h platforms strike again: that file should be eliminated. Fix it by casting the parameters to long long. Reported-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit 27a0464a6cb837d3a90b6e69365dfc01cb0dff2f Merge: 4d9d4eb... 3d44cc3... Author: Lachlan McIlroy Date: Mon Dec 22 17:34:26 2008 +1100 [XFS] Fix merge conflict in fs/xfs/xfs_rename.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: fs/xfs/xfs_rename.c Signed-off-by: Lachlan McIlroy commit d3d317092b58a6df1d31a4ca90cdb9d2bd4ebffa Author: Matt Carlson Date: Sun Dec 21 20:21:52 2008 -0800 tg3: Update version to 3.97 This patch updates the version number to 3.97. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit aa10f27d99410cff9145bf91b6efc884c7a4871c Author: Matt Carlson Date: Sun Dec 21 20:21:18 2008 -0800 tg3: tg3.h cleanups This patch cleans up the tg3 header file by removing the preprocessor definitions for standard PCI configuration space registers. The driver should be using the standard definitions when needed. The patch continues by removing redundant PHY related definitions and reorganizes some of the remaining entries. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 69fc405318967c7913e5b55cf3906250a26b49d0 Author: Matt Carlson Date: Sun Dec 21 20:19:57 2008 -0800 tg3: Remove unused cfgspc device members This patch removes the pci_bist and pci_hdr_type members from the device structure and removes the code that references them. They are not really used. The patch rounds out the changes by moving the pci_cmd member to plug a structure hole that would have been created. On 32-bit systems, this movement removes a subsequent structure hole later in the structure. On 64-bit systems though, the movement merely consolidates two holes into one larger hole. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 027455adacdc142cc018e555ce391014fa227e70 Author: Matt Carlson Date: Sun Dec 21 20:19:30 2008 -0800 tg3: Cleanup IPV6 LSO This patch attempts to make the relationship between IPV6 checksum offload and IPV6 LSO more obvious. The patch also toggles a bit needed for IPV6 LSO on 5785 and 57780 devices. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2023276ebf074a01eb56f38ed4d04deef1deee67 Author: Matt Carlson Date: Sun Dec 21 20:18:56 2008 -0800 tg3: WOL fixes The first hunk of this patch inverts a flag that was accidentally toggled as part of commit 0a459aac9d151c2e36ec65723b9b845b24c5cbc3 ("tg3: Allow WOL for phylib controlled Broadcom phys"). The second hunk of the patch removes the call to device_may_wakeup() in the 5906 config detection path. At the point of the call, the driver shouldn't be querying for WOL capability. It should be detecting and setting it. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7f3ff4f63f76c2702da6041d2da5eb30fac407f6 Author: Jarek Poplawski Date: Sun Dec 21 20:14:48 2008 -0800 pkt_sched: Annotate uninitialized var in sfq_enqueue() Some gcc versions warn that ret may be used uninitialized in sfq_enqueue(). It's a false positive, so let's annotate this. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit bfb8cc31b11ccaf7cd55fd9e0f4794f82527948f Author: Don Skidmore Date: Sun Dec 21 20:11:04 2008 -0800 ixgbe: fix the display of DCB control stats in ethtool Priority flow contol statistics for Data Center Bridging (DCB) weren't included in ethtool. This patch adds them. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4314e815e87b4ab1c9b1115dd5853cd20ca999c Author: Don Skidmore Date: Sun Dec 21 20:10:29 2008 -0800 net: add DCNA attribute to the BCN interface for DCB Adds the Backward Congestion Notification Address (BCNA) attribute to the Backward Congestion Notification (BCN) interface for Data Center Bridging (DCB), which was missing. Receive the BCNA attribute in the ixgbe driver. The BCNA attribute is for a switch to inform the endstation about the physical port identification in order to support BCN on aggregated links. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Jeff Kirsher commit 1486a61ebcd2711532f8163d30babc40e11e7b40 Author: Don Skidmore Date: Sun Dec 21 20:09:50 2008 -0800 net: fix DCB setstate to return success/failure Data Center Bridging (DCB) had no way to know if setstate had failed in the driver. This patch enables dcb netlink code to handle the status for the DCB setstate interface. Likewise it allows the driver to return a failed status if MSI-X isn't enabled. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c2da953a46b18b7515ad476c1c1686640a12e93a Merge: c94cb31... 9cf7f24... Author: David S. Miller Date: Sun Dec 21 19:57:10 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 59f8500efb05096484a55263109acab6a6df89d5 Author: Krzysztof Hałasa Date: Mon Dec 22 02:00:17 2008 +0100 Convert ixp4xx_eth driver to use net_device_ops. Signed-off-by: Krzysztof Hałasa commit 4cb56b685617732733d4d9dffbf8c5a81d4a0c71 Author: Julia Lawall Date: Sun Dec 21 16:39:15 2008 +0100 drivers/net/wan: Remove redundant test arg is checked not to be NULL a few lines before. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Krzysztof Hałasa commit 93bc933524d05e3b391358e24b3666599f8ec026 Author: Krzysztof Hałasa Date: Wed Nov 26 23:06:57 2008 +0100 HDLC_PPP: Fix Configure-Ack to return original options as required by the standard. Signed-off-by: Krzysztof Hałasa commit e6da96ace859dad966fe85cc9552b89f48bbc930 Author: Krzysztof Hałasa Date: Mon Dec 22 00:26:38 2008 +0100 IXP4xx: move common debugging from network drivers to QMGR module. Signed-off-by: Krzysztof Hałasa commit 9251ce959cab704eb0e4910860b06b18e7083474 Author: Krzysztof Hałasa Date: Sun Dec 21 23:52:36 2008 +0100 Update MAINTAINERS entries for IXP4xx and WAN network drivers. Signed-off-by: Krzysztof Hałasa commit f5b89e41ce7a980aa2fd8ad105626b9ed4e8d347 Author: Krzysztof Hałasa Date: Sun Dec 21 23:52:18 2008 +0100 WAN: Add IXP4xx HSS HDLC driver. Signed-off-by: Krzysztof Hałasa commit 490b77224fe66c77ab7cb48d6b77e62cb55591a0 Author: Krzysztof Hałasa Date: Sun Dec 21 00:02:34 2008 +0100 IXP4xx: Add ethtool support to Ethernet driver. Signed-off-by: Krzysztof Hałasa commit 4954936e25cb8ce99a96cac9dd9417d7b639867a Author: Krzysztof Hałasa Date: Sat Dec 20 18:57:23 2008 +0100 IXP4xx: Add PHYLIB MII ioctl to the Ethernet driver. Signed-off-by: Krzysztof Hałasa commit 2098c18d6cf65358dd1620154bdedbc8c8d36f44 Author: Krzysztof Hałasa Date: Sat Dec 20 01:53:08 2008 +0100 IXP4xx: Add PHYLIB support to Ethernet driver. Signed-off-by: Krzysztof Hałasa commit b4c7d3b07257528d3c0bfd07c5b38b48beb9b6d1 Author: Krzysztof Hałasa Date: Sat Dec 20 01:58:59 2008 +0100 IXP4xx: Make the Ethernet driver use built-in netdev stats. Signed-off-by: Krzysztof Hałasa commit 3c36a837a960ccbff05fa773a495c389fbd42f0e Author: Krzysztof Hałasa Date: Wed Nov 26 22:59:18 2008 +0100 IXP4xx: Silence section mismatch warning in Ethernet driver. Signed-off-by: Krzysztof Hałasa commit ae2754a975694a3865788e303b741d0f616bc43a Author: Krzysztof Hałasa Date: Fri May 9 02:14:09 2008 +0200 IXP4xx: clear IRQ stat in qmgr_disable_irq(). Signed-off-by: Krzysztof Hałasa commit 3edcfb2937054fb546ecf3a8883675751db16c6f Author: Krzysztof Hałasa Date: Thu May 8 23:18:31 2008 +0200 IXP4xx: check for queue being empty in qmgr_release_queue(). Signed-off-by: Krzysztof Hałasa commit bba7ebba3b17f4fe8c5907a32e16d9bd3fcf5192 Author: David Disseldorp Date: Sun Dec 21 13:56:50 2008 -0800 IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs iSCSI/iSER targets may send PDUs without a prior request from the initiator. RFC 5046 refers to these PDUs as "unexpected". NOP-In PDUs with itt=RESERVED and Asynchronous Message PDUs occupy this category. The amount of active "unexpected" PDU's an iSER target may have at any time is governed by the MaxOutstandingUnexpectedPDUs key, which is not yet supported. Currently when an iSER target sends an "unexpected" PDU, the initiators recv buffer consumed by the PDU is not replaced. If over initial_post_recv_bufs_num "unexpected" PDUs are received then the receive queue will run out of receive work requests entirely. This patch ensures recv buffers consumed by "unexpected" PDUs are replaced in the next iser_post_receive_control() call. Signed-off-by: David Disseldorp Signed-off-by: Ken Sandars Acked-by: Or Gerlitz Signed-off-by: Roland Dreier commit 139cdab0a2af6f5eaee47cc0144608e53b65279d Author: Julia Lawall Date: Sun Dec 21 13:29:13 2008 -0800 IB/ehca: Remove redundant test of vpage vpage is checked not to be NULL just after it is initialized at the beginning of each loop iteration. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Roland Dreier commit d83a12a40915774332cec625856c2e7ba9033e15 Author: Russell King Date: Sun Dec 21 15:02:07 2008 +0000 [ARM] s3c: S3C options should depend on PLAT_S3C This avoids non-Samsung builds being asked about Samsung specific configuration options. Signed-off-by: Russell King commit 418441d9ebe84b205cb23eb0ab214c1f991621fe Author: Wolfram Sang Date: Sun Dec 21 02:54:32 2008 -0700 powerpc/mpc5200: fix error paths in PSC UART probe function - error cases for mapbase and irq were unbundled - mapped irq now gets disposed on error Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit aec739e010f8163eac225f4e331ac7fbd59ac5c8 Author: Wolfram Sang Date: Sun Dec 21 02:54:32 2008 -0700 powerpc/mpc5200: add rts/cts handling in PSC UART driver Add RTS/CTS-support for the PSC of the MPC5200B. Tested with a Phytec MPC5200B-IO. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit b65149880d0467287fa4c7b4f19953392323f4ac Author: René Bürgel Date: Sun Dec 21 02:54:31 2008 -0700 powerpc/mpc5200: Make PSC UART driver update serial errors counters This patch adds the capability to the mpc52xx-uart to report framing errors, parity errors, breaks and overruns to userspace. These values may be requested in userspace by using the ioctl TIOCGICOUNT. Signed-off-by: René Bürgel Signed-off-by: Grant Likely commit e51f47a5c695b76905aadc2be47c7dc774f3e5af Author: Wolfram Sang Date: Sun Dec 21 02:54:30 2008 -0700 powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver As this driver polls for a complete MDIO transaction, there is no need to enable interrupts for it. Furthermore, make both checks for freeing MDIO-bus irqs consistent. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 6b61e69e7bc1cfe80ab54c6321f19061f9487ed3 Author: Tim Yamin Date: Sun Dec 21 02:54:29 2008 -0700 powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver This patch adds MDMA/UDMA support using BestComm for DMA on the MPC5200 platform. Based heavily on previous work by Freescale (Bernard Kuhn, John Rigby) and Domen Puncer. With this patch, a SanDisk Extreme IV CF card gets read speeds of approximately 26.70 MB/sec. Signed-off-by: Tim Yamin Signed-off-by: Grant Likely commit aaab5e83c2c25d94f7409bdc947a5cc383514e15 Author: Grant Likely Date: Sun Dec 21 02:54:28 2008 -0700 powerpc/mpc5200: Disable bestcomm prefetching when ATA DMA enabled When ATA DMA is enabled, bestcomm prefetching does not work. This patch adds a function to disable bestcomm prefetch when the ATA Bestcomm task is initialized. Signed-off-by: Grant Likely commit e4efe3c271c5498ffe7e167eaff01514be2b9a77 Author: Tim Yamin Date: Sun Dec 21 02:54:28 2008 -0700 powerpc/mpc5200: Bestcomm fixes to ATA support 1) ata.h has dst_pa in the wrong place (needs to match what the BestComm task microcode in bcom_ata_task.c expects); fix it. 2) The BestComm ATA task priority was changed to maximum in bestcomm_priv.h; this fixes a deadlock issue experienced with heavy DMA occurring on both the ATA and Ethernet BestComm tasks, e.g. when downloading a large file over a LAN to disk. Signed-off-by: Tim Yamin Signed-off-by: Grant Likely commit 622882455aa718cfbd6785cc5fbc479f1d976095 Author: Grant Likely Date: Sun Dec 21 02:54:27 2008 -0700 powerpc/mpc5200: Bugfix on handling variable sized buffer descriptors The buffer descriptors for the ATA BestComm task are larger than the current definition for bcom_bd. This causes problems because the various bcom_... functions dereference the buffer descriptor pointer by using the array operator which doesn't work when the buffer descriptors are a different size. This patch adds the bcom_get_bd() function which uses the value in bcom_task.bd_size to calculate the offset into the BD table. This patch also changes the definition of bcom_bd to specify a data size of 0 instead of 1 so that it will never work if anyone attempts to dereference the bd list as an array (as opposed to something that might work even though it is wrong). Finally, this patch moves the definition of bcom_bd up in the file to eliminate a forward declaration. Based on patch originally written by Tim Yamin. Signed-off-by: Tim Yamin Signed-off-by: Grant Likely commit dd952cbb3dae9ea2dc47cc902b796e1e2bf806f0 Author: Grant Likely Date: Sun Dec 21 02:54:27 2008 -0700 powerpc/mpc5200: Make internal 5200 PIC the default interrupt controller The MPC5200 internal interrupt controller setup function needs to set the default interrupt controller when it is called. Without this irq_create_of_mapping() cannot be called without first determining the pointer to the irq controller (ie. call with controller = NULL). Reported-by: Steven Cavanagh Signed-off-by: Grant Likely commit bcb73f5611c1946db768a1c219d205b3bf90f4a5 Author: Grant Likely Date: Sun Dec 21 02:54:26 2008 -0700 powerpc/mpc5200: Document and tidy irq driver This patch adds documentation to the mpc5200 interrupt controller driver and cleans up some minor coding conventions. It also moves the contents of mpc52xx_pic.h into the driver proper (except for a small common bit that is moved to the common mpc52xx.h) because the information encoded there is not required by any other part of kernel code. Finally for code readability sake, the L2_OFFSET shift value is removed because the code using it resolves to a noop. Signed-off-by: Grant Likely commit a14953597b771f793ce32529d7b8b04fdedca3ef Author: Benjamin Herrenschmidt Date: Sun Dec 21 02:54:25 2008 -0700 powerpc: Fix missing 'blr' in _tlbia() Rework to MMU code dropped a much missed 'blr' instruction. Brown-Paper-Bag-Worn-By: Benjamin Herrenschmidt Signed-off-by: Grant Likely commit 3ddeb912f41801fd1968c7880d031702a396e4d0 Author: Lai Jiangshan Date: Sat Dec 20 17:15:14 2008 +0800 ftrace: enable format arguments checking Impact: broaden gcc printf format checks for ftrace_printk() format arguments checking for ftrace_printk() is __printf(1, 2), not __printf(1, 0). Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 49e6e3f1aec2d46f5865d3ada38fe9a5d660ef5d Author: Scott Wood Date: Fri Dec 19 10:13:09 2008 +0000 powerpc/bootwrapper: Use the child-bus #address-cells to decide which range entry to use The correct #address-cells was still used for the actual translation, so the impact is only a possibility of choosing the wrong range entry or failing to find any match. Most common cases were not affected. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit e14d77490d3e1da833cff4fee52674c52684ce77 Author: Grant Erickson Date: Fri Dec 19 08:17:54 2008 +0000 powerpc: Const-qualify Device Node Argument to DCR Resource Extent API Add const qualifier to device_node argument for dcr_resource_{start,len} as of_get_property also const-qualifies this argument. Signed-off-by: Grant Erickson Signed-off-by: Paul Mackerras commit 9dce3ce5c55c848f00429005a46fd6246cfabfbe Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:54 2008 +0000 powerpc/44x: 44x TLB doesn't need "Guarded" set for all pages After discussing with chip designers, it appears that it's not necessary to set G everywhere on 440 cores. The various core errata related to prefetch should be sorted out by firmware by disabling icache prefetching in CCR0. We add the workaround to the kernel however just in case oooold firmwares don't do it. This is valid for -all- 4xx core variants. Later ones hard wire the absence of prefetch but it doesn't harm to clear the bits in CCR0 (they should already be cleared anyway). We still leave G=1 on the linear mapping for now, we need to stop over-mapping RAM to be able to remove it. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:51 2008 +0000 powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED Currently, we never set _PAGE_COHERENT in the PTEs, we just OR it in in the hash code based on some CPU feature bit. We also manipulate _PAGE_NO_CACHE and _PAGE_GUARDED by hand in all sorts of places. This changes the logic so that instead, the PTE now contains _PAGE_COHERENT for all normal RAM pages thay have I = 0 on platforms that need it. The hash code clears it if the feature bit is not set. It also adds some clean accessors to setup various valid combinations of access flags and change various bits of code to use them instead. This should help having the PTE actually containing the bit combinations that we really want. I also removed _PAGE_GUARDED from _PAGE_BASE on 44x and instead set it explicitely from the TLB miss. I will ultimately remove it completely as it appears that it might not be needed after all but in the meantime, having it in the TLB miss makes things a lot easier. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 77520351805cc19ba37394ae33f862ef6d3c2a23 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:48 2008 +0000 powerpc/mm: Runtime allocation of mmu context maps for nohash CPUs This makes the MMU context code used for CPUs with no hash table (except 603) dynamically allocate the various maps used to track the state of contexts. Only the main free map and CPU 0 stale map are allocated at boot time. Other CPU maps are allocated when those CPUs are brought up and freed if they are unplugged. This also moves the initialization of the MMU context management slightly later during the boot process, which should be fine as it's really only needed when userland if first started anyways. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 760ec0e02d8a13d0ed60d99f47879d4aa8ef1910 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:46 2008 +0000 powerpc/44x: No need to mask MSR:CE, ME or DE in _tlbil_va on 440 The handlers for Critical, Machine Check or Debug interrupts will save and restore MMUCR nowadays, thus we only need to disable normal interrupts when invalidating TLB entries. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 2a4aca1144394653269720ffbb5a325a77abd5fa Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:42 2008 +0000 powerpc/mm: Split low level tlb invalidate for nohash processors Currently, the various forms of low level TLB invalidations are all implemented in misc_32.S for 32-bit processors, in a fairly scary mess of #ifdef's and with interesting duplication such as a whole bunch of code for FSL _tlbie and _tlbia which are no longer used. This moves things around such that _tlbie is now defined in hash_low_32.S and is only used by the 32-bit hash code, and all nohash CPUs use the various _tlbil_* forms that are now moved to a new file, tlb_nohash_low.S. I moved all the definitions for that stuff out of include/asm/tlbflush.h as they are really internal mm stuff, into mm/mmu_decl.h The code should have no functional changes. I kept some variants inline for trivial forms on things like 40x and 8xx. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit f048aace29e007f2b642097e2da8231e0e9cce2d Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:38 2008 +0000 powerpc/mm: Add SMP support to no-hash TLB handling This commit moves the whole no-hash TLB handling out of line into a new tlb_nohash.c file, and implements some basic SMP support using IPIs and/or broadcast tlbivax instructions. Note that I'm using local invalidations for D->I cache coherency. At worst, if another processor is trying to execute the same and has the old entry in its TLB, it will just take a fault and re-do the TLB flush locally (it won't re-do the cache flush in any case). Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 7c03d653cd257793dc40520c94e229b5fd0578e7 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:32 2008 +0000 powerpc/mm: Introduce MMU features We're soon running out of CPU features and I need to add some new ones for various MMU related bits, so this patch separates the MMU features from the CPU features. I moved over the 32-bit MMU related ones, added base features for MMU type families, but didn't move over any 64-bit only feature yet. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 2ca8cf738907180e7fbda90f25f32b86feda609f Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:29 2008 +0000 powerpc/mm: Rework context management for CPUs with no hash table This reworks the context management code used by 4xx,8xx and freescale BookE. It adds support for SMP by implementing a concept of stale context map to lazily flush the TLB on processors where a context may have been invalidated. This also contains the ground work for generalizing such lazy TLB flushing by just picking up a new PID and marking the old one stale. This will be implemented later. This is a first implementation that uses a global spinlock. Ideally, we should try to get at least the fast path (context ID already assigned) lockless or limited to a per context lock, but for now this will do. I tried to keep the UP case reasonably simple to avoid adding too much overhead to 8xx which does a lot of context stealing since it effectively has only 16 PIDs available. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 5e696617c425eb97bd943d781f3941fb1e8f0e5b Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:24 2008 +0000 powerpc/mm: Split mmu_context handling This splits the mmu_context handling between 32-bit hash based processors, 64-bit hash based processors and everybody else. This is preliminary work for adding SMP support for BookE processors. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 6d2170be4561293a6aa821c773687bd3f18e8206 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:22 2008 +0000 powerpc/4xx: Extended DCR support v2 This adds supports to the "extended" DCR addressing via the indirect mfdcrx/mtdcrx instructions supported by some 4xx cores (440H6 and later). I enabled the feature for now only on AMCC 460 chips. Signed-off-by: Benjamin Herrenschmidt Acked-by: Josh Boyer Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit fecba96268fc48ab9b4a016356a8f2371df25e64 Author: Brian King Date: Thu Dec 18 11:13:49 2008 +0000 powerpc: Add reboot notifier to Collaborative Memory Manager When running Active Memory Sharing, pages can get marked as "loaned" with the hypervisor by the CMM driver. This state gets cleared by the system firmware when rebooting the partition. When using kexec to boot a new kernel, this state never gets cleared and the hypervisor and CMM driver can get out of sync with respect to the number of pages currently marked "loaned". Fix this by adding a reboot notifier to the CMM driver to deflate the balloon and mark all pages as active. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit 2218108e182fd8a6d9106077833ed7ad05fc8e75 Author: Brian King Date: Thu Dec 18 11:13:46 2008 +0000 powerpc: Disable Collaborative Memory Manager for kdump When running Active Memory Sharing, the Collaborative Memory Manager (CMM) may mark some pages as "loaned" with the hypervisor. Periodically, the CMM will query the hypervisor for a loan request, which is a single signed value. When kexec'ing into a kdump kernel, the CMM driver in the kdump kernel is not aware of the pages the previous kernel had marked as "loaned", so the hypervisor and the CMM driver are out of sync. This results in the CMM driver getting a negative loan request, which can then get treated as a large unsigned value and can cause kdump to hang due to the CMM driver inflating too large. Since there really is no clean way for the CMM driver in the kdump kernel to clean this up, simply disable CMM in the kdump kernel. This fixes hangs we were seeing doing kdump with AMS. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit 5d84e4bee044a740729ac172e684e743f5ad50fb Author: Stephen Rothwell Date: Tue Dec 16 20:16:49 2008 +0000 powerpc/iseries: viodasd needs to depend on CONFIG_BLOCK Otherwise you get lot of errors like these: drivers/block/viodasd.c:72: error: dereferencing pointer to incomplete type drivers/block/viodasd.c: In function 'viodasd_open': drivers/block/viodasd.c:135: error: dereferencing pointer to incomplete type drivers/block/viodasd.c: In function 'viodasd_release': drivers/block/viodasd.c:184: error: dereferencing pointer to incomplete type drivers/block/viodasd.c: In function 'viodasd_getgeo': drivers/block/viodasd.c:209: error: dereferencing pointer to incomplete type drivers/block/viodasd.c:214: error: implicit declaration of function 'get_capacity' drivers/block/viodasd.c: At top level: drivers/block/viodasd.c:222: error: variable 'viodasd_fops' has initializer but incomplete type drivers/block/viodasd.c:223: error: unknown field 'owner' specified in initializer Discovered by a randconfig build. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 368c1e3249afe0e59097e7df664435ae55fb9f8d Author: Hendrik Brueckner Date: Tue Dec 16 00:09:38 2008 +0000 hvc_console: Escape magic sysrq key The ctrl-o (^O) is a common control key used by several applications, such as vim, but hvc_console uses ^O as the magic-sysrq key. This commit allows users to send ^O to applications by pressing ^O twice in succession. To implement this, this commit introduces a check if ^O is pressed again if the sysrq_pressed variable is already set. In this case, clear sysrq_pressed state and flip the ^O character to the tty. (The old behavior has always set "sysrq_pressed" if ^O has been entered, and it has not flipped the ^O character to the tty.) Signed-off-by: Hendrik Brueckner Signed-off-by: Paul Mackerras commit 532774ec7fa396da20ca724c0cf83d93ee76622f Author: Tony Breeds Date: Mon Dec 15 18:34:43 2008 +0000 powerpc: Pass a valid token to rtas_call() in phyp-dump code ibm_configure_kernel_dump is passed as the token to rtas_call() is never initialised. This sets it to something sane. Signed-off-by: Tony Breeds Acked-by: Nathan Lynch Acked-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 7a2eab0d4e656341cc0f6481d722d410f0414f0b Author: Tony Breeds Date: Mon Dec 15 18:17:48 2008 +0000 powerpc: Protect against NULL pointer deref in phyp-dump code print_dump_header() will be called at least once with a NULL pointer in a normal boot sequence. If DEBUG is defined then we will dereference the pointer and crash. Add a quick fix to exit early in the NULL pointer case. Signed-off-by: Tony Breeds Acked-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 8168b5400b06353293f9844976435886eb2a8ff2 Author: David Howells Date: Thu Dec 11 02:53:54 2008 +0000 powerpc: Rename struct vm_region to avoid conflict with NOMMU Rename PowerPC's struct vm_region so that I can introduce my own global version for NOMMU. It's feasible that the PowerPC version may wish to use my global one instead. The NOMMU vm_region struct defines areas of the physical memory map that are under mmap. This may include chunks of RAM or regions of memory mapped devices, such as flash. It is also used to retain copies of file content so that shareable private memory mappings of files can be made. As such, it may be compatible with what is described in the banner comment for PowerPC's vm_region struct. Signed-off-by: David Howells Signed-off-by: Paul Mackerras commit 13ba3c0092b4db272d1f643206c1b55f4fe415a6 Author: Nathan Lynch Date: Wed Dec 10 14:46:06 2008 +0000 powerpc: Convert sysfs cache code to of_find_next_cache_node() Using the common code means that more complete cache information will provided in sysfs on platforms that don't use the l2-cache property convention. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit b2ea25b958968c152c6fac0594f2c9aa8b59eb8d Author: Nathan Lynch Date: Wed Dec 10 20:16:07 2008 +0000 powerpc: Convert cpu_to_l2cache() to of_find_next_cache_node() The smp code uses cache information to populate cpu_core_map; change it to use common code for cache lookup. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit e523f723d69cde44e10116d7f49b277da0c6702c Author: Nathan Lynch Date: Wed Dec 10 14:46:04 2008 +0000 powerpc: Add of_find_next_cache_node() We have more than one piece of code that looks up cache nodes manually using the "l2-cache" property. Add a common helper routine which does this and handles ePAPR's "next-level-cache" property as well as powermac. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 749820928a2fd47ff536773d869d2c3f8038b7d1 Author: Anton Vorontsov Date: Fri Dec 5 08:15:54 2008 +0000 of/gpio: Implement of_gpio_count() This function is used to count how many GPIOs are specified for a device node. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 7736a3db98bed028d0e5235f8958a730acfd822e Author: Anton Vorontsov Date: Fri Dec 5 08:15:46 2008 +0000 of: of_parse_phandles_with_args() learns to differentiate 'hole' cells Given this list (contains three gpio specifiers, one of which is a hole): gpios = <&phandle1 1 2 3 0 /* a hole */ &phandle2 4 5 6>; of_parse_phandles_with_args() would report -ENOENT for the `hole' specifier item, the same error value is used to report the end of the list, for example. Sometimes we want to differentiate holes from real errors -- for example when we want to count all the [syntax correct] specifiers. With this patch of_parse_phandles_with_args() will report -EEXITS when somebody requested to parse a hole. Also, make the out_{node,args} arguments optional, when counting we don't really need the out values. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit c1bb7c6d04ebdf48998649100c5267a9139debf5 Author: Anton Vorontsov Date: Fri Dec 5 08:15:39 2008 +0000 of: Minor simplification for the of_parse_phandles_with_args() By using 'list++' in the beginning we can simplify the code a little bit. Suggested-by: Benjamin Herrenschmidt Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 74b7ff48a93f44198ac03cc4e628d713f53d4668 Author: Matthew Ranostay Date: Sat Dec 20 17:47:24 2008 -0500 ALSA: hda: fix incorrect mixer index values for 92hd83xx Fixed incorrect mixer index values for 92hd83xx codec's audio input mixer. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit f8ccbf65afde5df81a6238b9dc92868fbbd397f7 Author: Matthew Ranostay Date: Sat Dec 20 17:36:28 2008 -0500 ALSA: hda: dinput_mux check Add check to determine if dinput_mux is set by any of patch_stac*() functions, otherwise a invalid pointer my be referenced causing gibberish to mixer values. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit ebef7cfc81942686a994ca6239b195040f5d1e4d Merge: 6bcdbd5... 3d47582... Author: Takashi Iwai Date: Sat Dec 20 23:43:06 2008 +0100 Merge branch 'topic/ca0106-spdif-stream' into topic/ca0106 commit 6bcdbd55b4c603d9741398d081133fcc50a10b6c Merge: 6a84364... 72077aa... Author: Takashi Iwai Date: Sat Dec 20 23:43:00 2008 +0100 Merge branch 'topic/ca0106-resume' into topic/ca0106 commit 6a8436419d1b77b24d82bd90354adc4baa393566 Merge: 55fa518... ff75427... Author: Takashi Iwai Date: Sat Dec 20 23:42:55 2008 +0100 Merge branch 'topic/ca0106-capture-no-44khz' into topic/ca0106 commit 8326e32c1e148820d50dc460e1cb4a6cb6884ff2 Merge: 69dfaef... 32e176c... Author: Takashi Iwai Date: Sat Dec 20 23:41:18 2008 +0100 Merge branch 'topic/hda-resume-fix' into topic/hda commit 55fa518867978e1f5fd8353098f80d125ac734d7 Merge: bb1f24b... eea0579... Author: Takashi Iwai Date: Sat Dec 20 23:39:47 2008 +0100 Merge branch 'topic/pcsp-fix' into topic/misc commit a663a71e429d7d06a7773edc4092995c5fe1171f Merge: 828aac2... b95a13d... Author: Russell King Date: Sat Dec 20 17:40:03 2008 +0000 Merge git://git.marvell.com/orion into devel commit b95a13d79c0e92c9c844fa8aa089c9bd2ed10705 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:04 2008 +0200 [ARM] mv78xx0: implement GPIO and GPIO interrupt support Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 4c21343005b6b0d6ef24ab6e6a8f3883ff0cb569 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:04 2008 +0200 [ARM] Kirkwood: implement GPIO and GPIO interrupt support Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 07332318f33da6acd88abb762a8b6febdfc560a3 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:03 2008 +0200 [ARM] Orion: share GPIO IRQ handling code Split off Orion GPIO IRQ handling code into plat-orion/. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 9569dae75f6f6987e79fa26cf6da3fc24006c996 Author: Lennert Buytenhek Date: Mon Oct 20 01:51:03 2008 +0200 [ARM] Orion: share GPIO handling code Split off Orion GPIO handling code into plat-orion/, and add support for multiple sets of (32) GPIO pins. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 69dfaefee4a2dfdfee3488a306403fe1e51f0be5 Author: Takashi Iwai Date: Sat Dec 20 16:57:50 2008 +0100 ALSA: hda - Add quirk for another HP dv7 Added the model=hp-m4 quirk for another HP dv7 (103c:30fc) with IDT 92HD71b* codec. Reference: Novell bnc#461108 https://bugzilla.novell.com/show_bug.cgi?id=461108 Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit a31501d1041c9d0a6c3f520736ae2b2fa081493a Author: Takashi Iwai Date: Sat Dec 20 16:50:53 2008 +0100 ALSA: ASoC - Add missing __devexit annotation to wm8350.c Added the missing __devexit annotation to wm8350_codec_remove(): sound/soc/codecs/wm8350.c:1546: warning: 'wm8350_codec_remove' defined but not used Signed-off-by: Takashi Iwai commit d6f833965e594015ee05341e43ff4a86f11596b3 Author: Troy Kisky Date: Fri Dec 19 13:05:25 2008 -0700 ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode Sense DaVinci does not support true I2S mode and we don't have to use the hack, use dsp_b mode instead Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9e031624d50c82a47671e09cc996eebb9e36f698 Author: Troy Kisky Date: Fri Dec 19 13:05:23 2008 -0700 ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai Fix the meaning of SND_SOC_DAIFMT_NB_NF to match that used in the codec. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit a24f4f682661b8069d374a9197bc491525a7c799 Author: Troy Kisky Date: Fri Dec 19 13:05:22 2008 -0700 ALSA: ASoC: tlv320aic3x add dsp_a Add SND_SOC_DAIFMT_DSP_A mode option. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 07d8d9dca4615821d928f4b5087fdc61e292e1dc Author: Troy Kisky Date: Fri Dec 19 13:05:24 2008 -0700 ALSA: ASoC: DaVinci: document I2S limitations DaVinci does not support true I2S or right justified mode so not all I2S codecs will work with it when the codec is master. Document this limitation. Add dsp_a, dsp_b mode options Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 69ab820c862250d460dfaaf82164972a4a69418a Author: Troy Kisky Date: Thu Dec 18 12:36:44 2008 -0700 ALSA: ASoC: DaVinci: davinci-i2s clean up Minor, just move a block of code to make next patch clearer. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 21903c1c9ecb7a210eb985aa8d82ad68c78283cc Author: Troy Kisky Date: Thu Dec 18 12:36:43 2008 -0700 ALSA: ASoC: DaVinci: davinci-i2s clean up Just at little cleanup of davinci_i2s_set_dai_fmt Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 664b4af859d43714fd2a90aa434e454355659d0e Author: Troy Kisky Date: Thu Dec 18 12:36:41 2008 -0700 ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity Document the current polarity choices. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 1152a1959f8440db9536f6df758274443f9b5b37 Author: Troy Kisky Date: Thu Dec 18 12:36:40 2008 -0700 ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit Add constants with a value of 0 to show more explicitly what is being requested. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit ff75427a7f641c4468610fbda2ccb69218174cd1 Author: Takashi Iwai Date: Sat Dec 20 11:20:55 2008 +0100 ALSA: ca0106 - disable 44.1kHz capture The capture with 44.1kHz on ca0106 seems to cause loud noises on later playbacks, which doesn't support 44.1kHz. A simple fix is to disable 44.1kHz, as the "default" PCM with dsnoop is anyway only with 48kHz. Reference: Novell bnc#447624 https://bugzilla.novell.com/show_bug.cgi?id=447624 Signed-off-by: Takashi Iwai commit 72077aa336d0f4c5e3c7014d7471c79bc69873bb Author: Takashi Iwai Date: Sat Dec 20 11:12:51 2008 +0100 ALSA: ca0106 - Add missing card->private_data initialization Added the missing card->private_data initialization that caused obvious problems at PM. Signed-off-by: Takashi Iwai commit 50232d62cace101e03f8f40ca151b978c0db5a0d Author: Takashi Iwai Date: Sat Dec 20 09:42:09 2008 +0100 ALSA: ca0106 - Check ac97 availability at PM Check the availability of ac97 at PM suspend/resume callbacks. Signed-off-by: Takashi Iwai commit c5dee6177f4bd2095aab7d9be9f6ebdddd6deee9 Author: Markus Metzger Date: Fri Dec 19 15:17:02 2008 +0100 x86, bts: memory accounting Impact: move the BTS buffer accounting to the mlock bucket Add alloc_locked_buffer() and free_locked_buffer() functions to mm/mlock.c to kalloc a buffer and account the locked memory to current. Account the memory for the BTS buffer to the tracer. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit bf53de907dfdaac178c92d774aae7370d7b97d20 Author: Markus Metzger Date: Fri Dec 19 15:10:24 2008 +0100 x86, bts: add fork and exit handling Impact: introduce new ptrace facility Add arch_ptrace_untrace() function that is called when the tracer detaches (either voluntarily or when the tracing task dies); ptrace_disable() is only called on a voluntary detach. Add ptrace_fork() and arch_ptrace_fork(). They are called when a traced task is forked. Clear DS and BTS related fields on fork. Release DS resources and reclaim memory in ptrace_untrace(). This releases resources already when the tracing task dies. We used to do that when the traced task dies. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 67bac792cd0c05b4b6e0393c32605b028b8dd533 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:30 2008 -0800 x86: PAT: pfnmap documentation update changes Impact: Documentation only. Documentation updates as per Randy Dunlap's comments. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 34801ba9bf0381fcf0e2b08179d2c07f2c6ede74 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:29 2008 -0800 x86: PAT: move track untrack pfnmap stubs to asm-generic Impact: Cleanup and branch hints only. Move the track and untrack pfn stub routines from memory.c to asm-generic. Also add unlikely to pfnmap related calls in fork and exit path. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 982d789ab76c8a11426852fec2fdf2f412e21c0c Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:28 2008 -0800 x86: PAT: remove follow_pfnmap_pte in favor of follow_phys Impact: Cleanup - removes a new function in favor of a recently modified older one. Replace follow_pfnmap_pte in pat code with follow_phys. follow_phys lso returns protection eliminating the need of pte_pgprot call. Using follow_phys also eliminates the need for pte_pa. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit d87fe6607c31944f7572f965c1507ae77026c133 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:27 2008 -0800 x86: PAT: modify follow_phys to return phys_addr prot and return value Impact: Changes and globalizes an existing static interface. Follow_phys does similar things as follow_pfnmap_pte. Make a minor change to follow_phys so that it can be used in place of follow_pfnmap_pte. Physical address return value with 0 as error return does not work in follow_phys as the actual physical address 0 mapping may exist in pte. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 6bd9cd50c830eb88d571c492ec370a30bf999e15 Author: venkatesh.pallipadi@intel.com Date: Fri Dec 19 13:47:26 2008 -0800 x86: PAT: clarify is_linear_pfn_mapping() interface Impact: Documentation only Incremental patches to address the review comments from Nick Piggin for v3 version of x86 PAT pfnmap changes patchset here http://lkml.indiana.edu/hypermail/linux/kernel/0812.2/01330.html This patch: Clarify is_linear_pfn_mapping() and its usage. It is used by x86 PAT code for performance reasons. Identifying pfnmap as linear over entire vma helps speedup reserve and free of memtype for the region. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 8403295e0fa460f6240e2d781e25dc29189f33c7 Author: Hiroshi Shimamoto Date: Fri Dec 19 14:25:50 2008 -0800 x86: ia32_signal: remove unnecessary declaration Impact: cleanup No need to declare do_signal(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 34945ede31071ac7d72270cc6c1893323f392b3f Author: Jaswinder Singh Date: Fri Dec 19 22:33:52 2008 +0530 x86: common.c boot_cpu_stack and boot_exception_stacks should be static Impact: cleanup, avoid sparse warnings, reduce kernel size a bit Fixes these sparse warnings: arch/x86/kernel/cpu/common.c:869:6: warning: symbol 'boot_cpu_stack' was not declared. Should it be static? arch/x86/kernel/cpu/common.c:910:6: warning: symbol 'boot_exception_stacks' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 74192246910ff4fb95309ba1a683215644beeb62 Author: James Morris Date: Fri Dec 19 11:41:10 2008 +1100 SELinux: don't check permissions for kernel mounts Don't bother checking permissions when the kernel performs an internal mount, as this should always be allowed. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 12204e24b1330428c3062faee10a0d80b8a5cb61 Author: James Morris Date: Fri Dec 19 10:44:42 2008 +1100 security: pass mount flags to security_sb_kern_mount() Pass mount flags to security_sb_kern_mount(), so security modules can determine if a mount operation is being performed by the kernel. Signed-off-by: James Morris Acked-by: Stephen Smalley commit 459c19f524a9d89c65717a7d061d5f11ecf6bcb8 Author: Stephen Smalley Date: Fri Dec 5 09:12:19 2008 -0500 SELinux: correctly detect proc filesystems of the form "proc/foo" Map all of these proc/ filesystem types to "proc" for the policy lookup at filesystem mount time. Signed-off-by: James Morris commit b909895739427874c089bc0e03dc119f99cab2dd Author: Yinghai Lu Date: Fri Dec 19 13:48:34 2008 -0800 sparseirq: fix numa_migrate_irq_desc dependency and comments Impact: reduce kconfig variable scope and clean up Bartlomiej pointed out that the config dependencies and comments are not right. update it depend to NUMA, and fix some comments Reported-by: Bartlomiej Zolnierkiewicz Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 26cc271db798cf211d35967cbfbb53e997126b84 Author: Hiroshi Shimamoto Date: Fri Dec 19 10:23:03 2008 -0800 printk: fix discarding message when recursion_bug Impact: fix truncated recursion bug message printout When recursion_bug is true, kernel discards original message because printk_buf contains recursion_bug_msg with NULL terminator. The sizeof(recursion_bug_msg) makes this, use strlen() to get correct length without NULL terminator. Reported-by: Toshikazu Nakayama Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 9bb482476c6c9d1ae033306440c51ceac93ea80c Author: Jan Beulich Date: Tue Dec 16 11:30:08 2008 +0000 allow stripping of generated symbols under CONFIG_KALLSYMS_ALL Building upon parts of the module stripping patch, this patch introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y. Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64) kernels I tested with. The patch also does away with the need to special case the kallsyms- internal symbols by making them available even in the first linking stage. While it is a generated file, the patch includes the changes to scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure here is. Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit ad7a953c522ceb496611d127e51e278bfe0ff483 Author: Jan Beulich Date: Tue Dec 16 11:28:14 2008 +0000 kbuild: strip generated symbols from *.ko This patch changes the way __crc_ symbols are being resolved from using ld to do so to using the assembler, thus allowing these symbols to be marked local (the linker creates then as global ones) and hence allow stripping (for modules) or ignoring (for vmlinux) them. While at this, also strip other generated symbols during module installation. One potentially debatable point is the handling of the flags passeed to gcc when translating the intermediate assembly file into an object: passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to gas whenever is sees any -g* option, even for -g0, and despite the fact that the compiler would have already produced all necessary debug info in the C->assembly translation phase. I took the approach of just filtering out all -g* options, but an alternative to such negative filtering might be to have a positive filter which might, in the ideal case allow just all the -Wa,* options to pass through. Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit 37a8d9f67f18de1e2cbc7387311ce22d4dbff518 Author: Sam Ravnborg Date: Fri Dec 19 21:38:09 2008 +0100 kbuild: simplify use of genksyms Avoid duplicating long list of options in two places Signed-off-by: Sam Ravnborg commit 9cf7f247bd0cd21e475c71a4e018bb612ef02aab Author: Michael Buesch Date: Fri Dec 19 20:24:30 2008 +0100 b43: Add key memory dumping This adds an option to dump all crypto related memory to the kernel log. Obviously, it should not be enabled on productive systems. ;) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b929ecf7965c2dab7e373f390ac5fc563011484d Author: Michael Buesch Date: Fri Dec 19 18:40:00 2008 +0100 b43: Suspend MAC while killing the radio We should suspend the MAC, before we kill the radio. This gives the MAC a chance to leave any TX/RX state and it avoids races on the PHY/RADIO registers. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fd6effcaf8a894c0a0f602b943dbc54a170d4418 Author: Bob Copeland Date: Thu Dec 18 23:23:05 2008 -0500 ath5k: correct packet length in tx descriptors Packet length calculation (which includes frame check sequence) should take into account whether we add a pad field or not. Extract the calculation into a helper and use it in both places. Changes to desc.c Changes-licensed-under: ISC Changes to ath5k.h, base.c Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 520eb82076993b7f55ef9b80771d264272e5127b Author: Kalle Valo Date: Thu Dec 18 23:35:27 2008 +0200 mac80211: implement dynamic power save This patch implements dynamic power save for mac80211. Basically it means enabling power save mode after an idle period. Implementing it dynamically gives a good compromise of low power consumption and low latency. Some hardware have support for this in firmware, but some require the host to do it. The dynamic power save is implemented by adding an timeout to ieee80211_subif_start_xmit(). The timeout can be enabled from userspace with Wireless Extensions. For example, the command below enables the dynamic power save and sets the time timeout to 500 ms: iwconfig wlan0 power timeout 500m Power save now only works with devices which handle power save in firmware. It's also disabled by default and the heuristics when and how to enable is considered as a policy decision and will be left for the userspace to handle. In case the firmware has support for this, drivers can disable this feature with IEEE80211_HW_NO_STACK_DYNAMIC_PS. Big thanks to Johannes Berg for the help with the design and code. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit ce7c9111a97492d04c504f40736a669c235d664a Author: Kalle Valo Date: Thu Dec 18 23:35:20 2008 +0200 mac80211: track master queue status This is a preparation for the dynamic power save support. In future there are two paths to stop the master queues and we need to track this properly to avoid starting queues incorrectly. Implement this by adding a status array for each queue. The original idea and design is from Johannes Berg, I just did the implementation based on his notes. All the bugs are mine, of course. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e0cb686ff879dc9ac045ad7258ec687088d4e450 Author: Kalle Valo Date: Thu Dec 18 23:35:13 2008 +0200 mac80211: enable IEEE80211_CONF_PS only when associated Also disable power save when disassociated. It makes no sense to have power save enabled while disassociated. iwlwifi seems to have this check in the driver, but it's better to do this in mac80211 instead. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d10d0e5707fb7b8afa7e68a14d69e752604ee294 Author: Michael Buesch Date: Thu Dec 18 22:13:39 2008 +0100 b43: Fix some MAC locking This fixes some locking w.r.t. the lower MAC (firmware). It also removes a lot of ancient IRQ-locking that's not needed anymore. We simply suspend the MAC. That's easier and causes less trouble. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0e7690f1e9ee1e762f27678d2ea10e4c1fde3236 Author: Rami Rosen Date: Thu Dec 18 18:04:51 2008 +0200 iwlwifi: iwl-tx.c cleanup (remove unused parameter and unused local variable). This patch removes unused parameter and unused local variable in methods in iwl-tx.c: - Remove a parameter (is_unicast) from iwl_tx_cmd_build_basic(). - Remove an unused variable name unicast from iwl_tx_skb(). Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit be2864cfff2fe4b599b46f03cce1e7689e05c60c Author: Jouni Malinen Date: Thu Dec 18 14:33:00 2008 +0200 ath9k: Fixed RX decryption status reporting The RX code in ath9k uses sc_keymap to figure out whether a default key was used. However, the default key entries in sc_keymap were always set and as such, frames could have been claimed to be decrypted by hardware when they were not. This can cause problems especially with TKIP since mac80211 is validating the Michael MIC in the frame and this will result in MIC failure and potentially TKIP countermeasures if the frame was not decrypted correctly. Change key cache slot allocation to mark only the keys that really have been used in sc_keymap to avoid the issue. The key cache slot selection routines are now internally avoiding the slots that may be needed for TKIP group keys. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ea6121328885640c137b0a8830f67ca6c386a24a Author: Jouni Malinen Date: Thu Dec 18 14:31:10 2008 +0200 ath9k: Fix key cache slot selection for splitmic ath_reserve_key_cache_slot() was obviously supposed to return an index to a free slot, not reserved one. This could have caused problems with hardware revisions that use splitmic. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit aa33de09a849bd65b1201e1aec42e3e412c14cf6 Author: Sujith Date: Thu Dec 18 11:40:16 2008 +0530 ath9k: Protect config() callback with a mutex This should fix the timeout issues seen when using wpa_supplicant. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5e3f308997f53d00e8cbebdb89d4f6e347aa963a Author: Larry Finger Date: Wed Dec 17 14:26:59 2008 -0600 mac80211: Print unknown packet type in tasklet_handler In stress testing p54usb, the WARN_ON() in ieee80211_tasklet_handler() was triggered; however, there is no logging of the received value for packet type. Adding that feature will improve the warning. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6110781af080c007b2202187a8518920e03d5748 Author: Christian Lamparter Date: Wed Dec 17 12:04:43 2008 +0100 p54usb: bring first generation devices back to life This patch fixes a serious regression (introduced by: "p54: fix memory management") that affected isl3886+net2280 usb devices operation. Signed-off-by: Christian Lamparter Tested-by: Artur Skawina Signed-off-by: John W. Linville commit 6ace2891a1d632303283816ae050849da48df142 Author: Jouni Malinen Date: Wed Dec 17 13:32:17 2008 +0200 ath9k: Key cache allocation for AP mode Enhance allocation of key cache entries to support multiple pairwise keys to fix AP mode with more than one associated STA. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f66000f7a39769b0ce2355fca13c40ac2f1c39db Author: Jouni Malinen Date: Wed Dec 17 13:30:31 2008 +0200 ath9k: Fix a NULL pointer dereference in ath_rate_get It looks like mac80211 may try to send unicast frames to a STA that does not have a STA entry. We need to make sure that that is caught in the rate control code before dereferencing STA data. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 91f39e8eea725347b6a82d1e35e512ec8b298b0b Author: Jay Sternberg Date: Wed Dec 17 16:52:34 2008 +0800 iwlwifi: indicate txpower is off in sysfs The patch checks if the radio is disabled before displaying the tx power level. Previously when the txpower was set off show_tx_power still returned the prior power level. Now it will indicate the power has been turned off. Signed-off-by: Jay Sternberg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f1bc4ac61f2c08515afd80c6dc3962aa6d0b138b Author: Zhu Yi Date: Wed Dec 17 16:52:33 2008 +0800 iwlwifi: use GFP_KERNEL to allocate Rx SKB memory Previously we allocate Rx SKB with GFP_ATOMIC flag. This is because we need to hold a spinlock to protect the two rx_used and rx_free lists operation in the rxq. spin_lock(); ... element = rxq->rx_used.next; element->skb = alloc_skb(..., GFP_ATOMIC); list_del(element); list_add_tail(&element->list, &rxq->rx_free); ... spin_unlock(); After spliting the rx_used delete and rx_free insert into two operations, we don't require the skb allocation in an atomic context any more (the function itself is scheduled in a workqueue). spin_lock(); ... element = rxq->rx_used.next; list_del(element); ... spin_unlock(); ... element->skb = alloc_skb(..., GFP_KERNEL); ... spin_lock() ... list_add_tail(&element->list, &rxq->rx_free); ... spin_unlock(); This patch should fix the "iwlagn: Can not allocate SKB buffers" warning we see recently. Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Cc: stable@kernel.org Signed-off-by: John W. Linville commit 4087f6f68cdbd2845c7e54236bae1b058a7b827b Author: Wu, Fengguang Date: Wed Dec 17 16:52:32 2008 +0800 iwlwifi: use meaningful vars in _iwl_poll_bit() Rename vars in _iwl_poll_bit() to better reflect the truth. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit febf3370c63b4ea7fc1cedb9a73ac37e3cb21079 Author: Wu Fengguang Date: Wed Dec 17 16:52:31 2008 +0800 iwlwifi: remove useless goto The patch removes some useless goto in code cleanup. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 95aa194ac4a8fee0aea64c9609e70211cd057ad2 Author: Wu, Fengguang Date: Wed Dec 17 16:52:30 2008 +0800 iwlwifi: use type uint for module param debug This enables one to change the debug level at bit 31. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c3a739fa3507d1d5b3d2cb6cc491edeef8fa54c0 Author: Wu, Fengguang Date: Wed Dec 17 16:52:29 2008 +0800 iwlwifi: update comments on the debug interface Bring up-to-date some comments on the location of debug files. Signed-off-by: Wu Fengguang Acked-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5c11ec60ef2eb8fb409b2c0a427e5a8ab6ee05f8 Author: Wu, Fengguang Date: Wed Dec 17 16:52:28 2008 +0800 iwlwifi: add line feed to printk This adds line feed to printk. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 34c22cf93d1446791c966c878cc691e07c39d8d3 Author: Winkler, Tomas Date: Wed Dec 17 16:52:27 2008 +0800 iwlwifi: cleanup iwl-dev.h The patch removes unused definition and moves code to proper places. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 135541215ca87ff00c269e65bcaef0bdcb99aab9 Author: Rami Rosen Date: Tue Dec 16 22:38:29 2008 +0200 mac80211: fix a typo in ieee80211_send_assoc() method. This patch fixes a typo in ieee80211_send_assoc(), net/mac80211/mlme.c. The error is usage of a wrong member when building the ie80211 management frame (it should be assoc_req, and not reassoc_req). Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 73ec1cc28ebc7854a376cde53f62d487e127fbca Author: Rami Rosen Date: Tue Dec 16 09:37:07 2008 +0200 iwlwifi: remove a parameter (dest) from *_fill_beacon_frame() methods. This patch removes a parameter (dest) from iwl_fill_beacon_frame() (iwl-agn.c) and from iwl3945_fill_beacon_frame(). (iwl-3945.c,iwl-3945.h) Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit ca8a8560569c5eb954cb18c3a91087797ffa81a4 Author: Vasanthakumar Thiagarajan Date: Tue Dec 16 12:37:38 2008 +0530 ath9k: Move rate control alg register/unregister to appropriate place This patch makes sure the rate control alg is registered/unregistered only once for this module. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9bf9fca8dea70116016d32c2bf3f83170c8fba76 Author: Vasanthakumar Thiagarajan Date: Mon Dec 15 20:40:46 2008 +0530 ath9k: Synchronize DMA transfer with CPU at right place This patch does pci_dma_sync_single_for_cpu() before accessing the header of the frame and queueing the same buffer into h/w. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f7a276a625e0b980185d2eb8e8e3e9425a708bee Author: Jouni Malinen Date: Mon Dec 15 16:02:04 2008 +0200 ath9k: Remove MAC header pad before reporting TX status Remove the possible MAC header pad before reporting TX status to mac80211. This pad is hardware specific operation and should not be exposed outside the driver. This fixes the frame body in monitor interfaces that could be used to check on TX status for transmitted frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit da027ca00a48715364da9a94d4b663029add528d Author: Jouni Malinen Date: Mon Dec 15 15:44:53 2008 +0200 ath9k: Fix TX status reporting for retries and MCS index The count field in struct ieee80211_tx_rate does not include the final successful attempt, so only report retries here. Fix the struct ieee80211_tx_rate::idx field when MCS was used. It is supposed to be the MCS index, not an internal index to the rate control algorithm table. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 8d6f658e211a3c6ff808f7fc6ebb30239457eabc Author: Jouni Malinen Date: Mon Dec 15 10:37:50 2008 +0200 mac80211: Remove radiotap rate-present flag for HT Since we do not currently report HT rates (MCS index) in radiotap header for HT rates, we should not claim the rate is present. The rate octet itself is used as padding in this case, so only the it_present flag needs to be removed in case of HT rates. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d85882273367e98aecb9ff11a9d76515a6d37131 Author: Herton Ronaldo Krzesinski Date: Sun Dec 14 12:18:09 2008 -0600 rtl8187: Fix crash on unload when using SLUB debug Reported-by: Hin-Tak Leung After the code was modified to use urb anchors ("rtl8187: Use usb anchor facilities to manage urbs"), rtl8187 began generating an intermittent GPF on shutdown when using SLUB with debugging enabled. Furthermore, rebooting the system with a ping running caused a GPF every time. There are two problems: (1) incorrect locking in the rtl8187_rx_cb() routine, a pre-existing bug that apparently had not been triggered before, and (2) duplicate freeing of receive skbs that was probably introduced with the change to anchors. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 0a5ec96ad68516582023a877aceff9db7636d141 Author: Christian Lamparter Date: Sun Dec 14 15:05:42 2008 +0100 p54: remove free_on_tx parameter This patch simplifies the tx code a bit and will be necessary for the upcoming stlc45xx<->p54 port. In detail: we no longer have to tell all back-end drivers directly, if we want to free a frame right after it was send to the firmware, or if we do it in the library callback later. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 69ba3e5d74a467a64248cd90ccafb524b1fddcb5 Author: Christian Lamparter Date: Sun Dec 14 14:45:30 2008 +0100 p54: more accurate rssi to dBm conversion This patch replaces the static rssi auto calibration data with more precise values out of the device's eeprom. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit da9f57eade0a743450a201645db7fc5ac0809900 Author: Larry Finger Date: Sat Dec 13 18:09:56 2008 -0600 rtl8187: Fix error returns There are two places in the rtl8187 code where a routine was returning zero (OK) when it should have been returning an error. Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 23827926eb5ce5cb944ebbd96d22297a2582d45d Author: Ilpo Järvinen Date: Sat Dec 13 21:33:13 2008 +0200 libertas: use roundup instead of opencoding Signed-off-by: Ilpo Järvinen Signed-off-by: John W. Linville commit ee370ceda823435fe75be7dd4ed7b0e3dc3108b9 Author: Christian Lamparter Date: Sat Dec 13 16:45:38 2008 +0100 p54: update ACK failure statistic counter in real-time Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 54fdb040b4760d5b2994d15c1371e297679420e9 Author: Christian Lamparter Date: Sat Dec 13 14:14:20 2008 +0100 p54: move statistic timer update routine into a workqueue This patch moves a good chunk of code from the former statistic update timer routine into a workqueue, which is kindly provided by mac80211. Also as a nice side-effect we can lay the foundation for other essential housekeeping features we want to do in the future. e.g: - drain the (clogged) tx_queue. - initiate bursts. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d5e490362feb648048ef20db9b0b2531d5425775 Author: Mohamed Abbas Date: Fri Dec 12 08:22:15 2008 -0800 iwlagn: fix agn rate scaling Rate scaling in agn can be broken because of these two problems 1- the LQ command could not sent, we try to call LQ command before post association will be rejected, this will cause the driver to break in rs_tx_status reporting initial rate does not match. 2- In rs_rate_init we can get a value of 12, rate 60, for last_txrate_idx, this rate only valid in SISO/MIMO mode only Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b8d476c8cb64a1640d8762aa442b8a73fa74b7d5 Author: Jouni Malinen Date: Fri Dec 12 17:08:31 2008 +0200 mac80211: Send Layer 2 Update frame on reassociation When a STA roams back to the same AP before the previous STA entry has expired, a new STA entry is not added in mac80211. However, a Layer 2 Update frame still needs to be transmitted to update layer 2 devices about the new location for the STA. Without this, switches may continue to forward frames to the previous (now incorrect) port when STA roams between APs. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0fe45b1debba7302155b62f3829119a1185a4f5a Author: Benoit PAPILLAULT Date: Fri Dec 12 15:29:58 2008 +0100 ath5k: fix 802.11 header padding on RX, unpadding on TX Padding the 802.11 header to a multiple of 4 bytes needs to be done only for frames with a body. This fixes a bug where 2 bytes were missing in monitor mode for ACK frames. Inspired by a patch from Jouni Malinen on ath9k. Ref: http://bugzilla.kernel.org/show_bug.cgi?id=12101 : Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit baad1d921b1565b6f08f60c035531d13ad8afa82 Author: Jouni Malinen Date: Fri Dec 12 14:38:34 2008 +0200 ath9k: Report HT rates in RX status Fix and clean up the RX status reporting by getting rid of code that used internal rate tables and ratekbps calculation. The correct value is now reported with MCS index instead of the old mechanism that defaulted to using the highest legacy rate. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0fb8ca45eb164c405eef8978f26829f9348b4d4d Author: Jouni Malinen Date: Fri Dec 12 14:38:33 2008 +0200 mac80211: Add HT rates into RX status reporting This patch adds option for HT-enabled drivers to report HT rates (HT20/HT40, short GI, MCS index) to mac80211. These rates are currently not in the rate table, so the rate_idx is used to indicate MCS index. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9d8eed12dbc04f8ed70090da14211c808b5a8d81 Author: Sujith Date: Fri Dec 12 11:59:07 2008 +0530 ath9k: Do not use association state to update rate table Now that HT information is made available to the driver through config() callback, the channel type can be calculated whenever setting the channel. Update the rate table accordingly with the new channel type. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 094d05dc32fc2930e381189a942016e5561775d9 Author: Sujith Date: Fri Dec 12 11:57:43 2008 +0530 mac80211: Fix HT channel selection HT management is done differently for AP and STA modes, unify to just the ->config() callback since HT is fundamentally a PHY property and cannot be per-BSS. Rename enum nl80211_sec_chan_offset as nl80211_channel_type to denote the channel type ( NO_HT, HT20, HT40+, HT40- ). Signed-off-by: Johannes Berg Signed-off-by: Sujith Signed-off-by: John W. Linville commit 420e7fabd9c6d907280ed6b3e40eef425c5d8d8d Author: Henning Rogge Date: Thu Dec 11 22:04:19 2008 +0100 nl80211: Add signal strength and bandwith to nl80211station info This patch adds signal strength and transmission bitrate to the station_info of nl80211. Signed-off-by: Henning Rogge Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 828aac2ee239dca9c1856c4856a57912e6a487c4 Merge: 6fd7c7f... 7971db5... Author: Russell King Date: Fri Dec 19 19:46:52 2008 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel commit a1d94aa5560dc6b06baf30ae477115b51dc25461 Author: Randy Dunlap Date: Fri Dec 19 08:49:30 2008 -0800 kernel-doc: check for extra kernel-doc notations Add functionality to check for function parameters or structure (or union/typedef/enum) field members that are described in kernel-doc but are not part of the expected (declared) parameters or structure. These generate warnings that are called "Excess" descriptions. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit eb63212868c348cc6d3ec6929d7d98f7d29493e9 Author: Takashi Iwai Date: Fri Dec 19 16:39:48 2008 +0100 ALSA: hda - Power up always when no jack detection is available When no jack detection is available, the pins should be always turned on since it can't be turned on/off dynamically via unsol events. Signed-off-by: Takashi Iwai commit 213cc060797378059a28ebc5c539f3e9a80160bd Author: Pekka J Enberg Date: Fri Dec 19 12:08:39 2008 +0200 ftrace: introduce tracing_reset_online_cpus() helper Impact: cleanup This patch factors out common code from multiple tracers into a tracing_reset_online_cpus() function and converts the tracers to use it. Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 9158923228822c08ed3116bfe21472261a05a725 Author: Takashi Iwai Date: Fri Dec 19 15:59:40 2008 +0100 ALSA: hda - Fix unused variable warnings in patch_sigmatel.c Fixed "unused varible" warnings in patch_sigmatel.c that have been introduced by the last changes. Signed-off-by: Takashi Iwai commit 6030634ac3dc818d2eafa3ddf00abba88918b3bd Merge: d4d9cd03... 7662453... Author: Takashi Iwai Date: Fri Dec 19 15:43:24 2008 +0100 Merge branch 'topic/hda-stac-fix' into topic/hda commit 70043058a6968917c00c8d4cff5bfc0e095831ec Merge: 40aa4a3... 19b3f31... Author: Takashi Iwai Date: Fri Dec 19 15:36:58 2008 +0100 Merge branch 'fix/asoc' into topic/asoc commit d4d9cd0338892e7f0d65f8a110473d175535cd5d Author: Takashi Iwai Date: Fri Dec 19 15:19:11 2008 +0100 ALSA: hda - Add probe_only option Added probe_only module option to hd-audio driver. This option specifies whether the driver creates and initializes the codec-parser after probing. When this option is set, the driver skips the codec parsing and initialization but gives you proc and other accesses. It's useful to see the initial codec state for debugging. The default of this value is off, so the default behavior is as same as before. Signed-off-by: Takashi Iwai commit 766245348db4b047a9b53548b5b893cd5115decc Author: Takashi Iwai Date: Fri Dec 19 10:09:47 2008 +0100 ALSA: hda - Use more distinct name for a unique volume in STAC/IDT When the line_out has only one DAC and it's unique (i.e. not shared by other outputs), assign a more reasonable and distinct mixer name such as "Headphone" or "Speaker". Signed-off-by: Takashi Iwai commit c21ca4a872697aeda4fe91bf9b6cc8380c62827c Author: Takashi Iwai Date: Fri Dec 19 09:26:08 2008 +0100 ALSA: hda - Rework on STAC/IDT auto-configuration code The current auto-configuration code has several problems especially for the new IDT codecs, e.g. wrong assignment of pins and DACs or coupled volume for speaker and headphone. This patch is a fairly large rewrite of the auto-configuration code. Some remaks - mic_switch and line_switch contain NIDs instead of bool - dac_list isn't fixed for IDT 92HD* codecs now, they are all probed - extra HP and speakers are stored in extra_dacs[]. Signed-off-by: Takashi Iwai commit 03c6901ea22bbb532586334d5b79941ccf56d5b0 Merge: 692f904... 8f55c1e... Author: Takashi Iwai Date: Fri Dec 19 14:24:13 2008 +0100 Merge branch 'fix/hda' into topic/hda commit 8df0f70751dc0e51d0550caee3416339183c5767 Author: Takashi Iwai Date: Fri Dec 19 13:55:17 2008 +0100 ALSA: ca0106 - Fix typo in resume code The register and channel_id pair were twisted in the pm code... Oh my. Signed-off-by: Takashi Iwai commit 692f90421d3716ef0d0f120d9d2c9684009a4a01 Author: Takashi Iwai Date: Fri Dec 19 12:44:46 2008 +0100 ALSA: hda - Fix HD-Audio.txt reference of model list The model list is now in HD-Audio-Models.txt. Signed-off-by: Takashi Iwai commit 3d4758299fa6180ff9304634c67ffdd44272c8e8 Author: Takashi Iwai Date: Fri Dec 19 12:13:18 2008 +0100 ALSA: ca0106 - Add IEC958 PCM Stream controls Added "IEC958 PCM Stream" controls for the per-stream IEC958 status bits. Using this instead of "IEC958 Default" is safer since the status bits will be recovered to the default states after closing the PCM stream. Signed-off-by: Takashi Iwai commit 86effd7e12ca63cecfd218717473d606e138e5e1 Author: Takashi Iwai Date: Fri Dec 19 12:04:06 2008 +0100 ALSA: ca0106 - Don't override the values at resume Don't override some values in ca0106_init_chip() at resume. Signed-off-by: Takashi Iwai commit 4f2d23e1c3fe0abaf87fead3033c6cc3671b4d1c Author: Takashi Iwai Date: Fri Dec 19 10:14:13 2008 +0100 ALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.c Fixed the call of snd_ctl_add() by replacing with snd_hda_ctl_add() so that this mixer element can be tracked for re-configuration. Signed-off-by: Takashi Iwai commit 827057f5c12f5e10dc0279596db940aa6ddf8d9b Author: Takashi Iwai Date: Fri Dec 19 10:12:02 2008 +0100 ALSA: hda - Add missing initializations of amp and verb caches The re-initializations of codec amp and verb caches are missing at reconfig, which may cause Oops occasionally. Signed-off-by: Takashi Iwai commit 30cd324e9787ccc9a5ede59742d5409857550692 Merge: c71dd42... 6d102bc... 3d9101e... Author: Ingo Molnar Date: Fri Dec 19 09:42:40 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/ring-buffer' and 'tracing/urgent' into tracing/core Conflicts: include/linux/ftrace.h commit a7883dece6ef82097e6bdf19c1d0a20351e06056 Author: Ingo Molnar Date: Fri Dec 19 00:59:09 2008 +0100 x86: fix warning in arch/x86/kernel/io_apic.c this warning: arch/x86/kernel/io_apic.c: In function ‘ir_set_msi_irq_affinity’: arch/x86/kernel/io_apic.c:3373: warning: ‘cfg’ may be used uninitialized in this function triggers because the variable was truly uninitialized. We'd crash on entering this code. Signed-off-by: Ingo Molnar commit 9924da434a13668fceb208d56dbdf86d166862cc Author: Ingo Molnar Date: Fri Dec 19 00:53:40 2008 +0100 sched: fix warning in kernel/sched.c Impact: fix cpumask conversion bug this warning: kernel/sched.c: In function ‘find_busiest_group’: kernel/sched.c:3429: warning: passing argument 1 of ‘__first_cpu’ from incompatible pointer type shows that we forgot to convert a new patch to the new cpumask APIs. Signed-off-by: Ingo Molnar commit 06aaf76a7e2e4cc57eabcb8f43ec99c961fe55fe Author: Ingo Molnar Date: Thu Dec 18 21:30:23 2008 +0100 sched: move test_sd_parent() to an SMP section of sched.h Impact: build fix Signed-off-by: Ingo Molnar commit 100fdaee70ebf5f31b9451fbc01300c627091328 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:47 2008 +0530 sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0 Impact: change task balancing to save power more agressively Add SD_BALANCE_NEWIDLE flag at MC level and CPU level if sched_mc is set. This helps power savings and will not affect performance when sched_mc=0 Ingo and Mike Galbraith have optimised the SD flags by removing SD_BALANCE_NEWIDLE at MC and CPU level. This helps performance but hurts power savings since this slows down task consolidation by reducing the number of times load_balance is run. sched: fine-tune SD_MC_INIT commit 14800984706bf6936bbec5187f736e928be5c218 Author: Mike Galbraith Date: Fri Nov 7 15:26:50 2008 +0100 sched: re-tune balancing -- revert commit 9fcd18c9e63e325dbd2b4c726623f760788d5aa8 Author: Ingo Molnar Date: Wed Nov 5 16:52:08 2008 +0100 This patch selectively enables SD_BALANCE_NEWIDLE flag only when sched_mc is set to 1 or 2. This helps power savings by task consolidation and also does not hurt performance at sched_mc=0 where all power saving optimisations are turned off. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ad273b32e482cdef306eac32b28d97f513a022f4 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:36 2008 +0530 sched: activate active load balancing in new idle cpus Impact: tweak task balancing to save power more agressively Active load balancing is a process by which migration thread is woken up on the target CPU in order to pull current running task on another package into this newly idle package. This method is already in use with normal load_balance(), this patch introduces this method to new idle cpus when sched_mc is set to POWERSAVINGS_BALANCE_WAKEUP. This logic provides effective consolidation of short running daemon jobs in a almost idle system The side effect of this patch may be ping-ponging of tasks if the system is moderately utilised. May need to adjust the iterations before triggering. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7eb52dfa70dbf5232b5b83ec4357e6bebaa8fde8 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:29 2008 +0530 sched: bias task wakeups to preferred semi-idle packages Impact: tweak task wakeup to save power more agressively Preferred wakeup cpu (from a semi idle package) has been nominated in find_busiest_group() in the previous patch. Use this information in sched_mc_preferred_wakeup_cpu in function wake_idle() to bias task wakeups if the following conditions are satisfied: - The present cpu that is trying to wakeup the process is idle and waking the target process on this cpu will potentially wakeup a completely idle package - The previous cpu on which the target process ran is also idle and hence selecting the previous cpu may wakeup a semi idle cpu package - The task being woken up is allowed to run in the nominated cpu (cpu affinity and restrictions) Basically if both the current cpu and the previous cpu on which the task ran is idle, select the nominated cpu from semi idle cpu package for running the new task that is waking up. Cache hotness is considered since the actual biasing happens in wake_idle() only if the application is cache cold. This technique will effectively move short running bursty jobs in a mostly idle system. Wakeup biasing for power savings gets automatically disabled if system utilisation increases due to the fact that the probability of finding both this_cpu and prev_cpu idle decreases. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7a09b1a27b1e5a4957e4af9951420fea02c44fba Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:22 2008 +0530 sched: nominate preferred wakeup cpu Impact: extend load-balancing code (no change in behavior yet) When the system utilisation is low and more cpus are idle, then the process waking up from sleep should prefer to wakeup an idle cpu from semi-idle cpu package (multi core package) rather than a completely idle cpu package which would waste power. Use the sched_mc balance logic in find_busiest_group() to nominate a preferred wakeup cpu. This info can be stored in appropriate sched_domain, but updating this info in all copies of sched_domain is not practical. Hence this information is stored in root_domain struct which is one copy per partitioned sched domain. The root_domain can be accessed from each cpu's runqueue and there is one copy per partitioned sched domain. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d5679bd11916eba5c8ee9033003e1a5ce56ece9a Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:16 2008 +0530 sched: favour lower logical cpu number for sched_mc balance Impact: change load-balancing direction to match that of irqbalanced Just in case two groups have identical load, prefer to move load to lower logical cpu number rather than the present logic of moving to higher logical number. find_busiest_group() tries to look for a group_leader that has spare capacity to take more tasks and freeup an appropriate least loaded group. Just in case there is a tie and the load is equal, then the group with higher logical number is favoured. This conflicts with user space irqbalance daemon that will move interrupts to lower logical number if the system utilisation is very low. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit afb8a9b70b86866a60e08b2956ae4e1406390336 Author: Gautham R Shenoy Date: Thu Dec 18 23:26:09 2008 +0530 sched: framework for sched_mc/smt_power_savings=N Impact: extend range of /sys/devices/system/cpu/sched_mc_power_savings Currently the sched_mc/smt_power_savings variable is a boolean, which either enables or disables topology based power savings. This patch extends the behaviour of the variable from boolean to multivalued, such that based on the value, we decide how aggressively do we want to perform powersavings balance at appropriate sched domain based on topology. Variable levels of power saving tunable would benefit end user to match the required level of power savings vs performance trade-off depending on the system configuration and workloads. This version makes the sched_mc_power_savings global variable to take more values (0,1,2). Later versions can have a single tunable called sched_power_savings instead of sched_{mc,smt}_power_savings. Signed-off-by: Gautham R Shenoy Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 716707b29906e1d8d190defe3d646610b097a861 Author: Vaidyanathan Srinivasan Date: Thu Dec 18 23:26:02 2008 +0530 sched: convert BALANCE_FOR_xx_POWER to inline functions Impact: cleanup BALANCE_FOR_MC_POWER and similar macros defined in sched.h are not constants and have various condition checks and significant amount of code that is not suitable to be contain in a macro. Also there could be side effects on the expressions passed to some of them like test_sd_parent(). This patch converts all complex macros related to power savings balance to inline functions. Signed-off-by: Vaidyanathan Srinivasan Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b56863630ddbdea6e22df8835f78f0b1da037103 Author: Darren Hart Date: Thu Dec 18 15:06:34 2008 -0800 futex: clean up futex_(un)lock_pi fault handling Impact: cleanup Some apparently left over cruft code was complicating the fault logic: Testing if uval != -EFAULT doesn't have any meaning, get_user() sets ret to either 0 or -EFAULT, there's no need to compare uval, especially not against EFAULT which it will never be. This patch removes the superfluous test and clarifies the comment blocks. Build and boot tested on an 8way x86_64 system. Signed-off-by: Darren Hart Signed-off-by: Ingo Molnar commit 345077cd98ff5532b2d1158013c3fec7b1ae85ec Author: Suresh Siddha Date: Thu Dec 18 18:09:21 2008 -0800 x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies Impact: fix wrong cache sharing detection on platforms supporting > 8 bit apicid's In the presence of extended topology eumeration leaf 0xb provided by cpuid, 32bit extended initial_apicid in cpuinfo_x86 struct will be updated by detect_extended_topology(). At this instance, we should also reinit the apicid (which could also potentially be extended to 32bit). With out this there will potentially be duplicate apicid's populated in the per cpu's cpuinfo_x86 struct, resulting in wrong cache sharing topology etc detected by init_intel_cacheinfo(). Reported-by: Dimitri Sivanich Signed-off-by: Suresh Siddha Acked-by: Dimitri Sivanich Signed-off-by: Ingo Molnar Cc: commit cae51176c1082ecb59706056910f8a217d433981 Author: Takashi Iwai Date: Fri Dec 19 08:36:53 2008 +0100 ALSA: split HD-audio model list to HD-Audio-Models.txt Split the list of model option values to a separate file, HD-Audio-Models.txt, from ALSA-Configuration.txt. Signed-off-by: Takashi Iwai commit 335b986be79122b7323e09727e14c6a02bcf7746 Merge: 0ff5551... 132bb7c... Author: Takashi Iwai Date: Fri Dec 19 08:25:46 2008 +0100 Merge branch 'topic/hda-doc' into topic/hda commit 0ff555192a8d20385d49d1c420e2e8d409b3c0da Merge: 3218c17... 9e43f0d... Author: Takashi Iwai Date: Fri Dec 19 08:22:57 2008 +0100 Merge branch 'fix/hda' into topic/hda commit d62720ade82c5e5b8f9585e5ed02c89573ebf111 Author: Mike Travis Date: Wed Dec 17 14:14:30 2008 -0800 sysfs: add documentation to cputopology.txt for system cpumasks Add information to cputopology.txt explaining the output of various system cpumask's. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Acked-by: Greg Kroah-Hartman commit e057d7aea9d8f2a46cd440d8bfb72245d4e72d79 Author: Mike Travis Date: Mon Dec 15 20:26:48 2008 -0800 cpumask: add sysfs displays for configured and disabled cpu maps Impact: add new sysfs files. Add sysfs files "kernel_max" and "offline" to display the max CPU index allowed (NR_CPUS-1), and the map of cpus that are offline. Cpus can be offlined via HOTPLUG, disabled by the BIOS ACPI tables, or if they exceed the number of cpus allowed by the NR_CPUS config option, or the "maxcpus=NUM" kernel start parameter. The "possible_cpus=NUM" parameter can also extend the number of possible cpus allowed, in which case the cpus not present at startup will be in the offline state. (These cpus can be HOTPLUGGED ON after system startup [pending a follow-on patch to provide the capability via the /sys/devices/sys/cpu/cpuN/online mechanism to bring them online.]) By design, the "offlined cpus > possible cpus" display will always use the following formats: * all possible cpus online: "x$" or "x-y$" * some possible cpus offline: ".*,x$" or ".*,x-y$" where: x == number of possible cpus (nr_cpu_ids); and y == number of cpus >= NR_CPUS or maxcpus (if y > x). One use of this feature is for distros to select (or configure) the appropriate kernel to install for the resident system. Notes: * cpus offlined <= possible cpus will be printed for all architectures. * cpus offlined > possible cpus will only be printed for arches that set 'total_cpus' [X86 only in this patch]. Based on tip/cpus4096 + .../rusty/linux-2.6-for-ingo.git/master + x86-only-patches sent 12/15. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell commit c94cb314503a69492bf4455dce4f6d300cff0851 Author: Oliver Neukum Date: Thu Dec 18 23:00:59 2008 -0800 net: prepare usb net drivers for addition of status as a parameter USB is going to switch the signature of the callbacks to void callback(struct urb *urb, int status) This patch will ease the transition. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit ab5024ab23b78c86a0a1425defcdde48710fe449 Author: Cyrill Gorcunov Date: Thu Dec 18 22:59:32 2008 -0800 net: ppp_generic - use DEFINE_IDR for static initialization We could use DEFINE_IDR for statically allocated idr that allow us to save a few lines of code. And spell fix. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit a109a5b916bc180e14fad0d1e9c37a08c85652c0 Author: Karen Xie Date: Thu Dec 18 22:56:20 2008 -0800 cxgb3: manage private iSCSI IP address The accelerated iSCSI traffic could use a private IP address unknown to the OS: - The IP address is required in both drivers to manage ARP requests and connection set up. - Added an control call to retrieve the ip address. - Reply to ARP requests dedicated to the private IP address. Signed-off-by: Divy Le Ray Signed-off-by: Karen Xie Signed-off-by: David S. Miller commit 221b3d60cbb2740ec7d46a4f1ea6d3318a112e51 Author: Anton Vorontsov Date: Thu Dec 18 08:23:35 2008 +0000 ucc_geth: Remove UGETH_FILTERING dead code The code appears to be dead: nobody call these functions, plus build breaks when UGETH_FILTERING is enabled: ucc_geth.c:1848: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c:1848: warning: its scope is only this definition or declaration, which is probably not what you want ucc_geth.c: In function 'ugeth_82xx_filtering_get_match_addr_in_hash': ucc_geth.c:1856: error: dereferencing pointer to incomplete type ucc_geth.c:1874: error: dereferencing pointer to incomplete type ucc_geth.c:1877: warning: return from incompatible pointer type ucc_geth.c: At top level: ucc_geth.c:1885: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c: In function 'ugeth_82xx_filtering_add_addr_in_hash': ucc_geth.c:1894: error: dereferencing pointer to incomplete type ucc_geth.c:1909: warning: passing argument 2 of 'ugeth_82xx_filtering_get_match_addr_in_hash' from incompatible pointer type ucc_geth.c:1909: warning: assignment from incompatible pointer type ucc_geth.c:1918: error: dereferencing pointer to incomplete type ucc_geth.c: At top level: ucc_geth.c:1928: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c: In function 'ugeth_82xx_filtering_clear_addr_in_hash': ucc_geth.c:1947: warning: passing argument 2 of 'ugeth_82xx_filtering_get_match_addr_in_hash' from incompatible pointer type ucc_geth.c:1947: warning: assignment from incompatible pointer type ucc_geth.c:1954: error: dereferencing pointer to incomplete type ucc_geth.c: At top level: ucc_geth.c:2060: warning: 'struct enet_addr' declared inside parameter list ucc_geth.c: In function 'ugeth_82xx_filtering_add_addr_in_paddr': ucc_geth.c:2064: error: dereferencing pointer to incomplete type ucc_geth.c:2073: error: dereferencing pointer to incomplete type ucc_geth.c:2075: warning: passing argument 2 of 'hw_add_addr_in_paddr' from incompatible pointer type make[2]: *** [ucc_geth.o] Error 1 The code is there since the driver was merged, and nobody seem to be interested in fixing or actually using it. If we ever want the filtering support, we can always revert the patch and fix it, but so far it just draws reader's attention. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 3e73fc9a12679a546284d597c1f19165792d0b83 Author: Anton Vorontsov Date: Thu Dec 18 08:23:33 2008 +0000 ucc_geth: Fix IO memory (un)mapping code The driver doesn't check ioremap() return value, and doesn't free the remapped memory. This patch fixes it. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ba574696a34eb518979e742b35ccd30dec284583 Author: Anton Vorontsov Date: Thu Dec 18 08:23:31 2008 +0000 ucc_geth: Cleanup repetitive ucc_geth_memclean() calls No need to call ucc_geth_memclean() so many times, just check for errors in ucc_geth_open(), and call ucc_geth_stop() in case of errors. The ucc_geth_stop() may be called anytime and will do the right thing. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 67c2fb8ff0eda3cee95954a1dd245c3ce1a10486 Author: Anton Vorontsov Date: Thu Dec 18 08:23:29 2008 +0000 ucc_geth: Fix IRQ freeing code in ucc_geth_open() open() routine calls stop() in case of errors, the function will try to free the requested IRQ. But we don't know if it was actually requested, so the code might issue bogus free_irq(0, dev) call. Fix this by rearranging the code so that now request_irq() is the last call in the open() routine, and move free_irq() into the close(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 1762a29ae5ebdd974eb2ba0c36b56ab6f7a9c16d Author: Anton Vorontsov Date: Thu Dec 18 08:23:26 2008 +0000 ucc_geth: Fix TX watchdog timeout handling The timeout handling code is currently broken in several ways: - It calls stop() (which frees all the memory and IRQ), and then calls startup() (which won't re-request IRQ, neither it will re-init the Fast UCC structure). - It calls these routines from the softirq context, which is wrong, since stop() calls free_irq() (which might sleep) and startup() allocates things with GFP_KERNEL. - It won't soft-reset the PHY. We need the PHY reset for at least MPC8360E-MDS boards with Marvell 88E1111 PHY, the PHY won't recover from timeouts w/o the reset. So the patch fixes these problems by implementing the workqueue for the timeout handling, and there we fully re-open the device via close() and open() calls. The close/open paths do the right things, and I can see that the driver actually survive the timeouts. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit b3431c647662a3647f3500a12ec85d65e3622759 Author: Anton Vorontsov Date: Thu Dec 18 08:23:22 2008 +0000 ucc_geth: Fix endless loop in stop_{tx,rx} routines Currently the routines wait for the various bits w/o an assumption that bits may never get set. When timeouts happen I see that these bits never get set and so the routines hang the kernel. With this patch we'll wait the graceful stop for 100 ms, and then will simply exit. There is nothing* we can do about that, but it's OK since we'll do full reset later. * Well, actually, there is also not-graceful variant for the TX stop, but specs says that we never should use it. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 6086ebca13ddc9cfaaa25248ba8ebef35103fb74 Author: Matt Mackall Date: Thu Dec 18 19:54:22 2008 -0800 tcp: Stop scaring users with "treason uncloaked!" The original message was unhelpful and extremely alarming to our poor users, despite its charm. Make it less frightening. Signed-off-by: Matt Mackall Signed-off-by: David S. Miller commit e98def1f71fa0a6a37e12a56eb52ce5ed9e2e800 Author: Jesper Dangaard Brouer Date: Thu Dec 18 19:51:56 2008 -0800 NIU: Implement discard counters, optimize Optimize the lightly loaded case, by only synchronizing discards stats when qlen > 10 indicate potential for drops. Notice Robert Olsson might disagree with this patch. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit d231776fda4a1ed754298720c5fbc29eb34f130c Author: Jesper Dangaard Brouer Date: Thu Dec 18 19:51:26 2008 -0800 NIU: Implement discard counters, info/debug statements. Discard packet counter debug statements that can be turned on at runtime by users to assist debugging of the driver code. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit b8a606b871d37e03b92be1bd3deedeee97ea4f13 Author: Jesper Dangaard Brouer Date: Thu Dec 18 19:50:49 2008 -0800 NIU: Implement discard counters Implementing discard counters for the NIU driver turned out to be more complicated than first assumed. The discard counters for the NIU neptune chip are only 16-bit (even though this is a 64-bit chip). These 16-bit counters can overflow quickly, especially considering this is a 10Gbit/s ethernet card. The overflow indication bit is, unfortunatly, not usable as the counter value does not wrap, but remains at max value 0xFFFF. Resulting in lost counts until the counter is reset. The read and reset scheme also poses a problem. Both in theory and in practice counters can be lost in between reading nr64() and clearing the counter nw64(). For this reason, the number of counter clearings nw64() is limited/reduced. On the fast-path the counters are only syncronized once it exceeds 0x7FFF. When read by userspace, its syncronized fully. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 5664dd5561850df580414783cf3c8e0aa834c62e Author: Baruch Siach Date: Thu Dec 18 19:39:14 2008 -0800 enc28j60: reduce the number of spi transfers in enc28j60_set_bank() A major source of overhead in the enc28j60 driver is the SPI transfers. Each SPI transfer entails two kernel thread context switches. One major source of SPI transfers is the enc28j60_set_bank() functions which runs before every register access. This patch reduces the number of SPI transfers that enc28j60_set_bank() performs in two ways: 1. removes unnecessary bank switch for the registers that are present in all banks 2. when switching from banks 0 or 3 to banks 1 or 2 (i.e. only one bit changes) enc28j60_set_bank() does only one SPI transfer instead of two According to my tests these changes reduce the number of SPI transfers in about 25%. Signed-off-by: Baruch Siach Signed-off-by: David S. Miller commit b88a2a22c6670c31586d1a716255eae4c320b363 Author: Wang Chen Date: Thu Dec 18 19:36:46 2008 -0800 netdevice zd1201: Use after free | commit 3d29b0c33d431ecc69ec778f8c236d382f59a85f | Author: John W. Linville | Date: Fri Oct 31 14:13:12 2008 -0400 | | netdevice zd1201: Convert directly reference of netdev->priv to netdev_priv() | | We have some reasons to kill netdev->priv: | 1. netdev->priv is equal to netdev_priv(). | 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously | netdev_priv() is more flexible than netdev->priv. | But we cann't kill netdev->priv, because so many drivers reference to it | directly. | | OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", | and I want to kill netdev->priv later, I decided to convert all the direct | reference of netdev->priv first. | | (Original patch posted by Wang Chen w/ above | changelog but using dev->ml_priv. That doesn't seem appropriate | to me for this driver, so I've revamped it to use netdev_priv() | instead. -- JWL) This commit changed the allocation of netdev, but didn't change the free method of it. This causes "zd" be used after the memory, which is pointed by "zd", being freed by free_netdev(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 3de77cf23e9a19b9fc28e3b29371308325428c39 Author: David S. Miller Date: Thu Dec 18 19:23:56 2008 -0800 Revert "xfrm: Accept ESP packets regardless of UDP encapsulation mode" This reverts commit e061b165c7f4ec5e2e160d990b49011b5b6e5c6a. Signed-off-by: David S. Miller commit ec26b805879c7e77865b39ee91b737985e80006d Author: Mike Travis Date: Fri Dec 19 16:56:52 2008 +1030 cpumask: documentation for cpumask_var_t Impact: New kerneldoc comments Additional documentation added to all the alloc_cpumask and free_cpumask functions. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell (minor additions) commit 7b4967c532045a1983d6d4af5c69cc7c5109f62b Author: Mike Travis Date: Fri Dec 19 16:56:37 2008 +1030 cpumask: Add alloc_cpumask_var_node() Impact: New API This will be needed in x86 code to allocate the domain and old_domain cpumasks on the same node as where the containing irq_cfg struct is allocated. (Also fixes double-dump_stack on rare CONFIG_DEBUG_PER_CPU_MAPS case) Signed-off-by: Mike Travis Signed-off-by: Rusty Russell (re-impl alloc_cpumask_var) commit 078a55db075bf4dcc03115dc94875b3dd83f69d4 Author: Yinghai Lu Date: Thu Dec 18 16:57:52 2008 -0800 sparseirq: add kernel-doc notation for new member in irq_desc, -v2 Signed-off-by: Yinghai Lu Acked-by: Randy Dunlap Signed-off-by: Ingo Molnar commit f34a10bd9f8cc95ebdc69a079db195636b2e22e0 Author: Ingo Molnar Date: Fri Dec 19 01:36:14 2008 +0100 x86: fix warning in arch/x86/kernel/microcode_amd.c this warning: arch/x86/kernel/microcode_amd.c: In function ‘apply_microcode_amd’: arch/x86/kernel/microcode_amd.c:163: warning: cast from pointer to integer of different size arch/x86/kernel/microcode_amd.c:163: warning: cast from pointer to integer of different size triggers because we want to pass the address to the microcode MSR, which is 64-bit even on 32-bit. Cast it explicitly to express this. Signed-off-by: Ingo Molnar commit c71dd42db2c6f1637b92502a214587431c1a6ad2 Author: Ingo Molnar Date: Fri Dec 19 01:09:51 2008 +0100 tracing: fix warnings in kernel/trace/trace_sched_switch.c these warnings: kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_register’: kernel/trace/trace_sched_switch.c:96: warning: passing argument 1 of ‘register_trace_sched_wakeup_new’ from incompatible pointer type kernel/trace/trace_sched_switch.c:112: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_unregister’: kernel/trace/trace_sched_switch.c:121: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type Trigger because sched_wakeup_new tracepoints need the same trace signature as sched_wakeup - which was changed recently. Fix it. Signed-off-by: Ingo Molnar commit 3bddb9a3246f6df5cf3b7655cb541ac10203bb71 Author: Ingo Molnar Date: Fri Dec 19 01:03:29 2008 +0100 tracing: fix warning in kernel/trace/trace.c this warning: kernel/trace/trace.c: In function ‘print_lat_fmt’: kernel/trace/trace.c:1826: warning: unused variable ‘state’ Triggers because 'state' has become unused - remove it. Signed-off-by: Ingo Molnar commit b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4 Author: Ingo Molnar Date: Fri Dec 19 00:48:27 2008 +0100 hrtimers: fix warning in kernel/hrtimer.c this warning: kernel/hrtimer.c: In function ‘hrtimer_cpu_notify’: kernel/hrtimer.c:1574: warning: unused variable ‘dcpu’ is caused because 'dcpu' is only used in the CONFIG_HOTPLUG_CPU case. Signed-off-by: Ingo Molnar commit 6fd7c7fe72a46dfd227fe8db0c7b6863af90a982 Author: Russell King Date: Thu Dec 18 23:29:15 2008 +0000 [ARM] s3c: define __io using the typesafe version as per 0560cf5aa51216b06874333a2fa26ca034d97bdb Signed-off-by: Russell King commit 9f221495997d180df51ce4d8296669445dd3e7b3 Author: Hiroshi Shimamoto Date: Thu Dec 18 14:47:37 2008 -0800 x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32 Impact: cleanup Remove struct sigfram32 and rt_sigframe32 because there is no user. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 8869a2e5d3a66d5b63b948052d60cd13ede8b735 Author: Hiroshi Shimamoto Date: Thu Dec 18 14:46:52 2008 -0800 x86: asm-offset_64: use rt_sigframe_ia32 Impact: cleanup Use rt_sigframe_ia32 instead of rt_sigframe32. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit b2fa739c06931d167b6d2aa7b514ab7f30d04dc0 Author: Hiroshi Shimamoto Date: Thu Dec 18 14:43:34 2008 -0800 x86: sigframe.h: include headers for dependency Impact: cleanup Include following headers for dependency. asm/sigcontext.h asm/siginfo.h asm/ucontext.h Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 0bd5292f5883d24b9416ba32a2a137482d7f380b Merge: fdb0a1a... a244909... Author: Russell King Date: Thu Dec 18 22:15:48 2008 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel commit fdb0a1a67e131f07a308730c80d07e330211d2e0 Merge: fc0b7a2... 7bb56d0... Author: Russell King Date: Thu Dec 18 22:15:30 2008 +0000 Merge branch 'next-merged' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 7bb56d01f111890414fbe35412698485b68ed468 Author: Ben Dooks Date: Thu Dec 18 22:06:42 2008 +0000 [ARM] S3C64XX: Ensure CPU_V6 is selected Select CPU_V6 with the S3C64XX series. Signed-off-by: Ben Dooks commit d1769d5475176124af04fa69848b022c98c4bc37 Author: Jaswinder Singh Date: Fri Dec 19 00:03:56 2008 +0530 x86: traps.c declare functions before they get used Impact: cleanup In asm/traps.h :- do_double_fault : added under X86_64 sync_regs : added under X86_64 math_error : moved out from X86_32 as it is common for both 32 and 64 bit math_emulate : moved from X86_32 as it is common for both 32 and 64 bit smp_thermal_interrupt : added under X86_64 mce_threshold_interrupt : added under X86_64 Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit a2ced6e173e0c93870f79856e97825f4e180891e Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:33 2008 -0800 x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3 Impact: Documentation only. Add documentation related to pgprot_* change. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 2520bd3123c00272f818a176c92d03c7d0a113d6 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:32 2008 -0800 x86: PAT: add pgprot_writecombine() interface for drivers - v3 Impact: New mm functionality. Add pgprot_writecombine. pgprot_writecombine will be aliased to pgprot_noncached when not supported by the architecture. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 8a7b12f70fb135a1b1d865687de3edcdc780f6d1 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:31 2008 -0800 x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3 Impact: mm behavior change. Make pgprot_noncached uc_minus instead of strong UC. This will make pgprot_noncached to be in line with ioremap_nocache() and all the other APIs that map page uc_minus on uc request. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 5899329b19100c0b82dc78e9b21ed8b920c9ffb3 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:30 2008 -0800 x86: PAT: implement track/untrack of pfnmap regions for x86 - v3 Impact: New mm functionality. Hookup remap_pfn_range and vm_insert_pfn and corresponding copy and free routines with reserve and free tracking. reserve and free here only takes care of non RAM region mapping. For RAM region, driver should use set_memory_[uc|wc|wb] to set the cache type and then setup the mapping for user pte. We can bypass below reserve/free in that case. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 2ab640379a0ab4cef746ced1d7e04a0941774bcb Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:29 2008 -0800 x86: PAT: hooks in generic vm code to help archs to track pfnmap regions - v3 Impact: Introduces new hooks, which are currently null. Introduce generic hooks in remap_pfn_range and vm_insert_pfn and corresponding copy and free routines with reserve and free tracking. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit e121e418441525b5636321fe03d16f0193ad218e Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:28 2008 -0800 x86: PAT: add follow_pfnmp_pte routine to help tracking pfnmap pages - v3 Impact: New currently unused interface. Add a generic interface to follow pfn in a pfnmap vma range. This is used by one of the subsequent x86 PAT related patch to keep track of memory types for vma regions across vma copy and free. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 3c8bb73ace6249bd089b70c941440441940e3365 Author: venkatesh.pallipadi@intel.com Date: Thu Dec 18 11:41:27 2008 -0800 x86: PAT: store vm_pgoff for all linear_over_vma_region mappings - v3 Impact: Code transformation, new functions added should have no effect. Drivers use mmap followed by pgprot_* and remap_pfn_range or vm_insert_pfn, in order to export reserved memory to userspace. Currently, such mappings are not tracked and hence not kept consistent with other mappings (/dev/mem, pci resource, ioremap) for the sme memory, that may exist in the system. The following patchset adds x86 PAT attribute tracking and untracking for pfnmap related APIs. First three patches in the patchset are changing the generic mm code to fit in this tracking. Last four patches are x86 specific to make things work with x86 PAT code. The patchset aso introduces pgprot_writecombine interface, which gives writecombine mapping when enabled, falling back to pgprot_noncached otherwise. This patch: While working on x86 PAT, we faced some hurdles with trackking remap_pfn_range() regions, as we do not have any information to say whether that PFNMAP mapping is linear for the entire vma range or it is smaller granularity regions within the vma. A simple solution to this is to use vm_pgoff as an indicator for linear mapping over the vma region. Currently, remap_pfn_range only sets vm_pgoff for COW mappings. Below patch changes the logic and sets the vm_pgoff irrespective of COW. This will still not be enough for the case where pfn is zero (vma region mapped to physical address zero). But, for all the other cases, we can look at pfnmap VMAs and say whether the mappng is for the entire vma region or not. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit fc0b7a20368193e1f7cf1376624eed419b9c33e6 Author: Ben Dooks Date: Thu Dec 18 12:26:54 2008 +0100 [ARM] 5349/1: VFP: Add PM code to save and restore current VFP state When CONFIG_PM is selected, the VFP code does not have any handler installed to deal with either saving the VFP state of the current task, nor does it do anything to try and restore the VFP after a resume. On resume, the VFP will have been reset and the co-processor access control registers are in an indeterminate state (very probably the CP10 and CP11 the VFP uses will have been disabled by the ARM core reset). When this happens, resume will break as soon as it tries to unfreeze the tasks and restart scheduling. Add a sys device to allow us to hook the suspend call to save the current thread state if the thread is using VFP and a resume hook which restores the CP10/CP11 access and ensures the VFP is disabled so that the lazy swapping will take place on next access. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit f0bc2202e0373eb8e9b1ddbec930e2e681357db8 Author: Jaswinder Singh Date: Wed Dec 17 23:20:05 2008 +0530 x86: process.c declare c1e_remove_cpu before they get used Impact: cleanup, avoid sparse warning Included asm/idle.h for c1e_remove_cpu() declaration. Fixes this sparse warning: CHECK arch/x86/kernel/process.c arch/x86/kernel/process.c:284:6: warning: symbol 'c1e_remove_cpu' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 5c2628e8b4f670d0954053444289e2b018be957a Author: Hiroshi Shimamoto Date: Thu Dec 18 09:18:35 2008 -0800 x86: sigframe.h: add guard macro Impact: cleanup Add missing guard macro _ASM_X86_SIGFRAME_H. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 64db4cfff99c04cd5f550357edcc8780f96b54a2 Author: Paul E. McKenney Date: Thu Dec 18 21:55:32 2008 +0100 "Tree RCU": scalable classic RCU implementation This patch fixes a long-standing performance bug in classic RCU that results in massive internal-to-RCU lock contention on systems with more than a few hundred CPUs. Although this patch creates a separate flavor of RCU for ease of review and patch maintenance, it is intended to replace classic RCU. This patch still handles stress better than does mainline, so I am still calling it ready for inclusion. This patch is against the -tip tree. Nevertheless, experience on an actual 1000+ CPU machine would still be most welcome. Most of the changes noted below were found while creating an rcutiny (which should permit ejecting the current rcuclassic) and while doing detailed line-by-line documentation. Updates from v9 (http://lkml.org/lkml/2008/12/2/334): o Fixes from remainder of line-by-line code walkthrough, including comment spelling, initialization, undesirable narrowing due to type conversion, removing redundant memory barriers, removing redundant local-variable initialization, and removing redundant local variables. I do not believe that any of these fixes address the CPU-hotplug issues that Andi Kleen was seeing, but please do give it a whirl in case the machine is smarter than I am. A writeup from the walkthrough may be found at the following URL, in case you are suffering from terminal insomnia or masochism: http://www.kernel.org/pub/linux/kernel/people/paulmck/tmp/rcutree-walkthrough.2008.12.16a.pdf o Made rcutree tracing use seq_file, as suggested some time ago by Lai Jiangshan. o Added a .csv variant of the rcudata debugfs trace file, to allow people having thousands of CPUs to drop the data into a spreadsheet. Tested with oocalc and gnumeric. Updated documentation to suit. Updates from v8 (http://lkml.org/lkml/2008/11/15/139): o Fix a theoretical race between grace-period initialization and force_quiescent_state() that could occur if more than three jiffies were required to carry out the grace-period initialization. Which it might, if you had enough CPUs. o Apply Ingo's printk-standardization patch. o Substitute local variables for repeated accesses to global variables. o Fix comment misspellings and redundant (but harmless) increments of ->n_rcu_pending (this latter after having explicitly added it). o Apply checkpatch fixes. Updates from v7 (http://lkml.org/lkml/2008/10/10/291): o Fixed a number of problems noted by Gautham Shenoy, including the cpu-stall-detection bug that he was having difficulty convincing me was real. ;-) o Changed cpu-stall detection to wait for ten seconds rather than three in order to reduce false positive, as suggested by Ingo Molnar. o Produced a design document (http://lwn.net/Articles/305782/). The act of writing this document uncovered a number of both theoretical and "here and now" bugs as noted below. o Fix dynticks_nesting accounting confusion, simplify WARN_ON() condition, fix kerneldoc comments, and add memory barriers in dynticks interface functions. o Add more data to tracing. o Remove unused "rcu_barrier" field from rcu_data structure. o Count calls to rcu_pending() from scheduling-clock interrupt to use as a surrogate timebase should jiffies stop counting. o Fix a theoretical race between force_quiescent_state() and grace-period initialization. Yes, initialization does have to go on for some jiffies for this race to occur, but given enough CPUs... Updates from v6 (http://lkml.org/lkml/2008/9/23/448): o Fix a number of checkpatch.pl complaints. o Apply review comments from Ingo Molnar and Lai Jiangshan on the stall-detection code. o Fix several bugs in !CONFIG_SMP builds. o Fix a misspelled config-parameter name so that RCU now announces at boot time if stall detection is configured. o Run tests on numerous combinations of configurations parameters, which after the fixes above, now build and run correctly. Updates from v5 (http://lkml.org/lkml/2008/9/15/92, bad subject line): o Fix a compiler error in the !CONFIG_FANOUT_EXACT case (blew a changeset some time ago, and finally got around to retesting this option). o Fix some tracing bugs in rcupreempt that caused incorrect totals to be printed. o I now test with a more brutal random-selection online/offline script (attached). Probably more brutal than it needs to be on the people reading it as well, but so it goes. o A number of optimizations and usability improvements: o Make rcu_pending() ignore the grace-period timeout when there is no grace period in progress. o Make force_quiescent_state() avoid going for a global lock in the case where there is no grace period in progress. o Rearrange struct fields to improve struct layout. o Make call_rcu() initiate a grace period if RCU was idle, rather than waiting for the next scheduling clock interrupt. o Invoke rcu_irq_enter() and rcu_irq_exit() only when idle, as suggested by Andi Kleen. I still don't completely trust this change, and might back it out. o Make CONFIG_RCU_TRACE be the single config variable manipulated for all forms of RCU, instead of the prior confusion. o Document tracing files and formats for both rcupreempt and rcutree. Updates from v4 for those missing v5 given its bad subject line: o Separated dynticks interface so that NMIs and irqs call separate functions, greatly simplifying it. In particular, this code no longer requires a proof of correctness. ;-) o Separated dynticks state out into its own per-CPU structure, avoiding the duplicated accounting. o The case where a dynticks-idle CPU runs an irq handler that invokes call_rcu() is now correctly handled, forcing that CPU out of dynticks-idle mode. o Review comments have been applied (thank you all!!!). For but one example, fixed the dynticks-ordering issue that Manfred pointed out, saving me much debugging. ;-) o Adjusted rcuclassic and rcupreempt to handle dynticks changes. Attached is an updated patch to Classic RCU that applies a hierarchy, greatly reducing the contention on the top-level lock for large machines. This passes 10-hour concurrent rcutorture and online-offline testing on 128-CPU ppc64 without dynticks enabled, and exposes some timekeeping bugs in presence of dynticks (exciting working on a system where "sleep 1" hangs until interrupted...), which were fixed in the 2.6.27 kernel. It is getting more reliable than mainline by some measures, so the next version will be against -tip for inclusion. See also Manfred Spraul's recent patches (or his earlier work from 2004 at http://marc.info/?l=linux-kernel&m=108546384711797&w=2). We will converge onto a common patch in the fullness of time, but are currently exploring different regions of the design space. That said, I have already gratefully stolen quite a few of Manfred's ideas. This patch provides CONFIG_RCU_FANOUT, which controls the bushiness of the RCU hierarchy. Defaults to 32 on 32-bit machines and 64 on 64-bit machines. If CONFIG_NR_CPUS is less than CONFIG_RCU_FANOUT, there is no hierarchy. By default, the RCU initialization code will adjust CONFIG_RCU_FANOUT to balance the hierarchy, so strongly NUMA architectures may choose to set CONFIG_RCU_FANOUT_EXACT to disable this balancing, allowing the hierarchy to be exactly aligned to the underlying hardware. Up to two levels of hierarchy are permitted (in addition to the root node), allowing up to 16,384 CPUs on 32-bit systems and up to 262,144 CPUs on 64-bit systems. I just know that I am going to regret saying this, but this seems more than sufficient for the foreseeable future. (Some architectures might wish to set CONFIG_RCU_FANOUT=4, which would limit such architectures to 64 CPUs. If this becomes a real problem, additional levels can be added, but I doubt that it will make a significant difference on real hardware.) In the common case, a given CPU will manipulate its private rcu_data structure and the rcu_node structure that it shares with its immediate neighbors. This can reduce both lock and memory contention by multiple orders of magnitude, which should eliminate the need for the strange manipulations that are reported to be required when running Linux on very large systems. Some shortcomings: o More bugs will probably surface as a result of an ongoing line-by-line code inspection. Patches will be provided as required. o There are probably hangs, rcutorture failures, &c. Seems quite stable on a 128-CPU machine, but that is kind of small compared to 4096 CPUs. However, seems to do better than mainline. Patches will be provided as required. o The memory footprint of this version is several KB larger than rcuclassic. A separate UP-only rcutiny patch will be provided, which will reduce the memory footprint significantly, even compared to the old rcuclassic. One such patch passes light testing, and has a memory footprint smaller even than rcuclassic. Initial reaction from various embedded guys was "it is not worth it", so am putting it aside. Credits: o Manfred Spraul for ideas, review comments, and bugs spotted, as well as some good friendly competition. ;-) o Josh Triplett, Ingo Molnar, Peter Zijlstra, Mathieu Desnoyers, Lai Jiangshan, Andi Kleen, Andy Whitcroft, and Andrew Morton for reviews and comments. o Thomas Gleixner for much-needed help with some timer issues (see patches below). o Jon M. Tollefson, Tim Pepper, Andrew Theurer, Jose R. Santos, Andy Whitcroft, Darrick Wong, Nishanth Aravamudan, Anton Blanchard, Dave Kleikamp, and Nathan Lynch for keeping machines alive despite my heavy abuse^Wtesting. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit d110ec3a1e1f522e2e9dfceb9c36d6590c26d2d4 Merge: 343e909... 55dac3a... Author: Ingo Molnar Date: Thu Dec 18 21:54:49 2008 +0100 Merge branch 'linus' into core/rcu commit f269b07e862c395d6981ab2c05d6bc34b0249e90 Author: Vegard Nossum Date: Thu Dec 18 18:35:06 2008 +0100 x86: revert CONFIG_RELOCATABLE=y defconfig change This commit: commit 5cb04df8d3f03e37a19f2502591a84156be71772 Author: Ingo Molnar Date: Sun May 4 19:49:04 2008 +0200 x86: defconfig updates changed CONFIG_RELOCATABLE from n to y, which may lead to a mismatch between the vmlinux debug information and the runtime location of the kernel, even when the bootloader does not relocate the kernel. Revert the specific change. Works for me with GRUB and qemu. Reference: http://lkml.org/lkml/2008/11/25/243 Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit 179efcb47d5a5dd34a45be3f0eca4bffa717c6b4 Author: Vegard Nossum Date: Tue Dec 16 12:33:43 2008 +0100 kbuild: add headerdep used to detect inclusion cycles in header files Signed-off-by: Vegard Nossum Signed-off-by: Sam Ravnborg commit 40aa4a30d0fd075fb934de4ee8163056827052ab Author: Mark Brown Date: Tue Dec 16 10:15:12 2008 +0000 ASoC: Add WM8350 AudioPlus codec driver The WM8350 is an integrated audio and power management subsystem which provides a single-chip solution for portable audio and multimedia systems. The integrated audio CODEC provides all the necessary functions for high-quality stereo recording and playback. Programmable on-chip amplifiers allow for the direct connection of headphones and microphones with a minimum of external components. A programmable low-noise bias voltage is available to feed one or more electret microphones. Additional audio features include programmable high-pass filter in the ADC input path. This driver was originally written by Liam Girdwood with further updates from me. Signed-off-by: Mark Brown commit b8b33cb5608a3bb1b072548dc89159ef614096ab Author: Mark Brown Date: Thu Dec 18 11:19:30 2008 +0000 ASoC: Complain if we fail to create DAPM controls This should never happen and it's helpful to identify the specific control that failed when it does happen. Signed-off-by: Mark Brown commit 0b34a3d03e2fa615a786027b1ef4cbbd8c807f2c Author: Mark Brown Date: Tue Dec 16 14:44:48 2008 +0000 ASoC: Ease merge difficulties from new architectures Rather than listing lots of architectures per line in Kconfig and Makefile, causing merge conflicts all the time, have one per line in alphabetical order. Signed-off-by: Mark Brown commit 6a148eaa20e660064261864e6a54742247ace9fe Author: Ben Dooks Date: Sun Dec 14 22:33:02 2008 +0000 [ARM] S3C: Remove unnecessary includes As per Russell King's last review comment, find and remove all unnecessary includes of in the files that do not need them. Signed-off-by: Ben Dooks commit 549d0460bcbbf69791149725027b0036e6dc4d88 Author: Ben Dooks Date: Sun Dec 14 22:50:26 2008 +0000 [ARM] S3C24A0: Remove duplicate file The commit 39263db7986bf15c753f6847699107bdf5a2e318 added a default implementation which is shared if needed between all the s3c implementations. Remove the s3c24a0 version which is the same as this. Signed-off-by: Ben Dooks commit 7de40c216c15c02c453f17b6c9ecee83f93790f1 Author: Ben Dooks Date: Sun Dec 14 23:11:02 2008 +0000 [ARM] S3C: Remove cpufreq warnings for unset serial information As noted by Russell King, do not print any warnings if the uinfo or tty fields are not set when a CPU frequency change is sent. Signed-off-by: Ben Dooks commit 5bdf67312e1ddc03cb29dad9bfe5b24988ee1c97 Author: Ben Dooks Date: Sun Dec 14 23:14:07 2008 +0000 [ARM] S3C64XX: Remove __virt_to_bus/__bus_to_virt macros The changes for ARM highmem support have removed the need for the __virt_to_bus and __bus_to_virt macros, so remove them from this build. Signed-off-by: Ben Dooks commit dbf35992e17334f9ae8b2ea35e795d0c264e57ef Author: Ben Dooks Date: Tue Nov 4 15:29:09 2008 +0000 [ARM] S3C24XX: Add fourth UART definition for S3C2443 Add the fourth UART definition for the S3C2443, and at the same time fixup the problems caused by the enlarging of the UART array in the previous commits. Signed-off-by: Ben Dooks commit bdd4915a9f05ef6b41b51910b199f2668f20d2ef Author: Ben Dooks Date: Mon Nov 3 19:51:42 2008 +0000 [ARM] S3C: Update CONFIG_SERIAL_SAMSUNG_UARTS handling Fix the usage of CONFIG_SERIAL_SAMSUNG_UARTS in several places in the kernel where it had been missed. This finishes fixing a long standing issue where S3C2443 and S3C64XX could not use the 4th UART Signed-off-by: Ben Dooks commit 03d5e77bb6538d3f253e04ddf0dda9b848552589 Author: Ben Dooks Date: Mon Nov 3 09:21:23 2008 +0000 [ARM] S3C: Update number of serial ports Update the serial driver to handle the 4 ports of the S3C2443 and S364XX series. Signed-off-by: Ben Dooks commit 56c035c9ce1f1850969778af6a4cc0b99089b6c8 Merge: 7f27543... 438a5d4... Author: Ben Dooks Date: Thu Dec 18 16:17:37 2008 +0000 Merge branch 'next-s3c64xx-device' into next-merged Conflicts: arch/arm/mach-s3c2440/mach-at2440evb.c commit a2449091522990e9746a3f1420b9041d9669590c Author: Sascha Hauer Date: Thu Dec 18 11:51:57 2008 +0100 [ARM] MXC: do not include mach/hardware.h from mach/memory.h Instead of including other header files, define PHYS_OFFSET directly Signed-off-by: Sascha Hauer commit 44421e42587125acf70771436bcd6af06e1261a3 Author: Sascha Hauer Date: Thu Dec 18 11:24:03 2008 +0100 [ARM] MXC: do not include mach/hardware.h from mach/timex.h Instead of including other header files, define CLOCK_TICK_RATE directly Signed-off-by: Sascha Hauer commit 9d631b835f518848b7f3ce803bfd00dc1bb8a5b1 Author: Sascha Hauer Date: Thu Dec 18 11:08:55 2008 +0100 [ARM] MXC: remove dependency to other include files from irqs.h This patch removes the inclusion of mach/hardware.h from mach/irqs.h and switches to more meaningful names for the irq related macros. Signed-off-by: Sascha Hauer commit 7c99502383713f1a59c35fbe14db8364e4052286 Author: Sascha Hauer Date: Thu Dec 18 10:01:49 2008 +0100 [ARM] MX1/MX2 DMA: add missing local_irq_restore() This patch adds a missing call to local_irq_restore() and fixes some compiler warnings about unused variables for MX1. Signed-off-by: Sascha Hauer commit 7f2754378f3522a42daafdbb9d2385f341008454 Merge: c6ad115... a9c5d23... Author: Ben Dooks Date: Thu Dec 18 14:52:04 2008 +0000 Merge branch 'next-s3c64xx' into next-merged commit c6ad115876763e4f15055982ecb9579cb7abab5f Merge: 1d19fdb... 28ab44c5b... Author: Ben Dooks Date: Thu Dec 18 14:52:00 2008 +0000 Merge branch 'next-s3c24xx' into next-merged commit 1d19fdba149f4db055902c30b27adfb7d1ead058 Author: Ben Dooks Date: Mon Nov 10 10:59:29 2008 +0000 [ARM] AT2440EVB: LCD frame buffer support. Add LCD frame buffer support for AT2440EVB board. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 4a045cb306a349250cf50fc8ef1dddea0e8f395a Author: Ben Dooks Date: Mon Nov 10 10:59:28 2008 +0000 [ARM] S3C24XX: AT2440EVB MMC Add SD/MMC support for AT2440EVB board. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 6290ce30583017bf7916471f15ff4084137e5ce4 Author: Ben Dooks Date: Mon Nov 10 10:59:31 2008 +0000 [ARM] ANUBIS: Add SM501 GPIO and update I2C setup Add GPIO support to the SM501 on the Simtec Anubis, and then add the necessary updates for allowing the two gpio I2C busses to be used. Signed-off-by: Ben Dooks commit e2178d437460dafaaae89926088523432eb4de53 Author: Ben Dooks Date: Mon Nov 10 10:59:32 2008 +0000 [ARM] S3C24XX: Add extra GPIOs via Kconfig Add Kconfig entries to allow more GPIO space to be specified depending on the machine(s) selected. Signed-off-by: Ben Dooks commit 8783b3446ba33a1cdd43f7eaa4ad6a1b73502a1a Author: Ben Dooks Date: Mon Nov 10 10:59:33 2008 +0000 [ARM] JIVE: fix spi gpio implementation Fix the name of the driver, as well as the fact we are not passing the number of chipselects to the driver. Signed-off-by: Ben Dooks commit 28ab44c5be60a9b91021a7cc7b4e202775c04764 Author: Ben Dooks Date: Thu Dec 18 14:20:04 2008 +0000 [ARM] S3C24XX: ADC driver core A common core driver for the S3C24XX ADC block so that the touchscreen, hwmon and any other drivers can share the resource. Signed-off-by: Ben Dooks commit 74c8a6130486bed224e960790f4aa72dd09c061e Author: KOSAKI Motohiro Date: Wed Dec 17 19:40:33 2008 +0900 locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP Impact: simplify code commit "08678b0: generic: sparse irqs: use irq_desc() [...]" introduced the irq_desc_lock_class variable. But it is used only if CONFIG_SPARSE_IRQ=Y or CONFIG_TRACE_IRQFLAGS=Y. Otherwise, following warnings happen: CC kernel/irq/handle.o kernel/irq/handle.c:26: warning: 'irq_desc_lock_class' defined but not used Actually, current early_init_irq_lock_class has a bit strange and messy ifdef. In addition, it is not valueable. 1. this function is protected by !CONFIG_SPARSE_IRQ, but that is not necessary. if CONFIG_SPARSE_IRQ=Y, desc of all irq number are initialized by NULL at first - then this function calling is safe. 2. this function protected by CONFIG_TRACE_IRQFLAGS too. but it is not necessary either, because lockdep_set_class() doesn't have bad side effect even if CONFIG_TRACE_IRQFLAGS=n. This patch bloat kernel size a bit on CONFIG_TRACE_IRQFLAGS=n and CONFIG_SPARSE_IRQ=Y - but that's ok. early_init_irq_lock_class() is not a fastpatch at all. To avoid messy ifdefs is more important than a few bytes diet. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 9c2c48020ec0dd6ecd27e5a1298f73b40d85a595 Author: Ken Chen Date: Tue Dec 16 23:41:22 2008 -0800 schedstat: consolidate per-task cpu runtime stats Impact: simplify code When we turn on CONFIG_SCHEDSTATS, per-task cpu runtime is accumulated twice. Once in task->se.sum_exec_runtime and once in sched_info.cpu_time. These two stats are exactly the same. Given that task->se.sum_exec_runtime is always accumulated by the core scheduler, sched_info can reuse that data instead of duplicate the accounting. Signed-off-by: Ken Chen Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6d102bc68f3dd2ae0e305b09170b1751aa67baeb Author: Lai Jiangshan Date: Wed Dec 17 17:48:23 2008 +0800 tracing/ring-buffer: remove unused ring_buffer size Impact: remove dead code struct ring_buffer.size is not set after ring_buffer is initialized or resized. it is always 0. we can use "buffer->pages * PAGE_SIZE" to get ring_buffer's size Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 7c9c160c54fc545efc23881344593868e5f717bd Author: Jaswinder Singh Date: Wed Dec 17 23:18:52 2008 +0530 x86: tls.c declare sys_set_thread_area and sys_get_thread_area before they get used Impact: cleanup In asm/syscalls.h move out sys_set_thread_area() and sys_get_thread_area() as they are common for both 32 and 64 bit. Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 57a37505d19f4dfeee26f0fd7ea38ed6f1d10cbe Author: Jaswinder Singh Date: Wed Dec 17 23:17:21 2008 +0530 x86: time_64.c timer_interrupt() should be static Impact: cleanup, reduce kernel size a bit Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 3d9101e92529e1ff6014f95a69afc82f37b9b13a Author: Thomas Gleixner Date: Wed Dec 17 22:34:13 2008 +0100 trace: fix task state printout Impact: fix occasionally incorrect trace output The tracing code has interesting varieties of printing out task state. Unfortunalely only one of the instances is correct as it copies the code from sched.c:sched_show_task(). The others are plain wrong as they treatthe bitfield as an integer offset into the character array. Also the size check of the character array is wrong as it includes the trailing \0. Use a common state decoder inline which does the Right Thing. Signed-off-by: Thomas Gleixner Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ea3a6d6d60b2504c573fe3415f6617e8310c0236 Author: Steven Rostedt Date: Wed Dec 17 15:05:36 2008 -0500 ftrace: add not to regex on filtering functions Impact: enhancement Ingo Molnar has asked about a way to remove items from the filter lists. Currently, you can only add or replace items. The way items are added to the list is through opening one of the list files (set_ftrace_filter or set_ftrace_notrace) via append. If the file is opened for truncate, the list is cleared. echo spin_lock > /debug/tracing/set_ftrace_filter The above will replace the list with only spin_lock echo spin_lock >> /debug/tracing/set_ftrace_filter The above will add spin_lock to the list. Now this patch adds: echo '!spin_lock' >> /debug/tracing/set_ftrace_filter This will remove spin_lock from the list. The limited glob features of these lists also can be notted. echo '!spin_*' >> /debug/tracing/set_ftrace_filter This will remove all functions that start with 'spin_' Note: echo '!spin_*' > /debug/tracing/set_ftrace_filter will simply clear out the list (notice the '>' instead of '>>') Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e05a43b744fb9518cbf8539a7ef33164ac60a70f Author: Steven Rostedt Date: Wed Dec 17 09:43:00 2008 -0500 trace: better use of stack_trace_enabled for boot up code Impact: clean up Andrew Morton suggested to use the stack_tracer_enabled variable to decide whether or not to start stack tracing on bootup. This lets us remove the start_stack_trace variable. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f38f1d2aa5a3520cf05da7cd6bd12fe2b0c509b7 Author: Steven Rostedt Date: Tue Dec 16 23:06:40 2008 -0500 trace: add a way to enable or disable the stack tracer Impact: enhancement to stack tracer The stack tracer currently is either on when configured in or off when it is not. It can not be disabled when it is configured on. (besides disabling the function tracer that it uses) This patch adds a way to enable or disable the stack tracer at run time. It defaults off on bootup, but a kernel parameter 'stacktrace' has been added to enable it on bootup. A new sysctl has been added "kernel.stack_tracer_enabled" to let the user enable or disable the stack tracer at run time. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 40874491f9e9a4cb08eaf663dbe018bf5671975a Merge: d680fe4... d072c25... Author: Ingo Molnar Date: Thu Dec 18 12:51:05 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/hw-branch-tracing' into tracing/core commit 6f8a0ed4e5d86c01db5e7e3f95d9003b7cf9cb87 Author: Jeremy Fitzhardinge Date: Wed Dec 17 13:42:29 2008 -0800 sparseirq, xen: make sure irq_desc is allocated for interrupts Impact: fix crash Make sure all Xen irqs have an irq_desc. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b71edbe9a0adcf174833d371b000c5e97317fec5 Author: Sascha Hauer Date: Thu Dec 18 11:12:39 2008 +0100 [ARM] MX27ads: fix function name Signed-off-by: Sascha Hauer commit 1f04128a3db7c0f0e8b5d25323eba70ac342f47f Author: Takashi Iwai Date: Thu Dec 18 12:17:55 2008 +0100 ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule() Replace all tasklet_hi_schedule() callers with the normal tasklet_schedule(). The former often causes troubles with RT-kernels, and has actually no merit. Signed-off-by: Takashi Iwai commit 3b11ce7f542e415c90267b4482d4611410b468e6 Author: Mike Travis Date: Wed Dec 17 15:21:39 2008 -0800 x86: use possible_cpus=NUM to extend the possible cpus allowed Impact: add new boot parameter Use possible_cpus=NUM kernel parameter to extend the number of possible cpus. The ability to HOTPLUG ON cpus that are "possible" but not "present" is dealt with in a later patch. Signed-off-by: Mike Travis commit a775a38b1353161a6d7af86b667d6523c12c1a37 Author: Mike Travis Date: Wed Dec 17 15:21:39 2008 -0800 x86: fix cpu_mask_to_apicid_and to include cpu_online_mask Impact: fix potential APIC crash In determining the destination apicid, there are usually three cpumasks that are considered: the incoming cpumask arg, cfg->domain and the cpu_online_mask. Since we are just introducing the cpu_mask_to_apicid_and function, make sure it includes the cpu_online_mask in it's evaluation. [Added with this patch.] There are two io_apic.c functions that did not previously use the cpu_online_mask: setup_IO_APIC_irq and msi_compose_msg. Both of these simply used cpu_mask_to_apicid(cfg->domain & TARGET_CPUS), and all but one arch (NUMAQ[*]) returns only online cpus in the TARGET_CPUS mask, so the behavior is identical for all cases. [*: NUMAQ bug?] Note that alloc_cpumask_var is only used for the 32-bit cases where it's highly likely that the cpumask set size will be small and therefore CPUMASK_OFFSTACK=n. But if that's not the case, failing the allocate will cause the same return value as the default. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9a3d8f735eee90bb5b1351983e946bc637041c01 Merge: b9974dc... a98f8fd... Author: Ingo Molnar Date: Thu Dec 18 11:55:06 2008 +0100 Merge branch 'x86/apic' into cpus4096 This done for conflict prevention: we merge it into the cpus4096 tree because upcoming cpumask changes will touch apic.c that would collide with x86/apic otherwise. commit b9974dc6bddd41fbdc2583f196a34fbcebd8b089 Merge: d733e00... 55dac3a... Author: Ingo Molnar Date: Thu Dec 18 11:48:30 2008 +0100 Merge branch 'linus' into cpus4096 commit 73500ac545d24610eb2cf8579ffc88957e9c5847 Author: Darren Hart Date: Wed Dec 17 17:29:56 2008 -0800 futex: rename field in futex_q to clarify single waiter semantics Impact: simplify code I've tripped over the naming of this field a couple times. The futex_q uses a "waiters" list to represent a single blocked task and then calles wake_up_all(). This can lead to confusion in trying to understand the intent of the code, which is to have a single futex_q for every task waiting on a futex. This patch corrects the problem, using a single pointer to the waiting task, and an appropriate call to wake_up, rather than wake_up_all. Compile and boot tested on an 8way x86_64 machine. Signed-off-by: Darren Hart Acked-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d98f9d84422c393103dc7569dc8444bac628f7ac Author: Hiroshi Shimamoto Date: Wed Dec 17 18:52:45 2008 -0800 x86: ia32_signal: use sigframe.h Impact: cleanup Use arch/x86/include/asm/sigframe.h instead of defining redundant structures. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 3b0d29ee1c73b6b90bfddd10f7b8e86632b6b694 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:51:46 2008 -0800 x86: ia32_signal: rename struct sigframe and rt_sigframe Impact: cleanup, prepare to include sigframe.h Rename struct sigframe to struct sigframe_ia32 and struct rt_sigframe to struct rt_sigframe_ia32. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit c85c2ff877c9305f801f7d5b9e6382cb05a03d45 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:51:08 2008 -0800 x86: signal: prepare to include from ia32_signal.c Impact: cleanup, prepare to use from ia32_signal.c Make struct sigframe_ia32 and rt_sigframe_ia32 visible to ia32_signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 41af86fad3c40646b9748279e3862781e937a5d2 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:50:32 2008 -0800 x86: signal: move sigframe.h to arch/x86/include/asm Impact: cleanup, move header file Move arch/x86/kernel/sigframe.h to arch/x86/include/asm/sigframe.h. It will be used in arch/x86/ia32/ia32_signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a5c56eb36f999ae0ecac278e51fd1cf8feb16c2f Author: Hiroshi Shimamoto Date: Wed Dec 17 18:49:55 2008 -0800 x86: signal: rename sigframe and rt_sigframe on 32-bit Impact: cleanup, prepare to move sigframe.h On 32-bit, rename struct sigrame to struct sigframe_ia32, struct rt_sigframe to struct rt_sigframe_ia32 and several structures. And add helper macros to access the above data in arch/x86/kernel/signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit f5223763a664da16771211f9d293e18cb242b246 Author: Hiroshi Shimamoto Date: Wed Dec 17 18:47:17 2008 -0800 x86: signal: move ia32 func declarations into arch/x86/kernel/signal.c Impact: cleanup Move declarations of ia32_setup_rt_frame() and ia32_setup_frame() into arch/x86/kernel/signal.c. This is for future use of sigframe.h. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2955de5fad7fa301c09f2ae695158309164d8673 Author: Sascha Hauer Date: Thu Dec 18 09:32:23 2008 +0100 [ARM] MX1: Add missing selection of ARM920T The MX1 only has one possible CPU type, ARM920T. Select it in Kconfig. Signed-off-by: Sascha Hauer commit 3218c178b41b420cb7e0d120c7a137a3969242e5 Author: Takashi Iwai Date: Thu Dec 18 09:17:56 2008 +0100 ALSA: hda - Remove duplicated strings from codec name Remove codec vendor names from the codec name strings. The vendor name is already given from the vendor name table, so displayed doubly. Signed-off-by: Takashi Iwai commit 74c611334ff131f2b87c7634314bde9e7fd98653 Author: Takashi Iwai Date: Thu Dec 18 09:11:33 2008 +0100 ALSA: hda - Add Intel vendor id string Added Intel codec vendor id string (0x8086). Also fixed Intel-HDMI codec name strings, too. Signed-off-by: Takashi Iwai commit 49ad9599d42da4787d5b3a19263440e0fcd4d1fc Author: David S. Miller Date: Wed Dec 17 22:11:38 2008 -0800 Revert "net: release skb->dst in sock_queue_rcv_skb()" This reverts commit 70355602879229c6f8bd694ec9c0814222bc4936. As pointed out by Mark McLoughlin IP_PKTINFO cmsg data is one post-queueing user, so this optimization is not valid right now. Signed-off-by: David S. Miller commit 3b5b35d02264580950d1e1565431b99d97c20ded Author: Holger Eitzenberger Date: Wed Dec 17 19:13:53 2008 -0800 bonding: use port_params in __update_lacpdu_from_port Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 3c52065fbbf3bd11776d63d43e18d0fd285b02e2 Author: Holger Eitzenberger Date: Wed Dec 17 19:13:27 2008 -0800 bonding: use port_params in __update_default_selected() I also removed some of the unneeded braces in the if condition to improve readability and a little bit of reformatting. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit ce6a49ad401d78ff1f66e2a55cf445d0f45d8146 Author: Holger Eitzenberger Date: Wed Dec 17 19:13:07 2008 -0800 bonding: use port_params in __update_selected() Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit a6ae186b9a950f4d0467cb9c3661965f442176de Author: Holger Eitzenberger Date: Wed Dec 17 19:12:40 2008 -0800 bonding: remove various function declarations They are all defined before used, it's therefore ok to remove them. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit c7e703d01ecfb8db1557090938f0eabb51ebe3a1 Author: Holger Eitzenberger Date: Wed Dec 17 19:12:07 2008 -0800 bonding: init port_params from template Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 5eefd1adceb49cada224a383f4a36c2f27fe4968 Author: Holger Eitzenberger Date: Wed Dec 17 19:08:46 2008 -0800 bonding: use plain memcpy in __record_default() Also remove the pointless comment at the top. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit b99d6ba96d814dab06671029948f22995d603d7b Author: Holger Eitzenberger Date: Wed Dec 17 19:08:14 2008 -0800 bonding: use port_params in __record_pdu() It helps in maintaining the various partner information values from the LACPDU. It also removes the pointless comment at the top. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 1055c9aba3b6850245fe3bbb533d4747e7f904bf Author: Holger Eitzenberger Date: Wed Dec 17 19:07:38 2008 -0800 bonding: introduce and use port_params structure It generally helps to handle those values in various places, using it might make the code more readable and gives room for other improvements. The IEEE standard talks about them as "parameter values". Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit aa3128199dbe07b5be3382de590c59216f91d3e3 Author: Holger Eitzenberger Date: Wed Dec 17 19:07:16 2008 -0800 bonding: improve elaborate port_state assignment The previous code was just a funny way of assigning both values (they are both of type u8). Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 42199884594bc336c9185441cbed99a9324dab34 Author: Andy Fleming Date: Wed Dec 17 16:52:30 2008 -0800 gianfar: Continue polling until both tx and rx are empty gfar_poll would declare polling done once the rx queue was empty, but the tx queue could still have packets left. Stolen mostly from the e1000 driver. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 8c7396aebb68994c0519e438eecdf4d5fa9c7844 Author: Dai Haruki Date: Wed Dec 17 16:52:00 2008 -0800 gianfar: Merge Tx and Rx interrupt for scheduling clean up ring No clean up function is executed in the interrupt context by this patch. Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit c50a5d9aedef5b0b289d07f6d73934d394e50b3f Author: Dai Haruki Date: Wed Dec 17 16:51:32 2008 -0800 gianfar: Use interface name in interrupt name to distinguish the source. Interface name (ex. eth0) is used as the prefix for the interrupt name, with _rx, _tx, and _er appended to distinguish multiple interrupts on the same interface. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 4669bc907488f5a3ee399ced132deb6165e489a3 Author: Dai Haruki Date: Wed Dec 17 16:51:04 2008 -0800 gianfar: Add Scatter Gather support Scatter Gather support in gianfar driver to handle fragmented frames on the transmit side. Signed-off-by: Poonam Aggrwal Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 8882d9a60028a9937e9c5652cfb80d4399ce5242 Author: Andy Fleming Date: Wed Dec 17 16:50:22 2008 -0800 gianfar: Fix packet drop when out of memory The patch which fixed gianfar so it drops packets when it runs out of memory left in the code which frees the skb when it drops packets. Change the code so that we only free the skb if the new skb was successfully created. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit a693722aec4ce26fb46c21cf4bf4422484a397a7 Author: Arnaldo Carvalho de Melo Date: Wed Dec 17 16:08:01 2008 -0800 dccp_diag: LISTEN sockets don't have CCIDs And thus when we try to use 'ss -danemi' on these sockets that have no ccid blocks (data collected using systemtap after I fixed the problem): dccp_diag_get_info sk=0xffff8801220a3100, dp->dccps_hc_rx_ccid=0x0000000000000000, dp->dccps_hc_tx_ccid=0x0000000000000000 We get an OOPS: mica.ghostprotocols.net login: BUG: unable to handle kernel NULL pointer dereferenc0 IP: [] dccp_diag_get_info+0x82/0xc0 [dccp_diag] PGD 12106f067 PUD 122488067 PMD 0 Oops: 0000 [#1] PREEMPT Fix is trivial, and 'ss -d' is working again: [root@mica ~]# ss -danemi State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 0 *:5001 *:* ino:7288 sk:220a3100ffff8801 mem:(r0,w0,f0,t0) cwnd:0 ssthresh:0 [root@mica ~]# Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c280266a326ccabeb64b6d69fa4fd21faf5bf354 Merge: eddce36... 55dac3a... Author: Paul Mackerras Date: Thu Dec 18 11:06:12 2008 +1100 Merge branch 'linux-2.6' into next commit 9732d523212060c44a4723332bdc5ee429eeabc3 Author: Rémi Denis-Courmont Date: Wed Dec 17 15:49:09 2008 -0800 Phonet: USB CDC Phonet function for gadget framework This implements the Nokia vendor-specific communication device class function to exchange Phonet messages over USB. This function is already found in the "PC suite" USB profile of (non-Linux) Nokia handsets. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 893873f3965ae0173a9315534bec7628162d2243 Author: Rémi Denis-Courmont Date: Wed Dec 17 15:48:50 2008 -0800 Phonet: get rid of deferred work on the transmission path Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit be677730a0ccb6bedced6f65f2ba8f57a3c607ba Author: Rémi Denis-Courmont Date: Wed Dec 17 15:48:31 2008 -0800 Phonet: use atomic for packet TX window GPRS TX flow control won't need to lock the underlying socket anymore. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 57c81fffc863fb4c1804bc963bcbfb82d736c6df Author: Rémi Denis-Courmont Date: Wed Dec 17 15:47:48 2008 -0800 Phonet: allocate separate ARP type for GPRS over a Phonet pipe A separate xmit lock class supports GPRS over a Phonet pipe over a TUN device (type ARPHRD_NONE). Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 2d91d78b68606ff7ce52ea70e187dee7831aa2f6 Author: Rémi Denis-Courmont Date: Wed Dec 17 15:47:29 2008 -0800 Phonet: allocate a non-Ethernet ARP type Also leave some room for more 802.11 types. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit fc10af8e658936f7b2bddd077f7ddcbe1eddc066 Author: Oliver Hartkopp Date: Wed Dec 17 15:37:55 2008 -0800 vcan: whitespace fixes Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit c95a44329e816d2f9da21b27e74615d5ee0d2333 Merge: c613bbb... 47fee6f... Author: Russell King Date: Wed Dec 17 20:05:39 2008 +0000 Merge branch 'rmk-devel-mxc-pu-v2' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel commit c613bbba6f39c8804f1f26e96fb68a117cc9e282 Merge: cd43483... 80eee6b... Author: Russell King Date: Wed Dec 17 20:04:45 2008 +0000 Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel commit cd4348339c21f4a15c01f3f120e92b3224a0a7da Merge: 7e1548a... 917fa28... Author: Russell King Date: Wed Dec 17 20:03:39 2008 +0000 Merge branch 'hsmmc-init' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel commit a08636690d06b2e36cfb4c2b3ee133a81c47e1e0 Author: Ian Campbell Date: Tue Dec 16 12:17:38 2008 -0800 x86/swiotlb: add default swiotlb_arch_range_needs_mapping Xen will override these later on. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1d32251e846ccbcf9d2da041dffd1199f94b2a3b Author: Ian Campbell Date: Tue Dec 16 12:17:37 2008 -0800 x86/swiotlb: add default phys<->bus conversion Xen will override these later on. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit cfb80c9eae8c7ed8f2ee81090062d15ead51cbe8 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:36 2008 -0800 x86: unify pci iommu setup and allow swiotlb to compile for 32 bit swiotlb on 32 bit will be used by Xen domain 0 support. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 8ce7996009bab7b2d23e7af7ad831fed7eb6faa1 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:35 2008 -0800 x86: add swiotlb allocation functions Add x86-specific swiotlb allocation functions. These are purely default for the moment. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 2e5b2b86b65fe36bb8401e5608eb0b7603aa1cab Author: Ian Campbell Date: Tue Dec 16 12:17:34 2008 -0800 swiotlb: consolidate swiotlb info message printing Impact: clean up swiotlb printks Remove duplicated swiotlb info printing, and make it more detailed. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ef9b189352f2eb78f14e52996f4780a523b04a49 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:33 2008 -0800 swiotlb: support bouncing of HighMem pages Impact: prepare the swiotlb code for HighMem struct pages This requires us to treat DMA regions in terms of page+offset rather than virtual addressing since a HighMem page may not have a mapping. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1b548f667c1487d92e794a9f7a67788f49b952d8 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:32 2008 -0800 swiotlb: factor out copy to/from device Impact: generalize IO bounce memcpys Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b81ea27b2329bf44b30c427800954f845896d476 Author: Ian Campbell Date: Tue Dec 16 12:17:31 2008 -0800 swiotlb: add arch hook to force mapping Impact: generalize the sw-IOTLB range checks Some architectures require special rules to determine whether a range needs mapping or not. This adds a weak function for architectures to override. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit e08e1f7adba522378e8d2ae941bf25443866136d Author: Ian Campbell Date: Tue Dec 16 12:17:30 2008 -0800 swiotlb: allow architectures to override phys<->bus<->phys conversions Impact: generalize phys<->bus<->phys conversions in the swiotlb code Architectures may need to override these conversions. Implement a __weak hook point containing the default implementation. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a5ddde4a558b3bd1e3dc50e274a0db2ea7a8fd06 Author: Ian Campbell Date: Tue Dec 16 12:17:29 2008 -0800 swiotlb: add comment where we handle the overflow of a dma mask on 32 bit Impact: cleanup Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3b24f30c4f678cfab5c6d090af9559fefa37cc41 Author: Eric Miao Date: Wed Dec 10 17:04:38 2008 +0800 [ARM] pxa/littleton: add preliminary I2C board info (da9034 + max7320) Signed-off-by: Eric Miao commit 111059e7f434f05499995aba6b25347bbd6313f2 Author: Eric Miao Date: Mon Dec 8 21:33:49 2008 +0800 [ARM] pxa/saar: add support for the on-board smart panel LCD Signed-off-by: Eric Miao commit b6795fa9fd70bc4cd94724c32fe1945e5c75c29f Author: Jonathan Cameron Date: Fri Dec 12 20:43:09 2008 +0000 [ARM] pxa: initial support for the Imote2 platform Changes made as suggested by Eric Miao (including fix to map_io silly mistake!). Originally designed by Intel, now sold by Crossbow (www.xbow.com). Very little actually on board. The patch includes sensors and similar as found on commonly occurring daughter boards. Some of the drivers are not in mainline as yet as they are either part of the IIO subsystem or need a lot of work before submission. What is the position wrt to putting them in i2c board configs etc? Support for these boards has been maintained outside the kernel for a long time, but now that there is a good da9030 pmic driver available the last major hurdle no longer exists. All comments welcomed. The Imote2's big brother (stargate2) will follow once any problems with this one have been cleaned up and a few bits and bobs have been added to the da903x driver. Hopefully the cc2420 driver will get cleaned up and submitted in the not too distant future as well. Signed-off-by: Jonathan Cameron Acked-by: Mark Brown Signed-off-by: Eric Miao commit bc09cf6de2bf9c0240aed7d9a82308c27aad13c4 Author: Stefan Schmidt Date: Mon Dec 8 15:58:10 2008 +0100 [ARM] pxa/ezx: I2C configuration I2C platform data setups. Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Eric Miao commit fe9490c67ad26bdf5e0c32019e7da591c253bee2 Author: Stefan Schmidt Date: Mon Dec 8 15:58:09 2008 +0100 [ARM] pxa/ezx: Keypad configuration Matrix and single key setups for all phones. Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit 9078ac21530ce15705c59ebaee0b33508385936d Author: Stefan Schmidt Date: Mon Dec 8 15:58:08 2008 +0100 [ARM] pxa/ezx: GPIO configuration Pin configs for different generations and phones. Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Eric Miao commit bab16dfc9b527bbf7b06cb7d1e8e4011649b0f50 Author: Stefan Schmidt Date: Mon Dec 8 15:58:07 2008 +0100 [ARM] pxa/ezx: Remove two memory banks fixup Our bootloader now supports ATAGS_MEM Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Eric Miao commit 3332b0c17969d91d8868d2d003e685c420d84262 Author: Jaya Kumar Date: Tue Dec 9 22:14:29 2008 +0800 [ARM] pxa/gumstix: fix incorrect init done by am200 Signed-off-by: Jaya Kumar Cc: Andre Puschmann Signed-off-by: Eric Miao commit 07f651c72ac0530033883c113939d9b9c7fa75e5 Author: Eric Miao Date: Mon Dec 8 18:51:01 2008 +0800 [ARM] pxafb: avoid the racing condition in pxafb_smart_thread fbi->state change shall really be protected by fbi->ctrlr_lock, where the change is sheltered. There is a possibility that pxafb_smart_thread will start update the LCD panel when fbi->state == C_ENABLE, while all other initialization isn't done. Signed-off-by: Eric Miao commit 69bdea7047fbac88beb8b7ba9e428c4f0e53f563 Author: Eric Miao Date: Mon Dec 8 18:46:00 2008 +0800 [ARM] pxafb: allow insertion of delay to the smart panel command sequence Some smart panel requires a delay between command sequences, while PXA LCD controller didn't provide such one, let's emulate this by software. A software delay marker can be inserted into the command sequence, once pxafb_smart_queue() detects this, it flushes the previous commands and delay for a specified number of milliseconds. Signed-off-by: Eric Miao commit c1f99c215c58111629984a49ba87b2b145dd1f5b Author: Eric Miao Date: Mon Dec 8 18:35:03 2008 +0800 [ARM] pxafb: allow better platform configurable smart panel timing For smart panels (LCD panel with internal framebuffer), the following LCCR3 register bits have different meanings than the parallel one: LCCR3_PCP - controls the L_PCLK_WR polarity LCCR3_HSP - controls the L_LCLK_A0 polarity LCCR3_VSP - controls the L_FCLK_RD polarity To keep minimum change to the original parallel timing, the .lcd_conn flags and 'pxafb_mode_info.sync' are re-used to reflect this: LCD_PCLK_EDGE_{RISE,FALL} - configures LCCR3_PCP sync & FB_SYNC_{HOR,VERT}_HIGH_ACT - configures LCCR3_{HSP,VSP} Signed-off-by: Eric Miao commit 07df1c4fea1474ae6db2c8554d2915cf5cf81369 Author: Eric Miao Date: Thu Dec 4 11:14:11 2008 +0800 [ARM] pxafb: small cleanup of the smart panel code Group smart panel related code in a more compact fasion, avoid abused usage of #ifdef .. #endif. Also fix the incorrect condition in pxafb_smart_init() to decide if it is a smart panel or not. (should be '&' instead of '|') Signed-off-by: Eric Miao commit 09e647d30d0d8feff0aee77bd17342fbc79a3bf8 Author: Eric Miao Date: Thu Dec 11 14:06:43 2008 +0800 [ARM] pxafb: remove now unused pxafb_setup_gpio() and related stuffs platform should now initialize the pin usage for the LCD controller to correctly work. Signed-off-by: Eric Miao commit 9587319bfe53c1ba128c6d226a655c45c36a13df Author: Eric Miao Date: Sun Dec 7 17:49:01 2008 +0800 [ARM] pxa: convert legacy LCD setup of other boards to new one Signed-off-by: Eric Miao Cc: Richard Purdie Cc: Ian Molton Cc: pHilipp Zabel Cc: Marek Vasut Cc: Guennadi Liakhovetski Cc: Juergen Schindele Acked-by: Stefan Schmidt Acked-by: Marc Zyngier Acked-by: Mike Rapoport Acked-by: Jaya Kumar commit 51633048890ca755bce2411e13a2f84ec661a068 Author: Eric Miao Date: Sun Dec 7 17:48:00 2008 +0800 [ARM] pxafb: add color TFT 8BPP LCD panel type Signed-off-by: Eric Miao commit d733e00d7c10cc68333fbb88108bb15bb044f61b Author: Ingo Molnar Date: Wed Dec 17 13:35:51 2008 +0100 x86: update io_apic.c to the new cpumask code Impact: build fix The sparseirq tree crossed with the cpumask changes, fix the fallout. Signed-off-by: Ingo Molnar commit 855caa37b9b61c1ccfeb91a2bc04d90bfc5e4525 Merge: 948a7b2... c415b3d... Author: Ingo Molnar Date: Wed Dec 17 13:24:52 2008 +0100 Merge branch 'x86/crashdump' into cpus4096 Conflicts: arch/x86/kernel/crash.c Merged for semantic conflict: arch/x86/kernel/reboot.c commit 948a7b2b5e2bf126fb697aeb11ff379b2c85dd2e Merge: 9466d60... 17483a1... Author: Ingo Molnar Date: Wed Dec 17 13:16:08 2008 +0100 Merge branch 'irq/sparseirq' into cpus4096 Conflicts: arch/x86/kernel/io_apic.c Merge irq/sparseirq here, to resolve conflicts. commit 9466d6036f73481104039fbe99338baed11c8fea Merge: 1f3f424... 83b1959... Author: Ingo Molnar Date: Wed Dec 17 13:08:34 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo into cpus4096 commit 1f3f424a6bee9de4d839be9951f4296333fac014 Merge: c8cae54... 1bda712... Author: Ingo Molnar Date: Wed Dec 17 13:07:48 2008 +0100 Merge branch 'linus' into cpus4096 commit 7a95d267fb62cd6b80ef73be0592bbbe1dbd5df7 Author: Cyrill Gorcunov Date: Wed Dec 17 00:34:06 2008 -0800 net: ppp_generic - use idr technique instead of cardmaps Use idr technique instead of own implemented cardmaps. It saves us a number of lines and gives an ability to use library functions. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit c0700f90e5300c63d01c70e157e75e4510dd2981 Author: David S. Miller Date: Tue Dec 16 23:53:20 2008 -0800 bnx2x: Fix namespace collision with FLOW_CTRL_{TX,RX} These are now defined in linux/mii.h and the bnx2x driver defines different values which are shared with hardware data structures. So add a "BNX2X_" prefix to these macro names. Based upon a report from Stephen Rothwell. Signed-off-by: David S. Miller commit f6d52432a4bc6da5de2a0bbb350f735db3206aa5 Author: David S. Miller Date: Tue Dec 16 23:45:02 2008 -0800 bnx2: Don't redefine FLOW_CTRL_{RX,TX}. They are provided generically by linux/mii.h now. Signed-off-by: David S. Miller commit 1f2435e532bd64742c3f766b7d5c17cc9d0b8558 Author: Michael Chan Date: Tue Dec 16 20:28:13 2008 -0800 bnx2: Update version to 1.9.0. And fix the 5716S pci_device_id entry to point to the proper string. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4e1d0de95c55383f598516ebf82969260c18e4bd Author: Michael Chan Date: Tue Dec 16 20:27:45 2008 -0800 bnx2: Rename MSI-X vectors. Change MSI-X vector names to "ethx-%d". Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 83b19597f793fd5f91533bda0dc2eb3d21936798 Author: Mike Travis Date: Tue Dec 16 17:34:06 2008 -0800 x86: Introduce topology_core_cpumask()/topology_thread_cpumask() Impact: new API The old topology_core_siblings() and topology_thread_siblings() return a cpumask_t; these new ones return a (const) struct cpumask *. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit e4d98207ea3f3d15eb664282df16d18c4ac86f80 Author: Mike Travis Date: Tue Dec 16 17:34:05 2008 -0800 x86: xen: use smp_call_function_many() Impact: use new API, remove cpumask from stack. Change smp_call_function_mask() callers to smp_call_function_many(). This removes a cpumask from the stack, and falls back should allocating the cpumask var fail (only possible with CONFIG_CPUMASKS_OFFSTACK). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: jeremy@xensource.com commit 4cd4601d592d07b26e4b7d2bb8fcd55bbfd6cf6e Author: Mike Travis Date: Tue Dec 16 17:34:04 2008 -0800 x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c Impact: Remove cpumask_t's from stack. Simple transition to work_on_cpu(), rather than cpumask games. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar Cc: Robert Richter Cc: jacob.shin@amd.com commit b2bb85549134c005e997e5a7ed303bda6a1ae738 Author: Mike Travis Date: Tue Dec 16 17:34:03 2008 -0800 x86: Remove cpumask games in x86/kernel/cpu/intel_cacheinfo.c Impact: remove cpumask_t from stack. We should not try to save and restore cpus_allowed on current. We can't use work_on_cpu() here, since it's in the hotplug cpu path (if anyone else tries to get the hotplug lock from a workqueue we could deadlock against them). Fortunately, we can just use smp_call_function_single() since the function can run from an interrupt. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ingo Molnar Cc: Oleg Nesterov commit 1de88cd4a33fcc2fcf70cbce01688723f728675d Author: Mike Travis Date: Tue Dec 16 17:34:02 2008 -0800 x86: Use cpumask accessors code for possible/present maps. Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but is straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 168ef543a43678146e06b3911e987ac021d575b8 Author: Mike Travis Date: Tue Dec 16 17:34:01 2008 -0800 x86: prepare for cpumask iterators to only go to nr_cpu_ids Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit 78637a97b7fe1df51f40a460448df0b93d511176 Author: Mike Travis Date: Tue Dec 16 17:34:00 2008 -0800 x86: Set CONFIG_NR_CPUS even on UP Impact: cleanup Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit bcda016eddd7a8b374bb371473c821a91ff1d8cc Author: Mike Travis Date: Tue Dec 16 17:33:59 2008 -0800 x86: cosmetic changes apic-related files. This patch simply changes cpumask_t to struct cpumask and similar trivial modernizations. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit d7b381bb7b1ad69ff008ea063d26e988b686c8de Author: Mike Travis Date: Tue Dec 16 17:33:58 2008 -0800 x86: fixup_irqs() doesnt need an argument. Impact: cleanup, remove on-stack cpumask. The "map" arg is always cpu_online_mask. Importantly, set_affinity always ands the argument with cpu_online_mask anyway, so we don't need to do it in fixup_irqs(), avoiding a temporary. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit b78936e14ee47b6b2d628501a0eab5270db80132 Author: Mike Travis Date: Tue Dec 16 17:33:57 2008 -0800 xen: convert to cpumask_var_t and new cpumask primitives. Simple change, and eventual space saving when NR_CPUS >> nr_cpu_ids. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Jeremy Fitzhardinge commit 22f65d31b25a320a5246592160bcb102d2791c45 Author: Mike Travis Date: Tue Dec 16 17:33:56 2008 -0800 x86: Update io_apic.c to use new cpumask API Impact: cleanup, consolidate patches, use new API Consolidate the following into a single patch to adapt to new sparseirq code in arch/x86/kernel/io_apic.c, add allocation of cpumask_var_t's in domain and old_domain, and reduce further merge conflicts. Only one file (arch/x86/kernel/io_apic.c) is changed in all of these patches. 0006-x86-io_apic-change-irq_cfg-domain-old_domain-to.patch 0007-x86-io_apic-set_desc_affinity.patch 0008-x86-io_apic-send_cleanup_vector.patch 0009-x86-io_apic-eliminate-remaining-cpumask_ts-from-st.patch 0021-x86-final-cleanups-in-io_apic-to-use-new-cpumask-AP.patch Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 6eeb7c5a99434596c5953a95baa17d2f085664e3 Author: Mike Travis Date: Tue Dec 16 17:33:55 2008 -0800 x86: update add-cpu_mask_to_apicid_and to use struct cpumask* Impact: use updated APIs Various API updates for x86:add-cpu_mask_to_apicid_and (Note: separate because previous patch has been "backported" to 2.6.27.) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 95d313cf1c1ecedc8bec5727b09bdacbf67dfc45 Author: Mike Travis Date: Tue Dec 16 17:33:54 2008 -0800 x86: Add cpu_mask_to_apicid_and Impact: new API Add a helper function that takes two cpumask's, and's them and then returns the apicid of the result. This removes a need in io_apic.c that uses a temporary cpumask to hold (mask & cfg->domain). Signed-off-by: Mike Travis Signed-off-by: Rusty Russell commit a1681965011916c2f1f0f1f87e70784f5d5d5be5 Author: Mike Travis Date: Tue Dec 16 17:33:53 2008 -0800 x86: move and enhance debug printk for nr_cpu_ids etc. Impact: cleanup, better debugging This has proven useful in debugging, *before* we try to use for_each_possible_cpu(). It also now shows nr_cpumask_bits. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell commit e7986739a76cde5079da08809d8bbc6878387ae0 Author: Mike Travis Date: Tue Dec 16 17:33:52 2008 -0800 x86 smp: modify send_IPI_mask interface to accept cpumask_t pointers Impact: cleanup, change parameter passing * Change genapic interfaces to accept cpumask_t pointers where possible. * Modify external callers to use cpumask_t pointers in function calls. * Create new send_IPI_mask_allbutself which is the same as the send_IPI_mask functions but removes smp_processor_id() from list. This removes another common need for a temporary cpumask_t variable. * Functions that used a temp cpumask_t variable for: cpumask_t allbutme = cpu_online_map; cpu_clear(smp_processor_id(), allbutme); if (!cpus_empty(allbutme)) ... become: if (!cpus_equal(cpu_online_map, cpumask_of_cpu(cpu))) ... * Other minor code optimizations (like using cpus_clear instead of CPU_MASK_NONE, etc.) Applies to linux-2.6.tip/master. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Acked-by: Ingo Molnar commit 36f5101a60de8f79c0d1ca06e50660bf5129e02c Author: Mike Travis Date: Tue Dec 16 17:33:51 2008 -0800 x86: enable MAXSMP Impact: activates new off-stack cpumask code on MAXSMP (non-default) x86 configs Set MAXSMP to enable CONFIG_CPUMASK_OFFSTACK which moves cpumask's off the stack (and in structs) when using cpumask_var_t. Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Acked-by: Ingo Molnar commit eddce368f99b682683e09cf206eaa25131d40abe Merge: b53c758... cd85400... Author: Paul Mackerras Date: Wed Dec 17 11:01:43 2008 +1100 Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into next commit f40e0638237a2d3e2ce8bedf3af4b3c02cf6fff7 Author: Julia Lawall Date: Tue Dec 16 15:43:29 2008 -0800 drivers/net/hamradio: Move a dereference below a NULL test In each case, 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: David S. Miller commit f162e97d778ec29492be8eb9bbecb65be976b7c8 Author: Andy Fleming Date: Tue Dec 16 15:39:48 2008 -0800 phylib: Remove unnecessary "reset" fixups in genphy_setup_forced genphy_setup_forced hasn't actually reset the PHY for a long time, but a comment to that effect remained in the code, so code continued to act as if it *had* reset the PHY, and called the necessary fixup functions to respond to a PHY reset. With no reset, those functions are no longer needed, so we remove them. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 5a5efed4817ef931f648b118aeb9222e53122d2b Author: Dai Haruki Date: Tue Dec 16 15:34:50 2008 -0800 gianfar: Make all BD status writes 32-bit Whenever we want to update the status field in a BD, we usually want to update the length field, too. By combining them into one 32-bit field, we reduce the number of stores to memory shared with the controller, and we eliminate the need for order-enforcement, as the length and "READY" bit are now updated atomically at the same time. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 31de198b4d2732028f4c5bff04b0103b1d8c1d8c Author: Andy Fleming Date: Tue Dec 16 15:33:40 2008 -0800 gianfar: Add macros for stepping through BDs This code is based strongly on code from Dai Haruki . The gianfar Buffer Descriptors are arranged in a circular array, the end of which is denoted by setting the "WRAP" bit in the descriptor. However, the software knows the end of the ring because it knows how many descriptors are there. Rather than check each descriptor for whether the WRAP bit is set, use pointer math to determine where the next BD is. This is also useful for when we want to look at BDs other than the very next one (for Scatter-Gather). Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit a22823e72a4821ce1d4a248fbd8f5a81795af339 Author: Dai Haruki Date: Tue Dec 16 15:32:11 2008 -0800 gianfar: Remove unused gfar_add_fcb() function parameter - Also, use cacheable_memzero instead of memset for performance reasons. Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 2c2db48acb34735d8ef257f130c0c330c46c8f6a Author: Dai Haruki Date: Tue Dec 16 15:31:15 2008 -0800 gianfar: Enable padding and Optimize the frame prepended bytes handling The eTSEC can prepend up to 32 bytes to a received frame, usually for the purpose of aligning the IP address to a word boundary, so this turns it on. While we're in there, make the handling of the pre-frame bytes (padding and Frame Control Block) cleaner. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 77ecaf2d5a8bfd548eed3f05c1c2e6573d5de4ba Author: Dai Haruki Date: Tue Dec 16 15:30:48 2008 -0800 gianfar: Fix VLAN HW feature related frame/buffer size calculation. Optimize the VLAN checking logic as well. Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 12dea57be552a291e93827baeffbb91e33f587a6 Author: Dai Haruki Date: Tue Dec 16 15:30:20 2008 -0800 gianfar: Fix eTSEC configuration procedure Fix some bugs in the ethtool configuration functions: * gfar_clean_rx_ring should not be called with interrupts disabled. * Update last transmission time to avoid tx timeout. * Delete redundant NETIF_F_IP_CSUM check in gfar_start_xmit * Use netif_tx_lock_bh when reconfiguring the tx csum Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit b46a8454cd304b5376ba00d3457a612720e47269 Author: Dai Haruki Date: Tue Dec 16 15:29:52 2008 -0800 gianfar: Optimize interrupt coalescing configuration Store the interrupt coalescing values in the form in which they will be written to the interrupt coalescing registers. This puts a little overhead into the ethtool configuration, and takes it out of the interrupt handler Signed-off-by: Dai Haruki Acked-by: Andy Fleming Signed-off-by: David S. Miller commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 Author: Andy Fleming Date: Tue Dec 16 15:29:15 2008 -0800 gianfar: Convert gianfar to an of_platform_driver Does the same for the accompanying MDIO driver, and then modifies the TBI configuration method. The old way used fields in einfo, which no longer exists. The new way is to create an MDIO device-tree node for each instance of gianfar, and create a tbi-handle property to associate ethernet controllers with the TBI PHYs they are connected to. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit d680fe44775ed17a80035462d9898f5e77bfd7dd Author: Cyrill Gorcunov Date: Sat Dec 13 00:09:08 2008 +0300 x86: entry_64 - introduce FTRACE_ frame macro v2 Impact: clean up Itroduce MCOUNT_SAVE/RESTORE_FRAME which allow us to save a number of lines on source level. Also fix a comment in ftrace.h. Signed-off-by: Ingo Molnar commit 66896a85cf2890b6bbbc4c9ccdcd296600ffbf89 Author: Frederic Weisbecker Date: Sat Dec 13 20:18:13 2008 +0100 tracing/ftrace: add the printk-msg-only option Impact: display ftrace_printk messages "as is" By default, ftrace_printk() messages find their output with some other informations like pid, caller, ... Sometimes a developer just want to have the ftrace_printk left "as is", without other information. This is done by providing a default-off option called printk-msg-only. To enable it, just do `echo printk-msg-only > /debugfs/tracing/trace_options` Before the patch: <...>-2739 [000] 145.692153: __might_sleep: I'm an ftrace_printk msg in __might_sleep <...>-2739 [000] 145.692155: __might_sleep: I'm another ftrace_printk msg in __might_sleep After the patch and the printk-msg-only option enabled: I'm an ftrace_printk msg in __might_sleep I'm another ftrace_printk msg in __might_sleep Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 2c2d7329d8afa9efa3ec24e19a53e7be9d14f242 Author: Frederic Weisbecker Date: Tue Dec 16 22:08:58 2008 +0100 tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp() Impact: prevent a trace recursion After some tests with function graph tracer under x86-32, I saw some recursions caused by ring_buffer_time_stamp() that calls preempt_enable_no_notrace() which calls preempt_schedule() which is traced itself. This patch re-enables preemption without rescheduling. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 257d938a0c17838c740eb68f0005b041444ac2c2 Author: Andy Fleming Date: Tue Dec 16 15:25:45 2008 -0800 gianfar: Use gfar_halt to stop DMA in gfar_probe gfar_halt does everything we want to do there, including disabling TX/RX. It also doesn't unnecessarily enable DMA if it's already stopped. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 5eeabf5150878018d7c7092042f3b681f5b554b5 Author: Sakari Ailus Date: Tue Dec 16 15:24:05 2008 -0800 tlan: Remove broken support for big buffers The big rx/tx buffer support is broken and unlikely to be very useful as such. Remove it. Signed-off-by: Sakari Ailus Signed-off-by: David S. Miller commit 354ade9058687fdef8a612c7b298d4c51dae3da7 Merge: 9f690db... bb5f133... Author: David S. Miller Date: Tue Dec 16 15:23:54 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/enc28j60.c commit 17483a1f34c970e6c2cb8c082d4441bfabbe88a9 Author: Yinghai Lu Date: Fri Dec 12 13:14:18 2008 -0800 sparseirq: fix !SMP building, #2 Impact: build fix make intr_remapping.c to include smp.h, so could use boot_cpu_id there also remove old change that disabling sparseirq with !SMP Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 48a1b10aff588833b73994704c47bbd0deb73e9c Author: Yinghai Lu Date: Thu Dec 11 00:15:01 2008 -0800 x86, sparseirq: move irq_desc according to smp_affinity, v7 Impact: improve NUMA handling by migrating irq_desc on smp_affinity changes if CONFIG_NUMA_MIGRATE_IRQ_DESC is set: - make irq_desc to go with affinity aka irq_desc moving etc - call move_irq_desc in irq_complete_move() - legacy irq_desc is not moved, because they are allocated via static array for logical apic mode, need to add move_desc_in_progress_in_same_domain, otherwise it will not be moved ==> also could need two phases to get irq_desc moved. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 343e9099c8152daff20e10d6269edec21da44fc0 Author: Paul E. McKenney Date: Mon Dec 15 16:13:07 2008 -0800 rcu: fix rcutorture behavior during reboot Impact: fix very rare reboot hang Because rcutorture ignored all signals, it does not terminate in response to the signals sent at shutdown time. This can cause strange failures due to its continuing to make use of kernel function too late in the shutdown sequence. This patch therefore adds a shutdown notifier to rcutorture, causing it to shut down in response to a reboot or an orderly shutdown. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 3ac52669c7a24b93663acfcab606d1065ed1accd Author: Arjan van de Ven Date: Sat Dec 13 09:15:27 2008 -0800 resources: skip sanity check of busy resources Impact: reduce false positives in iomem_map_sanity_check() Some drivers (vesafb) only map/reserve a portion of a resource. If then some other driver comes in and maps the whole resource, the current code WARN_ON's. This is not the intent of the checks in iomem_map_sanity_check(); rather these checks want to warn when crossing *hardware* resources only. This patch skips BUSY resources as suggested by Linus. Note: having two drivers talk to the same hardware at the same time is obviously not optimal behavior, but that's a separate story. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit c8cae544bba6aee0f5cb0756dbab1a71d2c68737 Author: Mike Travis Date: Tue Dec 16 09:13:11 2008 -0800 x86: fix build error with post-merge of tip/cpus4096 and rr-for-ingo/master. Ingo Molnar wrote: > allyes64 build failure: > > arch/x86/kernel/io_apic.c: In function ‘set_ir_ioapic_affinity_irq_desc’: > arch/x86/kernel/io_apic.c:2295: error: incompatible type for argument 2 of > ‘migrate_ioapic_irq_desc’ > arch/x86/kernel/io_apic.c: In function ‘ir_set_msi_irq_affinity’: > arch/x86/kernel/io_apic.c:3205: error: incompatible type for argument 2 of > ‘set_extra_move_desc’ > make[1]: *** wait: No child processes. Stop. Here's a small patch to correct the build error with the post-merge tree. Built and boot-tested. I'll will reset the follow on patches in my brand new git tree to accommodate this change. Fix two references in io_apic.c that were incorrect. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 8bee3f0a662ad9c3d6bb705b0530a3b90f089c55 Author: Hiroshi Shimamoto Date: Tue Dec 16 14:04:43 2008 -0800 x86: ia32_signal: use proper macro __USER32_DS Impact: cleanup Use __USER32_DS instead of __USER_DS in ia32_signal.c. No impact, because __USER32_DS is defined __USER_DS. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit d0b48ca189523b638d8674fa41e94d1950a17038 Author: Hiroshi Shimamoto Date: Tue Dec 16 14:03:36 2008 -0800 x86: ia32_signal: use __put_user() instead of __copy_to_user() Impact: cleanup __put_user() can be used for constant size 8, like arch/x86/kernel/signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit ae417bb487e3bb88dc862b83b4bf00d87ba67ec8 Author: Hiroshi Shimamoto Date: Tue Dec 16 14:02:16 2008 -0800 x86: signal: use signal_fault() in sys_sigreturn() Impact: cleanup Call signal_fault() in error route of sys_sigreturn(). Change log level to KERN_EMERG if current is init. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit c8182f0016fb65a721c4fbe487909a2d56178135 Author: Russ Anderson Date: Fri Dec 12 11:07:00 2008 -0600 sgi-xp: xpc needs to pass the physical address, not virtual Impact: fix crash xpc needs to pass the physical address, not virtual. Testing uncovered this problem. The virtual address happens to work most of the time due to the way bios was masking off the node bits. Passing the physical address makes it work all of the time. Signed-off-by: Russ Anderson Acked-by: Dean Nelson Signed-off-by: Ingo Molnar commit 189f67c4408806563a1f061f5c8bf184a6658477 Author: Jack Steiner Date: Fri Dec 12 14:50:40 2008 -0600 x86: UV fix for global physical addresses Impact: fix UV boot crash This fixes a UV bug related to generating global memory addresses on partitioned systems. Partition systems do not have physical memory at address 0. Instead, a chunk of high memory is remapped by the chipset so that it appears to be at address 0. This remapping is INVISIBLE to most of the OS. The only OS functions that need to be aware of the remaping are functions that directly interface to the chipset. The GRU is one example. Also, delete a couple of unused macros related to global memory addresses. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit c15cb37cc4e9809624411333b96109ddf770e29c Merge: 77be80e... 8b1fae4... Author: Ingo Molnar Date: Tue Dec 16 22:53:53 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/uv commit fde9071167c4624281553b23232aa8b81e71c790 Author: Zachary Amsden Date: Fri Dec 12 11:26:35 2008 -0800 x86: clean up dead code in vmi_32.c Impact: cleanup, remove dead debug code I ran across some old debugging code in vmi paravirt-ops code that was already dead, but still potentially useful. After reviewing recent changes to the way kernel page tables are allocated and initialized, and the lack of bugs caught by this debugging code, I've concluded it is now totally useless to have around, and it's already been #if 0'd for quite some time. There's no rush to get this in mainline, but it's also totally harmless, so I'll let the x86 maintainers decide where it should be tucked. I've been out of the mainstream dev loop for a couple months, so apologies if I haven't got any protocol changes in order. Remove mummified remains found in vmi_32.c Signed-off-by: Zachary Amsden Signed-off-by: Ingo Molnar commit 8ae936690972dfcad73d0dde1095b9f32af5ee95 Author: Hiroshi Shimamoto Date: Fri Dec 12 15:52:26 2008 -0800 x86: hardirq: use inc_irq_stat() in non-unified functions Impact: cleanup Replace incrementing irq stat with inc_irq_stat() in non-unified functions. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e1286f2c686f5976e0424bb6195ece25e7a17607 Author: Philipp Kohlbecher Date: Sun Dec 14 18:50:01 2008 +0100 x86: documentation fix regarding boot protocol Impact: clarify documentation Documentation/x86/boot.txt describes payload_offset as the offset from the end of the real-mode code. In fact, it is more accurately described as the offset from the beginning of the protected-mode code, as (a) this is how it is actually calculated and (b) the padding after the real-mode code is not included in the offset. Signed-off-by: Philipp Kohlbecher Acked-by: Ian Campbell Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 78f902ccc597d6ce3e8d1477d70f2d79e960ba7a Merge: 9ee670f... 8b1fae4... Author: Ingo Molnar Date: Tue Dec 16 22:04:48 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/doc commit 39c04b55240342d0742ac48538d3d8c71bfc0a94 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:32:23 2008 -0800 x86: make sure we really have an hpet mapping before using it Impact: prepare the hpet code for Xen dom0 booting When booting in Xen dom0, the hpet isn't really accessible, so make sure the mapping is non-NULL before use. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ecbf29cdb3990c83d90d0c4187c89fb2ce423367 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:37:07 2008 -0800 xen: clean up asm/xen/hypervisor.h Impact: cleanup hypervisor.h had accumulated a lot of crud, including lots of spurious #includes. Clean it all up, and go around fixing up everything else accordingly. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 80f40ee4a07530cc3acbc239a9299ec47025825b Author: Bharata B Rao Date: Mon Dec 15 11:56:48 2008 +0530 sched: use RCU variant of list traversal in for_each_leaf_rt_rq() Impact: fix potential of rare crash for_each_leaf_rt_rq() walks an RCU protected list (rq->leaf_rt_rq_list), but doesn't use list_for_each_entry_rcu(). Fix this. Signed-off-by: Bharata B Rao Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0016fdee927f7aa0f428494bcf11ae60c7470a02 Author: Ian Campbell Date: Tue Dec 16 12:17:27 2008 -0800 swiotlb: move some definitions to header Impact: cleanup Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 8c5df16bec8a60bb8589fc232b9e26cac0ed4b2c Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:26 2008 -0800 swiotlb: allow architectures to override swiotlb pool allocation Impact: generalize swiotlb allocation code Architectures may need to allocate memory specially for use with the swiotlb. Create the weak function swiotlb_alloc_boot() and swiotlb_alloc() defaulting to the current behaviour. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit a79b7a2a758c39315344f0d86b5adb21d90d786e Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:25 2008 -0800 x86: remove unused iommu_nr_pages Impact: cleanup, remove dead code The last usage was removed by the patch set culminating in | commit e3c449f526cebb8d287241c7e82faafd9709668b | Author: Joerg Roedel | Date: Wed Oct 15 22:02:11 2008 -0700 | | x86, AMD IOMMU: convert driver to generic iommu_num_pages function Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a9b43c7d9890066709609df849959009645c1a19 Author: Jaswinder Singh Date: Mon Dec 15 23:11:10 2008 +0530 x86: setup.c find_and_reserve_crashkernel should be static Impact: cleanup, reduce kernel size a bit Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit c0195b6da08c4ddd8c8ea830f6c3c40bc7f82071 Author: Jaswinder Singh Date: Mon Dec 15 22:26:30 2008 +0530 x86: ldt.c declare sys_modify_ldt before they get used Impact: cleanup In asm/syscalls.h moved out sys_modify_ldt from CONFIG_X86_32 as it is common for both 32 and 64 bit. Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit 7b5b50f1be9e07714cfaa620d102c8daf3cdd814 Author: Jaswinder Singh Date: Mon Dec 15 22:24:48 2008 +0530 x86: signal.c declare do_notify_resume before they get used Impact: cleanup In asm/signal.h moved out do_notify_resume from __i386__ as it is common for both 32 and 64 bit. Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar arch/x86/include/asm/signal.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit aab02f0ae20b8fe0fe891e9f107c6e392256ca01 Author: Jaswinder Singh Date: Mon Dec 15 22:23:54 2008 +0530 x86: process_64.c declare __switch_to() and sys_arch_prctl before they get used Impact: cleanup In asm/system.h moved out __switch_to from CONFIG_X86_32 as it is common for both 32 and 64 bit. In asm/pctl.h defined sys_arch_prctl Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit f63c2f248959366cd11bfa476f866737047cf663 Author: Tej Date: Tue Dec 16 11:56:06 2008 -0800 xen: whitespace/checkpatch cleanup Impact: cleanup Signed-off-by: Tej Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 40fb17152c50a69dc304dd632131c2f41281ce44 Author: Venki Pallipadi Date: Mon Nov 17 16:11:37 2008 -0800 x86: support always running TSC on Intel CPUs Impact: reward non-stop TSCs with good TSC-based clocksources, etc. Add support for CPUID_0x80000007_Bit8 on Intel CPUs as well. This bit means that the TSC is invariant with C/P/T states and always runs at constant frequency. With Intel CPUs, we have 3 classes * CPUs where TSC runs at constant rate and does not stop n C-states * CPUs where TSC runs at constant rate, but will stop in deep C-states * CPUs where TSC rate will vary based on P/T-states and TSC will stop in deep C-states. To cover these 3, one feature bit (CONSTANT_TSC) is not enough. So, add a second bit (NONSTOP_TSC). CONSTANT_TSC indicates that the TSC runs at constant frequency irrespective of P/T-states, and NONSTOP_TSC indicates that TSC does not stop in deep C-states. CPUID_0x8000000_Bit8 indicates both these feature bit can be set. We still have CONSTANT_TSC _set_ and NONSTOP_TSC _not_set_ on some older Intel CPUs, based on model checks. We can use TSC on such CPUs for time, as long as those CPUs do not support/enter deep C-states. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 7e91a122b11bb250d08ab125afd2c232c87502e1 Merge: 1bda712... d437797... Author: Ingo Molnar Date: Tue Dec 16 21:02:10 2008 +0100 Merge branch 'x86/cpufeature' into x86/tsc Merge itto in x86/tsc because an upcoming patch relies on a new cpuid bit defined in the x86/cpufeature branch. commit d4377974062122d6d9be0bbd8a910a0954714194 Author: Ingo Molnar Date: Tue Dec 16 20:59:24 2008 +0100 x86: support always running TSC on Intel CPUs, add cpufeature definition Impact: add new synthetic-cpuid bit definition add X86_FEATURE_NONSTOP_TSC to the cpufeature bits - this is in preparation of Venki's always-running-TSC patch. Signed-off-by: Ingo Molnar commit dd7a5230cd651bfb119d222561c4032f30dd5659 Merge: 050dc69... 8b1fae4... Author: Ingo Molnar Date: Tue Dec 16 20:57:41 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/cpufeature commit bacbe9994541c70aa3abd1a013ac738e58d4bfb2 Author: Janne Kulmala Date: Tue Dec 16 13:39:57 2008 +0200 x86: enable HPET on Fujitsu u9200 Impact: auto-enable HPET on Fujitsu u9200 HPET timer is listed in the ACPI table, but needs a quirk entry in order to work. Unfortunately, the quirk code runs after first HPET hpet_enable() which has already determined that the timer doesn't work (reads 0xFFFFFFFF). This patch allows hpet_enable() to be called again after running the quirk code. Signed-off-by: Janne Kulmala Signed-off-by: Ingo Molnar commit df23cab563912ba43f7e9bc8ac517e5a2ddc9cd2 Author: Andreas Herrmann Date: Tue Dec 16 19:22:36 2008 +0100 x86: microcode_amd: modify log messages Impact: change microcode printk content Change log level and provide (at least I tried to;-) consistent, short, meaningful content. Signed-off-by: Andreas Herrmann Cc: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 5549b94bc74c3e7edd44e0aeb7d9f773e82d2d20 Author: Andreas Herrmann Date: Tue Dec 16 19:21:30 2008 +0100 x86: microcode_amd: use 'packed' attribute for structs Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 98415301ea2dd389539ab429bcfa9da07219eabc Author: Andreas Herrmann Date: Tue Dec 16 19:20:21 2008 +0100 x86: microcode_amd: remove (wrong) chipset deivce ID checks Impact: remove dead/incorrect code Currently there is no chipset specific ucode. The checks are incorrect anyway (e.g. pci device IDs are 16 bit and not 8 bit). Thus I remove the stuff for the time being and will reintroduce it if it's foreseeable that it is really needed. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 6cc9b6d94b6fee23b0671970f67d297fa76b68b3 Author: Andreas Herrmann Date: Tue Dec 16 19:17:45 2008 +0100 x86: microcode_amd: consolidate macro definitions Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 29d0887ffd084cde9d6a1286cb82b71701a974dd Author: Andreas Herrmann Date: Tue Dec 16 19:16:34 2008 +0100 x86: microcode_amd: replace inline asm by common rdmsr/wrmsr functions Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 0657d9ebff186dcdb17e582dcb909028775a7707 Author: Andreas Herrmann Date: Tue Dec 16 19:14:05 2008 +0100 x86: microcode_amd: don't pass superfluous function pointer for get_ucode_data Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 8c135206c826095c852c16d94a0a74eeaf05c90d Author: Andreas Herrmann Date: Tue Dec 16 19:13:00 2008 +0100 x86: microcode_amd: fix compile warning Impact: fix build warning CC arch/x86/kernel/microcode_amd.o arch/x86/kernel/microcode_amd.c: In function ‘request_microcode_fw’: arch/x86/kernel/microcode_amd.c:393: warning: passing argument 2 of ‘generic_load_microcode’ discards qualifiers from pointer target type (Respect "const" qualifier of firmware->data.) Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit be957763b01905d33b53cdd25c8df110f94f499a Author: Andreas Herrmann Date: Tue Dec 16 19:11:23 2008 +0100 x86: microcode_amd: fix checkpatch warnings/errors Impact: cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 2a3282a77b02fb47576ffbdb4867c8c6eeb83ed5 Author: Andreas Herrmann Date: Tue Dec 16 19:08:53 2008 +0100 x86: microcode_amd: fix typos and trailing whitespaces in log messages Impact: fix printk typos Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 3c763fd77e66e55d029052da31df0abd9920cb1e Author: Andreas Herrmann Date: Tue Dec 16 19:07:47 2008 +0100 x86: microcode_amd: fix wrong handling of equivalent CPU id Impact: fix bug resulting in non-loaded AMD microcode mc_header->processor_rev_id is a 2 byte value. Similar is true for equiv_cpu in an equiv_cpu_entry -- only 2 bytes are of interest. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit b6fd6f26733e864fba2ea3eb1d716e23d2e66f3a Author: Ingo Molnar Date: Tue Dec 16 19:23:36 2008 +0100 x86, mm: limit MAXMEM on 64-bit on 64-bit x86 the physical memory limit is controlled by the sparsemem bits - which are 44 bits right now. But MAXMEM (the max pfn number e820 parsing will allow to enter our sizing routines) is set to 0x00003fffffffffff, i.e. 46 bits - that's too large because it overlaps into the vmalloc range. So couple MAXMEM to MAX_PHYSMEM_BITS, and add a comment that the maximum of MAX_PHYSMEM_BITS is 45 bits. Signed-off-by: Ingo Molnar commit cfc319833b5b359bf3bce99564dbac00af7925ac Author: Jan Beulich Date: Tue Dec 16 11:46:58 2008 +0000 x86, 32-bit: improve lazy TLB handling code Impact: micro-optimize the 32-bit TLB flush code Use the faster x86_{read,write}_percpu() accessors here. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit beeb4195cbc80b7489631361b7ed38b7518af433 Author: Jan Beulich Date: Tue Dec 16 11:45:56 2008 +0000 x86, 32-bit: add some compile time checks to mem_init() Some of the inconsistencies checked for at run time can be detected at build time already, so duplicate the checks done at run time to also be done at build time. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit d6be89ad660c5d03edef91715093d447025df59b Author: Jan Beulich Date: Tue Dec 16 11:42:45 2008 +0000 x86, 32-bit: simplify alloc_low_page() Impact: cleanup Neither of the callers really needs the physical address this function returns, so eliminate the pointless argument. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit b93a531e315e97ef00367099e6b5f19651936e20 Author: Jan Beulich Date: Tue Dec 16 11:40:27 2008 +0000 allow bug table entries to use relative pointers (and use it on x86-64) Impact: reduce bug table size This allows reducing the bug table size by half. Perhaps there are other 64-bit architectures that could also make use of this. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 1796316a8b028a148be48ba5d4e7be493a39d173 Author: Jan Beulich Date: Tue Dec 16 11:35:24 2008 +0000 x86: consolidate __swp_XXX() macros Impact: cleanup, code robustization The __swp_...() macros silently relied upon which bits are used for _PAGE_FILE and _PAGE_PROTNONE. After having changed _PAGE_PROTNONE in our Xen kernel to no longer overlap _PAGE_PAT, live locks and crashes were reported that could have been avoided if these macros properly used the symbolic constants. Since, as pointed out earlier, for Xen Dom0 support mainline likewise will need to eliminate the conflict between _PAGE_PAT and _PAGE_PROTNONE, this patch does all the necessary adjustments, plus it introduces a mechanism to check consistency between MAX_SWAPFILES_SHIFT and the actual encoding macros. This also fixes a latent bug in that x86-64 used a 6-bit mask in __swp_type(), and if MAX_SWAPFILES_SHIFT was increased beyond 5 in (the seemingly unrelated) linux/swap.h, this would have resulted in a collision with _PAGE_FILE. Non-PAE 32-bit code gets similarly adjusted for its pte_to_pgoff() and pgoff_to_pte() calculations. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit d072c25f531c6513994960401d2c7f059434c0d2 Author: Markus Metzger Date: Tue Dec 16 15:53:11 2008 +0100 x86, bts: correctly report invalid bts records Impact: change the reporting of empty BTS records Correctly report a cleared BTS record as invalid. Used to be reported as branch from 0 to 0. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit cc1dc6d039ced64c2f8b8457bf1cccf4ecfc5942 Author: Markus Metzger Date: Tue Dec 16 15:51:03 2008 +0100 x86, bts: remove recursion from get_context Impact: cleanup Optimistically allocate a DS context. It is extremely unlikely that one already existed. This simplifies the code a lot. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit d69e83d99cf87e3328c47bb54684360e32aef17d Author: Dave Kleikamp Date: Tue Dec 16 10:21:34 2008 -0600 jfs: ensure symlinks are NUL-terminated This is an alternate fix for a bug reported and fixed by Duane Griffin. Signed-off-by: Dave Kleikamp Reported-by: Duane Griffin commit 80eee6bca4069c48247005aa07cb5e8e86042aa3 Author: Sascha Hauer Date: Tue Dec 16 11:44:09 2008 +0100 i.MX Framebuffer: add TFT support With TFTs we can do 5/6/5 instead of 4/4/4. Add a bitfield for this and use it with TFTs. Acked-by: Krzysztof Helt Signed-off-by: Sascha Hauer commit 278892736e99330195c8ae5861bcd9d791bbf19e Author: Sascha Hauer Date: Tue Dec 16 11:44:09 2008 +0100 i.MX Framebuffer: rename imxfb_mach_info to imx_fb_platform_data rename imxfb_mach_info to a name more common to kernel hackers Signed-off-by: Sascha Hauer commit 66c8719b2edaa08f23f3106c697891e6c765bd7a Author: Sascha Hauer Date: Tue Dec 16 11:44:08 2008 +0100 i.MX Framebuffer: Cleanup Coding style Signed-off-by: Sascha Hauer commit 24b9baf7a5678b95edb2a358594abd54dc69f8a0 Author: Sascha Hauer Date: Tue Dec 16 11:44:08 2008 +0100 i.MX Framebuffer: remove header file Move contents of imxfb.h to imxfb.c since it is used only in this file Signed-off-by: Sascha Hauer commit d6ed5755ac26044473bcc9c9d2659624003652c8 Author: Sascha Hauer Date: Tue Dec 16 11:44:08 2008 +0100 i.MX Framebuffer: fix margins The upper/lower and left/right margins are mixed up in the driver. Fix it Acked-by: Krzysztof Helt Signed-off-by: Sascha Hauer commit 72330b0eeefc7abda35b5af55d0e2a9a3d05f04c Author: Juergen Beisert Date: Tue Dec 16 11:44:07 2008 +0100 i.MX Framebuffer: Use readl/writel instead of direct pointer deref This patch prepares the current i.MX1 framebuffer driver for usage in the whole i.MX family. It switches to readl/writel for register accesses. Also it moves the register definitions to the driver where they belong. Acked-by: Krzysztof Helt Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 74b114fe2cfff9986b2469b3eb0035ca3d325d00 Author: Sascha Hauer Date: Tue Dec 16 11:44:07 2008 +0100 i.MX Framebuffer: remove gpio setup function Remove the gpio mux setup function from i.MX framebuffer driver. This function is platform specific and thus should be done by the board setup. As there are currently no in-kernel users of this driver we do not break anything. Acked-by: Krzysztof Helt Signed-off-by: Sascha Hauer commit 60e8c5ab0b09e85de62008f508d8ddfa72c15c1b Author: Sascha Hauer Date: Tue Dec 16 11:44:06 2008 +0100 MAINTAINERS: Add myself as i.MX Framebuffer driver maintainer Signed-off-by: Sascha Hauer commit bb1f24bf00a85f666b56a09b7cdbfd221af16c2c Author: Ben Stanley Date: Mon Dec 15 23:38:12 2008 +1100 ALSA: ca0106 MSI K8N Diamond MB spi_dac 2->1 This patch removes an inconsistency that became apparent when I documented the fields of snd_ca0106_details. spi_dac is always used in a 'boolean' sense, so this cleanup should make no difference. [Actually, there is one place checking explicitly spi_dac == 1, so this will change the behavior. But, supposing it's rather a typo, I apply this clean-up patch -- tiwai] Signed-off-by: Ben Stanley Signed-off-by: Takashi Iwai commit f649a7145b8b67121e8be0b50f7861755f21aa3b Author: Ben Stanley Date: Fri Dec 12 09:47:13 2008 +1100 ALSA: ca0106 Add comments to snd_ca0106_details struct Takashi wrote an email [1] explaining the fields of snd_ca0106_details, so I captured the information into the ca0106.h header file. [1] http://article.gmane.org/gmane.linux.alsa.devel/56783/match=takashi+gpio_type Signed-off-by: Ben Stanley Signed-off-by: Takashi Iwai commit 47fee6fedd3ea08e9b0f1172bc74e59ee7a6b3d9 Author: Claudio Scordino Date: Tue Nov 11 10:56:36 2008 +0100 Unused variable 'reg' removed. Signed-off-by: Claudio Scordino Signed-off-by: Sascha Hauer commit d7927e19167680053f282fb4007e81c244ebf465 Author: Paulius Zaleckas Date: Fri Nov 14 11:01:39 2008 +0100 patch-mxc-fiq Drivers which are going to use it will have to select it and use mxc_set_irq_fiq() to set FIQ mode for this interrupt. Signed-off-by: Paulius Zaleckas Signed-off-by: Sascha Hauer commit bd006a9bfedadf1ed1af0393852d1e0101c39901 Author: Paulius Zaleckas Date: Fri Nov 14 11:01:39 2008 +0100 patch-mx1-UART-support Adds support for MX1 architecture to UART driver. Signed-off-by: Paulius Zaleckas Signed-off-by: Sascha Hauer commit 5032630f398a4e30371dd39fce28778eedcbb5b5 Author: Darius Augulis Date: Fri Nov 14 11:01:39 2008 +0100 patch-mx1-mtd-xip Adds MTD XIP support for ARCH_MX1. Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit 219fed7558346225bae3cfd8fdbf44876e5bf79f Author: Darius Augulis Date: Fri Nov 14 11:01:38 2008 +0100 patch-mx1-add-devices Adds common devices to ARCH_MX1. Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit cfca8b539f53114fb6a6de091987a984c8013d96 Author: Paulius Zaleckas Date: Fri Nov 14 11:01:38 2008 +0100 patch-mxc-add-ARCH_MX1 Adds MX1 architecture to platform MXC. It will supersede mach-imx and let it die. Signed-off-by: Paulius Zaleckas Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit d133d6a89340b7438038ed0407221c5277cb8a0e Author: Darius Augulis Date: Fri Nov 14 11:01:38 2008 +0100 patch-iomux-mx1-mx2-cleanup Fix GIUS register setup in the mxc_gpio_mode(). Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit 376a960ee6fc3107077e3b3987e10688ea01c207 Author: Valentin Longchamp Date: Fri Oct 24 15:22:52 2008 +0200 [ARM] MX31: defconfig for mx31moboard platform Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 988d2d49f767c2e9c5a082257ec4ca2ff30c2b68 Author: Valentin Longchamp Date: Sun Nov 23 17:35:08 2008 +0100 [ARM] MX31: basic support for mx31moboard platform Initial support for mx31moboard platfor with 3 serial ports and NOR Flash Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit a3cce2a8e2e7b09911ea97dbdd5236c60f202a16 Author: Valentin Longchamp Date: Fri Oct 24 15:10:32 2008 +0200 MX31: UART5 pins definition pins definition for UART5 when used in alternate mode 2 Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit d1b3cc6de8a145beabe62bde7999c61f63864eeb Author: Valentin Longchamp Date: Fri Oct 24 15:09:06 2008 +0200 MX31: definitions for UART2 pins UART2 pins when used in functionnal mode Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit df25f9da9fcc12193208e8da135c930924cd56c5 Author: Marc Kleine-Budde Date: Fri Oct 10 12:05:03 2008 +0200 imxmmc: use readl/writel Use readl/writel instead of direct pointer deref. Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 2507b0a33343552d2177b75dc35fe7073349b773 Author: Marc Kleine-Budde Date: Fri Oct 10 12:05:03 2008 +0200 imxmmc: Remove unused variables This removes clkrt and cmdat from struct imxmci_host, they are unused. Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 4b7c0e4cae35b49380ad69e668324d4d70b7fd4c Author: Marc Kleine-Budde Date: Fri Oct 10 12:05:03 2008 +0200 imxmmc: Checkpatch cleanup This cleans up the warnings issued by the checkpatch script and remove the file history from the header Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer commit 3287abbd71fded81469adce21628e838c566b86b Author: Sascha Hauer Date: Sun Nov 23 17:34:04 2008 +0100 [ARM] pcm037: add NAND support Signed-off-by: Sascha Hauer commit cb96cf1ad641334ca605cdf25841ac020d6ae01c Author: Sascha Hauer Date: Tue Nov 11 15:15:39 2008 +0100 [ARM] MX3: add NAND support Signed-off-by: Sascha Hauer commit 01f71a371969c753add171991d8f5ecce3b368d4 Author: Sascha Hauer Date: Tue Sep 9 11:30:58 2008 +0200 [ARM] pcm038: Add NAND support Signed-off-by: Sascha Hauer commit 02870978ea4b0a1bcae201f1b5f3a07344070398 Author: Sascha Hauer Date: Tue Sep 9 11:30:58 2008 +0200 [ARM] MX27: Add NAND resources This patch adds the platform device and resources for NAND on mx27 boards. Signed-off-by: Sascha Hauer commit 46c3d567af21cba107fef37b88a0d6ec6c35842f Author: Fabio Estevam Date: Wed Nov 12 15:38:40 2008 +0100 Add default configuration for MX31PDK board. Signed-off-by: Fabio Estevam Signed-off-by: sascha Hauer commit 1553a1ec833ddda51d57f66f8e00904b64b954c8 Author: Fabio Estevam Date: Wed Nov 12 15:38:39 2008 +0100 Add basic support for MX31PDK board. Add basic support to the MX31PDK development board, also known as MX31 3DS or MX31 3-stack board (http://www.freescale.com/imx31pdk). Signed-off-by: Fabio Estevam Signed-off-by: sascha Hauer commit 3dad21a95ba7a4159383dd170c3b0b5fedd0f5e2 Author: Sascha Hauer Date: Sun Nov 23 17:32:49 2008 +0100 [ARM] pcm037: Add support for SRAM device Signed-off-by: Sascha Hauer commit ba54b95899838610c8c23fb7ab88831016b81fb3 Author: Guennadi Liakhovetski Date: Tue Nov 11 15:12:00 2008 +0100 [ARM] pcm037: add support for the on-board LAN9217 network controller smc911x now also supports LAN921{5,7,8} network controllers. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 3620c0dccfd35cd39324508d8c962d10f9a44ead Author: Sascha Hauer Date: Sun Nov 23 17:31:46 2008 +0100 pcm038: add driver for static ram The pcm038 module (phyCORE-i.MX27) comes with a 512 KiB static RAM which can be battery buffered. Add mtd_ram support and configure the chip select line, to which the sram is attached. Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 4a7b98d7e7f1c05331bfa82e2427f896e57de35b Author: Guennadi Liakhovetski Date: Thu Nov 13 12:20:49 2008 +0100 i.MX31: fix mxc_iomux_set_pad() mxc_iomux_set_pad() is buggy on i.MX31 - it calculates the register and the offset therein wrongly. Fix it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 1d5aa17be13bafa6b104f4b46c958be3470b28ec Author: Sascha Hauer Date: Thu Nov 13 13:37:12 2008 +0100 [ARM] MX3 iomux: add more pin definitions Signed-off-by: Sascha Hauer commit 7bd1822135175354e1662cc890a156f1d89dc211 Author: Sascha Hauer Date: Tue Nov 4 16:48:46 2008 +0100 [ARM] MX1/MX2: simplify mxc_gpio_setup_multiple_pins mxc_gpio_setup_multiple_pins used to take several ALLOC_MODE flags. Most of them are unused, so simplify the function by removing the flags. Also, instead of using a confusing MXC_GPIO_ALLOC_MODE_RELEASE flag in a function having alloc in its name, add a mxc_gpio_release_multiple_pins function. Signed-off-by: Sascha Hauer commit d1900d3a18b114eabc15f6369f64439c248d55f3 Author: Julien Boibessot Date: Thu Oct 23 14:45:10 2008 +0200 [ARM] MX27: add i.MX27 SDHC1 and SDHC2 GPIO declarations Signed-off-by: Julien Boibessot Signed-off-by: Sascha Hauer commit 1e7f3f48b31c42b4fbb306fd1099f9d23f2407d9 Author: Sascha Hauer Date: Mon Sep 29 15:02:17 2008 +0200 MX27: Add USB pin function defines Signed-off-by: Sascha Hauer commit 8c8409539b1c2e0f803893ee9b8128ff855ec19b Author: Sascha Hauer Date: Wed Nov 5 18:27:14 2008 +0100 [ARM] MX27ads: remove unused define Signed-off-by: Sascha Hauer commit 7cb3f6d268d9a016554435bf93a818cbde342980 Author: Sascha Hauer Date: Tue Oct 14 14:51:25 2008 +0200 [ARM] MX2: Add IRQ_GPIOE definition The MX2 has 5 gpio ports, IRQ_GPIOE was missing so far. Signed-off-by: Sascha Hauer commit 619e15508b9926951d239f28ed77420aa9d00a62 Author: Sascha Hauer Date: Tue Oct 7 10:31:07 2008 +0200 MX27: Fix EMMA Base addresses The EMMA (Enhanced Multimedia Engine) is divided into two parts, the postprocessor and the preprocessor. Fix the base addresses. Signed-off-by: Sascha Hauer commit 31117b78ee843622cbc4c7c17c97be417c766385 Author: Takashi Iwai Date: Tue Dec 16 14:43:21 2008 +0100 ALSA: hda - Add Nvidia vendor id string Added Nvidia (0x10de) to the vendor id list. Cleaned up the codec name strings accordingly. Signed-off-by: Takashi Iwai commit c3895b01e80d120e8d19435f7cb1fa4c60c4e269 Merge: 3c68b4a... 968ea6d... Author: Ingo Molnar Date: Tue Dec 16 12:24:38 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-ingo into cpus4096 commit 3c68b4a8071fb11d905570d9b0e23034adc6c2bb Merge: 8299608... 5279585... Author: Ingo Molnar Date: Tue Dec 16 12:24:26 2008 +0100 Merge branch 'linus' into cpus4096 commit 33ebc19d5448aadb2ce4a865d7118f1c2f23fafe Author: Sascha Hauer Date: Tue Dec 16 12:17:47 2008 +0100 [ARM] MX2: DMA updates This one updates DMA support on MX2 which got broken in: [ARM] Hide ISA DMA API when ISA_DMA_API is unset Signed-off-by: Sascha Hauer commit e9515c3c9feecd74174c2998add0db51e02abb8d Author: Ken Chen Date: Mon Dec 15 22:04:15 2008 -0800 sched, cpuacct: export percpu cpuacct cgroup stats This patch export per-cpu CPU cycle usage for a given cpuacct cgroup. There is a need for a user space monitor daemon to track group CPU usage on per-cpu base. It is also useful for monitoring CFS load balancer behavior by tracking per CPU group usage. Signed-off-by: Ken Chen Reviewed-by: Li Zefan Reviewed-by: Andrew Morton Signed-off-by: Ingo Molnar commit 720f54988e17b33f3f477010b3a68ee872d20d5a Author: Ken Chen Date: Mon Dec 15 22:02:01 2008 -0800 sched, cpuacct: refactoring cpuusage_read / cpuusage_write Impact: micro-optimize the code on 64-bit architectures In the thread regarding to 'export percpu cpuacct cgroup stats' http://lkml.org/lkml/2008/12/7/13 akpm pointed out that current cpuacct code is inefficient. This patch refactoring the following: * make cpu_rq locking only on 32-bit * change iterator to each_present_cpu instead of each_possible_cpu to make it hotplug friendly. It's a bit of code churn, but I was rewarded with 160 byte code size saving on x86-64 arch and zero code size change on i386. Signed-off-by: Ken Chen Cc: Paul Menage Cc: Li Zefan Signed-off-by: Ingo Molnar commit 9dfc3bc7d21864d47797d64b8d531d4dbbc0b618 Merge: da485e0... cbc34ed... 2bed844... ffc2238... Author: Ingo Molnar Date: Tue Dec 16 12:03:38 2008 +0100 Merge branches 'tracing/fastboot', 'tracing/ftrace', 'tracing/function-graph-tracer' and 'tracing/hw-branch-tracing' into tracing/core commit e7aa6f46f6e4644d466e04f54b5750a91d188abf Author: Ben Dooks Date: Tue Dec 2 19:34:52 2008 +0000 [ARM] S3C: Add UART FIFO selection during arch decompression Add a configuration option to start the UART FIFOs during the decompressions sequence to improve boot time when the bootloader fails to enable the UART FIFOs. For example, the SMDK6410 UBoot 1.1.6 leaves the FIFOs off. Signed-off-by: Ben Dooks commit 13bd41bc227a48d6cf8992a3286bf6eba3c71a0c Author: KOSAKI Motohiro Date: Tue Dec 16 00:23:34 2008 -0800 proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ Impact: restructure code to fix compiler warning commit 240d367b4e6c6e3c5075e034db14dba60a6f5fa7 moved desc usage point into #ifdef CONFIG_SPARSE_IRQ. Eliminate the desc variable, otherwise following warning happens: fs/proc/stat.c: In function 'show_stat': fs/proc/stat.c:31: warning: unused variable 'desc' [ akpm: cleaned up the patch to remove #ifdef ] Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit a9c5d23ac724a3b908833cafbbbd49abe4741b86 Author: Matt Hsu Date: Tue Dec 2 19:03:28 2008 +0000 [ARM] S3C64XX: Correct the EINT IRQ type configuration Select the correct EINT configuration register when configuring the external interrupt level/edge type. Signed-off-by: Matt Hsu [ben-linux@fluff.org: description improvement] Signed-off-by: Ben Dooks commit 11e3bd09231bbc0188e0b7a2f3da3920fc74af83 Author: Kyungmin Park Date: Tue Nov 25 17:05:22 2008 +0900 [ARM] S3C64XX: Mask the pll values correctly Correct the PLL field masks to ensure the PLL functions return the right value. Signed-off-by: Kyungmin Park [ben-linux@fluff.org: improve the description text] Signed-off-by: Ben Dooks commit e4ea803ab0fcf985c2a2d24bc905a3cf9138e251 Author: Kyungmin Park Date: Tue Nov 25 16:59:54 2008 +0900 [ARM] S3C64XX: Show uncompress messages Fix the initialisation of the fifo data in the uncompression serial routines to ensure that if the FIFO is enabled, that the serial output is not corrupted. Signed-off-by: Kyungmin Park [ben-linux@fluff.org: edit description to add more detail] Signed-off-by: Ben Dooks commit 9d325f23416d1525401d43442bafca2bb254ab74 Author: Ben Dooks Date: Fri Nov 21 10:36:05 2008 +0000 [ARM] S3C: Update time initialisation to fix S3C64XX time problems The S3C64XX timer is running at the wrong rate due to the assumptions made in the timer initialisation about the way the pwm dividers work. This means that time on the S3C64XX runs twice as fast as it should. Fix the problem by moving to using the clk framework to setup the pwm timer clock muxes, as the pwm-clock code has all the necessary knowledge of how the timer clock inputs are routed. Signed-off-by: Ben Dooks commit 9f690db7ff4cb32493c0b0b13334cc4f5fd49a6b Author: Yang Hongyang Date: Tue Dec 16 02:08:29 2008 -0800 ipv6: fix the outgoing interface selection order in udpv6_sendmsg() 1.When no interface is specified in an IPV6_PKTINFO ancillary data item, the interface specified in an IPV6_PKTINFO sticky optionis is used. RFC3542: 6.7. Summary of Outgoing Interface Selection This document and [RFC-3493] specify various methods that affect the selection of the packet's outgoing interface. This subsection summarizes the ordering among those in order to ensure deterministic behavior. For a given outgoing packet on a given socket, the outgoing interface is determined in the following order: 1. if an interface is specified in an IPV6_PKTINFO ancillary data item, the interface is used. 2. otherwise, if an interface is specified in an IPV6_PKTINFO sticky option, the interface is used. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit f250dcdac111a8369220b8e192eae6c56dc1098a Author: Yang Hongyang Date: Tue Dec 16 02:07:45 2008 -0800 ipv6: fix the return interface index when get it while no message is received When get receiving interface index while no message is received, the the value seted with setsockopt() should be returned. RFC 3542: Issuing getsockopt() for the above options will return the sticky option value i.e., the value set with setsockopt(). If no sticky option value has been set getsockopt() will return the following values: - For the IPV6_PKTINFO option, it will return an in6_pktinfo structure with ipi6_addr being in6addr_any and ipi6_ifindex being zero. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit b24a2516d10751d7ed5afb58420df25370c9dffb Author: Yang Hongyang Date: Tue Dec 16 02:06:23 2008 -0800 ipv6: Add IPV6_PKTINFO sticky option support to setsockopt() There are three reasons for me to add this support: 1.When no interface is specified in an IPV6_PKTINFO ancillary data item, the interface specified in an IPV6_PKTINFO sticky optionis is used. RFC3542: 6.7. Summary of Outgoing Interface Selection This document and [RFC-3493] specify various methods that affect the selection of the packet's outgoing interface. This subsection summarizes the ordering among those in order to ensure deterministic behavior. For a given outgoing packet on a given socket, the outgoing interface is determined in the following order: 1. if an interface is specified in an IPV6_PKTINFO ancillary data item, the interface is used. 2. otherwise, if an interface is specified in an IPV6_PKTINFO sticky option, the interface is used. 2.When no IPV6_PKTINFO ancillary data is received,getsockopt() should return the sticky option value which set with setsockopt(). RFC 3542: Issuing getsockopt() for the above options will return the sticky option value i.e., the value set with setsockopt(). If no sticky option value has been set getsockopt() will return the following values: 3.Make the setsockopt implementation POSIX compliant. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit b09bcdd4c2f52b54115895c4d62ad82918f71431 Author: Ben Dooks Date: Fri Nov 21 10:36:03 2008 +0000 [ARM] S3C64XX: Update TCFG for new timer divider settings. The S3C64XX series has a new TCFG divider setting to allow the clock directly through, which means that we need to update the pwm-clock code to cope with this. Add containing the specific code to deal with the TCFG divider settings and provide any other per-arch data that the pwm-clock driver needs to function. Signed-off-by: Ben Dooks commit bc02ff95fe4ebd3e5ee7455c0aa6f76ebe39ebca Author: Steve Glendinning Date: Tue Dec 16 02:00:48 2008 -0800 net: Refactor full duplex flow control resolution These 4 drivers have identical full duplex flow control resolution functions. This patch changes them all to use one common function. The function in question decides whether a device should enable TX and RX flow control in a standard way (IEEE 802.3-2005 table 28B-3), so this should also be useful for other drivers. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit e18ce3465477502108187c6c08b6423fb784a313 Author: Steve Glendinning Date: Tue Dec 16 02:00:00 2008 -0800 net: Move flow control definitions to mii.h flags used within drivers for indicating tx and rx flow control are defined in 4 drivers (and probably more), move these constants to mii.h. The 3 SMSC drivers use the same constants (FLOW_CTRL_TX), but TG3 uses TG3_FLOW_CTRL_TX, so this patch also renames the constants within TG3. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit f9867328f9e1c3fceb8593f84b980aa1d648ce9c Author: Alexey Dobriyan Date: Tue Dec 16 01:55:38 2008 -0800 simeth: convert to net_device_ops Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8207befa199c9ade670d1cf9a5bcdc76310751bd Author: Divy Le Ray Date: Tue Dec 16 01:51:47 2008 -0800 cxgb3: untie strict FW matching The NIC driver can work with mutliple versions of the FW. Let the driver load when the embedded FW does not match, and the FW update mechanism failed. The iWARP module will make its own loading decision. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5ad258c0a85a7cc03c46874e8a26c7e9b4dfb90d Author: Oliver Hartkopp Date: Tue Dec 16 01:42:50 2008 -0800 vcan: convert to net_device_ops Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit ffcebb163c6ddba11abd2e8aabc7a8a88982e4f4 Author: James Chapman Date: Tue Dec 16 01:23:49 2008 -0800 l2tp: fix UDP checksum support The pppol2tp driver has had broken UDP checksum code for a long time. This patch fixes it. If UDP checksums are enabled in the tunnel's UDP socket, the L2TP driver now properly validates the checksum on receive and fills in the checksum on transmit. If the network device has hardware checksum support and is enabled, it is used instead of generating/checking the checksum in software. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 09a2c3c0d3d3550675b766aa5edc28ffee79d7ab Author: Rémi Denis-Courmont Date: Tue Dec 16 01:18:31 2008 -0800 Phonet: improve GPRS variable names Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 4ee59d54c3f91f1f3ad7f2856b27981414430f9e Author: Hannes Eder Date: Tue Dec 16 01:17:33 2008 -0800 isdn: eicon: fix sparse warning: make global functions static Fix this sparse warnings by making the functions static: drivers/isdn/hardware/eicon/di.c:356:6: warning: symbol 'isdn_rc' was not declared. Should it be static? drivers/isdn/hardware/eicon/di.c:558:6: warning: symbol 'isdn_ind' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:595:6: warning: symbol 'api_parse' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:634:6: warning: symbol 'api_save_msg' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:666:6: warning: symbol 'api_load_msg' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3417:6: warning: symbol 'manufacturer_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3745:6: warning: symbol 'manufacturer_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4077:6: warning: symbol 'control_rc' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4743:6: warning: symbol 'data_rc' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4779:6: warning: symbol 'data_ack' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:4805:6: warning: symbol 'sig_ind' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:6173:6: warning: symbol 'SendInfo' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:6349:6: warning: symbol 'SendMultiIE' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:6468:6: warning: symbol 'nl_ind' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7250:6: warning: symbol 'get_plci' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7409:6: warning: symbol 'add_d' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7427:6: warning: symbol 'add_ai' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7448:6: warning: symbol 'add_b1' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:7912:6: warning: symbol 'add_b23' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8709:6: warning: symbol 'nl_req_ncci' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8731:6: warning: symbol 'send_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8866:6: warning: symbol 'listen_check' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8909:6: warning: symbol 'IndParse' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8994:6: warning: symbol 'ie_compare' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9003:6: warning: symbol 'find_cip' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9071:6: warning: symbol 'SetVoiceChannel' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9089:6: warning: symbol 'VoiceChannelOff' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9102:6: warning: symbol 'AdvCodecSupport' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:9198:6: warning: symbol 'CodecIdCheck' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 205516c12dbba003c26b42cfb41e598631300106 Author: Ken Chen Date: Tue Dec 16 00:32:21 2008 -0800 x86: convert rdtscll() to use __native_read_tsc Impact: micro-optimization Is there any reason why x86 rdtscll have to use the out of line function instead of inline __native_read_tsc()? native_read_tsc and __native_read_tsc is essentially the same functions. Patch to let x86 rdtscll() to use the inline version of read_tsc. Signed-off-by: Ken Chen Signed-off-by: Ingo Molnar commit b1879204dda06a92a4ff55b681c99ee185180003 Author: Ilpo Järvinen Date: Tue Dec 16 01:15:11 2008 -0800 ipmr: merge common code Also removes redundant skb->len < x check which can't be true once pskb_may_pull(skb, x) succeeded. $ diff-funcs pim_rcv ipmr.c ipmr.c pim_rcv_v1 --- ipmr.c:pim_rcv() +++ ipmr.c:pim_rcv_v1() @@ -1,22 +1,27 @@ -static int pim_rcv(struct sk_buff * skb) +int pim_rcv_v1(struct sk_buff * skb) { - struct pimreghdr *pim; + struct igmphdr *pim; struct iphdr *encap; struct net_device *reg_dev = NULL; if (!pskb_may_pull(skb, sizeof(*pim) + sizeof(*encap))) goto drop; - pim = (struct pimreghdr *)skb_transport_header(skb); - if (pim->type != ((PIM_VERSION<<4)|(PIM_REGISTER)) || - (pim->flags&PIM_NULL_REGISTER) || - (ip_compute_csum((void *)pim, sizeof(*pim)) != 0 && - csum_fold(skb_checksum(skb, 0, skb->len, 0)))) + pim = igmp_hdr(skb); + + if (!mroute_do_pim || + skb->len < sizeof(*pim) + sizeof(*encap) || + pim->group != PIM_V1_VERSION || pim->code != PIM_V1_REGISTER) goto drop; - /* check if the inner packet is destined to mcast group */ encap = (struct iphdr *)(skb_transport_header(skb) + - sizeof(struct pimreghdr)); + sizeof(struct igmphdr)); + /* + Check that: + a. packet is really destinted to a multicast group + b. packet is not a NULL-REGISTER + c. packet is not truncated + */ if (!ipv4_is_multicast(encap->daddr) || encap->tot_len == 0 || ntohs(encap->tot_len) + sizeof(*pim) > skb->len) @@ -40,9 +45,9 @@ skb->ip_summed = 0; skb->pkt_type = PACKET_HOST; dst_release(skb->dst); + skb->dst = NULL; reg_dev->stats.rx_bytes += skb->len; reg_dev->stats.rx_packets++; - skb->dst = NULL; nf_reset(skb); netif_rx(skb); dev_put(reg_dev); $ codiff net/ipv4/ipmr.o.old net/ipv4/ipmr.o.new net/ipv4/ipmr.c: pim_rcv_v1 | -283 pim_rcv | -284 2 functions changed, 567 bytes removed net/ipv4/ipmr.c: __pim_rcv | +307 1 function changed, 307 bytes added net/ipv4/ipmr.o.new: 3 functions changed, 307 bytes added, 567 bytes removed, diff: -260 (Tested on x86_64). It seems that pimlen arg could be left out as well and eq-sizedness of structs trapped with BUILD_BUG_ON but I don't think that's more than a cosmetic flaw since there aren't that many args anyway. Compile tested. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c40cf519f0c0f0cb0579d853949ef517a8bb494d Author: Ilpo Järvinen Date: Tue Dec 16 01:14:21 2008 -0800 hp100: use roundup instead of open coding Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 82ad33297410c1af8e993210da76e114a4c1670d Author: Divy Le Ray Date: Tue Dec 16 01:09:39 2008 -0800 cxgb3: Add multiple Tx queue support. Implement NIC Tx multiqueue. Bump up driver version. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 34f28ecd0f4bdc733c681294d02d9fab5880591b Author: Peter Zijlstra Date: Tue Dec 16 08:45:31 2008 +0100 sched: optimize update_curr() Impact: micro-optimization Skip the hard work when there is none. Signed-off-by: Peter Zijlstra Acked-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 03e89e4574a680af15f59329b061f35d9813aff4 Author: Mike Galbraith Date: Tue Dec 16 08:45:30 2008 +0100 sched: fix wakeup preemption clock Impact: sharpen the wakeup-granularity to always be against current scheduler time It was possible to do the preemption check against an old time stamp. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7b6c32daec3bff380ced6822002bc352bdf2c982 Author: Xiaochuan-Xu Date: Mon Dec 15 21:07:41 2008 +0800 UBI: simplify PEB protection code UBI has 2 RB-trees to implement PEB protection, which is too much for simply prevent PEB from being moved for some time. This patch implements this using lists. The benefits: 1. No need to allocate protection entry on each PEB get. 2. No need to maintain balanced trees and walk them. Signed-off-by: Xiaochuan-Xu Signed-off-by: Artem Bityutskiy commit 89c88b16f12e9df9ac39418638f267ec3b36a6c6 Author: Herbert Xu Date: Mon Dec 15 23:46:15 2008 -0800 e1000e: Add GRO support This patch adds GRO support to e1000e by making it invoke napi_gro_receive instead of netif_receive_skb. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b240a0e5644eb817c4a397098a40e1ad42a615bc Author: Herbert Xu Date: Mon Dec 15 23:44:31 2008 -0800 ethtool: Add GGRO and SGRO ops This patch adds the ethtool ops to enable and disable GRO. It also makes GRO depend on RX checksum offload much the same as how TSO depends on SG support. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bf296b125b21b8d558ceb6ec30bb4eba2730cd6b Author: Herbert Xu Date: Mon Dec 15 23:43:36 2008 -0800 tcp: Add GRO support This patch adds the TCP-specific portion of GRO. The criterion for merging is extremely strict (the TCP header must match exactly apart from the checksum) so as to allow refragmentation. Otherwise this is pretty much identical to LRO, except that we support the merging of ECN packets. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 71d93b39e52e92aea35f1058d957cf12250d0b75 Author: Herbert Xu Date: Mon Dec 15 23:42:33 2008 -0800 net: Add skb_gro_receive This patch adds the helper skb_gro_receive to merge packets for GRO. The current method is to allocate a new header skb and then chain the original packets to its frag_list. This is done to make it easier to integrate into the existing GSO framework. In future as GSO is moved into the drivers, we can undo this and simply chain the original packets together. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 73cc19f1556b95976934de236fd9043f7208844f Author: Herbert Xu Date: Mon Dec 15 23:41:09 2008 -0800 ipv4: Add GRO infrastructure This patch adds GRO support for IPv4. The criteria for merging is more stringent than LRO, in particular, we require all fields in the IP header to be identical except for the length, ID and checksum. In addition, the ID must form an arithmetic sequence with a difference of one. The ID requirement might seem overly strict, however, most hardware TSO solutions already obey this rule. Linux itself also obeys this whether GSO is in use or not. In future we could relax this rule by storing the IDs (or rather making sure that we don't drop them when pulling the aggregate skb's tail). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d565b0a1a9b6ee7dff46e1f68b26b526ac11ae50 Author: Herbert Xu Date: Mon Dec 15 23:38:52 2008 -0800 net: Add Generic Receive Offload infrastructure This patch adds the top-level GRO (Generic Receive Offload) infrastructure. This is pretty similar to LRO except that this is protocol-independent. Instead of holding packets in an lro_mgr structure, they're now held in napi_struct. For drivers that intend to use this, they can set the NETIF_F_GRO bit and call napi_gro_receive instead of netif_receive_skb or just call netif_rx. The latter will call napi_receive_skb automatically. When napi_gro_receive is used, the driver must either call napi_complete/napi_rx_complete, or call napi_gro_flush in softirq context if the driver uses the primitives __napi_complete/__napi_rx_complete. Protocols will set the gro_receive and gro_complete function pointers in order to participate in this scheme. In addition to the packet, gro_receive will get a list of currently held packets. Each packet in the list has a same_flow field which is non-zero if it is a potential match for the new packet. For each packet that may match, they also have a flush field which is non-zero if the held packet must not be merged with the new packet. Once gro_receive has determined that the new skb matches a held packet, the held packet may be processed immediately if the new skb cannot be merged with it. In this case gro_receive should return the pointer to the existing skb in gro_list. Otherwise the new skb should be merged into the existing packet and NULL should be returned, unless the new skb makes it impossible for any further merges to be made (e.g., FIN packet) where the merged skb should be returned. Whenever the skb is merged into an existing entry, the gro_receive function should set NAPI_GRO_CB(skb)->same_flow. Note that if an skb merely matches an existing entry but can't be merged with it, then this shouldn't be set. If gro_receive finds it pointless to hold the new skb for future merging, it should set NAPI_GRO_CB(skb)->flush. Held packets will be flushed by napi_gro_flush which is called by napi_complete and napi_rx_complete. Currently held packets are stored in a singly liked list just like LRO. The list is limited to a maximum of 8 entries. In future, this may be expanded to use a hash table to allow more flows to be held for merging. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1a881f27c50b4fbd6858a8696a189263621136b0 Author: Herbert Xu Date: Mon Dec 15 23:27:47 2008 -0800 net: Add frag_list support to GSO This patch allows GSO to handle frag_list in a limited way for the purposes of allowing packets merged by GRO to be refragmented on output. Most hardware won't (and aren't expected to) support handling GRO frag_list packets directly. Therefore we will perform GSO in software for those cases. However, for drivers that can support it (such as virtual NICs) we may not have to segment the packets at all. Whether the added overhead of GRO/GSO is worthwhile for bridges and routers when weighed against the benefit of potentially increasing the MTU within the host is still an open question. However, for the case of host nodes this is undoubtedly a win. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 89319d3801d1d3ac29c7df1f067038986f267d29 Author: Herbert Xu Date: Mon Dec 15 23:26:06 2008 -0800 net: Add frag_list support to skb_segment This patch adds limited support for handling frag_list packets in skb_segment. The intention is to support GRO (Generic Receive Offload) packets which will be constructed by chaining normal packets using frag_list. As such we require all frag_list members terminate on exact MSS boundaries. This is checked using BUG_ON. As there should only be one producer in the kernel of such packets, namely GRO, this requirement should not be difficult to maintain. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b53c7583e26746ef6f66c866841e10450150ed8e Author: Kay Sievers Date: Thu Dec 4 10:01:52 2008 -0800 rapidio: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Matt Porter Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: Paul Mackerras commit aab0d375e01d8c16e7e5b9bd915dfaa0a815418f Author: Kay Sievers Date: Thu Dec 4 10:02:56 2008 -0800 powerpc: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Geoff Levand Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: Paul Mackerras commit f63837f0581fe580168ae1a7d178ded935411747 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:51 2008 +0000 powerpc/mm: Remove flush_HPTE() The function flush_HPTE() is used in only one place, the implementation of DEBUG_PAGEALLOC on ppc32. It's actually a dup of flush_tlb_page() though it's -slightly- more efficient on hash based processors. We remove it and replace it by a direct call to the hash flush code on those processors and to flush_tlb_page() for everybody else. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e41e811a79a4e328005be2744c3076ebde455088 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:39 2008 +0000 powerpc/mm: Rename tlb_32.c and tlb_64.c to tlb_hash32.c and tlb_hash64.c This renames the files to clarify the fact that they are used by the hash based family of CPUs (the 603 being an exception in that family but is still handled by that code). This paves the way for the new tlb_nohash.c coming via a subsequent commit. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 1a37a3fd7f12d8f9f720cceec84e23152e116668 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:24 2008 +0000 powerpc/mm: Add local_flush_tlb_mm() to SW loaded TLB implementations This adds a local_flush_tlb_mm() call as a pre-requisite for some SMP work for BookE processors. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit a58f053b93e15b68e7b5f442316329f68269c8d5 Author: Benjamin Herrenschmidt Date: Sun Dec 14 19:44:13 2008 +0000 powerpc: Fix asm EMIT_BUG_ENTRY with !CONFIG_BUG Instead of not defining it at all, this defines the macro as being empty, thus avoiding ifdef's in call sites when CONFIG_BUG is not set. Also removes an extra whitespace in the existing definition. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3045b3cb0b068c9f7601786841cda1e0b4647bd9 Author: FUJITA Tomonori Date: Sat Dec 13 17:44:59 2008 +0000 powerpc: Remove dead BIO_VMERGE_BOUNDARY definition The block layer dropped the virtual merge feature (b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5). BIO_VMERGE_BOUNDARY definition is meaningless now (For POWER, BIO_VMERGE_BOUNDARY has been meaningless for a long time since POWER disables the virtual merge feature). Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 7fe519c207e3400dea6d67e1d483a16b11608423 Author: Josh Boyer Date: Thu Dec 11 09:46:44 2008 +0000 powerpc: Introduce ppc_pci_flags accessors Currently there are a number of platforms that open code access to the ppc_pci_flags global variable. However, that variable is not present if CONFIG_PCI is not set, which can lead to a build break. This introduces a number of accessor functions that are defined to be empty in the case of CONFIG_PCI being disabled. The various platform files in the kernel are updated to use these. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit edc72ac4a0894247a6d3f1157a8ec8d603fff52d Author: Nathan Lynch Date: Thu Dec 11 09:14:25 2008 +0000 powerpc/pseries: Check for GIQ indicator before calling set-indicator Since "Factor out cpu joining/unjoining the GIQ" (b4963255ad5a426f04a0bb15c4315fa4bb40cde9) the WARN_ON in xics_set_cpu_giq() is being triggered during boot on JS20 because the GIQ indicator is not available on that platform. While the warning is harmless and the system runs normally, it's nicer to check for the existence of the indicator before trying to manipulate it. Implement rtas_indicator_present(), which searches the /rtas/rtas-indicators property for the given indicator token, and use this function in xics_set_cpu_giq(). Also use a WARN statement in xics_set_cpu_giq to get better information on failure. Signed-off-by: Nathan Lynch Acked-by: Milton Miller Signed-off-by: Paul Mackerras commit 6ff04c53db97c896ecca9374c0be4f681cf5fe50 Author: Nathan Lynch Date: Wed Dec 10 14:28:42 2008 +0000 powerpc/powermac: Use set_hard_smp_processor_id() instead of smp_hw_index The hard_smp_processor_id functions are the appropriate interfaces for managing physical CPU ids. Signed-off-by: Nathan Lynch Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 13a9801eb669d567ab2c8f8db5e50557fef5f636 Author: Nathan Lynch Date: Wed Dec 10 14:28:41 2008 +0000 powerpc: Move smp_hw_index to 32-bit code smp_hw_index isn't used on 64-bit, so move it from smp.c to setup_32.c. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 6b82b3e4b54b2fce2ca11976c535012b836b2016 Author: Anton Vorontsov Date: Tue Dec 9 09:47:29 2008 +0000 powerpc: Remove `have_of' global variable The `have_of' variable is a relic from the arch/ppc time, it isn't useful nowadays. Signed-off-by: Anton Vorontsov Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit eb14f019597cd86c21a6c601d7e900f40030c2e7 Merge: 9a4a842... a3dd154... Author: David S. Miller Date: Mon Dec 15 20:03:50 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/e1000e/ich8lan.c commit 0efbb57e06d881a39a7f261e5c33558aedec0f79 Author: Becky Bruce Date: Thu Dec 4 08:12:40 2008 +0000 powerpc: Fix !CONFIG_PPC_NEED_DMA_SYNC_OPS build warning Change #define stubs of dma_sync ops to be empty static inlines to avoid build warning. Signed-off-by: Becky Bruce Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 46d01492b2c50791b9b66f9b9154ac8d25acaeb9 Author: Geert Uytterhoeven Date: Wed Dec 3 13:52:21 2008 +0000 powerpc/ps3: Add sub-match id modalias support commit 059e4938f8b060b10c4352e6c45739473bc73267 ("powerpc/ps3: Add a sub-match id to ps3_system_bus") forgot to update the module alias support: - Add the sub-match ids to the module aliases, so udev can distinguish between different types of sub-devices. - Rename PS3_MODULE_ALIAS_GRAPHICS to PS3_MODULE_ALIAS_GPU_FB, as ps3fb binds to the "FB" sub-device. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 62d80749addc969803a173573889f9b01d2459e1 Author: Geoff Levand Date: Wed Dec 3 13:52:15 2008 +0000 powerpc/ps3: Quiet dmesg output Change the debug message in dma_sb_region_create() from pr_info() to DBG() to quiet the dmesg output. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 15cb1cc981183861e4e653b67a0ea451f720af85 Author: Geoff Levand Date: Wed Dec 3 13:52:05 2008 +0000 powerpc: Fix typo in pgtable-ppc64.h Fix a minor comment typo in pgtable-ppc64.h. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 29e931c02b0e54f3d36b930c118e69b507b4b6ff Author: Nicolas Palix Date: Tue Dec 2 03:34:46 2008 +0000 powerpc/chrp: Add missing of_node_put in pci.c of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; statement S1,S2; expression E,E1; expression *ptr != NULL; @@ ( if (!(n@p1 = of_find_node_by_name(...))) S1 | n@p1 = of_find_node_by_name(...) ) <... when != of_node_put(n) when != if (...) { <+... of_node_put(n) ...+> } when != true !n || ... when != n = E when != E = n if (!n || ...) S2 ...> ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | n = E1 | E1 = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1e1c568d6c66d1e2e345fd15e2a1ceafc5d7e33a Merge: 91cac62... 23e0e8a... Author: Paul Mackerras Date: Tue Dec 16 14:38:58 2008 +1100 Merge branch 'merge' into next commit 438a5d42e052ec6126c5f1e24763b711210db33e Author: Ben Dooks Date: Wed Nov 19 15:41:34 2008 +0000 [ARM] SMDK6410: Add LCD (LCD48WVGA) definitions Add support for the LCD 48WVGA module attached to the SMDK6410. Signed-off-by: Ben Dooks commit c7a0401e61447ebc2b7a8923c78875a2c300e548 Author: Ben Dooks Date: Wed Nov 19 15:41:33 2008 +0000 [ARM] S3C64XX: Add standard S3C64XX 24BPP LCD GPIO setup Add a standard helper to configure the LCD output pins for a 24BPP display with VSYNC/HSYNC/VDEN. Signed-off-by: Ben Dooks commit 58435f7b2d1aa1ca1b08a2eecc36e13291342cfc Author: Ben Dooks Date: Wed Nov 19 15:41:31 2008 +0000 [ARM] S3C: Add new FB device definition Add a device definition for the new S3C framebuffer driver. Signed-off-by: Ben Dooks commit 1aba834da12989bb769d1dcbf6b0ea29f730c92c Author: Ben Dooks Date: Fri Oct 31 16:14:55 2008 +0000 [ARM] S3C: Add i2c1 device definition Add device definition and support functions for the second i2c device (i2c1). If this is selected, the first i2c bus will become index 0 instead of index -1. Signed-off-by: Ben Dooks commit 8f995cc3ac94b114fe84782b023d8706d1adf960 Author: Ben Dooks Date: Wed Nov 19 15:41:30 2008 +0000 [ARM] S3C: Add register defines for new style framebuffer Provide the initial register definitions for the newer style of framebuffer cores found in the Samsung SoCs such as S3C2450, S3C64XX. Signed-off-by: Ben Dooks commit 713e9dede63c775cb42c63178a6447f2c28ec2cd Author: Ben Dooks Date: Fri Oct 31 16:29:19 2008 +0000 [ARM] S3C: Fix SDHCI setup compilation Fix the compilation of the SDHCI configuration/setup functions to depend on their respective configuration variables. Signed-off-by: Ben Dooks commit d6bc5f70e04168a3240f3ad7948415798128b949 Author: Ben Dooks Date: Mon Nov 3 20:14:57 2008 +0000 [ARM] S3C6410: Fix gpio configuration for channel 1. Select the correct GPIO configuration function for channel 1 Signed-off-by: Ben Dooks commit c33e14c724406d987111ee73f1c5335a1f450473 Author: Ben Dooks Date: Mon Nov 3 20:14:56 2008 +0000 [ARM] s3c6400_defconfig: Add SDHCI driver Add the Samsung SDHCI driver to the build. Signed-off-by: Ben Dooks commit 6c874d6fa851191bd8b9c0fce39a2d3c1ee06f96 Author: Ben Dooks Date: Mon Nov 3 20:14:55 2008 +0000 [ARM] s3c6400_defconfig: Add I2C driver and devices Add the new I2C driver and the EEPROM devices to the system, as well as update to the latest kernel. Signed-off-by: Ben Dooks commit b24636cff11fc7953e3a7f1a9b905349c0b838bf Author: Ben Dooks Date: Mon Nov 3 20:14:53 2008 +0000 [ARM] SMDK6410: Add availability of second hsmmc channel Add SDHCI channel 1. Signed-off-by: Ben Dooks commit 44539a711217898358ae456fc0f81f5f4652abd5 Author: Ben Dooks Date: Mon Nov 3 14:56:25 2008 +0000 [ARM] S3C64XX: Fix MMC0 clock source register mask Fix the definition of the MMC0 register shift and mask in the CLKSRC register. Signed-off-by: Ben Dooks commit 6a5f4b8535868ada539ea2479d4f0a6c694b3908 Author: Ben Dooks Date: Fri Oct 31 16:15:01 2008 +0000 [ARM] S3C64XX: Fix missing definition of s3c64xx_init_io() The function s3c64xx_init_io was missing from and was masked by the SMDK6410 having an local definition. Fix by removing the SMDK6410 variant and adding it to the relevant file. Signed-off-by: Ben Dooks commit 4f507d19ca9e2d703527072f7d8eeb0f0241d6b9 Author: Ben Dooks Date: Fri Oct 31 16:15:00 2008 +0000 [ARM] S3C: Add header for initial i2c device core setup. Add a header to define setup functions for the i2c devices. Signed-off-by: Ben Dooks commit 096941ed1e4b3ded5eded1b3f4208b8e35d5d3c3 Author: Ben Dooks Date: Fri Oct 31 16:14:59 2008 +0000 [ARM] SMDK6410: Add I2C device board information Add the I2C devices on the SMDK6410. Signed-off-by: Ben Dooks commit d7ea3743ca9939eb71931dedb613d14ff7201d02 Author: Ben Dooks Date: Fri Oct 31 16:14:57 2008 +0000 [ARM] SMDK6410: Add second I2C channel. Add the second I2C channel on the SMDK6410. Signed-off-by: Ben Dooks commit f9e2f3453c2357b56870b483fbc4bfd950456625 Author: Ben Dooks Date: Fri Oct 31 16:14:56 2008 +0000 [ARM] S3C64XX: Setup functions for i2c bus 1. Add common gpio setup for i2c bus 1 on all current S3C64XX architectures. Signed-off-by: Ben Dooks commit d85fa24c517b5f67646ed42bffa870bcf8bdda63 Author: Ben Dooks Date: Fri Oct 31 16:14:52 2008 +0000 [ARM] SMDK6410: Add i2c device Add i2c bus 0 to the configuration Signed-off-by: Ben Dooks commit 55132b8b4630a4b03d5c5556808c8d3866381536 Author: Ben Dooks Date: Fri Oct 31 16:14:51 2008 +0000 [ARM] S3C64XX: Add i2c device setup for I2C device 0 Add the necessary device initialisation information for I2C device 0. Signed-off-by: Ben Dooks commit 26da1bfc567e10ca20cf2ffa97dcdcbd5112275b Author: Ben Dooks Date: Fri Oct 31 16:14:50 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS N,O,P,Q GPIO register and configuration definitions for GPIO banks N, O, P and Q. Signed-off-by: Ben Dooks commit 4162d7e36334541e9cf5262cb6e1ba4f827eb700 Author: Ben Dooks Date: Fri Oct 31 16:14:49 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS G,H,I,J GPIO register and configuration definitions for GPIO banks G, H, I and J. Signed-off-by: Ben Dooks commit b9f2d172f224181b1053a48cec122f3c4284cbc3 Author: Ben Dooks Date: Fri Oct 31 16:14:48 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS D,E,F GPIO register and configuration definitions for GPIO banks D, E and F. Signed-off-by: Ben Dooks commit 995deb638debc93d6c9c49cdc118d68cb31e93d9 Author: Ben Dooks Date: Fri Oct 31 16:14:47 2008 +0000 [ARM] S3C64XX: GPIO definitions for BANKS A,B,C GPIO register and configuration definitions for GPIO banks A, B and C. Signed-off-by: Ben Dooks commit 3e1b776c2b9807d3af5945d5ece86dce9dfb0279 Author: Ben Dooks Date: Fri Oct 31 16:14:40 2008 +0000 [ARM] S3C: Make i2c device definition common to plat-s3c Make the device i2c0 common to plat-s3c and move the definitions from arch/arm/plat-s3c24xx/devs.c Signed-off-by: Ben Dooks commit a2205cd2cbfb8fb217e6036f08773a09d1b6d75e Author: Ben Dooks Date: Fri Oct 31 16:14:39 2008 +0000 [ARM] S3C: Add SDHCI (HSMMC) channel 1 device definition Add device definition and support code for the Samsung HSMMC channel 1 device. Signed-off-by: Ben Dooks commit 5cc7fd88fc96072c333184ff359c818665ce2506 Author: Ben Dooks Date: Fri Oct 31 16:14:38 2008 +0000 [ARM] S3C6410: Add helper for setting SDHCI device information Add the necessary helper functions for setting up the SDHCI device information. Signed-off-by: Ben Dooks commit ea522c7a54a1422b3ce8a1b9888f2108541ba047 Author: Ben Dooks Date: Fri Oct 31 16:14:37 2008 +0000 [ARM] S3C: Add Samsung SDHCI register definitions Add the specific register definitions for the Samsung SDHCI (HSMMC) block for the S3C2443 and S3C64XX series. Signed-off-by: Ben Dooks commit 3627379fc6b3e2b531b371af97d8ce0040fc3646 Author: Ben Dooks Date: Fri Oct 31 16:14:36 2008 +0000 [ARM] S3C6XX: Add enable for clk_48 Add apropriate enable call for clk_48m. Signed-off-by: Ben Dooks commit 1451325ced5f9b1a3e5da07521deb049e32cb15a Author: Ben Dooks Date: Fri Oct 31 16:14:35 2008 +0000 [ARM] S3C6400: Register clk_fout_epll The clk_fout_epll clock wasn't registered as part of the initial clock work, which can cause problems if it is used by one of the hardware blocks. Signed-off-by: Ben Dooks commit 21b23664b9354c5449841e401efb9ad523fb898b Author: Ben Dooks Date: Fri Oct 31 16:14:34 2008 +0000 [ARM] S3C: Add new GPIO configuration calls Add new GPIO configuration calls that mesh with the new gpiolib support. Signed-off-by: Ben Dooks commit 89d043c3db22c37523165905708d2fa8062fda86 Author: Ben Dooks Date: Fri Oct 31 16:14:33 2008 +0000 [ARM] S3C64XX: GPIO library support Add gpiolib registration for the GPIOs available on the S3C64XX platform Signed-off-by: Ben Dooks commit 8a53bdb907cb924ed30f79bcfe7f4f15ff7de15e Author: Ben Dooks Date: Fri Oct 31 16:14:32 2008 +0000 [ARM] S3C: Add GPIO chip tracking The gpiolib driver keeps its chip array to itself and having a separate array for s3c-only gpios stops any non-s3c gpio being used in one of the s3c specific configuration calls. Signed-off-by: Ben Dooks commit 7db6c82a37beabef7b76d232e3d20efacd74bd3a Author: Ben Dooks Date: Fri Oct 31 16:14:31 2008 +0000 [ARM] S3C: Move common GPIO code from plat-s3c24xx Move the common parts of the GPIO code into plat-s3c for use with both the s3c24xx and s3c64xx systems. Signed-off-by: Ben Dooks commit efd3a8eb150e383305c36eedc78c29cab910158e Author: Ben Dooks Date: Fri Oct 31 16:14:30 2008 +0000 [ARM] S3C64XX: Add gpio bank numbering Define the gpio numbers for the S3C64XX GPIO banks available on the S3C6400 and S3C6410. Signed-off-by: Ben Dooks commit 39057f237dc9aff2a5ea41995029eeef7b677fae Author: Ben Dooks Date: Fri Oct 31 16:14:29 2008 +0000 [ARM] SMDK6410: Add HSMMC0 device Add HSMMC0 device to SMDK6410. Signed-off-by: Ben Dooks commit 5b323c7beb1b10b137f9e21981050319d89d55dd Author: Ben Dooks Date: Fri Oct 31 16:14:28 2008 +0000 [ARM] S3C: Move HSMMC device definition to plat-s3ec Move the definition for the hsmmc device to plat-s3c to be shared between the s3c24xx and s3c64xx platforms. Signed-off-by: Ben Dooks commit 8cdf47cb4bb10172732df0506d397aab4149e45e Author: Ben Dooks Date: Tue Oct 21 14:07:14 2008 +0100 [ARM] S3C64XX: Add external interrupt group definitions Add definitions for the external interrupt groups which accompany the original IRQ_EINT from the s3c24xx series. Signed-off-by: Ben Dooks commit f945ee13cffbee48066e2ac24dbdd1b29a102b51 Author: Ben Dooks Date: Tue Oct 21 14:07:13 2008 +0100 [ARM] S3C64XX: Fix warnings from map_io initilaisers Discard the 'void *' from the pointers used for the virtual addresses when setting up the .virtual fields of the io map to avoid implicit cast warnings Signed-off-by: Ben Dooks Index: linux.git/arch/arm/plat-s3c64xx/cpu.c =================================================================== commit 39669f594e75997db6a893c1e4a1c05312661fe2 Author: Ben Dooks Date: Tue Oct 21 14:07:12 2008 +0100 [ARM] S3C64XX: Reduce some output from INFO to DEBUG Some of the startup output can be reduced to KERN_DEBUG from KERN_INFO as it is only really useful when trying to debug kernel initialisation problems. Signed-off-by: Ben Dooks commit 92117a1fd3b7916e8882c6050a2f51f812209fcc Author: Ben Dooks Date: Tue Oct 21 14:07:11 2008 +0100 [ARM] S3C64XX: Add s3c6400_defconfig Add a basic defconfig for s3c6400 series machines. Signed-off-by: Ben Dooks commit 5718df9dd01b4c30d21eaef08b80a3893b0fa7f3 Author: Ben Dooks Date: Tue Oct 21 14:07:09 2008 +0100 [ARM] SMDK6410: Initial machine support Initial machine support for the Samsung SMDK6410. Signed-off-by: Ben Dooks commit 80789e79150b34e45a630e2f4f1b04d82c449c19 Author: Ben Dooks Date: Tue Oct 21 14:07:08 2008 +0100 [ARM] S3C64XX: Add IRQ_EINT support Add the necessary code to support IRQ_EINT(x) on the S3C64XX series of CPUs. Note, since there is no GPIO configuration support in the kernel, the irq set_type method does not configure the relevant pin to interrupt. Signed-off-by: Ben Dooks commit 9a4a84294b0d60b8c287131478f743ba2bc68949 Author: David S. Miller Date: Mon Dec 15 15:14:59 2008 -0800 8390/8390p: Fix compat netdev ops handling. Based upon a report from Randy Dunlap. The compat netdev ops assignments need to happen in 8390.c and 8390p.c, not lib8390.c, as only the type specific code can assign the correct function pointers. Signed-off-by: David S. Miller commit 94df868b884d673c294e39a11acdfebf2bfcd67b Author: Ben Dooks Date: Tue Oct 21 14:07:07 2008 +0100 [ARM] S3C64XX: Map GPIO block Add mapping for GPIO block in the static mappings. Signed-off-by: Ben Dooks commit a801cd619215a9e8c4968352cf8698ea5235f0f4 Author: Ben Dooks Date: Tue Oct 21 14:07:06 2008 +0100 [ARM] VIC: Update asm/hardware/vic.h with PL192 information The original arch/arm/include/asm/hardware/vic.h was written for the PL190 ARM VIC implementation, and as such does not have any information about the PL192 version. Add details about the PL192 and PL190 specific registers and any changes between the two units. Signed-off-by: Ben Dooks commit 3e694d4bc633a5e6192e63a644a628e7bbab3e64 Author: Ben Dooks Date: Tue Oct 21 14:07:05 2008 +0100 [ARM] S3C64XX: Demux UART interrupts Add demux handling for the UART interrupts generated by the VIC into their seperate IRQs that the serial driver can register. Signed-off-by: Ben Dooks commit b73c289cc90138e9f78d487434df0f8eeb2daf9b Author: Ben Dooks Date: Tue Oct 21 14:07:04 2008 +0100 [ARM] S3C: Update serial driver IRQ handling The S3C64XX code changes the order of the serial interrupts, so change the registration process to pickup the extra IRQ resources. Signed-off-by: Ben Dooks commit 7e1548a597ef7e26d5d62f8be3be6da9e101b26c Merge: 1f7f569... 2619bc3... Author: Russell King Date: Mon Dec 15 22:13:26 2008 +0000 Merge branch 'omap3-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel commit b690ace50be7d10d77cb7a6d5ef1bd9de649852f Author: Ben Dooks Date: Tue Oct 21 14:07:03 2008 +0100 [ARM] S3C6400: serial support for S3C6400 and S3C6410 SoCs Add support to the Samsung serial driver for the S3C6400 and S3C6410 serial ports. Signed-off-by: Ben Dooks commit cf18acf0e04260ff8ffa46dc245d3d2324ed41b0 Author: Ben Dooks Date: Tue Oct 21 14:07:02 2008 +0100 [ARM] S3C64XX: Clock support for S3C6400/S3C6410 Add the PLL clock initialisation and clock registration and include the clocks sourced via CLKDIVx for most of the on-chip peripherals. Signed-off-by: Ben Dooks commit c652d2ddb97ccdc4774e149ef998928263fd8886 Author: Ben Dooks Date: Tue Oct 21 14:07:01 2008 +0100 [ARM] S3C: Add TICK_MAX for timer code Add TICK_MAX definition for the timer code as the S3C64XX series have 32bit capable PWM timers. Signed-off-by: Ben Dooks commit 4b31d8b2256db3ed825a63603f223f84d927ca39 Author: Ben Dooks Date: Tue Oct 21 14:07:00 2008 +0100 [ARM] S3C64XX: Add initial clock framework Add the initial clocks definitions for the s3c6400 and s3c6410. Move the epll and ext clock from the s3c2443 support into the common code. Signed-off-by: Ben Dooks commit 952b564b4d26964e3114d02368741e192e30ae28 Author: Ben Dooks Date: Tue Oct 21 14:06:59 2008 +0100 [ARM] S3C64XX: Add PLL definitions Add definitions for the s3c6400 epll and main pll as well as functions to decode the rate. Add Signed-off-by: Ben Dooks commit aa64ea3f78496bcd7d72d5caffa3d0bf43e84e54 Author: Ben Dooks Date: Tue Oct 21 14:06:58 2008 +0100 [ARM] S3C64XX: Common init code for S3C6400 and S3C6410 Add the common initialisation code for both the S3C6400 and S3C6410, the UART registration. Signed-off-by: Ben Dooks commit f982dc5321848ca6150a7a2c2bb3e28bddcf5ebe Author: Ben Dooks Date: Tue Oct 21 14:06:57 2008 +0100 [ARM] S3C64XX: Map timer memory and interrupts Add the physical to virtual memory mapping and the necessary interrupt demuxing for the PWM timer blocks. Signed-off-by: Ben Dooks commit e550ae741663e4708dcdad3fc392db156189c77c Author: Ben Dooks Date: Tue Oct 21 14:06:56 2008 +0100 [ARM] S3C: Fix PWM build on S3C6400 The pwm-clock.c needs which is included via other means on S3C24XX systems, so ensure it is explicitly included. Remove the includes of regs-clock.h and regs-gpio.h as these are not needed by the build. Signed-off-by: Ben Dooks commit 59ff6f2c0e02c23df8c94a52ab51963ae22e0463 Author: Ben Dooks Date: Tue Oct 21 14:06:52 2008 +0100 [ARM] S3C6400: Add Add the necessary support for the timer on the S3C6400 and S3C6410 by adding Signed-off-by: Ben Dooks commit d9b79fb56829de34eaddb01b405216eddd0d3b10 Author: Ben Dooks Date: Tue Oct 21 14:06:51 2008 +0100 [ARM] S3C64XX: Add VIC0 and VIC1 sourced interripts Add and initialise the two VIC (PL192) found on the S3C64XX series CPUs. Signed-off-by: Ben Dooks commit d626aeedc96e21a048f1a300cd6360f3a7be10f2 Author: Ben Dooks Date: Tue Oct 21 14:06:50 2008 +0100 [ARM] S3C6410: Initial CPU support code Initial support for the Samsung S3C6410 SoC. Signed-off-by: Ben Dooks commit beda30f6a9c5f8e1eebd195019a537057cc556fd Author: Ben Dooks Date: Tue Oct 21 14:06:49 2008 +0100 [ARM] S3C64XX: Basic CPU detection and map initialisation Initialise the basic physical to virtual mappings and then detect the CPU that the system is being run on so that the cpu code code can call the correct initialisation code. Signed-off-by: Ben Dooks commit c142f173cd5e5e16877016673f482009ffafaef6 Author: Ben Dooks Date: Tue Oct 21 14:06:48 2008 +0100 [ARM] S3C64XX: Add IRQ definitions for VIC0 and VIC1 Add IRQ definitions for the VIC0 and VIC1 interrupts on the S3C6400 and S3C6410 SoCs. Signed-off-by: Ben Dooks commit 0241cbb9d62613f6952d023a04d565901a3ca1ad Author: Ben Dooks Date: Tue Oct 21 14:06:46 2008 +0100 [ARM] S3C64XX: Add UARTdevice definitions Add resources and information for the UART deviecs on the S3C64XX CPUs. Signed-off-by: Ben Dooks commit e1a2bd1d2f368faaf377fdf8404a685280a3d0a3 Author: Ben Dooks Date: Tue Oct 21 14:06:45 2008 +0100 [ARM] S3C64XX: Add system boot-time support Add the necessary defines for to function and build an working header code block. Signed-off-by: Ben Doioks commit 0660fed465849160531f4179664922e3b0d8ba96 Author: Ben Dooks Date: Tue Oct 21 14:06:44 2008 +0100 [ARM] S3C64XX: Add Initial clock register defines. Signed-off-by: Ben Dooks commit dcb0902b470deb5500e7e459152859dc4358ca5b Author: Ben Dooks Date: Tue Oct 21 14:06:42 2008 +0100 [ARM] S3C64XX: Add Add the necessary support for the kernel low-level debug macros via Signed-off-by: Ben Dooks commit a5209797450a7c95a9b546d83dae163833f16437 Author: Ben Dooks Date: Tue Oct 21 14:06:41 2008 +0100 [ARM] S3C64XX: Add Add the include for the interrupt entry macros needed to be included by for the kernel interrupt handler. Signed-off-by: Ben Dooks commit d521f87e9c642dbc820cb839039e25a05cb02151 Author: Ben Dooks Date: Tue Oct 21 14:06:40 2008 +0100 [ARM] S3C64XX: Initial arch header files Add the initial header files for the S3C64XX support to satisfy the minimal requirements to build a kernel. Some definitions will therefore be placeholders or empty functions that will ensure that the system can build and have base functionality. These will be filled in at a later date. Signed-off-by: Ben Dooks commit a08ab63761730634bbbf8f361d1a058c1f4af9c5 Author: Ben Dooks Date: Tue Oct 21 14:06:39 2008 +0100 [ARM] S3C64XX: Initial arch directory Add the initial PLAT_S3C64XX support files and directory structure. Signed-off-by: Ben Dooks commit 9bc1aaeac0118611c30edf84995ebad5adfd6822 Author: Ben Dooks Date: Tue Oct 21 14:06:35 2008 +0100 [ARM] S3C24XX: Split timer pending code out Split the timer pending code out to a seperate per-machine header so that when compiling for mach-s3c2410 or mach-s3c24a0 we can use the right timer code without having to #ifdef the timer driver. Signed-off-by: Ben Dooks commit bcae8aeb320dfe8dde4b3512237a5b76737b0120 Author: Ben Dooks Date: Tue Oct 21 14:06:32 2008 +0100 [ARM] S3C24A0: Initial architecture support files Initial architecture support for the S3C24A0 ARCH_S3C24A0. We don't yet add an kconfig entry in the main arch/arm/Kconfig file as the series is not complete, so that is left until enough support is in to be useful. Signed-off-by: Ben Dooks commit ce46a9c497ed788146449c230765ee5d6dd3cb53 Author: Ben Dooks Date: Tue Oct 21 14:06:26 2008 +0100 [ARM] S3C24XX: Split map.h into plat-s3c24xx and mach-s3c2410 Split the map.h definitions into common S3C24XX code by adding arch/arm/plat-s3c24xx/include/plat/map.h and altering the machine specific header for the S3C24A0. As we add a new we move the original one in arch/arm/plat-s3c include directory to be called map-base.h to distinguish the two files. Signed-off-by: Ben Dooks commit 1d4bab082474d539f900e896880aa2135e0f5393 Author: Sandeep Patil Date: Tue Oct 21 14:06:30 2008 +0100 [ARM] S3C24A0: Serial port definitions and driver support. Add serial support for S3C24A0, based on current S3C2410 UART driver. It adds necessary new defines in regs-serial.h for S3C24A0 and the code to support this device in drivers/serial/s3c24a0.c Signed-off-by: Sandeep Patil Signed-off-by: Ben Dooks commit f0c9eb4ec2d3c9f4ddd74b75da6dfc137e0f6b0d Author: Ben Dooks Date: Tue Oct 21 14:06:25 2008 +0100 [ARM] S3C24A0: Debug macro definitions Add the necessary debug macros for the S3C24A0 to enable kernel debugging, and fix a bug with selecting the wrong default debug implementation from the base include. Signed-off-by: Ben Dooks commit f1cb9eba5b0ae36b2065b27cff1a5330f5a08da4 Author: Sandeep Patil Date: Tue Oct 21 14:06:24 2008 +0100 [ARM] S3C24A0: Correct S3C2410_PA_GPIO in S3C24XX_VA_GPIO The definition of S3C24XX_VA_GPIO used S3C2410_PA_GPIO where it should have read S3C24XX_PA_GPIO. Signed-off-by: Sandeep Patil Signed-off-by: Ben Dooks commit ddbf5654b494bfd9831ad7024c04f4ba53583a94 Author: Sandeep Patil Date: Tue Oct 21 14:06:23 2008 +0100 [ARM] S3C24A0: arch/arm/mach-s3c24a0/include/mach header files Add initial arch/arm/mach-s3c24a0/include/mach header files for supporting Samsung S3C24A0 SoC. Signed-off-by: Sandeep Patil Signed-off-by: Ben Dooks commit 7d2dbcf9faad074c52a941d01fc21eea3c95ca33 Author: Ben Dooks Date: Fri Nov 21 10:36:06 2008 +0000 [ARM] S3C: Fix scaler1 clock rate information The pwm-scaler0 and pwm-scaler1 clocks have their .id field set to -1 as they are not referenced to any specific device. However, parts of the pwm-clock code used the .id field to identify which scaler clock was being used. Fix the problem by comparing against the pointer to the clock to identify the scalers. Signed-off-by: Ben Dooks commit 82fd8e681d60a195ce6e9fc783d0ebe7a81b1ead Author: Ben Dooks Date: Fri Nov 21 10:36:04 2008 +0000 [ARM] S3C: Add set_rate/round_rate methods for pwm-scaler clock Add the set_rate and round_rate methods for the pwm-scaler clock for use with the time code. Signed-off-by: Ben Dooks commit f2edc7565a14aa82231c847abf33d02314cac9f9 Author: Ben Dooks Date: Fri Oct 31 16:14:27 2008 +0000 [ARM] S3C24XX: Reduce code lineage of gpiolib.c All the s3c24xx gpiolib chips share the same get/set calls and all but one bank shares the same calls for .direction_input and .direction_output methods. Change the initialisation process to use an new call to register the chips that fills in any blank calls with the default values to avoid having to fill them in the structure initialisers. Signed-off-by: Ben Dooks commit cec444b79073e7d6ef35ced5ef63c3fd83d9b9a7 Author: Ben Dooks Date: Tue Oct 21 14:07:10 2008 +0100 [ARM] S3C: BUG_ON() if clock has already been registered Add a simple check when registering a clock on whether the clock has already been added to the list. Any attempt to re-register a clock will cause the clock list to be come looped and thus produces silent failures when looking up clocks. Signed-off-by: Ben Dooks commit 93b458858f6d40650513f63feef0b350eff4845f Author: Ben Dooks Date: Tue Oct 21 14:06:55 2008 +0100 [ARM] S3C: Move pwm-clock.c to arch/arm/plat-s3c Move pwm-clock.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks commit adbefaa5fdc6673bf389c00c3448b12d6125990b Author: Ben Dooks Date: Tue Oct 21 14:06:54 2008 +0100 [ARM] S3C: Move core clock support to plat-s3c Move the core clock registration and definitions in arch/arm/plat-s3c24xx/clock.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks commit b915a125112b2500d5c6fd752948afc170a49cef Author: Ben Dooks Date: Tue Oct 21 14:06:53 2008 +0100 [ARM] S3C: Move time.c to arch/arm/plat-s3c Move time.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks commit 6af0e929e9fb60a8e2609555129713f310188f33 Author: Ben Dooks Date: Tue Oct 21 14:06:47 2008 +0100 [ARM] S3C: Move S3C2410_EXTINT to common regs-irqtype.h header Add a common include file (regs-irqtype.h) for the IRQ trigger control register values S3C2410_EXTINT*. Signed-off-by: Ben Dooks commit a503059c14215ac4325e25d9061cad992a373e17 Author: Ben Dooks Date: Tue Oct 21 14:06:43 2008 +0100 [ARM] S3C24XX: Move headers from plat-s3c24xx to plat-s3c Move clock.h, cpu.h and devs.h to plat-s3c for use with the s3c64xx support. Signed-off-by: Ben Dooks commit e425382ed90d221ef9031a1b2d97d9bfedcf90c3 Author: Ben Dooks Date: Tue Oct 21 14:06:38 2008 +0100 [ARM] S3C24XX: Update clock data on resume Update the clock settings on resume for suspend/resume support so that if the boot loader changes anything or the system's PLL is reset then we return with the correct settings. Signed-off-by: Ben Dooks commit c3391e36d697c997b6afeb045071e0be95219a3e Author: Ben Dooks Date: Tue Oct 21 14:06:37 2008 +0100 [ARM] S3C24XX: Change clock locking to use spinlocks. We cannot sleep if we have cpufreq pm enabled during some of the clock operations, so change to use a spinlock to protect the clock system. Signed-off-by: Ben Dooks commit 305554768011707f33f437b96f999f812ba2a7e4 Author: Ben Dooks Date: Tue Oct 21 14:06:36 2008 +0100 [ARM] CPUFREQ: S3C24XX serial CPU frequency scaling support. Add support for CPU frequency scalling to the S3C24XX serial driver. Signed-off-by: Ben Dooks commit e24b864ab3e1a5916c87e13cfdc94c1d02f0578b Author: Ben Dooks Date: Tue Oct 21 14:06:34 2008 +0100 [ARM] S3C24XX: Split pll code out of regs-clock.h Move the PLL calculation code into it's own header file for re-use with the other plat-s3c24xx based systems such as the S3C24A0. Note, we change the name of s3c2410_get_pll to the more generically named s3c24xx_get_pll as well as the related defintions. Signed-off-by: Ben Dooks commit 93bc6b6371b6b7303ffdae0d69dcdc443b8b0d8a Author: Ben Dooks Date: Tue Oct 21 14:06:33 2008 +0100 [ARM] S3C24XX: Split DCLK/CLKOUT definitions out of clock.c Only certain boards need these clocks, and they are not available on some CPUs (such as the S3C24A0) so remove them from arch/arm/plat-s3c24xx/clock.c and into their own file with appropriate Kconfig entries. Signed-off-by: Ben Dooks commit 74b265d4e0555b9fc9cc75eb8876140ecf8c6b8a Author: Ben Dooks Date: Tue Oct 21 14:06:31 2008 +0100 [ARM] S3C24XX: Move initialisation code to arch/arm/plat-s3c We need to add plat-s3c to the build to get the headers that will go in here once moved from include/asm-arm so we may as well put some useful common s3c code in here to stop the errors generated form having nothing built. The cpu setup is now passed the cpu idcode and the table of supported cpus to s3c_init_cpu() to abstract the cpu identification out of the initial io setup. As well as moving the cpu initialisation code, we move the map of the board specific items up to the calling code as none of the map_io() functions actually do anything other than pass this to iotable_init(). This patch does not rename any of the init functions that will be common to s3c24xx and any other s3c architectures as this can be done at a later date as it will touch all the board support files which use functions such as s3c24xx_init_clocks() and s3c24xx_init_uarts(). Note, the header arch/arm/plat-s3c24xx/include/plat/cpu.h still has functions that are used by both the cpu and board initialisation functions. This means that each board has definitions specific to the cpu support included and the vice-versa. Signed-off-by: Ben Dooks commit 2cd493fc10a5ad628dce8471ae72cf0882506735 Author: Ben Dooks Date: Tue Oct 21 14:06:29 2008 +0100 [ARM] S3C24XX: Add default header Add a default header for for systems such as the S3C24A0 which do not need any of the complex code that the S3C2410 uses. Signed-off-by: Ben Dooks commit 112f4a708d7bb84298d1b34c734f90d027e7ec01 Author: Ben Dooks Date: Tue Oct 21 14:06:28 2008 +0100 [ARM] S3C24XX: Move vmalloc.h to plat-s3c vmalloc.h is common across all the current s3c platforms, so move it to arch/arm/plat-s3c/include/mach to be used for all the targets. Signed-off-by: Ben Dooks commit 95f42b3911fc3af2a4d4d8af966583122a94e42c Author: Ben Dooks Date: Tue Oct 21 14:06:27 2008 +0100 [ARM] S3C: Make common Move to arch/arm/plat-s3c/include/mach/timex.h so it can be the default for all S3C based architectures. Signed-off-by: Ben Dooks commit 1b3ba68884d192f42fcf4352e1ac7174facc96af Author: Ben Dooks Date: Tue Oct 21 14:06:22 2008 +0100 [ARM] S3C2410: Move base clock code to plat-s3c24xx Move the S3C2410 base clock list to arch/arm/plat-s3c24xx as this code is common to the S3C2410, S3C2440 and S3C2442 cpus. Signed-off-by: Ben Dooks commit 7f565ecc33c5536a76cd73847874df5f804a49aa Author: Ben Dooks Date: Tue Oct 21 14:06:21 2008 +0100 [ARM] S3C: Add for initial cpufreq definitions This is the header file that defines the basic cpu frequency scalling support for the Samsung S3C series of SoC. Signed-off-by: Ben Dooks commit b2a6cf3b1e099a724504ba16a4c9aea1eb0122a6 Author: Ben Dooks Date: Tue Oct 21 14:06:20 2008 +0100 [ARM] S3C24XX: Default SPI pin configuration for SPI Add a set of default pin configuration routines for setting up the SPI gpio configuration when using the hardware SPI driver. Signed-off-by: Ben Dooks commit 91cac623262c1c0cd298c5c648a8bd2b647c264d Author: Kumar Gala Date: Sat Dec 13 17:41:41 2008 -0600 powerpc/85xx: Fix compile issues with mpc8572ds.dts Fix the localbus reg & range properties to respect that the top level #address-cells and #size-cells = 2. The original commit (c64ef80b517680f1e228b2ee55e3ce7cd94c7fe0) did not do that. Signed-off-by: Kumar Gala commit 8309ce7280536b07716026ff588acbcc0ee1a546 Author: Benjamin Herrenschmidt Date: Fri Dec 12 17:33:25 2008 +1100 powerpc: Fix bogus cache flushing on all 40x and BookE processors v2 We were missing the CPU_FTR_NOEXECUTE bit in our cputable for all these processors. The result is that update_mmu_cache() would flush the cache for all pages mapped to userspace which is totally unnecessary on those processors since we already handle flushing on execute in the page fault path. This should provide a nice speed up ;-) Signed-off-by: Benjamin Herrenschmidt Acked-by: Josh Boyer Signed-off-by: Kumar Gala commit 23553b2c08c9b6e96be98c44feb9c5e640d3e789 Author: Xiaochuan-Xu Date: Tue Dec 9 19:44:12 2008 +0800 UBI: prepare for protection tree improvements This patch modifies @struct ubi_wl_entry and adds union which contains only one element so far. This is just a preparation for further changes which will kill the protection tree and make UBI use a list instead. Signed-off-by: Xiaochuan-Xu Signed-off-by: Artem Bityutskiy commit 3d1ee379bd576c0830050c2d313e77b9f98a8013 Author: Mark Brown Date: Mon Dec 15 15:43:43 2008 +0000 ALSA: Fix declaration of sound_class Include sound/core.h in sound_core.c so that sound_class is declared before it is defined, avoiding it looking like it should be static. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 1f7f569c0ae6e619504095eabf796edd712d943d Merge: a02f45c... e38a970... Author: Russell King Date: Mon Dec 15 10:36:25 2008 +0000 Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im into devel commit 8b124a8e14c04378466ddfe63e41fc5035f957eb Author: Don Skidmore Date: Mon Dec 15 01:06:23 2008 -0800 net: fix dcbnl_setnumtcs operation check dcbml_setnumtcs wasn't checking for the presence of the setnumtcs function. Instead, it was checking for setstate which was a bug. Signed-off-by: Don Skidmore Signed-off-by: Eric W Multanen Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5ecc361444a0c641a73cce05fb652d0e3c944451 Author: Jesse Brandeburg Date: Mon Dec 15 01:00:57 2008 -0800 ixgbe: fix dma mapping unbalance This issue was initially reported by Joerg Roedel It appears that ixgbe has had a long standing bug where it was unmapping a different size than it had mapped. ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different sizes than it mapped. ixgbe 0000:02:00.0: PCI-DMA: device driver frees DMA memory with different size [device address=0x0000000003fed812] [map size=258 bytes] [unmap size=256 bytes] Pid: 6178, comm: rmmod Not tainted 2.6.28-rc5 #4 Call Trace: [] iommu_queue_inv_iommu_pages+0x5e/0x70 [] check_unmap+0x1c6/0x240 [] debug_unmap_single+0xb5/0x110 [] ixgbe_clean_rx_ring+0x147/0x220 [] ixgbe_down+0x2fd/0x3d0 [ixgbe] [] ixgbe_close+0x13/0xc0 [ixgbe] [] dev_close+0x56/0xa0 [] rollback_registered+0x43/0x220 [] unregister_netdevice+0x15/0x60 [] unregister_netdev+0x11/0x20 [] ixgbe_remove+0x48/0x16e [ixgbe] [] pci_device_remove+0x2c/0x60 [] __device_release_driver+0x99/0x100 [] driver_detach+0xb8/0xc0 [] bus_remove_driver+0x8e/0xd0 [] pci_unregister_driver+0x34/0x90 [] sys_delete_module+0x1c7/0x2a0 [] do_munmap+0x349/0x390 [] __up_write+0x21/0x150 [] system_call_fastpath+0x16/0x1b Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a7276db6adfded660eec1e1629710b8b82d83455 Author: Steve Glendinning Date: Mon Dec 15 00:59:47 2008 -0800 smsc9420: add ethtool register dump support This patch adds support for SMSC's LAN9420 PCI ethernet controller to ethtool's dump registers (-d) command. This patch is for use with an accompanying ethtool patch, which decodes the register dump. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit b1721d2bb9d015d7e49079414671569a2fc0ac9b Author: Ilpo Järvinen Date: Sun Dec 14 23:19:48 2008 -0800 rpc/rdma: goto instead of copypaste Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 79f55f11a090d9f369448dcb58242c7924873920 Author: Ilpo Järvinen Date: Sun Dec 14 23:19:02 2008 -0800 nf/dccp: merge errorpaths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e780f1c33d76ebb81607a6b5d6b669edb9065a7f Author: Ilpo Järvinen Date: Sun Dec 14 23:18:30 2008 -0800 irda: merge exit paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 037322abe6141e32e1b1dea86a9405d52c99be5d Author: Ilpo Järvinen Date: Sun Dec 14 23:18:00 2008 -0800 bt/rfcomm/tty: join error paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0eae1b98cf3022715b5a6ea5f1ac6b0bd7ac4edd Author: Ilpo Järvinen Date: Sun Dec 14 23:17:26 2008 -0800 ax25: join the return paths that free skb Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ebad5c0984e06f4036d2eb2741b9afce736b8a06 Author: Ilpo Järvinen Date: Sun Dec 14 23:16:58 2008 -0800 can: merge error paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d8eb93078cedbbf4b7e18e1d7054171c7b70b442 Author: Ilpo Järvinen Date: Sun Dec 14 23:16:22 2008 -0800 xfrm: join error paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8da73b73ef29d537ba09f29393cd68707833e746 Author: Ilpo Järvinen Date: Sun Dec 14 23:15:49 2008 -0800 ip6mr: use goto to common label instead of opencoding Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 448eb71f40120a8fd11ebd58153c271c63e6f862 Author: Ilpo Järvinen Date: Sun Dec 14 23:15:21 2008 -0800 ipv6/mcast: join error paths using goto Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5ce1bbb97bf1e6707102d30499e7feaa1e6a2134 Author: Ilpo Järvinen Date: Sun Dec 14 23:13:48 2008 -0800 xfrm6_tunnel: join error paths using goto Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 857a6e0a4d8db0bbee685ccc97c6bd7987e7aede Author: Ilpo Järvinen Date: Sun Dec 14 23:13:08 2008 -0800 icsk: join error paths using goto Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e38a9707d8d94de86fe84109fa6823ddc969721a Author: Ian Molton Date: Tue Oct 7 22:01:59 2008 +0100 [PCMCIA] e740 PCMCIA socket driver. This patch adds the platform specific support needed to control the PCMCIA hardware on the Toshiba e740. Signed-off-by: Ian Molton commit b1ae1b7b274f67c149bee4731e38a7516c723de4 Author: Ian Molton Date: Fri Sep 26 13:38:59 2008 +0100 [ARM] pxa: Add multi-io support for e-series This patchset provides support for the TMIO based IO controller used in the Toshiba e-series PDAs. Signed-off-by: Ian Molton Acked-by: Samuel Ortiz Acked-by: Eric Miao commit a02f45cfca97dcf97c03b32603ec2399bf006605 Author: Russell King Date: Sun Dec 14 13:22:51 2008 +0000 [ARM] move asm/xip.h's mach/hardware.h include to mach/xip.h Signed-off-by: Russell King commit 6ce1b871db6a3ca69ed1e35956d89d3cacd7ba08 Author: Julia Lawall Date: Mon Dec 1 14:15:41 2008 -0800 [ARM] eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Russell King commit d517cab1c7fc92178e11c7ded2548b06b273d293 Author: Sascha Hauer Date: Mon Dec 1 14:15:40 2008 -0800 [ARM] pcm037: add 1wire support Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit d40a09920be4d64414c3e5396c6399ac96ad0e00 Author: Sascha Hauer Date: Mon Dec 1 14:15:40 2008 -0800 [ARM] MX2 pcm038: add 1-wire master support Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit a8405929338063f0fe263d18ca24a6005d39b508 Author: Sascha Hauer Date: Mon Dec 1 14:15:39 2008 -0800 [ARM] MX31: add w1 platform_device and resources Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 3d89baa73a392e242b5eb7b0e749a08af3bf014f Author: Sascha Hauer Date: Mon Dec 1 14:15:38 2008 -0800 [ARM] MX2: Add W1 device/resources Signed-off-by: Sascha Hauer Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 7180d868e3ff0741e9483c7a056445854e5af876 Author: Daniel Silverstone Date: Sat Dec 13 20:44:16 2008 +0000 [ARM] DSM320: Update KS8695 defconfig to include DSM320 Update the KS8695 defconfig to bring it up to modern config standards and include the DSM320 and appropriate drivers for the DSM320 (E.g. prism54). Signed-off-by: Daniel Silverstone Signed-off-by: Ben Dooks commit 6174dee5146dc2c7eca8f103b85be168dc564ffb Author: Daniel Silverstone Date: Sat Dec 13 20:44:15 2008 +0000 [ARM] DSM320: Add support for the DSM320 Add support for the D-Link DSM-320 Wireless Media Player which is based on the Micrel KS8695 SoC. Signed-off-by: Daniel Silverstone Signed-off-by: Ben Dooks commit 7ef71320eba8933275be10bfa44e083bec95b3f1 Author: Ben Dooks Date: Sat Dec 13 20:44:13 2008 +0000 [ARM] KS8695: Add GPIO to IRQ mapping function Use the GPIOlib .to_irq call to map KS8695 GPIOs to the relevant IRQ line. Signed-off-by: Ben Dooks commit 72880ad866c21badace4d8026c1e58f2fde087fb Author: Daniel Silverstone Date: Sat Dec 13 20:44:12 2008 +0000 [ARM] KS8695: Fixup the KS8695 GPIO to be GPIOLIB This patch is as small a change as possible to the KS8695 GPIO layer to use GPIOLIB to allow the generic GPIO expanders and the like to be compiled. As a side-effect, we also remove __init_or_module from several functions which could be called by drivers such as i2c-gpio which could plausibly be compiled into a non-modular kernel. Signed-off-by: Daniel Silverstone Signed-off-by: Vincent Sanders Signed-off-by: Ben Dooks commit fbd627100bc4a9ebce8c7617df499ee5db763780 Author: Daniel Silverstone Date: Sat Dec 13 20:44:11 2008 +0000 [ARM] KS8695: Fix up device registration. The KS8695 device.c provides registration functionality for the KS8695's various devices such as watchdog timers and ethernet devices. Rather than predicating those on the config options for the drivers, always register the platform devices so that a later built module can hook on. Also, the ethernet used to register virtual addresses in the platform data. This is wrong and so this patch changes them to physical addresses and also passes in the appropriate physical region for the PHY or Switch as appropriate. Signed-off-by: Daniel Silverstone Signed-off-by: Ben Dooks commit 9cd28ab0051cc5232e3dffea6b318233445a3d5f Author: Alexander Beregalov Date: Sat Dec 13 16:25:27 2008 +0300 ASoC: switch davinci DPRINTK to pr_debug() Signed-off-by: Alexander Beregalov Signed-off-by: Mark Brown commit a6ba0cb35da64d658b7a01ea4597416f8522d5e1 Author: Jiri Slaby Date: Wed Dec 10 13:48:38 2008 +0100 kbuild: fix string equality testing in tags.sh Test of string equality in shells is =, not C-like ==. Signed-off-by: Jiri Slaby Signed-off-by: Sam Ravnborg commit 709cc372cad628846d73447edfd95ac39c8e2319 Author: Jiri Slaby Date: Wed Dec 10 13:10:13 2008 +0100 kbuild: fix make tags/cscope - fix combining O=... and tags - don't allow * expansion during sh function calls Signed-off-by: Jiri Slaby [sam: use KBUILD_SRC to check if we use O=...] Signed-off-by: Sam Ravnborg commit 31110ebbec8688c6e9597b641101afc94e1c762a Author: Sam Ravnborg Date: Sat Dec 13 23:00:45 2008 +0100 kbuild: fix make incompatibility "Paul Smith" reported that we would fail to build with a new check that may be enabled in an upcoming version of make. The error was: Makefile:442: *** mixed implicit and normal rules. Stop. The problem is that we did stuff like this: config %config: ... The solution was simple - the above was split into two with identical prerequisites and commands. With only three lines it was not worth to try to avoid the duplication. Cc: "Paul Smith" Signed-off-by: Sam Ravnborg commit 968ea6d80e395cf11a51143cfa1b9a14ada676df Merge: 7be7585... 8299608... Author: Rusty Russell Date: Sat Dec 13 21:55:51 2008 +1030 Merge ../linux-2.6-x86 Conflicts: arch/x86/kernel/io_apic.c kernel/sched.c kernel/sched_stats.h commit 7be7585393d311866653564fbcd10a3232773c0b Author: Rusty Russell Date: Sat Dec 13 21:20:28 2008 +1030 cpumask: Use all NR_CPUS bits unless CONFIG_CPUMASK_OFFSTACK Impact: futureproof as we convert more code to new APIs The old cpumask operators treat all NR_CPUS bits as relevent, the new ones use nr_cpumask_bits. For large NR_CPUS and small nr_cpu_ids, this makes a difference. However, mixing the two can cause problems with undefined bits. An arch which sets CONFIG_CPUMASK_OFFSTACK should have converted across to the new operators, so it's safe in that case. (Thanks to Stephen Rothwell for bisecting the initial unused-bits bug, and Mike Travis for this solution). Signed-off-by: Rusty Russell Cc: Mike Travis commit f0b848ce6fe9062d504d997e9e97fe0f87d57217 Author: Rusty Russell Date: Sat Dec 13 21:20:27 2008 +1030 cpumask: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask Impact: New APIs The old node_to_cpumask/node_to_pcibus returned a cpumask_t: these return a pointer to a struct cpumask. Part of removing cpumasks from the stack. This defines them in the generic non-NUMA case. Signed-off-by: Rusty Russell Cc: Benjamin Herrenschmidt Cc: Ingo Molnar Cc: Tony Luck Cc: Ralf Baechle Cc: Richard Henderson commit aab46da0520af9c99b7802cebe4f14a81ff39415 Author: Rusty Russell Date: Sat Dec 13 21:20:27 2008 +1030 cpumask: Add CONFIG_CPUMASK_OFFSTACK Impact: Add config option to enable code in cpumask.h Currently it can be set if DEBUG_PER_CPU_MAPS, or set specifically by an arch. Signed-off-by: Rusty Russell commit 320ab2b0b1e08e3805a3e1084a2f0eb1938d5d67 Author: Rusty Russell Date: Sat Dec 13 21:20:26 2008 +1030 cpumask: convert struct clock_event_device to cpumask pointers. Impact: change calling convention of existing clock_event APIs struct clock_event_timer's cpumask field gets changed to take pointer, as does the ->broadcast function. Another single-patch change. For safety, we BUG_ON() in clockevents_register_device() if it's not set. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit 0de26520c7cabf36e1de090ea8092f011a6106ce Author: Rusty Russell Date: Sat Dec 13 21:20:26 2008 +1030 cpumask: make irq_set_affinity() take a const struct cpumask Impact: change existing irq_chip API Not much point with gentle transition here: the struct irq_chip's setaffinity method signature needs to change. Fortunately, not widely used code, but hits a few architectures. Note: In irq_select_affinity() I save a temporary in by mangling irq_desc[irq].affinity directly. Ingo, does this break anything? (Folded in fix from KOSAKI Motohiro) Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Reviewed-by: Grant Grundler Acked-by: Ingo Molnar Cc: ralf@linux-mips.org Cc: grundler@parisc-linux.org Cc: jeremy@xensource.com Cc: KOSAKI Motohiro commit 29c0177e6a4ac094302bed54a1d4bbb6b740a9ef Author: Rusty Russell Date: Sat Dec 13 21:20:25 2008 +1030 cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers. Impact: change calling convention of existing cpumask APIs Most cpumask functions started with cpus_: these have been replaced by cpumask_ ones which take struct cpumask pointers as expected. These four functions don't have good replacement names; fortunately they're rarely used, so we just change them over. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Cc: paulus@samba.org Cc: mingo@redhat.com Cc: tony.luck@intel.com Cc: ralf@linux-mips.org Cc: Greg Kroah-Hartman Cc: cl@linux-foundation.org Cc: srostedt@redhat.com commit 98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0 Author: Rusty Russell Date: Sat Dec 13 21:19:41 2008 +1030 cpumask: centralize cpu_online_map and cpu_possible_map Impact: cleanup Each SMP arch defines these themselves. Move them to a central location. Twists: 1) Some archs (m32, parisc, s390) set possible_map to all 1, so we add a CONFIG_INIT_ALL_POSSIBLE for this rather than break them. 2) mips and sparc32 '#define cpu_possible_map phys_cpu_present_map'. Those archs simply have phys_cpu_present_map replaced everywhere. 3) Alpha defined cpu_possible_map to cpu_present_map; this is tricky so I just manipulate them both in sync. 4) IA64, cris and m32r have gratuitous 'extern cpumask_t cpu_possible_map' declarations. Signed-off-by: Rusty Russell Reviewed-by: Grant Grundler Tested-by: Tony Luck Acked-by: Ingo Molnar Cc: Mike Travis Cc: ink@jurassic.park.msu.ru Cc: rmk@arm.linux.org.uk Cc: starvik@axis.com Cc: tony.luck@intel.com Cc: takata@linux-m32r.org Cc: ralf@linux-mips.org Cc: grundler@parisc-linux.org Cc: paulus@samba.org Cc: schwidefsky@de.ibm.com Cc: lethal@linux-sh.org Cc: wli@holomorphy.com Cc: davem@davemloft.net Cc: jdike@addtoit.com Cc: mingo@redhat.com commit 72aaf09fda49f5919d98d65d35e5179f3acb0497 Merge: 67fbc23... 58c2467... Author: Russell King Date: Sat Dec 13 09:12:51 2008 +0000 Merge git://git.marvell.com/orion into devel commit 67fbc2312312095acc2f19a0b601bac10f84cf9d Author: Russell King Date: Thu Dec 11 17:20:44 2008 +0000 [ARM] fix xm_x2xx_defconfig build errors drivers/built-in.o: In function `pci_set_consistent_dma_mask': hid-quirks.c:(.text+0x2664): multiple definition of `pci_set_consistent_dma_mask' drivers/built-in.o: In function `pci_set_dma_mask': hid-quirks.c:(.text+0x42c4): multiple definition of `pci_set_dma_mask' because drivers/pci/pci.c was not seeing the definition disabling these functions. Signed-off-by: Russell King commit 3e7a728117e4611b5e91fc567166f6e3606d996e Author: Hartley Sweeten Date: Wed Dec 10 23:39:54 2008 +0100 [ARM] 5343/1: ep93xx: include linux/i2c.h Include in all ep93xx platforms. Patch "5311/1: add core support for built in i2c bus" will cause build errors due to the following in arch/arm/mach-ep93xx/include/mach/platform.h: +void ep93xx_register_i2c(struct i2c_board_info *devices, int num); The i2c.h header needs to be included in order to define struct i2c_board_info. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit e48f3fa373d9270a0499cd1dde9e6cdad538a35e Author: Hartley Sweeten Date: Mon Dec 8 17:57:22 2008 +0100 [ARM] 5342/1: ep93xx: platform init cleanup Use EP93XX_*_PHYS_BASE and SZ_* defines in ep93xx platform inits. The following patch changes the flash memory hard-coded resource addresses and MACHINE_START boot_params to EP93XX_*_PHYS_BASE and SZ_* defines to improve readability. Also some minor whitespace cleanup resulting from previous patches. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 854feaede51c155897335f1f0ca7acda96b04a64 Author: Jaya Kumar Date: Sat Nov 29 22:23:13 2008 +0100 [ARM] 5337/1: gumstix: move am200 specific gpio pins into am200epd. The gpio setup for AM200 specific GPIO pins should be done in the AM200 code rather than in generic gumstix code. Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit 1124d6d21f80ec10cc962e2961c21a8dd1e0ca6a Author: Russell King Date: Mon Oct 20 11:18:40 2008 +0100 [ARM] dma: correct dma_supported() implementation dma_supported() is supposed to indicate whether the system can support the DMA mask it was passed, which depends on the maximal address which can be returned for DMA allocations. If the mask is smaller than that, we are unable to guarantee that the driver can reliably obtain suitable memory. Signed-off-by: Russell King commit 70d13e083c8589dd3edc2313777655da39cb3568 Author: Russell King Date: Sat Dec 6 08:25:16 2008 +0000 [ARM] netwinder: clean up GPIO naming Netwinder was using gpio_xxx names which could clash with the GPIO layer. Add a 'nw_' prefix to ensure that these remain separate. Signed-off-by: Russell King commit 012b215ceb55aa38826f091cecfd373cc9bbb05b Author: Steve Glendinning Date: Fri Dec 12 22:32:22 2008 -0800 smsc9420: add ethtool eeprom support Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit e312674ffb5281a46a3ad06604edea6426c4eb24 Author: Steve Glendinning Date: Fri Dec 12 22:31:50 2008 -0800 smsc9420: add netpoll support Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 1757ab2f0411110c0261dfb66d26faf63037c531 Author: Steve Glendinning Date: Fri Dec 12 22:31:16 2008 -0800 smsc911x: make smsc911x_poll_controller static Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 56bde885903bdb9d9531fd569096ec8c7a2d60ee Merge: a7a81fc... a7b7520... Author: David S. Miller Date: Fri Dec 12 22:20:51 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit a7a81fc060f050ad4ba7f6ef5cdc583dad2f7b21 Author: Ben Hutchings Date: Fri Dec 12 22:10:23 2008 -0800 sfc: Version 2.3 Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7dde596ef79982327d8992a579a137b4035ad599 Author: Ben Hutchings Date: Fri Dec 12 22:09:38 2008 -0800 sfc: Fix synchronisation of efx_mtd_{probe,rename,remove} Currently efx_mtd_rename() can race with the probe() and remove() functions. Move probe() before device registration and remove() after unregistration. Move initialisation/update of all names based on the netdev name into a new function and call it under the RTNL immediately after registration. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0c53d8c84047d86169bd4147bb8f5adf2772d2bb Author: Ben Hutchings Date: Fri Dec 12 22:08:50 2008 -0800 sfc: Use kzalloc() to ensure struct efx_spi_device is fully initialised Currently the mtd field is not initialised early enough. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fa402b2ea9cacd1ec94fa77e3efb506a5d034da6 Author: Steve Hodgson Date: Fri Dec 12 22:08:16 2008 -0800 sfc: Treat probe as unsuccessful if it scheduled a reset From: Steve Hodgson efx_pci_probe_main() can return success despite a reset being scheduled. Catch this and retry or abort probe depending on the reset type. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ab377358701a981e7fae1332e76b1e5d3b3b313d Author: Ben Hutchings Date: Fri Dec 12 22:06:54 2008 -0800 sfc: Use model numbers for PHY type names Some of the PHY type names are overly generic. Change them to include the model numbers of the PHYs they represent. Correct the model number reference at the top of xfp_phy.c. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ca54a9f525236c389f464d0952c8a7d6a4035906 Author: Ben Hutchings Date: Fri Dec 12 22:06:24 2008 -0800 sfc: Use mutex_lock_interruptible() for ethtool EEPROM access ethtool must contend with the MTD driver for the SPI bus lock, which may carry out long operations such as flash erase. Allow it to be interrupted while waiting. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 11e66966277ea8a3353ad2c2773257973553e73a Author: Ben Hutchings Date: Fri Dec 12 22:05:48 2008 -0800 sfc: Specify a meaningful component for loopback RX-side and PHY tests Our ethtool self-test result names each begin with a component name. For some results this is "port0", which is not very meaningful. Change that to "rx" or "phy" as appropriate. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b45319382150008ed7cd31b7965392d55fe68967 Author: Ben Hutchings Date: Fri Dec 12 22:05:01 2008 -0800 sfc: Remove leading spaces Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6f158d5f29b420438e907d72cb111ddb9973f00a Author: Ben Hutchings Date: Fri Dec 12 22:00:49 2008 -0800 sfc: Add support for SFN4111T Add support code for the SFN4111T 100/1000/10GBASE-T reference design, based in part on the existing code for the SFE4001. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e6fa2eb789f49dc51a20d3db0d410bc8158abb43 Author: Ben Hutchings Date: Fri Dec 12 22:00:17 2008 -0800 sfc: Add support for Solarflare 10Xpress SFT9001 Add type codes for the new PHY and rename the SFX7101 type code. Add definition of clause 22 extension MMD. Adapt the 10Xpress SFX7101 code to support the SFT9001 as well. Clean up register definitions. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 766ca0fa6bf1600bdf4bc7726c74f14c8455c6b8 Author: Ben Hutchings Date: Fri Dec 12 21:59:24 2008 -0800 sfc: Rework MAC, PHY and board event handling From: Steve Hodgson MAC, PHY and board events may be separately enabled and signalled. Our current arrangement of chaining the polling functions can result in events being missed. Change them to be more independent. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 04cc8cacb01c09fba2297faf1477cd570ba43f0b Author: Ben Hutchings Date: Fri Dec 12 21:50:46 2008 -0800 sfc: Implement auto-negotiation Add infrastructure for auto-negotiation of speed, duplex and flow control. When using 10Xpress, auto-negotiate flow control. While we're at it, clean up the code to warn when partner is not 10GBASE-T capable. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 177dfcd80f28f8fbc3e22c2d8b24d21cb86f1d97 Author: Ben Hutchings Date: Fri Dec 12 21:50:08 2008 -0800 sfc: Add support for sub-10G speeds The SFC4000 has a separate MAC for use at sub-10G speeds. Introduce an efx_mac_operations structure with implementations for the two MACs. Switch between the MACs as necessary. PHY settings are independent of the MAC, so add get_settings() and set_settings() to efx_phy_operations. Also add macs field to indicate which MACs the PHY is connected to. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 356eebb2b3af24cc701823f1e025f04eef333239 Author: Ben Hutchings Date: Fri Dec 12 21:48:57 2008 -0800 sfc: Clean up MDIO flag setting We often want to set or clear a flag in an MDIO register, but avoid writing if no change is required since this can have side-effects. Encapsulate this in a function, mdio_clause45_set_flag(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 04300d248bd5166c00a59fa18efc1f7d041e9b32 Author: Ben Hutchings Date: Fri Dec 12 21:48:09 2008 -0800 sfc: Clean up board identification Remove kluge for development boards with unspecified board type. Remove assumption of contiguous board type code assignments. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 06d5e19318e59f6f139b5171f4dfc5f3eb4dd897 Author: Ben Hutchings Date: Fri Dec 12 21:47:23 2008 -0800 sfc: Add phy_type device attribute Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 27dd2caca4eabe7c13a052b7456495ba75535e6a Author: Ben Hutchings Date: Fri Dec 12 21:44:14 2008 -0800 sfc: Add support for MMDs numbered >15 Combine DEVS0 and DEVS1 registers into a 32-bit mask instead of reading just DEVS0. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f31a45d2f45a7667acd6e85ab6613b0910c55ea9 Author: Ben Hutchings Date: Fri Dec 12 21:43:33 2008 -0800 sfc: Remove MII extension cruft Replace efx_nic::link_options bitfield with link_speed (speed in Mbit/s) and link_fd (full duplex flag). Remove broken auto-negotiation functions. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5005087728e37db133fee05bb0923c50e673ae99 Author: Ben Hutchings Date: Fri Dec 12 21:42:42 2008 -0800 sfc: Don't count RX checksum errors during loopback self-test The loopback self-test checks that IP packets with incorrect checksums are not altered when sent on a queue with checksum generation off. These should not contribute to RX error statistics. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 740ced9927cabe0f776265ea24fc399a71bcdef5 Author: Ben Hutchings Date: Fri Dec 12 21:41:55 2008 -0800 sfc: Abbreviate self-test names so they are not truncated Change "channel" to "chan". Shorten PHY loopback names. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 56536e9ce7c23bbc8519b8f99837493dea8da57d Author: Ben Hutchings Date: Fri Dec 12 21:37:02 2008 -0800 sfc: Provide hints to irqbalance daemon Allocate IRQs with the name format [-]- so that future versions of irqbalanced understand what we're doing. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 28b581ab0a0aa7bc8b22935779ca3e8d6f651ac7 Author: Neil Turton Date: Fri Dec 12 21:41:06 2008 -0800 sfc: Add option to use a separate channel for TX completions In a bidirectional forwarding test, we find that the best performance is achieved by sending the TX completion interrupts from one NIC to a CPU which shares an L2 cache with RX completion interrupts from the other NIC. To facilitate this, add an option (through a module parameter) to create separate channels for RX and TX completion with separate IRQs when MSI-X is available. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 84ae48fe4c1fe8b79fac015df6ad0b0937a7ae37 Author: Ben Hutchings Date: Fri Dec 12 21:34:54 2008 -0800 sfc: Restore phy_flash_cfg module parameter This is needed for recovery in case a PHY firmware upgrade is aborted. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2f7f573095132240916a8780cd5ef648c0ad7281 Author: Ben Hutchings Date: Fri Dec 12 21:34:25 2008 -0800 sfc: Work around unreliable strap pins The SFC4000 has strap pins indicating the presence of SPI flash and/or EEPROM. These pins are also used for GPIO, and in some cases they may be read wrongly at reset. However, on production boards it must boot from one or the other device, so we can assume the boot device is present and read the board config from there. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit be4ea89c8df06f48d0d64cf1d9d20009e83c77c8 Author: Ben Hutchings Date: Fri Dec 12 21:33:50 2008 -0800 sfc: Clean up waits for flash/EEPROM operations Make falcon_spi_wait() ignore the write timer - it is only relevant to write commands, it only works for the device that contains VPD, and it might not be initialised properly at all. Rename falcon_spi_fast_wait() to falcon_spi_wait_write(), reflecting its use, and make it wait up to 10 ms (not 1 ms) since buffered writes to EEPROM may take this long to complete. Make both wait functions sleep instead of busy-waiting. Replace wait for command completion at top of falcon_spi_cmd() with a single poll; no command should be running when the function starts. Correct some comments. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1ab00629f06fb3c47de6373cd92d086f33775444 Author: Steve Hodgson Date: Fri Dec 12 21:33:02 2008 -0800 sfc: Make reset_workqueue driver-global rather than per-NIC Each reset is serialised by the rtnl_lock anyway, so there's no win per-NIC. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 65f667fb472d28c1594d862b213a564e292a466c Author: Ben Hutchings Date: Fri Dec 12 21:32:10 2008 -0800 sfc: Correct interpretation of second param to ethtool phys_id() A value of 0 means indefinite repetition (until interrupted). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2b2734dcbfd2dc6b6e4b00bc6971504d7657a4eb Author: Ben Hutchings Date: Fri Dec 12 21:31:36 2008 -0800 sfc: Remove unneeded register write This was only ever needed for an FPGA version of Falcon. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 23d30f027d1e8ad3bcd6192613122ce925947563 Author: Ben Hutchings Date: Fri Dec 12 21:56:11 2008 -0800 sfc: Change SPI lengths to type size_t Based on a patch by Andrew Morton. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a17102b1ba847ca31d9151b877fbf9a38a39a8bb Author: Ben Hutchings Date: Fri Dec 12 21:28:20 2008 -0800 sfc: Board support fixes Set dummy monitor method for unrecognised boards. Clean up board resources if efx_pci_probe_main() fails after board has been initialised. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 702c7904a29629e4e6b18d5497abe84bd20c0449 Author: Karsten Keil Date: Fri Dec 12 21:21:57 2008 -0800 misdn: Fix lockdep warning use correct dynamic spinlock init function. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit c31655fcf2c61f209aab8f4169b0e4afe49b581d Author: Hannes Eder Date: Fri Dec 12 21:20:03 2008 -0800 mISDN: hfcmulti: use __iomem address space modifier Impact: make use of the __iomem address space modifier, and change u_char *, u_short * and u_int * to void * Fix more than 30 sparse warnings of this or similar type: drivers/isdn/hardware/mISDN/hfcmulti.c:261:31: warning: incorrect type in argument 2 (different address spaces) drivers/isdn/hardware/mISDN/hfcmulti.c:261:31: got unsigned char [usertype] * drivers/isdn/hardware/mISDN/hfcmulti.c:261:31: expected void volatile [noderef] *addr Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit c46f0a2d40f7ceb5fb696309bcd088ac75d0fe20 Author: Hannes Eder Date: Fri Dec 12 21:19:18 2008 -0800 mISDN: timerdev: use __user for mISDN_read's buffer argument Fix this warning: drivers/isdn/mISDN/timerdev.c:264:11: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/isdn/mISDN/timerdev.c:264:11: expected int ( *read )( ... ) drivers/isdn/mISDN/timerdev.c:264:11: got int ( static [toplevel] * )( ... ) Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 047ce8f207b144eb9be094ce7427d6e11a687010 Author: Hannes Eder Date: Fri Dec 12 21:18:32 2008 -0800 mISDN: comment out unused symbols Fix this sparse warnings: drivers/isdn/hardware/mISDN/hfcmulti.c:794: warning: 'vpm_check' defined but not used drivers/isdn/mISDN/dsp_cmx.c:1546: warning: 'dsp_start_jiffies' defined but not used Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 863a76e5881abe276a55c4490607a960790c5b0b Author: Hannes Eder Date: Fri Dec 12 21:17:38 2008 -0800 mISDN: fix sparse warning: symbol 'id' shadows an earlier one Impact: rename function scope variable Fix this warning: drivers/isdn/mISDN/l1oip_core.c:472:8: warning: symbol 'id' shadows an earlier one drivers/isdn/mISDN/l1oip_core.c:254:14: originally declared here Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit bb68b1d964f89b19dc13d4f685a7d29616e2a4cb Author: Hannes Eder Date: Fri Dec 12 21:16:58 2008 -0800 mISDN: fix sparse warning: symbol 'nskb' shadows an earlier one Impact: define first occurence of variable 'nskb' in inner most possible scope Fix this sparse warning: drivers/isdn/mISDN/dsp_core.c:746:20: warning: symbol 'nskb' shadows an earlier one drivers/isdn/mISDN/dsp_core.c:634:19: originally declared here Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 65a40516b231f693f3afee4df77fc63c08ba8fa9 Author: Hannes Eder Date: Fri Dec 12 21:16:06 2008 -0800 mISDN: un-export symbol 'plx_lock' 'plx_lock' is only used within hfcmulti.c. Fix this warning: drivers/isdn/hardware/mISDN/hfcmulti.c:176:1: warning: symbol 'plx_lock' shadows an earlier one drivers/isdn/hardware/mISDN/hfcmulti.c:175:19: originally declared here Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 5b8343540a3d27f87a4d9d72bb39b7d4cc3dd95e Author: Hannes Eder Date: Fri Dec 12 21:15:17 2008 -0800 mISDN: make global symbols static or include header files The warnings fixed by including an header file for the appropriate prototype are marked with "*", for all others the corresonponding symbol has been made static. This patch fixes all such issues in mISDN. Fix this sparse warnings: drivers/isdn/hardware/mISDN/hfcmulti.c:174:5: warning: symbol 'plxsd_master' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:426:1: warning: symbol 'write_fifo_regio' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:447:1: warning: symbol 'write_fifo_pcimem' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:469:1: warning: symbol 'read_fifo_regio' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:491:1: warning: symbol 'read_fifo_pcimem' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:710:1: warning: symbol 'vpm_init' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:793:1: warning: symbol 'vpm_check' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:816:1: warning: symbol 'vpm_echocan_on' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcmulti.c:848:1: warning: symbol 'vpm_echocan_off' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:224:1: warning: symbol 'l1oip_law_to_4bit' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:261:1: warning: symbol 'l1oip_4bit_to_law' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:281:1: warning: symbol 'l1oip_alaw_to_ulaw' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:294:1: warning: symbol 'l1oip_ulaw_to_alaw' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:311:1: warning: symbol 'l1oip_4bit_free' was not declared. Should it be static? * drivers/isdn/mISDN/l1oip_codec.c:322:1: warning: symbol 'l1oip_4bit_alloc' was not declared. Should it be static? drivers/isdn/mISDN/core.c:29:1: warning: symbol 'device_lock' was not declared. Should it be static? drivers/isdn/mISDN/core.c:34:1: warning: symbol 'bp_lock' was not declared. Should it be static? drivers/isdn/mISDN/core.c:196:1: warning: symbol 'mISDNInit' was not declared. Should it be static? drivers/isdn/mISDN/core.c:227:6: warning: symbol 'mISDN_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/stack.c:40:1: warning: symbol 'mISDN_queue_message' was not declared. Should it be static? * drivers/isdn/mISDN/layer1.c:388:1: warning: symbol 'l1_init' was not declared. Should it be static? * drivers/isdn/mISDN/layer1.c:400:1: warning: symbol 'l1_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:469:1: warning: symbol 'iframe_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:487:1: warning: symbol 'super_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:496:1: warning: symbol 'unnum_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:509:1: warning: symbol 'UI_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:522:1: warning: symbol 'FRMR_error' was not declared. Should it be static? drivers/isdn/mISDN/layer2.c:1069:1: warning: symbol 'enquiry_cr' was not declared. Should it be static? * drivers/isdn/mISDN/layer2.c:2196:1: warning: symbol 'Isdnl2_Init' was not declared. Should it be static? * drivers/isdn/mISDN/layer2.c:2210:1: warning: symbol 'Isdnl2_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/tei.c:397:1: warning: symbol 'random_ri' was not declared. Should it be static? * drivers/isdn/mISDN/timerdev.c:277:1: warning: symbol 'mISDN_inittimer' was not declared. Should it be static? * drivers/isdn/mISDN/timerdev.c:288:6: warning: symbol 'mISDN_timer_cleanup' was not declared. Should it be static? drivers/isdn/mISDN/dsp_core.c:164:12: warning: symbol 'mISDN_dsp_revision' was not declared. Should it be static? drivers/isdn/mISDN/dsp_cmx.c:1543:5: warning: symbol 'samplecount' was not declared. Should it be static? drivers/isdn/mISDN/dsp_cmx.c:1546:5: warning: symbol 'dsp_start_jiffies' was not declared. Should it be static? drivers/isdn/mISDN/dsp_cmx.c:1547:16: warning: symbol 'dsp_start_tv' was not declared. Should it be static? drivers/isdn/mISDN/dsp_tones.c:239:3: warning: symbol 'pattern' was not declared. Should it be static? drivers/isdn/mISDN/dsp_audio.c:33:4: warning: symbol 'dsp_audio_ulaw_to_alaw' was not declared. Should it be static? Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit dfa96ec1bb83641242c48883c2bae8f1f30483b2 Author: Hannes Eder Date: Fri Dec 12 21:13:45 2008 -0800 mISDN: consistently define 'debug' as '*u_int' Impact: change data type for variable 'debug' from *int to *u_int, same for the argument type of mISDN_inittimer In "core.h" mISDN_inittimer is declared with the argument type "*u_int", make the definition in "timerdev.c" match this. This fixes also this warnings: drivers/isdn/mISDN/layer1.c:391:8: warning: incorrect type in assignment (different signedness) drivers/isdn/mISDN/layer1.c:391:8: expected int *static [toplevel] debug drivers/isdn/mISDN/layer1.c:391:8: got unsigned int [usertype] *deb drivers/isdn/mISDN/layer2.c:2200:8: warning: incorrect type in assignment (different signedness) drivers/isdn/mISDN/layer2.c:2200:8: expected int *static [toplevel] debug drivers/isdn/mISDN/layer2.c:2200:8: got unsigned int [usertype] *deb drivers/isdn/mISDN/socket.c:769:8: warning: incorrect type in assignment (different signedness) drivers/isdn/mISDN/socket.c:769:8: expected int *static [toplevel] debug drivers/isdn/mISDN/socket.c:769:8: got unsigned int [usertype] *deb Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit bcf91745091ba3b0813fa79afb5d10b090ea745d Author: Hannes Eder Date: Fri Dec 12 21:11:28 2008 -0800 mISDN: use NULL pointer instead of plain integer Fix more than 100 (all remaining in mISDN) sparse warnings: drivers/isdn/hardware/mISDN/hfcmulti.c:***:**: warning: Using plain integer as NULL pointer drivers/isdn/mISDN/dsp_tones.c:***:**: warning: Using plain integer as NULL pointer drivers/isdn/mISDN/dsp_pipeline.c:***:**: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Acked-by: Karsten Keil Signed-off-by: David S. Miller commit a7b75207bd37cbbfa0b4ee7dbaf0dc6bafec8fea Author: Tomas Winkler Date: Thu Dec 11 10:33:41 2008 -0800 iwlwifi: add contact email to MODULE_AUTHOR Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2aa6ab86bc475a115f56645591d2413981846509 Author: Tomas Winkler Date: Thu Dec 11 10:33:40 2008 -0800 iwlwifi: remove 4965 from common uCode API structures This patch removes 4965 from common uCode API structures. Also updates iwlagn commands with 3945 specific RX command in preparation for 3945 port. Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b5047f78664fbcc18d67dafbb45bf62b310f9b0a Author: Tomas Winkler Date: Thu Dec 11 10:33:39 2008 -0800 iwlwifi: remove includes of iwl-helpers.h where not needed This patch removes includes of iwl-helpers.h where not needed Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 29d51d9df53a4b383e2062b2ea0d575c9f3fca47 Author: Tomas Winkler Date: Thu Dec 11 10:33:38 2008 -0800 iwlwifi: remove unused clip_groups priv member Remove clip_groups from priv and related structure. This code is for 3945 only and was renamed to 4965 in when code was split. Also remove unused RATE definitions Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit edb342286e18c5bec6d3ac325851a9cba28061b9 Author: Mohamed Abbas Date: Thu Dec 11 10:33:37 2008 -0800 iwlwifi: fix resume while txpower off This patch take care of coming out rfkill when the driver is up while rfkill is on by restarting interface. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3d5717ade01ce22511f2992f150bf6644b21c377 Author: Zhu, Yi Date: Thu Dec 11 10:33:36 2008 -0800 iwlwifi: use iwl_poll_direct_bit in EEPROM reading The patch replaces the current reading EEPROM loop iterations with iwl_poll_direct_bit(). It also fixes some comment error. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9c5f89b3f6580cca21dca4ede940900c5b3c3a81 Author: Jouni Malinen Date: Thu Dec 11 18:22:13 2008 +0200 ath9k: Do not remove header padding on RX from short frames The 802.11 header is only padded to 32-bit boundary when the frame has a non-zero length payload. In other words, control frames (e.g., ACK) do not have a padding and we should not try to remove it. This fixes monitor mode for short control frames. In addition, the hdrlen&3 use is described in more detail to make it easier to understand how the padding length is calculated. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f2f1ba253d970479343f97c4620e16842c695d03 Author: Rami Rosen Date: Thu Dec 11 14:29:06 2008 +0200 iwlwifi: fix build warning (iwl-rx.c) This patch fixes the following build warning when CONFIG_IWLWIFI_DEBUG is not set. /work/src/wireless-testing/drivers/net/wireless/iwlwifi/iwl-rx.c:758: warning: 'iwl_dbg_report_frame' defined but not used Signed-off-by: Rami Rosen Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit ab1f5c0bb8edbaee81c1672733f8dc4d0a5f5ea5 Author: Rami Rosen Date: Thu Dec 11 14:00:25 2008 +0200 mac80211: misc cleanups This patch removes unneeded member (skbuff) from ieee80211_ibss_add_sta() method in its declaration (in ieee80211_i.h) and its callers (in rx.c and mlme.c) This patch removes unneeded member from struct ieee80211_rx_data in ieee80211_i.h. (Originally posted as two patches. -- JWL) Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 4dec9b807be757780ca3611a959ac22c28d292a7 Author: Johannes Berg Date: Wed Dec 10 17:48:48 2008 +0100 rfkill: strip pointless notifier chain No users, so no reason to have it. Signed-off-by: Johannes Berg Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6fb532527e2592f82ec07508df2e44f6c7ceff12 Author: Anna Neal Date: Tue Dec 9 13:23:45 2008 -0800 libertas: Create sysfs entry for changing the mesh probe response limit This patch adds the ability to change the number of probe response retries sent by the mesh interface. In dense networks it is recommended to change this value to zero to reduce traffic congestion. Signed-off-by: Anna Neal Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit b77f483fcf0579de28873828897f53371a33a0ea Author: Sujith Date: Sun Dec 7 21:44:03 2008 +0530 ath9k: Refactor struct ath_softc Split ath_softc into smaller structures for rx, tx and beacon handling. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 59651e89187293e88863891b821c7379391ef75c Author: Christian Lamparter Date: Tue Dec 9 21:07:50 2008 +0100 p54: fix oops on faulty devices This patch fixes an oops when the devices suddenly starts to receive martian data frames. bug reference: http://marc.info/?l=linux-wireless&m=122872280317635&w=2 Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b7a530d82cb36bb43901c196039b0fccee3ffcc3 Author: Jouni Malinen Date: Wed Dec 10 14:51:47 2008 +0200 mac80211: Disable requests for new scans in AP mode AP mode operations are seriously affected if mac80211 runs through a multi-second scan while the AP is trying to send Beacon frames on the operation channel. While this could be implemented in a way that does not cause too many problems, it is not very simple and will require synchronization with Beacon frame scheduling in the drivers (scan one channel at a time between Beacon frames). Furthermore, such scanning takes quite a bit longer time and existing userspace applications would be likely to timeout while waiting for the results. For now, just refuse requests for new scans (SIOCSIWSCAN) when in AP mode. In practice, this moves the rejection from iwl* drivers into mac80211 to make it apply to every mac80211-based driver. This issue shows up in associated stations getting disconnected when something (e.g., Network Manager) requests a scan while the interface is in AP mode. When doing this continuously (e.g., NM does it every 120 seconds), the network gets close to useless. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 14a4dfe2ff8c353f59ae8324059ded1cfe22c7d9 Author: Helmut Schaa Date: Wed Dec 10 13:17:26 2008 +0100 ipw2200: fix scanning while associated This patch fixes sporadic firmware restarts when scanning while associated. The firmware will quietly cancel a scan (while associated) if the dwell time for a channel to be scanned is larger than the time it may stay away from the operating channel (because of DTIM catching). Unfortunately the driver is not notified about the canceled scan and therefore the scan watchdog timeout will be hit and the driver causes a firmware restart which results in disassociation. This mainly happens on passive channels which use a dwell time of 120 whereas a typical beacon interval is around 100. The patch changes the dwell time for passive channels to be slightly smaller than the actual beacon interval to work around the firmware issue. Furthermore the number of allowed beacon misses is increased from one to three as otherwise most scans (while associated) won't complete successfully. However scanning while associated will still fail in corner cases such as a beacon intervals below 30. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit d8004cb9267b15cd902eef01a75bb1ffa3995af8 Author: Larry Finger Date: Tue Dec 9 23:35:41 2008 -0600 b43legacy: Fix sparse warnings Sparse yields the following warnings for b43legacy: CHECK drivers/net/wireless/b43legacy/phy.c drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction drivers/net/wireless/b43legacy/phy.c:1304:31: warning: potentially expensive pointer subtraction CHECK drivers/net/wireless/b43legacy/debugfs.c drivers/net/wireless/b43legacy/debugfs.c:243:9: warning: memset with byte count of 131072 Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c1db52b9d27ee6e15a7136e67e4a21dc916cd07f Author: Larry Finger Date: Tue Dec 9 23:34:27 2008 -0600 rtl8187: Use usb anchor facilities to manage urbs When SLUB debugging is enabled in the kernel, and the boot command includes the option "slub_debug=P", rtl8187 encounters a GPF due to a read-after-free of a urb. Following the example of changes in p54usb to fix the same problem, the code has been modified to use the usb_anchor_urb() method. With this change, the USB core handles the freeing of urb's. This patch fixes the problem reported in Kernel Bugzilla #12185 (http://bugzilla.kernel.org/show_bug.cgi?id=12185). Signed-off-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 388cdf31db6dfc3d175786a76989266380e12c26 Author: Bob Copeland Date: Tue Dec 9 23:05:38 2008 -0500 ath5k: fix endianness of bitwise ops when installing mic Fix these bugs found by sparse: ath5k/pcu.c:1102:21: warning: restricted __le32 degrades to integer ath5k/pcu.c:1102:13: warning: incorrect type in assignment (different base types) ath5k/pcu.c:1102:13: expected restricted __le32 ath5k/pcu.c:1102:13: got unsigned int ath5k/pcu.c:1104:20: warning: restricted __le32 degrades to integer ath5k/pcu.c:1104:13: warning: incorrect type in assignment (different base types) ath5k/pcu.c:1104:13: expected restricted __le32 ath5k/pcu.c:1104:13: got unsigned int Changes-licensed-under: ISC Reported-by: Johannes Berg Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 62d714e5ebec9ad4d63bb9a6da19dfd83d3db860 Author: David Kilroy Date: Tue Dec 9 23:05:38 2008 +0000 spectrum_cs: Fix function names used in debug strings Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 499b702a8d848aaa15d6255e9302d9186827691e Author: David Kilroy Date: Tue Dec 9 21:46:29 2008 +0000 orinoco: Fix inappropriate use of IRQ_BAP This hardware buffer should only be used from an interrupt. The wireless event generation functions are called from a workqueue, so use USER_BAP instead. Signed-off-by: David Kilroy Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 0c06dd8a237c673eedd295fbef7a8c0e52f5c045 Author: David Kilroy Date: Tue Dec 9 21:46:28 2008 +0000 orinoco: Fix function names used in debug strings Signed-off-by: David Kilroy Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 39ca5bb76f3382b1cb0062d75ec45abd1c46e6d2 Author: Christian Lamparter Date: Tue Dec 9 21:09:00 2008 +0100 p54: enforce strict tx_queue limits The patch fixes an old FIXME in p54pci.c by moving the "queue full" check into the common library, where we can deal with it properly. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 30dab79ed40f6c0f8a24e25fd9be7bd873eeeb8b Author: Winkler, Tomas Date: Tue Dec 9 11:29:01 2008 -0800 iwlwifi: remove qos module parameter The ability of disabling qos from module params is not required anymore. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6d1ef1a3e6b4915d4cde897971ce283bdf0d9fbc Author: Winkler, Tomas Date: Tue Dec 9 11:29:00 2008 -0800 iwlwifi: 3945 remove qos module parameter The ability of disabling qos from module params is not required anymore. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9f925938680b7d1adeb030befb6a4b5f86026b6a Author: Winkler, Tomas Date: Tue Dec 9 11:28:59 2008 -0800 iwlifi: remove twice defined SINGLE_FRAME RX FH MASK This patch removes second definition of FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME in iwl-fh.h Signed-off-by: Tomas Winkler Reported-by: Emmanuel Grumbach Acked-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 759ef89fb096c4a6ef078d3cfd5682ac037bd789 Author: Winkler, Tomas Date: Tue Dec 9 11:28:58 2008 -0800 iwlwifi: change email contact information This patch replaces personal emails with hopefully always valid Intel Linux Wireless, which will be routed to a current maintainer Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d070d8555fbb3b9114c6f861e5cf017ea1720b67 Author: Pavel Roskin Date: Tue Dec 9 12:32:15 2008 -0500 airport: remove useless return in a function returning void Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 89fad578a61810b7fdf8edd294890f3c0cde4390 Author: Christian Lamparter Date: Tue Dec 9 16:28:06 2008 +0100 mac80211: integrate sta_notify_ps cmds into sta_notify This patch replaces the newly introduced sta_notify_ps function, which can be used to notify the driver about every power state transition for all associated stations, by integrating its functionality back into the original sta_notify callback. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit dd397dc9dddfa2149a1bbc9e52ac7d5630737cec Author: Christian Lamparter Date: Tue Dec 9 15:14:37 2008 +0100 p54usb: rewriting rx/tx routines to make use of usb_anchor's facilities Alan Stern found several flaws in p54usb's implementation and annotated: "usb_kill_urb() and similar routines do not expect an URB's completion routine to deallocate it.  This is almost obvious -- if the URB is deallocated before the completion routine returns then there's no way for usb_kill_urb to detect when the URB actually is complete." This patch addresses all known limitations in the old implementation and fixes khub's "use-after-freed" hang, when SLUB debug's poisoning option is enabled. Signed-off-by: Christian Lamparter Cc: stable@kernel.org Tested-by: Larry Finger Signed-off-by: John W. Linville commit a07d3619faeea3f540dd55f86685136f8928b4ad Author: Senthil Balasubramanian Date: Tue Dec 9 17:23:33 2008 +0530 ath9k: BH shouldn't be enabled when hardirqs are disabled. ath_tx_complete_buf uses a BH version of spinlock and so releasing the lock enables BH which is incorrect when called from sta_notify callback as MAC80211 disables hardirqs before the driver callback is called. As ath_tx_complete_buf is shared between user and softirq context using normal spinlock may not be appropriate. Though the proper fix would be to cleanup the context properly in the driver code, this would be an interim fix to avoid kernel warning. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit b143923689fdcc8e56688f2506a11ff16e4cd20b Author: Johannes Berg Date: Tue Dec 9 12:39:52 2008 +0100 mac80211/cfg80211: check endianness in sparse runs Make sure sparse checks endianness when run on mac80211/cfg80211. Signed-off-by: Johannes Berg Cc: Sam Ravnborg Signed-off-by: John W. Linville commit f546638c3f809fdacddc03fe765669c3042e0d9d Author: Johannes Berg Date: Tue Dec 9 12:30:03 2008 +0100 mac80211: remove fragmentation offload functionality There's no driver that actually does fragmentation on the device, and the callback is buggy (when it returns an error, mac80211's fragmentation status is changed so reading the frag threshold from userspace reads the new value despite the error). Let's just remove it, if we really find some hardware supporting it we can add it back later. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e4f2a3458f451d5fb6aa55aac6aaadcf220d0da1 Author: Johannes Berg Date: Tue Dec 9 12:26:14 2008 +0100 ath9k: remove fragmentation workaround again Looking at the RC algorithm this is no longer necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21a49fc674afd00db6de2f729f8c8e4fab2f1bdf Author: Rami Rosen Date: Tue Dec 9 08:37:28 2008 +0200 iwlwifi: fix build error (iwl-rx.c). This patch adds #ifdef CONFIG_IWLWIFI_DEBUG in iwl_rx_reply_rx() method in iwlwifi/iwl-rx.c) to avoid build error caused by "iwlwifi: implement iwl_debug_report_frame for iwlagn". Signed-off-by: Rami Rosen Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8dffff216fcac4f79078478085e86d68db64922e Author: Johannes Berg Date: Tue Dec 9 00:10:30 2008 +0100 mac80211: only create default STA interface if supported Drivers will support this, obviously, but this forces them to set it up properly. (This includes the fix posted as "mac80211: fix ifmodes check" and tested in wireless-testing by Hin-Tak and others. -- JWL) Signed-off-by: Johannes Berg Reported-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 0f202aa2e1e1db1d20da9bcc3f5ad43c5a22d2d5 Author: John W. Linville Date: Mon Dec 8 14:51:41 2008 -0500 ieee80211_security: correct warning about width of auth_mode Also remove auth_algo which is unused. Signed-off-by: John W. Linville commit 8aa15e1506bb0b6b643be12baf1f2d4d2f115931 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:50 2008 +0530 ath9k: avoid rx frames with corrupted descriptor. Setting RX_ABORT/RX_DIS after MAC reset and clearing RX_ABORT/RX_DIS after enbling RXE/RXDP to avoid rx frames with corrupted descriptor status. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 2df1bff4c5cd0b28e06e4defc3f5d90618db8d53 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:49 2008 +0530 ath9k: Incorrect band enum causes invalid antenna configuration. It's a regression from the patch titled "ath9k: Use mac80211's band macros and remove enum hal_freq_band". MAC80211 band macros can't be mapped directly with our hal band enum. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e7594072a5b918510c937c1ab0acad4e8a931bc7 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:48 2008 +0530 ath9k: Adding support for Atheros AR9285 chipset. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e8fbc99edfe0efa0b42f04587a79a6b3371f961a Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:47 2008 +0530 ath9k: Adding initvalues for Atheros AR9285 chipset. This patch adds the initvalues required for AR9285 chipset. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 02e90d627c80127933ee56ae0e9bf727fde66105 Author: Senthil Balasubramanian Date: Mon Dec 8 19:43:46 2008 +0530 ath9k: Adding AR9285 chipset register information. Adding AR9285 register information. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 306d6112f9b396ed237305036f8e889f8aa964b5 Author: Johannes Berg Date: Mon Dec 8 12:39:04 2008 +0100 cfg80211: fix nl80211 frequency handling Fix two small bugs with HT frequency setting: * HT is accepted even when the driver is incapable * HT40 is accepted when the driver cannot do 40 MHz (both on the selected band) Also simplify the code a little. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ba1c04ed727a70df2dc63464232c0ec906ad67d Author: Johannes Berg Date: Mon Dec 8 11:18:32 2008 +0100 mac80211: improve sta_notify documentation Mention more possible STA entries and document the atomic requirement. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8ee5afbc9d2162f0919dd089023fb690f7cf8134 Author: Sujith Date: Sun Dec 7 21:43:36 2008 +0530 ath9k: Merge structures ath_atx, ath_node_aggr with ath_node Signed-off-by: Sujith Signed-off-by: John W. Linville commit f6688cd8af6260ad4717ce45d2a614633fcf5540 Author: Sujith Date: Sun Dec 7 21:43:10 2008 +0530 ath9k: Remove remaining occurrences of CONFIG_SLOW_ANT_DIV Slow Antenna Diversity has been removed, these are remnants of the old code. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 817e11de2d3392041a70c80a6d5b353ad210f276 Author: Sujith Date: Sun Dec 7 21:42:44 2008 +0530 ath9k: Add a debugfs file to show interrupt statistics Location: ath9k//interrupt Signed-off-by: Sujith Signed-off-by: John W. Linville commit 3706de6f58962ba74c18eb4cb1ebe034ff723037 Author: Sujith Date: Sun Dec 7 21:42:10 2008 +0530 ath9k: Maintain rate table choice after association A scan run after association would change sc_curmode which is used to get the current rate table. This patch fixes it by removing sc_curmode and setting the rate table in usage in cur_rate_table on association. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 40990ec01fcca0b86a19c13a5d3deb77da1913a7 Author: Sujith Date: Sun Dec 7 21:41:37 2008 +0530 ath9k: Fix bug in rate table management The proper rate table wouldn't be used if a disassoc happens and a new attempt is made to associate using wpa_supplicant. This patch fixes it by storing the rate table to be used on association. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6b3aa6ab787fe545c58554b7ce5c94de53526b83 Author: Jouni Malinen Date: Fri Dec 5 20:43:27 2008 +0200 ath9k: Disable staggered Beacon frame scheduling It looks like there are some issues in the current ath9k version as far as staggered Beacon frame scheduling is concerned. This results in Beacon frame timestamp being off by 25 milliseconds or so which can cause issues with multicast power save buffering in AP mode. Some client stations fail to receive multicast frames when there is this large an offset between TBTT and actual Beacon transmission time. Since ath9k does not yet support multiple BSSes anyway, the staggered Beacon frame scheduling is just increasing the number of interrupts at this point. The easiest fix for the timestamp offset is to disable staggered Beacon frames for now. We need to redesign beacon.c anyway when adding multi-BSS support with mac80211 since the existing code depends on different mechanism for Beacon frame transmission. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 3fbb9d95a96c6a03f2e484bb1665d089412640dc Author: Jouni Malinen Date: Fri Dec 5 20:42:45 2008 +0200 ath9k: Free Beacon skbs in AP mode Fix a memory leak where AP mode did not free transmitted Beacon frame skbs. Signed-off-by: Jouni Malinen Acked-by: Pat Erley Signed-off-by: John W. Linville commit 61ff84a4ce6451c9a0b675d355e0580e53628801 Author: Rami Rosen Date: Fri Dec 5 18:16:21 2008 +0200 iwlwifi: cleanup (remove pm_state) This patches removes unused variable (pm_state) from iwl-dev.h and from iwl-3945.h. (wireless-testing tree) Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit a8ec42c1431e8a43f910fb27af4882416cf5d6b1 Author: Zhu, Yi Date: Fri Dec 5 07:58:41 2008 -0800 iwlwifi: use rmb/wmb to protect indirect mmio operation This patch protects iwlwifi indirect mmio operations with rmb() and wmb(). It makes sure CPU reordering won't affect our indirect mmio access. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 73d7b5acc461bdc99e0135779d15e1874c6e00a6 Author: Zhu, Yi Date: Fri Dec 5 07:58:40 2008 -0800 iwlwifi: iwl_poll_{direct_}bit cleanup The patch merges implementation of iwl_poll_bit() and iwl_poll_direct_bit() by letting the latter be a special case of the former. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 42802d71dd14dd0e435a8da59d817d0c6f8a2866 Author: Zhu, Yi Date: Fri Dec 5 07:58:39 2008 -0800 iwlwifi: fix "MAC in deep sleep" error This patch fixes the misue of CSR_GP_CNTRL with CSR_RESET address in polling the CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY bit in iwl4965_apm_reset(). This causes "MAC in deep sleep" error sometimes. The patch also fixes the timeout value and the iwl_poll_bit() return value check. Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f056658bb9c3085d5ec52fbdd45b38d55b899cc9 Author: Zhu, Yi Date: Fri Dec 5 07:58:38 2008 -0800 iwlwifi: fix time interval misuse in iwl_poll_{direct_}bit The patch fixes the misuse of microsecond with millisecond in the polling mechanism of the iwlwifi driver. The impact of this problem is the unacceptable latency for the whole system (especially during bringing down the wlan interface). Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7262796ab726fcefad9b588a44d1d5a9f221051f Author: Abbas, Mohamed Date: Fri Dec 5 07:58:37 2008 -0800 iwl3945: Fix rate scale for B-mode connection This patch make sure we use only CCK rate for B only network. For 3945 driver, it sets REPLY_RATE_SCALE command every time we connect to a new network. In this command we set for every rate the number of try and next rate. The problem mac80211 reports same mode for both B and G mode as IEEE80211_BAND_2GHZ which will cause using invalid rate other than CCK in B only network. THis patch on association will examine sta valid rate on association, if no OFDM rate in valid available rates it considers it as B only mode so we can set REPLY_RATE_SCALE command with valid B only network and only choose CCK rate in rate scaling. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 00e540b3768c96a5e2a9d5d39524fef98b2cd981 Author: Halperin, Daniel C Date: Fri Dec 5 07:58:36 2008 -0800 iwlwifi: implement iwl_debug_report_frame for iwlagn The old version of this code was copied from 3945 and never updated. This patch cleans up structs that do not apply and accounts for other changes from 3945->iwlagn (e.g., PHY info can come in a separate cmd response from the ucode.) Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 447107fb32d75425c95a33f58e6b4b760b470092 Author: Reinette Chatre Date: Thu Dec 4 14:49:08 2008 -0800 mac80211: remove WARN_ON() from ieee80211_hw_config ieee80211_hw_config can return an error when the hardware has rfkill enabled. A WARN_ON() is too harsh for this failure as it is a valid scenario. Only comment this warning as we would like to have it back when rfkill is integrated into mac80211. Also reintroduce propagation of error if ieee80211_hw_config fails in ieee80211_config_beacon. This patch partially reverts patch: 5f0387fc3337ca26f0745f945f550f0c3734960f "mac80211: clean up ieee80211_hw_config errors" Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bb608e9db7d29616fb6e0d856c23434610d4a1bd Author: Senthil Balasubramanian Date: Thu Dec 4 20:38:13 2008 +0530 wireless: Incorrect LEAP authentication algorithm identifier. This patch fixes a regression introduced by "wireless: avoid some net/ieee80211.h vs. linux/ieee80211.h conflicts" LEAP authentication algorithm identifier should be 128. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a7db74f4be3835fd16c6c582d320f692ccccc622 Author: Larry Finger Date: Wed Dec 3 22:21:20 2008 -0600 rtl8187: Improve wireless statistics for RTL8187 The current wireless statistics for the RTL8187 poorly indicate the signal strength and quality. With testing, I found that the AGC value is inversely correlated with the strength as in the RTL8187B. By implementing a similar calculation, much more code becomes common to the two devices. Signed-off-by: Larry Finger Tested by: Martín Ernesto Barreyro Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit fd28a5b58dddf5cb5df162ae5c8797a63171c31d Author: Andi Kleen Date: Tue Oct 21 14:05:00 2008 +0200 x86: remove simnow earlyprintk support Impact: remove obsolete code The later versions of SimNow! actually all have serial console emulation, so the direct interface isn't needed anymore. So remove the undocumented simnow earlyprintk console. Signed-off-by: Andi Kleen Signed-off-by: Thomas Gleixner commit c29541b24fb2c6301021637229ae5347c877330a Author: Mike Frysinger Date: Mon Dec 1 14:18:11 2008 -0800 linux/timex.h: cleanup for userspace Impact: fix user-space exported use Move all the kernel-specific defines and includes into the __KERNEL__ section so that they don't get leaked into userspace. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 8187926bdae98648db24db3391c4efd21ec669b1 Author: Oleg Nesterov Date: Mon Dec 1 14:18:16 2008 -0800 posix-timers: simplify de_thread()->exit_itimers() path Impact: simplify code de_thread() postpones release_task(leader) until after exit_itimers(). This was needed because !SIGEV_THREAD_ID timers could use ->group_leader without get_task_struct(). With the recent changes we can release the leader earlier and simplify the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 899921025b406a71a8aeb2d7855658ea0cf0ed23 Author: Oleg Nesterov Date: Mon Dec 1 14:18:15 2008 -0800 posix-timers: check ->it_signal instead of ->it_pid to validate the timer Impact: clean up, speed up ->it_pid (was ->it_process) has also a special meaning: if it is NULL, the timer is under deletion or it wasn't initialized yet. We can check ->it_signal != NULL instead, this way we can - simplify sys_timer_create() a bit - remove yet another check from lock_timer() - move put_pid(->it_pid) into release_posix_timer() which runs outside of ->it_lock Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 27af4245b6ce99e08c6a7c38825383bf51119cc9 Author: Oleg Nesterov Date: Mon Dec 1 14:18:13 2008 -0800 posix-timers: use "struct pid*" instead of "struct task_struct*" Impact: restructure, clean up code k_itimer holds the ref to the ->it_process until sys_timer_delete(). This allows to pin up to RLIMIT_SIGPENDING dead task_struct's. Change the code to use "struct pid *" instead. The patch doesn't kill ->it_process, it places ->it_pid into the union. ->it_process is still used by do_cpu_nanosleep() as before. It would be trivial to change the nanosleep code as well, but since it uses it_process in a special way I think it is better to keep this field for grep. The patch bloats the kernel by 104 bytes and it also adds the new pointer, ->it_signal, to k_itimer. It is used by lock_timer() to verify that the found timer was not created by another process. It is not clear why do we use the global database (and thus the global idr_lock) for posix timers. We still need the signal_struct->posix_timers which contains all useable timers, perhaps it is better to use some form of per-process array instead. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 9470565579f29486f4ed0ffa50774268b64994b0 Author: Dave Jones Date: Mon Dec 1 14:13:50 2008 -0800 x86: remove init_mm export as planned for 2.6.26 Impact: remove deprecated export Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 001474491fabeca233168a8598f721c808040f90 Author: Woodruff, Richard Date: Mon Dec 1 14:18:11 2008 -0800 nohz: suppress needless timer reprogramming In my device I get many interrupts from a high speed USB device in a very short period of time. The system spends a lot of time reprogramming the hardware timer which is in a slower timing domain as compared to the CPU. This results in the CPU spending a huge amount of time waiting for the timer posting to be done. All of this reprogramming is useless as the wake up time has not changed. As measured using ETM trace this drops my reprogramming penalty from almost 60% CPU load down to 15% during high interrupt rate. I can send traces to show this. Suppress setting of duplicate timer event when timer already stopped. Timer programming can be very costly and can result in long cpu stall/wait times. [akpm@linux-foundation.org: coding-style fixes] [tglx@linutronix.de: move the check to the right place and avoid raising the softirq for nothing] Signed-off-by: Richard Woodruff Cc: johnstul@us.ibm.com Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 0a57b783018a77ca16097198844438bdff4d012e Author: Bjorn Helgaas Date: Mon Dec 1 14:18:12 2008 -0800 clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI acpi_pm_read_slow() is only used when CONFIG_PCI=y, so move the definition inside the ifdef. Otherwise this causes a "defined but not used" warning when building with CONFIG_ACPI=y and CONFIG_PCI=n (that's not supported yet, but it could be). Signed-off-by: Bjorn Helgaas Cc: mingo@elte.hu Cc: johnstul@us.ibm.com Cc: akpm@linux-foundation.org Cc: bjorn.helgaas@hp.com Cc: lenb@kernel.org Cc: linux@dominikbrodowski.net Cc: tglx@linutronix.de Signed-off-by: Thomas Gleixner Cc: Dominik Brodowski Cc: Thomas Gleixner Cc: Len Brown Signed-off-by: Andrew Morton commit 02f11ee181baa562df23e105ba930902f0d0b1bf Author: David Vrabel Date: Fri Dec 12 13:28:48 2008 +0000 uwb: fix memory leak in uwb_rc_notif() Don't leak memory in uwb_rc_notif() if certain non-standard events are received. Signed-off-by: David Vrabel commit fe6e87a4b570d2e435709746ba550a7197016bd0 Author: David Vrabel Date: Fri Dec 12 13:25:21 2008 +0000 wusb: fix oops when terminating a non-existant reservation If a reservation was not established, do not try terminating it. Signed-off-by: David Vrabel commit 671e470ed04865ca148b83f46319d14547481340 Author: David Vrabel Date: Fri Dec 12 13:23:24 2008 +0000 uwb: fix oops when terminating an already terminated reservation Calling uwb_rsv_terminate() on a reservation already in UWB_RSV_STATE_NONE should do nothing. Signed-off-by: David Vrabel commit 5b37717a23b8e40f6cf7ad85a26ddcf41c171e2c Author: Stefano Panella Date: Fri Dec 12 13:00:06 2008 +0000 uwb: improved MAS allocator and reservation conflict handling Greatly enhance the MAS allocator: - Handle row and column reservations. - Permit all the available MAS to be allocated. - Follows the WiMedia rules on MAS selection. Take appropriate action when reservation conflicts are detected. - Correctly identify which reservation wins the conflict. - Protect alien BP reservations. - If an owned reservation loses, resize/move it. - Follow the backoff procedure before requesting additional MAS. When reservations are terminated, move the remaining reservations (if necessary) so they keep following the MAS allocation rules. Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit 8299608f140ae321e4eb5d1306184265d2b9511e Merge: 45ab6b0... 30cb367... 69b88af... 8daa190... Author: Ingo Molnar Date: Fri Dec 12 13:49:17 2008 +0100 Merge branches 'irq/sparseirq', 'x86/quirks' and 'x86/reboot' into cpus4096 We merge the irq/sparseirq, x86/quirks and x86/reboot trees into the cpus4096 tree because the io-apic changes in the sparseirq change conflict with the cpumask changes in the cpumask tree, and we want to resolve those. commit 45ab6b0c76d0e4cce5bd608ccf97b0f6b20f18df Merge: 81444a7... d65bd5e... Author: Ingo Molnar Date: Fri Dec 12 13:48:57 2008 +0100 Merge branch 'sched/core' into cpus4096 Conflicts: include/linux/ftrace.h kernel/sched.c commit d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c Author: Heiko Carstens Date: Tue Dec 9 18:49:51 2008 +0100 sched: add missing arch_update_cpu_topology() call arch_reinit_sched_domains() used to call arch_update_cpu_topology() via arch_init_sched_domains(). This call got lost with e761b7725234276a802322549cee5255305a0930 ("cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)". So we might end up with outdated and missing cpus in the cpu core maps (architecture used to call arch_reinit_sched_domains if cpu topology changed). This adds a call to arch_update_cpu_topology in partition_sched_domains which gets called whenever scheduling domains get updated. Which is what is supposed to happen when cpu topology changes. Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit ee79d1bdb6a10499e53f80b1e8d14110215178ba Author: Heiko Carstens Date: Tue Dec 9 18:49:50 2008 +0100 sched: let arch_update_cpu_topology indicate if topology changed Change arch_update_cpu_topology so it returns 1 if the cpu topology changed and 0 if it didn't change. This will be useful for the next patch which adds a call to this function in partition_sched_domains. Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit 81444a799550214f549caf579cf65a0ca55e70b7 Merge: a64d31b... da485e0... Author: Ingo Molnar Date: Fri Dec 12 12:43:05 2008 +0100 Merge branch 'tracing/fastboot' into cpus4096 commit 30cb367ea2be76bf71dbd275f38d0fd3b6f4142b Author: Ingo Molnar Date: Fri Dec 12 12:19:57 2008 +0100 sparse irqs: add irqnr.h to the user headers list Impact: fix build error /home/mingo/tip/usr/include/linux/random.h:11: included file 'linux/irqnr.h' is not exported Signed-off-by: Ingo Molnar commit 0ebb26e7a4e2c5337502e98b2221e037fda911b9 Author: Ingo Molnar Date: Fri Dec 12 11:26:39 2008 +0100 sparse irqs: handle !GENIRQ platforms Impact: build fix fix: In file included from /home/mingo/tip/arch/m68k/amiga/amiints.c:39: /home/mingo/tip/include/linux/interrupt.h:21: error: expected identifier or '(' /home/mingo/tip/arch/m68k/amiga/amiints.c: In function 'amiga_init_IRQ': Signed-off-by: Ingo Molnar commit 2bed8446819a7c5033aa1da138d9f230ae212edc Author: Ingo Molnar Date: Fri Dec 12 12:13:36 2008 +0100 tracing/function-graph-tracer: add a new .irqentry.text section, fix Impact: build fix 32-bit x86 needs this section too. Signed-off-by: Ingo Molnar commit cbc34ed1ac36690f75fd272e19e7b4fc29aae5a2 Author: Peter Zijlstra Date: Wed Dec 10 08:08:22 2008 +0100 sched: fix tracepoints in scheduler The trace point only caught one of many places where a task changes cpu, put it in the right place to we get all of them. Change the signature while we're at it. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 915b0d0104b72fd36af088ba4b11b5690bc96a6c Author: Hiroshi Shimamoto Date: Mon Dec 8 19:19:26 2008 -0800 x86: hardirq: introduce inc_irq_stat() Impact: cleanup Introduce inc_irq_stat() macro and unify irq_stat accounting code. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit fd10902797fc9d6abaf55d9c2e3c6698c90b10c7 Merge: 5b3eec0... 8b1fae4... Author: Ingo Molnar Date: Fri Dec 12 11:59:39 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/irq commit 8f2466f45f75e3cbe3aa2b69d33fd9d6e343b9cc Author: Hiroshi Shimamoto Date: Mon Dec 8 19:19:07 2008 -0800 x86: kill #ifdef for exit_idle() Impact: cleanup Introduce helper inline function in arch/x86/include/asm/idle.h to remove #ifdefs around exit_idle(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 16855f878d7127a8bb3925753463485f3071ad76 Author: Hiroshi Shimamoto Date: Mon Dec 8 19:18:38 2008 -0800 x86: uaccess: return value of __{get|put}_user() can be int Impact: cleanup The type of return value of __{get|put}_user() can be int. There is no user to refer the return value of __{get|put}_user() as long. This reduces code size a bit on 64-bit. $ size vmlinux.* text data bss dec hex filename 4509265 479988 673588 5662841 566879 vmlinux.new 4511462 479988 673588 5665038 56710e vmlinux.old Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e18d7af85296cb6999aae171e8a9f8612bea5ae0 Merge: 3555105... 8b1fae4... Author: Ingo Molnar Date: Fri Dec 12 11:53:43 2008 +0100 Merge commit 'v2.6.28-rc8' into x86/mm commit 7971db5a4b4176ad5df590fce07a962c643a2740 Merge: d403700... c4edfce... Author: Uwe Kleine-Koenig Date: Fri Dec 12 11:18:54 2008 +0100 Merge branch 'for-rmk-misc' into for-rmk commit c4edfced662fa64deeed89c7d8c9f96d86130c19 Author: Uwe Kleine-König Date: Thu Nov 20 11:58:36 2008 +0100 at91: warn if irqs are enabled in set_next_event Thomas claims that irqs are disabled when set_next_event is called. But David and Remy claim they saw irqs being enabled here. As both sides don't seem to have time to investigate here, start with a warning that might trigger if the problem still exists. Signed-off-by: Uwe Kleine-König Acked-By: David Brownell Cc: Bill Gatliff Acked-By: Remy Bohmer Cc: Thomas Gleixner commit 72cca72a6cefe90810366cd2b244a33069b21f86 Author: Uwe Kleine-König Date: Thu Aug 7 20:11:04 2008 +0200 remove a superfluous kconfig type definition It's either bool default y or def_bool y but not a mixture of both. Signed-off-by: Uwe Kleine-König commit 94fa873ff80cbbfb91f1c1a81cb428f6869a7845 Author: Uwe Kleine-König Date: Mon Nov 3 07:53:38 2008 +0100 Fix configure warnings in defconfigs for netX and Picotux 200 Since May 8 2007 the symbols RTC_INTF_PROC, RTC_INTF_SYSFS and RTC_INTF_DEV are not tristate anymore. This fixes the following warnings: arch/arm/configs/picotux200_defconfig:1072:warning: symbol value 'm' invalid for RTC_INTF_SYSFS arch/arm/configs/picotux200_defconfig:1073:warning: symbol value 'm' invalid for RTC_INTF_PROC arch/arm/configs/picotux200_defconfig:1074:warning: symbol value 'm' invalid for RTC_INTF_DEV Signed-off-by: Uwe Kleine-König Cc: Robert Schwebel Cc: Sascha Hauer Cc: Simon Richter Cc: Andrew Victor commit 6ed70a792af1f7961d8c74c2ded78aebd42c658e Author: Uwe Kleine-König Date: Fri Dec 12 11:15:45 2008 +0100 small doc fix: ftrace_dyn_arch_init is called by ftrace_init ... not kstop_machine. Add a note that irqs are disabled. Signed-off-by: Uwe Kleine-König commit f8b755ac8e0cc3f330269e4c4504514f987167a2 Author: Frederic Weisbecker Date: Tue Dec 9 23:55:25 2008 +0100 tracing/function-graph-tracer: Output arrows signal on hardirq call/return Impact: make more obvious the hardirq calls in the output When a hardirq is triggered inside the codeflow on output, we have now two arrows that indicate the entry and return of the hardirq. 0) | bit_waitqueue() { 0) 0.880 us | __phys_addr(); 0) 2.699 us | } 0) | __wake_up_bit() { 0) ==========> | smp_apic_timer_interrupt() { 0) 0.797 us | native_apic_mem_write(); 0) 0.715 us | exit_idle(); 0) | irq_enter() { 0) 0.722 us | idle_cpu(); 0) 5.519 us | } 0) | hrtimer_interrupt() { 0) | ktime_get() { 0) | ktime_get_ts() { 0) 0.805 us | getnstimeofday(); [...] 0) ! 108.528 us | } 0) | irq_exit() { 0) | do_softirq() { 0) | __do_softirq() { 0) 0.895 us | __local_bh_disable(); 0) | run_timer_softirq() { 0) 0.827 us | hrtimer_run_pending(); 0) 1.226 us | _spin_lock_irq(); 0) | _spin_unlock_irq() { 0) 6.550 us | } 0) 0.924 us | _local_bh_enable(); 0) + 12.129 us | } 0) + 13.911 us | } 0) 0.707 us | idle_cpu(); 0) + 17.009 us | } 0) ! 137.419 us | } 0) <========== | 0) 1.045 us | } 0) ! 148.908 us | } 0) ! 151.022 us | } 0) ! 153.022 us | } 0) 0.963 us | journal_mark_dirty(); 0) 0.925 us | __brelse(); Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit bcbc4f20b52c2c40c43a4d2337707dcdfe81bc3a Author: Frederic Weisbecker Date: Tue Dec 9 23:54:20 2008 +0100 tracing/function-graph-tracer: annotate do_IRQ and smp_apic_timer_interrupt Impact: move most important x86 irq entry-points to a separate subsection Annotate do_IRQ and smp_apic_timer_interrupt to put them into the .irqentry.text subsection. These function will so be recognized as hardirq entrypoints for the function-graph-tracer. We could also annotate other irq entries but the others are far less important but they can be added on request. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit a0343e823184070f55364d8359f832dcb33c57c7 Author: Frederic Weisbecker Date: Tue Dec 9 23:53:16 2008 +0100 tracing/function-graph-tracer: add a new .irqentry.text section Impact: let the function-graph-tracer be aware of the irq entrypoints Add a new .irqentry.text section to store the irq entrypoints functions inside the same section. This way, the tracer will be able to signal an interrupts triggering on output by recognizing these entrypoints. Also, make this section recordable for dynamic tracing. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 85072bd55219231b8ca5d9d3fa3492eb4fa6635f Author: Ingo Molnar Date: Fri Dec 12 11:08:42 2008 +0100 x86, debug: remove EBDA debug printk Remove leftover EBDA debug message. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar commit c1dfdc7597d051b09555d4ae2acb90403e238746 Merge: efbe027... 8b1fae4... Author: Ingo Molnar Date: Fri Dec 12 10:29:35 2008 +0100 Merge commit 'v2.6.28-rc8' into sched/core commit d69d59f49763e6bd047c591c6c1f84c8e13da931 Author: Ingo Molnar Date: Fri Dec 12 09:38:57 2008 +0100 oprofile: select RING_BUFFER Impact: build fix OProfile now depends on the ring buffer infrastructure: arch/x86/oprofile/built-in.o: In function `oprofile_add_ibs_sample': : undefined reference to `ring_buffer_unlock_commit' Select TRACING and RING_BUFFER when oprofile is enabled. Signed-off-by: Ingo Molnar commit da485e0cb16726797e99a595a399b9fc721b91bc Author: Frederic Weisbecker Date: Thu Dec 11 16:14:23 2008 +0100 tracing/fastboot: include missing headers For now include/trace/boot.h doesn't need to include necessary headers for its functions and structures because the files that include it already do it. But boot.h could be needed as well for further uses on other files. So, this patch adds the necessary headers for future purposes... Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8001530d5af707eb9a158839c8f651eb6c1cb3c2 Author: Stephen Rothwell Date: Thu Dec 11 16:10:08 2008 +0100 tracing/fastboot: fix len of func buffer Impact: fix possible stack overrun This is a port of a patch included in the mainline (KSYM_SYMBOL_LEN fixes). The current func len is not large enough to contain the max symbol len, the right size must be KSYM_SYMBOL_LEN. Signed-off-by: Stephen Rothwell Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8808500f26a61757cb414da76b271bbd09d5958c Author: Ingo Molnar Date: Fri Dec 12 09:20:12 2008 +0100 x86: soften multi-BAR mapping sanity check warning message Impact: make debug warning less scary The ioremap() time multi-BAR map warning has been causing false positives: http://lkml.org/lkml/2008/12/10/432 http://lkml.org/lkml/2008/12/11/136 So make it less scary by making it once-per-boot, by making it KERN_INFO and by adding this text: "Info: mapping multiple BARs. Your kernel is fine." Signed-off-by: Ingo Molnar commit ffc2238af8431d930d2c15f16feecf1fd6d75642 Author: Ingo Molnar Date: Fri Dec 12 08:21:19 2008 +0100 x86, bts: fix build error Impact: build fix arch/x86/kernel/ds.c: In function 'ds_request': arch/x86/kernel/ds.c:236: sorry, unimplemented: inlining failed in call to 'ds_get_context': recursive inlining but the recursion here is scary ... Signed-off-by: Ingo Molnar commit a93751cab71d63126687551823ed3e70cd85854a Author: Markus Metzger Date: Thu Dec 11 13:53:26 2008 +0100 x86, bts, ftrace: adapt the hw-branch-tracer to the ds.c interface Impact: restructure code, cleanup Remove BTS bits from the hw-branch-tracer (renamed from bts-tracer) and use the ds interface. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit c2724775ce57c98b8af9694857b941dc61056516 Author: Markus Metzger Date: Thu Dec 11 13:49:59 2008 +0100 x86, bts: provide in-kernel branch-trace interface Impact: cleanup Move the BTS bits from ptrace.c into ds.c. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit b0884e25fe361f2ca228808fb5fd1b74cb04e711 Author: Markus Metzger Date: Thu Dec 11 13:45:23 2008 +0100 x86, bts: turn BUG_ON into WARN_ON_ONCE Impact: make the ds code more debuggable Turn BUG_ON's into WARN_ON_ONCE. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit f3134de60624829a57741c1f3796847d4de165f6 Merge: e726f5f... 361b73d... Author: Ingo Molnar Date: Fri Dec 12 07:40:08 2008 +0100 Merge branches 'tracing/function-graph-tracer' and 'tracing/ring-buffer' into tracing/core commit fa116ea35ec7f40e890972324409e99eed008d56 Author: Heiko Carstens Date: Thu Dec 11 17:04:11 2008 +0100 nohz: no softirq pending warnings for offline cpus Impact: remove false positive warning After a cpu was taken down during cpu hotplug (read: disabled for interrupts) it still might have pending softirqs. However take_cpu_down makes sure that the idle task will run next instead of ksoftirqd on the taken down cpu. The idle task will call tick_nohz_stop_sched_tick which might warn about pending softirqs just before the cpu kills itself completely. However the pending softirqs on the dead cpu aren't a problem because they will be moved to an online cpu during CPU_DEAD handling. So make sure we warn only for online cpus. Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit c4f50183f90fb1fd99aa5941f01b90cd1b882d2e Author: Robert Richter Date: Thu Dec 11 16:49:22 2008 +0100 ring_buffer: adding EXPORT_SYMBOLs I added EXPORT_SYMBOL_GPLs for all functions part of the API (ring_buffer.h). This is required since oprofile is using the ring buffer and the compilation as modules would fail otherwise. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 7a3c66e2d322c638e9306e739d96b2192dacde88 Author: Daniel Silverstone Date: Thu Dec 11 21:00:29 2008 -0800 net: Add support for the KS8695 ethernet devices. Implements the KS8695 ethernet device (ks8695net). This driver is only of use on the KS8695 which is an ARM9 based SoC. The documentation on this SoC is sparse and poor, with barely a register description and a rough outline of how the ethernet works, this driver was therefore written with strong reference to the Micrel supplied Linux 2.6.9 port, and to Andrew Victor's ks8695eth driver. Signed-off-by: Daniel Silverstone Signed-off-by: Vincent Sanders Acked-by: Ben Dooks Signed-off-by: David S. Miller commit 82a9928db560c429807f02467d22394f944a8916 Author: Atsushi Nemoto Date: Thu Dec 11 20:58:04 2008 -0800 tc35815: Enable StripCRC feature The chip can strip CRC automatically on receiving. Enable it. Also fix potential RX_BUF_SIZE calculation bug which was obscured by alignment. And use proper symbols (NET_IP_ALIGN, ETH_FCS_LEN, etc.) instead of magic numbers. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 2cb377283f3469d66f0ea7358015abfe8366e5d0 Author: Steve Glendinning Date: Thu Dec 11 20:54:30 2008 -0800 smsc9420: SMSC LAN9420 10/100 PCI ethernet adapter This patch adds a driver for the LAN9240 PCI ethernet adapter. Changes since initial submission: - debug msg_level has been changed to use standard definitions - convert to use net_device_ops Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit ea943d41a8770857d50029fdc8fd111635c21a1f Author: Jeff Kirsher Date: Thu Dec 11 20:34:19 2008 -0800 igb: fixup AER with proper error handling Based on Peter Waskiewicz patch for ixgbe. Add error handling based on Hemminger's recommendation. Signed-off-by: Jeff Kirsher Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 968196a9506f9d26d9b840a3f189de93cfa76ff7 Author: Sam Ravnborg Date: Thu Dec 11 20:28:59 2008 -0800 sparc64: do not export pus_fs_struct Al asked: BTW, why does sparc64 export put_fs_struct? Grepping the kernel tree did not show any users of an exported put_fs_struct - so drop the export. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4d9d4ebf5de848e3450e23e4db9ac74e23e5daa6 Merge: cfbe526... c4cd747... Author: Lachlan McIlroy Date: Fri Dec 12 15:28:02 2008 +1100 Merge branch 'master' of git+ssh://git.melbourne.sgi.com/git/xfs commit cfbe52672fbc6f333892e8dde82c35e0a76aa5f5 Author: Lachlan McIlroy Date: Fri Dec 12 15:27:25 2008 +1100 [XFS] set b_error from bio error in xfs_buf_bio_end_io Preserve any error returned by the bio layer. Reviewed-by: Eric Sandeen Reviewed-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit aa83a26a193bf06ac6c822ccd881c62898a351c6 Author: Robert Reif Date: Thu Dec 11 20:24:58 2008 -0800 sparc: use sparc64 version of scatterlist.h Use sparc64 version of scatterlist.h. There are three main differences: dma_addr_t replaces __u32 dma_address replaces dvma_address dma_length replaces dvma_length dma_addr_t is a u32 on sparc32. Boot tested on sparc32. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 58c2467355ed3154a12ee49d8f8236547145c9d3 Author: Nicolas Pitre Date: Thu Dec 4 00:22:11 2008 -0500 [ARM] Kirkwood: update defconfig Signed-off-by: Nicolas Pitre commit b71b9effb5c6aad49682f963291b06018b44ed38 Author: Nicolas Pitre Date: Thu Dec 4 01:03:57 2008 -0500 [ARM] Feroceon: pass proper -mtune argument to gcc Compilation for the Feroceon core should use -mtune=marvell-f. This is available in Code Sourcery's 2008Q3 release at the moment. Otherwise fall back to -mtune-=xscale. Signed-off-by: Nicolas Pitre commit 37787e449b39202afae13b6c47505ae9e977cae3 Author: Ronen Shitrit Date: Sun Oct 19 23:19:07 2008 +0200 [ARM] Kirkwood: properly handle the WAN port on newer RD88F6281 boards On newer versions of the RD88F6281 board, the WAN port is connected to its own ethernet port on the CPU, via a separate PHY, whereas on older versions of the board, it is connected to one of the PHYs in the ethernet switch. In the RD8F6281 setup code, detect which version of the board we are running on, and instantiate the ethernet ports and switch driver accordingly. Signed-off-by: Ronen Shitrit Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit d15fb9efe91b7198f2234783ab1d496ab1ee7b58 Author: Ronen Shitrit Date: Sun Oct 19 23:10:14 2008 +0200 [ARM] Kirkwood: allow instantiating the second ethernet port The 88f6192 and 88f6281 Kirkwood SoCs support two ethernet ports. Add the platform glue that will allow board support files to instantiate the second ethernet port. Signed-off-by: Ronen Shitrit Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit f93e4159b14c5edbaae9916d42ad685aa2f927d1 Author: Matt Palmer Date: Wed Oct 22 10:16:36 2008 +0200 [ARM] DNS323: Initialise 88F5182 correctly The 88F5182 found in the DNS-323 rev B1 (and some other devices, such as the CH3SNAS) require different initialisation of the SATA controller and MPP registers. Tested on a DNS-323 rev B1. Signed-off-by: Matt Palmer commit a93f44c1751ef1afddd4b76058fb3a2f55fe774c Author: Matt Palmer Date: Sun Oct 19 08:15:09 2008 +1100 [ARM] DNS323: Read MAC address from flash Based on similar code from the tsx09 series of machines, just rips the MAC address out of flash and stuffs it into the NIC. Tested on a DNS323 rev B1. It's possible (though unlikely) that an A1 will have the MAC in a different location in flash. Signed-off-by: Matt Palmer commit 49d92c7d5bbd158734bc34ed578a68b214a48583 Author: Stanley.Miao Date: Thu Dec 11 23:28:10 2008 +0800 ASoC: TWL4030: hands-free start-up sequence. A special start-up sequence is required to reduce the pop-noise of Class D amplifier when enable hands-free on TWL4030. Signed-off-by: Stanley.Miao Signed-off-by: Mark Brown commit 4544f8a22f38ba4560320fcfbe8c7e81562ddc6f Author: Mark Brown Date: Thu Dec 11 16:11:38 2008 +0000 ASoC: Fix variable name for Blackfin I2S DAI Signed-off-by: Mark Brown commit cd85400a022335a92fa3c25827179a7ad5e02225 Author: Stefan Roese Date: Fri Dec 5 01:58:49 2008 +0000 powerpc/4xx: Add L2 cache node to AMCC Canyonlands dts file With this patch the L2 cache is enabled on Canyonlands to increase the overall performance. There is a known cache coherency issue with the L2 cache, but this is related to the high bandwidth (HB) PLB segment where the memory address is 0x8.xxxx.xxxx (low bandwidth PLB segment is mapped to 0x0.xxxx.xxxx). Since this HB address is currently unused it is safe to enable the L2 cache. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 132bb7c0efe82fc976b06d557f5d63536cb9fdaa Author: Takashi Iwai Date: Thu Dec 11 15:39:52 2008 +0100 ALSA: hda - Add development tree URLs in HD-audio.txt Signed-off-by: Takashi Iwai commit f8bbd06b17f16984328398cdecdf9302ef9bb0bf Author: Takashi Iwai Date: Thu Dec 11 13:12:59 2008 +0100 ALSA: hda - Fix another typo in HD-Audio.txt commit 42a73df435a23e60d97d9d860f4e55dc9833e950 Author: Takashi Iwai Date: Thu Dec 11 12:12:06 2008 +0100 ALSA: sb8 - Fix a return code in the error path Fixed a compile warning below: sound/isa/sb/sb8.c: In function ‘snd_sb8_probe’: sound/isa/sb/sb8.c:104: warning: ‘err’ may be used uninitialized in this function by setting the return value correctly. Signed-off-by: Takashi Iwai commit 5c0b9bec460c348d2ee5a800c288e5d0e8fcda66 Author: Takashi Iwai Date: Thu Dec 11 11:47:17 2008 +0100 ALSA: hda - Fix a compile warning when CONFIG_PM=n Fixed the compile warning regarding the unused function when built with CONFIG_PM=n: sound/pci/hda/hda_intel.c:1905: warning: ‘snd_hda_codecs_inuse’ defined but not used snd_hda_codecs_inuse() is used only in the resume callback. Signed-off-by: Takashi Iwai commit 6de45d5d776d2a7e7a9adc8ea49d37fe1bd45fb2 Author: Takashi Iwai Date: Thu Dec 11 10:28:18 2008 +0100 ALSA: ASoC - Fix DAI registration in s3c2443-ac97.c Fixed the registration of dais in s3c2443-ac97.c. sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_init': sound/soc/s3c24xx/s3c2443-ac97.c:401: warning: passing argument 1 of 'snd_soc_register_dai' from incompatible pointer type sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_exit': sound/soc/s3c24xx/s3c2443-ac97.c:407: warning: passing argument 1 of 'snd_soc_unregister_dai' from incompatible pointer type Signed-off-by: Takashi Iwai commit 623b9f6738dee0394398564a74fdabbff00f506f Author: Takashi Iwai Date: Thu Dec 11 07:44:18 2008 +0100 ALSA: hda - Update HD-Audio.txt Fixed typos and added a section about codecgraph. Thanks to Vedran Miletić and Daniel T Chen for suggestions. Signed-off-by: Takashi Iwai commit c4cd747ee6c3ba1e7727878e3fce482d0d8c0136 Author: Christoph Hellwig Date: Tue Dec 9 04:47:34 2008 -0500 [XFS] use inode_change_ok for setattr permission checking Instead of implementing our own checks use inode_change_ok to check for necessary permission in setattr. There is a slight change in behaviour as inode_change_ok doesn't allow i_mode updates to add the suid or sgid without superuser privilegues while the old XFS code just stripped away those bits from the file mode. (First sent on Semptember 29th) Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4d4be482a4d78ca906f45e99fd9fdb91e907f5ad Author: Christoph Hellwig Date: Tue Dec 9 04:47:33 2008 -0500 [XFS] add a FMODE flag to make XFS invisible I/O less hacky XFS has a mode called invisble I/O that doesn't update any of the timestamps. It's used for HSM-style applications and exposed through the nasty open by handle ioctl. Instead of doing directly assignment of file operations that set an internal flag for it add a new FMODE_NOCMTIME flag that we can check in the normal file operations. (addition of the generic VFS flag has been ACKed by Al as an interims solution) Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6d73cf133c5477f7038577bfeda603ce9946f8cb Author: Christoph Hellwig Date: Tue Dec 9 04:47:32 2008 -0500 [XFS] resync headers with libxfs - xfs_sb.h add the XFS_SB_VERSION2_PARENTBIT features2 that has been around in userspace for some time - xfs_inode.h: move a few things out of __KERNEL__ that are needed by userspace - xfs_mount.h: only include xfs_sync.h under __KERNEL__ - xfs_inode.c: minor whitespace fixup. I accidentaly changes this when importing this file for use by userspace. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2175dd95741bda5f438e4efe388a8c1bb5abf1cc Author: Christoph Hellwig Date: Tue Dec 9 04:47:31 2008 -0500 [XFS] simplify projid check in xfs_rename Check for the project ID after attaching all inodes to the transaction. That way the unlock in the error case is done by the transaction subsystem, which guaratees that is uses the right flags (which was wrong from day one of this check), and avoids having special code unlocking an array of inodes with potential duplicates. Attaching the inode first is the method used by xfs_rename and the other namespace methods all other error that require multiple locked inodes. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit 15ac08a8b2c129abccf1be47b6ab09491e013db2 Author: Christoph Hellwig Date: Tue Dec 9 04:47:30 2008 -0500 [XFS] replace b_fspriv with b_mount Replace the b_fspriv pointer and it's ugly accessors with a properly types xfs_mount pointer. Also switch log reocvery over to it instead of using b_fspriv for the mount pointer. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit 917fa280e5e99edcae44a34feab295a59922d16c Author: Kevin Hilman Date: Wed Dec 10 17:37:17 2008 -0800 omap mmc: force MMC module reset on boot The bootloader may leave the MMC in a state which prevents hitting retention. Even when MMC is not compiled in, each MMC module needs to be forced into reset. Signed-off-by: Kevin Hilman commit 90c62bf08f5823faa097271f3346a9142769b9ac Author: Tony Lindgren Date: Wed Dec 10 17:37:17 2008 -0800 omap mmc: Add low-level initialization for hsmmc controller Add low-level initialization for hsmmc controller. Merged into this patch patch are various improvments and board support by Grazvydas Ignotas and David Brownell. Also change wire4 to be wires, as some newer controllers support 8 data lines. Cc: Pierre Ossman Signed-off-by: Grazvydas Ignotas Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit d88746652b4d133284d1fdd05b5e999e8f44c998 Author: Tony Lindgren Date: Wed Dec 10 17:37:16 2008 -0800 omap mmc: Add better MMC low-level init This will simplify the MMC low-level init, and make it more flexible to add support for a newer MMC controller in the following patches. The patch rearranges platform data and gets rid of slot vs controller confusion in the old data structures. Also fix device id numbering in the clock code. Some code snippets are based on an earlier patch by Russell King . Cc: Pierre Ossman Signed-off-by: Tony Lindgren commit 652bcd8f72cc0cdf4499ce7d73990514e5e3e4b9 Author: Tony Lindgren Date: Wed Dec 10 17:37:16 2008 -0800 omap mmc: Remove broken MMC init code Most of the omap1 MMC boards got broken by an earlier patch 138ab9f8321f67c71984ca43222efa71b0a0a0a9. If you look closely, the MMC init funtions are pretty much just stubs. Remove broken init code to make room for cleaner MMC init code. Cc: Pierre Ossman Signed-off-by: Tony Lindgren commit 2619bc327417f549f1c89d5ef9b4a4aa768f41a2 Author: Arun KS Date: Wed Dec 10 17:36:54 2008 -0800 ARM: OMAP3: Pin multiplexing updates for 24xx and 34xx This patch adds some new pin multiplexing options for McBSP and McSPI from Arun KS. Also add two more GPIOs from David Brownell. Also mark omap24xx_cfg_reg() static. Signed-off-by: Arun KS Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit da177247e89c672fc910cbbc4e24d7d578e2e0b2 Author: Grazvydas Ignotas Date: Wed Dec 10 17:36:54 2008 -0800 ARM: OMAP3: Add basic support for Pandora handheld console This patch adds support for basic features: uarts, i2c, and rtc. Also includes defconfig. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit a50f18c70049a73bd663ff889ef10d1097fd53f9 Author: Santosh Shilimkar Date: Wed Dec 10 17:36:53 2008 -0800 ARM: OMAP3: DMA: Fix for sDMA Errata 1.113 SDMA channel is not disabled after transaction error. So explicitly disable it. Signed-off-by: Santosh Shilimkar Acked By : Nishant kamat Signed-off-by: Tony Lindgren commit b1c056d20caa6fdd3481b348567f1f91e98aaa4b Author: Stanley.Miao Date: Wed Dec 10 17:36:53 2008 -0800 ARM: OMAP3: LDP: Add Ethernet device support to make ldp boot succeess Add Ethernet device support in board-ldp.c to make ldp can boot and mount nfs successfully. Signed-off-by: Stanley.Miao commit ad636ad84e059e714013e009f76878b888de1f09 Author: Jarkko Nikula Date: Wed Dec 10 17:36:52 2008 -0800 ARM: OMAP3: Add OMAP34xx pin multiplexing into I2C bus registration helper - Simplify function omap_i2c_mux_pins - Add OMAP34xx pin multiplexing for busses 1 - 3 Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 6ccc4c0dedf8cc63bf4f7c0cfa1b72c4a5fae148 Author: Tony Lindgren Date: Wed Dec 10 17:36:52 2008 -0800 ARM: OMAP3: Warn about spurious interrupts In the case of spurious interrupt, the handler for previous interrupt handler needs to flush posted writes with a read back of the interrupt ack register. Warn about handlers that need to flush posted writes. Signed-off-by: Tony Lindgren commit 64ce2907b1966593d3b4ce5396adb17d7348637d Author: Paul Walmsley Date: Wed Dec 10 17:36:34 2008 -0800 ARM: OMAP2: skip unnecessary TLDR write during non-autoreload for gptimer The GPTIMER TLDR register does not need to be written if the GPTIMER is not in autoreload mode. This is the usual case for dynamic tick-enabled kernels. Simulation data indicate that skipping the read that occurs as part of the write should save at least 300-320 ns for each GPTIMER1 timer reprogram. (This assumes L4-Wakeup is at 19MHz and GPTIMER write posting is enabled.) Skipping the write itself probably won't have much impact since it should be posted on the OCP interconnect. Tested on 2430SDP and 3430SDP. Signed-off-by: Paul Walmsley Cc: Richard Woodruff Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit a94b9e5a81d7f69297bb1681c5130a185e047f57 Author: Paul Walmsley Date: Wed Dec 10 17:36:33 2008 -0800 ARM: OMAP2: drop redundant pending write check for gptimer omap_dm_timer_write_reg() already waits for pending writes to complete, so the extra wait in omap_dm_timer_set_load() is superfluous. Signed-off-by: Paul Walmsley Cc: Richard Woodruff Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 6a769ed40aab1c93ed211287bcdcebfccc9972f5 Author: David Brownell Date: Wed Dec 10 17:36:33 2008 -0800 ARM: OMAP2: bard-h4: list those eeproms Declare the two 1Kbit EEPROMs included in the H4 board stack. One is on the CPU card; the other is on the mainboard. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 84a34344ea1f2f313d84a9fb4cb685b65a6ec26d Author: Lauri Leukkunen Date: Wed Dec 10 17:36:31 2008 -0800 ARM: OMAP2: Use omap_rev() instead of system_rev system_rev is meant for board revision, this patch changes all relevant instances to use the new omap_rev() function liberating system_rev to be used with ATAG_REVISION as it has been designed. Signed-off-by: Lauri Leukkunen Signed-off-by: Tony Lindgren commit a88231430384f49bebf8a6ec607a9eb4f2254e34 Author: Tony Lindgren Date: Wed Dec 10 17:36:30 2008 -0800 ARM: OMAP2: Fix cpu detection At some point omap2 changed the bits for GET_OMAP_CLASS, which broke 15xx detection on 730 as noticed by Russell King. This patch fixes omap2 cpu detection to respect the original GET_OMAP_CLASS, and simplifies the detection for 34xx. Signed-off-by: Tony Lindgren commit 5ba02dcab945dc0bcde7df0c5958329f34bd04ae Author: Tony Lindgren Date: Wed Dec 10 17:36:30 2008 -0800 ARM: OMAP2: Prepare cpu detection for further improvements Rename omap2_check_revision to omap24xx_check_revision. Then next patch will split if further and add omap34xx_check_revision. Signed-off-by: Tony Lindgren commit 5dd81e2578d75779d1ce8ee0732db3a0e1b35678 Author: David Brownell Date: Wed Dec 10 17:35:54 2008 -0800 ARM: OMAP1: osk5912: LED trigger update for CF Help OSK work better with root-on-CF, by having one of the LEDs use the "ide-disk" trigger (to kick in during CF I/O). Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 2430c62e4b2e7604d749351393aaeefc478e4e36 Author: David Brownell Date: Wed Dec 10 17:35:53 2008 -0800 ARM: OMAP1: osk5912: Mistral eeprom support List the 4 Kbit I2C EEPROM included on the Mistral board. Also add a comment about the hardware workaround needed to properly support the WAKE button. More info at http://elinux.org/OSK_Mistral_wakeup_button_mod Still no support for the (optional) camera sensor. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 944e1bffb6517590be48dd428d9b73da9fea801c Author: Jarkko Nikula Date: Wed Dec 10 17:35:31 2008 -0800 ARM: OMAP: Switch ohci-omap to gpio_request/free calls Switch to gpio_request/free calls Cc: linux-usb@vger.kernel.org Acked-by: David Brownell Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit f2d18fea8b87d09bdda22cc67c36f5f463452a33 Author: Jarkko Nikula Date: Wed Dec 10 17:35:30 2008 -0800 ARM: OMAP: Switch to gpio_request/free calls Switch to gpio_request/free calls Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit e031ab23deb5a5d9ac5744e69a0627823e81b074 Author: David Brownell Date: Wed Dec 10 17:35:27 2008 -0800 ARM: OMAP: minor gpio bugfixes Minor GPIO fixes: - If get_gpio_bank() fails, then BUG() out. - In omap_set_gpio_debounce(): * protect the read/modify/write with the relevant spinlock * make the omap3 clock ops pass "sparse" checking Except for the spinlock problem, these were reported through "make". Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 3ff164e15574191c69e8406794b0578c8d2a4e23 Author: Jarkko Nikula Date: Wed Dec 10 17:35:27 2008 -0800 ARM: OMAP: make legacy gpio request/free calls superfluous Clean up OMAP GPIO request/free functions - Rename and declare static OMAP specific GPIO request/free functions - Register them into gpiolib as chip-specific hooks - Add omap_request_gpio/omap_free_gpio wrappers for existing code not converted yet to use gpiolib Signed-off-by: Jarkko Nikula [ dbrownell@users.sourceforge.net: remove needless check_gpio() calls ] Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 15f74b0335962e8554c91e52d588dc9f8ee7098d Author: David Brownell Date: Wed Dec 10 17:35:26 2008 -0800 ARM: OMAP: use gpio_to_irq Have most uses of OMAP_GPIO_IRQ() use gpio_to_irq() instead. Calls used for table initialization are left alone, at least this time around. (This patch is for code in both the OMAP tree and mainline.) Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit e918edf7c2f2270dcf18cdcbdf86174a013a124e Author: David Brownell Date: Wed Dec 10 17:35:26 2008 -0800 ARM: OMAP: switch to gpio_direction_output More conversion to the standard GPIO interfaces: stop using omap_set_gpio_direction() entirely, and switch over to the gpio_direction_output() call. Note that because gpio_direction_output() includes the initial value, this change isn't quite transparent. - For the call sites which defined an initial value either before or after setting the direction, that value was used. When that value was previously assigned afterwards, this could eliminate a brief output glitch ... and possibly change behavior. In a few cases (LCDs) several values were assigned together ... those were re-arranged to match the explicit sequence provided. - Some call sites didn't define such a value; so I chose an initial "off/reset" value that seemed to default to "off". In short, files touched by this patch might notice some small changes in startup behavior (with trivial fixes). Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 40e3925ba15b604c9ff87154d77a914221d11cdc Author: David Brownell Date: Wed Dec 10 17:35:26 2008 -0800 ARM: OMAP: switch to gpio_direction_input More switchover to the cross-platform GPIO interface: use gpio_direction_input(), not an OMAP-specific call. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 0b84b5ca43a9c86cfad848c135fdbf7c72af68fa Author: David Brownell Date: Wed Dec 10 17:35:25 2008 -0800 ARM: OMAP: switch to standard gpio get/set calls This patch replaces some legacy OMAP GPIO calls with the "new" (not really, any more!) calls that work on most platforms. The calls addressed by this patch are the simple ones to get and set values ... for code that's in mainline, including the implementations of those calls. Except for the declarations and definitions of those calls, all of these changes were performed by a simple SED script. Plus, a few "if() set() else set()" branches were merged by hand. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit a007b7096feea2d865ad3e7177eb8be34041bef9 Author: David Brownell Date: Wed Dec 10 17:35:25 2008 -0800 ARM: OMAP: gpios implement new to_irq() Make OMAP use the new __gpio_to_irq() hook, to make it easier to support IRQs coming in from off-chip gpio controllers like the TWL4030/TPS65930 chip used on OMAP3 boads like Beagleboard.org and the Gumstix Overo. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 21c867f1dedc21fb6e5244b7b27cfcfd09b83188 Author: Jarkko Nikula Date: Wed Dec 10 17:35:24 2008 -0800 ARM: OMAP: Extend gpio label column width in omap_gpio debugfs file There are already various drivers having bigger label than 10 bytes. Most of them fit well under 20 bytes but make column width exact so that oversized labels don't mess up output alignment. Signed-off-by: Jarkko Nikula Acked-by: David Brownell Signed-off-by: Tony Lindgren commit 89db94825447a03f17e03c0a6c8840a0a22cf155 Author: Jouni Hogander Date: Wed Dec 10 17:35:24 2008 -0800 ARM: OMAP: Enable GPIO debounce clock only when debounce is enabled v3 This patch changes gpio "driver" to enable debounce clock for gpio-bank only when debounce is enabled for some gpio in that bank. Gpio functional clocks are also renamed in clock tree, gpioX_fck -> gpioX_dbck. This patch triggers problem with gpio wake-up and Omap3. Gpios in PER domain aren't capable to generate wake-up if PER domain is in sleep state. For this iopad wake-up should be used and needed pad configuration should be done. Enabling iopad wake-up for gpio pads is left for bootloader or omap mux configuration in kernel. Signed-off-by: Jouni Hogander Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 293a4f28333a38aa75254bfb01a5102afc981809 Author: Eric Leblond Date: Wed Dec 10 17:24:33 2008 -0800 netfilter: xt_NFLOG is dependant of nfnetlink_log The patch "don't call nf_log_packet in NFLOG module" make xt_NFLOG dependant of nfnetlink_log. This patch forces the dependencies to fix compilation in case only xt_NFLOG compilation was asked and modifies the help message accordingly to the change. Signed-off-by: Eric Leblond Signed-off-by: David S. Miller commit 8229efdaef1e7913ae1712c0ba752f267e5fcd5e Author: Benjamin Thery Date: Wed Dec 10 16:30:15 2008 -0800 netns: ip6mr: enable namespace support in ipv6 multicast forwarding code This last patch makes the appropriate changes to use and propagate the network namespace where needed in IPv6 multicast forwarding code. This consists mainly in replacing all the remaining init_net occurences with current netns pointer retrieved from sockets, net devices or mfc6_caches depending on the routines' contexts. Some routines receive a new 'struct net' parameter to propagate the current netns: * ip6mr_get_route * ip6mr_cache_report * ip6mr_cache_find * ip6mr_cache_unresolved * mif6_add/mif6_delete * ip6mr_mfc_add/ip6mr_mfc_delete * ip6mr_reg_vif All the IPv6 multicast forwarding variables moved to struct netns_ipv6 by the previous patches are now referenced in the correct namespace. Changelog: ========== * Take into account the net associated to mfc6_cache when matching entries in mfc_unres_queue list. * Call mroute_clean_tables() in ip6mr_net_exit() to free memory allocated per-namespace. * Call dev_net_set() in ip6mr_reg_vif() to initialize dev->nd_net correctly. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 8b90fc7e5b43aaef941044a4785a42439015b539 Author: Benjamin Thery Date: Wed Dec 10 16:29:48 2008 -0800 netns: ip6mr: declare ip6mr /proc/net entries per-namespace Declare IPv6 multicast forwarding /proc/net entries per-namespace: /proc/net/ip6_mr_vif /proc/net/ip6_mr_cache Changelog ========= V2: * In routine ipmr_mfc_seq_idx(), only match entries belonging to current netns in mfc_unres_queue list. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 950d5704e5daa1f90bcd75b99163491e7b249169 Author: Benjamin Thery Date: Wed Dec 10 16:29:24 2008 -0800 netns: ip6mr: declare reg_vif_num per-namespace Preliminary work to make IPv6 multicast forwarding netns-aware. Declare variable 'reg_vif_num' per-namespace, moves into struct netns_ipv6. At the moment, this variable is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit a21f3f997c73ced682129aedd372bb6b53041510 Author: Benjamin Thery Date: Wed Dec 10 16:28:44 2008 -0800 netns: ip6mr: declare mroute_do_assert and mroute_do_pim per-namespace Preliminary work to make IPv6 multicast forwarding netns-aware. Declare IPv6 multicast forwarding variables 'mroute_do_assert' and 'mroute_do_pim' per-namespace in struct netns_ipv6. At the moment, these variables are only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4045e57c19bee150370390545ee8a933b3f7a18d Author: Benjamin Thery Date: Wed Dec 10 16:27:21 2008 -0800 netns: ip6mr: declare counter cache_resolve_queue_len per-namespace Preliminary work to make IPv6 multicast forwarding netns-aware. Declare variable cache_resolve_queue_len per-namespace: moves it into struct netns_ipv6. This variable counts the number of unresolved cache entries queued in the list mfc_unres_queue. This list is kept global to all netns as the number of entries per namespace is limited to 10 (hardcoded in routine ip6mr_cache_unresolved). Entries belonging to different namespaces in mfc_unres_queue will be identified by matching the mfc_net member introduced previously in struct mfc6_cache. Keeping this list global to all netns, also allows us to keep a single timer (ipmr_expire_timer) to handle their expiration. In some places cache_resolve_queue_len value was tested for arming or deleting the timer. These tests were equivalent to testing mfc_unres_queue value instead and are replaced in this patch. At the moment, cache_resolve_queue_len is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4a6258a0e33d042e4c84d9dec25d45ddb40a70b3 Author: Benjamin Thery Date: Wed Dec 10 16:24:07 2008 -0800 netns: ip6mr: dynamically allocate mfc6_cache_array Preliminary work to make IPv6 multicast forwarding netns-aware. Dynamically allocates IPv6 multicast forwarding cache, mfc6_cache_array, and moves it to struct netns_ipv6. At the moment, mfc6_cache_array is only referenced in init_net. Replace 'ARRAY_SIZE(mfc6_cache_array)' with mfc6_cache_array size: MFC6_LINES. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 58701ad41105638baa0b38ffe9ac5b10469c1fd3 Author: Benjamin Thery Date: Wed Dec 10 16:22:34 2008 -0800 netns: ip6mr: store netns in struct mfc6_cache This patch stores into struct mfc6_cache the network namespace each mfc6_cache belongs to. The new member is mfc6_net. mfc6_net is assigned at cache allocation and doesn't change during the rest of the cache entry life. This will help to retrieve the current netns around the IPv6 multicast forwarding code. At the moment, all mfc6_cache are allocated in init_net. Changelog: ========== * Use write_pnet()/read_pnet() to set and get mfc6_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4e16880cb4225bfa68878ad5b2a9ded53657d054 Author: Benjamin Thery Date: Wed Dec 10 16:15:08 2008 -0800 netns: ip6mr: dynamically allocates vif6_table Preliminary work to make IPv6 multicast forwarding netns-aware. Dynamically allocates interface table vif6_table and moves it to struct netns_ipv6, and updates MIF_EXISTS() macro. At the moment, vif6_table is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit bd91b8bf372911c1e4d66d6bb44fe409349a6791 Author: Benjamin Thery Date: Wed Dec 10 16:07:08 2008 -0800 netns: ip6mr: allocate mroute6_socket per-namespace. Preliminary work to make IPv6 multicast forwarding netns-aware. Make IPv6 multicast forwarding mroute6_socket per-namespace, moves it into struct netns_ipv6. At the moment, mroute6_socket is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 5eaa65b240c5eb7bf2235eb9dd177c83e6e3832c Author: Roel Kluin Date: Wed Dec 10 15:18:31 2008 -0800 net: Make static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 2107fb8b5bf018be691afdd4c6ffaecf0c3307be Author: Steve Glendinning Date: Wed Nov 5 00:35:38 2008 +0000 smsc911x: add dynamic bus configuration Convert the driver to select 16-bit or 32-bit bus access at runtime, at a small performance cost. Signed-off-by: Steve Glendinning Acked-by: Catalin Marinas Signed-off-by: David S. Miller commit 3b1228abc93f7ab0aa28c46341d6a0f7e2cade70 Author: Mark Brown Date: Wed Dec 10 19:27:10 2008 +0000 ASoC: Stop WM8903 SYSCLK when suspending This will save some additional power. Signed-off-by: Mark Brown commit d58d5d5567ea9483346f57c83a94ce05992cd47c Author: Mark Brown Date: Wed Dec 10 18:36:42 2008 +0000 ASoC: Convert WM8903 driver to register at I2C probe time The driver now registers the codec and DAI when probed as an I2C device. Also convert the driver to use a single dynamic allocation to simplify error handling. Signed-off-by: Mark Brown commit 78e19a39d3985e2a06354493a70a200c0d432de5 Author: Mark Brown Date: Wed Dec 10 15:38:36 2008 +0000 ASoC: Convert WM8900 to do more work at I2C probe time Redo the instantiation of the WM8900 to do most of the initialisation work when the I2C driver probes rather than when the ASoC device is instantiated, registering the codec with the ASoC core when done. Also move all dynamic allocations into a single kmalloc() to simplify error handling and rename the I2C driver to make output more sensible. Signed-off-by: Mark Brown commit 211117ff09b7d81d91b7857651587128ed8b13d9 Author: Robert Richter Date: Tue Dec 9 02:13:25 2008 +0100 oprofile: fix lost sample counter The number of lost samples could be greater than the number of received samples. This patches fixes this. The implementation introduces return values for add_sample() and add_code(). Signed-off-by: Robert Richter commit 1d7503b5dccf2b95babca050e4960e10d2633f2b Author: Robert Richter Date: Mon Dec 8 11:59:52 2008 +0100 oprofile: remove nr_available_slots() This function is no longer available after the port to the new ring buffer. Its removal can lead to incomplete sampling sequences since IBS samples and backtraces are transfered in multiple samples. Due to a full buffer, samples could be lost any time. The userspace daemon has to live with such incomplete sampling sequences as long as the data within one sample is consistent. This will be fixed by changing the internal buffer data there all data of one IBS sample or a backtrace is packed in a single ring buffer entry. This is possible since the new ring buffer supports variable data size. Signed-off-by: Robert Richter commit f144b7f6679d9833bd3b94b91e452592b6d0e502 Author: Takashi Iwai Date: Wed Dec 10 17:23:24 2008 +0100 ALSA: cs5535 - Make OLPC-stuff depending on MGEODE_LX The GPIO stuff for OLPC in cs5535audio_olpc.c is implemented only for Geode-LX, and enabled only when CONFIG_MGEODE_LX=y. Without this config option, the driver gets build errors. This patch adds a workaround to make it dependent on CONFIG_MGEODE_LX. Ideally, the OLPC-GPIO stuff should be implemented in a way independent from CPU type selection... Signed-off-by: Takashi Iwai commit 0fb497f5b6ff8da1e9e60afb39835f40d7f043ec Author: Andres Salomon Date: Thu Nov 6 16:53:34 2008 -0500 ALSA: cs5535audio: ensure MIC Bias/Analog Input bail if not on an OLPC machine Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit b5ccc57b06b54058879ab3ea548625d9bf88c7fc Author: Andres Salomon Date: Thu Nov 6 16:53:26 2008 -0500 ALSA: cs5535audio: clean up OLPC code - add copyright info to _olpc.c - minor layout fixes - make Makefile more concise - silence a warning Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit c8f0eeebc119c401202bc2794bec026d6cfd062e Author: Andres Salomon Date: Thu Nov 6 16:53:19 2008 -0500 ALSA: cs5535audio: turn off mic bias on OLPCs by default Always turn off mic bias; the MIC LED should never come on when the driver is first loaded. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 01da02419da827742acd5235467f493206e83574 Author: Andres Salomon Date: Thu Nov 6 16:53:11 2008 -0500 ALSA: cs5535audio: for OLPC, default to Analog Input being off Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit bf1e5278354856ac0260d338961560e720147681 Author: Andres Salomon Date: Thu Nov 6 16:53:03 2008 -0500 ALSA: cs5535audio: rename V_REFOUT control to MIC Bias This drops the AD1888 V_REFOUT control, and replaces it with a MIC Bias Enable control. It also moves the MIC bias enabling into a separate function. Signed-off-by: Andres Salomon commit e463ae1d13ffe4943bb31f47cc6f24415e55a59a Author: Chris Ball Date: Thu Nov 6 16:50:09 2008 -0500 ALSA: cs5535audio: enable OLPC's V_REFOUT bias when recording The OLPC has a privacy light hooked up in series with the microphone's V_Ref bias. We want to activate the bias while we are capturing audio. Signed-off-by: Chris Ball Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 189d34e747e9540b70227f6682bd680868d90b10 Author: Andres Salomon Date: Thu Nov 6 16:49:55 2008 -0500 ALSA: cs5535audio: check OLPC's Analog Input status vis GPIO Checking the HPF register is irrelevant; HPF is secondary to the AI mode. Instead, check for Analog Input mode via GPIO. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 466ae3055be8665525a5613456fcb387ffef4cb7 Author: Andres Salomon Date: Thu Nov 6 16:49:46 2008 -0500 ALSA: cs5535audio: rename OLPC's analog input control && drop AD1888's HPF Previously, we had two separate controls; there's no need to have AD1888's HPF control, so drop it if we're on an OLPC machine. Also, as per Arjun's request, rename OLPC's Analog Input Switch control to "DC Mode Enable". Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit d6276b78028dfab944dd4a58124aefcc9aa580da Author: Andres Salomon Date: Thu Nov 6 16:49:38 2008 -0500 ALSA: cs5535audio: create function for setting OLPC's Analog Input mode Clean this stuff up a bit.. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 1e2232bc70b32f90109d678d1faccf6f50ebba80 Author: Andres Salomon Date: Thu Nov 6 16:47:05 2008 -0500 ALSA: cs5535audio: decouple HPF from V_REFOUT in OLPC code We shouldn't be touching V_REFOUT when we toggle HPF/analog input, so just drop that code. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit b91254e75c3ec4f371ce1849672a95a929d99861 Author: Andres Salomon Date: Thu Nov 6 16:46:31 2008 -0500 ALSA: cs5535audio: drop ec_analog_input flag for OLPC stuff This is no longer necessary, as we're no longer doing indexed i/o commands. Signed-off-by: Andres Salomon commit 3556d18465c6e67c7a8f436428b95671add02f57 Author: Andres Salomon Date: Thu Nov 6 16:44:08 2008 -0500 ALSA: cs5535audio: invert EAPD for OLPC (newer than B3) Fix an audible pop described in . Originally based upon fixes by Mitch Bradley and Chris Ball. Signed-off-by: Andres Salomon commit c8974be5465b87414fa542cf9cca1a1ba21b8d60 Author: Jordan Crouse Date: Thu Nov 6 16:43:53 2008 -0500 ALSA: cs5535audio: Use OLPC/Geode basic infrastructure Use basic infrastructure code; geode_gpio* (rather than indexed i/o EC access), and do an OLPC machine check in olpc_quirk. [dilinger@debian.org: don't return failure in olpc_quirks if !OLPC] [dilinger@debian.org: drop the Signed-off-by: Andres Salomon commit 57d4bf6d8e965404b82b105ae44ddf137bb7b8e6 Author: Jaya Kumar Date: Thu Nov 6 16:43:34 2008 -0500 ALSA: cs5535audio: OLPC analog input support This is a 2nd cut at adding support for OLPC analog input. Signed-off-by: Jaya Kumar Signed-off-by: Andres Salomon commit b6c52a2cdb58fca918eef9ada5ef3a6cd17a9240 Author: Andres Salomon Date: Wed Nov 5 17:30:30 2008 -0500 ALSA: cs5535audio: suspend/resume callbacks are only defined with CONFIG_PM snd_cs5535audio_suspend and snd_cs5535audio_resume are only defined when CONFIG_PM is set; make that clear in the header file. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit b035ce0f26812292d067fbe2fc9e9d88d5dfcdb4 Author: Jaya Kumar Date: Wed Nov 5 17:30:08 2008 -0500 ALSA: cs5535audio: turn off PCM properly if closing the audio device As per , we need to properly turn off the PCM if we're closing the device in order to save power. This also causes the MIC led to turn off properly. Signed-off-by: Jaya Kumar Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 0bed7b292d68f82316bfb8cd521e16c867689efe Author: Andres Salomon Date: Wed Nov 5 17:29:53 2008 -0500 ALSA: cs5535audio: stick AD1888 bitshift values into a header file We'd like to use the High Pass Filter and V_REFOUT bitshift values elsewhere, so stick them into a ac97_codec.h. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai commit 0d0cf00a7fc63cee9a4c4a3b8612879b4f7f42ba Author: Mark Brown Date: Wed Dec 10 14:32:45 2008 +0000 ASoC: Add codec registration API Another part of the backporting of Liam's ASoC v2 work. Using this is more complicated than the other registration types since currently the codec is instantiated during the probe of the ASoC device so we can't currently readily wait for the codec to register. Signed-off-by: Mark Brown commit cdc693643271b2e6a693cf8f6afb258cce01f058 Author: Mark Brown Date: Wed Dec 10 13:55:49 2008 +0000 ALSA: Add support for mechanical jack insertion Some systems support both mechanical and electrical jack detection, allowing them to report that a jack is physically present but does not have any functioning connections. Add a new jack type for these, allowing user space to report faulty connections. Thanks to Guillem Jover for the suggestion. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 6dad828b76c7224a22ddc9ce7aa495d994f03b31 Author: Robert Richter Date: Tue Dec 9 01:21:32 2008 +0100 oprofile: port to the new ring_buffer This patch replaces the current oprofile cpu buffer implementation with the ring buffer provided by the tracing framework. The motivation here is to leave the pain of implementing ring buffers to others. Oh, no, there are more advantages. Main reason is the support of different sample sizes that could be stored in the buffer. Use cases for this are IBS and Cell spu profiling. Using the new ring buffer ensures valid and complete samples and allows copying the cpu buffer stateless without knowing its content. Second it will use generic kernel API and also reduce code size. And hopefully, there are less bugs. Since the new tracing ring buffer implementation uses spin locks to protect the buffer during read/write access, it is difficult to use the buffer in an NMI handler. In this case, writing to the buffer by the NMI handler (x86) could occur also during critical sections when reading the buffer. To avoid this, there are 2 buffers for independent read and write access. Read access is in process context only, write access only in the NMI handler. If the read buffer runs empty, both buffers are swapped atomically. There is potentially a small window during swapping where the buffers are disabled and samples could be lost. Using 2 buffers is a little bit overhead, but the solution is clear and does not require changes in the ring buffer implementation. It can be changed to a single buffer solution when the ring buffer access is implemented as non-locking atomic code. The new buffer requires more size to store the same amount of samples because each sample includes an u32 header. Also, there is more code to execute for buffer access. Nonetheless, the buffer implementation is proven in the ftrace environment and worth to use also in oprofile. Patches that changes the internal IBS buffer usage will follow. Cc: Steven Rostedt Signed-off-by: Robert Richter commit e09373f22e76cc048ca5fe10a9ff9012f5d64309 Author: Robert Richter Date: Wed Nov 26 14:04:19 2008 +0100 ring_buffer: add remaining cpu functions to ring_buffer.h These functions are not yet in ring_buffer.h though they seems to be part of the API. Cc: Steven Rostedt Signed-off-by: Robert Richter commit fbc9bf9f0ed4f0fbc47dcb5b1c26c28c93b60e33 Author: Robert Richter Date: Thu Dec 4 16:27:00 2008 +0100 oprofile: moving cpu_buffer_reset() to cpu_buffer.h This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit bf589e32960181fa8cbca7bfdd92265e49dc2dfa Author: Robert Richter Date: Thu Nov 27 22:33:37 2008 +0100 oprofile: adding cpu_buffer_entries() This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit 229234ae4a5ed9376b2e0524da04b0e5edadbf76 Author: Robert Richter Date: Thu Nov 27 18:36:08 2008 +0100 oprofile: adding cpu_buffer_write_commit() This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit 7d468abee0f1a7e918b5e2f23120436a54ba9f33 Author: Robert Richter Date: Thu Nov 27 10:57:09 2008 +0100 oprofile: adding cpu buffer r/w access functions This is in preparation for changes in the cpu buffer implementation. Signed-off-by: Robert Richter commit e2ac8ef576e45d9db7264abc51383e68d26067bb Author: Robert Richter Date: Wed Nov 12 12:59:32 2008 +0100 ftrace: remove unused function arg in trace_iterator_increment() This removes the unused cpu function parameter. Cc: Steven Rostedt Signed-off-by: Robert Richter commit 68814b58c52077da9561b544089fe532a0842f71 Author: Robert Richter Date: Mon Nov 24 12:24:12 2008 +0100 ring_buffer: update description for ring_buffer_alloc() Trivial patch. Cc: Steven Rostedt Signed-off-by: Robert Richter commit 37ca5eb341711d7aeb9f296873b9d46eb6af33ec Author: Robert Richter Date: Tue Dec 9 16:56:01 2008 +0100 oprofile: set values to default when creating oprofilefs This patch restores default values for: /dev/oprofile/cpu_buffer_size /dev/oprofile/buffer_watershed /dev/oprofile/buffer_size when creating the oprofilefs: # opcontrol --deinit # opcontrol --init # cat /dev/oprofile/cpu_buffer_size 8192 # echo 5123 > /dev/oprofile/cpu_buffer_size # cat /dev/oprofile/cpu_buffer_size 5123 # opcontrol --deinit # opcontrol --init # cat /dev/oprofile/cpu_buffer_size 8192 # opcontrol --deinit This sets the values in a defined state. Before, there was no way to restore the defaults without rebooting the system or reloading the module. Signed-off-by: Robert Richter commit fd7826d56bde11ab142d2431093773ad2b3f0a59 Author: Robert Richter Date: Fri Sep 26 17:50:31 2008 -0400 oprofile: implement switch/case in buffer_sync.c Signed-off-by: Robert Richter commit fe615cbf34fc6a1c53c359417da4696328a488ed Author: Robert Richter Date: Mon Nov 24 14:58:03 2008 +0100 x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c Implementation of pairwise init/exit funcions for IBS and IBS NMI setup. There are also some function renames and the removal of forward function declarations. Signed-off-by: Robert Richter commit 9fa6812dbab9207f7af52c3d0417f1f9eb89c386 Author: Robert Richter Date: Mon Nov 24 14:21:03 2008 +0100 x86/oprofile: reordering IBS code in op_model_amd.c This is part of the cpu buffer rework. Signed-off-by: Robert Richter commit 8dbc50c322619eb821907e8dba75252f5378c712 Author: Robert Richter Date: Wed Nov 26 15:00:52 2008 +0100 oprofile: fix typo Signed-off-by: Robert Richter commit cdc1834d1aa2e5b574a25e66f82625b44cdd0d8f Author: Robert Richter Date: Fri Sep 26 22:18:44 2008 -0400 oprofile: whitspace changes only Signed-off-by: Robert Richter commit 58494487581cb143a0d763e3056a894d5009d60a Author: Robert Richter Date: Wed Nov 26 12:02:53 2008 +0100 oprofile: update comment for oprofile_add_sample() The cpu argument is no longer part of the parameter list. Signed-off-by: Robert Richter commit fd13f6c85144bb2026c534a35be1d7cb7628a64a Author: Robert Richter Date: Sun Oct 19 21:00:09 2008 +0200 oprofile: comment cleanup This fixes the coding style of some comments. Signed-off-by: Robert Richter commit ad5942bad6addcf9697a74413b517d9724d803a4 Author: Stefan Roese Date: Wed Dec 10 10:42:54 2008 +0100 UBI: return -ENOMEM upon failing vmalloc Return with correct error code (-ENOMEM) from ubi_attach_mtd_dev() upon failing vmalloc(). Signed-off-by: Stefan Roese Signed-off-by: Artem Bityutskiy commit 1e5fa31f96d558e53fe80e943305104bf4339711 Author: Peter Ujfalusi Date: Wed Dec 10 12:51:48 2008 +0200 ASoC: TWL4030: Change the name for the DACs To avoid confusion the names for the DACs changed: DACL1 -> DAC Left1 ... Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit d4a73131a56e906b8f65e20934516adcad68b524 Author: Peter Ujfalusi Date: Wed Dec 10 12:51:47 2008 +0200 ASoC: TWL4030: Small cleanup The mux switch related texts fits to on line, no need to wrap them. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 6a1bee4a9cae13aa73abd8f724bada213a38eb63 Author: Peter Ujfalusi Date: Wed Dec 10 12:51:46 2008 +0200 ASoC: TWL4030: Add missing Carkit output SND_SOC_DAPM_OUTPUT definition for carkitL/R was missing. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1e297a19252a6792c4479b300020f7f63eeb56ef Author: Mark Brown Date: Wed Dec 10 11:08:33 2008 +0000 ASoC: Work around warnings from some build environments BUG() should be marked as not returning but for at least some configurations (including some widely deployed compilers) that's either not happening or being forgotten by the compiler. Add some extra return statements to the affected paths. Signed-off-by: Mark Brown commit 11d518e07d700eeb5bcec36bfd5f501e405230dd Author: Takashi Iwai Date: Wed Dec 10 10:37:33 2008 +0100 ALSA: hda - Add quirk for HP6730B laptop Added model=laptop for HP 6730B laptop with AD1984A codec. Reference: Novell bnc#457909 https://bugzilla.novell.com/show_bug.cgi?id=457909 Signed-off-by: Takashi Iwai Cc: stable@kernel.org commit 6fabd715e6d8e1b37c0c66d9bfda2c19643e3f77 Author: Peter P Waskiewicz Jr Date: Wed Dec 10 01:13:08 2008 -0800 ixgbe: Implement PCIe AER support This patch implements the PCIe Advanced Error Reporting callbacks in ixgbe. The 82598 hardware supports AER, so we enable it. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5e8427e5e25e3f844113cf67d07e7806bbe8c0e2 Author: Alexander Duyck Date: Wed Dec 10 01:09:53 2008 -0800 igb: Correctly determine pci-e function number in virtual environment When running in a virtual environment the ports of an 82575/6 can appear to be single function devices which is not correct. To resolve this we rely on the function number stored in the status register. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b4557be23dc959f38eed21d359ec7164e42bcbd6 Author: Alexander Duyck Date: Wed Dec 10 01:08:59 2008 -0800 igb: update handling of RCTL for smaller buffer sizes As we begin to move into virtualization the use of a global value for buffer sizes becomes undesirable. This change makes it so only 256 and 512 byte buffers require use of the RCTL register. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d2afbe78a2922929ad44882d3583d938b9949a30 Author: Takashi Iwai Date: Wed Dec 10 09:28:15 2008 +0100 ALSA: hda - Update documentation Minor typo-fixes and improvements on HD-Audio.txt. Signed-off-by: Takashi Iwai commit 44411e07c2ce1a755a756e10b592cd3ba02f99b3 Author: Takashi Iwai Date: Wed Dec 10 08:27:19 2008 +0100 ALSA: ca0106 - Check return value of pci_enable_device() in resume The return value of pci_enable_device() must be checked even in resume callback: sound/pci/ca0106/ca0106_main.c:1779: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result Signed-off-by: Takashi Iwai commit e97fd7c6d51d8bf32ce981b853d987cfc6bdfb7f Author: Holger Eitzenberger Date: Tue Dec 9 23:10:38 2008 -0800 bonding: turn all bond_parm_tbls const Turn all bond_parm_tbls const. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 325dcf7a907a43f8832b92ae1c672798b4e60ce2 Author: Holger Eitzenberger Date: Tue Dec 9 23:10:17 2008 -0800 bonding: make tbl argument to bond_parse_parm() const bond_parse_parm() parses a parameter table for a particular value and is therefore not modifying the table at all. Therefore make the 2nd argument const, thus allowing to make the tables const later. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit d78755237f0892c8d313a7f7b1774443a7308b11 Author: Holger Eitzenberger Date: Tue Dec 9 23:09:49 2008 -0800 bonding: remove duplicate declarations Remove some declarations from bonding.c as they are declared in bonding.h already. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 5a03cdb7f2d7ff88e50153d8c3b90a1d52dca435 Author: Holger Eitzenberger Date: Tue Dec 9 23:09:22 2008 -0800 bonding: use pr_debug instead of own macros Use pr_debug() instead of own macros. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit ef65583d01f4060c758dba72f08edc09d8faa719 Author: Holger Eitzenberger Date: Tue Dec 9 23:08:55 2008 -0800 bonding: fix compile error if debug enabled This is what I get if debug is enabled: drivers/net/bonding/bond_ipv6.c: In function 'bond_na_send': drivers/net/bonding/bond_ipv6.c:75: error: 'slave' undeclared (first use in this function) drivers/net/bonding/bond_ipv6.c:75: error: (Each undeclared identifier is reported only once drivers/net/bonding/bond_ipv6.c:75: error: for each function it appears in.) This patch fixes that. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 77afc92b7915b6bb21584474a429a04603ac8963 Author: Holger Eitzenberger Date: Tue Dec 9 23:08:09 2008 -0800 bonding: use table for mode names Use a small array in bond_mode_name() for the names, thus saving some space: before text data bss dec hex filename 57736 9372 344 67452 1077c drivers/net/bonding/bonding.ko after text data bss dec hex filename 57441 9372 344 67157 10655 drivers/net/bonding/bonding.ko Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit 58402054264fa33b405d1abcbcd8e528507aac1a Author: Holger Eitzenberger Date: Tue Dec 9 23:07:13 2008 -0800 bonding: add and use bond_is_lb() Introduce and use bond_is_lb(), it is usefull to shorten the repetitive check for either ALB or TLB mode. Signed-off-by: Holger Eitzenberger Signed-off-by: David S. Miller commit f73f2a6a23e34de9cca9672f727694e5af00e6c7 Author: Takashi Iwai Date: Wed Dec 10 07:59:33 2008 +0100 ALSA: ASoC - Fix symbol conflicts in omac-mcbsp.c Add snd_ prefix to avoid the conflict of symbols in omac-mcbsp.c: sound/soc/omap/omap-mcbsp.c:503: error: static declaration of 'omap_mcbsp_init' follows non-static declaration arch/arm/plat-omap/include/mach/mcbsp.h:373: error: previous declaration of 'omap_mcbsp_init' was here Signed-off-by: Takashi Iwai commit acc421656b97f09b55acb0938ad5378eefa5aacc Author: Roel Kluin Date: Tue Dec 9 23:26:05 2008 +0100 ALSA: sound: Make static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit c9b3a40ff2b3dea9914e36965a17c802650bb603 Author: Takashi Iwai Date: Wed Dec 10 07:47:22 2008 +0100 ALSA: ASoC - Fix wrong section types The module init entries should be __init instead of __devinit. Signed-off-by: Takashi Iwai commit 24e07db8cceb7dfe2d4005e4450a27f4bcda6499 Author: Takashi Iwai Date: Wed Dec 10 07:40:24 2008 +0100 ALSA: ASoC - Fix module init entry for twl4030.c Fixed the function name of module init entry for twl4030.c, which conflicted with the existing hardware init function: sound/soc/codecs/twl4030.c:1278: error: conflicting types for 'twl4030_init' sound/soc/codecs/twl4030.c:1187: error: previous definition of 'twl4030_init' was here Also fixed the section type of init function. Signed-off-by: Takashi Iwai commit 512bb43eb5422ee69a1be05ea0d89dc074fac9a2 Author: Jarek Poplawski Date: Tue Dec 9 22:35:02 2008 -0800 pkt_sched: sch_htb: Optimize WARN_ONs in htb_dequeue_tree() etc. We can skip WARN_ON() in htb_dequeue_tree() because there should be always a similar warning from htb_lookup_leaf() earlier. The first WARN_ON() in in htb_lookup_leaf() is changed to BUG_ON() because most likly this should end with oops anyway. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 1b5c0077e1615bb16e777a10ec1fc1195ba059ac Author: Jarek Poplawski Date: Tue Dec 9 22:34:40 2008 -0800 pkt_sched: sch_htb: Optimize htb_find_next_upper() htb_id_find_next_upper() is usually called to find a class with next id after some previously removed class, so let's move a check for equality to the end: it's the least likely here. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit dbb7a95d810ab76aac42e1a5cefdf069dcd014a1 Author: Chaithrika U S Date: Tue Dec 9 22:21:25 2008 -0800 phy: Add LSI ET1011C PHY driver Adds LSI ET1011C PHY driver. This driver is used by TI DM646x EVM. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit e055f13a6d8448d4f23121b7b11340c3fb55cce6 Author: Lachlan McIlroy Date: Wed Dec 10 11:51:54 2008 +1100 [XFS] Remove unused tracing code None of this code appears to be used anywhere so remove it. Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d403700bf8fc903584e830967f5d64075770848c Author: Uwe Kleine-König Date: Tue Dec 9 21:57:27 2008 +0100 netx: define register MEMCR Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit e0a84ebd4808e032d2ac5acb256f2f93fac1da32 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:25 2008 +0100 netx/xc: add a few "const"s to fix compiler warnings the fixed warnings are: arch/arm/mach-netx/xc.c: In function ‘xc_request_firmware’: arch/arm/mach-netx/xc.c:152: warning: assignment discards qualifiers from pointer target type arch/arm/mach-netx/xc.c:162: warning: assignment discards qualifiers from pointer target type Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 2fcfe6b872b21639dcffbaf3ca2a84ec01d104e0 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:24 2008 +0100 netx: add support for clockevents This is based on a patch by Luotao Fu Signed-off-by: Uwe Kleine-König Acked-by: Luotao Fu Acked-by: Sascha Hauer commit 21edecd35580faebbd31be284df662fcc6088c50 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:23 2008 +0100 netx: enable GENERIC_TIME the needed infrastructure is already in place, only selecting GENERIC_TIME was missing. Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 24e7857677fe3cb87f1dd7fa1418a73795e9f4c5 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:22 2008 +0100 netx: Use a cpp symbol for the clocksource timer number instead of hardcoding the same value each time. Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 9853848860d7ece7d84ac43cfde5390b2638eb89 Author: Uwe Kleine-König Date: Tue Dec 9 21:57:21 2008 +0100 mach-netx/time.c: codingstyle cleanup To prevent cluttering the next patches with noop noise, do the cleanup in this separate patch: - use tab to indent - break comments before column 80 Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer commit 8a4830f8891be6b4e04809693a24771a4694e0b0 Author: Yinghai Lu Date: Tue Dec 9 11:56:20 2008 -0800 sparseirq: fix !SMP && !PCI_MSI && !HT_IRQ build Ingo Molnar wrote: >>> drivers/pci/intr_remapping.c: In function 'irq_2_iommu_alloc': >>> drivers/pci/intr_remapping.c:72: error: 'boot_cpu_id' undeclared (first use in this function) >>> drivers/pci/intr_remapping.c:72: error: (Each undeclared identifier is reported only once >>> drivers/pci/intr_remapping.c:72: error: for each function it appears in.) sparseirq should only be used with SMP for now. commit 471716f7ea646487b7b5c7b3efc68a023b05a933 Author: Mark Brown Date: Tue Dec 9 14:47:07 2008 +0000 ASoC: Fix typos in Atmel module registration I wish I had boards which work with unmodified kernels :/ Signed-off-by: Mark Brown commit 8e26e1d7bce73acf6f995a4d252610e46ee831a5 Author: Artem Bityutskiy Date: Tue Dec 9 14:41:44 2008 +0200 UBI: document UBI ioctls Update the ioctl-numbers.txt file, add UBI and DVB there (because they use the same ioctl numbers). Signed-off-by: Artem Bityutskiy commit f0752331b89ce79063f765545dd7dd5f49d9a713 Author: Mark Brown Date: Tue Dec 9 12:51:56 2008 +0000 ASoC: Convert WM8900 to allow registration by machine code This makes use of the support for delayed DAI registration to allow the WM8900 I2C device to be registered by general platform/architecture code rather than as part of the ASoC device probe. Signed-off-by: Mark Brown commit 6b05eda6383d89bffc21da654d148733e7839540 Author: Mark Brown Date: Mon Dec 8 19:26:48 2008 +0000 ASoC: Wait for non-AC97 codec DAIs before instantiating This will allow codec drivers to be refactored to allow them to be registered out of line with the ASoC device registration. Signed-off-by: Mark Brown commit 435c5e2588893e3f7aba0bd4de67991bf00b3c9d Author: Mark Brown Date: Thu Dec 4 15:32:53 2008 +0000 ASoC: Initial framework for dynamic card instantiation Use the lists of platforms, platform DAIs and cards to check to see that everything has registered. Since relationships are still specified by direct references to the structures in the drivers and the drivers all register everything at modprobe there should be no practical effect yet. Signed-off-by: Mark Brown commit 18cdae68e7bb24f33883e58f366cde38ea89ba17 Author: David S. Miller Date: Tue Dec 9 04:09:07 2008 -0800 sparc: Commonize memcmp assembler. Signed-off-by: David S. Miller commit 64089b84abfe2f26a864ebd968429302dcb071de Author: Mark Brown Date: Mon Dec 8 19:17:58 2008 +0000 ASoC: Register non-AC97 codec DAIs Currently this is done at module probe time since ASoC ties in codec device probe to the instantiation of the entire ASoC device. Subsequent patches will refactor the codec drivers to handle probing separately. Note that the core does not yet use this information. AC97 is special since the codec is controlled over the AC97 link but we want to give the machine driver a chance to set up the system before trying to instantiate since it may need to do configuration before the AC97 link will operate Signed-off-by: Mark Brown commit 958e792c7c8f06a9e666adb0ed94fff2cf90156f Author: Mark Brown Date: Wed Dec 3 19:58:17 2008 +0000 ASoC: Register platform drivers This is done at modprobe time, mirroring current behaviour, except for mpc5200_psc_i2s where we do registration at the same time as we register with soc-of-simple. Since the core currently ignores registration this has no practical impact. Signed-off-by: Mark Brown commit 12a48a8c0087ba39d926cf1d63938ccbdb9752c3 Author: Mark Brown Date: Wed Dec 3 19:40:30 2008 +0000 ASoC: Add platform registration API ASoC v2 allows platform drivers to instantiate independantly of the overall ASoC card. This API allows drivers to notify the core when they are registered. Signed-off-by: Mark Brown commit 3f4b783cfdebb559814690572041a17bc9744cf3 Author: Mark Brown Date: Wed Dec 3 19:26:35 2008 +0000 ASoC: Register platform DAIs Register all platform DAIs with the core. In line with current behaviour this is done at module probe time rather than when the devices are probed (since currently that only happens as the entire ASoC card is registered except for those drivers that currently implement some kind of hotplug). Since the core currently ignores DAI registration this has no practical effect. Signed-off-by: Mark Brown commit 9115171a6b79b6b4d5c6697f123556b6efc37f1f Author: Mark Brown Date: Sun Nov 30 23:31:24 2008 +0000 ASoC: Add DAI registration API Add API calls to register and unregister DAIs with the core. Currently these APIs are ineffective. Since multiple DAIs for a given device are a common case bulk variants are provided. Signed-off-by: Mark Brown commit c5af3a2e192d333997d1e191f3eba7fd2f869681 Author: Mark Brown Date: Fri Nov 28 13:29:45 2008 +0000 ASoC: Add card registration API ASoC v2 allows cards, codecs and platforms to instantiate separately, with the overall ASoC device only being instantiated once all the required components have registered. As part of backporting Liam's work introduce an initial version of the card registration functions. At present these do nothing active and are internal only, they will be exposed to machine drivers after further backporting. Adding this now allows the datastructures used for dynamic card instantiation to be built up gradually. Signed-off-by: Mark Brown commit ca4513fe06c483bf0111c990059d42f97288605d Author: Peter Ujfalusi Date: Tue Dec 9 12:35:52 2008 +0200 ASoC: TWL4030: Do not alter the Headset output volume on power-up/down There is a separate gain control for the Headset output already. Do not reset the gain to 0 dB at power up. In power-down, there is no need to set the Headset output gain to power-down mode, since if the CODECPDZ is in powered off this setting has no effect. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit df339804bbfc118eaca066b95488a2dbacc2e258 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:51 2008 +0200 ASoC: TWL4030: DAPM mapping of the Handsfree outputs Adds DAPM muxing, routing for the Handsfree outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5152d8c28b95e421b91483ca0df76726e6e6c41e Author: Peter Ujfalusi Date: Tue Dec 9 12:35:50 2008 +0200 ASoC: TWL4030: DAPM mapping of the Carkit outputs Adds DAPM muxing, routing for the Carkit outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit dfad21a26f5b3cc379fbec9c5d12b5106dd1f9c5 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:49 2008 +0200 ASoC: TWL4030: DAPM mapping of the Headset outputs Adds DAPM muxing, routing for the Headset outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 2a6f5c5892dcd17c81204fe5e26b92a37d2daafa Author: Peter Ujfalusi Date: Tue Dec 9 12:35:48 2008 +0200 ASoC: TWL4030: DAPM mapping of the PreDriv outputs Adds DAPM muxing, routing for the PreDrive outputs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5e98a46449cd028b9b97a8ef2c2448c8f473d6c5 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:47 2008 +0200 ASoC: TWL4030: DAPM mapping of the Earpiece output Adds DAPM muxing, routing for the Earpiece output. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit e8ff9c417ad6e8f7ef253e36f9d6e22dc2aa2512 Author: Peter Ujfalusi Date: Tue Dec 9 12:35:46 2008 +0200 ASoC: TWL4030: Add DAPM event handler for output MUX selection DAPM event handler is set to filter out invalid MUX settings for certain outputs. Earpiece: - 0 = Off - 1 = DACL1 - 2 = DACL2 - 3 = *** Invalid *** - 4 = DACR1 PreDriveL/R: - 0 = Off/Off - 1 = DACL1/DACR1 - 2 = DACL2/DACR2 - 3 = *** Invalid/Invalid *** - 4 = DACR2/DACL2 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 44c5587035fbbdd368a3d5d8d11997d43758078a Author: Peter Ujfalusi Date: Tue Dec 9 08:45:44 2008 +0200 ASoC: TWL4030: Add Analog PGA control switch to DAPM Add all four APGA switch to DAPM routing and widgets. Add user control for DA enable for all APGA as normal control. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 53b5047d994edfcafabc0e95bb681ae70d6e8604 Author: Peter Ujfalusi Date: Tue Dec 9 08:45:43 2008 +0200 ASoC: TWL4030: Correct DAPM_DAC with power control Add all four DACs to dapm_widgets with power switch. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1e641743f055f075ed9a4edd75f1fb1e05669ddc Author: Al Viro Date: Tue Dec 9 09:23:33 2008 +0000 Audit: Log TIOCSTI AUDIT_TTY records currently log all data read by processes marked for TTY input auditing, even if the data was "pushed back" using the TIOCSTI ioctl, not typed by the user. This patch records all TIOCSTI calls to disambiguate the input. It generates one audit message per character pushed back; considering TIOCSTI is used very rarely, this simple solution is probably good enough. (The only program I could find that uses TIOCSTI is mailx/nail in "header editing" mode, e.g. using the ~h escape. mailx is used very rarely, and the escapes are used even rarer.) Signed-Off-By: Miloslav Trmac Signed-off-by: Al Viro Signed-off-by: James Morris commit ae984d72e0632782dd98c3fcf469b9045ad0d449 Author: David S. Miller Date: Tue Dec 9 01:07:09 2008 -0800 sparc: Unify strlen assembler. Use the new asm/asm.h header to help commonize the strlen assembler between 32-bit and 64-bit While we're here, use proper linux/linkage.h macros instead of by-hand stuff. Signed-off-by: David S. Miller commit e19caae7177fcc732ae1b47135e39f577352adb2 Author: David S. Miller Date: Tue Dec 9 01:04:27 2008 -0800 bluetooth: Fix unused var warning properly in rfcomm_sock_ioctl(). As Stephen Rothwell points out, we don't want 'sock' here but rather we really do want 'sk'. This local var is protected by all sorts of bluetooth debugging kconfig vars, but BT_DBG() is just a straight pr_debug() call which is unconditional. pr_debug() evaluates it's args only if either DEBUG or CONFIG_DYNAMIC_PRINTK_DEBUG is defined. Solving this inside of the BT_DBG() macro is non-trivial since it's varargs. And these ifdefs are ugly. So, just mark this 'sk' thing __maybe_unused and kill the ifdefs. Signed-off-by: David S. Miller commit 5c03d590910a6ccddc144b382b0ecdb122c349f3 Author: David S. Miller Date: Tue Dec 9 00:50:13 2008 -0800 sparc: Add asm/asm.h This will contain macros that help share assembler code between the 32-bit and 64-bit platform. Signed-off-by: David S. Miller commit bcb09dc276e706ed6f22813ba774797125f3da0a Author: Brice Goglin Date: Tue Dec 9 00:14:27 2008 -0800 myri10ge: check fragmentation in LRO get_frag_header() Add a fragmentation check to myri10ge's LRO get_frag_header() callback. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: David S. Miller commit 6cf1a0f856bcb5423bfb4121b2dfeaa3ba7b1ff2 Author: David S. Miller Date: Tue Dec 9 00:01:53 2008 -0800 bluetooth: Fix rfcomm_sock_ioctl() build failure with debugging enabled. It's 'sock' not 'sk'. Signed-off-by: David S. Miller commit e42130039c85826567d4e4864f2c7492578576cb Author: Alexey Dobriyan Date: Mon Dec 8 23:50:18 2008 -0800 hydra: fix compilation drivers/net/hydra.c:163: error: 'hydra_netdev_ops' undeclared (first use in this function) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 30bc4481de890e97dc001ee123761d89638cbc50 Author: Takashi Iwai Date: Tue Dec 9 08:23:45 2008 +0100 ALSA: Updates about bug-reporting in ALSA-Configuration.txt Updated the information about bug-reporting for HD-audio. Mentioned alsa-info.sh and kernel bugzilla. Removed ALSA BTS address not to flood the unhandled reports any more. Signed-off-by: Takashi Iwai commit 240d367b4e6c6e3c5075e034db14dba60a6f5fa7 Author: Yinghai Lu Date: Mon Dec 8 14:06:17 2008 -0800 sparseirq: fix Alpha build failure Impact: build fix on Alpha -tip testing found this build failure on the Alpha defconfig: /home/mingo/tip/fs/proc/stat.c: In function 'show_stat': /home/mingo/tip/fs/proc/stat.c:48: error: implicit declaration of function 'for_each_irq_desc' /home/mingo/tip/fs/proc/stat.c:48: error: expected ';' before '{' token can not use irq_desc() in stat.c on older architectures. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8bf68e4d90c4ad862356679ab616726eee1abf93 Author: David S. Miller Date: Mon Dec 8 16:05:49 2008 -0800 sparc: Kill memcmp_32.S code which has been ifdef'd out for centuries. Signed-off-by: David S. Miller commit 94d6a5f7341ebaff53d4e41cc81fab37f0d9fbed Author: Serge E. Hallyn Date: Mon Dec 8 15:52:21 2008 -0600 user namespaces: document CFS behavior Documented the currently bogus state of support for CFS user groups with user namespaces. In particular, all users in a user namespace should be children of the user which created the user namespace. This is yet to be implemented. Signed-off-by: Serge E. Hallyn Acked-by: Dhaval Giani Signed-off-by: Serge E. Hallyn Signed-off-by: James Morris commit 50dd94e017ec39f85c26b6c10ed9fb2d7a7d8042 Author: Ingo Molnar Date: Mon Dec 8 18:47:51 2008 +0100 sparseirq: fix typo in !CONFIG_IO_APIC case Impact: build fix Signed-off-by: Ingo Molnar commit a0a99b227da57f81319dd239bc4de811b0f530ec Author: Peter Zijlstra Date: Mon Dec 8 17:13:02 2008 +0100 hrtimer: removing all ur callback modes, fix > Ingo, this addition fixes the hotplug issue on my machine And because we're all human... Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c35fa3ea1ae8198bd65c2c6e59d9ebd68c115a59 Merge: dcc7461... 218d11a... Author: David Vrabel Date: Mon Dec 8 16:18:47 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit e726f5f91effd8944c76475a2688093a03ba0d10 Author: Ingo Molnar Date: Mon Dec 8 16:55:53 2008 +0100 tracing/function-graph-tracer: fix 'flags' variable mismatch this warning: kernel/trace/trace.c: In function ‘trace_vprintk’: kernel/trace/trace.c:3626: warning: ‘flags’ may be used uninitialized in this function shows some confusion about irq_flags / flags use here. We already have irq_flags so remove the extra flags variable. Signed-off-by: Ingo Molnar commit efbe027e95dc13ac343b6130948418d7ead7ddf1 Author: Vaidyanathan Srinivasan Date: Mon Dec 8 20:52:49 2008 +0530 sched: idle_balance() does not call load_balance_newidle() Impact: fix SD_BALANCE_NEWIDLEand broaden its use load_balance_newidle() does not get called if SD_BALANCE_NEWIDLE is set at higher level domain (3-CPU) and not in low level domain (2-MC). pulled_task is initialised to -1 and checked for non-zero which is always true if the lowest level sched_domain does not have SD_BALANCE_NEWIDLE flag set. Signed-off-by: Vaidyanathan Srinivasan Signed-off-by: Ingo Molnar commit 4217458dafaa57d8e26a46f5d05ab8c53cf64191 Author: Hiroshi Shimamoto Date: Fri Dec 5 17:17:09 2008 -0800 x86: signal: change type of paramter for sys_rt_sigreturn() Impact: cleanup on 32-bit Peter pointed this parameter can be changed. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 380c4b1411ccd6885f92b2c8ceb08433a720f44e Author: Frederic Weisbecker Date: Sat Dec 6 03:43:41 2008 +0100 tracing/function-graph-tracer: append the tracing_graph_flag Impact: Provide a way to pause the function graph tracer As suggested by Steven Rostedt, the previous patch that prevented from spinlock function tracing shouldn't use the raw_spinlock to fix it. It's much better to follow lockdep with normal spinlock, so this patch adds a new flag for each task to make the function graph tracer able to be paused. We also can send an ftrace_printk whithout worrying of the irrelevant traced spinlock during insertion. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8e1b82e0866befaa0b2920be296c6e4c3fc7f422 Author: Frederic Weisbecker Date: Sat Dec 6 03:41:33 2008 +0100 tracing/function-graph-tracer: turn tracing_selftest_running into an int Impact: cleanup Apply some suggestions of Steven Rostedt: _turn tracing_selftest_running into a simple int (no need of an atomic_t) _set it __read_mostly _fix a comment style Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8b96f0119818964e4944fd1c423bf6770027d3ac Author: Frederic Weisbecker Date: Sat Dec 6 03:40:00 2008 +0100 tracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions Impact: trace more functions When the function graph tracer is configured, three more files are not traced to prevent only four functions to be traced. And this impacts the normal function tracer too. arch/x86/kernel/process_64/32.c: I had crashes when I let this file traced. After some debugging, I saw that the "current" task point was changed inside__swtich_to(), ie: "write_pda(pcurrent, next_p);" inside process_64.c Since the tracer store the original return address of the function inside current, we had crashes. Only __switch_to() has to be excluded from tracing. kernel/module.c and kernel/extable.c: Because of a function used internally by the function graph tracer: __kernel_text_address() To let the other functions inside these files to be traced, this patch introduces the __notrace_funcgraph function prefix which is __notrace if function graph tracer is configured and nothing if not. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 69b88afa8d114a43a3c0431722b79e31d9920692 Author: Yinghai Lu Date: Fri Dec 5 22:45:50 2008 -0800 x86: clean up get_smp_config() Impact: cleanup reorder exit path in __get_smp_config(). also move two print outs to acpi_process_madt Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit aa9c9b8c584a42a094202b7e0f63497e888f86a7 Merge: 87f7606... 218d11a... Author: Ingo Molnar Date: Mon Dec 8 15:07:49 2008 +0100 Merge branch 'linus' into x86/quirks commit 3145e941fcfe2548fa2270afb1a05bab3a6bc418 Author: Yinghai Lu Date: Fri Dec 5 18:58:34 2008 -0800 x86, MSI: pass irq_cfg and irq_desc Impact: simplify code Pass irq_desc and cfg around, instead of raw IRQ numbers - this way we dont have to look it up again and again. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit be5d5350a937cd8513b258739f1099420129e96f Author: Yinghai Lu Date: Fri Dec 5 18:58:33 2008 -0800 x86: MSI start irq numbering from nr_irqs_gsi Impact: sanitize MSI irq number ordering from top-down to bottom-up Increase new MSI IRQs starting from nr_irqs_gsi (which is somewhere below 256), instead of decreasing from NR_IRQS. (The latter method can result in confusingly high IRQ numbers - if NR_CPUS is set to a high value and NR_IRQS scales up to a high value.) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 99d093d12897562a253540a902bbf65ec16042ac Author: Yinghai Lu Date: Fri Dec 5 18:58:32 2008 -0800 x86: use NR_IRQS_LEGACY Impact: cleanup Introduce NR_IRQS_LEGACY instead of hard coded number. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac Author: Yinghai Lu Date: Fri Dec 5 18:58:31 2008 -0800 sparse irq_desc[] array: core kernel and x86 changes Impact: new feature Problem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with NR_CPUS set to large values. The goal is to be able to scale up to much larger NR_IRQS value without impacting the (important) common case. To solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of irq_desc pointers. When CONFIG_SPARSE_IRQ=y is used, we use kzalloc_node to get irq_desc, this also makes the IRQ descriptors NUMA-local (to the site that calls request_irq()). This gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now uses desc->chip_data for x86 to store irq_cfg. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 361b73d5c34f59c3fd107bb9dbe7a1fbff2c2517 Author: Lai Jiangshan Date: Mon Dec 8 10:58:08 2008 +0800 ring_buffer: fix comments Impact: comments cleanup fix incorrect comments for enum ring_buffer_type Signed-off-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit 5436499e6098759c2340f8b906ea52f993dc4efb Author: Ken Chen Date: Sun Dec 7 18:47:37 2008 -0800 sched: fix sd_parent_degenerate on non-numa smp machine Impact: optimize the sched domains tree some more The addition of SD_SERIALIZE flag added to SD_NODE_INIT prevented top level dummy numa sched_domain to be properly degenerated on non-numa smp machine. The reason is that in sd_parent_degenerate(), it found that the child and parent does not have comon sched_domain flags due to SD_SERIALIZE. However, for non-numa smp box, the top level is a dummy with a single sched_group. Filter out SD_SERIALIZE if it is on non-numa machine to properly degenerate top level node sched_domain. this will cut back some of the sd domain walk in the load balancer code. Signed-off-by: Ken Chen Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4d117c5c6b00254e51c61ff5b506ccaba21a5a03 Merge: 6c415b9... 4371453... Author: Ingo Molnar Date: Mon Dec 8 13:52:00 2008 +0100 Merge branch 'sched/urgent' into sched/core commit 3e1e9002aa8b32bd4c95ac6c8fad376b7a8127fb Author: Rafael J. Wysocki Date: Mon Dec 8 00:50:22 2008 +0100 x86: change static allocation of trampoline area Impact: fix trampoline sizing bug, save space While debugging a suspend-to-RAM related issue it occured to me that if the trampoline code had grown past 4 KB, we would have been allocating too little memory for it, since the 4 KB size of the trampoline is hardcoded into arch/x86/kernel/e820.c . Change that by making the kernel compute the trampoline size and allocate as much memory as necessary. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit decbec3838d10ecd7aabdb4c0e05aac0e5f5dc0c Author: Frederic Weisbecker Date: Mon Dec 8 01:56:06 2008 +0100 tracing/function-graph-tracer: implement a print_headers function Impact: provide trace headers to explain a bit the output This patch implements the print_headers callback for the function graph tracer. These headers are output according to the current trace options. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5e03c54eeb016cf1b066e9e48d30116814ca2459 Author: Takashi Iwai Date: Mon Dec 8 12:40:56 2008 +0100 ALSA: hrtimer - Use hard-irq callback Use the hard-irq mode for the callback (for possible removal of soft-irq mode in future). Signed-off-by: Takashi Iwai commit 647808a6b932d85c3e85df6dcf0e34c1e53cc953 Author: Takashi Iwai Date: Mon Dec 8 12:16:58 2008 +0100 ALSA: timer - Add comments and use ns_to_ktime() Add the license and misc comments at the beginning of the code. Also, use ns_to_ktime() for simplification. Signed-off-by: Takashi Iwai commit 6fdd34d43bff8be9bb925b49d87a0ee144d2ab07 Author: Gerrit Renker Date: Mon Dec 8 01:19:06 2008 -0800 dccp ccid-2: Phase out the use of boolean Ack Vector sysctl This removes the use of the sysctl and the minisock variable for the Send Ack Vector feature, as it now is handled fully dynamically via feature negotiation (i.e. when CCID-2 is enabled, Ack Vectors are automatically enabled as per RFC 4341, 4.). Using a sysctl in parallel to this implementation would open the door to crashes, since much of the code relies on tests of the boolean minisock / sysctl variable. Thus, this patch replaces all tests of type if (dccp_msk(sk)->dccpms_send_ack_vector) /* ... */ with if (dp->dccps_hc_rx_ackvec != NULL) /* ... */ The dccps_hc_rx_ackvec is allocated by the dccp_hdlr_ackvec() when feature negotiation concluded that Ack Vectors are to be used on the half-connection. Otherwise, it is NULL (due to dccp_init_sock/dccp_create_openreq_child), so that the test is a valid one. The activation handler for Ack Vectors is called as soon as the feature negotiation has concluded at the * server when the Ack marking the transition RESPOND => OPEN arrives; * client after it has sent its ACK, marking the transition REQUEST => PARTOPEN. Adding the sequence number of the Response packet to the Ack Vector has been removed, since (a) connection establishment implies that the Response has been received; (b) the CCIDs only look at packets received in the (PART)OPEN state, i.e. this entry will always be ignored; (c) it can not be used for anything useful - to detect loss for instance, only packets received after the loss can serve as pseudo-dupacks. There was a FIXME to change the error code when dccp_ackvec_add() fails. I removed this after finding out that: * the check whether ackno < ISN is already made earlier, * this Response is likely the 1st packet with an Ackno that the client gets, * so when dccp_ackvec_add() fails, the reason is likely not a packet error. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 4098dce5be537a157eed4a326efd464109825b8b Author: Gerrit Renker Date: Mon Dec 8 01:18:37 2008 -0800 dccp: Remove manual influence on NDP Count feature Updating the NDP count feature is handled automatically now: * for CCID-2 it is disabled, since the code does not use NDP counts; * for CCID-3 it is enabled, as NDP counts are used to determine loss lengths. Allowing the user to change NDP values leads to unpredictable and failing behaviour, since it is then possible to disable NDP counts even when they are needed (e.g. in CCID-3). This means that only those user settings are sensible that agree with the values for Send NDP Count implied by the choice of CCID. But those settings are already activated by the feature negotiation (CCID dependency tracking), hence this form of support is redundant. At startup the initialisation of the NDP count feature uses the default value of 0, which is done implicitly by the zeroing-out of the socket when it is allocated. If the choice of CCID or feature negotiation enables NDP count, this will then be updated via the NDP activation handler. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 0049bab5e765aa74cf767a834fa336e19453fc5e Author: Gerrit Renker Date: Mon Dec 8 01:18:05 2008 -0800 dccp: Remove obsolete parts of the old CCID interface The TX/RX CCIDs of the minisock are now redundant: similar to the Ack Vector case, their value equals initially that of the sysctl, but at the end of feature negotiation may be something different. The old interface removed by this patch thus has been replaced by the newer interface to dynamically query the currently loaded CCIDs. Also removed are the constructors for the TX CCID and the RX CCID, since the switch "rx <-> non-rx" is done by the handler in minisocks.c (and the handler is the only place in the code where CCIDs are loaded). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 63b8e2861f31868dce9c92fd7444f212a5a8a775 Author: Gerrit Renker Date: Mon Dec 8 01:17:32 2008 -0800 dccp: Clean up old feature-negotiation infrastructure The code removed by this patch is no longer referenced or used, the added lines update documentation and copyrights. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 991d927c8652b2ab51bd8eef2b773bb2c77d457b Author: Gerrit Renker Date: Mon Dec 8 01:16:27 2008 -0800 dccp: Integration of dynamic feature activation - part 3 (client side) This integrates feature-activation in the client: 1. When dccp_parse_options() fails, the reset code is already set; request_sent\ _state_process() currently overrides this with `Packet Error', which is not intended - changed to use the reset code supplied by dccp_parse_options(). 2. When feature negotiation fails, the socket should be marked as not usable, so that the application is notified that an error occurred. This is achieved by a new label 'unable_to_proceed': generating an error code of `Aborted', setting the socket state to CLOSED, returning with ECOMM in sk_err. 3. Avoids parsing the Ack twice in Respond state by not doing option processing again in dccp_rcv_respond_partopen_state_process (as option processing has already been done on the request_sock in dccp_check_req). Since this addresses congestion-control initialisation, a corresponding FIXME has been removed. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 192b27ff35bad4cf76cc4239419e9f805935e4f8 Author: Gerrit Renker Date: Mon Dec 8 01:15:55 2008 -0800 dccp: Integration of dynamic feature activation - part 2 (server side) This patch integrates the activation of features at the end of negotiation into the server-side code. Note regarding the removal of 'const': -------------------------------------- The 'const' attribute has been removed from 'dreq' since dccp_activate_values() needs to operate on dreq's feature list. Part of the activation is to remove those options from the list that have already been confirmed, hence it is not purely read-only. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 6eb55d172b5f6de65afdae6285f8d732e4785bf7 Author: Gerrit Renker Date: Mon Dec 8 01:15:26 2008 -0800 dccp: Integration of dynamic feature activation - part 1 (socket setup) This first patch out of three replaces the hardcoded default settings with initialisation code for the dynamic feature negotiation. The patch also ensures that the client feature-negotiation queue is flushed only when entering the OPEN state. Since confirmed Change options are removed as soon as they are confirmed (in the DCCP-Response), this ensures that Confirm options are retransmitted. Note on retransmitting Confirm options: --------------------------------------- Implementation experience showed that it is necessary to retransmit Confirm options. Thanks to Leandro Melo de Sales who reported a bug in an earlier revision of the patch set, resulting from not retransmitting these options. As long as the client is in PARTOPEN, it needs to retransmit the Confirm options for the Change options received on the DCCP-Response from the server. Otherwise, if the packet containing the Confirm options gets dropped in the network, the connection aborts due to undefined feature negotiation state. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit b74ca3a896b9ab5f952bc440154758e708c48884 Author: Wang Chen Date: Mon Dec 8 01:14:16 2008 -0800 netdevice: Kill netdev->priv This is the last shoot of this series. After I removing all directly reference of netdev->priv, I am killing "priv" of "struct net_device" and fixing relative comments/docs. Anyone will not be allowed to reference netdev->priv directly. If you want to reference the memory of private data, use netdev_priv() instead. If the private data is not allocted when alloc_netdev(), use netdev->ml_priv to point that memory after you creating that private data. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 5a001a070e032bea1be563b13ebf9819cd5e54d4 Author: Wang Chen Date: Mon Dec 8 01:13:25 2008 -0800 staging-winbond: Kill directly reference of netdev->priv This driver is not yet finished. At this time, we don't know how netdev be created and how private data be allocated. So, simply use netdev_priv() now and leave some temp comment. Compile test only. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 8e757281defc3e45df0df8e4610f57e8ebfd7f5f Author: Rusty Russell Date: Mon Dec 8 01:10:08 2008 -0800 sparc: replace for_each_cpu_mask_nr with for_each_cpu Simple replacement, now the _nr is redundant. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: David S. Miller commit 81265fd93bc40c7c43fd36796571786ae3df00e0 Author: Sam Ravnborg Date: Mon Dec 8 01:08:24 2008 -0800 sparc: fix sparse warnings in irq_32.c Fix following sparse warnings: symbol 'static_irqaction' was not declared. Should it be static? symbol 'static_irq_count' was not declared. Should it be static? symbol 'irq_action_lock' was not declared. Should it be static? symbol 'unexpected_irq' was not declared. Should it be static? symbol 'handler_irq' was not declared. Should it be static? returning void-valued expression returning void-valued expression returning void-valued expression symbol 'init_IRQ' was not declared. Should it be static? Warnings were fixed by addding proper declarations and fixing return path of a few functions. There remains several warnings all related to the floppy driver. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7105de84f1cb5ef640bfe4b8b137837c346caab5 Author: Sam Ravnborg Date: Mon Dec 8 01:07:47 2008 -0800 sparc: add include guards to kernel.h Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8d74e32a537e8dbb22a1d5e9005d11111dab979a Author: Sam Ravnborg Date: Mon Dec 8 01:04:59 2008 -0800 sparc: fix sparse warnings in traps_32.c o add decalrations to entry.h for functions only used from assembler o add declaratiosn to kernel.h for functions only used from .c o removed unused functions/extern declarations Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 85bfbf44c37e403d4fcbcd630b3ca2377b156485 Author: Sam Ravnborg Date: Mon Dec 8 01:02:55 2008 -0800 sparc: fix trivial style issues in kernel/pmc.c o drop trailing whitespaces o align a fix things properly Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 39f6649b61536138fd16188c1a8dd30795a3696a Author: Sam Ravnborg Date: Mon Dec 8 01:02:23 2008 -0800 sparc: fix sparse warning in kernel/pmc.c Fix following warning: arch/sparc/kernel/pmc.c:41:6: warning: symbol 'pmc_swift_idle' was not declared. Should it be static? It was not used outside this file - make it static Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit efe6c3dd8b7df809d46fb521eb9af471c47ed608 Author: Robert Reif Date: Mon Dec 8 00:59:17 2008 -0800 sparc: Use sparc64 version of prom/printf.c Use sparc64 version of prom/printf.c. The only differences for sparc32 is that prom_printf is no longer exported for modules which should be OK. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 89b409f77017171c55e79628eefc557126c8fd7f Author: David S. Miller Date: Mon Dec 8 01:00:08 2008 -0800 cyber2000fb: Kill the one modular sparc prom_printf call. Noticed by Robert Reif and Sam Ravnborg. Signed-off-by: David S. Miller commit 9f6c708e5cbf57ee31f6ddaa2cd0262087271b95 Author: Nick Andrew Date: Fri Dec 5 14:08:08 2008 +1100 slub: Fix incorrect use of loose It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: Pekka Enberg commit 7657d90497f98426af17f0ac633a9b335bb7a8fb Author: Serge E. Hallyn Date: Wed Dec 3 13:17:33 2008 -0600 user namespaces: require cap_set{ug}id for CLONE_NEWUSER While ideally CLONE_NEWUSER will eventually require no privilege, the required permission checks are currently not there. As a result, CLONE_NEWUSER has the same effect as a setuid(0)+setgroups(1,"0"). While we already require CAP_SYS_ADMIN, requiring CAP_SETUID and CAP_SETGID seems appropriate. Signed-off-by: Serge E. Hallyn Acked-by: "Eric W. Biederman" Signed-off-by: James Morris commit c37bbb0fdcc01610fd55604eb6927210a1d20044 Author: Serge E. Hallyn Date: Wed Dec 3 13:17:06 2008 -0600 user namespaces: let user_ns be cloned with fairsched (These two patches are in the next-unacked branch of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/userns-2.6. If they get some ACKs, then I hope to feed this into security-next. After these two, I think we're ready to tackle userns+capabilities) Fairsched creates a per-uid directory under /sys/kernel/uids/. So when you clone(CLONE_NEWUSER), it tries to create /sys/kernel/uids/0, which already exists, and you get back -ENOMEM. This was supposed to be fixed by sysfs tagging, but that was postponed (ok, rejected until sysfs locking is fixed). So, just as with network namespaces, we just don't create those directories for user namespaces other than the init. Signed-off-by: Serge E. Hallyn Signed-off-by: James Morris commit 32e176c14d7a425b681ef003c9061001ddb7fc7b Author: Rafael J. Wysocki Date: Sat Dec 6 15:09:08 2008 +0100 Sound: hda - Restore PCI configuration space with interrupts off Move the restoration of the standard PCI configuration registers in the snd_hda_intel driver to a ->resume_early() callback executed with interrupts disabled, since doing that with interrupts enabled may lead to problems in some cases. This patch addresses the regression from 2.6.26 tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12121 . Signed-off-by: Rafael J. Wysocki Signed-off-by: Takashi Iwai commit 680e58f809fee29cb81b15ec44fedc09aabaa698 Author: Sam Ravnborg Date: Sun Dec 7 00:50:29 2008 -0800 sparc: unify kernel/idprom.c o in sparc32 variant removed prom_halt in warning situations o ifdef out sparc32 specific code Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7d3a70012005a9bcaebb5f44d5546376b9c6daa9 Author: Sam Ravnborg Date: Sun Dec 7 00:49:53 2008 -0800 sparc: idprom_32.c cleanup o Use C99 initializer for struct members o fix code style issues o Add KERN_WARNING to all printk o Update prints to match sparc64 Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit bf944c370ab181ada51c0754a2d13ae8543b149a Author: David S. Miller Date: Sun Dec 7 00:46:33 2008 -0800 sparc: Restore irq_trans_init() call in prom_create_node(). This broke sparc64 in various ways. Add an empty dummy hook in sparc32's prom_32.c so that we can potentially handle things on that side similarly, and in particular avoid a prom_common.c ifdef :-) Signed-off-by: David S. Miller commit d34dd82905fb8e1117b67ab6c32989f88cfa0ba8 Author: Sam Ravnborg Date: Sun Dec 7 00:04:30 2008 -0800 sparc: unify kernel/cpu o use cpu_32.c as base o move all sparc64 definitions to the common cpu.c o use ifdef for the parts that differs and use cpu_32 as base o spitfire.h required a CONFIG_SPARC64 guard to fix build on 32 bit Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 2bf05fa03ea10e7dcfd38cc8643bbb29c3ad6f9e Author: Sam Ravnborg Date: Sun Dec 7 00:03:26 2008 -0800 sparc: expand cpu table Prepare cputable to include sparc64 versions Declare it __initconst so it can be dropped after init Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 53ae341926b1238af3170f2f306f52a22430776c Author: Sam Ravnborg Date: Sun Dec 7 00:02:08 2008 -0800 sparc: fix sparse warnings in cpu_*.c o declare variables from cpu_*.c o declare function from cpu_32.c To do this introduce a new header "kernel.h" which is local to kernel/ Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4bcd42679643dd3dfd6aaad9fcbcc74ac5c7e2e9 Author: Wang Chen Date: Sat Dec 6 23:59:10 2008 -0800 staging-slicoss: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Acked-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 979123d5343b4fdcd4c682745b8a0be9b8fac248 Author: Wang Chen Date: Sat Dec 6 23:58:37 2008 -0800 staging-p80211: Kill directly reference of netdev->priv In this driver, netdev's private data is wlandevice_t. And the wlandev(type of wlandevice_t) is exist before netdev be allocated. So use netdev->ml_priv to point to the private data. I am not sure whether I should consider the kernel version older than 2.3.38. Because in those kernels, netdevice_t is "structure dev" instead of "structure net_device" and of course "dev->ml_priv" will cause compile error. But before my patch, in function wlan_setup(), there is a ether_setup(net_device) which already broke kernels which older than 2.3.38. Signed-off-by: Wang Chen Acked-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit ad660e2f97e7dc9d0f5627456b37e64bde714a5e Author: Wang Chen Date: Sat Dec 6 23:57:49 2008 -0800 s390_net: Kill directly reference of netdev->priv The private data comes from ccwgroup_device. So just don't allocate private data memory when do alloc_netdev() and use netdev->ml_priv to reference private data. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 26aca5ec9e587562ac0f8c5b67d02567d7bf2ffe Author: Nick Andrew Date: Sat Dec 6 23:57:14 2008 -0800 net: Fix incorrect use of loose in spider_net.c Fix incorrect use of loose in spider_net.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: David S. Miller commit 6c5cc8e0516005cb9a8f940276fac7614f7acf5c Author: Nick Andrew Date: Sat Dec 6 23:55:32 2008 -0800 wireless: Fix incorrect use of loose in wext.c Fix incorrect use of loose in wext.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew Signed-off-by: David S. Miller commit a2acde07711f7d8b19928245c555bce60f91482a Author: Ilpo Järvinen Date: Fri Dec 5 22:49:37 2008 -0800 tcp: fix tso_should_defer in 64bit Since jiffies is unsigned long, the types get expanded into that and after long enough time the difference will therefore always be > 1 (and that probably happens near boot as well as iirc the first jiffies wrap is scheduler close after boot to find out problems related to that early). This was originally noted by Bill Fink in Dec'07 but nobody never ended fixing it. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d5dd9175bc12015ea4d2c1a9b6b15dfa645a3db9 Author: Ilpo Järvinen Date: Fri Dec 5 22:48:55 2008 -0800 tcp: use tcp_write_xmit also in tcp_push_one tcp_minshall_update is not significant difference since it only checks for not full-sized skb which is BUG'ed on the push_one path anyway. tcp_snd_test is tcp_nagle_test+tcp_cwnd_test+tcp_snd_wnd_test, just the order changed slightly. net/ipv4/tcp_output.c: tcp_snd_test | -89 tcp_mss_split_point | -91 tcp_may_send_now | +53 tcp_cwnd_validate | -98 tso_fragment | -239 __tcp_push_pending_frames | -1340 tcp_push_one | -146 7 functions changed, 53 bytes added, 2003 bytes removed, diff: -1950 net/ipv4/tcp_output.c: tcp_write_xmit | +1772 1 function changed, 1772 bytes added, diff: +1772 tcp_output.o.new: 8 functions changed, 1825 bytes added, 2003 bytes removed, diff: -178 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 730c30ec646bd252a9448a66ecd51d794853513f Merge: 726e07a... 0a0755c... Author: David S. Miller Date: Fri Dec 5 22:54:40 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/iwlwifi/iwl-sta.c commit 726e07a8a38168266ac95d87736f9501a2d9e7b2 Author: Ilpo Järvinen Date: Fri Dec 5 22:43:56 2008 -0800 tcp: move some parts from tcp_write_xmit Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 41834b7332a1ad3f7b6e8bbd83e6ce63586f0b07 Author: Ilpo Järvinen Date: Fri Dec 5 22:43:26 2008 -0800 tcp: share code through function, not through copy-paste. :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ee6aac59505bcae5de1422c76956de62ac22170d Author: Ilpo Järvinen Date: Fri Dec 5 22:43:08 2008 -0800 tcp: drop tcp_bound_rto, merge content of it tcp_set_rto Both are called by the same sites. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 50133161a83c9e5974d430cabd77d6430ca7d579 Author: Ilpo Järvinen Date: Fri Dec 5 22:42:41 2008 -0800 tcp: no need to pass prev skb around, reduces arg pressure Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit a1197f5a6faa23e5d0c1f8ed97b011deb2a75457 Author: Ilpo Järvinen Date: Fri Dec 5 22:42:22 2008 -0800 tcp: introduce struct tcp_sacktag_state to reduce arg pressure There are just too many args to some sacktag functions. This idea was first proposed by David S. Miller around a year ago, and the current situation is much worse that what it was back then. tcp_sacktag_one can be made a bit simpler by returning the new sacked (it can be achieved with a single variable though the previous code "caching" sacked into a local variable and therefore it is not exactly equal but the results will be the same). codiff on x86_64 tcp_sacktag_one | -15 tcp_shifted_skb | -50 tcp_match_skb_to_sack | -1 tcp_sacktag_walk | -64 tcp_sacktag_write_queue | -59 tcp_urg | +1 tcp_event_data_recv | -1 7 functions changed, 1 bytes added, 190 bytes removed, diff: -189 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 775ffabf77a648d78fe1d20cb3a620e771abb921 Author: Ilpo Järvinen Date: Fri Dec 5 22:41:26 2008 -0800 tcp: make mtu probe failure to not break gso'ed skbs unnecessarily I noticed that since skb->len has nothing to do with actual segment length with gso, we need to figure it out separately, reuse a function from the recent shifting stuff (generalize it). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9969ca5f205988fb96461075cb4914c55cf166b5 Author: Ilpo Järvinen Date: Fri Dec 5 22:41:06 2008 -0800 tcp: Fix thinko making the not-shiftable to cover S|R as well S|R won't result in S if just SACK is received. DSACK is another story (but it is covered correctly already). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f0bc52f38b09308fca85f3aa9300a341364fe9c6 Author: Ilpo Järvinen Date: Fri Dec 5 22:40:47 2008 -0800 tcp: force mss equality with the next skb too. Also make if-goto forest nicer looking. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61c1d052a3c7d5acba3bd535aaffa5bb5d085181 Author: Ilpo Järvinen Date: Fri Dec 5 22:39:49 2008 -0800 dccp: use roundup instead of opencoding Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d2b88814c6a63e4018cd299826907a12068ffdb7 Author: Alan Cox Date: Fri Dec 5 22:32:22 2008 -0800 tty: driverdata and discdata are void * Remove all the extra casting while we are cleaning up Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 8a1ec21e6c856b996cffcd4b33f037f6748a3ab4 Author: Alan Cox Date: Fri Dec 5 22:31:52 2008 -0800 tty: Flags should be accessed via the foo_bit interfaces We have various drivers that poke around directly and we need to clean this up before it causes problems. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 098401a600b6344771900fe164c5eafb668ce99c Merge: cb7b48f... c112d0c... Author: David S. Miller Date: Fri Dec 5 22:23:34 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 7e7e93a22851f7bf0cbb7cd70878ebd811e4a044 Author: David S. Miller Date: Fri Dec 5 22:18:40 2008 -0800 sparc: Always set AUDIT_ARCH, not just on sparc64. Without fancy makefile rules it's not straightforward to prevent both arch/sparc/kernel/audit.o and lib/audit.o from both being used on sparc32. Since arch/sparc/kernel/audit.c is identical to lib/audit.c except some CONFIG_COMPAT protected sections of code, just use it on sparc32 too as that's the simplest way to fix this. Signed-off-by: David S. Miller commit 6c6bd8b61d0c8ead18caaafb3490552565efbb64 Author: Sam Ravnborg Date: Fri Dec 5 19:08:22 2008 -0800 sparc: report "Unknown CPU/FPU" for unknown cpu/fpu If we cannot determine the CPU or FPU report "Unknown CPU" or "Unknown FPU" like sparc64 does. And report with KERN_ERR that we cannot determine the CPU. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 8a563f016049bcdc9b0de0c8622afcf04b860e5e Author: Sam Ravnborg Date: Fri Dec 5 19:07:35 2008 -0800 sparc: beautify kernel/cpu_32.c Fixed style issues Use C99 struct assignments Use KERN_DEBUG for printk Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit ad07aed8ca2023bcfe224a5e3e55bafec2c741d0 Author: David S. Miller Date: Fri Dec 5 15:20:26 2008 -0800 sparc: Move of_console_{device,path,options} info prom_common.c Signed-off-by: David S. Miller commit 23dc758e47aeb3cc2414c2ec69b7b3e95f447071 Author: David S. Miller Date: Fri Dec 5 18:16:48 2008 -0800 sparc: Move prom_build_devicetree() into prom_common.c To make this work we provide a dummy nop implementation of of_fill_in_cpu_data() for sparc32. Signed-off-by: David S. Miller commit 6524036a1e5736a07466208362d83ddf31aae3ac Author: David S. Miller Date: Fri Dec 5 01:21:41 2008 -0800 sparc: Move core of OF device tree building code into prom_common.c Signed-off-by: David S. Miller commit 4aef8c53fe517542d8185b7d771f291865b49177 Author: David S. Miller Date: Fri Dec 5 01:12:32 2008 -0800 sparc: Match sparc32's build_tree() up to sparc64's Sparc64 uses a non-recursive sibling traversal algorithm that never got propagated into the sparc32 copy of this code. Sync them up. Signed-off-by: David S. Miller commit 7d9439d50b6dadcfdf6d28be2234461709719e14 Author: David S. Miller Date: Fri Dec 5 01:10:18 2008 -0800 sparc: Move create_node() and friends into prom_common.c Signed-off-by: David S. Miller commit 06c0db7221de09cdf1d5dd2ce2780cc3361ad9f9 Author: David S. Miller Date: Fri Dec 5 01:06:52 2008 -0800 sparc: Make sparc32's create_node() assign parent pointer. This makes it match what sparc64's version does. Signed-off-by: David S. Miller commit 59966e3b4e9e6573b352301ad0ceed15196d4e2d Author: David S. Miller Date: Fri Dec 5 17:06:47 2008 -0800 sparc: Commonize get_one_property() implementations. Add final len assignment in sparc64's get_one_property() (it's necessary to avoid unchecked return value warnings on the sparc32 side), and mark name argument const on sparc32's copy. Signed-off-by: David S. Miller commit b9e5567cda6387e0f4061bfceebbc1bd63ee42a6 Author: David S. Miller Date: Fri Dec 5 01:00:46 2008 -0800 sparc: Move property building code into prom_common.c Unfortunately there is some sparc32/sparc64 ifdef'ery in here due to the difference in how the prom_firstprop() and prom_nextprop() routines work. This will be eliminated eventually. Signed-off-by: David S. Miller commit e5ff0fe31d69e716f2599bcfb297ca3757e957c5 Author: David S. Miller Date: Fri Dec 5 00:50:22 2008 -0800 sparc: Move 'unique_id' into prom_common.c and rename to 'prom_unique_id' This will be used in a subsequent changeset. Signed-off-by: David S. Miller commit 5fce09c6f636449d6df971971af1bd4328a21890 Author: David S. Miller Date: Fri Dec 5 00:43:03 2008 -0800 sparc: Move irq_trans_init() and support code into seperate file. All sparc64 specific, so only build this file on sparc64. Signed-off-by: David S. Miller commit efeac2f87609ab25dab329ce16876eb9110b2084 Author: David S. Miller Date: Fri Dec 5 00:40:43 2008 -0800 sparc: Mark prom_early_alloc non-static. A subsequent changeset will use this. Signed-off-by: David S. Miller commit dfa76060be85dd48d3803bc26f6a6d2e93e812f0 Author: David S. Miller Date: Thu Dec 4 20:28:22 2008 -0800 sparc: Create common area for OF device layer code. This is where common code implementations will go as we unify 32-bit and 64-bit OF device tree code. Signed-off-by: David S. Miller commit ab04323e5b8c50d6e8f7f4a3e4118ba5fcba61a1 Author: David S. Miller Date: Fri Dec 5 16:54:44 2008 -0800 sparc: Const'ify prom_*prop*() on sparc32. This brings things in line with sparc64. Signed-off-by: David S. Miller commit 657f201df693c26d294f6c789b8a87cd8c16eb53 Author: David S. Miller Date: Thu Dec 4 20:12:20 2008 -0800 sparc: Create common header file for prom_{32,64}.c This is where common declarations will go as we unify these files as much as possible into common code. Signed-off-by: David S. Miller commit cb7b48f671f9c7582993a6c0ff6e989078048561 Author: Alexander Duyck Date: Fri Dec 5 15:08:03 2008 -0800 igb/e1000e: Naming interrupt vectors Change interrupt vector naming to match recent changes from Robert Olsson. Signed-off-by: Alexander Duyck Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1c721940ddd6496508f1f2fde5167b1c898b419b Author: Stefan Roscher Date: Fri Dec 5 11:25:38 2008 -0800 IB/ehca: Replace modulus operations in flush error completion path With the latest flush error completion patch we introduced modulus operation to calculate the next index within a qmap. Based on comments from other mailing lists we decided to optimize this operation by using an addition and an if-statement instead of modulus, even though this is on the error path. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 3d0890985ac4dff781b7feba19fedda547314749 Author: Dave Olson Date: Fri Dec 5 11:14:38 2008 -0800 IB/ipath: Add locking for interrupt use of ipath_pd contexts vs free Fixes timing race resulting in panic. Not a performance sensitive path. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1bf7724e093cf3071d943d53bfa4de8b8e50426b Author: Dave Olson Date: Fri Dec 5 11:13:19 2008 -0800 IB/ipath: Fix spi_pioindex value ipath_piobufbase was a single value offset, but is multiple values on newer chips, so use only the 32 bits for the 2K buffers (4K buffers are currently used only by the driver). Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 6114d4cd313acbb6e9935c2bee77e368d10c4f04 Author: Dave Olson Date: Fri Dec 5 11:13:19 2008 -0800 IB/ipath: Only do 1X workaround on rev1 chips Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 60e845035a066e81af1a29047530088d59150d8b Author: Dave Olson Date: Fri Dec 5 11:13:19 2008 -0800 IB/ipath: Don't count IB symbol and link errors unless link is UP Implement the ignoring of ibsymbol errors and linkrecover errors while the link is at less than INIT (long needed), to get accurate counts. Particularly an issue when doing non-IBTA DDR negotiation with chips from vendors that do not support IBTA mode negotiation. If the driver is unloaded, and there is a delta, the adjusted counters are written back to the chip, so they stay adjusted across driver reload. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 890fccb2427d53b48ab9d009fd87d55bcb173f62 Author: Ralph Campbell Date: Fri Dec 5 11:13:18 2008 -0800 IB/ipath: Check return value of dma_map_single() This fixes an obvious oversight where the return value is not checked for error. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit fab01fc56063dafcc083f481ac0f9e6b5a576dd6 Author: Ralph Campbell Date: Fri Dec 5 11:13:18 2008 -0800 IB/ipath: Fix PSN of send WQEs after an RDMA read resend The PSN of the first packet after an RDMA read is based on the size of the RDMA read request. This is calculated correctly for the WQE sent after the first request message but not on subsequent requests if the RDMA read is resent. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6098d107499e1335f899bfcb558253fb7ee4f73f Author: Chien Tung Date: Fri Nov 21 20:51:01 2008 -0600 RDMA/nes: Cleanup warnings Wrap NES_DEBUG and assert macros with do while (0) to avoid ambiguous else. No one is using sk_buff * returned from form_cm_frame(), so drop the return. drop_packet() should not be incrementing reset counter on receiving a FIN. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 1ee86555b2ad4d16a3c18253b7e4d70d34eb94f3 Author: Chien Tung Date: Fri Nov 21 20:51:04 2008 -0600 RDMA/nes: Add loopback check to make_cm_node() Check for loopback connection in make_cm_node(). Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit f3181a10e13ac55e18958d7c48cba6f925c71483 Author: Faisal Latif Date: Fri Nov 21 20:50:55 2008 -0600 RDMA/nes: Check cqp_avail_reqs is empty after locking the list Between the first empty list check and locking the list, the list can change. Check it again after it is locked to make sure the list is still not empty. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit abb77256761bc3ee7a21cc28f6f12a938964e83f Author: Faisal Latif Date: Fri Nov 21 20:50:52 2008 -0600 RDMA/nes: Fix TCP compliance test failures ANVL testing showed we are not handling all cm_node states during connection establishment. Add missing state handlers and fix sequence number send reset in handle_tcp_options(). Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 4a14f6a79f5110c6033f0c61d77d07c449c2d083 Author: Faisal Latif Date: Fri Nov 21 20:50:49 2008 -0600 RDMA/nes: Forward packets for a new connection with stale APBVT entry Under heavy traffic, there is a small windows when an APBVT entry is not yet removed and a new connection is established. Packets for the new connection are dropped until APBVT entry is removed. This patch will forward the packets instead of dropping them. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 183ecfa3091cd4cdda329a7fe89d9544088f517d Author: Faisal Latif Date: Fri Nov 21 20:50:46 2008 -0600 RDMA/nes: Avoid race between MPA request and reset event to rdma_cm In passive open, after indicating MPA request to rdma_cm, an incoming RST would fire a reset event to rdma_cm causing it to crash, since the current state is not connected. The solution is to wait for nes_accept() or nes_reject() before firing the reset event. If nes_accept() or nes_reject() is already done, then the reset event will be fired when RST is processed. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 879e5bd5a1a0a317fb67fa4dc550db092a7bdcb0 Author: Faisal Latif Date: Fri Nov 21 20:50:41 2008 -0600 RDMA/nes: Lock down connected_nodes list while processing it While processing connected_nodes list, we would release the lock when we need to send reset to remote partner. That created a window where the list can be modified. Change this into a two step process: place nodes that need processing on a local list then process the local list. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit c5d321e5c924384cf5b35f6288d69e9237490565 Author: Faisal Latif Date: Fri Nov 21 20:50:38 2008 -0600 RDMA/nes: Cleanup cqp_request list usage Use nes_free_cqp_request() instead of open coding. Change some continue to break in nes_cm_timer_tick, because send_entry used to be a list processed in a loop (so continue went to the next item). Now it is a single item, so using break is correct. Signed-off-by: Faisal Latif Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit abf681ce5b6f83f0b8883e0f2c12d197a38543dd Author: Robert P. J. Day Date: Mon Feb 18 14:34:46 2008 -0500 kbuild: remove TAR_IGNORE Given that there is no usage of a TAR_IGNORE variable remove it Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit 28a1d869560a49d960ba2a3b450ec965712e5560 Author: Daniel Mack Date: Fri Dec 5 17:31:00 2008 +0100 ASoC: tlv320aic3x: control additions and cleanups - split "Line Playback Switch" into "LineL Playback Switch" and "LineR Playback Switch" - split "Line PGA Bypass Playback Volume" into "LineL Left PGA Bypass Playback Volume" and "LineR Right PGA Bypass Playback Volume" - split "Line Line2 Bypass Playback Volume" into "LineL Line2 Bypass Playback Volume" and "LineR Line2 Bypass Playback Volume" - Added "HP Right PGA Bypass Playback Volume" Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 68fb740774a429ecbccd4d8b3287cf4883ad3ec2 Author: Grazvydas Ignotas Date: Thu Dec 4 22:39:54 2008 +0200 ASoC: Add support for OMAP3 Pandora This patch adds basic support for OMAP3 Pandora. Signed-off-by: Grazvydas Ignotas Signed-off-by: Mark Brown commit c112d0c5b89037dd618083b5fdf4bb36b0c51d77 Author: Luis R. Rodriguez Date: Wed Dec 3 03:35:30 2008 -0800 ath9k: Use GFP_ATOMIC when allocating TX private area Using GFP_KERNEL was wrong and produces a 'scheduling while atomic' bug as we're in a tasklet. Also, check for proper return values now, in case allocation fails and be sure to stop the TX queue in case of memory issues but gaurantee the TX queue will eventually be woken up. Signed-off-by: Senthil Balasubramanian Signed-off-by: Sujith Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f8316df10c4e3bec5b4c3a5a8e026c577640c3a6 Author: Luis R. Rodriguez Date: Wed Dec 3 03:35:29 2008 -0800 ath9k: Check for pci_map_single() errors pci_map_single() can fail so detect those errors with pci_dma_mapping_error() and deal with them accordingly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 73a5267087b5acd4a4288e0a1b809f09ca578d49 Author: Ivo van Doorn Date: Wed Dec 3 17:30:22 2008 +0100 rt2x00: Correctly initialize AID during set_key() Request the AID from hardware and provide this id to the driver (in case they need it). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9c3444d33e65ade06af82d19522686c1873b953a Author: Ivo van Doorn Date: Wed Dec 3 17:29:48 2008 +0100 rt2x00: Move crypto TX descriptor handling to rt2x00crypto.c Move all code which determines the right TX descriptor fields specific to crypto support into rt2x00crypto.c. This makes the code in rt2x00queue more simpler and better concentrates all crypto code into a single location. With this we can also remove some ifdefs in rt2x00queue.c since the code inside the ifdef is either very small, or only calling empty functions (see empty function definitions in rt2x00lib.h). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1c02667db5eae801b8fc279fdfa618164c0efb6e Author: Ivo van Doorn Date: Wed Dec 3 17:29:21 2008 +0100 rt2x00: Fix check for BSS info changes Fix ERP configuration, due to a too strict changes flags checking we never updated the short slot time or basic rate mask when no other changes were made at the same time. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4c7f0bc266ccccfb0ca397405af13ee3d9e0f6b2 Author: Wu Fengguang Date: Wed Dec 3 00:19:04 2008 -0800 generic swap(): ath9k: rename swap() to swap_array() In preparation for the introduction of a generic swap() macro. Signed-off-by: Wu Fengguang Cc: Sujith Manoharan Cc: Luis R. Rodriguez Cc: Vasanthakumar Thiagarajan Cc: Senthil Balasubramanian Cc: Jouni Malinen Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 74415edb042ef9f3b1291f978763687f35aadbb3 Author: Ivo van Doorn Date: Tue Dec 2 22:50:33 2008 +0100 rt2x00: Add RXDONE_CRYPTO_IV/ICV flags Drivers should notify rt2x00lib when they provide the IV/ICV data. This adds some flexibility to drivers which can't provide all information. * rt2500usb provides ICV inside the frame * rt2800pci doesn't provide IV/ICV * rt2800usb doesn't provide IV/ICV Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 011a03300bdd60782f465b97c3aefd58bfaae316 Author: Abhijeet Kolekar Date: Tue Dec 2 12:14:07 2008 -0800 iwl3945 : Fix a-band association for passive channels Patch does following things 1) This patch fixes the a-band association for passive channels with new uCode feature that it allows direct scan on passive channels after auto-switch from passive to active. This enables sending of direct probes on passive channels, as long as some traffic is detected on that channel. This improves the scanning for hidden SSIDs in A-band,which is all passive channels. This patch fixes the bug no 1748. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1748 2) This fix will only work with uCode version 15.28.2.8 and above. Prior versions of uCode would work only if we heard the traffic within active dwell time, which is much shorter than passive dwell time and is shorter than typical beacon periods. This patch also provids full active dwell time even if we hear traffic late in passive dwell. 3) uCode API version is incremented to 2. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a0987a8d68c86562f267efa97be01314c490c496 Author: Reinette Chatre Date: Tue Dec 2 12:14:06 2008 -0800 iwlwifi: rely on API version read from firmware This adds the infrastructure to support older firmware APIs. The API version number is stored as part of the filename, we first try to load the most recent firmware and progressively try lower versions. The API version is also read from the firmware self and stored as part of the iwl_priv structure. Only firmware that is supported by driver will be loaded. The version number read from firmware is compared to supported versions in the driver not the API version used as part of filename. An example using this new infrastrucure: if (IWL_UCODE_API(priv->ucode_ver) >= 2) { Driver interacts with Firmware API version >= 2. } else { Driver interacts with Firmware API version 1. } Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c02b3acd29766c6f79c2411cb5b85e1ee72c4c8f Author: Chatre, Reinette Date: Tue Dec 2 12:14:05 2008 -0800 iwlwifi: store ucode version number We store the ucode version number as part of iwl_priv/iwl3945_priv. This enables us to determine if particular ucode has support for features in order to have driver support more than one ucode API. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f3f911d1773d31f11038d90b04244bc3986c4ccd Author: Zhu Yi Date: Tue Dec 2 12:14:04 2008 -0800 iwlwifi: fix DMA channel number in iwl_txq_ctx_stop The patch fixes the misuse of DMA channel number by Tx queue number in iwl_tx_ctx_stop(). The problem was originally reported by Wu Fengguang who complains iwlagn driver takes too long time when issuing `ifconfig wlan0 down`. The patch now decreases the interface bring down time from 2 seconds to 0.8 second. This fixes bugs: http://bugzilla.kernel.org/show_bug.cgi?id=11956 http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1790 Signed-off-by: Zhu Yi Tested-by: Fengguang Wu Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 74221d07408c473721cce853ef4e0e66c0b326ba Author: Abbas, Mohamed Date: Tue Dec 2 12:14:03 2008 -0800 iwl3945: Fix iwl3945 rate scaling. 3945 rate scaling was broken in recent tree. This patch fix the following: 1- Get TX response info and update rates window. 2- Rate scaling selection. 3- Flush window timer. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c30e30e17dad86d5e161cf9774eb4d549cc13191 Author: Abbas, Mohamed Date: Tue Dec 2 12:14:02 2008 -0800 iwl3945: add debugfs support Add debugfs support to 3945 driver to display rs info. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d366df5abb8d5ce7e2c36d3b678177787ccd9749 Author: Winkler, Tomas Date: Tue Dec 2 12:14:01 2008 -0800 iwlwifi: move channels sysfs to debugfs This patch moves channels info display from sysfs to debugfs. This shows channel information as stored in NIC EEPROM. This is useful in debugging CRDA or iwl goes setting so it belongs rather to debugfs then to sysfs. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0ad91a35bcb6dd993ad7d34f159afae929b4743d Author: Winkler, Tomas Date: Tue Dec 2 12:14:00 2008 -0800 iwlwifi: move disable/enable interrupts to iwl-core.c This patch moves iwl_enable_interrupts and iwl_disable_interrupts functions to iwl-core.c Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c93007efaad0a90520ba73f025c663441bf7e9d6 Author: Samuel Ortiz Date: Tue Dec 2 12:13:59 2008 -0800 iwl3945: Select correct sta ID from find_station() The find_station routine needs to look at the IWL_AP_ID entry if we're a STA. Currently, it only looks for STA entries which causes HW crypto to fail. Signed-off-by: Samuel Ortiz Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 99df630c3453e4a66b3408212dd8e55bc0e04f54 Author: Zhu Yi Date: Tue Dec 2 12:13:58 2008 -0800 iwlwifi: fix printk size format error The patch fixes a printk size format error. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8f5c87dcf6d1a5e6d7ffe642cfd4debb5ccbec49 Author: Winkler, Tomas Date: Tue Dec 2 12:13:57 2008 -0800 iwlwifi: move host command check function into separate file This patch moves iwl_check_rxon_cmd into iwl-agn-hcmd-check.c This function compiled out in none debugging or non development mode and more. We haven't decided which one yet hence preserving the current 'always compile' state. More functions will be added to the file namely for checking TX and LQ commands. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 304a698a5819bf318fe7e6ea9fe7ff2560365ec2 Author: Ivo van Doorn Date: Tue Dec 2 18:20:59 2008 +0100 rt2x00: Release rt2x00 2.2.3 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dddfb478b26e29a2b47f655ec219e743b8111015 Author: Ivo van Doorn Date: Tue Dec 2 18:20:42 2008 +0100 rt2x00: Implement HW encryption (rt2500usb) rt2500usb supports hardware encryption. rt2500usb supports up to 4 shared and pairwise keys. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0b927a079106e5f66c736e297370d3feb008e28e Author: Ivo van Doorn Date: Tue Dec 2 18:20:22 2008 +0100 rt2x00: Remove duplicate code Simplify rt2x00lib_config_antenna() by moving duplicate code into a seperate static inlined function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 42c8285767dd17f450d986bdb163a8d56fb0330a Author: Ivo van Doorn Date: Tue Dec 2 18:20:04 2008 +0100 rt2x00: Store retry limit values Store retry limit values in the rt2x00dev structure. This allows the removal of the FIXME where we assumed the long retry is only used when working with RTS frames. Instead we should check the current retry limit values and decide if the required retry count for this frame is a long or short retry. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ce9cdac482f0dfbbd22ba4b3e5c016a05543a42 Author: Ivo van Doorn Date: Tue Dec 2 18:19:48 2008 +0100 rt2x00: Optimize IV/EIV handling IV and EIV belong to eachother and don't require 2 seperate fields. Instead they can logically be merged into a single array with size 2. With this approach we can simplify the code in rt2x00crypto.c by using a single memcpy() when copying the iv/eiv data. Additionally we can move some code out of if-statements because the if-statement would always be true. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit aac9207e45b1ec1f36d67e57d94f59ac036d37ee Author: Sujith Date: Tue Dec 2 18:37:54 2008 +0530 ath9k: Choose correct ANI calibration period ANI can't be turned on/off dynamically yet, but the calculation of the calibration period is wrong anyway. This patch fixes it. Reported-by: Johannes Berg Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7470d7f54064557b6210671c2692bba19af5b79d Author: Winkler, Tomas Date: Mon Dec 1 16:32:22 2008 -0800 iwlwifi: 5150 enable LO, TXIQ and BB calibrations This patch enables LO, TXIQ, and BB calibrations for 5150 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fd63edba43c584d334e8fc161ca84e4cf54e26a0 Author: Tomas Winkler Date: Mon Dec 1 16:32:21 2008 -0800 iwlwifi: 5150 parametrize eeprom versions Add support for 5150 eeprom versions Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 339afc893d3c1a36151c7578d7eacd2f4b293d5f Author: Tomas Winkler Date: Mon Dec 1 16:32:20 2008 -0800 iwlwifi: 5150 compute ct kill threshold This patch adds computation of ct kill threshold for 5150. Threshold is computed from calibration data in the EEPROM. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 819500c5892aeeed079d3ea1671df40f2dd1d417 Author: Tomas Winkler Date: Mon Dec 1 16:32:19 2008 -0800 iwlwifi: 5150 enable DC calibration This patch enables DC calibration for 5150 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7100e924661cc23609de8e7ab9fc3a13e0173891 Author: Tomas Winkler Date: Mon Dec 1 16:32:18 2008 -0800 iwlwifi: 5150 add support for 5150 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d97809dbbf1b8a6df79c82be75fa0cababec783b Author: Colin McCabe Date: Mon Dec 1 13:38:55 2008 -0800 ath9k: Replace ath9k_opmode with nl80211_iftype This patch kills ath9k's ath9k_opmode enum by replacing it with nl80211_iftype. Signed-off-by: Colin McCabe Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 33fd8195529d74c0fe23cddd1c76fe7e03bbd324 Author: Johannes Berg Date: Mon Dec 1 18:50:27 2008 +0100 iwlwifi: disable AP mode iwlwifi does not support AP mode in any way. For one, it doesn't even buffer multicast/broadcast frames properly. We didn't allow zd1211rw AP mode to be enabled without this, so iwlwifi shouldn't be allowed to advertise AP mode either. It also doesn't work at all, it doesn't even answer to probe requests, I'm guessing the packet injection code was disabled again. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit c91276592695e13d1b52eab572551017cbf96ee7 Author: Johannes Berg Date: Mon Dec 1 18:19:36 2008 +0100 p54: fix lm87 checksum endianness This fixes the checksum calculation for lm87 firmwares on big endian platforms, the device treats the data as an array of 32-bit little endian values so the driver needs to do that as well. Signed-off-by: Johannes Berg Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 0f70f398460adb2d8aabb00e7e65f58247f219a3 Author: Johannes Berg Date: Mon Dec 1 18:13:05 2008 +0100 cfg80211: "fix" 11d oops This "fixes" the 11d oops I was seeing. This needs some more work but I cannot work on it now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c58f9f635afe688c5c5709f441af57c12c7a4856 Author: Helmut Schaa Date: Mon Dec 1 16:53:28 2008 +0100 iwl3945: remove obsolete irq handling 3945 hardware does not emit the interrupts CSR_INT_BIT_RF_KILL (rfkill toggled) and CSR_INT_BIT_CT_KILL (adapter too hot). Hence this part of code can be removed since iwl3945_irq_tasklet does not handle 4965 hw at all. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 8e7be8da8ec7cc2828f4434d8d3c2ab4d1d4e7a4 Author: Rami Rosen Date: Mon Dec 1 13:56:55 2008 +0200 mac80211: tx module cleanup. This patch removes unnecessary parameter in ieee80211_beacon_add_tim() and removes unneeded definition and assignment for bdev (instance of net_device) in ieee80211_beacon_get() and in ieee80211_get_buffered_bc() (all in tx.c). Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4a4f4d805db5c930ee4185162dcdc8db9a0379d5 Author: Johannes Berg Date: Mon Dec 1 12:07:56 2008 +0100 cfg80211: fix wiphy remove if no regulatory request Fixes the segfault I just pointed out. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8bef7a10014c4579c66579ab47fc1bb9563ac42a Author: Kalle Valo Date: Sun Nov 30 20:56:28 2008 +0200 mac80211: document ieee80211_tx_info.pad Fixes htmldocs warning: Warning(mac80211.h:379): No description found for parameter 'pad[2]' Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 02e37ba1298359baa123cf71ffa03d92abd259b2 Author: Christian Lamparter Date: Sat Nov 29 22:39:08 2008 +0100 p54: per-device names This patch replaces the static "p54:" strings in front of most printk's with their corresponding per-device names. It was always a bit of a hassle to check which device was generating all the messages. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b2023ddcfa6b79f26ef459867324f3d32b91aa07 Author: Christian Lamparter Date: Sat Nov 29 22:37:31 2008 +0100 p54: refactoring Thanks to the introduction of "changed" flags, we no longer have to do the bookkeeping of p54's firmware state for everything. Thus we can cut down redundancy code. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 64c354ddcd65c98d9a1e2a8f7fb5cc80c7fa488e Author: Christian Lamparter Date: Sat Nov 29 22:35:43 2008 +0100 p54: include support for 2.13.24.0 USB LM87 Firmwares Those firmwares are probably capable of reprogramming the device's eeprom. We better support them officially, before all the accidents happen. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 25900ef0191af98bbb24d8088c6887af31c1ba27 Author: Christian Lamparter Date: Sat Nov 29 22:34:37 2008 +0100 p54: utilize cryptographic accelerator This patch allows p54 to utilize its WEP, TKIP and CCMP accelerator. Tested-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c772a08ba7192fa5450f85ef53adcbc6e0c5e1c9 Author: Christian Lamparter Date: Sat Nov 29 22:33:57 2008 +0100 p54: revamp station power save management in access point mode This patch addresses the problem in: http://marc.info/?l=linux-wireless&m=122727674810057&w=2 Thanks to Stefan Steuerwald extensive iPod touch tests. We could finally squash some bugs in p54's master mode / access point implementation. Let's hope we got everything right this time and all stations from now on will wake up on TIM and receive their queued frames and go to sleep again without any hiccups. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4571d3bf87b76eae875283ff9f7243984b5ddcae Author: Christian Lamparter Date: Sun Nov 30 00:48:41 2008 +0100 mac80211: add sta_notify_ps callback This patch is necessary in order to provide a proper Access point support for p54. Unfortunately for us, there is no documented way to disable the interfering power save buffering mechanism in firmware completely. Therefore we give in and notify the driver through our new sta_notify_ps callback, so that we can update the filter state. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2a163c6de452c0b321396caceac5d163949b4cf2 Author: Sujith Date: Fri Nov 28 22:21:08 2008 +0530 ath9k: Add a debugfs file for dumping DMA status Debugfs file location: ath9k//dma Contains values in DMA debug registers. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 826d268091f0e0ecc50103f648b6183eb3efe04d Author: Sujith Date: Fri Nov 28 22:20:23 2008 +0530 ath9k: Add initial layout for an ath9k specific debugfs mechanism Signed-off-by: Sujith Signed-off-by: John W. Linville commit 16d68abee5d700bfe09ae8324dbb76028995c589 Author: Sujith Date: Fri Nov 28 22:19:42 2008 +0530 ath9k: Remove includes that are not needed Signed-off-by: Sujith Signed-off-by: John W. Linville commit 88b126af946e7ea789f2a52d9d25aca681f93067 Author: Sujith Date: Fri Nov 28 22:19:02 2008 +0530 ath9k: Add ATH9K_DEBUG configuration option Make debugging configurable, and add a module parameter to give the debug mask. Add debug.c to hold all debug specific code. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 04bd4638097c767278fdf12d50fecc8b60194d39 Author: Sujith Date: Fri Nov 28 22:18:05 2008 +0530 ath9k: Use cleaner debug masks Remove all the useless __func__ prefixes in debug messages, and replace the DPRINTF macro with a function. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d9a1f48648edbe99fa432626ce6964a1b58f7281 Author: herton Date: Thu Nov 27 22:53:24 2008 -0200 rtl8187: fix retry count passed in rtl8187_tx I mistakenly changed retry count passed in rtl8187_tx in previous change "rtl8187: feedback transmitted packets using tx close descriptor for 8187B". For 8187 it should represent the number of retries (retry count limit). As explained by Johannes Berg, .count represents the number of tries (not retries), and retries = tries - 1. Signed-off-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 007e5ddddfed4ba039899754936e89b27d5cb551 Author: Johannes Berg Date: Thu Nov 27 23:13:38 2008 +0100 wireless: clean up radiotap a bit No need to pad the header so no constant needed for that, no need to carry any version number from netbsd nor CVS IDs from them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e11602b7813502bf363c40cdb5a8c4b96d4bbc96 Author: Sujith Date: Thu Nov 27 09:46:27 2008 +0530 ath9k: Handle channel initialization for AP mode Hostapd now passes the HT parameters through the config() callback, use these to set the appropriate channel in AP mode. Signed-off-by: Sujith Signed-off-by: John W. Linville commit cb3da8ccc464409e3b947557cdac4cd0b1241c4c Author: Fabio Rossi Date: Wed Nov 26 22:44:23 2008 +0100 mac80211: accept empty strings for hidden SSIDs Some access points (e.g. Sitecom WL-174) use an empty string as hidden SSID. Signed-off-by: Fabio Rossi Signed-off-by: John W. Linville commit e60c7744f8aa77bcbcb0b294596d6c87445d1200 Author: Johannes Berg Date: Wed Nov 26 23:31:40 2008 +0100 cfg80211: handle SIOCGIWMODE/SIOCSIWMODE further reducing wext code in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fee52678dbda2099a25243e79da98dc390e1939a Author: Johannes Berg Date: Wed Nov 26 22:36:31 2008 +0100 cfg80211: handle SIOCGIWNAME This patch moves the SIOCGIWNAME handling from mac80211 to cfg80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f650470a8f506bc33a15778432ebb8cdcf89175b Author: Bob Copeland Date: Wed Nov 26 16:17:25 2008 -0500 ath5k: enable combined michael mic in key cache For mac revisions >= "Griffin," the hardware allows the mic tx and rx authenticator keys to share the same cache line, whereas earlier hardware can only store the rx. Enable the combined mic on hardware that supports it. Changes to ath5k.h Changes-licensed-under: 3-Clause-BSD Changes to attach.c, pcu.c, reg.h Changes-licensed-under: ISC Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 671434904633876f89be70af415c35c89fb90115 Author: Bob Copeland Date: Tue Nov 25 20:55:21 2008 -0500 ath5k: clean up ath5k_hw_set_key Status: O With the addition of TKIP (and soon CCMP), key->alg is a more useful guide to key type than the key length. This patch cleans up key type assignment in ath5k_hw_set_key by extracting it into its own function. It also replaces the separate memcpy() calls for extracting key material into the hardware format with a loop that works regardless of key size. Finally, the patch removes support for WEP-128 since it is a non-standard key length that mac80211 also doesn't use. Changes-licensed-under: ISC Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit f6bac3ea5990653765700b2c3778b08782abebe5 Author: Bob Copeland Date: Wed Nov 26 16:17:11 2008 -0500 ath5k: preserve higher order bits when setting mac address In some cases we would like to set the mac address without changing the operating mode. However, Atheros cards store PCU data in the high 16 bits of the mac address register. Change ath5k_hw_set_lladdr() to not clobber the PCU settings. Changes-licensed-under: ISC Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 51e9bf5d795b8e01e54391f1790974c7b166d286 Author: Harvey Harrison Date: Wed Nov 26 13:12:52 2008 -0800 iwlwifi: remove uses of __constant_{endian} helpers The base versions handle constant folding just fine. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 10ec4f1d0851eb97cd53db66150835dd7f64829d Author: Luis R. Rodriguez Date: Wed Nov 26 13:03:08 2008 -0800 nl80211: relicense nl80211.h under the ISC We have a few BSD/ISC licensed userspace applications which include nl80211.h from the kernel. To avoid legal ambiguity for usage of the header file in these projects we rather simply relicense the header file under the ISC. We've received consent from all contributors to it. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Acked-by: Michael Wu Acked-by: Luis Carlos Cobo Acked-by: Michael Buesch Acked-by: Jouni Malinen Acked-by: Colin McCabe Acked-by: Javier Cardona Cc: johannes@sipsolutions.net Cc: altape@eden.rutgers.edu Cc: luisca@cozybit.com Cc: mb@bu3sch.de Cc: jouni.malinen@atheros.com Cc: colin@cozybit.com Cc: javier@cozybit.com Signed-off-by: John W. Linville commit 72bdcf34380917260da41e3c49e10edee04bc5cd Author: Jouni Malinen Date: Wed Nov 26 16:15:24 2008 +0200 nl80211: Add frequency configuration (including HT40) This patch adds new NL80211_CMD_SET_WIPHY attributes NL80211_ATTR_WIPHY_FREQ and NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to allow userspace to set the operating channel (e.g., hostapd for AP mode). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 72eaa43a532b4156966444779829a986a4432f11 Author: Johannes Berg Date: Wed Nov 26 15:02:58 2008 +0100 mac80211: only transition STAs ps->wake on data frames When a station goes to PS mode to scan, it will then send probe requests without the PS bit set. mac80211 will take that as indication that the station woke up, but it didn't. This patch changes mac80211 to only consider doze->wake transitions on data frames to to fix that issue. Signed-off-by: Johannes Berg Cc: Jouni Malinen Signed-off-by: John W. Linville commit 0d950d84d9d16f7d4edf380a238c5b534ff00d11 Author: Tomas Winkler Date: Tue Nov 25 13:36:01 2008 -0800 iwlwifi: properly initialize calibration command header Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8e268e47b8ca5bddd189320884c3cc7d9ae489f4 Author: Tomas Winkler Date: Tue Nov 25 13:05:44 2008 +0200 mac80211: disassociate prior to unlinking AP/station This patch reorders calls during disassociation in ieee80211_set_disassoc function. Since sta_info_unlink calls sta_notify(REMOVE) it will remove the station representing AP from the driver before it has disassociated from it using bss_info_changed callback. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e327b847e67051ece8d121f9aebeb4d736c36a02 Author: John W. Linville Date: Mon Dec 1 14:56:41 2008 -0500 mac80211: deauth when interface is marked down It seems like proper etiquette to let other stations know when we are going down in either STA or IBSS mode. This also notifies userland, so wpa_supplicant doesn't get confused. Signed-off-by: John W. Linville commit 04adf890667050b83a58abaf63610e53a604261b Author: John W. Linville Date: Wed Dec 3 13:55:38 2008 -0500 hostap: select required crypto bits in Kconfig This is fallout from moving the crypto stuff to the new lib80211 component. Signed-off-by: John W. Linville commit 21bbecdaaef3a6acc19905ab88c0587817318870 Author: Steven Rostedt Date: Thu Dec 4 23:30:56 2008 -0500 ftrace: use init_struct_pid as swapper pid Impact: clean up Using (struct pid *)-1 as the pointer for ftrace_swapper_pid is a little confusing for others. This patch uses the address of the actual init pid structure instead. This change is only for clarity. It does not affect the code itself. Hopefully soon the swapper tasks will all have their own pid structure and then we can clean up the code a bit more. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 21a8c466f99063eeb8567318b4e305eda9015408 Author: Frederic Weisbecker Date: Thu Dec 4 23:51:23 2008 +0100 tracing/ftrace: provide the macro task_curr_ret_stack() Impact: cleanup As suggested by Steven Rostedt, this patch provide a new macro task_curr_ret_stack() to move the cpp conditionnal CONFIG into the linux/ftrace.h headers. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 77d683f3e0258d522c5506e7b5fd05c9411184d9 Author: Frederic Weisbecker Date: Thu Dec 4 23:49:47 2008 +0100 tracing/ftrace: fix the check of ftrace_trace_task Impact: fix default empty traces on function-graph-tracer The actual ftrace_trace_task() checks if ftrace_pid_trace is allocated and return 1 if it is true. If it is NULL, it will check the bit of pid tracing flag for the current task (which are not set by default). So by default, a task is not traced. Actually all tasks should be traced by default and filter_by_pid when ftrace_pid_trace is allocated. The appropriate condition should be to return 1 if filter_by_pid is set. Signed-off-by: Frederic Weisbecker Acke-dby: Steven Rostedt Signed-off-by: Ingo Molnar commit ff32504fdc56407654584ef187b20022c94a3486 Author: Frederic Weisbecker Date: Thu Dec 4 23:47:35 2008 +0100 tracing/ftrace: don't insert TRACE_PRINT during selftests Impact: fix tracer selfstests false results After setting a ftrace_printk somewhere in th kernel, I saw the Function tracer selftest failing. When a selftest occurs, the ring buffer is lurked to see if some entries were inserted. But concurrent insertion such as ftrace_printk could occured at the same time and could give false positive or negative results. This patch prevent prevent from TRACE_PRINT entries insertion during selftests. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 970987beb9c99ca806edc464518d411cc399fb4d Merge: faec2ec... 1fd8f2a... feaf384... Author: Ingo Molnar Date: Fri Dec 5 14:45:22 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/function-graph-tracer' and 'tracing/urgent' into tracing/core commit a0286c94f07636380082608196d41dd725a83229 Author: Michael Tokarev Date: Fri Dec 5 15:47:29 2008 +0300 x86: fix missing space in printk, #2 Impact: clean up printk Signed-off-by: Michael Tokarev Signed-off-by: Ingo Molnar commit 12dde4c6d6e9092cf63094e84dc1fe4e505dd6d0 Author: Takashi Iwai Date: Fri Dec 5 13:09:27 2008 +0100 ALSA: hda - Proper power-map toggling for input pins The current code overrides the event type on input pins always to PWR_EVENT. Although this still works (PWR_EVENT and INSERT_EVENT are handled samely), it'd be better to avoid such overrides. Also, currently the unsol events are registered even for fixed pins which will never raise the pin-detection event. This patch fixes both issues. Signed-off-by: Takashi Iwai commit 55c395b47042e12d5c25aa07f271f56ffe44f793 Author: Michael Tokarev Date: Fri Dec 5 14:42:20 2008 +0300 x86: fix missing space in printk Just come across this when booting on an old hw.. Looks somewhat ugly, that single missing space ;) Signed-off-by: Michael Tokarev Signed-off-by: Ingo Molnar commit e6e3ea25b1679b55728a8a470a50a8fff61e8a45 Author: Takashi Iwai Date: Fri Dec 5 12:54:56 2008 +0100 ALSA: hda - Fix pin-detection in patch_sigmatel.c The pin-detection function used in patch_sigmatel.c shouldn't be specific to HP pin because it's used for input pins in general, too. This patch fixes the detection function, removes the HP check from it and moves to stac92xx_hp_detect(). Signed-off-by: Takashi Iwai commit 6fa6f5bbc3a2ad833a3d4b798140602004f70f5a Author: Artem Bityutskiy Date: Fri Dec 5 13:37:02 2008 +0200 UBI: handle write errors in WL worker When a PEB is moved and a write error happens, UBI switches to R/O mode, which is wrong, because we just copy the data and may select a different PEB and re-try this. This patch fixes WL worker's behavior. Signed-off-by: Artem Bityutskiy commit 3c98b0a043f25fa44b289c2f35b9d6ad1d859ac9 Author: Artem Bityutskiy Date: Fri Dec 5 12:42:45 2008 +0200 UBI: fix error path Make sure the resources had not already been freed before freeing them in the error path of the WL worker function. Signed-off-by: Artem Bityutskiy commit 6a8f483f33a150a0269ad4612621eb6c245eb2cf Author: Artem Bityutskiy Date: Fri Dec 5 12:23:48 2008 +0200 UBI: some code re-structuring Minor code re-structuring and commentaries fixes to improve readability. Signed-off-by: Artem Bityutskiy commit 4df581f3dc6a91a63b9965ac8bdb47d8db294e37 Author: Artem Bityutskiy Date: Thu Dec 4 20:52:44 2008 +0200 UBI: fix deadlock We cannot call 'ubi_wl_get_peb()' with @ubi->buf_mutex locked, because 'ubi_wl_get_peb()' may force erasure, which, in turn, may call 'torture_peb()' which also locks the @ubi->buf_mutex and deadlocks. Signed-off-by: Artem Bityutskiy commit 14d676f56fad26fd3c31eeff5d4ef8ea4a163571 Merge: 797eaed... feaf384... Author: Lachlan McIlroy Date: Fri Dec 5 15:27:43 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 797eaed40e1df4a3b9ece6894a71ce2b568bca38 Author: Lachlan McIlroy Date: Fri Dec 5 14:15:49 2008 +1100 [XFS] Remove unnecessary assertion Hit this assert because an inode was tagged with XFS_ICI_RECLAIM_TAG but not XFS_IRECLAIMABLE|XFS_IRECLAIM. This is because xfs_iget_cache_hit() first clears XFS_IRECLAIMABLE and then calls __xfs_inode_clear_reclaim_tag() while only holding the pag_ici_lock in read mode so we can race with xfs_reclaim_inodes_ag(). Looks like xfs_reclaim_inodes_ag() will do the right thing anyway so just remove the assert. Thanks to Christoph for pointing out where the problem was. Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig commit a5b429d41fede3a90deb532f5c2318393ed3a17b Author: Lachlan McIlroy Date: Fri Dec 5 13:31:51 2008 +1100 [XFS] Remove unused variable in ktrace_free() entries_size is probably left over from when we used to pass the size to kmem_free(). Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit c6422617a1c0d7787e515748b01f594fe43aea98 Author: Lachlan McIlroy Date: Fri Dec 5 13:16:15 2008 +1100 [XFS] Check return value of xfs_buf_get_noaddr() We check the return value of all other calls to xfs_buf_get_noaddr(). Make sense to do it here too. Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 6a0775a991d5597ce98f1e15373288ea133cc793 Author: Dave Chinner Date: Thu Dec 4 09:09:34 2008 +1100 [XFS] Fix hang after disallowed rename across directory quota domains When project quota is active and is being used for directory tree quota control, we disallow rename outside the current directory tree. This requires a check to be made after all the inodes involved in the rename are locked. We fail to unlock the inodes correctly if we disallow the rename when the target is outside the current directory tree. This results in a hang on the next access to the inodes involved in failed rename. Reported-by: Arkadiusz Miskiewicz Signed-off-by: Dave Chinner Tested-by: Arkadiusz Miskiewicz Signed-off-by: Lachlan McIlroy commit 8bb57320f3f5dd8c2373c0b66e4950391e037109 Author: Christoph Hellwig Date: Thu Dec 4 14:23:27 2008 +0100 [XFS] Fix compile with CONFIG_COMPAT enabled Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e061b165c7f4ec5e2e160d990b49011b5b6e5c6a Author: Martin Willi Date: Thu Dec 4 15:40:17 2008 -0800 xfrm: Accept ESP packets regardless of UDP encapsulation mode From: Martin Willi An IPsec node speaking IKEv2 MUST accept incoming UDP encapsulated ESP packets, even if no NAT situation is detected. This is important if MOBIKE is in use. Some implementation keep the encapsulation mode if they move out of a NAT situation. Signed-off-by: David S. Miller commit 3f9b766ca7c4654d41f4f21357031c1c1e7de29e Author: Wang Chen Date: Thu Dec 4 15:12:20 2008 -0800 sgi-xp: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). [ Kill unnecessary casts, noticed by Ilpo -DaveM ] Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 17c324fa80914e5b39d423dfd1a3cd61a3ec9866 Author: Wang Chen Date: Thu Dec 4 15:07:33 2008 -0800 um: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 6cbeba55c5cbd042040d6114471637e8b10d4a6b Author: Wang Chen Date: Thu Dec 4 15:06:56 2008 -0800 xtensa: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 28945dd4fba8dcbc1c74ea702b731caaedae6ccb Author: Wang Chen Date: Thu Dec 4 15:06:27 2008 -0800 simeth: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit b28017f57f1ec16ab515e99d863bf9f33ea0d737 Author: Sam Ravnborg Date: Thu Dec 4 13:28:09 2008 -0800 sparc: unify kernel/init_task A closer inspection revealed that these two files had identical functionality - but the implementation of it differed slightly. Base it on the sparc version as it was the best. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 757498c63ed70ec8961aa432173247f4373ef0c3 Author: Sam Ravnborg Date: Thu Dec 4 13:26:31 2008 -0800 sparc: drop CONFIG_SUN_AUXIO It is always equals y so no need to test for it Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c2e27c359ab76fecbbd292dbfc0bcfa8399afdd9 Author: Nicolas Palix Date: Wed Dec 3 21:10:57 2008 -0800 sparc: Add missing of_node_put of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; struct device_node *n1; statement S; identifier f; expression E; expression *ptr != NULL; @@ n@p1 = of_find_node_by_name(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f(n,...) when != E = n when any when strict ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | of_node_put(n); | n1 = f(n,...) | E = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a8c601ca21e790f6a9d996bb0bf31f7496eb9509 Author: Sam Ravnborg Date: Wed Dec 3 03:14:26 2008 -0800 sparc,sparc64: unify boot/ Simple unification: o renamed piggyback to *_32.c/*_64.c o copied content of Makefile from sparc64 to sparc and guard it o updated sparc/boot/.gitignore o deleted remaining files in sparc64/boot Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a88b5ba8bd8ac18aad65ee6c6a254e2e74876db3 Author: Sam Ravnborg Date: Wed Dec 3 03:11:52 2008 -0800 sparc,sparc64: unify kernel/ o Move all files from sparc64/kernel/ to sparc/kernel - rename as appropriate o Update sparc/Makefile to the changes o Update sparc/kernel/Makefile to include the sparc64 files NOTE: This commit changes link order on sparc64! Link order had to change for either of sparc32 and sparc64. And assuming sparc64 see more testing than sparc32 change link order on sparc64 where issues will be caught faster. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit d670bd4f803c8b646acd20f3ba21e65458293faf Author: Sam Ravnborg Date: Wed Dec 3 03:08:37 2008 -0800 sparc: prepare kernel/ for unification o sparc32 files with identical names to sparc64 renamed to _32.S o introduced a few Kconfig helpers to simplify Makefile logic o refactored Makefile to prepare for unification - use obj-$(CONFIG_SPARC32) for sparc32 specific files - use _$(BITS) for files where sparc64 has a _64 variant - sparc64 directly include a few files where sparc32 builds them, refer to these files directly (no BITS) - sneaked in -Werror as used by sparc64 o modified sparc/Makefile to use the new names for head/init_task Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 478b8fecda511942404ac232897a718cecd13e48 Author: Sam Ravnborg Date: Wed Dec 3 03:10:25 2008 -0800 sparc,sparc64: unify lib/ o Renamed files in sparc64 to _64.S when identical to sparc32 files. o iomap.c were equal for sparc32 and sparc64 o adjusted sparc/Makefile now we have only one lib/ Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 18269c0fd4db9bec2668f895f21d742486ccb90f Author: Sam Ravnborg Date: Wed Dec 3 03:07:00 2008 -0800 sparc: prepare lib/ for unification Identical named files renamed to _32.S Refactored Makefile to prepare for unification. Linking order was altered slightly - but this is a lib.a file so it should not matter. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5de18cde3b748aafc6d187d7655ba42f2260501d Author: Sam Ravnborg Date: Sat Nov 29 22:16:52 2008 -0800 sparc,sparc64: unify prom/ - all files with identical names copied and renamed to *_64.c - the remaning files copied as is - added sparc64 specific files to sparc/prom/Makefile - teach sparc64 Makefile to look into sparc/prom/ - delete unused Makefile from sparc64/prom/ linking order was not kept for sparc64 with this change. It was not possible to keep linking order for both sparc and sparc64 and as sparc64 see more testing than sparc it was natural to break linking order on sparc64. Should it have any effect it would be detected sooner this way. printf_32.c and printf_64.c are obvious candidates to be merged but they are not 100% equal so that was left for later Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 708d4f09647106d549c646dc459c7ccf2c237cc8 Author: Sam Ravnborg Date: Sat Nov 29 22:15:38 2008 -0800 sparc: prepare prom/ for unification - rename files where sparc64 uses identical names to *_32.c - refactor Makefile (but keep linking order) Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5e53879008b9acefe9f43498fd36db7376e08739 Author: Sam Ravnborg Date: Tue Dec 2 23:17:12 2008 -0800 sparc,sparc64: unify Makefile To unify Makefile for sparc and sparc64 a few other steps was needed: 1) separate defconfig files for sparc and sparc64 is required, so locate these in arch/sparc/configs 2) removoval of hack in toplevel Makefile to deal with that headers was in a separate directory compared to the rest The unification of the Makefile required usage of several foo-$(CONFIG_SPARCnn) += due to a few directories pending unification. This will be cleaned up when we unify the remaining directories. Included in this patch are the deletion of a few files in sparc64 as they are no longer needed: Makefile + Kconfig. arch/sparc64/ will after this patch is applied only have four directories (prom, lib, kernel, boot) Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 14ae84c9933f22ccad34fa6375b8908389b304f0 Author: Sam Ravnborg Date: Sat Nov 29 21:54:03 2008 -0800 sparc: gitignore a few files With this 'git status' no longer reports any new files At least not for a sparc allnoconfig build Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c489326939b28ca93a8cfcbda8adbeb328101682 Author: Sam Ravnborg Date: Sat Nov 29 21:53:26 2008 -0800 sparc: clean boot/ Leave all cleaning to boot/Makefile and delete zImage too when we do a 'make clean' Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit db5ea21a14b7c69bf495a741ae37ba15fb9eabd1 Author: Sam Ravnborg Date: Tue Dec 2 23:15:42 2008 -0800 sparc: refactor Makefile The btfixup step needs knowledge of all the .o files, but there is no need to pass them in independent variables. Simplify it to use only two variables. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b5db854a91d93c46c6904506ef73ce0d0b074b44 Author: Sam Ravnborg Date: Sat Nov 29 21:51:05 2008 -0800 sparc,sparc64: unify asm-offsets.c sparc64 does not use constants generated from asm-offsets but to prepare it to do so the parts that could be shared do now generate constants for sparc64 too. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 104495a1ceea7cacff50fa33b48f3c0b6f8d307a Author: Sam Ravnborg Date: Sat Nov 29 21:45:49 2008 -0800 sparc64: use vmlinux.lds.S from sparc Previous commit made them identical so use the sparc version Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 1b1fbbcaad56ede1442e7074bd935a2c98b99596 Author: Sam Ravnborg Date: Sat Nov 29 21:44:32 2008 -0800 sparc,sparc64: prepare vmlinux.lds.S for unification This patch makes the two vmlinux.lds.S files identical and serve as documentation for the changes in each file. This mainly add stuffs to sparc32 that is otherwise only used by sparc64 and thus it should have no effect. Build tested only. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 63ef34827c1f5ac838e869cc3ecc2d9cfebae152 Author: David S. Miller Date: Fri Nov 28 02:27:42 2008 -0800 sparc64: Provide oprofile pseudo-NMI on Niagara. Signed-off-by: David S. Miller commit 3178a07c33747305b7f7140bd55b0f77e7f239eb Author: David S. Miller Date: Fri Nov 28 02:26:55 2008 -0800 sparc64: Add performance counter hypervisor calls for sun4v. Signed-off-by: David S. Miller commit 6a5726dd6fcc330ef386016e160389e05fd0015d Author: David S. Miller Date: Fri Nov 28 01:19:41 2008 -0800 sparc64: Add save_stack_trace_tsk(). And this allows us to indicate HAVE_LATENCYTOP_SUPPORT. Signed-off-by: David S. Miller commit 3a29db32220387cd66e4d02c907c8949c28c5ecb Author: Al Viro Date: Wed Nov 26 01:07:13 2008 -0800 sparc32: pdev_to_pnode() is used from __devinit Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 64273d08dfb41549df3cd815baaaff781cd99992 Author: David S. Miller Date: Wed Nov 26 01:00:58 2008 -0800 sparc32: Don't btfixup cache flush ops for viking multiple times. Just do it once. Pointed out by Al Viro. Signed-off-by: David S. Miller commit 9acee190c8c055f634475ad3f742ff07049dd51e Author: Stephen Rothwell Date: Wed Nov 26 00:51:32 2008 -0800 sparc: combine unistd_{32,64}.h This is complicated a little because compat_audit.c wants to see only the 32bit syscall numbers, but is being built in a 64bit compile. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 422e23ea0865177b61527874b1b80023e4215d67 Author: David S. Miller Date: Tue Nov 25 22:29:24 2008 -0800 sparc64: Use NMI oprofile profiling on cheetah and derivative cpus. We use clock cycle counter, adjusted to HZ. This can be extended to sun4v based processors as well, as they also have a proper overflow interrupt facility for the performance counters. Signed-off-by: David S. Miller commit 456cad8e4e1754672e6df1e716cff1482ea124ce Author: David S. Miller Date: Tue Nov 25 22:27:50 2008 -0800 sparc64: Add write_pic() helper. It writes the %pic register, keeping mind of processor bugs. Implement reset_pic() in terms of it. Signed-off-by: David S. Miller commit f9aad60010efa896319ed6e908a5cb5e3a852907 Author: David S. Miller Date: Tue Nov 25 22:26:59 2008 -0800 sparc64: Block NMIs in critical section of context switch. In these instructions we load the new thread register, switch the register window, and setup the new frame pointer. All of these must appear atomic, and things will explode if we take a PIL=15 NMI interrupt in the middle of this sequence. Signed-off-by: David S. Miller commit 5565736e44fff06dc5f5c6559e04ac58d2d560ab Author: David S. Miller Date: Tue Nov 25 22:24:59 2008 -0800 sparc64: Make special trap return path for TRAP_NMI(). We don't want the rtrap path to try and run softirqs or anything like that when returning from a PIL==15 NMI. Signed-off-by: David S. Miller commit b4f4372f96e0573d752d9e45beda02fabf716cc8 Author: David S. Miller Date: Sun Nov 23 21:55:29 2008 -0800 sparc64: Make %pil level 15 a pseudo-NMI. So that we can profile code even in a local_irq_disable() section, only write 14 (instead of 15) into the %pil register to disable IRQs. This allows PIL level 15 to serve as a pseudo NMI. Signed-off-by: David S. Miller commit c6afec5e4d323e7b88a7d6e291a5aa021a8fcb7d Author: David S. Miller Date: Sun Nov 23 21:50:16 2008 -0800 sparc: Include drivers/pcmcia/Kconfig Stephen Rothwell pointed out that pcmcia can't be enabled on sparc64. There is an empty non-prompt PCMCIA explicit entry in arch/sparc/Kconfig but that doesn't do anything. 32-bit sparc needs a small hack to make this work, since it doesn't use the generic IRQ layer yes. We have to provide a dummy definition of probe_irq_mask(), since this is used by the yenta socket driver. Signed-off-by: David S. Miller commit 2c2551ab99f9ba3c726e6a41c84ef0c7390fc546 Author: David S. Miller Date: Fri Nov 21 02:06:07 2008 -0800 sparc64: Add interface for registering a performance counter IRQ handler. Signed-off-by: David S. Miller commit 0871420fad5844cb63cfcf85508c17bd9b15c08f Author: David S. Miller Date: Sun Nov 16 23:49:24 2008 -0800 sparc64: Add tsb-ratio sysctl. Add a sysctl to tweak the RSS limit used to decide when to grow the TSB for an address space. In order to avoid expensive divides and multiplies only simply positive and negative powers of two are supported. The function computed takes the number of TSB translations that will fit at one time in the TSB of a given size, and either adds or subtracts a percentage of entries. This final value is the RSS limit. See tsb_size_to_rss_limit(). Signed-off-by: David S. Miller commit 27137e5285a3388e8f86d7bc5fe0ed8b92bd4624 Author: Sam Ravnborg Date: Sun Nov 16 20:08:45 2008 -0800 sparc,sparc64: unify mm/ - move all sparc64/mm/ files to arch/sparc/mm/ - commonly named files are named _64.c - add files to sparc/mm/Makefile preserving link order - delete now unused sparc64/mm/Makefile - sparc64 now finds mm/ in sparc Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c37ddd936d96b46cf2bb17e7b1a18b2bd24ec1fb Author: Sam Ravnborg Date: Sun Nov 16 20:08:19 2008 -0800 sparc: prepare mm/ for unification - rename files where sparc64 has similar files to _32.c - Restructure Makefile - Sneak in -Werror as we have for sparc64 Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7c979c49c9882badee45c0a7a3dbca1040b7ba73 Author: Sam Ravnborg Date: Sun Nov 16 20:07:42 2008 -0800 sparc64: unify arch/sparc64/oprofile/ A simple: diff arch/sparc64/oprofile/init.c arch/sparc/oprofile/init.c diff arch/sparc64/oprofile/Makefile arch/sparc/oprofile/Makefile revealed that the directories were equal. So let sparc64 point to the sparc version and drop the sparc64 oprofile dir Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5115f39c2034cb80a050d996a2a6343bce189628 Author: Sam Ravnborg Date: Sun Nov 16 20:07:11 2008 -0800 sparc64: unify math-emu Move relavent files to sparc/math-emu and adjust path/include accordingly. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 774434bf33bdc876c2818eba34e416fe1fc7a746 Author: Sam Ravnborg Date: Sun Nov 16 20:06:33 2008 -0800 sparc: prepare math-emu for unification Add _32 to filenames to make them 32 bit unique Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit d59b3706a9d71a5ffe6135b537117662a6d3d920 Author: Sam Ravnborg Date: Sun Nov 16 20:05:44 2008 -0800 sparc: cleanup math-emu - Drop unused assignment from Makefile - Replace EXTRA_CFLAGS with ccflags-y - Delete unused file Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b0cdd599dbbea51bfb36801f5cc5634916bc2a36 Author: Sam Ravnborg Date: Sun Nov 16 20:04:20 2008 -0800 sparc,sparc64: add BITS to arch Makefile BITS will be used to simplify unified Makefiles Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 26b4c912185a8902b0990166892d53be78ef8cfc Author: Sam Ravnborg Date: Sun Nov 16 20:01:17 2008 -0800 sparc,sparc64: unify Kconfig files Merge all of sparc64 Kconfig to sparc Kconfig. The merge was checked by: - visual inspection in menuconfig - result of allnoconfig, allmodconfig, allyesconfig was checked before and after - result of a number of randconfig was checked before and after scripts/diffconfig was used to check if the config differed before and after The validity of the test was checked by on purpose introducing a few bugs - and they were all caught by first run. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4b27e0e1189c605a89418754fac93a74a3434c31 Author: Sam Ravnborg Date: Sat Nov 15 13:44:31 2008 -0800 sparc: add "Bus options" to Kconfig To align with sparc64 add a "Bus options" menu This has the additiona advantage that all bus options are kept together Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 12e271a84ece4fcdeb2554ad4dae0ab500939332 Author: Sam Ravnborg Date: Sat Nov 15 13:43:49 2008 -0800 sparc: add menu "Executable file formats" This is what we use in sparc64 - make sparc equal Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 71899704d66b7ce43e31e0f19e792292ff0684aa Author: Sam Ravnborg Date: Sat Nov 15 13:43:13 2008 -0800 sparc: use Kconfig.hz We already has the proper definition in place in param.h. So use the common Kconfig.hz file Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 655ab9940e6a6c50ef21d466b0f8af506026c22a Author: Sam Ravnborg Date: Sat Nov 15 13:42:31 2008 -0800 sparc: drop UNIX98_PTYS from arch Kconfig We have it in drivers/char/Kconfig There is no need to ask twice Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b498e42498ba707bf18fd91ab0485f22b5c22a26 Author: Sam Ravnborg Date: Sat Nov 15 13:41:31 2008 -0800 sparc64: added more config options to the menus moved a few config entries inside a menu so we do not clutter the first screen up with a lot of detailed config options. The structure now remotely resemble the structure for i386 Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 35da3e39149ef58cedd04eb00b11ce2d3460cc02 Author: Sam Ravnborg Date: Sat Nov 15 13:40:12 2008 -0800 sparc: refactor Kconfig a little Mode declaration of SPARC up in the top to match the structure of sparc64 Kconfig Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5bb28a57a248c0bd4316f54c3e7129933cf146d0 Author: Sam Ravnborg Date: Sat Nov 15 13:39:18 2008 -0800 sparc: unify Kconfig.debug Let sparc and sparc64 use the same Kconfig.debug Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 293666b7a17cb7a389fc274980439212386a19c4 Author: David S. Miller Date: Sat Nov 15 13:33:25 2008 -0800 sparc64: Stop using memory barriers for atomics and locks. The kernel always executes in the TSO memory model now, so none of this stuff is necessary any more. With helpful feedback from Nick Piggin. Signed-off-by: David S. Miller commit 64f2dde3f743c8a1ad8c0a1aa74166c1034afd92 Author: David S. Miller Date: Wed Oct 29 21:25:00 2008 -0700 sparc64: Run the kernel always in the TSO memory model. The fact of the matter is, all UltraSPARC-III and later chips only implement TSO. They don't implement PSO and RMO memory models at all. Only the Ultra-I and Ultra-II family chips implement RMO and they are only helped marginally by using this setting when executing kernel code. The big plus to doing this is that we can eliminate all of the non-Sync memory barriers in the kernel except for the ones used in the optimized memcpy/memset code (these use block load and store operations which have their own memory ordering rules). Signed-off-by: David S. Miller commit c9bb6003dd096ad190e1594a7d835ae1c39fae8f Author: David S. Miller Date: Wed Oct 29 23:46:09 2008 -0700 of: Fix comment, sparc no longer uses of_device objects on special busses. It only uses of_platform_bus_type. Signed-off-by: David S. Miller commit 86821d18f9d8fd42fa3180ad3703d491aecc52d9 Author: David S. Miller Date: Wed Oct 29 23:18:41 2008 -0700 sparc64: Rework auxio driver to save some text space. Use common functions instead of inlining and duplicating logic over and over to handle the SBUS vs. EBUS cases. Before: text data bss dec hex filename 715 568 16 1299 513 arch/sparc64/kernel/auxio.o After: text data bss dec hex filename 631 568 16 1215 4bf arch/sparc64/kernel/auxio.o Signed-off-by: David S. Miller commit 6d1e428a4e02761250c6498fe63657444fdfc3d5 Merge: feaf384... 410d2c8... Author: David S. Miller Date: Thu Dec 4 09:16:14 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 commit 995be04548f62c8e6b447410cd28b0666614b461 Author: Alexey Dobriyan Date: Thu Dec 4 17:04:18 2008 +0300 UBIFS: fix section mismatch This patch fixes the following section mismatch: WARNING: fs/ubifs/ubifs.o(.init.text+0xec): Section mismatch in reference from the function init_module() to the function .exit.text:ubifs_compressors_exit() Signed-off-by: Artem Bityutskiy commit 5da95273c2e63c9607652b5e8dd39808b6992d7c Author: Takashi Iwai Date: Mon Nov 24 14:06:08 2008 +0100 ALSA: ca0106 - Add power-management support Added the missing PM support for snd-ca0106 driver. Signed-off-by: Takashi Iwai commit 84d727a109081684c2e01b811cb0d6dc3b9380ca Author: Benjamin Herrenschmidt Date: Thu Oct 9 16:58:19 2008 +0000 powerpc/4xx: Add support for ISA holes on 4xx PCI/X/E This adds support for ISA memory holes on the PCI, PCI-X and PCI-E busses of the 4xx platforms. The patch includes changes to the Bamboo and Canyonlands device-trees to add such a hole, others can be updated separately. The ISA memory hole is an additional outbound window configured in the bridge to generate PCI cycles in the low memory addresses, thus allowing to access things such as the hard-decoded VGA aperture at 0xa0000..0xbffff or other similar things. It's made accessible to userspace via the new legacy_mem file in sysfs for which support was added by a previous patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 9d2421e8345602675132421fdaf4179af4705f5c Author: Stephen Rothwell Date: Sun Nov 23 18:33:05 2008 +0000 powerpc/44x: update ppc44x_defconfig This removes CONFIG_PCI_LEGACY (which is not needed) and consequently several compiler warnings. Signed-off-by: Stephen Rothwell Signed-off-by: Josh Boyer commit 23f402c011b30f981a64c3752fca96cbac2cfd3d Author: Hollis Blanchard Date: Mon Nov 10 14:58:28 2008 -0600 powerpc/kvm: update KVM config options in ppc44x_defconfig KVM host support was recently enabled in ppc44x_defconfig, but since then the config option was renamed. Update ppc44x_defconfig to match. Also, KVM guests aren't very interesting without networking, so enable CONFIG_TUN and CONFIG_BRIDGE. Signed-off-by: Hollis Blanchard Signed-off-by: Josh Boyer commit 32c8dabc97d436582298ebd0e33af041c69f5a4b Author: Mark Brown Date: Wed Dec 3 19:41:13 2008 +0000 ASoC: Remove obsolete declaration of struct snd_soc_clock_info The struct is never defined. Signed-off-by: Mark Brown commit 37810659ea7d9572c5ac284ade272f806ef8f788 Author: Peter Zijlstra Date: Thu Dec 4 11:17:10 2008 +0100 hrtimer: removing all ur callback modes, fix hotplug Impact: fix hrtimer locking (reported by lockdep) in the CPU hotplug case This addition fixes the hotplug locking issue on my machine Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit affa219b60a11b3295637a97f5b1b8ef231490fc Author: Joe Korty Date: Wed Dec 3 18:58:19 2008 -0500 x86: change thread_info's flag field back to 32 bits Impact: pack struct thread_info more tightly Change x86_64's thread_info 'flags' field back to __u32. This was changed to 'unsigned long' when the thread_info*.h for i386 and x86_64 were merged. Change it back. We can do this as only 27 bits of 'flags' are actually used. This change actually packs down thread_info by 64 bits: 32 bits are saved by the smaller flags, and 32 bits are saved by the following 'mm_segment_t field' becoming naturally 64-bit aligned. Signed-off-by: Joe Korty Signed-off-by: Ingo Molnar commit c0515566f3117c44b0572559bcc3cb00899b0910 Merge: 4385cec... 061e41f... Author: Ingo Molnar Date: Thu Dec 4 11:05:26 2008 +0100 Merge commit 'v2.6.28-rc7' into x86/cleanups commit 4e7c4d7b6d980264194c2aecbbb1e1e4c7302b63 Author: Takashi Iwai Date: Thu Dec 4 10:25:37 2008 +0100 ALSA: hda - Add reference to HD-Audio.txt in ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit 1fd8f2a3f9a91b287a876cef830b21baafc8a799 Author: Frederic Weisbecker Date: Wed Dec 3 23:45:11 2008 +0100 tracing/function-graph-tracer: handle ftrace_printk entries Handle the TRACE_PRINT entries from the function grapg tracer and output them as a C comment just below the function that called it, as if it was a comment inside this function. Example with an ftrace_printk inside might_sleep() function: void __might_sleep(char *file, int line) { static unsigned long prev_jiffy; /* ratelimiting */ ftrace_printk("Hi I'm a comment in might_sleep() :-)"); A chunk of a resulting trace: 0) | _reiserfs_free_block() { 0) | reiserfs_read_bitmap_block() { 0) | __bread() { 0) | __getblk() { 0) | __find_get_block() { 0) 0.698 us | mark_page_accessed(); 0) 2.267 us | } 0) | __might_sleep() { 0) | /* Hi I'm a comment in might_sleep() :-) */ 0) 1.321 us | } 0) 5.872 us | } 0) 7.313 us | } 0) 8.718 us | } And this patch brings two minor fixes: - The newline after a switch-out task has disappeared - The "|" sign just before the cpu number on task-switch has been deleted. 0) 0.616 us | pick_next_task_rt(); 0) 1.457 us | _spin_trylock(); 0) 0.653 us | _spin_unlock(); 0) 0.728 us | _spin_trylock(); 0) 0.631 us | _spin_unlock(); 0) 0.729 us | native_load_sp0(); 0) 0.593 us | native_load_tls(); ------------------------------------------ 0) cat-2834 => migrati-3 ------------------------------------------ 0) | finish_task_switch() { 0) 0.841 us | _spin_unlock_irq(); 0) 0.616 us | post_schedule_rt(); 0) 3.882 us | } Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 00ef9f7348dfd2fc223ec42aceb30836e86b367f Author: Peter Zijlstra Date: Thu Dec 4 09:00:17 2008 +0100 lockdep: change a held lock's class Impact: introduce new lockdep API Allow to change a held lock's class. Basically the same as the existing code to change a subclass therefore reuse all that. The XFS code will be able to use this to annotate their inode locking. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit faec2ec505d397e9426754722b6e80d519c4938f Author: Liming Wang Date: Thu Dec 4 14:24:49 2008 +0800 ftrace: avoid duplicated function when writing set_graph_function Impact: fix a bug in function filter setting when writing function to set_graph_function, we should check whether it has existed in set_graph_function to avoid duplicating. Signed-off-by: Liming Wang Signed-off-by: Ingo Molnar commit 6b2539302bee8e88c99e3c7d80c16a04dbe5e2ad Author: Ingo Molnar Date: Thu Dec 4 09:18:28 2008 +0100 tracing: fix typo and missing inline function Impact: fix build bugs Signed-off-by: Ingo Molnar commit e32d89569128e76bdf84867be0928902ca9f7555 Author: Steven Rostedt Date: Thu Dec 4 00:26:41 2008 -0500 ftrace: add ability to only trace swapper tasks Impact: new feature This patch lets the swapper tasks of all CPUS be filtered by the set_ftrace_pid file. If '0' is echoed into this file, then all the idle tasks (aka swapper) is flagged to be traced. This affects all CPU idle tasks. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 978f3a45d9499c7a447ca7615455cefb63d44165 Author: Steven Rostedt Date: Thu Dec 4 00:26:40 2008 -0500 ftrace: use struct pid Impact: clean up, extend PID filtering to PID namespaces Eric Biederman suggested using the struct pid for filtering on pids in the kernel. This patch is based off of a demonstration of an implementation that Eric sent me in an email. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5ef6476190d24419a9a537baa0b5641845136989 Author: Steven Rostedt Date: Thu Dec 4 00:26:39 2008 -0500 pid: fix the do_each_pid_task() macro Impact: macro side-effects fix This patch adds parenthesis around 'pid' in the do_each_pid_task macro to allow callers to pass in more complex parameters. e.g. do_each_pid_task(*pid, type, task) Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 804a685162a7080386714166776f57255a75238e Author: Steven Rostedt Date: Wed Dec 3 15:36:59 2008 -0500 ftrace: trace single pid for function graph tracer Impact: New feature This patch makes the changes to set_ftrace_pid apply to the function graph tracer. # echo $$ > /debugfs/tracing/set_ftrace_pid # echo function_graph > /debugfs/tracing/current_tracer Will cause only the current task to be traced. Note, the trace flags are also inherited by child processes, so the children of the shell will also be traced. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0ef8cde56ab92ab3f65221246dc1622c6b5068b3 Author: Steven Rostedt Date: Wed Dec 3 15:36:58 2008 -0500 ftrace: use task struct trace flag to filter on pid Impact: clean up Use the new task struct trace flags to determine if a process should be traced or not. Note: this moves the searching of the pid to the slow path of setting the pid field. This needs to be converted to the pid name space. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ea4e2bc4d9f7370e57a343ccb5e7c0ad3222ec3c Author: Steven Rostedt Date: Wed Dec 3 15:36:57 2008 -0500 ftrace: graph of a single function This patch adds the file: /debugfs/tracing/set_graph_function which can be used along with the function graph tracer. When this file is empty, the function graph tracer will act as usual. When the file has a function in it, the function graph tracer will only trace that function. For example: # echo blk_unplug > /debugfs/tracing/set_graph_function # cat /debugfs/tracing/trace [...] ------------------------------------------ | 2) make-19003 => kjournald-2219 ------------------------------------------ 2) | blk_unplug() { 2) | dm_unplug_all() { 2) | dm_get_table() { 2) 1.381 us | _read_lock(); 2) 0.911 us | dm_table_get(); 2) 1. 76 us | _read_unlock(); 2) + 12.912 us | } 2) | dm_table_unplug_all() { 2) | blk_unplug() { 2) 0.778 us | generic_unplug_device(); 2) 2.409 us | } 2) 5.992 us | } 2) 0.813 us | dm_table_put(); 2) + 29. 90 us | } 2) + 34.532 us | } You can add up to 32 functions into this file. Currently we limit it to 32, but this may change with later improvements. To add another function, use the append '>>': # echo sys_read >> /debugfs/tracing/set_graph_function # cat /debugfs/tracing/set_graph_function blk_unplug sys_read Using the '>' will clear out the function and write anew: # echo sys_write > /debug/tracing/set_graph_function # cat /debug/tracing/set_graph_function sys_write Note, if you have function graph running while doing this, the small time between clearing it and updating it will cause the graph to record all functions. This should not be an issue because after it sets the filter, only those functions will be recorded from then on. If you need to only record a particular function then set this file first before starting the function graph tracer. In the future this side effect may be corrected. The set_graph_function file is similar to the set_ftrace_filter but it does not take wild cards nor does it allow for more than one function to be set with a single write. There is no technical reason why this is the case, I just do not have the time yet to implement that. Note, dynamic ftrace must be enabled for this to appear because it uses the dynamic ftrace records to match the name to the mcount call sites. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit b29144c317fb748dae6d72c0f88eda9d43165b8d Merge: b8307db... e8e1abe... 764f3b9... Author: Ingo Molnar Date: Thu Dec 4 09:07:44 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/function-graph-tracer' into tracing/core commit b8307db2477f9c551e54e0c7b643ea349a3349cd Merge: f0461d0... 061e41f... Author: Ingo Molnar Date: Thu Dec 4 09:07:19 2008 +0100 Merge commit 'v2.6.28-rc7' into tracing/core commit cb9c34e6d090d376b77becaa5d29a65dec7f4272 Merge: 470c662... 061e41f... Author: Ingo Molnar Date: Thu Dec 4 08:52:14 2008 +0100 Merge commit 'v2.6.28-rc7' into core/locking commit 4151d154efc2eb1e48b0950e93660691426dd23f Author: Takashi Iwai Date: Thu Dec 4 07:49:15 2008 +0100 ALSA: hda - Add forgotten module alias for Nvidia MCP67 HDMI Signed-off-by: Takashi Iwai commit e5f73435683122612742eb17252a6854b28f2511 Author: Scott Waye Date: Thu Dec 4 07:43:18 2008 +0100 ALSA: hda - Add MCP67 HDMI support Added id for MCP67 HDMI codec. Signed-off-by: Scott Waye Signed-off-by: Takashi Iwai commit fb6f552930e52699c8ac452c5a79ec3e97e6fc73 Author: Ronen Shitrit Date: Wed Sep 17 10:08:05 2008 +0300 [ARM] Orion: add the option to support different ehci phy initialization The Orion ehci driver serves the Orion, kirkwood and DD Soc families. Since each of those integrate a different USB phy we should have the ability to use few initialization sequences or to leave the boot loader phy settings as is. Signed-off-by: Ronen Shitrit commit 36cbac5909d227c4de31fb93e1dd99c839c9cb6f Author: Joe Perches Date: Wed Dec 3 22:27:25 2008 -0800 net/ipv6/ip6mr.c: Use kmem_cache_zalloc, remove memset Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit df66f858074370a7ac7b21af2940e7a3a6af17c2 Author: Wang Chen Date: Wed Dec 3 22:24:05 2008 -0800 if_usb: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 48502180e4b47fb2b1e7834fe0f16f4e553a053d Author: Luotao Fu Date: Wed Dec 3 22:23:18 2008 -0800 smc91x: remove isa stuff from smc91x driver ISA support in smc91x is incomplete. I doubt there're any smc91x isa card. This driver is greatly used on arm pxa platforms. Hence we remove the isa stuff from smc91x driver. Signed-off-by: Luotao Fu Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 999890b21a8eff7559a140fcbd2cd4b34e685c76 Author: Benjamin Thery Date: Wed Dec 3 22:22:16 2008 -0800 net: /proc/net/ip_mr_cache, display Iif as a signed short Today, iproute2 fails to show multicast forwarding unresolved cache entries while scanning /proc/net/ip_mr_cache. Indeed, it expects to see -1 in 'Iif' column to identify unresolved entries but the kernel outputs 65535. It's a signed/unsigned issue: 'Iif', the source interface, is retrieved from member mfc_parent in struct mfc_cache. mfc_parent is a vifi_t: unsigned short, but is displayed in ipmr_mfc_seq_show() as "%-3d", signed integer. In unresolevd entries, the 65535 value (0xFFFF) comes from this define: #define ALL_VIFS ((vifi_t)(-1)) That may explains why the guy who added support for this in iproute2 thought a -1 should be expected. I don't know if this must be fixed in kernel or in iproute2. Who is right? What is the correct API? How was it designed originally? I let you decide if it should goes in the kernel or be fixed in iproute2. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 1ea472e2dedcf23d5f31c63fc790cccfab93c0de Author: Benjamin Thery Date: Wed Dec 3 22:21:47 2008 -0800 net: fix /proc/net/ip_mr_cache display - V2 /proc/net/ip_mr_cache and /proc/net/ip6_mr_cache displays garbage when showing unresolved mfc_cache entries. [root@qemu tests]# cat /proc/net/ip_mr_cache Group Origin Iif Pkts Bytes Wrong Oifs 014C00EF 010014AC 1 10 10050 0 2:1 3:1 024C00EF 010014AC 65535 514 2 -559067475 The first line is correct. It is a resolved cache entry, 10 packets used it... The second line represents an unresolved entry, and the columns Pkts(4th), Bytes(5th) and Wrong(6th) just show garbage. In struct mfc_cache, there's an union to store data for resolved and unresolved cases. And what ipmr_mfc_seq_show() is printing in these columns for the unresolved entries is some bytes from mfc_cache.mfc_un.res. Bad. (eg. In our case -559067475 is in fact 0xdead4ead which is the spinlock magic from mfc_cache.mfc_un.unres.unresolved.lock.magic). This patch replaces the garbage data written in these columns for the unresolved entries by '0' (zeros) which is more correct. This change doesn't break the ABI. Also, mfc->mfc_un.res.pkt, mfc->mfc_un.res.bytes, mfc->mfc_un.res.wrong_if are unsigned long. It applies on top of net-next-2.6. The patch for net-2.6 is slightly different because of the NIP6_FMT to %pI6 conversion that was made in the seq_printf. Changelog: ========== V2: * Instead of breaking the ABI by suppressing the columns that have no meaning for unresolved entries, fill them with 0 values. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 9de6d99a7559d20f7ababd1cacdc61ee5315f3c1 Author: Alexey Dobriyan Date: Wed Dec 3 22:19:52 2008 -0800 netdev: remove pathetic compile-command lines -m486, -O6 are partircularly amusing. Remove some other useless lines near as well. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit ec98ce480ada787f2cfbd696980ff3564415505b Merge: 3496f92... feaf384... Author: James Morris Date: Thu Dec 4 17:16:36 2008 +1100 Merge branch 'master' into next Conflicts: fs/nfsd/nfs4recover.c Manually fixed above to use new creds API functions, e.g. nfs4_save_creds(). Signed-off-by: James Morris commit 8865c418caf4e9dd2c24bdfae3a5a4106e143e60 Author: David Woodhouse Date: Wed Dec 3 22:12:38 2008 -0800 atm: 32-bit ioctl compatibility We lack compat ioctl support through most of the ATM code. This patch deals with most of it, and I can now at least use BR2684 and PPPoATM with 32-bit userspace. I haven't added a .compat_ioctl method to struct atm_ioctl, because AFAICT none of the current users need any conversion -- so we can just call the ->ioctl() method in every case. I looked at br2684, clip, lec, mpc, pppoatm and atmtcp. In svc_compat_ioctl() the only mangling which is needed is to change COMPAT_ATM_ADDPARTY to ATM_ADDPARTY. Although it's defined as _IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf) it doesn't actually _take_ a struct atm_iobuf as an argument -- it takes a struct sockaddr_atmsvc, which _is_ the same between 32-bit and 64-bit code, so doesn't need conversion. Almost all of vcc_ioctl() would have been identical, so I converted that into a core do_vcc_ioctl() function with an 'int compat' argument. I've done the same with atm_dev_ioctl(), where there _are_ a few differences, but still it's relatively contained and there would otherwise have been a lot of duplication. I haven't done any of the actual device-specific ioctls, although I've added a compat_ioctl method to struct atmdev_ops. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit dcd39c90290297f6e6ed8a04bb20da7ac2b043c5 Author: Stephen Hemminger Date: Wed Dec 3 22:10:38 2008 -0800 ne-h8300: convert to net_device_ops Another device using 8390 library that needs converting. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5618f0d1193d6b051da9b59b0e32ad24397f06a4 Author: Stephen Hemminger Date: Wed Dec 3 22:10:10 2008 -0800 hydra: convert to net_device_ops Another device using 8390 library that needs converting. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b6114794a1c394534659f4a17420e48cf23aa922 Author: Stephen Hemminger Date: Wed Dec 3 22:09:30 2008 -0800 zorro8390: convert to net_device_ops Another device using 8390 library that needs converting. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3e1d7cd2dc708f2054b2180e05ae283b9f91d543 Author: Wang Chen Date: Wed Dec 3 22:07:10 2008 -0800 e1000: e1000_adapter->polling_netdev is useless Commit bea3348eef27e6044b6161fd04c3152215f96411 "[NET]: Make NAPI polling independent of struct net_device objects." made NAPI polling to be independent of net_device. So e1000_adapter->polling_netdev is no longer used. Kill it. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit a4d2f34b7c3ff8a53df755961faf8186c6e7b464 Author: Wang Chen Date: Wed Dec 3 22:05:58 2008 -0800 ixgbe: function comment typo Seems the ixgbe's code was copied from e1000. The comment talks about something not exist. Signed-off-by: Wang Chen Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit e4e6c38cab208b369bfc8e9a57186581bf0b9987 Author: Guo-Fu Tseng Date: Wed Dec 3 21:20:04 2008 -0800 jme: Remove 64 and 40 bit dma_mask Although the hardware supports the 64bit DMA address in design, but later found that it actually not working. This patch reduced the rang to 32bit. Found-by: "Ethan" Signed-off-by: "Guo-Fu Tseng" Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 4f40bf46897ddb57f149c0758f0cef0cc7782f7f Author: akeemting Date: Wed Dec 3 21:19:16 2008 -0800 jme: GHC register control fix for new hardware Due to the hardware design, except the first chip on the market, other chips needs to setup the clock source for MAC processor implicitly through Global Host Control Register(GHC). (Strange design huh?) 10/100M uses the PCI-E as clock source, and 1G uses GPHY. And I reordered the code a little, to make it easier to read. Found-by: "Ethan" Fixed-by: "akeemting" Signed-off-by: "Guo-Fu Tseng" Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 59e4220a1112bf65924bc2e47b5757911b6f349b Author: Jarek Poplawski Date: Wed Dec 3 21:17:27 2008 -0800 pkt_sched: sch_htb: Replace HTB_ACCNT() macro with inlines Replace HTB_ACCNT() macro with inlines to make it more readable. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 23cb913d25b20ed88b36a26f337cfdb4605e63f4 Author: Jarek Poplawski Date: Wed Dec 3 21:16:58 2008 -0800 pkt_sched: sch_htb: Remove L2T() L2T() is currently used only in one place (and has one spurious parameter, btw), so let's: 'get rid of L2T completely, and just use "qdisc_l2t(rate, size)" directly.' - quote & feedback from David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 244ef9b9176c7c7a095f4738d353a3a60b88097d Author: Wang Chen Date: Wed Dec 3 21:14:04 2008 -0800 bond: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 97341249c4c30cf0eea5439ce2f36ee887e640fe Author: Wang Chen Date: Wed Dec 3 21:13:37 2008 -0800 mptlan: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 0eade1f930fa3ba6461b34baf3ed8fa7c4abc40f Author: Wang Chen Date: Wed Dec 3 21:13:13 2008 -0800 dvb: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit c19f7a34f7cc7543c62ad065952e146dc77d1a38 Author: Jarek Poplawski Date: Wed Dec 3 21:09:45 2008 -0800 pkt_sched: sch_htb: Clean htb_class prio and quantum fields While implementing htb_parent_to_leaf() there where added backup prio and quantum struct htb_class fields to preserve these values for inner classes in case of their return to leaf. This patch cleans this a bit by removing union leaf duplicates. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 633fe66ed8385ccf8b4a74a00a4c6eb40850d65f Author: Jarek Poplawski Date: Wed Dec 3 21:09:10 2008 -0800 pkt_sched: sch_htb: Remove htb_sched nwc_hit field Remove practically unused struct htb_sched nwc_hit field. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 4164d661b8c9602fbbf651a33377d2c51f68c451 Author: Jarek Poplawski Date: Wed Dec 3 21:08:44 2008 -0800 pkt_sched: sch_htb: Remove htb_class aprio field Remove practically unused struct htb_class aprio field. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit cb52deba12f27af90a46d2f8667a64888118a888 Author: Ed Swierk Date: Mon Dec 1 12:24:43 2008 +0000 forcedeth: power down phy when interface is down Bring the physical link down when the interface is down by placing the PHY in power-down state, unless WOL is enabled. This mirrors the behavior of other drivers including e1000 and tg3. Without the patch, ifconfig down leaves the physical link up, which confuses datacenter users who expect the link lights both on the NIC and the switch to go out when they bring an interface down. Furthermore, even though the phy is powered on, autonegotiation stops working, so a normally gigabit link might suddenly become 100 Mbit half-duplex when the interface goes down, and become gigabit when it comes up again. Ayaz said: I would not include this patch until further testing is performed. NVIDIA MCP chips use 3rd party PHY vendors. By powering down the phy, it could have adverse affects on certain phys. Arthur Jones said: I just ran across this patch. Tested on a Marvell 88E1121R (GigE PHY) and works great. This is a very important feature for me. Signed-off-by: Ed Swierk Tested-by: Arthur Jones Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a316084c2f18fd5371f81cfcfc8348a71c4a6fe8 Author: Andrew Morton Date: Mon Dec 1 12:24:46 2008 +0000 drivers/net/smc911x.c: smc911x_drv_probe() cleanup Save an ugly ifdef. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fd568fc3fe46fd87087717811d2f9ed27bb71558 Author: Julia Lawall Date: Mon Dec 1 12:24:24 2008 +0000 drivers/isdn/mISDN: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5a8d0f3c7af801c7263fbba39952504d6fc7ff60 Author: Christoph Hellwig Date: Wed Dec 3 12:20:40 2008 +0100 move inode tracing out of xfs_vnode. Move the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c now that it's empty. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 25e41b3d521f52771354a718042a753a3e77df0a Author: Christoph Hellwig Date: Wed Dec 3 12:20:39 2008 +0100 move vn_iowait / vn_iowake into xfs_aops.c The whole machinery to wait on I/O completion is related to the I/O path and should be there instead of in xfs_vnode.c. Also give the functions more descriptive names. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 583fa586f0e4a8222dd091ce971b85c1364f3d92 Author: Christoph Hellwig Date: Wed Dec 3 12:20:38 2008 +0100 kill vn_ioerror There's just one caller of this helper, and it's much cleaner to just merge the xfs_do_force_shutdown call into it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit f95099ba5ae06b96a9c17ef93cc655f686d79077 Author: Christoph Hellwig Date: Wed Dec 3 12:20:37 2008 +0100 kill xfs_unmount_flush There's almost nothing left in this function, instead remove the IRELE on the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs. For the regular unmount case that means it now also happenes after dmapi notification, but otherwise there is no difference in behaviour. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit e57481dc269cd3773b22f53bfb869308780a7bf1 Author: Christoph Hellwig Date: Wed Dec 3 12:20:36 2008 +0100 no explicit xfs_iflush for special inodes during unmount Currently we explicitly call xfs_iflush on the quota, real-time and root inodes from xfs_unmount_flush. But we just called xfs_sync_inodes with SYNC_ATTR and do an XFS_bflush aka xfs_flush_buftarg to make sure all inodes are on disk already, so there is no need for these special cases. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 070c4616ec62fc207e2aeef9d0f28af294c651d0 Author: Christoph Hellwig Date: Wed Dec 3 12:20:35 2008 +0100 use xfs_trans_ijoin in xfs_trans_iget Use xfs_trans_ijoin in xfs_trans_iget in case we need to join an inode into a transaction instead of opencoding it. Based on a discussion with and an incomplete patch from Niv Sardi. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit b56757becf8bc62292263a24a23cf55edb4be55f Author: Christoph Hellwig Date: Wed Dec 3 12:20:34 2008 +0100 remove leftovers of shared read-only support We never supported shared read-only filesystems, so remove the dead code left over from IRIX for it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit e88f11abe09d14718b82a991db118c5e485aa897 Author: Christoph Hellwig Date: Wed Dec 3 12:20:33 2008 +0100 remove unused m_inode_quiesce member from struct xfs_mount Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 6bd16ff27060819d16b3e7abe59b6644b349aea3 Author: Christoph Hellwig Date: Wed Dec 3 12:20:32 2008 +0100 kill dead inode flags There are a few inode flags around that aren't used anywhere, so remove them. Also update xfsidbg to display all used inode flags correctly. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5efcbb853bc2f051d720a191268f8dd901fea9c2 Author: Christoph Hellwig Date: Wed Dec 3 12:20:31 2008 +0100 cleanup xfs_sb.h feature flag helpers The various inlines in xfs_sb.h that deal with the superblock version and fature flags were converted from macros a while ago, and this show by the odd coding style full of useless braces and backslashes and the avoidance of conditionals. Clean these up to look like normal C code. Signed-off-by: Christoph Hellwig Reviewed-by: Donald Douwsma Signed-off-by: Niv Sardi commit df6771bde14551eceeacf331666a92735e0773ac Author: Christoph Hellwig Date: Wed Dec 3 12:20:30 2008 +0100 kill dead quota flags Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 63ad2a5c4cf37e3242142eee8a8dcd4a8515302e Author: Christoph Hellwig Date: Wed Dec 3 12:20:29 2008 +0100 remove dead code from sv_t implementation Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 39e2defe73106ca2e1c85e5286038a0a13f49513 Author: Christoph Hellwig Date: Wed Dec 3 12:20:28 2008 +0100 reduce l_icloglock roundtrips All but one caller of xlog_state_want_sync drop and re-acquire l_icloglock around the call to it, just so that xlog_state_want_sync can acquire and drop it. Move all lock operation out of l_icloglock and assert that the lock is held when it is called. Note that it would make sense to extende this scheme to xlog_state_release_iclog, but the locking in there is more complicated and we'd like to keep the atomic_dec_and_lock optmization for those callers not having l_icloglock yet. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit d9424b3c4a1e96f87c6cfd4d8dd2f8d9bbb4dcc5 Author: Christoph Hellwig Date: Wed Dec 3 12:20:27 2008 +0100 stop using igrab in xfs_vn_link ->link is guranteed to get an already reference inode passed so we can do a simple increment of i_count instead of using igrab and thus avoid banging on the global inode_lock. This is what most filesystems already do. Also move the increment after the call to xfs_link to simplify error handling. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5d765b976c3a41faf9a73718fb8cc5833990a8ef Author: Christoph Hellwig Date: Wed Dec 3 12:20:26 2008 +0100 kill xfs_buf_iostart xfs_buf_iostart is a "shared" helper for xfs_buf_read_flags, xfs_bawrite, and xfs_bdwrite - except that there isn't much shared code but rather special cases for each caller. So remove this function and move the functionality to the caller. xfs_bawrite and xfs_bdwrite are now big enough to be moved out of line and the xfs_buf_read_flags is moved into a new helper called _xfs_buf_read. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5cafdeb2891a415a5dbf0ad80f0afedf8369e6bb Author: Christoph Hellwig Date: Wed Dec 3 12:20:25 2008 +0100 cleanup the inode reclaim path Merge xfs_iextract and xfs_idestroy into xfs_ireclaim as they are never called individually. Also rewrite most comments in this area as they were severly out of date. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit ccd0be6cfc6943c4e0b3e3cdb598e0b7354a2d78 Author: Christoph Hellwig Date: Wed Dec 3 12:20:24 2008 +0100 remove unused prototypes for xfs_ihash_init / xfs_ihash_free Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 73e6335c14209e508bec8ca7985d1fbde183bd1f Author: Christoph Hellwig Date: Wed Dec 3 12:20:23 2008 +0100 remove unused behvavior cruft in xfs_super.h Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 2234d54d3d855d6ffae88a24772a9389d6755e0c Author: Christoph Hellwig Date: Wed Dec 3 12:20:22 2008 +0100 remove useless mnt_want_write call in xfs_write When mnt_want_write was introduced a call to it was added around xfs_ichgtime, but there is no need for this because a file can't be open read/write on a r/o mount, and a mount can't degrade r/o while we still have files open for writing. As the mnt_want_write changes were never merged into the CVS tree this patch is for mainline only. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit ddcd856d81861a523d79d077facd875da1f66792 Author: Christoph Hellwig Date: Wed Dec 3 07:55:34 2008 -0500 [XFS] fix compile on 32 bit systems The recent compat patches make xfs_file.c include xfs_ioctl32.h unconditional, which breaks the build on 32 bit systems which don't have the various compat defintions. Remove the include and move the defintion of xfs_file_compat_ioctl to xfs_ioctl.h so that we can avoid including all the compat defintions in xfs_file.c Signed-off-by: Christoph Hellwig Tested-by: Kamalesh Babulal Signed-off-by: Lachlan McIlroy commit 838361fe7828a3ad1aae8dee87620474931dac5e Author: Wang Chen Date: Wed Dec 3 15:49:46 2008 -0800 isdn: Kill directly reference of netdev->priv Simply use netdev_priv() to replace netdev->priv. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 25dd7e6aedff054736f9edfd05bb585d810d8543 Author: Wang Chen Date: Wed Dec 3 15:49:07 2008 -0800 hysdn: Kill directly reference of netdev->priv Usually, netdev->priv should point to the memory of private data which is allocated in alloc_netdev(). netdev_priv() is used to get the address of the private data. Change the netdev->priv pointer to another memory is wrong. Use netdev->ml_priv for this case. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 52404881984e2d447f920a23e3bb63262dfc77f3 Author: Rémi Denis-Courmont Date: Wed Dec 3 15:42:56 2008 -0800 Phonet: basic net namespace support Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit d81d228567f55af517796638075dbbce9b40d7af Author: Martin Willi Date: Wed Dec 3 15:38:07 2008 -0800 xfrm: Accept XFRM_STATE_AF_UNSPEC SAs on IPv4/IPv6 only hosts Installing SAs using the XFRM_STATE_AF_UNSPEC fails on hosts with support for one address family only. This patch accepts such SAs, even if the processing of not supported packets will fail. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit ff80aa97c9b4aae9449a608fe1bc3e7b5121cd66 Author: Peter Korsgaard Date: Tue Dec 2 21:58:06 2008 +0100 setlocalversion: add git-svn support Print svn revision in addition to git info on git-svn repos. Signed-off-by: Peter Korsgaard Signed-off-by: Sam Ravnborg commit 167d6a02c1dbdd84d49e87df7718f18fa31cb971 Author: Peter Korsgaard Date: Tue Dec 2 21:58:05 2008 +0100 setlocalversion: print correct subversion revision Output svn revision of latest change, instead of repo revision as thats what we're interested in (especially when working on a branch/tag). Signed-off-by: Peter Korsgaard Signed-off-by: Sam Ravnborg commit 7ec80ddf0455ff3854a5ca524952d91b5eb676b2 Author: wanzongshun Date: Wed Dec 3 03:55:38 2008 +0100 [ARM] 5338/1: Add Nuvoton W90P910 Platform support Add Nuvoton W90X900 ARM9 plat support to linux arm tree, Now, this patch include only W90P910 EVB of W90P910 CPU, Its driver is nothing. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 846442c8ddc02e378e7b981f0928449ed1ff1e1f Author: Arjan van de Ven Date: Mon Dec 1 14:21:06 2008 -0800 scripts: improve the decodecode script kerneloops.org has been using an improved "decodecode" script, specifically it has a special marker that shows which line in the assembly the oops happened at, like this: 20: 83 e0 03 and $0x3,%eax 23: 09 d8 or %ebx,%eax 25: 85 db test %ebx,%ebx 27: 89 02 mov %eax,(%edx) 29: 74 0f je 0x3a 2b:* 3b 73 04 cmp 0x4(%ebx),%esi <-- trapping instruction 2e: 75 05 jne 0x35 30: 89 53 04 mov %edx,0x4(%ebx) 33: eb 07 jmp 0x3c 35: 89 53 08 mov %edx,0x8(%ebx) this patch updates the kernel copy to also have this functionality. Signed-off-by: Arjan van de Ven Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c39dd50240b97bfe4fcc49b41e1fe56675afcb94 Author: Jeremy Kerr Date: Mon Dec 1 14:21:03 2008 -0800 scripts/package: allow custom options to rpm Add a RPMOPTS make variable to allow arbitrary options to be passed to rpm during 'make rpm-pkg'. For example: make RPMOPTS="--define '_topdir /home/jk/rpm'" rpm-pkg Signed-off-by: Jeremy Kerr Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 5dae9a550a7478c8d6a7da2336d3ceeebf90ab84 Author: Andreas Gruenbacher Date: Mon Dec 1 14:21:03 2008 -0800 genksyms: allow to ignore symbol checksum changes This adds an "override" keyword for use in *.symvers / *.symref files. When a symbol is overridden, the symbol's old definition will be used for computing checksums instead of the new one, preserving the previous checksum. (Genksyms will still warn about the change.) This is meant to allow distributions to hide minor actual as well as fake ABI changes. (For example, when extra type information becomes available because additional headers are included, this may change checksums even though none of the types used have actully changed.) This approach also allows to get rid of "#ifdef __GENKSYMS__" hacks in the code, which are currently used in some vendor kernels to work around checksum changes. Signed-off-by: Andreas Gruenbacher Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 64e6c1e12372840e7caf8e25325a9e9c5fd370e6 Author: Andreas Gruenbacher Date: Mon Dec 1 14:21:01 2008 -0800 genksyms: track symbol checksum changes Sometimes it is preferable to avoid changes of exported symbol checksums (to avoid breaking externally provided modules). When a checksum change occurs, it can be hard to figure out what caused this change: underlying types may have changed, or additional type information may simply have become available at the point where a symbol is exported. Add a new --reference option to genksyms which allows it to report why checksums change, based on the type information dumps it creates with the --dump-types flag. Genksyms will read in such a dump from a previous run, and report which symbols have changed (and why). The behavior can be controlled for an entire build as follows: If KBUILD_SYMTYPES is set, genksyms uses --dump-types to produce *.symtypes dump files. If any *.symref files exist, those will be used as the reference to check against. If KBUILD_PRESERVE is set, checksum changes will fail the build. Signed-off-by: Andreas Gruenbacher Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit a680eedc6c621c75695c68198533fc3c98f4053b Author: Sam Ravnborg Date: Wed Dec 3 22:24:13 2008 +0100 tags and cscope support really belongs in a shell script as they do not benefit from the make functionality. Moving the support to a shell script has several benefits: - The readability of the code has increased a lot - More people is able to extend the tags support - We see less changes to the top-level Makefile The shell script version includes improvements from: Alexey Dobriyan (jump to kconfig symbols) Alexey Dobriyan (drop ./ in paths) Ian Campbell (simplified find algorithms) This version has a few caveats: => It does not support ALLSOURCE_ARCHS - it is easy to add if it is really used => It assumes all archs have moved to arch/$ARCH/include - until that happens we have a few additional hits in the archs Signed-off-by: Sam Ravnborg Cc: Alexey Dobriyan Tested-by: Ian Campbell commit 361425fc32422c9716fc69e52455b7d44fc02c18 Author: Haiying Wang Date: Wed Dec 3 14:03:09 2008 -0500 powerpc/85xx: Create dts for each core in CAMP mode for MPC8572DS This patch creates the dts files for each core and splits the devices between the two cores for MPC8572DS. core0 has memory, L2, i2c, dma1, global-util, eth0, eth1, crypto, pci0, pci1. core1 has L2, dma2, eth2, eth3, pci2, msi. MPIC is shared between two cores but each core will protect its interrupts from other core by using "protected-sources" of mpic. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit f6682f915760ccfe57ef1b6cd5ff2d8f2bf8c1d4 Author: Sam Ravnborg Date: Wed Dec 3 22:11:14 2008 +0100 kconfig: fix options to check-lxdialog.sh As noted by Bernhard - fix it up. Cc: Bernhard Reutner-Fischer Signed-off-by: Sam Ravnborg commit 3b1ec9fb8197197d5e3bcca3a05e82d4f50f11bc Author: Sally, Gene Date: Wed Oct 29 09:54:17 2008 -0400 kbuild: gen_init_cpio expands shell variables in file names Modify gen_init_cpio so that lines that specify files can contain what looks like a shell variable that's expanded during processing. For example: file /sbin/kinit ${RFS_BASE}/usr/src/klibc/kinit/kinit 0755 0 0 given RFS_BASE is "/some/directory" in the environment would be expanded to file /sbin/kinit /some/directory/usr/src/klibc/kinit/kinit 0755 0 0 If several environment variables appear in a line, they are all expanded with processing happening from left to right. Undefined variables expand to a null string. Syntax errors stop processing, letting the existing error handling show the user offending line. This patch helps embedded folks who frequently create several RFS directories and then switch between them as they're tuning an initramfs. Signed-off-by: gene.sally@timesys.com Signed-off-by: Sam Ravnborg commit efddd79512cc582675004bfdf7e66585198b38f9 Author: Werner Almesberger Date: Wed Nov 12 16:39:35 2008 -0200 remove bashisms from scripts/extract-ikconfig unbashify-extract-ikconfig.patch scripts/extract-ikconfig contains a lot of gratuituous bashisms, which make it fail if /bin/sh isn't bash. This patch replaces them with regular Bourne shell constructs. Signed-off-by: Werner Almesberger Acked-by: Randy Dunlap # as file author Signed-off-by: Sam Ravnborg commit d2301249e2f9b9a3ba989703107192b538209e57 Author: Sam Ravnborg Date: Fri Nov 21 23:00:12 2008 +0100 kbuild: teach mkmakfile to be silent With this fix a "make -s" is now really silent Signed-off-by: Sam Ravnborg commit fd54f502841c1caa7cfd5af564aad1bd017371fa Author: Mike Frysinger Date: Thu Nov 6 03:31:35 2008 -0500 kbuild: use KECHO convenience echo Convert a few echos in the build system to new $(kecho) so we get correct output according to build verbosity. Signed-off-by: Mike Frysinger [sam: added kecho in a few more places for O=... builds] Signed-off-by: Sam Ravnborg commit 5410ecc0def8955ab99810c5626cc7e156991896 Author: Mike Frysinger Date: Thu Nov 6 03:31:34 2008 -0500 kbuild: introduce $(kecho) convenience echo There is a bunch of places in the build system where we do 'echo' to show some nice status lines. This means we still get output when running in silent mode. So declare a new KECHO variable that only does 'echo' when we are in a suitable verbose build mode. Signed-off-by: Mike Frysinger [sam: added Documentation] Signed-off-by: Sam Ravnborg commit d03fab43c5ba4f5fa46db73c937e9b993a531d27 Author: Mike Frysinger Date: Thu Nov 6 03:31:22 2008 -0500 kbuild: kill output in silent mode of mkcompile_h The mkcompile_h script does `echo` regardless of silent mode the make is running at, so have it respect $quiet from kbuild and only echo when not in silent mode. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit d8672b40d3a6f17de5b5bc71d6e531d7576a856a Author: Sam Ravnborg Date: Fri Nov 21 21:50:02 2008 +0100 kbuild: expand -I in KBUILD_CPPFLAGS kbuild failed to expand include flags in KBUILD_CPPFLAGS resulting in code like this in arch Makefiles: ifeq ($(KBUILD_SRC),) KBUILD_CPPFLAGS += -Iinclude/foo else KBUILD_CPPFLAGS += -I$(srctree)/include/foo endif Move use of LINUXINCLUDE into Makefile.lib to allow us to expand -I directives of KBUILD_CPPFLAGS so we can avoid the above code. Signed-off-by: Sam Ravnborg commit 5b91c33cf295d9c235f587f29a8c0a7ae15a5320 Author: Sam Ravnborg Date: Wed Dec 3 21:22:21 2008 +0100 kbuild: fix -I option expansion with O=... builds When adding extra -I options with O=... we could end up in a situation where there were no parameters to -I. So we had a commandline that looked like this: ... -I -Wall ... This had the undesired side effect that gcc assumed "-Wall" was a path to look for include files so this options was effectively ignored. This happens only when we build the generated module.mod.c files as part of the final modules builds and is as such harmless with current kbuild. This bug was exposed when we rearranged the options to gcc. Signed-off-by: Sam Ravnborg commit dc7d7b830ee1f4111696e73d1c25da683b461548 Author: Mark Brown Date: Wed Dec 3 18:21:52 2008 +0000 ASoC: Remove platform device from DAI suspend and resume operations None of the DAIs use it except s3c2412-i2s which only uses it for dev_() printouts. Signed-off-by: Mark Brown commit 07c84d0409f3551b79d676630d8ee76bb551598d Author: Mark Brown Date: Wed Dec 3 18:17:28 2008 +0000 ASoC: Remove device from platform suspend and resume operations None of the platforms are actually using the SoC device so remove it (only atmel actually has a suspend method). Signed-off-by: Mark Brown commit 384c89e2e4cb5879b86a38414d1b3bb2b23ec8ee Author: Mark Brown Date: Wed Dec 3 17:34:03 2008 +0000 ASoC: Push debugfs files out of the snd_soc_device structure This is in preparation for the removal of struct snd_soc_device. The pop time configuration should really be a property of the card not the codec but since DAPM currently uses the codec rather than the card using the codec is fine for now. Signed-off-by: Mark Brown commit a7fe49bf01dd64b3c73ad0e172f68bd03c813d65 Author: Takashi Iwai Date: Wed Dec 3 18:26:35 2008 +0100 ALSA: Add more documentation about HD-audio driver The file can be converted to PDF via asciidoc. Signed-off-by: Takashi Iwai commit 06be64a366885569f46a7e0e50b351266d28f5fc Author: Haiying Wang Date: Thu Nov 13 07:46:12 2008 -0600 powerpc/85xx: Don't reset the MPIC for CAMP mode on MPC8572DS The flag MPIC_WANTS_RESET shouldn't be set if we are doing cooperative asymmetric MP. The second linux shouldn't reset the pic or the first one gets very confused. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit c64ef80b517680f1e228b2ee55e3ce7cd94c7fe0 Author: Haiying Wang Date: Fri Nov 28 16:49:39 2008 -0500 powerpc/85xx: Add localbus node in mpc8572ds dts file Also add NOR and NAND flash partitions for mpc8572ds board Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 965dc5fc55fa0201fd8241ba7c0efc8f96f0ec84 Author: Martyn Welch Date: Fri Nov 7 14:15:42 2008 +0000 powerpc/86xx: Basic GPIO support for GE Fanuc SBC610 Basic support for the GPIO available on the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). This patch adds basic support for the GPIO in the devices I/O FPGA, the GPIO functionality is exposed through the AFIX pins on the backplane, unless used by an AFIX card. This code currently does not support switching between totem-pole and open-drain outputs (when used as outputs, GPIOs default to totem-pole). The interrupt capabilites of the GPIO lines is also not currently supported. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 09a3fba8c132a55f153fd65fc1085b717a6193c8 Author: Anton Vorontsov Date: Tue Nov 11 18:31:39 2008 +0300 powerpc/qe: Move cmxgcr_lock definition from the ucc.c into the qe.c With this patch we can compile the qe_lib/usb.c without the UCC support (that is, without UCC_GETH and/or SERIAL_QE). Fixes following link error (CONFIG_SMP should be =y to trigger this): arch/powerpc/sysdev/built-in.o: In function `qe_usb_clock_set': (.text+0x3cae): undefined reference to `cmxgcr_lock' make: *** [.tmp_vmlinux1] Error 1 While at it, also add missing spinlock.h includes. Signed-off-by: Anton Vorontsov Acked-By: Timur Tabi Signed-off-by: Kumar Gala commit d3a8cdab2ff2f8acbe48e18ed471b0812785e390 Author: Martyn Welch Date: Thu Nov 20 08:52:09 2008 +0000 powerpc/86xx: Add use of Epson RTX-8581 RTC to GE Fanuc SBC610 dts Adding use of newly added Epson RTX-8581 real-time clock driver to GE Fanuc SBC610's dts file and adding driver to default config. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 24a99596f7465274a8e65ddd29a7d9028969b9f9 Author: Kumar Gala Date: Wed Dec 3 09:31:35 2008 -0600 powerpc/85xx: Fix compile warnings in mpc85xx_mds.c arch/powerpc/platforms/85xx/mpc85xx_mds.c: In function 'board_fixups': arch/powerpc/platforms/85xx/mpc85xx_mds.c:244: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' arch/powerpc/platforms/85xx/mpc85xx_mds.c:250: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' Signed-off-by: Kumar Gala commit e8e1abe92fd7ea9d823a3aaf81d10e2cba593b6b Author: Steven Rostedt Date: Wed Dec 3 11:04:51 2008 -0500 ftrace: fix race in function graph during fork Impact: graph tracer race/crash fix There is a nasy race in startup of a new process running the function graph tracer. In fork.c: total_forks++; spin_unlock(¤t->sighand->siglock); write_unlock_irq(&tasklist_lock); ftrace_graph_init_task(p); proc_fork_connector(p); cgroup_post_fork(p); return p; The new task is free to run as soon as the tasklist_lock is released. This is before the ftrace_graph_init_task. If the task does run it will be using the same ret_stack and curr_ret_stack as the parent. This will cause crashes that are difficult to debug. This patch moves the ftrace_graph_init_task to just after the alloc_pid code. This fixes the above race. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0a37119d963e876ca86912497346ec50dea2541b Author: Steven Rostedt Date: Wed Dec 3 11:04:50 2008 -0500 trace: fix output of stack trace Impact: fix to output of stack trace If a function is not found in the stack of the stack tracer, the number printed is quite strange. This fixes the algorithm to handle missing functions better. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0f620830db0818ebe065b31c33892e8f0622e1b2 Author: Peter Gruber Date: Wed Dec 3 15:32:15 2008 +0100 ALSA: Reduce stall detection timeout in riptide.c Reduce the command timeout to 0.5sec. Should be enough to allow a working command interface but removes a RCU stall and slow resume on some revisions where the AC97 revision detection stalls in resume. Signed-off-by: Peter Gruber Signed-off-by: Takashi Iwai commit d5b26db2cfcf09f28f4839c8c3484279cd5ea5b3 Author: Kumar Gala Date: Wed Nov 19 09:35:56 2008 -0600 powerpc/85xx: Add support for SMP initialization Added 85xx specifc smp_ops structure. We use ePAPR style boot release and the MPIC for IPIs at this point. Additionally added routines for secondary cpu entry and initializtion. Signed-off-by: Andy Fleming Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 06b90969a7564fad888f67e9f7f4c3a51a16ef1d Author: Kumar Gala Date: Mon Dec 1 14:38:32 2008 -0600 powerpc/85xx: minor head_fsl_booke.S cleanup Removed unused branch labels Signed-off-by: Kumar Gala commit b3898895355f73973eb3aef3489e999d3fb8e2bc Author: Trent Piepho Date: Wed Nov 19 03:13:14 2008 -0800 powerpc: Better setup of boot page TLB entry The initial TLB mapping for the kernel boot didn't set the memory coherent attribute, MAS2[M], in SMP mode. If this code supported booting a secondary processor, which it doesn't yet, but if it did, then when a secondary processor boots, it would probably signal the primary processor by setting a variable called something like __secondary_hold_acknowledge. However, due to the lack of the M bit, the primary processor would not snoop the transaction (even if a transaction were broadcast). If primary CPU's L1 D-cache had a copy, it would not be flushed and the CPU would never see the ack. Which would have resulted in the primary CPU spinning for a long time, perhaps a full second before it gives up, while it would have waited for the ack from the secondary CPU that it wouldn't have been able to see because of the stale cache. The value of MAS2 for the boot page TLB1 entry is a compile time constant, so there is no need to calculate it in powerpc assembly language. Also, from the MPC8572 manual section 6.12.5.3, "Bits that represent offsets within a page are ignored and should be cleared." Existing code didn't clear them, this code does. The same when the page of KERNELBASE is found; we don't need to use asm to mask the lower 12 bits off. In the code that computes the address to rfi from, don't hard code the offset to 24 bytes, but have the assembler figure that out for us. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 6a800f36acd5bf06b5fe2cb27c4d0524d60c3df5 Author: Liu Yu Date: Tue Oct 28 11:50:21 2008 +0800 powerpc: Add SPE/EFP math emulation for E500v1/v2 processors. This patch add the handlers of SPE/EFP exceptions. The code is used to emulate float point arithmetic, when MSR(SPE) is enabled and receive EFP data interrupt or EFP round interrupt. This patch has no conflict with or dependence on FP math-emu. The code has been tested by TestFloat. Now the code doesn't support SPE/EFP instructions emulation (it won't be called when receive program interrupt), but it could be easily added. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 033b8a333c66e0a7dc63132c1bd65175dc98bc25 Author: Liu Yu Date: Tue Oct 28 11:50:20 2008 +0800 powerpc/math-emu: Remove redundant 'ret' FP_DECL_EX is already used, so ret is redundant. And FP_SET_EXCEPTION will add status into return value. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 463a8c01e153c06480b862d83d6a71bf5666a577 Author: Liu Yu Date: Tue Oct 28 11:50:19 2008 +0800 powerpc/math-emu: Adopt new version of _FP_CHOOSENAN Move to using the same macro definition for _FP_CHOOSENAN as s390, sh, sparc32/64. The original author didn't understand this and matched what sparc64 was doing and they have updated to this definition. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit cf03033658739accd24f18f864107151a2e9a796 Author: Liu Yu Date: Tue Oct 28 11:50:18 2008 +0800 powerpc/math-emu: Fix single float point division bug PowerPC float point division emulation is derived from gcc. I reported this problem on gcc maillist and got this reply: http://gcc.gnu.org/ml/gcc/2008-03/msg00543.html Since UDIV_NEEDS_NORMALIZATION is not used by kernel, we should use _FP_DIV_MEAT_1_udiv_norm to make sure the single float point is normalized before udiv_qrnnd. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 55b9121b4295a8260e52dd78327f1edd1e34feb2 Author: Kumar Gala Date: Tue Oct 28 08:55:05 2008 -0500 powerpc: Remove unncessary SPE related compiler flag After testing of various compiler flag combinations by Nate Case it was determined that -mabi=no-spe has no impact on the compiler generating SPE instructions. Only -mno-spe and -mspe=no do. Signed-off-by: Kumar Gala commit 0640f84fac8a8aa8e7911c950cd9a4b0199711f6 Merge: 8c2f767... ff7a326... Author: Takashi Iwai Date: Wed Dec 3 14:43:14 2008 +0100 Merge branch 'topic/hda-modularize' into topic/hda commit 6f2a974bfc8d3be7a30674c71e2fef003b39a8d2 Author: Daniel Mack Date: Wed Dec 3 11:44:17 2008 +0100 ASoC: tlv320aic3x: headset/button press support - Add aic3x_set_headset_detection() function to define the headset detection mode for tlv32aic3x chips - added aic3x_button_pressed() - Read from the real-time registers in aic3x_headset_detected() to query headset presence without an occured interrupt Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 4b4fffdd9d179677cb030e97869286b62df25adc Author: Mark Brown Date: Wed Dec 3 11:21:08 2008 +0000 ASoC: Fix WM8903 right mixer bypass path Signed-off-by: Mark Brown commit 5920b45303291057fef827f5bdafe04001c1bbae Author: Grazvydas Ignotas Date: Tue Dec 2 20:48:58 2008 +0200 ASoC: TWL4030: Add input selection and gain controls The TWL4030 codec device has two ADCs. Both of them can have several inputs routed to them, but TRM says that only one source can be selected for every ADC, even though every source has a dedicated bit in the registers. This patch adds input source controls. It modifies default register values to have no inputs selected and ADCs disabled. When some input is selected, control handlers enable apropriate input amplifier and ADC. If a microphone is selected, bias power is automatically enabled. When some input is deselected, unused chip parts are disabled. Microphone and line input recording tested on OMAP3 pandora board. Signed-off-by: Grazvydas Ignotas Signed-off-by: Mark Brown commit ed45819f315b5a8844b5bfce881a18e9f3a055e7 Author: Artem Bityutskiy Date: Wed Nov 12 10:14:10 2008 +0200 UBI: fix warnings when debugging is enabled The 'ubi_io_read_vid_hdr()' and 'ubi_io_read_ec_hdr()' function have the 'verbose' argument which controls whether they should print a warning if the VID/EC header was not found or was corrupted. Some callers require the headers to be OK, and pass 1. Some allow a corrupted/not present header, and pass 0. if (UBI_IO_DEBUG) verbose = 1; And UBI_IO_DEBUG is 1 if CONFIG_MTD_UBI_DEBUG_MSG_BLD is true. So in this case the warning is printed all the time. This confuses people. Thus, do not print the messages as warnings if UBI_IO_DEBUG is true, but print them as debugging messages instead. Signed-off-by: Artem Bityutskiy commit 2ba5f7ae8165b3f575dd3a7d8bb18f421fab8273 Author: Artem Bityutskiy Date: Fri Oct 31 17:32:30 2008 +0200 UBIFS: introduce LPT dump function Signed-off-by: Artem Bityutskiy commit 787845bdeadd368eedeace92d5bf53f5aa1450ba Author: Artem Bityutskiy Date: Fri Oct 31 12:17:42 2008 +0200 UBIFS: dump stack in LPT check functions It is useful to know how we got to the checking function when hunting the bugs. Signed-off-by: Artem Bityutskiy commit 45e12d901fee57bccf90f6940155724954e1aac7 Author: Artem Bityutskiy Date: Fri Oct 31 11:42:18 2008 +0200 UBIFS: run debugging checks only if they are enabled Do not forget to check whether lpt debugging is enabled before running the check functions. This commit also makes some spelling fixes. Signed-off-by: Artem Bityutskiy commit 552ff3179d1e93a3e982357544c059f3e9a5516e Author: Artem Bityutskiy Date: Thu Oct 23 11:49:28 2008 +0300 UBIFS: add debugfs support We need to have a possibility to see various UBIFS variables and ask UBIFS to dump various information. Debugfs is what we need. Signed-off-by: Artem Bityutskiy commit 17c2f9f85c896b48a5d74a9155d99ec5b241a0e6 Author: Artem Bityutskiy Date: Fri Oct 17 13:31:39 2008 +0300 UBIFS: separate debugging fields out Introduce a new data structure which contains all debugging stuff inside. This is cleaner than having debugging stuff directly in 'c'. Signed-off-by: Artem Bityutskiy commit 5dd7cbc083f3a91fa7454125fe992826701b67bc Author: Kukkonen Mika Date: Tue Dec 2 11:32:49 2008 +0200 UBIFS: avoid unnecessary checks I have a habit of compiling kernel with EXTRA_CFLAGS="-Wextra -Wno-unused -Wno-sign-compare -Wno-missing-field-initializers" and so fs/ubifs/key.h give lots (~10) of these every time: CC fs/ubifs/tnc_misc.o In file included from fs/ubifs/ubifs.h:1725, from fs/ubifs/tnc_misc.c:30: fs/ubifs/key.h: In function 'key_r5_hash': fs/ubifs/key.h:64: warning: comparison of unsigned expression >= 0 is always true fs/ubifs/key.h: In function 'key_test_hash': fs/ubifs/key.h:81: warning: comparison of unsigned expression >= 0 is always true This patch fixes the warnings. Signed-off-by: Artem Bityutskiy commit 553dea4dd531562688ba01c641c7f8fc7abaaf8c Author: Artem Bityutskiy Date: Sat Nov 1 14:57:49 2008 +0200 UBIFS: introduce compression mount options It is very handy to be able to change default UBIFS compressor via mount options. Introduce -o compr= mount option support. Currently only "none", "lzo" and "zlib" compressors are supported. Signed-off-by: Artem Bityutskiy commit a1dc080c27ec8ea7ca1c8a9b499362a71ebff792 Author: Artem Bityutskiy Date: Sat Nov 1 14:20:50 2008 +0200 UBIFS: use bit-fields to store compression type Save a 4 bytes of RAM per 'struct inode' by stroring inode compression type in bit-filed, instead of using 'int'. Signed-off-by: Artem Bityutskiy commit 062e4fee4400f283307cf8ac1b7931c939010229 Author: Artem Bityutskiy Date: Sun Oct 26 16:58:25 2008 +0200 UBIFS: slight compression optimization If data does not compress, it is better to leave it uncompressed because we'll read it faster then. So do not compress data if we save less than 64 bytes. Signed-off-by: Artem Bityutskiy commit 7947cf0dd4b6a2bb06c57971502fb81c76a66f2d Author: Hendrik Brueckner Date: Tue Nov 18 01:28:28 2008 +0000 hvc_console: Always schedule resize work on resize The test to check for a new winsize runs out-of-sync with the underlying tty. After a tty has been released and initialized again, the winsize might differ between the tty and the hp struct. The solution is to simply remove the check and always schedule the resize work. Signed-off-by: Hendrik Brueckner Acked-by: Christian Borntraeger Signed-off-by: Paul Mackerras commit 3d26825ec03f623f20ba860e6e6113ab2d0bb0f1 Author: roel kluin Date: Tue Dec 2 11:21:43 2008 +0000 powerpc: Make open count variables signed in hvcs/hvsi/hvc_console Otherwise the tests for count < 0 will never be true. Signed-off-by: Roel Kluin Signed-off-by: Paul Mackerras commit dc42149fccda63a5d2fa4457808c3489a5111c5e Author: Nicolas Palix Date: Tue Dec 2 03:38:55 2008 +0000 drivers/hvc: Add missing of_node_put of_node_put is needed before discarding a value received from of_find_node_by_name, e.g., in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; statement S1,S2; expression E,E1; expression *ptr != NULL; @@ ( if (!(n@p1 = of_find_node_by_name(...))) S1 | n@p1 = of_find_node_by_name(...) ) <... when != of_node_put(n) when != if (...) { <+... of_node_put(n) ...+> } when != true !n || ... when != n = E when != E = n if (!n || ...) S2 ...> ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | n = E1 | E1 = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Nicolas Palix Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b908b53d580c3e9aba81ebe3339c5b7b4fa8031d Author: Anton Vorontsov Date: Mon Dec 1 06:30:04 2008 +0000 of/gpio: Implement of_get_gpio_flags() This adds a new function, of_get_gpio_flags, which is like of_get_gpio(), but accepts a new "flags" argument. This new function will be used by the drivers that need to retrieve additional GPIO information, such as active-low flag. Also, this changes the default ("simple") .xlate routine to warn about bogus (< 2) #gpio-cells usage: the second cell should always be present for GPIO flags. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit 2fd091f3eebc5accefa5f77ff04436982765d15c Author: roel kluin Date: Sat Nov 29 01:17:27 2008 +0000 powerpc/macintosh: Fix unsigned check in smu_sat_get_sdb_partition() i2c_smbus_read_word_data() returns a s32, which may be negative but unsigned len cannot be negative. Signed-off-by: Roel Kluin Signed-off-by: Paul Mackerras commit e6a437eba09f1c3505bedf7a9a9766a878ca09fa Author: Anton Vorontsov Date: Fri Nov 28 09:13:45 2008 +0000 of/i2c: Fill the archdata for I2C devices For I2C devices we just setting the node pointer in the archdata. This is needed so that the I2C devices could find their OF tree nodes. Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 3f3b1632022fcc8317fa3b3c1236471415b3a6b8 Author: Anton Vorontsov Date: Fri Nov 28 09:13:23 2008 +0000 powerpc and sparc: Introduce dev_archdata node accessors The name of the device_node field differ across the platforms, so we have to implement inlined accessors. This is needed to avoid ugly #ifdef in the generic code. Signed-off-by: Anton Vorontsov Acked-by: David S. Miller Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit a0e2f9f4a2487572803d5a00c7302db30e4c60d3 Author: Sonny Rao Date: Sun Nov 9 14:15:11 2008 +0000 powerpc/BSR: Support multiple OF-node description of BSR This adds support for multiple BSR nodes in the OF device tree. Previously, the BSR driver only supported a single OF node describing a BSR. Apparently when an LPAR is set to use "all system resources" the BSR appears as a single node, but when it is handed out in pieces, each 8 byte piece gets its own node. So, this keeps a list of BSR devices instead of the array and includes all nodes. Also, this makes the code be more inclusive of what BSR devices we accept by only checking compatibility and not the device name property (which might change in the future versions of BSR). Signed-off-by: Sonny Rao Signed-off-by: Paul Mackerras commit 6358d6cb328a772eb6f02c870da61709d539480f Author: Sebastien Dugue Date: Thu Nov 27 01:19:18 2008 +0000 powerpc/ibmebus: Get rid of the IRQ mapping in ibmebus_free_irq() ibmebus_free_irq() frees the IRQ but does not remove its mapping, which results in stale entries in the map. This fixes it by adding a call to irq_dispose_mapping() in ibmebus_free_irq(). Signed-off-by: Sebastien Dugue Cc: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 786b32f892dc341b607445bdef29d8e41a840925 Author: Julia Lawall Date: Sun Nov 23 00:48:56 2008 +0000 powerpc: Eliminate NULL test and memset after alloc_bootmem As noted by Akinobu Mita in commit b1fceac2 ("x86: remove unnecessary memset and NULL check after alloc_bootmem()"), alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E ( - BUG_ON (E == NULL); | - if (E == NULL) S ) @@ expression E,E1; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...) ... when != E - memset(E,0,E1); // Signed-off-by: Julia Lawall Signed-off-by: Paul Mackerras commit 15e09c0ecaab4a1b4a7ed69db536c38948b92279 Author: Becky Bruce Date: Thu Nov 20 06:49:16 2008 +0000 powerpc: Add sync_*_for_* to dma_ops We need to swap these out once we start using swiotlb, so add them to dma_ops. Create CONFIG_PPC_NEED_DMA_SYNC_OPS Kconfig option; this is currently enabled automatically if we're CONFIG_NOT_COHERENT_CACHE. In the future, this will also be enabled for builds that need swiotlb. If PPC_NEED_DMA_SYNC_OPS is not defined, the dma_sync_*_for_* ops compile to nothing. Otherwise, they access the dma_ops pointers for the sync ops. This patch also changes dma_sync_single_range_* to actually sync the range - previously it was using a generous dma_sync_single. dma_sync_single_* is now implemented as a dma_sync_single_range with an offset of 0. Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit c4d04be11f99cc9ce4e3801a5da235727db704a9 Author: Johannes Berg Date: Thu Nov 20 03:24:07 2008 +0000 powerpc: Allow the max stack trace depth to be configured On my screen, when something crashes, I only have space for maybe 16 functions of the stack trace before the information above it scrolls off the screen. It's easy to hack the kernel to print out only that much, but it's harder to remember to do it. This introduces a config option for it so that I can keep the setting in my config. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit 0186f47e703fb7aa14b54459d642ef5374b3a685 Author: Kumar Gala Date: Wed Nov 19 12:50:04 2008 +0000 powerpc: Use RCU based pte freeing mechanism for all powerpc Refactor the RCU based pte free code that was used on ppc64 to be used on all powerpc. Additionally refactor pte_free() & pte_free_kernel() into common code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit df3b8611554e389e703fa753540289874fa5126c Author: Kumar Gala Date: Wed Nov 19 05:53:24 2008 +0000 powerpc: Add a local_flush_tlb_page to handle kmap_atomic invalidates The tlb invalidates in kmap_atomic/kunmap_atomic can be called from IRQ context, however they are only local invalidates (on the processor that the kmap was called on). In the future we want to use IPIs to do tlb invalidates this causes issue since flush_tlb_page() is considered a broadcast invalidate. Add local_flush_tlb_page() as a non-broadcast invalidate and use it in kmap_atomic() since we don't have enough information in the flush_tlb_page() call to determine its local. Signed-off-by: Kumar Gala Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f4f3a1261ad70988ad45614ebc87e553143a332b Author: Kumar Gala Date: Wed Nov 19 05:53:04 2008 +0000 powerpc: hash_page_sync should only be used on SMP & STD_MMU_32 Clean up the ifdefs so we only use hash_page_sync if we have CONFIG_SMP && CONFIG_PPC_STD_MMU_32. Signed-off-by: Kumar Gala Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4ee5f55175a85fc179c93f00dd7f6a99c896f4d6 Author: Benjamin Herrenschmidt Date: Thu Nov 27 20:05:05 2008 +0000 powerpc: Fix ppc32 mm_struct CPU tracking in SMP The 32-bit hash code didn't need it so far so we don't update mm->cpu_vm_mask on context switch. This however will break when we merge the RCU based page table freeing patch and other upcoming 32-bit embedded SMP work, so this adds the update. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1b98326b91eb9eea346945779e1f245aa66b17ce Author: Kumar Gala Date: Wed Nov 19 04:39:53 2008 +0000 powerpc: Add MSR[CE, DE] to the MSR bits we print on show_regs() Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 764f3b95131a7ce5c992e3d00caf590fcada2f7b Author: Ingo Molnar Date: Wed Dec 3 10:33:58 2008 +0100 tracing/function-graph-tracer: enabled by default CONFIG_FUNCTION_GRAPH_TRACER depends on FUNCTION_TRACER already, (turning it non-default) so it so making it default-n is pointless. So enable it by default - it's a nice extension of the function tracer. Signed-off-by: Ingo Molnar commit 527491885554002837b5742202adc0ab5f536e54 Merge: cea555d... 2434bbb... Author: Paul Mackerras Date: Wed Dec 3 20:11:06 2008 +1100 Merge branch 'merge' commit 29fa0b301bc823016d1a3bed41c36a8977ef9947 Author: Wei Yongjun Date: Wed Dec 3 00:33:09 2008 -0800 xfrm: Cleanup for unlink SPD entry Used __xfrm_policy_unlink() to instead of the dup codes when unlink SPD entry. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 22d55328b7d27694718f5d64a53d2bddbbe173a5 Merge: 3f8c6c9... d5654ef... Author: David S. Miller Date: Wed Dec 3 00:29:24 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 166d3c7994d79ab3f78f420607283361ff5cce79 Author: Frederic Weisbecker Date: Wed Dec 3 02:32:12 2008 +0100 tracing/function-graph-tracer: improve duration output Impact: better trace output of duration for long calls The old duration output didn't exceeded 9999.999 us to fit the column and the nanosecs were always 3 numbers. As Ingo suggested, it's better to have the whole microseconds elapsed time and shift the nanosecs precision if needed to fit the maximum 7 numbers. And usec need more number, the case should be rare and important enough to break a bit the column alignment to show it. So, depending of the duration value, we now have these patterns: u.nnn us uu.nnn us uuu.nnn us uuuu.nnn us uuuuu.nn us uuuuuu.n us uuuuuuuu..... us Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 11e84acc400921743cc8d488e4a265cd98a655c7 Author: Frederic Weisbecker Date: Wed Dec 3 02:30:37 2008 +0100 tracing/function-graph-tracer: display unified style cmdline and pid Impact: extend function-graph output: let one know which thread called a function This patch implements a helper function to print the couple cmdline/pid. Its output is provided during task switching and on each row if the new "funcgraph-proc" defualt-off option is set through trace_options file. The output is center aligned and never exceeds 14 characters. The cmdline is truncated over 7 chars. But note that if the pid exceeds 6 characters, the column will overflow (but the situation is abnormal). Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 62679efe0a5f02987a621942afc5979a80a6ca5a Author: Steven Rostedt Date: Tue Dec 2 23:50:06 2008 -0500 ftrace: add checks on ret stack in function graph Import: robustness checks Add more checks in the function graph code to detect errors and perhaps print out better information if a bug happens. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e49dc19c6a19ea112fcb94b7c62ec62cdd5c08aa Author: Steven Rostedt Date: Tue Dec 2 23:50:05 2008 -0500 ftrace: function graph return for function entry Impact: feature, let entry function decide to trace or not This patch lets the graph tracer entry function decide if the tracing should be done at the end as well. This requires all function graph entry functions return 1 if it should trace, or 0 if the return should not be traced. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7ee991fbc6f947e9b04f29c9c6c1d057d0671a16 Author: Steven Rostedt Date: Tue Dec 2 23:50:04 2008 -0500 ftrace: print real return in dumpstack for function graph Impact: better dumpstack output I noticed in my crash dumps and even in the stack tracer that a lot of functions listed in the stack trace are simply return_to_handler which is ftrace graphs way to insert its own call into the return of a function. But we lose out where the actually function was called from. This patch adds in hooks to the dumpstack mechanism that detects this and finds the real function to print. Both are printed to let the user know that a hook is still in place. This does give a funny side effect in the stack tracer output: Depth Size Location (80 entries) ----- ---- -------- 0) 4144 48 save_stack_trace+0x2f/0x4d 1) 4096 128 ftrace_call+0x5/0x2b 2) 3968 16 mempool_alloc_slab+0x16/0x18 3) 3952 384 return_to_handler+0x0/0x73 4) 3568 -240 stack_trace_call+0x11d/0x209 5) 3808 144 return_to_handler+0x0/0x73 6) 3664 -128 mempool_alloc+0x4d/0xfe 7) 3792 128 return_to_handler+0x0/0x73 8) 3664 -32 scsi_sg_alloc+0x48/0x4a [scsi_mod] As you can see, the real functions are now negative. This is due to them not being found inside the stack. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 044fa782ebb9472cf5253e95d9a625fd4c0bdd99 Author: Steven Rostedt Date: Tue Dec 2 23:50:03 2008 -0500 ring-buffer: change "page" variable names to "bpage" Impact: clean up Andrew Morton pointed out that the kernel convention of a variable named page should be of type page struct. The ring buffer uses a variable named "page" for a pointer to something else. This patch converts those to be called "bpage" (as in "buffer page"). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 14a866c567e040ccf6240d68b083dd1dbbde63e6 Author: Steven Rostedt Date: Tue Dec 2 23:50:02 2008 -0500 ftrace: add ftrace_graph_stop() Impact: new ftrace_graph_stop function While developing more features of function graph, I hit a bug that caused the WARN_ON to trigger in the prepare_ftrace_return function. Well, it was hard for me to find out that was happening because the bug would not print, it would just cause a hard lockup or reboot. The reason is that it is not safe to call printk from this function. Looking further, I also found that it calls unregister_ftrace_graph, which grabs a mutex and calls kstop machine. This would definitely lock the box up if it were to trigger. This patch adds a fast and safe ftrace_graph_stop() which will stop the function tracer. Then it is safe to call the WARN ON. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bb4304c71c97bf727ec43cd2f195c2c237c27fd3 Author: Steven Rostedt Date: Tue Dec 2 15:34:09 2008 -0500 ftrace: have function graph use mcount caller address Impact: consistency change for function graph This patch makes function graph record the mcount caller address the same way the function tracer does. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 347fdd9dd4e5d3f3a4e415925c35bdff1d59c3a9 Author: Steven Rostedt Date: Tue Dec 2 15:34:08 2008 -0500 ftrace: clean up function graph asm Impact: clean up There exists macros for x86 asm to handle x86_64 and i386. This patch updates function graph asm to use them. Signed-off-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 8789a9e7df6bf9b93739c4c7d4e380725bc9e936 Author: Steven Rostedt Date: Tue Dec 2 15:34:07 2008 -0500 ring-buffer: read page interface Impact: new API to ring buffer This patch adds a new interface into the ring buffer that allows a page to be read from the ring buffer on a given CPU. For every page read, one must also be given to allow for a "swap" of the pages. rpage = ring_buffer_alloc_read_page(buffer); if (!rpage) goto err; ret = ring_buffer_read_page(buffer, &rpage, cpu, full); if (!ret) goto empty; process_page(rpage); ring_buffer_free_read_page(rpage); The caller of these functions must handle any waits that are needed to wait for new data. The ring_buffer_read_page will simply return 0 if there is no data, or if "full" is set and the writer is still on the current page. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit abc9b56d66fbd4d93302ef4bf6fa726e1b8255f9 Author: Steven Rostedt Date: Tue Dec 2 15:34:06 2008 -0500 ring-buffer: move some metadata into buffer page Impact: get ready for splice changes This patch moves the commit and timestamp into the beginning of each data page of the buffer. This change will allow the page to be moved to another location (disk, network, etc) and still have information in the page to be able to read it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a5e25883a445dce94a087ca479b21a5959cd5c18 Author: Steven Rostedt Date: Tue Dec 2 15:34:05 2008 -0500 ftrace: replace raw_local_irq_save with local_irq_save Impact: fix for lockdep and ftrace The raw_local_irq_save/restore confuses lockdep. This patch converts them to the local_irq_save/restore variants. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit dfdc5437bd62dd6a26961e27f26b671374749875 Merge: f0461d0... 061e41f... 878719e... Author: Ingo Molnar Date: Wed Dec 3 08:54:47 2008 +0100 Merge commit 'v2.6.28-rc7'; branch 'x86/dumpstack' into tracing/ftrace Merge x86/dumpstack into tracing/ftrace because upcoming ftrace changes depend on cleanups already in x86/dumpstack. Also merge to latest upstream -rc. commit f0461d0146ee30927bc7efa2ae24ea8c6693b725 Merge: 66eafeb... 48d68b2... Author: Ingo Molnar Date: Wed Dec 3 08:49:21 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/function-graph-tracer' into tracing/core commit 181de82ee3ffda1175f89d50c991dae31b79280c Author: FUJITA Tomonori Date: Wed Dec 3 14:53:04 2008 +0900 x86: remove dead BIO_VMERGE_BOUNDARY definition Impact: cleanup, remove dead code The block layer dropped the virtual merge feature (b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5). BIO_VMERGE_BOUNDARY definition is meaningless now. Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: Ingo Molnar commit 6083aa485c86933ee444dc2242270d37ea4664cb Merge: dcb7731... 93093d0... Author: Ingo Molnar Date: Wed Dec 3 08:25:56 2008 +0100 Merge branch 'x86/io' into x86/iommu Merge x86/io into x86/iommu due to a small patch conflict in io.h. commit 3f8c6c9c7739d18e4b75902fdcbf6c3ba98dc123 Merge: aa2ba5f... 9a5df92... Author: David S. Miller Date: Tue Dec 2 22:38:02 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit aa2ba5f1082dc705745899584aac8416d710c056 Merge: 6802454... f6f7b52... Author: David S. Miller Date: Tue Dec 2 19:50:27 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ixgbe/ixgbe_main.c drivers/net/smc91x.c commit 68024541e2e5a8f35e281daaa5068a29e2a538a5 Merge: ca17584... 39da581... Author: David S. Miller Date: Tue Dec 2 15:05:06 2008 -0800 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus commit ca17584bf2ad1b1e37a5c0e4386728cc5fc9dabc Author: Stephen Hemminger Date: Tue Dec 2 15:00:28 2008 -0800 mac8390: update to net_device_ops Another related 8390 driver. Since this is for nubus, not sure if anyone still has the hardware? Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b9a9b4b0429d0c0e4655d531a57a6424d972433c Author: Stephen Hemminger Date: Tue Dec 2 14:52:25 2008 -0800 etherh: build fix for net-next Fix build of ARM etherh driver with new net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c5b84b3bb0c055d70dc9f1b5e900378bc9d059ea Merge: d281bc9... bc2fd1c... Author: Russell King Date: Tue Dec 2 22:07:40 2008 +0000 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/mach-pxa/pxa25x.c commit dcb7731a185efbf3d800618d874af99895df5afb Author: Joerg Roedel Date: Tue Dec 2 20:16:03 2008 +0100 x86: fix broken flushing in GART nofullflush path Impact: remove stale IOTLB entries In the non-default nofullflush case the GART is only flushed when next_bit wraps around. But it can happen that an unmap operation unmaps memory which is behind the current next_bit location. If these addresses are reused it may result in stale GART IO/TLB entries. Fix this by setting the GART next_bit always behind an unmapped location. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit a64d31baed104be25305e9c71585d3ea4ee9a418 Merge: 1c39194... 061e41f... Author: Ingo Molnar Date: Tue Dec 2 20:09:50 2008 +0100 Merge branch 'linus' into cpus4096 Conflicts: kernel/trace/ring_buffer.c commit 87689d567a45f80416feea0a2aa6d3a2a6b8963a Author: Mark Brown Date: Tue Dec 2 16:01:14 2008 +0000 ASoC: Push platform registration down into the card As part of the deprecation of snd_soc_device push the registration of the platform down into the card structure. Signed-off-by: Mark Brown commit 96841bae6ebfede07294447ad2de9e6385ae9fb5 Author: Mark Brown Date: Tue Dec 2 15:15:50 2008 +0000 ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration This fixes a sparse warning caused by the lack of a connection with the prototype for ac97_bus_type. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 6308419a199eed66086cd756ab8dc81b88d54a6b Author: Mark Brown Date: Tue Dec 2 15:08:03 2008 +0000 ASoC: Push workqueue data into snd_soc_card ASoC v2 does not use the struct snd_soc_device at runtime, using struct snd_soc_card as the root of the card. Begin removing data from snd_soc_device by pushing the workqueue data into snd_soc_card, using a backpointer to the snd_soc_device to keep things going for the time being. Signed-off-by: Mark Brown commit 39da5814db81e8fe9782ae5ea24c0fdfcf2adc96 Author: Mark McLoughlin Date: Wed Nov 26 13:58:11 2008 +0000 virtio_net: large tx MTU support We don't really have a max tx packet size limit, so allow configuring the device with up to 64k tx MTU. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit 8daa19051e1c7369c89ace7b18e74fe1f55dfa29 Author: Niels de Vos Date: Mon Dec 1 14:13:53 2008 -0800 x86, apm: remove CONFIG_APM_REAL_MODE_POWER_OFF in favor of a kernel parameter Remove CONFIG_APM_REAL_MODE_POWER_OFF like CONFIG_APM_POWER_OFF which has been done for linux-2.2.14pre8 (http://lkml.org/lkml/1999/11/23/3). Re-introducing CONFIG_APM_POWER_OFF got nack-ed. Stephen didn't bother to remove CONFIG_APM_REAL_MODE_POWER_OFF, let's get rid of it now. Reference: http://lkml.org/lkml/2008/5/7/97 Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 470c66239ef0336429b35345f3f615d47341e13b Author: David Brownell Date: Mon Dec 1 14:31:37 2008 -0800 genirq: warn when IRQF_DISABLED may be ignored Impact: emit new warning We periodically waste time tracking down problems from the genirq framework not respecting IRQF_DISABLED for some shared IRQ cases. Linus views this as "will not fix", but we're still left with the bugs caused by this misbehavior. This patch adds a nag message in request_irq(), so that drivers can fix their IRQ handlers to avoid this problem. Note that developers will never see the relevant bugs when they run with LOCKDEP, so it's no wonder these bugs are hard to find. (That also means LOCKDEP is overlooking some IRQ-related bugs involving IRQ handlers that don't set IRQF_DISABLED...) Signed-off-by: David Brownell Signed-off-by: Andrew Morton Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f2b662da8d6bd44673537f3f64220afefdca369f Author: David Brownell Date: Mon Dec 1 14:31:38 2008 -0800 genirq: record IRQ_LEVEL in irq_desc[] Impact: fix __irq_set_trigger() for IRQ_LEVEL When recording the irq trigger type, let's also make sure that IRQ_LEVEL gets set correctly. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Ingo Molnar commit 48d68b20d00865035b8b65e69af343d0f53fac9d Author: Frederic Weisbecker Date: Tue Dec 2 00:20:39 2008 +0100 tracing/function-graph-tracer: support for x86-64 Impact: extend and enable the function graph tracer to 64-bit x86 This patch implements the support for function graph tracer under x86-64. Both static and dynamic tracing are supported. This causes some small CPP conditional asm on arch/x86/kernel/ftrace.c I wanted to use probe_kernel_read/write to make the return address saving/patching code more generic but it causes tracing recursion. That would be perhaps useful to implement a notrace version of these function for other archs ports. Note that arch/x86/process_64.c is not traced, as in X86-32. I first thought __switch_to() was responsible of crashes during tracing because I believed current task were changed inside but that's actually not the case (actually yes, but not the "current" pointer). So I will have to investigate to find the functions that harm here, to enable tracing of the other functions inside (but there is no issue at this time, while process_64.c stays out of -pg flags). A little possible race condition is fixed inside this patch too. When the tracer allocate a return stack dynamically, the current depth is not initialized before but after. An interrupt could occur at this time and, after seeing that the return stack is allocated, the tracer could try to trace it with a random uninitialized depth. It's a prevention, even if I hadn't problems with it. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tim Bird Signed-off-by: Ingo Molnar commit 16950e09cf07b54abb78dd09f8ef3c85c6bdc9de Author: Takashi Iwai Date: Tue Dec 2 09:31:16 2008 +0100 ALSA: emu10k1 - Add capture boost mixer switch for Audigy Due to the conversion (drop) from 24bit in the DSP to 16bit in AC97, the maximum capture level on Audigy seems lower than it could be. This patch adds a workaround to enable the artificial capture boost switch. When this switch is on, the whole analog capature level is boost up. However, this results in the lower capture resolution. Signed-off-by: Takashi Iwai commit 66eafebc1086014709dc38f52ddcb3d67d9b346c Author: Liming Wang Date: Tue Dec 2 10:33:08 2008 +0800 function trace: fix a bug of single thread function trace Impact: fix "no output from tracer" bug caused by ftrace_update_pid_func() When disabling single thread function trace using "echo -1 > set_ftrace_pid", the normal function trace has to restore to original function, otherwise the normal function trace will not work well. Without this commit, something like below: $ ps |grep 850 850 root 2556 S -/bin/sh $ echo 850 > /debug/tracing/set_ftrace_pid $ echo function > /debug/tracing/current_tracer $ echo 1 > /debug/tracing/tracing_enabled $ sleep 1 $ echo 0 > /debug/tracing/tracing_enabled $ cat /debug/tracing/trace_pipe |wc -l 59704 $ echo -1 > /debug/tracing/set_ftrace_pid $ echo 1 > /debug/tracing/tracing_enabled $ sleep 1 $ echo 0 > /debug/tracing/tracing_enabled $ more /debug/tracing/trace_pipe <====== nothing output now! it should output trace record. Signed-off-by: Liming Wang Signed-off-by: Ingo Molnar commit 222658e08f72cd539d01f3aabdc258c596f487e2 Merge: 74bf3ca... 65c6dc6... c072c24... d51090b... a838c2e... f1eecf0... 604094f... f08340c... Author: Ingo Molnar Date: Tue Dec 2 09:20:44 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/ftrace', 'tracing/function-graph-tracer', 'tracing/markers', 'tracing/powerpc', 'tracing/stack-tracer' and 'tracing/tracepoints' into tracing/core commit 74bf3cabc306f31ddd02f2c1b0540a6cfcacc593 Merge: c7cc773... 4f5a7f4... Author: Ingo Molnar Date: Tue Dec 2 09:20:29 2008 +0100 Merge branch 'tracing/urgent' into tracing/core Conflicts: kernel/trace/ring_buffer.c commit 6976a1d6c222c50ac93d2273b9cf57e6fd047e59 Author: Eric Dumazet Date: Mon Dec 1 23:37:17 2008 -0800 net: percpu_counter_inc() should not be called in BH-disabled section Based upon a lockdep report by Alexey Dobriyan. I checked all per_cpu_counter_xxx() usages in network tree, and I think all call sites are BH enabled except one in inet_csk_listen_stop(). commit dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1 (net: Use a percpu_counter for orphan_count) replaced atomic_t orphan_count to a percpu_counter. atomic_inc()/atomic_dec() can be called from any context, while percpu_counter_xxx() should be called from a consistent state. For orphan_count, this context can be the BH-enabled one. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 422d9cdcb85b3622d08a590fed66021af7aea333 Author: Gerrit Renker Date: Mon Dec 1 23:34:01 2008 -0800 dccp: Feature activation handlers This patch provides the post-processing of feature negotiation state, after the negotiation has completed. To this purpose, handlers are used and added to the dccp_feat_table. Each handler is passed a boolean flag whether the RX or TX side of the feature is meant. Several handlers are provided already, new handlers can easily be added. The initialisation is now fully dynamic, i.e. CCIDs are activated only after the feature negotiation. The integration of this dynamic activation is done in the subsequent patches. Thanks to Wei Yongjun for pointing out the necessity of skipping over empty Confirm options while copying the negotiated feature values. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit b1ad00422ecba0449f8e3a8f2ec9267bc994bf8f Author: Gerrit Renker Date: Mon Dec 1 23:33:18 2008 -0800 dccp: Processing Confirm options Analogous to the previous patch, this adds code to interpret incoming Confirm feature-negotiation options. Both functions operate on the feature-negotiation list of either the request_sock (server) or the dccp_sock (client). Thanks to Wei Yongjun for pointing out that it is overly restrictive to check the entire list of confirmed SP values. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit e77b8363b2ea7c0d89919547c1a8b0562f298b57 Author: Gerrit Renker Date: Mon Dec 1 23:32:35 2008 -0800 dccp: Process incoming Change feature-negotiation options This adds/replaces code for processing incoming ChangeL/R options. The main difference is that: * mandatory FN options are now interpreted inside the function (there are too many individual cases to do this externally); * the function returns an appropriate Reset code or 0, which is then used to fill in the data for the Reset packet. Old code, which is no longer used or referenced, has been removed. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 75757a7d0c54f8fdd414c74a6005d275032b0115 Author: Gerrit Renker Date: Mon Dec 1 23:31:04 2008 -0800 dccp: Preference list reconciliation This provides two functions to * reconcile preference lists (with appropriate return codes) and * reorder the preference list if successful reconciliation changed the preferred value. The patch also removes the old code for processing SP/NN Change options, since new code to process these is mostly there already; related references have been commented out. The code for processing Change options follows in the next patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 8b7b6c75c6387527b195bb69100182288da94f84 Author: Gerrit Renker Date: Mon Dec 1 23:29:30 2008 -0800 dccp: Integrate feature-negotiation insertion code The patch implements insertion of feature negotiation at the server (listening and request socket) and the client (connecting socket). In dccp_insert_options(), several statements have been grouped together now to achieve (it is hoped) better efficiency by reducing the number of tests each packet has to go through: - Ack Vectors are sent if the packet is neither a Data or a Request packet; - a previous issue is corrected - feature negotiation options are allowed on DataAck packets (5.8). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 0971d17ca3d80f61863f4750091a64448bf91600 Author: Gerrit Renker Date: Mon Dec 1 23:27:31 2008 -0800 dccp: Insert feature-negotiation options into skb This patch replaces the earlier insertion routine from options.c, so that code specific to feature negotiation can remain in feat.c. This is possible by calling a function already existing in options.c. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit bc2fd1c09c226ea47ab8301cde6dbcf9e5c78b73 Author: Anton Vorontsov Date: Thu Oct 23 21:06:56 2008 +0200 [ARM] pxa: add basic support for HP iPAQ h5000 This patch adds HP iPAQ h5000's (h5400, h5500) basic definitions. Kernel will able to boot, work via serial console, mount filesystems placed on flashes and run USB gadgets (g_ether by default). Other device drivers (frame buffer, LCD, touchscreen, backlight, bluetooth, w1/battery, ...) are depend on SAMCOP and MediaQ SoCs/MFDs, drivers to which will be submitted too, after massive cleanups. This machine will be used as "real user" for these new drivers. This is an updated version of the patch, which contains fixes proposed on linux-arm-kernel mailing list. Signed-off-by: Anton Vorontsov Signed-off-by: Milan Plzik Signed-off-by: Eric Miao commit 431a2cff07446b0325ec063e5b401ca7c11e0058 Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:30 2008 +0300 [ARM] pxa/poodle: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit 4a9295ccb43ead9ec054d0bd374c992c692b2cf4 Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:29 2008 +0300 [ARM] pxa/corgi: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit e5d3bf3c106c0557199076a57800adb85206c1ce Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:28 2008 +0300 [ARM] pxa/spitz: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit f34ee79a5307e9a4c68c978840cf7e7e10236362 Author: Dmitry Baryshkov Date: Tue Nov 25 00:57:27 2008 +0300 [ARM] pxa/tosa: add physmap mapping for ROM Add mapping for system ROM using physmap-flash mapping. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit ddfb33c0ffbd8b8f5984de5a8f9513b88cd28b67 Author: Dmitry Baryshkov Date: Thu Nov 27 01:25:09 2008 +0300 [ARM] pxa/tosa: fix building w/o TC6393XB driver Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit 31c9b284ae49093fdd9d1e9a347e458c7ebc37a9 Author: Dmitry Baryshkov Date: Tue Oct 28 18:40:37 2008 +0300 [ARM] pxa/tosa: support tc6393xb/tmiofb. Add platform data necessary to support tmiofb on tosa. Signed-off-by: Dmitry Baryshkov Signed-off-by: Eric Miao commit 4aa89f973f515a9e456bcf23e448d5904d428d7d Author: Robert Jarzmik Date: Sat Nov 15 16:09:59 2008 +0100 [ARM] pxa/MioA701: improve power supply sources Take advantage of the newly created wm97xx battery driver and remove useless code in mioa701 board code. Add also the ac connection detect capability after the matching gpio was discovered. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit c96763d4dc2f4032369f068a5d185238e01da478 Author: Robert Jarzmik Date: Tue Nov 18 20:23:32 2008 +0100 [ARM] pxa/MioA701: discovered new gpio definitions. The charger enable gpio is straight (1 means draw from USB Vbus, 0 mean do not draw). The USB Vbus sensing is inverted (1 means no Vbus voltage sensed, 0 means Vbus voltage present). Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit a0361a8afeaa07274e21907e4488eedceb12e3d6 Author: Robert Jarzmik Date: Sat Nov 15 16:09:58 2008 +0100 [ARM] pxa/MioA701: change reset function to preserve RTC. Change the halt and reboot method from gpio based to "jump to ROM IPL beginning". This gives control back to IPL, which without PowerOn key pressed, will put the device into deep sleep until PowerOn is pressed for 1 second. But this has the benefit of keeping the RTC registers across reboots, which is good for OS change. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 8e7ccddf0fd22617a3edc28ab2ce2fac0fb94823 Author: Robert Jarzmik Date: Sat Nov 15 16:09:54 2008 +0100 [ARM] pxa/MioA701: add camera support for Mio A701 board. Add GPIO configuration and platform specific declarations to make Mitac Mio A701 camera chip work. The chip is a Micron MT9M111 CMOS sensor, based on PXA QIF interface and I2C bus for sensor control. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 0bcd30ec8deff327ae0becffb0fc7ee9dc90db82 Author: Robert Jarzmik Date: Fri Nov 28 20:08:19 2008 +0100 [ARM] pxa/MioA701: remove KConfig leds driver requirement Since mioa701 board has migrated to the mfp architecture, low power gpio setup is now correctly handled even when gpio led driver is not loaded, and leds and vibrator don't stay activated in suspend mode (especially vibrator). Remove the not needed anymore dependency. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 724931465c234f71551e229dcd8842d1fc531d77 Author: Robert Jarzmik Date: Thu Nov 13 23:50:56 2008 +0100 [ARM] pxa: add resources for incoming rtc-pxa driver Add IO memory and IRQ ressources for pxa based SoC to be able to use the new rtc-pxa driver. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit a10c287d393bdd32127d59f3ec8fd7bb80e2fa05 Author: Philipp Zabel Date: Sun Jun 29 16:53:34 2008 +0200 [ARM] pxa: cpufreq-pxa2xx: sdram_rows detection support This patch implements Eric Miao's idea to detect the correct value of sdram_rows by inspecting the MDCNFG register settings. It is only tested on two pxa27x devices with 64MB RAM (magician and hx4700) so far. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 65587f7d154ac58f4ff100c240640c71abec41dd Author: Marc Zyngier Date: Tue Nov 4 13:33:25 2008 +0100 [ARM] pxa: cpufreq-pxa2xx: allow frequency table selection Following the removal of the "->policy" usage for PXA255 in patch 459fc208abd1b365fa013c17d433dfb5b4bc1e3a (cpufreq: remove policy->governor setting in drivers initialization), this patch introduces an option (called "pxa255_turbo_table") to select either the "run" or "turbo" frequency table. It also cures the runtime warning that was printed each time the frequency was changed. Got rid of all references to CPUFREQ_POLICY_* for pxa255, and sticked with the run/turbo thing. Tested on an Arcom/Eurotech Viper. Signed-off-by: Marc Zyngier Acked-by: Dominik Brodowski Signed-off-by: Eric Miao commit a5718a14a1d91b871e65d4e6b349e39c22cac943 Author: Eric Miao Date: Tue Nov 11 21:50:39 2008 +0800 [ARM] pxafb: make {backlight,lcd}_power() members of struct pxafb_info instead of holding them as static pointers. Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 9179825cf5e96bd0784456ef43811cab4db17cd9 Author: Eric Miao Date: Mon Dec 1 11:41:19 2008 +0800 [ARM] locomo: export locomo_frontlight_set() This symbol is required by locomo backlight driver, exporting this allows the driver to be built as a module. Signed-off-by: Eric Miao commit 8cc78909816ed5529806ee94f19f3e02beae4e7e Author: Eric Miao Date: Sat Nov 22 21:40:50 2008 +0800 [ARM] pxa: add missing GPIOs definitions GPIO3/GPIO4 are a bit special on pxa27x, since it depends on PCFR/PI2C_EN bit, add their definitions here with comments. Signed-off-by: Eric Miao Acked-by: Stefan Schmidt commit 59c7bcd4d60812ca10ec691376f43d6a5fbfb4f8 Author: Eric Miao Date: Sat Nov 29 21:42:39 2008 +0800 [ARM] pxa: add base PXA935 support due to CPUID change PXA935 has changed its implementor ID from Intel to Marvell, this patch modifies arch/arm/boot/compressed/head.S and proc-xsc3.S to support a smooth bootup. Signed-off-by: Eric Miao commit f1c6cd62cc4f7e55a803c4b9b92a67488d765a8f Author: Eric Miao Date: Wed Nov 26 15:39:39 2008 +0800 [ARM] pxa: introduced cpu_is_pxa935() and cpu_is_pxa9xx() Signed-off-by: Eric Miao commit 6f584cfab47173bcbf06b67cb22d519e95317311 Author: Eric Miao Date: Fri Nov 28 16:00:24 2008 +0800 [ARM] pxa: move I2C pin configurations out into board specific files Signed-off-by: Eric Miao commit 14758220520c45755ae9de3c3073f03bd71f098a Author: Eric Miao Date: Fri Nov 28 15:24:12 2008 +0800 [ARM] pxa: register Power I2C device only when necessary Signed-off-by: Eric Miao commit 994642934d99b9a4d5447d628de7c321c4fde5fe Author: Eric Miao Date: Fri Nov 28 15:01:55 2008 +0800 [ARM] pxa: move power I2C device definitions into devices.c Let's put these devices into a central place even if they are now processor specific, as they might be re-used in later processors. Signed-off-by: Eric Miao commit e8a5ab1f7385fb8f3c55348b7bb372a463c55d09 Author: Eric Miao Date: Sun Nov 30 21:10:05 2008 +0800 [ARM] pxa: remove unnecessary #include of pxa2xx-gpio.h in clock.c Signed-off-by: Eric Miao commit 7e5abc465b20001576d360ed2ece424da816e3a4 Author: Eric Miao Date: Sun Nov 30 23:13:52 2008 +0800 [ARM] pxa: include in pxa-regs.h for the reference of __REG() within Signed-off-by: Eric Miao commit bf8b38654be05aa2e5e537a1d4353cefa1fa4b42 Author: Eric Miao Date: Fri Nov 28 14:57:33 2008 +0800 [ARM] pxa: further cleanup of pxa-regs.h Signed-off-by: Eric Miao commit f1647e4c068139b5f6c988b0862eb1d233dfffe2 Author: Eric Miao Date: Fri Nov 28 14:54:39 2008 +0800 [ARM] pxa: move GPIOx_BASE and GPIO register offsets to gpio.c Signed-off-by: Eric Miao commit 1f017a9964c5b3b9581d3a5732110cb1e0444281 Author: Eric Miao Date: Fri Nov 28 14:19:33 2008 +0800 [ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h The optimal change would be to move the AC97 register definitions into the AC97 driver, unfortunately, the registers are shared between several files. Move them into a dedicated regs-ac97.h first. Signed-off-by: Eric Miao commit 02f652626a8f23e513877cb751c8ea533739c28f Author: Eric Miao Date: Fri Nov 28 14:08:53 2008 +0800 [ARM] pxa: move UART register definitions into dedicated regs-uart.h Signed-off-by: Eric Miao commit b31eca4f006c3efdd2dc501270172aa7ff8614b9 Author: Eric Miao Date: Fri Nov 28 13:49:22 2008 +0800 [ARM] pxa: move pxa2xx specific PWRMODE definitions into pxa2xx-regs.h Signed-off-by: Eric Miao commit a07efb5dac2a1c9125b9bd84d2f9ea4803d93e60 Author: Eric Miao Date: Fri Nov 28 13:38:03 2008 +0800 [ARM] pxa: remove the now unused IMPMCR/IMPMSR register definitions There two are internal registers that are used to control the power management of the Internal Memory (i.e. Internal SRAM). They are referenced nowhere and removed here to simplify pxa-regs.h a bit. Signed-off-by: Eric Miao commit d15313e685759a676222ad85247ad8e1c138b9c7 Author: Eric Miao Date: Thu Nov 27 17:08:42 2008 +0800 [ARM] pxa: remove unused PWM register definitions, use generic PWM API We now have generic PWM API for PXA, the PWM registers definitions are now used nowhere, and it is not encouraged to manipulate them directly by driver code. Signed-off-by: Eric Miao commit b40ddf575883ceca303906556bcd0cff5c284fef Author: Eric Miao Date: Fri Nov 28 11:13:47 2008 +0800 [ARM] pxa: move FICP register definitions into pxaficp_ir.c Signed-off-by: Eric Miao commit 013132cae84a36df8a88773a3e0391700d0a66d4 Author: Eric Miao Date: Fri Nov 28 09:16:52 2008 +0800 [ARM] pxa: move camera (QCI) registers definition out of pxa-regs.h Signed-off-by: Eric Miao Acked-by: Guennadi Liakhovetski commit 63e6552f7cc45739cd2f92c27f5081f753b70d04 Author: Eric Miao Date: Sun Nov 30 20:58:42 2008 +0800 [ARM] pxa: removed unused declarations of pxa_gpio_* in hardware.h pxa_gpio_{get,set}_value() are not used anymore, remove them from hardware.h. Declaration of pxa_gpio_mode() is still being referenced and thus moved into pxa2xx-gpio.h Signed-off-by: Eric Miao commit 80796f2a40504526797d488d17b87c4274d430fa Author: Eric Miao Date: Tue Nov 25 11:03:03 2008 +0800 [ARM] pxa: use instead of unnecessary Signed-off-by: Eric Miao commit 067455aa53a55404ded85227e87436478c2acc63 Author: Eric Miao Date: Wed Nov 26 18:12:04 2008 +0800 [ARM] pxa: add support for additional GPIOs on PXA26x Original patch from Marek Vasut, the problems with PXA26x are: 1. there are additional 4 GPIOs 86,87,88,89 have their direction bits inverted in GPDR2, as well as their alternate function bits being '1' for their GPIO functionality in GAFRx 2. there is no easy way to decide if the processor is a pxa26x or a pxa250/pxa255 at run-time, so the assumption here is the pxa26x will be treated as one of the pxa25x variants, and board code should have a better knowledge of the processor it is featured Introduce pxa26x_init_irq() for the second purpose, and treat the additional GPIOs > 85 on PXA25x specially. Kconfig option CONFIG_CPU_PXA26x is introduced to optimize the code a bit when PXA26x support isn't needed. Board config options have to select this to enable the support for PXA26x. __gpio_is_inverted() will be optimized way when CONFIG_CPU_PXA26x isn't selected. Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit e88db8b91f1f5de24ae6bb3241d92fecaae64abf Author: Eric Miao Date: Wed Nov 26 18:25:52 2008 +0800 Revert "[ARM] pxa: introduce cpu_is_pxa26x()" This reverts commit da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0. The originally proposed way in the above commit is incorrect. And there is no easy way to distinguish between pxa25x and pxa26x at run-time. Signed-off-by: Eric Miao commit ddd244dd814ee3e5ef1e4872705cbec0dfced541 Author: Eric Miao Date: Wed Nov 26 17:06:42 2008 +0800 [ARM] pxa: use 'pxa_last_gpio' instead of 'gpio_nr' in mfp-pxa2xx.c The 'gpio_nr' can really be inferred by 'pxa_last_gpio', and since we already have that variable, remove the unnecessary 'gpio_nr' now. Also, fix the incorrect GPIO number passed in pxa27x_init_irq(). Note: pxa_last_gpio should be initialized earlier, and this is true since it's been assigned in machine_desc->init_irq(). Signed-off-by: Eric Miao commit 9968711468570c5dc5f96c415e73cb3282e857fc Author: Robert Jarzmik Date: Thu Nov 13 23:30:00 2008 +0100 [ARM] pxa: add muxed gpio wakeup sources on pxa2xx architectures PXA SoC have several GPIOs muxed on only one wakeup source. Add support for these wakeup sources which were missing in mfp core support. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit afb5b5c9adb66c73b83dc39319efbacb6fb26a7d Author: Eric Miao Date: Mon Dec 1 11:43:08 2008 +0800 [ARM] pxa: explicit #include in various drivers Where 'pxa_dma_desc' and 'pxa_{request,free}_dma' are referenced. Signed-off-by: Eric Miao commit e5d412f17846b0aea9e5250926f994ab2e4e1006 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:17 2008 -0600 [XFS] Reorder xfs_ioctl32.c for some tidiness Put things in IMHO a more readable order, now that it's all done; add some comments. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 710d62aaaf17c841b8bdbc7a775f8910a7160248 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:16 2008 -0600 [XFS] Hook up compat XFS_IOC_FSSETDM_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_FSSETDM_BY_HANDLE. I haven't tested this, lacking dmapi tools to do so (unless xfsqa magically gets this somehow?) Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 28750975ace79c547407a84d3969cbed516be8f8 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:15 2008 -0600 [XFS] Hook up compat XFS_IOC_ATTRMULTI_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_ATTRMULTI_BY_HANDLE Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ebeecd2b04645a4b79e1bc00d69cf4f98e03a684 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:14 2008 -0600 [XFS] Hook up compat XFS_IOC_ATTRLIST_BY_HANDLE ioctl handler Add a compat handler for XFS_IOC_ATTRLIST_BY_HANDLE Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit af819d27637119105213433881f158931e29620b Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:13 2008 -0600 [XFS] Fix compat XFS_IOC_FSBULKSTAT_SINGLE ioctl The XFS_IOC_FSBULKSTAT_SINGLE ioctl passes in the desired inode number, while XFS_IOC_FSBULKSTAT passes in the previous/last-stat'd inode number. The compat handler wasn't differentiating these, so when a XFS_IOC_FSBULKSTAT_SINGLE request for inode 128 was sent in, stat information for 131 was sent out. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 65fbaf2489c667bf79ae1f20403f30c66568d445 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:12 2008 -0600 [XFS] Fix xfs_bulkstat_one size checks & error handling The 32-bit xfs_blkstat_one handler was failing because a size check checked whether the remaining (32-bit) user buffer was less than the (64-bit) bulkstat buffer, and failed with ENOMEM if so. Move this check into the respective handlers so that they check the correct sizes. Also, the formatters were returning negative errors or positive bytes copied; this was odd in the positive error value world of xfs, and handled wrong by at least some of the callers, which treated the bytes returned as an error value. Move the bytes-used assignment into the formatters. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2ee4fa5cb716eba104a4ef8efe159e1007a2aef6 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:11 2008 -0600 [XFS] Make the bulkstat_one compat ioctl handling more sane Currently the compat formatter was handled by passing in "private_data" for the xfs_bulkstat_one formatter, which was really just another formatter... IMHO this got confusing. Instead, just make a new xfs_bulkstat_one_compat formatter for xfs_bulkstat, and call it via a wrapper. Also, don't translate the ioctl nrs into their native counterparts, that just clouds the issue; we're in a compat handler anyway, just switch on the 32-bit cmds. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 471d59103167c84f17b9bcfee22ed10b44ff206e Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:10 2008 -0600 [XFS] Add compat handlers for data & rt growfs ioctls The args for XFS_IOC_FSGROWFSDATA and XFS_IOC_FSGROWFSRTA have padding on the end on intel, so add arg copyin functions, and then just call the growfs ioctl helpers. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e94fc4a43e5c39f689e83caf6d2f0939081f5e6b Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:09 2008 -0600 [XFS] Add compat handlers for swapext ioctl The big hitter here was the bstat field, which contains different sized time_t on 32 vs. 64 bit. Add a copyin function to translate the 32-bit arg to 64-bit, and call the swapext ioctl helper. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d5547f9feea459dfc9e7313bd1d561394e2c129f Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:08 2008 -0600 [XFS] Clean up some existing compat ioctl calls Create a new xfs_ioctl.h file which has prototypes for ioctl helpers that may be called in compat mode. Change several compat ioctl cases which are IOW to simply copy in the userspace argument, then call the common ioctl helper. This also fixes xfs_compat_ioc_fsgeometry_v1(), which had it backwards before; it copied in an (empty) arg, then copied out the native result, which probably corrupted userspace. It should be translating on the copyout. Also, a bit of formatting cleanup for consistency, and conversion of all error returns to use XFS_ERROR(). Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ffae263a640b736a7206a0d7bd14ab44eb58cd28 Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:07 2008 -0600 [XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h This makes the c file less cluttered and a bit more readable. Consistently name the ioctl number macros with "_32" and the compatibility stuctures with "_compat." Rename the helpers which simply copy in the arg with "_copyin" for easy identification. Finally, for a few of the existing helpers, modify them so that they directly call the native ioctl helper after userspace argument fixup. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 743bb4650da9e2595d6cedd01c680b5b9398c74a Author: sandeen@sandeen.net Date: Tue Nov 25 21:20:06 2008 -0600 [XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch. Moving the copy_from_user out of some of the ioctl helpers will make it easier for the compat ioctl switch to copy in the right struct, then just pass to the underlying helper. Also, move common access checks into the helpers themselves, and out of the native ioctl switch code, to reduce code duplication between native & compat ioctl callers. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7c37d74474c8ee8ddcd5a2d2a9571d4a1290c844 Author: Ralph Campbell Date: Mon Dec 1 20:59:08 2008 -0800 IB/ipath: Improve UD loopback performance by allocating temp array only once Receive work queue entries are checked for L_Key validity, and pointers to the memory region structure are saved in an allocated structure. For UD loopback packets, this structure is allocated and freed for each packet. This patch changes that to allocate/free during QP creation and destruction. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 64f22fa17c1a531e682ebc882566856ea5718495 Author: Michael Ellerman Date: Mon Dec 1 20:59:07 2008 -0800 IB/ipath: Fix pointer-to-pointer thinko in ipath_fs.c The return from lookup_one_len() is assigned to *dentry, so that's what we should be checking with IS_ERR(). Signed-off-by: Michael Ellerman Signed-off-by: Roland Dreier commit 75c21ae9aa75b0452318d05f737ea838672137f5 Author: Joachim Fenkes Date: Mon Dec 1 20:58:57 2008 -0800 IB/ehca: Fix locking for shca_list_lock shca_list_lock is taken from softirq context in ehca_poll_eqs, so we need to lock IRQ safe elsewhere. Found by lockdep. Signed-off-by: Michael Ellerman Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit d281bc9d8a22419abc254f86a7fc268bb99914e1 Author: Russell King Date: Mon Dec 1 23:01:19 2008 +0000 [ARM] fix missing includes for iop33x and sa1100_ir Signed-off-by: Russell King commit 0ecfe7987855d21c2a89ffe003ddf0ee11b42d47 Author: Mark Brown Date: Mon Dec 1 17:59:25 2008 +0000 ASoC: Don't free static data in WM9713 Signed-off-by: Mark Brown commit 4290239cd05b6323da87b5e7e7db4c673bff5359 Author: Peter Ujfalusi Date: Mon Dec 1 10:03:47 2008 +0200 ASoC: TWL4030: Add volume controls for outputs All outputs have dedicated gain controls except the HandsFree output. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit d889a72c5c71161d6f934f9d7fca0e5b7e52bc08 Author: Peter Ujfalusi Date: Mon Dec 1 10:03:46 2008 +0200 ASoC: TWL4030: Change the common playback volume controls Add Playback volume controls for all four DACs. All four paths has three levels of volume controls: Digital Fine gain, Digital Coarse gain, Analog gain. The controls are named to reflect their connection to the DACs. Per DAC volume can be performed, if needed: amixer sset 'DAC1 Analog' 5,10 DACL1 analog gain to 5 DACR1 analog gain to 10 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 381a22b564ff5a7ada09ad9a0831246da1dc5513 Author: Peter Ujfalusi Date: Mon Dec 1 10:03:45 2008 +0200 ASoC: TWL4030: Change the capture volume control to TLV The digital Capture gain control has a range: 0 to 31 dB in 1 dB steps. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit fa5c76978cee331b25e6d271482cf8e76f51e68b Author: Mark Brown Date: Sun Nov 30 22:55:46 2008 +0000 ASoC: Remove in-code changelog from AD73311 driver Signed-off-by: Mark Brown commit 7d8c16a6f728f0ee5c42d1d731923cfd0cc19971 Author: Mark Brown Date: Sun Nov 30 22:11:24 2008 +0000 ASoC: Annotate core removal function Signed-off-by: Mark Brown commit 968a6025aa9f909d487988efb542217a126023a0 Author: Mark Brown Date: Fri Nov 28 11:49:07 2008 +0000 ASoC: Rename snd_soc_register_card() to snd_soc_init_card() Currently ASoC card initialisation is completed by a function called snd_soc_register_card(). As part of the work to allow independant registration of cards, codecs and machines in ASoC v2 a new function of the same name has been added so rename the existing function to facilitate the merge of v2. Signed-off-by: Mark Brown commit 6c415b9234a8c71f290e5d4fddc467f103f32719 Author: Arun R Bharadwaj Date: Mon Dec 1 20:49:05 2008 +0530 sched: add uid information to sched_debug for CONFIG_USER_SCHED Impact: extend information in /proc/sched_debug This patch adds uid information in sched_debug for CONFIG_USER_SCHED Signed-off-by: Arun R Bharadwaj Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 50cec5c51c18301ff60262fdbe920f4a907c9d81 Author: FUJITA Tomonori Date: Tue Dec 2 02:17:15 2008 +0900 x86: fix dma_mapping_error for 32bit x86, cleanup This removes ifdef CONFIG_X86_64 in dma_mapping_error(): 1) Xen people plan to use swiotlb on X86_32 for Dom0 support. swiotlb uses ops->mapping_error so X86_32 also needs to check ops->mapping_error. 2) Removing #ifdef hack is almost always a good thing. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit f6d2e6f57bba66272b28dd20c949b14ce39cb804 Merge: 8caac56... 7b1dedc... Author: Ingo Molnar Date: Mon Dec 1 20:36:13 2008 +0100 Merge branch 'x86/urgent' into x86/iommu commit 682d5874f3d654b5d13d9b8dd56b9e05cfadd01b Author: Takashi Iwai Date: Mon Dec 1 20:03:54 2008 +0100 ALSA: ASoC: Fix old-style trigger callback in s3c2443-ac97.c Fix the old-style trigger callback in s3c2443-ac97.c: sound/soc/s3c24xx/s3c2443-ac97.c:378: warning: initialization from incompatible pointer type Signed-off-by: Takashi Iwai commit 5220ed6b321639d68a66bad2082456c1b273f3ea Author: Takashi Iwai Date: Mon Dec 1 20:00:47 2008 +0100 ALSA: ASoC: Fix compile warnings on corgi.c Fix the wrong shutdown callback type. Also removed the unused variables there: sound/soc/pxa/corgi.c: In function 'corgi_shutdown': sound/soc/pxa/corgi.c:114: warning: unused variable 'codec' sound/soc/pxa/corgi.c: At top level: sound/soc/pxa/corgi.c:175: warning: initialization from incompatible pointer type Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 0bc286e2ac72e483d2b5a6dac0dafb05e9f047c8 Author: Takashi Iwai Date: Mon Dec 1 19:59:35 2008 +0100 Revert "ALSA: soc - Fix compile warnings in wm8903.c" This reverts commit 9171e5e6a20a9cd4992ff9c7cbee13c6fdf7b0b1. I can't reproduce the compile warnings any more. The warnings might be some weird cross-compiling set up. Signed-off-by: Takashi Iwai commit 657e1de8e742cf81153d2d15545948bd58294200 Merge: 9398253... 6f13d27... Author: Russell King Date: Mon Dec 1 17:53:45 2008 +0000 Merge branch 'for-rmk-realview' of git://linux-arm.org/linux-2.6 into devel commit 93982535a201399c0023c1166a7f16a335134d5a Author: Kristoffer Ericson Date: Wed Nov 26 20:58:43 2008 +0100 [ARM] 5336/1: Formatting/Whitespace cleanups in mach-sa1100 This patch fixes bad formatting found in mach-sa1100 files. What it does is to replace/delete things like excessive spaces (start || endline). The code looks the same just alot less junk. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 799a0600ac49b03c1a6244847c2725c0082ba775 Author: Hartley Sweeten Date: Tue Oct 28 17:55:30 2008 +0100 [ARM] 5324/2: ep93xx: support gpio interrupt debounce Add debounce support for ep93xx gpio interrupts. On the EP93xx, GPIO ports A, B, and F can be used to generate interrupts. For each port, if interrupts are enabled, it is possible to debouce the input signal. Debouncing is implemented by passing the input signal through a 2-bit shift register clocked by a 128Hz clock. This patch adds a platform specific way to enable the debouce feature for these input ports. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit d52a26a956d3925c6eaf8770e95e4d5f13740696 Author: Hartley Sweeten Date: Thu Oct 16 23:57:03 2008 +0100 [ARM] 5311/1: ep93xx: add core support for built in i2c bus Allow the ep93xx platform init code to register the built-in i2c bus. The EP93xx processor has two GPIO pins dedicated for an I2C bus. This patch registers the platform supplied i2c_board_info and the necessary platform_device information for the i2c-gpio driver to use these pins. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 4c5744ed59ac8c7312399f279b96e6e3d8f95b5d Author: Hartley Sweeten Date: Wed Oct 15 20:01:30 2008 +0100 [ARM] 5309/1: ep93xx: add edb9307a platform Add Cirrus Logic EDB9307A Dev Board to arch/arm/mach-ep93xx Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 7be90a6ba996e43902fc89704b60a57fd4659a63 Author: Stelian Pop Date: Wed Oct 22 13:52:08 2008 +0100 [ARM] 5319/1: AT91: support AT91CAP9 revC CPUs The AT91CAP9 revC CPU has a few differences over the previous, revB CPU which was distributed in small quantities only (revA was an internal Atmel product only). This patch adds the detection routines to recognize the different AT91CAP9 revisions (based on the PMC subsystem version number), and uses them to: - activate a workaround for the external interrupts levels (on revB CPUs) - set the UDPHS_BYPASS bit (on revB CPUs) - set AT91_GPBR register address to the correct offset (0xfffffd50 on revB, 0xfffffd60 on revC) For debugging usage, the CPU revision can be found in /proc/cpuinfo on the 'Revision' line. This patch is extracted from Andrew Victor's -at91 patch (2.6.27-at91.patch) where it has been tested for the last 6 months. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ffc63b7d30370e23d7e052df2c1c2c4526464ba6 Author: Andrew Victor Date: Mon Oct 6 20:13:53 2008 +0100 [ARM] 5290/1: [AT91] Add support for the Adeneo NeoCore 926 board Add support for the Adeneo NeoCore 926 board. Signed-off-by: Guillaume GARDET Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 8cdae51aa951e22bc9134cc94c30d1206c84ea8e Author: Andrew Victor Date: Mon Oct 6 20:05:35 2008 +0100 [ARM] 5289/1: [AT91] Convert boards to use sam9_smc_configure() Convert the SAM9 and CAP9 board-specific files to make use of the sam9_smc_configure() method to configure the memory-controller for external peripherals. The following boards have been modified: cam60 : NAND cap9adk : NAND, NOR qil-a9260 : NAND sam9-l9260 : NAND sam9260ek : NAND sam9261ek : DM9000 Ethernet, NAND sam9263 : NAND sam9g20ek : NAND sam9rlek : NAND usb-a9260 : NAND usb-a9263 .: NAND Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 461d3b4dcf2b3b92f819b668d16b36a87046fd98 Author: Andrew Victor Date: Mon Oct 6 20:01:00 2008 +0100 [ARM] 5288/1: [AT91] Remove SMC configuration from devices.c files In at91_add_device_nand(), do not configure the Static Memory controller with specific timing values. The *_devices.c files are board independent, and the SMC timing values are specific to the NAND devices that are installed on the board. The board-specific files are now responsible for configuring the Static Memory controller (if the don't want to leave it up to a bootloader). Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 6781002bec5237ee8ac1e1daeb0ba976e780a884 Author: Andrew Victor Date: Mon Oct 13 20:28:13 2008 +0100 [ARM] 5287/2: [AT91] Configuration of Static Memory Controller Add a structure 'sam9_smc_config' and function sam9_smc_configure() to allow the board-specific files to specify the configuration of the Static Memory Controller per chip-select. This allows the board file to specify timings for NAND flash, NOR flash or other external peripherals. This functionality can be used for all the SAM9 and CAP9 processors. (the AT91RM9200 has a different memory-controller) This patch is based on similar code in the AVR32 architecture. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2caf6a1f9c8bcdc81ba580cfbf512d073c9444be Author: Takashi Iwai Date: Mon Dec 1 17:56:06 2008 +0100 ALSA: ASoC: Remove superfluous dependency on SND_SOC The dependency on SND_SOC is already fulfilled in sound/soc/Kconfig, thus no more need in Kconfig of each sub directory. Signed-off-by: Takashi Iwai commit 3af4182cc5be7d5505f9801ee3297373f1872446 Merge: f5d4c67... c07f62e... Author: Takashi Iwai Date: Mon Dec 1 18:02:17 2008 +0100 Merge branch 'upstream' into topic/asoc commit f5d4c67e41a262f0cdfaec1bb0fa8e5952187ef9 Author: Takashi Iwai Date: Mon Dec 1 16:29:47 2008 +0100 ALSA: soc - Remove obsoleted sound/driver.h inclusion Signed-off-by: Takashi Iwai commit 1966bbd62ce31cef0cb020a6b4bd852dbc63b40c Author: Mark Brown Date: Mon Dec 1 14:54:45 2008 +0000 ALSA: ac97 - Add WM9715 to AC97 IDs The WM9715 is software compatible with the WM9711 and WM9712. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 6f13d278836d7251168631faeb0cbf5e4cdd98e5 Author: Catalin Marinas Date: Mon Dec 1 14:55:00 2008 +0000 RealView: Select CPU_V6 for MACH_REALVIEW_PB11MP This seems to be missing from the arm:devel branch, though the other RealView configurations were modified accordingly. Signed-off-by: Catalin Marinas commit 5582ad18381db2ab2159c2e8c7e51eaeb9c83900 Author: Catalin Marinas Date: Mon Dec 1 14:55:00 2008 +0000 RealView: Update the realview-smp_defconfig file to a newer kernel The original file was based on 2.6.19-rc3. Apart from the new symbols, the explicitly enabled eatures are AEABI, REALVIEW_HIGH_PHYS_OFFSET and MACH_REALVIEW_PB11MP. Signed-off-by: Catalin Marinas commit 2f152ad93127b7b890fc7134dabc64e086b37fac Author: Catalin Marinas Date: Mon Dec 1 14:54:59 2008 +0000 RealView: Update the realview_defconfig file to a newer kernel The original file was based on 2.6.14-rc2. Apart from the new symbols, the explicitly enabled features are AACI, MMC, AEABI, MACH_REALVIEW_PB1176 and MACH_REALVIEW_PB11MP. Signed-off-by: Catalin Marinas commit 0a5b2f6be708bb6a2388b9f188cf0c48a33b1d5f Author: Catalin Marinas Date: Mon Dec 1 14:54:59 2008 +0000 RealView: Allow the in-kernel smc911x.c driver on RealView This patch adds smc911x.c device configuration to the RealView platforms. At some point it may be changed to the new smsc911x.c driver (once complete testing was done). Signed-off-by: Catalin Marinas commit 0a3813306f432e8925ff648c84bd488b840e5185 Author: Catalin Marinas Date: Mon Dec 1 14:54:58 2008 +0000 RealView: Refactor the Ethernet device registration This patch moves the Ethernet device registration from individual realview_*.c files to core.c. Signed-off-by: Catalin Marinas commit 1bbdf637baa708a2f0f46ead56c6c618b7dad7a8 Author: Catalin Marinas Date: Mon Dec 1 14:54:58 2008 +0000 RealView: Clean up the machine_is_*() calls in platsmp.c Some of the calls weren't necessary and some others were duplicated. This patch tidies up the platsmp.c file. Signed-off-by: Catalin Marinas commit ebac6546df7e8bd17f66f029c616ea9ee3c595ae Author: Catalin Marinas Date: Mon Dec 1 14:54:57 2008 +0000 RealView: Use only the shadow mapping of ARM11MPCore local timers All the cases where the local timer for a CPU is accessed happen on the corresponding current CPU, hence no need to access the per-CPU local timer mappings. Signed-off-by: Catalin Marinas commit 4c3ea3717103ffcccfaebedb98c2dadfb54e0482 Author: Jon Callan Date: Mon Dec 1 14:54:56 2008 +0000 RealView: Add Cortex-A9 support to the EB board This patch adds the necessary definitions and Kconfig entries to enable Cortex-A9 (ARMv7 SMP) tiles on the RealView/EB board. Signed-off-by: Jon Callan Signed-off-by: Catalin Marinas commit 8aa2da872a492a2196397603ed756a4c48677122 Author: Harry Fearnhamm Date: Mon Dec 1 14:54:56 2008 +0000 RealView: Use flush_cache_all() rather than MCR in cpu_enter_lowpower() The MCR for flushing the whole D cache is undefined on ARMv7 CPUs. Signed-off-by: Harry Fearnhamm Signed-off-by: Catalin Marinas commit e7c70825a758403cfb476903f3145e6a8c0dd3b5 Author: Bahadir Balban Date: Mon Dec 1 14:54:55 2008 +0000 RealView: Add support for the Cortex-A8 Platform Baseboard This patch adds support for RealView/PB-A8, a platform based on Cortex-A8 with support for PCI-E and compact flash. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 70bb62f8ecdda2d172b05d33b0e6750e3fe6d1c7 Author: Catalin Marinas Date: Mon Dec 1 14:54:55 2008 +0000 RealView: Allow PHYS_OFFSET at 0x70000000 RealView boards like PB11MPCore have 512MB of RAM available contiguously at 0x70000000. Half of the memory is mirrored at 0x00000000 for backwards compatibility. This patch adds the CONFIG_REALVIEW_HIGH_PHYS_OFFSET option option to change the physical base address so that the full amount of RAM is available to Linux. Note that the EB board has 256MB of RAM also mirrored at 0x70000000, the only board without this feature being PB1176. Signed-off-by: Catalin Marinas commit 9171e5e6a20a9cd4992ff9c7cbee13c6fdf7b0b1 Author: Takashi Iwai Date: Mon Dec 1 15:39:13 2008 +0100 ALSA: soc - Fix compile warnings in wm8903.c Hide annoying uninitialized warnings: sound/soc/codecs/wm8903.c:382: warning: ‘reg’ may be used uninitialized in this function sound/soc/codecs/wm8903.c:383: warning: ‘shift’ may be used uninitialized in this function Signed-off-by: Takashi Iwai commit ade9b2fb9bf8114f77eefc70b9042417e62acf72 Author: Markus Bollinger Date: Mon Dec 1 15:31:06 2008 +0100 ALSA: pcxhr - change firmware filenames - compatibility issue : change firmware filenames the pcxhr driver version <= 1.0.18a does not work with new firmware > 1.0.17. Keep the old firmware files and add new firmware files with different names Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 480cf663e6988b3e79b570b42d2dbdb6c2ba9b94 Author: Takashi Iwai Date: Mon Dec 1 15:28:07 2008 +0100 ALSA: Fix a compile warning in cs46xx_lib.c Fix a build warning sound/pci/cs46xx/cs46xx_lib.c:3643: warning: unused variable ‘i’ when CONFIG_SND_CS46XX_NEW_DSP=n. Signed-off-by: Takashi Iwai commit 37efe6427dd50e889473fb3c7fcec02dbbd098eb Author: Russell King Date: Mon Dec 1 11:53:07 2008 +0000 [ARM] use asm/sections.h Update to use the asm/sections.h header rather than declaring these symbols ourselves. Change __data_start to _data to conform with the naming found within asm/sections.h. Signed-off-by: Russell King commit 8c2f767bf3c4a7932898e657c6b12a2234cd2eca Author: Takashi Iwai Date: Mon Dec 1 11:54:35 2008 +0100 ALSA: hda - Remove unnecessary caches for power states in patch_sigmatel.c The power-state changes in patch_sigmatel.c are accessed via *_cached() but they shouldn't be really cached. Fixed to the normal write. Also, stac92hd71xx_suspend and resume are no longer necessary as the power-state changes are handled properly in the common routine. Removed these hacks now. Signed-off-by: Takashi Iwai commit c9b46f9144b8dce6c12aec08f34a908aedd28b37 Author: Takashi Iwai Date: Mon Dec 1 11:42:09 2008 +0100 ALSA: hda - Use amp cache for SPDIF mute controls in patch_sigmatel.c The amp switch of SPDIF outputs have to be cached in the amp cache instead of codec cache. Otherwise it conflicts with the IEC958 playback switch control in hda_codec.c. Signed-off-by: Takashi Iwai commit 0e446673a15a4e9c336b67c1a638eb12c21d0993 Author: Christoph Hellwig Date: Fri Nov 28 14:23:42 2008 +1100 [XFS] fix error handling in xlog_recover_process_one_iunlink If we fail after xfs_iget we have to drop the reference count, spotted by Dave Chinner. Also remove some useless asserts and stop trying to deal with di_mode == 0 inodes because never gets those without passing the IGET_CREATE flag to xfs_iget. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Niv Sardi commit 24f211bad09a31f19dda0c3faffe0244f4f235f5 Author: Christoph Hellwig Date: Fri Nov 28 14:23:42 2008 +1100 [XFS] move inode allocation out xfs_iread Allocate the inode in xfs_iget_cache_miss and pass it into xfs_iread. This simplifies the error handling and allows xfs_iread to be shared with userspace which already uses these semantics. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit b48d8d64377f39913663a06f4757f3b8c6fc6d87 Author: Christoph Hellwig Date: Fri Nov 28 14:23:41 2008 +1100 [XFS] kill the XFS_IMAP_BULKSTAT flag Just pass down the XFS_IGET_* flags all the way down to xfs_imap instead of translating them mid-way. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 92bfc6e7c4eabbbd15e7d6d49123b296d05dcfd1 Author: Christoph Hellwig Date: Fri Nov 28 14:23:41 2008 +1100 [XFS] embededd struct xfs_imap into xfs_inode Most uses of struct xfs_imap are to map and inode to a buffer. To avoid copying around the inode location information we should just embedd a strcut xfs_imap into the xfs_inode. To make sure it doesn't bloat an inode the im_len is changed to a ushort, which is fine as that's what the users exepect anyway. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 94e1b69d1abd108d306e926c3012ec89e481c0da Author: Christoph Hellwig Date: Fri Nov 28 14:23:41 2008 +1100 [XFS] merge xfs_imap into xfs_dilocate xfs_imap is the only caller of xfs_dilocate and doesn't add any significant value. Merge the two functions and document the various cases we have for inode cluster lookup in the new xfs_imap. Also remove the unused im_agblkno and im_ioffset fields from struct xfs_imap while we're at it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit a1941895034cda2bffa23ba845607c82138ccf52 Author: Christoph Hellwig Date: Fri Nov 28 14:23:40 2008 +1100 [XFS] remove dead code for old inode item recovery We have removed the support for old-style inode items a while ago and xlog_recover_do_inode_trans is now only called for XFS_LI_INODE items. That means we can remove the call to xfs_imap there and with it the XFS_IMAP_LOOKUP that is set by all other callers. We can also mark xfs_imap static now. (First sent on October 21st) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 76d8b277f7b715f78ee3cb09ee112563639693a5 Author: Christoph Hellwig Date: Fri Nov 28 14:23:40 2008 +1100 [XFS] stop using xfs_itobp in xfs_iread The only caller of xfs_itobp that doesn't have i_blkno setup is now the initial inode read. It needs access to the whole xfs_imap so using xfs_inotobp is not an option. Instead opencode the buffer lookup in xfs_iread and kill all the functionality for the initial map from xfs_itobp. (First sent on October 21st) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 23fac50f959a87febf7ce4ae9d47525121f10c7a Author: Christoph Hellwig Date: Fri Nov 28 14:23:40 2008 +1100 [XFS] split up xlog_recover_process_iunlinks Split out the body of the main loop into a separate helper to make the code readable. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 51ce16d519da0bc3c548e0facef7cb3aab1ac8cc Author: Christoph Hellwig Date: Fri Nov 28 14:23:39 2008 +1100 [XFS] kill XFS_DINODE_VERSION_ defines These names don't add any value at all over just using the numerical values. (First sent on October 9th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 81591fe2db19d0fc1ec2aaaa6a790a5ab97ac3ab Author: Christoph Hellwig Date: Fri Nov 28 14:23:39 2008 +1100 [XFS] kill xfs_dinode_core_t Now that we have a separate xfs_icdinode_t for the in-core inode which gets logged there is no need anymore for the xfs_dinode vs xfs_dinode_core split - the fact that part of the structure gets logged through the inode log item and a small part not can better be described in a comment. All sizeof operations on the dinode_core either really wanted the icdinode and are switched to that one, or had already added the size of the agi unlinked list pointer. Later both will be replaced with helpers once we get the larger CRC-enabled dinode. Removing the data and attribute fork unions also has the advantage that xfs_dinode.h doesn't need to pull in every header under the sun. While we're at it also add some more comments describing the dinode structure. (First sent on October 7th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit d42f08f61c5e7f0ed4c6b6df4c9987ddb85ec66e Author: Christoph Hellwig Date: Fri Nov 28 14:23:38 2008 +1100 [XFS] kill xfs_ialloc_log_di xfs_ialloc_log_di is only used to log the full inode core + di_next_unlinked. That means all the offset magic is not nessecary and we can simply use xfs_trans_log_buf directly. Also add a comment describing what we should do here instead. (First sent on October 7th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit b28708d6a0a3ed65a68f0dcd8e6d1c09f14e5cf3 Author: Christoph Hellwig Date: Fri Nov 28 14:23:38 2008 +1100 [XFS] sanitize xlog_in_core_t definition Move all fields from xlog_iclog_fields_t into xlog_in_core_t instead of having them in a substructure and the using #defines to make it look like they were directly in xlog_in_core_t. Also document that xlog_in_core_2_t is grossly misnamed, and make all references to it typesafe. (First sent on Semptember 15th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 4805621a37d9b2b16641b5c68597651419e9e252 Author: From: Christoph Hellwig Date: Fri Nov 28 14:23:38 2008 +1100 [XFS] factor out xfs_read_agf helper Add a helper to read the AGF header and perform basic verification. Based on hunks from a larger patch from Dave Chinner. (First sent on Juli 23rd) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 5e1be0fb1a3950597aeda448698e85b0595a2e92 Author: Christoph Hellwig Date: Fri Nov 28 14:23:37 2008 +1100 [XFS] factor out xfs_read_agi helper Add a helper to read the AGI header and perform basic verification. Based on hunks from a larger patch from Dave Chinner. (First sent on Juli 23rd) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 26c5295135d10fc90cbf160adfda392d91f58279 Author: Dave Chinner Date: Fri Nov 28 14:23:37 2008 +1100 [XFS] remove i_gen from incore inode i_gen is incremented in directory operations when the directory is changed. It is never read or otherwise used so it should be removed to help reduce the size of the struct xfs_inode. The patch also removes a duplicate logging of the directory inode core. We only need to do this once per transaction so kill the one associated with the i_gen increment. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 207fcfad58482c7c9f92939a1f6df9f7e8873a34 Author: Christoph Hellwig Date: Fri Nov 28 14:23:37 2008 +1100 [XFS] remove xfs_vfsops.h The only thing left is xfs_do_force_shutdown which already has a defintion in xfs_mount.h. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 2b5decd09e9f98c4e361f97f3e32d80164774f75 Author: Christoph Hellwig Date: Fri Nov 28 14:23:36 2008 +1100 [XFS] remove xfs_vfs.h The only thing left are the forced shutdown flags and freeze macros which fit into xfs_mount.h much better. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit 00dd4029e9afa642c2b26dc3aac834322ac29b4a Author: Christoph Hellwig Date: Fri Nov 28 14:23:36 2008 +1100 [XFS] remove bhv_statvfs_t typedef Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit f35642e2f89f2b0379e929bd9027342365abc839 Author: Eric Sandeen Date: Fri Nov 28 14:23:35 2008 +1100 [XFS] Hook up the fiemap ioctl. This adds the fiemap inode_operation, which for us converts the fiemap values & flags into a getbmapx structure which can be sent to xfs_getbmap. The formatter then copies the bmv array back into the user's fiemap buffer via the fiemap helpers. If we wanted to be more clever, we could also return mapping data for in-inode attributes, but I'm not terribly motivated to do that just yet. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 5af317c942aebc928ab244eb69581bd8e5333215 Author: Eric Sandeen Date: Fri Nov 28 14:23:35 2008 +1100 [XFS] Add new getbmap flags. This adds a new output flag, BMV_OF_LAST to indicate if we've hit the last extent in the inode. This potentially saves an extra call from userspace to see when the whole mapping is done. It also adds BMV_IF_DELALLOC and BMV_OF_DELALLOC to request, and indicate, delayed-allocation extents. In this case bmv_block is set to -2 (-1 was already taken for HOLESTARTBLOCK; unfortunately these are the reverse of the in-kernel constants.) These new flags facilitate addition of the new fiemap interface. Rather than adding sh_delalloc, remove sh_unwritten & just test the flags directly. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 8a7141a8b931d60d42830432b82078cd6dace83b Author: Eric Sandeen Date: Fri Nov 28 14:23:35 2008 +1100 [XFS] convert xfs_getbmap to take formatter functions Preliminary work to hook up fiemap, this allows us to pass in an arbitrary formatter to copy extent data back to userspace. The formatter takes info for 1 extent, a pointer to the user "thing*" and a pointer to a "filled" variable to indicate whether a userspace buffer did get filled in (for fiemap, hole "extents" are skipped). I'm just using the getbmapx struct as a "common denominator" because as far as I can see, it holds all info that any formatters will care about. ("*thing" because fiemap doesn't pass the user pointer around, but rather has a pointer to a fiemap info structure, and helpers associated with it) Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 0924b585fc49bf371bc700c23e516a538bf589af Author: Dave Chinner Date: Fri Nov 28 14:23:34 2008 +1100 [XFS] fix uninitialised variable bug in dquot release. gcc is warning about an uninitialised variable in xfs_growfs_rt(). This is a false positive. Fix it by changing the scope of the transaction pointer to wholly within the internal loop inside the function. While there, preemptively change xfs_growfs_rt_alloc() in the same way as it has exactly the same structure as xfs_growfs_rt() but gcc is not warning about it. Yet. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 2e6560929d8ab4b650fecc3a87013852b34f0922 Author: Dave Chinner Date: Fri Nov 28 14:23:33 2008 +1100 [XFS] fix error inversion problems with data flushing XFS gets the sign of the error wrong in several places when gathering the error from generic linux functions. These functions return negative error values, while the core XFS code returns positive error values. Hence when XFS inverts the error to be returned to the VFS, it can incorrectly invert a negative error and this error will be ignored by the syscall return. Fix all the problems related to calling filemap_* functions. Problem initially identified by Nick Piggin in xfs_fsync(). Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Niv Sardi commit 65795910c1b798f8a47181b48cf6eb163a15e778 Author: Christoph Hellwig Date: Fri Nov 28 14:23:33 2008 +1100 [XFS] fix spurious gcc warnings Some recent gcc warnings don't like passing string variables to printf-like functions without using at least a "%s" format string. Change the two occurances of that in xfs to please gcc. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Niv Sardi commit 6c31b93a14a453c8756ffd228e24910ffdf30c5d Author: Christoph Hellwig Date: Fri Nov 28 14:23:32 2008 +1100 [XFS] allow inode64 mount option on 32 bit systems Now that we've stopped using the Linux inode cache when can trivally support the inode64 mount option on 32bit architectures. As far as the kernel and most userspace is concerned this works perfectly, but applications still using really old stat and readdir interfaces will get an EOVERFLOW error when hitting an inode number not fitting into 32 bits (that problem of course also exists when using these applications on a 64bit kernel). Note that because inode64 is simply a mount option we can currently mount a filesystem having > 32 bit inode numbers and cause a variety of problems, all this is solved but this patch which enables XFS_BIG_INUMS, even when inode64 is not used. (First sent on October 18th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit f999a5bf3fa6b3d11334c3ba1e9dcfed5ff9f8a6 Author: Christoph Hellwig Date: Fri Nov 28 14:23:32 2008 +1100 [XFS] wire up ->open for directories Currently there's no ->open method set for directories on XFS. That means we don't perform any check for opening too large directories without O_LARGEFILE, we don't check for shut down filesystems, and we don't actually do the readahead for the first block in the directory. Instead of just setting the directories open routine to xfs_file_open we merge the shutdown check directly into xfs_file_open and create a new xfs_dir_open that first calls xfs_file_open and then performs the readahead for block 0. (First sent on September 29th) Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Niv Sardi commit bac8dca9f9b1dfcf9c4ecb4f9ca17185b828cc20 Author: Christoph Hellwig Date: Fri Nov 28 14:23:31 2008 +1100 [XFS] fix NULL pointer dereference in xfs_log_force_umount xfs_log_force_umount may be called very early during log recovery where If we fail a buffer read in xlog_recover_do_inode_trans we abort the mount. But at that point log recovery has started delayed writeback of inode buffers. As part of the aborted mount we try to flush out all delwri buffers, but at that point we have already freed the superblock, and set mp->m_sb_bp to NULL, and xfs_log_force_umount which gets called after the inode buffer writeback trips over it. Make xfs_log_force_umount a little more careful when accessing mp->m_sb_bp to avoid this. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Niv Sardi commit 98444d3dd975653a4a970ecc0dfc30918da92f60 Author: Sascha Sommer Date: Sat Nov 29 07:51:19 2008 +0100 sdricoh_cs: Add support for Bay Controller devices Some Ricoh SD card readers seems to advertise themselves slightly differently. This patches the driver to will recognise an additional product id, and it appears to work perfectly. % pccardctl info PRODID_1="RICOH" PRODID_2="Bay Controller" PRODID_3="" PRODID_4="" MANFID=0000,0000 Signed-off-by: Charles Lowe Acked-by: Sascha Sommer Signed-off-by: Pierre Ossman commit 99ba04053a3712498327bd147c22a9877100a904 Author: Nicolas Ferre Date: Thu Nov 27 17:23:49 2008 +0100 mmc: at91_mci: reorder timer setup and mmc_add_host() call As said in function comment mmc_add_host() requires that: "The host must be prepared to start servicing requests before this function completes." During this function, at91_mci_request() can be invoqued without timer beeing setup leading to a kernel Oops. This has been reported inserting this driver as a module. Signed-off-by: Nicolas Ferre Reported-by: Wu Xuan Signed-off-by: Pierre Ossman commit 112243034cec7c3ef0499fdebf39218714da453d Merge: 773e961... ee569c4... Author: Russell King Date: Sun Nov 30 17:46:52 2008 +0000 Merge branch 'clks' into devel commit ee569c43e340202fb0ba427c57b77568a32b9a3a Author: Russell King Date: Sun Nov 30 17:38:14 2008 +0000 [ARM] amba drivers: don't pass a consumer clock name for devices with unique clocks Where devices only have one consumer, passing a consumer clock ID has no real benefit, and it only encourages wrong implementations of the clk API. Remove it. Signed-off-by: Russell King commit 80a5931b518438cc61926673ccbb2b223d01d201 Author: Russell King Date: Sun Nov 30 17:34:32 2008 +0000 [ARM] lh7a40x: convert to simple clk API lh7a40x only uses the clk API for the framebuffer, so there's no point having a complicated implementation. Signed-off-by: Russell King commit 846b368eb91da88ae35bf541d5604edcd5733bc3 Author: Russell King Date: Sun Nov 30 17:30:05 2008 +0000 [ARM] lh7a40x: clocks - cleanup Remove commented out code, and unnecessary declarations. Signed-off-by: Russell King commit 4ab08ecfbc68960ecfb268bac30c57f838fa414e Author: Russell King Date: Sun Nov 30 17:27:20 2008 +0000 [ARM] aaec2000: convert to simple clk API aaec2000 only uses the clk API for the framebuffer, so there's no point having a complicated implementation. Signed-off-by: Russell King commit eefc842a6e1de128fbdc9214b9f178a2e238fb7b Author: Russell King Date: Sun Nov 30 17:17:25 2008 +0000 [ARM] netx: fix simple clk API ... to only return the framebuffer clock for the framebuffer device. Signed-off-by: Russell King commit ae696fd53280d85b43ec1dd74f80162bee088862 Author: Russell King Date: Sun Nov 30 17:11:49 2008 +0000 [ARM] ep93xx: convert to clkdev and match clocks by struct device where possible Signed-off-by: Russell King commit 773e9610a7bd44720b8b625d01997b2953edc2db Author: Russell King Date: Sun Nov 30 16:39:42 2008 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit b593c278b70c8f4ed483766de1c3963a806b1bca Author: Russell King Date: Sun Nov 30 14:42:43 2008 +0000 [ARM] davinci: asm/memory.h is not required for mach/vmalloc.h Signed-off-by: Russell King commit c837bc143126b0e8e0537eb6f8272ade807d48fd Author: Russell King Date: Sun Nov 30 13:46:10 2008 +0000 [ARM] amba-clcd: don't use SZ_ constants in drivers Signed-off-by: Russell King commit 3719ec5077d9a8bf293c494ff7eae766d6a70bbe Author: Russell King Date: Sun Nov 30 13:26:47 2008 +0000 [ARM] Ensure that both MAX_DMA_ADDRESS and ISA_DMA_THRESHOLD are defined Both of these symbols should be defined by a platform, or neither should be defined. Ensure that all platforms conform. Signed-off-by: Russell King commit 0560cf5aa51216b06874333a2fa26ca034d97bdb Author: Russell King Date: Sun Nov 30 11:45:54 2008 +0000 [ARM] Add a common typesafe __io implementation As Al did for Versatile in 2ad4f86b60b649fd7428265c08d73a3bd360c81b, add a typesafe __io implementation for platforms to use. Convert platforms to use this new simple typesafe implementation. Signed-off-by: Russell King commit cd32a48dc5c2f415790bfbc4fe564b2b0e9c2414 Author: Russell King Date: Sun Nov 30 11:44:11 2008 +0000 [ARM] integrator: parenthesize __virt_to_bus/__bus_to_virt argument Macro arguments should be parenthesized to avoid unexpected side effects. Signed-off-by: Russell King commit 74343ee4cd4141ddd64b1be72e17669fe3606611 Author: Russell King Date: Sun Nov 30 11:43:34 2008 +0000 [ARM] pnx4008: fix definition of PHYS_OFFSET PHYS_OFFSET constants should be defined using UL(). Signed-off-by: Russell King commit 9a5df92374d65e2886b92e98dd7d873c533a83ff Author: Marcel Holtmann Date: Sun Nov 30 12:17:29 2008 +0100 Bluetooth: Fix RFCOMM release oops when device is still in use It turns out that the following sequence of actions will reproduce the oops: 1. Create a new RFCOMM device (using RFCOMMCREATEDEV ioctl) 2. (Try to) open the device 3. Release the RFCOMM device (using RFCOMMRELEASEDEV ioctl) At this point, the "/dev/rfcomm*" device is still in use, but it is gone from the internal list, so the device id can be reused. 4. Create a new RFCOMM device with the same device id as before And now kobject will complain that the TTY already exists. (See http://lkml.org/lkml/2008/7/13/89 for a reproducible test-case.) This patch attempts to correct this by only removing the device from the internal list of devices at the final unregister stage, so that the id won't get reused until the device has been completely destructed. This should be safe as the RFCOMM_TTY_RELEASED bit will be set for the device and prevent the device from being reopened after it has been released. Based on a report from Vegard Nossum Signed-off-by: Marcel Holtmann commit 2e792995e4cb425422dc379c3618447c462756a8 Author: Marcel Holtmann Date: Sun Nov 30 12:17:29 2008 +0100 Bluetooth: Fix format arguments warning Newer GCC versions are a little bit picky about how to deal with format arguments: net/bluetooth/hci_sysfs.c: In function ‘hci_register_sysfs’: net/bluetooth/hci_sysfs.c:418: warning: format not a string literal and no format arguments It is simple enough to fix and makes the compiler happy. Signed-off-by: Marcel Holtmann commit a418b893a6af11ae73c762ed5b76c1bad6dc19d8 Author: Marcel Holtmann Date: Sun Nov 30 12:17:28 2008 +0100 Bluetooth: Enable per-module dynamic debug messages With the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to allow debugging without having to recompile the kernel. This patch turns all BT_DBG() calls into pr_debug() to support dynamic debug messages. As a side effect all CONFIG_BT_*_DEBUG statements are now removed and some broken debug entries have been fixed. Signed-off-by: Marcel Holtmann commit 5ddd4a60683f819982b7bd3d1aee972f931c11a3 Author: Marcel Holtmann Date: Sun Nov 30 12:17:27 2008 +0100 Bluetooth: Allow SCO audio with Asus WL-BTD202 dongle This patch allows the Asus WL-BTD202 dongle to be used with a mono headset without having to specify "options btusb force_scofix=1". Based on a patch from Guillaume Bedot Signed-off-by: Marcel Holtmann commit 7a9d4020533b5c0c615b6de3be154c9ff30b8cc9 Author: Marcel Holtmann Date: Sun Nov 30 12:17:26 2008 +0100 Bluetooth: Send HCI Reset command by default on device initialization The Bluetooth subsystem was not using the HCI Reset command when doing device initialization. The Bluetooth 1.0b specification was ambiguous on how the device firmware was suppose to handle it. Almost every device was triggering a transport reset at the same time. In case of USB this ended up in disconnects from the bus. All modern Bluetooth dongles handle this perfectly fine and a lot of them actually require that HCI Reset is sent. If not then they are either stuck in their HID Proxy mode or their internal structures for inquiry and paging are not correctly setup. To handle old and new devices smoothly the Bluetooth subsystem contains a quirk to force the HCI Reset on initialization. However maintaining such a quirk becomes more and more complicated. This patch turns the logic around and lets the old devices disable the HCI Reset command. The only device where the HCI_QUIRK_NO_RESET is still needed are the original Digianswer devices and dongles with an early CSR firmware. CSR reported that they fixed this for version 12 firmware. The last official release of version 11 firmware is build ID 115. The first version 12 candidate was build ID 117. Signed-off-by: Marcel Holtmann commit 12421b40b81d101d7535e03f1af197365adc932b Author: Marcel Holtmann Date: Sun Nov 30 12:17:21 2008 +0100 Bluetooth: Remove deprecated hci_usb driver The old hci_usb driver has been fully replaced with the new btusb driver and all major distributions switched to the new driver now. This removes it since it should not be used at all anymore. Signed-off-by: Marcel Holtmann commit 7b99d17f3ea1febd1abca8fa371d2341dd957d4a Author: Nick Pelly Date: Sun Nov 30 12:17:20 2008 +0100 Bluetooth: Respect HCI_UART_DEBUG config in hci_ll.c Following the pattern from hci_*.c, turn off BT_DBG messages unless they have been requested via HCI_UART_DEBUG Signed-off-by: Nick Pelly Acked-by: Brian Swetland Signed-off-by: Marcel Holtmann commit 51a6fbc855b07a0737558560dd0ab0b5f646025b Author: Julia Lawall Date: Sun Nov 30 12:17:20 2008 +0100 Bluetooth: Change simple_strtol to simple_strtoul Since size, addr, fcs, and tmp are unsigned, it would seem better to use simple_strtoul that simple_strtol. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r2@ long e; position p; @@ e = simple_strtol@p(...) @@ position p != r2.p; type T; T e; @@ e = - simple_strtol@p + simple_strtoul (...) // Signed-off-by: Julia Lawall Signed-off-by: Marcel Holtmann commit db7aa1c203d477351ed1b8f394b40d9df06ddfc4 Author: Marcel Holtmann Date: Sun Nov 30 12:17:19 2008 +0100 Bluetooth: Fix warnings for bt_key_strings and bt_slock_key_strings After adding proper lockdep annotations for Bluetooth protocols the case when lockdep is disabled produced two compiler warnings: net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used Fix both of them by adding a CONFIG_DEBUG_LOCK_ALLOC conditional around them and re-arranging the code a little bit. Signed-off-by: Marcel Holtmann commit c6bf514c6e0171c5b731beffaa0c4463e2335f3d Author: Vegard Nossum Date: Sun Nov 30 12:17:19 2008 +0100 Bluetooth: Fix leak of uninitialized data to userspace struct hci_dev_list_req { __u16 dev_num; struct hci_dev_req dev_req[0]; /* hci_dev_req structures */ }; sizeof(struct hci_dev_list_req) == 4, so the two bytes immediately following "dev_num" will never be initialized. When this structure is copied to userspace, these uninitialized bytes are leaked. Fix by using kzalloc() instead of kmalloc(). Found using kmemcheck. Signed-off-by: Vegard Nossum Signed-off-by: Marcel Holtmann commit 7644d63d1348ec044ccd8f775fefe5eb7cbcac69 Author: Tomas Winkler Date: Sun Nov 30 12:17:18 2008 +0100 Bluetooth: Fix TX error path in btsdio driver This patch fixes accumulating of the header in case packet was requeued in the error path. Signed-off-by: Tomas Winkler Signed-off-by: Marcel Holtmann commit 6a88adf2adf5d6a3b759c2e114da4c5266ca3972 Author: Marcel Holtmann Date: Sun Nov 30 12:17:14 2008 +0100 Bluetooth: Add suspend/resume support to btusb driver During suspend it is important that all URBs are cancelled and then on resume re-submitted. This gives initial suspend/resume support. Based on initial work from Oliver Neukum Signed-off-by: Marcel Holtmann commit a780efa8124fe7ef23d8ef844d56afe960356615 Author: Marcel Holtmann Date: Sun Nov 30 12:17:12 2008 +0100 Bluetooth: Handle bulk URBs in btusb driver from notify callback With the addition of usb_unlink_anchored_urbs() it is possible to fully control the bulk URBs from the notify callback. There is no need to schedule work and so only do this for the ISOC URBs. Signed-off-by: Marcel Holtmann commit 2eda66f4a0b9803c6a85d5e5ccd8e802bd23b998 Author: Marcel Holtmann Date: Sun Nov 30 12:17:10 2008 +0100 Bluetooth: Add fine grained mem_flags usage to btusb driver The URB submission routines need more fine grained control for the mem_flags used by kmalloc(), usb_alloc_urb() and usb_submit_urb() to better support different caller situations. Add a mem_flags parameter and give the caller full control. Signed-off-by: Marcel Holtmann commit 93093d099e5dd0c258fd530c12668e828c20df41 Author: Ingo Molnar Date: Sun Nov 30 10:20:20 2008 +0100 x86: provide readq()/writeq() on 32-bit too, complete if HAVE_READQ/HAVE_WRITEQ are defined, the full range of readq/writeq APIs has to be provided to drivers: drivers/infiniband/hw/amso1100/c2.c: In function 'c2_tx_ring_alloc': drivers/infiniband/hw/amso1100/c2.c:133: error: implicit declaration of function '__raw_writeq' So provide them on 32-bit as well. Also, map all the APIs to the strongest ordering variant. It's way too easy to mess such details up in drivers and the difference between "memory" and "" constrained asm() constructs is in the noise range. Signed-off-by: Ingo Molnar commit a0b1131e479e5af32eefac8bc54c9742e23d638e Author: Ingo Molnar Date: Sun Nov 30 09:33:55 2008 +0100 x86: provide readq()/writeq() on 32-bit too, cleanup Impact: cleanup Signed-off-by: Ingo Molnar commit 2c5643b1c5c7fbb13f340d4c58944d9642f41796 Author: Hitoshi Mitake Date: Sun Nov 30 17:16:04 2008 +0900 x86: provide readq()/writeq() on 32-bit too Impact: add new API for drivers Add implementation of readq/writeq to x86_32, and add config value to the x86 architecture to determine existence of readq/writeq. Signed-off-by: Hitoshi Mitake Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit 4385cecf1f5866fb33fc95e2ee26a44e9b6f6be2 Author: Jiri Slaby Date: Sat Nov 29 22:33:16 2008 +0100 x86: intel_cacheinfo, minor show_type cleanup Impact: cleanup Signed-off-by: Jiri Slaby Cc: Jiri Slaby Signed-off-by: Ingo Molnar commit 25f13048bce61f33f6a102e0bf377fd3922ed364 Author: Tilman Schmidt Date: Sat Nov 29 21:38:28 2008 -0800 gigaset: get rid of info() and warn() macros Join the move away from the obsolete info() macro, opencoding the remaining uses. While we're at it, also get rid of the warn() macro by promoting the three remaining uses to err(). Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit af4218c3a699542adc9b76c8972828a726e7b0dc Author: Tilman Schmidt Date: Sat Nov 29 21:38:04 2008 -0800 gigaset: remove unnecessary poll method The N_GIGASET_M101 line discipline implemented by the ser_gigaset driver does not transfer any data from/to userspace through the tty interface. Therefore a poll method is not needed. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit f4ad9a9624fafec4647e7e45469e0446586f81fb Author: Ian Molton Date: Fri Sep 26 13:35:28 2008 +0100 [ARM] pxa: e740 MFP fix Add the USB pins to the e740 MFP table. Signed-off-by: Ian Molton commit 36033422639913dad1f3146d452116522c77f753 Author: Ian Molton Date: Sun Aug 24 19:21:26 2008 +0100 [ARM] IrDA support for e7xx This patchset provides a fully functional SIR IrDA driver for the Toshiba e7xx PDAs. Signed-off-by: Ian Molton commit fba670013d538719d13f103b2a5b4b06bdca202b Merge: 7577fdf... e856359... Author: Russell King Date: Sat Nov 29 19:35:07 2008 +0000 Merge branch 's3c-moves2' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 7577fdfa52438a19e7e8abedb6efc645986af2ae Author: Russell King Date: Sat Nov 29 19:14:31 2008 +0000 [ARM] give RiscPC a NR_IRQS definition and remove default RiscPC is the only platform using the default setting for NR_IRQS, so the default NR_IRQS doesn't really make sense; remove it and make RiscPC provide such a definition. Signed-off-by: Russell King commit 87c52578bd050ba395b0cae7079b1128abd2422d Author: Russell King Date: Sat Nov 29 17:35:51 2008 +0000 [ARM] Remove linux/sched.h from asm/cacheflush.h and asm/uaccess.h ... and fix those drivers that were incorrectly relying upon that include. Signed-off-by: Russell King commit f40b121d983dfc53bde882aadec7f2f0bbcbd1c2 Author: Russell King Date: Sat Nov 29 18:48:07 2008 +0000 [ARM] Rename ISA mach/dma.h header to mach/isa-dma.h This avoids confusion with platform specific DMA implementations in mach/dma.h Signed-off-by: Russell King commit dcea83adc666061864b82c96e059dffe7268b512 Author: Russell King Date: Sat Nov 29 11:40:28 2008 +0000 [ARM] Hide ISA DMA API when ISA_DMA_API is unset When ISA_DMA_API is unset, we're not implementing the ISA DMA API, so there's no point in publishing the prototypes via asm/dma.h, nor including the machine dependent parts of that API. This allows us to remove a lot of mach/dma.h files which don't contain any useful code. Unfortunately though, some platforms put their own private non-ISA definitions into mach/dma.h, so we leave these behind and fix the appropriate #include statments. Signed-off-by: Russell King commit c72e005b099302b3c6bee8381396199b77b6dd4f Author: Russell King Date: Sat Nov 29 10:56:33 2008 +0000 [ARM] fix constant values of MAX_DMA_ADDRESS Since 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7, we have allowed PAGE_OFFSET to be configurable, so a constant virtual address for MAX_DMA_ADDRESS is buggy. It should be defined in terms of PAGE_OFFSET rather than a constant virtual address. Signed-off-by: Russell King commit f08340c5d68ab621f377c108637e2d8e95b3e5d4 Author: Nikanth Karthikesan Date: Sat Nov 29 15:43:32 2008 +0530 tracepoints: Documentation TPPROTO misspelt in Documentation/tracepoints.txt Impact: fix typo in documentation TPPROTO is misspelt in Documentation/tracepoints.txt Kept me wondering what was wrong, when I was trying to add a new tracepoint subsystem. Signed-off-by: Nikanth Karthikesan Signed-off-by: Ingo Molnar commit b9c78022b0e65cdca2541be658f0e74138e92ffe Author: Russell King Date: Sat Nov 29 10:50:22 2008 +0000 [ARM] move MAX_DMA_ADDRESS to mach/memory.h Move the definition of MAX_DMA_ADDRESS from mach/dma.h to mach/memory.h, thereby placing it along side its relative, ISA_DMA_THRESHOLD. Signed-off-by: Russell King commit 65c6dc6adbe7ee0acf207445243400a68c77af15 Author: Frederic Weisbecker Date: Sat Nov 29 04:12:46 2008 +0100 tracing/branch-tracer: include missing irqflags.h Impact: fix build error on branch tracer This should fix a build error reported on alpha in linux-next: CC kernel/trace/trace_branch.o kernel/trace/trace_branch.c: In function 'probe_likely_condition': kernel/trace/trace_branch.c:44: error: implicit declaration of function 'raw_local_irq_save' kernel/trace/trace_branch.c:76: error: implicit declaration of function 'raw_local_irq_restore' Unfortunately, I can't test it since I don't have any Alpha build environment. Reported-by: Alexey Dobriyan Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit c5419e6f054c877339f754e02c3b1dafd88cd96c Author: Roland Dreier Date: Fri Nov 28 21:55:42 2008 -0800 cxgb3: Fix sparse warning and micro-optimize is_pure_response() The function is_pure_response() does "ntohl(var) & const" and then essentially just tests whether the result is 0 or not; this can be done more efficiently by computing "var & htonl(const)" instead and doing the byte swap at compile time instead of run time. This change slightly shrinks the compiled code; eg on x86-64 we save a couple of bswapl instructions: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8 (-8) function old new delta t3_sge_intr_msix_napi 544 536 -8 and this also has the pleasant side effect of fixing a sparse warning: drivers/net/cxgb3/sge.c:2313:15: warning: restricted degrades to integer Signed-off-by: Roland Dreier Signed-off-by: David S. Miller commit f95be1806fde884c1655237d49a7e5f82e4a935f Author: Giuseppe Cavallaro Date: Fri Nov 28 16:42:41 2008 -0800 phy: add the ST ste10Xp PHYs This patch adds the STMicroelectronics ste10xp PHY device driver. It supports both the ste100p and the ste101p devices. Suspend/resume alredy added. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 4621bf129856bad902d7662053b79faaeb3e66cc Author: David S. Miller Date: Fri Nov 28 16:40:26 2008 -0800 phy: Add file missed in previous commit. Signed-off-by: David S. Miller commit 0f0ca340e57bd7446855fefd07a64249acf81223 Author: Giuseppe Cavallaro Date: Fri Nov 28 16:24:56 2008 -0800 phy: power management support This patch adds the power management support into the physical abstraction layer. Suspend and resume functions respectively turns on/off the bit 11 into the PHY Basic mode control register. Generic PHY device starts supporting PM. In order to support the wake-on LAN and avoid to put in power down the PHY device, the MDIO is aware of what the Ethernet device wants to do. Voluntary, no CONFIG_PM defines were added into the sources. Also generic suspend/resume functions are exported to allow other drivers use them (such as genphy_config_aneg etc.). Within the phy_driver_register function, we need to remove the memset. It overrides the device driver owner and it is not good. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 914804b95caa61c633431262044034ab05c78ba4 Author: Giuseppe Cavallaro Date: Fri Nov 28 16:14:12 2008 -0800 phy: add natsemi PHY driver This patch adds the PHY device driver for the National Semiconductor DP83865 Gig PHYTER. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 65a467f553067fae21b66ac0778247c930936749 Author: Ilpo Järvinen Date: Fri Nov 28 15:55:00 2008 -0800 ne2: silence static never defined warnings These warning originate from 50014f1 (ne2: convert to net_device_ops) which did drop those functions. drivers/net/ne2.c:140: warning: 'ne_open' declared 'static' but never defined drivers/net/ne2.c:141: warning: 'ne_close' declared 'static' but never defined Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d8e8034dcdef8c8fa94a14c3b555c09e065e742f Author: Ilpo Järvinen Date: Fri Nov 28 15:52:43 2008 -0800 bnx2: use net_device_stats nowadays available in net_device Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9fd428761adbd5fbd7e23c312955eec1db8ace7a Author: Ilpo Järvinen Date: Fri Nov 28 15:52:00 2008 -0800 niu: use net_device_stats nowadays available in net_device Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5bed1fb3287dfb1f6cf717ec200b23d3e537c9ae Author: Russell King Date: Fri Nov 28 22:48:33 2008 +0000 [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm Signed-off-by: Russell King commit 0b3ce7fc3b9949a9867b810372226f5bc21dde1a Author: Russell King Date: Fri Nov 28 22:37:15 2008 +0000 [ARM] asm/system.h does not require asm/memory.h Signed-off-by: Russell King commit 92f3753f45427e3a51b76e955ba9ecf93a593bdb Author: Russell King Date: Fri Nov 28 21:13:08 2008 +0000 [ARM] ns9xxx: mach/hardware.h doesn't need asm/memory.h Signed-off-by: Russell King commit 4b78a9ffabbb03af4032ff704689912298e19070 Author: Russell King Date: Fri Nov 28 21:12:40 2008 +0000 [ARM] ixp4xx: clean up includes mach/io.h doesn't need linux/mm.h. mach/dma.h doesn't need linux/device.h, asm/page.h or mach/hardware.h Signed-off-by: Russell King commit 32643fe633ce1c9c892bceee35cd0d137d71bae5 Author: Russell King Date: Fri Nov 28 21:10:06 2008 +0000 [ARM] ixp23xx: mach/io.h doesn't need BUG() anymore ixp23xx's mach/io.h claims to need linux/kernel.h for BUG(). However, this header doesn't make use of BUG(). Signed-off-by: Russell King commit 6ae8595e979d0e3450ad33a7fa7db4bf87876c79 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] iop13xx: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/timex.h. Signed-off-by: Russell King commit 0114cb40d05c6cbde31bbb623e5e2d4252ecde02 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] iop3xx: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h, mach/memory.h and mach/timex.h. Include this header file where necessary. Signed-off-by: Russell King commit 47190a3350032ecbb6e17b18e22a1dca2265013a Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] shark: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 514161b601ff5d6e089582f8d8ad74baea0d200b Author: Russell King Date: Fri Nov 28 17:04:11 2008 +0000 [ARM] shark: remove old unused "translated" IO macros Signed-off-by: Russell King commit 1dab59c09b049ec2d2b89ec7afdc0e18d51719b8 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] clps711x: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 3a72d8aeb724c90dd6eaec8471868716d2c22b1f Author: Russell King Date: Fri Nov 28 21:09:35 2008 +0000 [ARM] footbridge: mach/hardware.h doesn't require mach/memory.h Signed-off-by: Russell King commit 70574a996fc7a70c5586eb56bd92a544eccf18b6 Author: Alexey Dobriyan Date: Fri Nov 28 22:08:00 2008 +0300 sched: move double_unlock_balance() higher Move double_lock_balance()/double_unlock_balance() higher to fix the following with gcc-3.4.6: CC kernel/sched.o In file included from kernel/sched.c:1605: kernel/sched_rt.c: In function `find_lock_lowest_rq': kernel/sched_rt.c:914: sorry, unimplemented: inlining failed in call to 'double_unlock_balance': function body not available kernel/sched_rt.c:1077: sorry, unimplemented: called from here make[2]: *** [kernel/sched.o] Error 1 Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit f1860c34b3ed829ac774647f266abf1074cd58cd Merge: 64b7482... 4cd4262... Author: Ingo Molnar Date: Fri Nov 28 20:11:05 2008 +0100 Merge branch 'sched/urgent' into sched/core commit 604094f4615180f71da799e7e5b191f5c2a42a28 Author: Ingo Molnar Date: Fri Nov 28 18:03:22 2008 +0100 vfs, seqfile: export mangle_path() generally mangle_path() is trivial enough to make export restrictions on it pointless - so change the export from EXPORT_SYMBOL_GPL to EXPORT_SYMBOL. Signed-off-by: Ingo Molnar Acked-by: Al Viro commit ec5679e513305f1411753e5f5489935bd638af23 Author: Ingo Molnar Date: Fri Nov 28 17:56:14 2008 +0100 debug warnings: eliminate warn_on_slowpath() Impact: cleanup, eliminate code now that warn_on_slowpath() uses warn_slowpath(...,NULL), we can eliminate warn_on_slowpath() altogether and use warn_slowpath(). Signed-off-by: Ingo Molnar commit 326878173bd352f968c958a4936fc2bc3540becd Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] footbridge: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit bd89bb29a01503c5cffa367eccb0b356f910cb8d Author: Arjan van de Ven Date: Fri Nov 28 08:36:09 2008 -0800 debug warnings: print the DMI board info name in a WARN/WARN_ON Impact: extend WARN_ON() output with DMI_PRODUCT_NAME It's very useful for many low level WARN_ON's to find out which motherboard has the broken BIOS etc... this patch adds a printk to the WARN_ON code for this. On architectures without DMI, gcc should optimize the code out. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 74853dba2f7a1a9b0905a09abcf65c1f3ce0b14f Author: Arjan van de Ven Date: Fri Nov 28 08:35:25 2008 -0800 debug warnings: consolidate warn_slowpath and warn_on_slowpath Impact: cleanup, code reduction warn_slowpath is a superset of warn_on_slowpath; just have warn_on_slowpath call warn_slowpath with a NULL 3rd argument. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 325045fa5358536edc0cc788ec32e9e2409ff0b1 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] aaec2000: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit fa44c9e21f93f90800a56bacc74baa884e155b16 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] lh7a40x: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 275c8a21db9ba7b63366dc253ddbe15e3a1b6e20 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] l7200: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 459fd555f4981fa90605d69748920973c9ff727d Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] h720x: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 1e14937eedd9008ff3be30bb7d12b4fe2a02cb90 Author: Russell King Date: Fri Nov 28 16:13:44 2008 +0000 [ARM] imx: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King commit 05678a96de2e97fdfd4b817478840ad6a02ea1d8 Author: Russell King Date: Fri Nov 28 16:04:54 2008 +0000 [ARM] pxa: avoid polluting the kernel's namespace Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h. Include this header file where necessary. Signed-off-by: Russell King commit 6de2c31d3dad7384b3efa03674bd6ed479d58cb2 Author: Russell King Date: Fri Nov 28 15:49:11 2008 +0000 [ARM] rpc: remove obsolete IO accessors Remove __arch_base_xxx() and __ioaddrc() macros; they're obsolete and unused. Signed-off-by: Russell King commit a838c2ec6ea1f18431da74dfe4978c57355b95f3 Author: Wu Fengguang Date: Thu Nov 27 16:14:44 2008 +0800 markers: comment marker_synchronize_unregister() on data dependency Add document and comments on marker_synchronize_unregister(): it should be called before freeing resources that the probes depend on. Based on comments from Lai Jiangshan and Mathieu Desnoyers. Signed-off-by: Wu Fengguang Reviewed-by: Mathieu Desnoyers Reviewed-by: Lai Jiangshan Signed-off-by: Ingo Molnar commit ccaec3ec78d0f1840a67acce6aaeeab99f2d88bf Author: Russell King Date: Fri Nov 28 15:42:42 2008 +0000 [ARM] versatile: remove IRQ mask definitions These definitions are unused and serve no purpose with genirq. Signed-off-by: Russell King commit 7ef4de17cc55a3c3b8d093743b1e3b845d8eba47 Merge: f412b09... b5ee900... Author: Russell King Date: Fri Nov 28 15:39:02 2008 +0000 Merge branch 'highmem' into devel Conflicts: arch/arm/mach-clps7500/include/mach/memory.h commit b5ee9002583fc14e6d45a04c18f208987a8fbced Author: Nicolas Pitre Date: Fri Sep 5 21:53:30 2008 -0400 [ARM] remove a common set of __virt_to_bus definitions Let's provide an overridable default instead of having every machine class define __virt_to_bus and __bus_to_virt to the same thing. What most platforms are using is bus_addr == phys_addr so such is the default. One exception is ebsa110 which has no DMA what so ever, so the actual definition is not important except only for proper compilation. Also added a comment about the special footbridge bus translation. Let's also remove comments alluding to set_dma_addr which is not (and should not) be commonly used. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 75f4aa15cf05ce6d99c8261cf57dcd749877fd1c Author: Nicolas Pitre Date: Fri Sep 5 16:05:14 2008 -0400 [ARM] unconditionally define __virt_to_phys and __phys_to_virt There is no machine class overriding this. If non linear translations are implemented again for some machines then this could be restored at that time. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 252d4c276dc0895834af48743579cf19d1fa150b Author: Nicolas Pitre Date: Thu Sep 11 11:52:02 2008 -0400 [ARM] remove bogus #ifdef CONFIG_HIGHMEM in show_pte() The restriction on !CONFIG_HIGHMEM is unneeded since page tables are currently never allocated with highmem pages, and actually disable PTE dump whenever highmem is configured. Let's have a dynamic test to better describe the current limitation instead. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 9210807cb5a3f19a0e954dd401e3a2c3626d1b48 Author: Nicolas Pitre Date: Fri Sep 19 10:43:06 2008 -0400 [ARM] prevent the vmalloc cmdline argument from eating all memory Commit 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7 allows for the vmalloc area to be resized from the kernel cmdline. Make sure it cannot overlap with RAM entirely. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 6db015e49c03d42247d2a985475b833635406a4f Author: Nicolas Pitre Date: Wed Sep 17 14:50:42 2008 -0400 [ARM] mem_init() cleanups Make free_area() arguments pfn based, and return number of freed pages. This will simplify highmem initialization later. Also, codepages, datapages and initpages are actually codesize, datasize and initsize. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit a1bbaec0cd2a59d4bb09b72e4541a8a12e480d5d Author: Nicolas Pitre Date: Tue Sep 2 11:44:21 2008 -0400 [ARM] split highmem into its own memory bank Doing so will greatly simplify the bootmem initialization code as each bank is therefore entirely lowmem or highmem with no crossing between those zones. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 4b5f32cee0cce7b9783ced5cbeabd17aa53c51fb Author: Nicolas Pitre Date: Mon Oct 6 13:24:40 2008 -0400 [ARM] rationalize memory configuration code some more Currently there are two instances of struct meminfo: one in kernel/setup.c marked __initdata, and another in mm/init.c with permanent storage. Let's keep only the later to directly populate the permanent version from arm_add_memory(). Also move common validation tests between the MMU and non-MMU cases into arm_add_memory() to remove some duplication. Protection against overflowing the membank array is also moved in there in order to cover the kernel cmdline parsing path as well. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 43ae286b7d4d8c4983bc263ef2e3cccc10dedb2b Author: Nicolas Pitre Date: Tue Nov 4 02:42:27 2008 -0500 [ARM] fix a couple clear_user_highpage assembly constraints In all cases the kaddr is assigned an input register even though it is modified in the assembly code. Let's assign a new variable to the modified value and mark those inline asm with volatile otherwise they get optimized away because the output variable is otherwise not used. Also fix a few conversion errors in copypage-feroceon.c and copypage-v4mc.c. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 02834f112d159eb87b584c7df56bddc5beeff5b3 Author: Takashi Iwai Date: Fri Nov 28 15:29:01 2008 +0100 ALSA: ac97 - Remove EXPERIMENTAL from CONFIG_SND_AC97_POWER_SAVE It's mature enough now. Signed-off-by: Takashi Iwai commit 36adba1fc79851949c4792f2e9b4d0dddbc6d5e4 Author: Takashi Iwai Date: Fri Nov 28 15:27:11 2008 +0100 ALSA: hda - Remove EXPERIMENTAL from CONFIG_SND_HDA_POWER_SAVE It's mature enough now. Signed-off-by: Takashi Iwai commit 8caac56305cef98f9357b060a77939d17699937d Author: Pavel Machek Date: Wed Nov 26 17:15:27 2008 +0100 aperture_64.c: clarify that too small aperture is valid reason for this code Impact: update comment Clarify that too small aperture is valid reason for this code. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit ff7a3267368634e368ebaac68d5e3abf129edd1d Author: Takashi Iwai Date: Fri Nov 28 15:17:06 2008 +0100 ALSA: hda - Don't export symbols when built-in kernel The global functions in hda_codec.c and other core parts are only for HD-audio codec and controller drivers. When the HD-audio driver is built in kernel, all stuff have to be statically linked, thus we don't need any exports. This patch introduces a conditional macro to do export only when needed. Signed-off-by: Takashi Iwai commit 645f10c1ac7f733b224eaf97634edf9b20e2370e Author: Takashi Iwai Date: Fri Nov 28 15:07:37 2008 +0100 ALSA: hda - Check MODULE instead of CONFIG_SND_HDA_INTEL_MODULE Checking MODULE is more generic. Also a cosmetic comment change. Signed-off-by: Takashi Iwai commit 5b3eec0c80038c8739ccd465b897a35c0dff1cc4 Author: Ingo Molnar Date: Thu Nov 27 14:41:21 2008 +0100 x86: ret_from_fork - get rid of jump back Impact: remove dead code If we take a closer look at the rff_trace/rff_action ret_from_fork code, we have to realize that it does all the wrong things: for example it checks the TIF flag - while later on jumping back to the ret-from-syscall path - duplicating the check needlessly. But checking for _TIF_SYSCALL_TRACE is completely unnecessary here because we clear that flag for every freshly forked task. So the whole "tracing" code here, for which there is a out of line jump optimization that makes it even harder to read, is in reality completely dead code ... Reported-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Tested-by: Cyrill Gorcunov commit 3bdae4f46445ea7cc9ee031d7ff106fdc6228669 Merge: 9f1e87e... 5f5db59... Author: Ingo Molnar Date: Fri Nov 28 15:00:37 2008 +0100 Merge branch 'x86/debug' into x86/irq We merge this branch because x86/debug touches code that we started cleaning up in x86/irq. The two branches started out independent, but as unexpected amount of activity went into x86/irq, they became dependent. Resolve that by this cross-merge. commit 9f1e87ea3ecb3c46c21f6a1a202ec82f99ed2473 Author: Cyrill Gorcunov Date: Thu Nov 27 21:10:08 2008 +0300 x86: entry_64.S - trivial: space, comments fixup Impact: cleanup Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit de04b102bfc9a13e96f0892305b394077ffb6514 Author: Clemens Ladisch Date: Wed Nov 26 10:37:23 2008 +0100 ALSA: oxygen: add Claro halo support Add support for the HT-Omega Claro halo (XT). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 57a5ef483b6290a9f22d4c52baca051c1e755f3a Author: Takashi Iwai Date: Fri Nov 28 14:46:28 2008 +0100 ALSA: hda - Add quirk for Sony VAIO VGN-SR19XN Added model=sony-assamd for Sony VAIO VGN-SR19XN with ALC262 codec. Reference: Novell bnc#450080 https://bugzilla.novell.com/show_bug.cgi?id=450080 Signed-off-by: Takashi Iwai commit 56d17712d54d3aa3d6ef930123d692351d33217c Author: Takashi Iwai Date: Fri Nov 28 14:36:23 2008 +0100 ALSA: hda - Clear codec->proc_widget_hook at reset Clear the remaining pointer at snd_hda_codec_reset() to avoid Oops. Signed-off-by: Takashi Iwai commit 2d34e1b3bb991a99322fb55681d1e73ada3de35c Author: Takashi Iwai Date: Fri Nov 28 14:35:16 2008 +0100 ALSA: hda - Add IDT/STAC-specific proc output Added power-map and analog-loopback information to proc output for IDT/STAC codecs. Signed-off-by: Takashi Iwai commit 5ae3a139cf4fc2349f1dfa1993a66c1dcc119468 Author: Cyrill Gorcunov Date: Thu Nov 27 00:02:10 2008 +0300 x86: uv bau interrupt -- use proper interrupt number Signed-off-by: Cyrill Gorcunov Acked-by: Cliff Wickman Signed-off-by: Ingo Molnar commit f1eecf0e4f0796911cc076f38fcf05fea0b353d5 Author: Steven Rostedt Date: Wed Nov 26 15:54:46 2008 -0500 powerpc/ppc32: static ftrace fixes for PPC32 Impact: fix for PowerPC 32 code There were some early init code that was not safe for static ftrace to boot on my PowerBook. This code must only use relative addressing, and static mcount performs a compare of the ftrace_trace_function pointer, and gets that with an absolute address. In the early init boot up code, this will cause a fault. This patch removes tracing from the files containing the offending functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0029ff87529dff01a4b9c5bf380a0caacb5f7418 Author: Steven Rostedt Date: Tue Nov 25 14:06:19 2008 -0800 powerpc: ftrace, use create_branch Impact: clean up Paul Mackerras pointed out that the code to determine if the branch can reach the destination is incorrect. Michael Ellerman suggested to pull out the code from create_branch and use that. Simply using create_branch is probably the best. Reported-by: Michael Ellerman Reported-by: Paul Mackerras Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ec682cef2d2c1a25a198d32a87fe2649da671d1e Author: Steven Rostedt Date: Tue Nov 25 10:22:48 2008 -0800 powerpc: ftrace, added missing icache flush Impact: fix to PowerPC code modification After modifying code it is essential to flush the icache. This patch adds the missing flush. Reported-by: Paul Mackerras Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d9af12b72bfe2a4efc1d347e0ac1c669b85dcea9 Author: Steven Rostedt Date: Tue Nov 25 06:39:18 2008 -0800 powerpc: ftrace, fix cast aliasing and add code verification Impact: clean up and robustness addition This patch addresses the comments made by Paul Mackerras. It removes the type casting between unsigned int and unsigned char pointers, and replaces them with a use of all unsigned int. Verification that the jump is indeed made to a trampoline has also been added. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c7b0d17366d6e04a11470fc8d85f9fbac02671b9 Author: Steven Rostedt Date: Thu Nov 20 13:18:55 2008 -0800 powerpc: ftrace, do nothing in mcount call for dyn ftrace Impact: quicken mcount calls that are not replaced by dyn ftrace Dynamic ftrace no longer does on the fly recording of mcount locations. The mcount locations are now found at compile time. The mcount function no longer needs to store registers and call a stub function. It can now just simply return. Since there are some functions that do not get converted to a nop (.init sections and other code that may disappear), this patch should help speed up that code. Also, the stub for mcount on PowerPC 32 can not be a simple branch link register like it is on PowerPC 64. According to the ABI specification: "The _mcount routine is required to restore the link register from the stack so that the profiling code can be inserted transparently, whether or not the profiled function saves the link register itself." This means that we must restore the link register that was used to make the call to mcount. The minimal mcount function for PPC32 ends up being: mcount: mflr r0 mtctr r0 lwz r0, 4(r1) mtlr r0 bctr Where we move the link register used to call mcount into the ctr register, and then restore the link register from the stack. Then we use the ctr register to jump back to the mcount caller. The r0 register is free for us to use. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c072c24975ec4f0ccfcb6f5c8a8040b6eb75ef8f Author: walimis Date: Fri Nov 28 12:21:19 2008 +0800 ftrace: improve documentation Impact: extend documentation with notice of using wild cards correctly We know that we can use wild cards to set set_ftrace_filter, but there's problem when using them naively such as: echo h* > /debug/tracing/set_ftrace_filter If there are files named with "h" prefix in current directory, echo "h*" will echo these filenames to set_ftrace_filter, not the intended "h*". For example: $ cat /debug/tracing/available_filter_functions |grep ^hr |wc -l 23 $ ls $ touch hraa hrdd $ ls hraa hrdd $ echo hr* > /debug/tracing/set_ftrace_filter $ cat /debug/tracing/set_ftrace_filter No output in /debug/tracing/set_ftrace_filter! If we use '' to escape wild cards, it works: $ ls hraa hrdd $ echo "hr*" > /debug/tracing/set_ftrace_filter $ cat /debug/tracing/set_ftrace_filter |wc -l 23 This problem can lead to unexpected result if current directory has a lot of files. Signed-off-by: walimis Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 1d9b16d1690fe5edb1c907fe4746681cf026cdf3 Author: Joerg Roedel Date: Thu Nov 27 18:39:15 2008 +0100 x86: move GART specific stuff from iommu.h to gart.h Impact: cleanup Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit bb40abe223ace0b6f29e8433d3936dac664178b5 Author: Takashi Iwai Date: Fri Nov 28 12:57:38 2008 +0100 ALSA: hda - Remove unused proc entry in hda_bus struct Signed-off-by: Takashi Iwai commit daead538e9d8efe61d7d2bd12993c8d961b0abd6 Author: Takashi Iwai Date: Fri Nov 28 12:55:36 2008 +0100 ALSA: hda - Add codec-specific proc hook Added a hook for proc outputs of codec-specific stuff. Moved realtek-specific coeff output into patch_realtek.c as well. Signed-off-by: Takashi Iwai commit 8b752e3ef6e3f5cde87afc649dd51d92b1e549c1 Author: Liming Wang Date: Fri Nov 28 09:52:40 2008 +0800 softirq: remove useless function __local_bh_enable Impact: remove unused code __local_bh_enable has been replaced with _local_bh_enable. As comments says "it always nests inside local_bh_enable() sections" has not been valid now. Also there is no reason to use __local_bh_enable anywhere, so we can remove this useless function. Signed-off-by: Liming Wang Signed-off-by: Ingo Molnar commit 50cdaf08a8ec1d7f43987705da7aff7cf949708f Author: Liming Wang Date: Fri Nov 28 12:13:21 2008 +0800 ftrace: improve seq_operation of ftrace Impact: make ftrace position computing more sane First remove useless ->pos field. Then we needn't check seq_printf in .show like other place. Signed-off-by: Liming Wang Reviewed-by: Bruce Ashfield Signed-off-by: Ingo Molnar commit 6113b748fb9935399ec2bbca3a3dc82008f6167f Author: Hannes Eder Date: Fri Nov 28 03:06:46 2008 -0800 pkt_sched: fix sparse warning Impact: make global function static Fix the following sparse warning: net/sched/sch_api.c:192:14: warning: symbol 'qdisc_match_from_root' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit ea5693ccc553951ae44cb963b28cce85edc275c9 Author: Patrick McHardy Date: Fri Nov 28 03:05:19 2008 -0800 netlink: allow empty nested attributes validate_nla() currently doesn't allow empty nested attributes. This makes userspace code unnecessarily complicated when starting and ending the nested attribute is done by generic upper level code and the inner attributes are dumped by a module. Add a special case to accept empty nested attributes. When the nested attribute is non empty, the same checks as before are performed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c7425acb42fff1e723b05fbf4ea11e9a455d95dc Author: Török Edwin Date: Fri Nov 28 11:17:56 2008 +0200 tracing, alpha: fix build: add missing #ifdef CONFIG_STACKTRACE There are architectures that still have no stacktrace support. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit ed77a89c30fa03dcb234a84ddea710b3fb7b62da Merge: 475ad8e... d6e8cc6... Author: David S. Miller Date: Fri Nov 28 02:19:15 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 Conflicts: net/netfilter/nf_conntrack_netlink.c commit d51090b34602a20984ab0312ef04e47069c0aec6 Author: Ingo Molnar Date: Fri Nov 28 09:55:16 2008 +0100 tracing/function-graph-tracer: more output tweaks Impact: prettify the output some more Before: 0) | sys_read() { 0) 0.796 us | fget_light(); 0) | vfs_read() { 0) | rw_verify_area() { 0) | security_file_permission() { ------------8<---------- thread sshd-1755 ------------8<---------- After: 0) | sys_read() { 0) 0.796 us | fget_light(); 0) | vfs_read() { 0) | rw_verify_area() { 0) | security_file_permission() { ------------------------------------------ | 1) migration/0--1 => sshd-1755 ------------------------------------------ Signed-off-by: Ingo Molnar commit 1a056155edd458eb93ef383fa8e5741d7e7c6360 Author: Frederic Weisbecker Date: Fri Nov 28 00:42:46 2008 +0100 tracing/function-graph-tracer: adjustments of the trace informations Impact: increase the visual qualities of the call-graph-tracer output This patch applies various trace output formatting changes: - CPU is now a decimal number, followed by a parenthesis. - Overhead is now on the second column (gives a good visibility) - Cost is now on the third column, can't exceed 9999.99 us. It is followed by a virtual line based on a "|" character. - Functions calls are now the last column on the right. This way, we haven't dynamic column (which flow is harder to follow) on its right. - CPU and Overhead have their own option flag. They are default-on but you can disable them easily: echo nofuncgraph-cpu > trace_options echo nofuncgraph-overhead > trace_options TODO: _ Refactoring of the thread switch output. _ Give a default-off option to output the thread and its pid on each row. _ Provide headers _ .... Here is an example of the new trace style: 0) | mutex_unlock() { 0) 0.639 us | __mutex_unlock_slowpath(); 0) 1.607 us | } 0) | remove_wait_queue() { 0) 0.616 us | _spin_lock_irqsave(); 0) 0.616 us | _spin_unlock_irqrestore(); 0) 2.779 us | } 0) 0.495 us | n_tty_set_room(); 0) ! 9999.999 us | } 0) | tty_ldisc_deref() { 0) 0.615 us | _spin_lock_irqsave(); 0) 0.616 us | _spin_unlock_irqrestore(); 0) 2.793 us | } 0) | current_fs_time() { 0) 0.488 us | current_kernel_time(); 0) 0.495 us | timespec_trunc(); 0) 2.486 us | } 0) ! 9999.999 us | } 0) ! 9999.999 us | } 0) ! 9999.999 us | } 0) | sys_read() { 0) 0.796 us | fget_light(); 0) | vfs_read() { 0) | rw_verify_area() { 0) | security_file_permission() { 0) 0.488 us | cap_file_permission(); 0) 1.720 us | } 0) 3. 4 us | } 0) | tty_read() { 0) 0.488 us | tty_paranoia_check(); 0) | tty_ldisc_ref_wait() { 0) | tty_ldisc_try() { 0) 0.615 us | _spin_lock_irqsave(); 0) 0.615 us | _spin_unlock_irqrestore(); 0) 5.436 us | } 0) 6.427 us | } Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 475ad8e2172d7f8b73af5532a8dad265b51339c2 Author: Harvey Harrison Date: Thu Nov 27 23:04:13 2008 -0800 decnet: compile fix for removal of byteorder wrapper Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 11cd41b893895c76a8f9bee9467f4b0869b5eeb3 Author: Takashi Iwai Date: Fri Nov 28 07:22:18 2008 +0100 ALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE Moved power_save field initialization inside a proper ifdef to fix a build error without CONFIG_SND_HDA_POWER_SAVE. Signed-off-by: Takashi Iwai commit b5a20aa2657063cbf3b47fc700603180de4bb554 Merge: cc09c0d... ed31348... Author: Lachlan McIlroy Date: Fri Nov 28 15:23:52 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 303c6443659bc1dc911356f5de149f48ff1d97b8 Author: Russell King Date: Fri Oct 31 16:32:19 2008 +0000 [ARM] clearpage: provide our own clear_user_highpage() For similar reasons as copy_user_page(), we want to avoid the additional kmap_atomic if it's unnecessary. Signed-off-by: Russell King commit 063b0a4207e43acbeff3d4b09f43e750e0212b48 Author: Russell King Date: Fri Oct 31 15:08:35 2008 +0000 [ARM] copypage: provide our own copy_user_highpage() We used to override the copy_user_page() function. However, this is not only inefficient, it also causes additional complexity for highmem support, since we convert from a struct page to a kernel direct mapped address and back to a struct page again. Moreover, with highmem support, we end up pointlessly setting up kmap entries for pages which we're going to remap. So, push the kmapping down into the copypage implementation files where it's required. Signed-off-by: Russell King commit d73e60b7144a86baf0fdfcc9537a70bb4f72e11c Author: Russell King Date: Fri Oct 31 13:08:02 2008 +0000 [ARM] copypage: convert assembly files to C Signed-off-by: Russell King commit feea6a574d432e08cebf66d993a6ed1f310e0e5d Author: Al Viro Date: Thu Nov 27 15:34:07 2008 -0800 ixgbe: section fixes ixgbe_init_interrupt_scheme() is called from ixgbe_resume(). Build that with CONFIG_PM and without CONFIG_HOTPLUG and you've got a problem. Several helpers called by it also are misannotated __devinit. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 157653ce79a606409a8bfb496cba797b2984b18f Author: Randy Dunlap Date: Thu Nov 27 15:30:53 2008 -0800 sctp: fix missing label when PROC_FS=n Fix missing label when CONFIG_PROC_FS=n: net/sctp/protocol.c: In function 'sctp_proc_init': net/sctp/protocol.c:106: error: label 'out_nomem' used but not defined make[3]: *** [net/sctp/protocol.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 1289e9e8b42f973f2ab39e5f4f2239ff826c27e9 Author: Takashi Iwai Date: Thu Nov 27 15:47:11 2008 +0100 ALSA: hda - Modularize HD-audio driver Split the monolithc HD-audio driver into several pieces: - snd-hda-intel HD-audio PCI controller driver; loaded via udev - snd-hda-codec HD-audio codec bus driver - snd-hda-codec-* Specific HD-audio codec drivers When built as modules, snd-hda-codec (that is invoked by snd-hda-intel) looks up the codec vendor ID and loads the corresponding codec module automatically via request_module(). When built in a kernel, each codec drivers are statically hooked up before probing the PCI. This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module information for each driver, and driver-linking codes between codec-bus and codec drivers. TODO: - Avoid EXPORT_SYMBOL*() when built-in kernel - Restore __devinit appropriately depending on the condition Signed-off-by: Takashi Iwai commit 73f6a12ed187b7e7ac9334d1419ba7bf7ac1be26 Author: Julia Lawall Date: Thu Nov 27 15:40:40 2008 +0100 ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free The function snd_mixart_create creates a link between mgr and card that allows snd_mixart_free to free card as well. But if snd_mixart_create fails, then the link has not been created and card has to be freed explicitly. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S,S1; position p1,p2,p3; expression E,E1; type T,T1; expression *ptr != NULL; @@ ( if ((x@p1 = snd_card_new(...)) == NULL) S | x@p1 = snd_card_new(...); ) ... when != snd_card_free(...,(T)x,...) when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> } when != true x == NULL || ... when != x = E when != E = (T)x when any ( if (x == NULL || ...) S1 | if@p2 (...) { ... when != snd_card_free(...,(T1)x,...) when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> } when != x = E1 when != E1 = (T1)x ( return \(0\|<+...x...+>\|ptr\); | return@p3 ...; ) } ) @ script:python @ p1 << r.p1; p3 << r.p3; @@ print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit 30d72e9f614e7bd76e28d4d92bd54d90a96905bb Author: Takashi Iwai Date: Thu Nov 27 15:25:34 2008 +0100 ALSA: hda - Fix creation of automatic capture mixers Fixed a wrong boundary check of num_adc_nids in set_capture_mixer() in patch_realtek.c. Signed-off-by: Takashi Iwai commit 529bd6c4a63f8468fd66f63fdc22d7070439b3cd Author: Takashi Iwai Date: Thu Nov 27 14:17:01 2008 +0100 ALSA: hda - Fix PCM reconfigure The reconfiguration of PCM affected all PCM streams on the bus, but this this should be done rather only for the target codec. This patch does the following: - introduce bitmap indicating the PCM device usages on a hda_bus - refactor the PCM build functions - fix __devinit prefix in some fucntions - add a proper ifdef around HDA-reconfig-specific functions Signed-off-by: Takashi Iwai commit f412b09f4ed7c57f5b8935ed7d6fc786f402a629 Merge: 31bccbf... 7f1fd31... Author: Russell King Date: Thu Nov 27 12:42:48 2008 +0000 Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel commit 31bccbf39208133415000520c79ebe7b291786df Merge: e902be5... 635f025... Author: Russell King Date: Thu Nov 27 12:39:43 2008 +0000 Merge branch 'clps7500' into devel Conflicts: arch/arm/Kconfig commit e902be56cbf2a48d96d11d6884767e638d41c712 Merge: c750815... 5e1dbdb... Author: Russell King Date: Thu Nov 27 12:39:14 2008 +0000 Merge branches 'core' and 'clks' into devel commit 5e1dbdb458ada37f7e97265cb2ea87c55fd5d034 Author: Russell King Date: Sat Nov 8 20:48:27 2008 +0000 [ARM] sa1100: match clock by dev_name(dev) Continuing the move away from implementations which give an excuse for other bad implementations, convert SA1100 to lookup its singular clock by dev_name(dev) rather than by id. Signed-off-by: Russell King commit e0d8b13ae1e3ea747620580b6f777992148de182 Author: Russell King Date: Tue Nov 11 17:52:32 2008 +0000 [ARM] pxa: don't pass a consumer clock name for devices with unique clocks Where devices only have one consumer, passing a consumer clock ID has no real benefit. Remove it. Signed-off-by: Russell King commit 8c3abc7d903df492a7394b0adae4349d9a381aaf Author: Russell King Date: Sat Nov 8 20:25:21 2008 +0000 [ARM] pxa: convert to clkdev and match clocks by struct device where possible Signed-off-by: Russell King commit 71a06da08c1a100bba7221d140403aa7a6cdebe7 Author: Russell King Date: Sat Nov 8 20:13:53 2008 +0000 [ARM] versatile: convert to clkdev and lookup clocks by device name People often point to the Integrator/Versatile/Realview implementations to justify using the consumer name as the sole selector for clocks. Eliminate this excuse by changing the Versatile implementation, so it provides a better example of how it should be done. Signed-off-by: Russell King commit d72fbdf01fc77628c0b837d0dd2fd564fa26ede6 Author: Russell King Date: Sat Nov 8 20:08:08 2008 +0000 [ARM] integrator: convert to clkdev and lookup clocks by device name People often point to the Integrator/Versatile/Realview implementations to justify using the consumer name as the sole selector for clocks. Eliminate this excuse by changing the Integrator implementation, so it provides a better example of how it should be done. Signed-off-by: Russell King commit cf30fb4a4f2d261a6527a654a7fdc8636f1e5b16 Author: Russell King Date: Sat Nov 8 20:05:55 2008 +0000 [ARM] realview: convert to clkdev and lookup clocks by device name People often point to the Integrator/Versatile/Realview implementations to justify using the consumer name as the sole selector for clocks. Eliminate this excuse by changing the Realview implementation, so it provides a better example of how it should be done. Signed-off-by: Russell King commit 0318e693d3a56836632bf1a2cfdafb7f34bcc703 Author: Russell King Date: Sun Nov 9 16:32:46 2008 +0000 [ARM] clkdev: add generic clkdev infrastructure Add some generic infrastructure to assist looking up struct clks for the ARM architecture. Signed-off-by: Russell King commit 635f0258e5ae526034486b4ae9020e64bfb7d27e Author: Russell King Date: Tue Oct 28 09:43:54 2008 +0000 [ARM] clps7500: remove support The CLPS7500 platform has not built since 2.6.22-git7 and there seems to be no interest in fixing it. So, remove the platform support. Signed-off-by: Russell King commit c750815e2d436f4379c7af8a8770ef2ae71c5607 Author: Russell King Date: Sun Oct 26 10:55:14 2008 +0000 [ARM] Arrange for platforms to select appropriate CPU support Rather than: config CPU_BLAH bool depends on ARCH_FOO || MACH_BAR default y if ARCH_FOO || MACH_BAR arrange for ARCH_FOO and MACH_BAR to select CPU_BLAH directly. Acked-by: Nicolas Pitre Acked-by: Andrew Victor Acked-by: Brian Swetland Acked-by: Eric Miao Acked-by: Nicolas Bellido Signed-off-by: Russell King commit 59f0cb0fddc14ffc6676ae62e911f8115ebc8ccf Author: Russell King Date: Mon Oct 27 11:24:09 2008 +0000 [ARM] remove memzero() As suggested by Andrew Morton, remove memzero() - it's not supported on other architectures so use of it is a potential build breaking bug. Since the compiler optimizes memset(x,0,n) to __memzero() perfectly well, we don't miss out on the underlying benefits of memzero(). Signed-off-by: Russell King commit c2c631e318091118587f3b766347d259c9265b8b Author: Cyrill Gorcunov Date: Wed Nov 26 22:17:00 2008 +0300 x86: entry_64.S - use ENTRY to define child_rip child_rip is called not by its name but indirectly rather so make it global and aligned. Signed-off-by: Cyrill Gorcunov Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 33454539f386a2beb38269bea5fff82b3d56b0e9 Author: gorcunov@gmail.com Date: Wed Nov 26 22:17:02 2008 +0300 x86: entry_64.S - use X86_EFLAGS_IF instead of hardcoded number Impact: cleanup Signed-off-by: Cyrill Gorcunov Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit fee2fba3586f78762ecc5f432dfd3602765a31b3 Author: Takashi Iwai Date: Thu Nov 27 12:43:28 2008 +0100 ALSA: hda - Move power_save option to hda_intel.c Move power_save option into hda_intel.c, and make a field in hda_bus, instead of keeping module parameters in separate files. Signed-off-by: Takashi Iwai commit 986862bdf17655d012f9b0654925dccdcc4183c9 Author: Takashi Iwai Date: Thu Nov 27 12:40:13 2008 +0100 ALSA: hda - make some functions static Minor clean ups: move snd_hda_codecs_inuse() into hda_intel.c and make static. Also, make snd_hda_query_supported_pcm() static as it's used only in hda_codec.c. Signed-off-by: Takashi Iwai commit d211af055d0c12dc3416c2886e6fbdc6eb74a381 Author: Alexander van Heukelum Date: Mon Nov 24 15:38:45 2008 +0100 i386: get rid of the use of KPROBE_ENTRY / KPROBE_END entry_32.S is now the only user of KPROBE_ENTRY / KPROBE_END, treewide. This patch reorders entry_64.S and explicitly generates a separate section for functions that need the protection. The generated code before and after the patch is equal. The KPROBE_ENTRY and KPROBE_END macro's are removed too. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit ddeb8f2149de280d54f0c8910cead42e6042b2cb Author: Alexander van Heukelum Date: Mon Nov 24 13:24:28 2008 +0100 x86_64: get rid of the use of KPROBE_ENTRY / KPROBE_END Impact: clean up assembly macros and annotations - with some object impact entry_64.S is the only user of KPROBE_ENTRY / KPROBE_END on x86_64. This patch reorders entry_64.S and explicitly generates a separate section for functions that need the protection. The generated code before and after the patch is equal. Implicitly changing sections in assembly files makes it more difficult to follow why the assembler is doing certain things. For example, .p2align 5 KPROBE_ENTRY(...) was not doing what you would expect. Other section changes (__ex_table, .fixup, .init.rodata) are done explicitly already. Signed-off-by: Alexander van Heukelum Acked-by: Jan Beulich Signed-off-by: Ingo Molnar commit 83a8df618eb04bd2819a758f3b409b1449862434 Author: Frederic Weisbecker Date: Thu Nov 27 01:46:33 2008 +0100 tracing/function-graph-tracer: enhancements for the trace output Impact: enhance the output of the graph-tracer This patch applies some ideas of Ingo Molnar and Steven Rostedt. * Output leaf functions in one line with parenthesis, semicolon and duration output. * Add a second column (after cpu) for an overhead sign. if duration > 100 us, "!" if duration > 10 us, "+" else " " * Print output in us with remaining nanosec: u.n * Print duration on the right end, following the indentation of the functions. Use also visual clues: "-" on entry call (no duration to output) and "+" on return (duration output). The name of the tracer has been fixed as well: function-branch becomes function_branch. Here is an example of the new output: CPU[000] dequeue_entity() { - CPU[000] update_curr() { - CPU[000] update_min_vruntime(); + 0.512 us CPU[000] } + 1.504 us CPU[000] clear_buddies(); + 0.481 us CPU[000] update_min_vruntime(); + 0.504 us CPU[000] } + 4.557 us CPU[000] hrtick_update() { - CPU[000] hrtick_start_fair(); + 0.489 us CPU[000] } + 1.443 us CPU[000] + } + 14.655 us CPU[000] + } + 15.678 us CPU[000] + } + 16.686 us CPU[000] msecs_to_jiffies(); + 0.481 us CPU[000] put_prev_task_fair(); + 0.504 us CPU[000] pick_next_task_fair(); + 0.482 us CPU[000] pick_next_task_rt(); + 0.504 us CPU[000] pick_next_task_fair(); + 0.481 us CPU[000] pick_next_task_idle(); + 0.489 us CPU[000] _spin_trylock(); + 0.655 us CPU[000] _spin_unlock(); + 0.609 us CPU[000] ------------8<---------- thread bash-2794 ------------8<---------- CPU[000] finish_task_switch() { - CPU[000] _spin_unlock_irq(); + 0.722 us CPU[000] } + 2.369 us CPU[000] ! } + 501972.605 us CPU[000] ! } + 501973.763 us CPU[000] copy_from_read_buf() { - CPU[000] _spin_lock_irqsave(); + 0.670 us CPU[000] _spin_unlock_irqrestore(); + 0.699 us CPU[000] copy_to_user() { - CPU[000] might_fault() { - CPU[000] __might_sleep(); + 0.503 us CPU[000] } + 1.632 us CPU[000] __copy_to_user_ll(); + 0.542 us CPU[000] } + 3.858 us CPU[000] tty_audit_add_data() { - CPU[000] _spin_lock_irq(); + 0.609 us CPU[000] _spin_unlock_irq(); + 0.624 us CPU[000] } + 3.196 us CPU[000] _spin_lock_irqsave(); + 0.624 us CPU[000] _spin_unlock_irqrestore(); + 0.625 us CPU[000] + } + 13.611 us CPU[000] copy_from_read_buf() { - CPU[000] _spin_lock_irqsave(); + 0.624 us CPU[000] _spin_unlock_irqrestore(); + 0.616 us CPU[000] } + 2.820 us CPU[000] Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit c7cc77307669336a08928ab8668bdb3f3bcc021b Merge: 0bfc245... d144d5e... 437f24f... f3f47a6... Author: Ingo Molnar Date: Thu Nov 27 10:56:13 2008 +0100 Merge branches 'tracing/blktrace', 'tracing/ftrace', 'tracing/function-graph-tracer' and 'tracing/power-tracer' into tracing/core commit 40a914fa72abdb9193ecad7dd82e48d952ab9d24 Author: Alexander Duyck Date: Thu Nov 27 00:24:37 2008 -0800 igb: Add support for pci-e Advanced Error Reporting Add the calls necessary to enable advanced error reporting for igb on systems with AER enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4113030e73db80bc5368a8303458008975402dd Author: Jeff Kirsher Date: Thu Nov 27 00:23:37 2008 -0800 e100: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d276016cf990f492cb33a1ff61d789730b3f0d6d Author: Jeff Kirsher Date: Thu Nov 27 00:23:12 2008 -0800 ixgb: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b30c4d8f8210bc4ea92942ab786407ec2d780549 Author: Jeff Kirsher Date: Thu Nov 27 00:22:45 2008 -0800 e1000: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a46e534bc76ed4e92daa181526b30274d37c6979 Author: Jeff Kirsher Date: Thu Nov 27 00:22:21 2008 -0800 ixgbe: cleanup link up/down messages The system log messages created on a link status change need to follow a specific format to work with tools some customers use. This also makes the messages consistant with other Intel driver link messages. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 527d47c11149afb5dd59eaca57d5b4d816ac4f20 Author: Alexander Duyck Date: Thu Nov 27 00:21:39 2008 -0800 igb: link up/down messages must follow a specific format The system log messages created on a link status change need to follow a specific format to work with tools some customers use. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c4106aa88a440430d387e022f2ad6dc1e0d52e98 Author: Harvey Harrison Date: Thu Nov 27 00:12:47 2008 -0800 decnet: remove private wrappers of endian helpers Signed-off-by: Harvey Harrison Reviewed-by: Steven Whitehouse Signed-off-by: David S. Miller commit 5b9ab2ec04ec1e1e53939768805612ac191d7ba2 Merge: 851fd7b... 3ec1925... Author: David S. Miller Date: Wed Nov 26 23:48:40 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/hp-plus.c drivers/net/wireless/ath5k/base.c drivers/net/wireless/ath9k/recv.c net/wireless/reg.c commit 12666f050b3b4b122f61ef12707f33fadb4a78b5 Author: Daniel Mack Date: Thu Nov 27 08:21:05 2008 +0100 ALSA: snd-usb-caiaq: clean up the control adding code snd-usb-caiaq: clean up the control adding code by moving dulpicate code to a function. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 851fd7bd88524bb4e20f3def3127cd9167d6d0cf Author: Divy Le Ray Date: Wed Nov 26 15:38:36 2008 -0800 cxgb3: Update FW loading path. Update FW loading path to accomodate in-kernel images location Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit ad58633c8381e88b54055771877726d3d5d24734 Author: Divy Le Ray Date: Wed Nov 26 15:37:50 2008 -0800 cxgb3: integrate FW and protocol engines in the kernel Include firmware and protocol images in the kernel image if requested Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5256554489531f3e177e7308752d8f0681cdd5a6 Author: Divy Le Ray Date: Wed Nov 26 15:35:59 2008 -0800 cxgb3: avoid potential memory leak. Add consistency in alloc_ring() parameter checking to avoid potential memory leaks. alloc_ring() callers are correct fo far. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 43a944f37364e22fff4cbc1e12d227b196e47612 Author: Divy Le Ray Date: Wed Nov 26 15:35:26 2008 -0800 cxgb3: set hard_xmit in the netdev_ops Fix t3_eth_xmit() missing into the netdev_ops structure. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit b5ddedc9cc01b1d86015af08c5f1694191804530 Merge: 244e6c2... b235507... Author: David S. Miller Date: Wed Nov 26 15:28:40 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 244e6c2d0724bc4908a1995804704bdee3b31528 Author: Jarek Poplawski Date: Wed Nov 26 15:24:32 2008 -0800 pkt_sched: gen_estimator: Optimize gen_estimator_active() Since all other gen_estimator functions use bstats and rate_est params together, and searching for them is optimized now, let's use this also in gen_estimator_active(). The return type of gen_estimator_active() is changed to bool, and gen_find_node() parameters to const, btw. In tcf_act_police_locate() a check for ACT_P_CREATED is added before calling gen_estimator_active(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 54f01916297bafc18bd7df4e2300a0544a84fce3 Author: Daniel Mack Date: Wed Nov 26 17:47:36 2008 +0100 ASoC: Allow more routing features for tlv320aic3x This patch enables more routing functions for tlv320aic3x codecs. It is now possible to - control the volume of the PGA bypass path for the HPL, HPR, HPLCOM and HPRCOM outputs individually - route right line1 input to the left ADC channel - route left line1 input to the right ADC channel - route right mic3 input to left DAC channel - route left mic3 input to right DAC channel - route left line1 input to right line1 output - route right line1 input to left line1 output Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 249da166582801648432d0198be9407fb5ccf9f5 Author: Catalin Marinas Date: Fri Nov 21 12:56:22 2008 +0000 slab: Update the kmem_cache_create documentation regarding the name parameter kmem_cache implementations like slub are allowed to merge multiple caches but only the initial name is preserved. Therefore, kmem_cache_name() is not guaranteed to return the same pointer passed to the former function. This patch updates the documentation to make this clearer. Signed-off-by: Catalin Marinas Signed-off-by: Pekka Enberg commit b235507cc5e552b9e75678d596727249e8fba01b Author: John W. Linville Date: Tue Nov 25 16:47:36 2008 -0500 mac80211_hwsim: fix-up some print_mac merge damage Some print_mac -> %pM conversions got lost in some merge or another... Signed-off-by: John W. Linville commit 860c6e6a15c5082e1a1ff1faeb56cdf439380e87 Author: Ivan Kuten Date: Mon Nov 24 15:17:54 2008 -0500 mac80211: fix unaligned access in ieee80211_wep_encrypt_data Signed-off-by: Ivan Kuten Signed-off-by: John W. Linville commit b50563a68520dea3a19b5a8013c4ae0f8e3b49dd Author: Christian Lamparter Date: Mon Nov 24 14:52:51 2008 +0100 p54: fix wmm queue settings This patch fixes a regression (introduced by "p54: more definitions form lmac_longbow.h and pda.h") It turned out that the "ret" variable wasn't initialized and this caused the following warnings/errors to appear: wmaster1: failed to set TX queue parameters for queue 2 wmaster1: failed to set TX queue parameters for queue 3 wmaster1: failed to set TX queue parameters for queue 1 wmaster1: failed to set TX queue parameters for queue 0 Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 99405f930fda280c9114b15e178902cd204f967f Author: Sujith Date: Mon Nov 24 12:08:35 2008 +0530 ath9k: Use proper TX channel width for setting channels The TX channel width of the BSS can be obtained only after association. In all cases, default to HT20 if HT is enabled, and set chan width to HT40 only if the BSS supports it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ff37e337beb838d4c2540fa93b2c4c632ee17750 Author: Sujith Date: Mon Nov 24 12:07:55 2008 +0530 ath9k: Code scrub Merge core.c and base.c Remove Antenna Diversity (unused now). Remove unused chainmask handling code. Comment, indentation scrub. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bf8c1ac6d81ba8c0e4dc2215f84f5e2a3c8227e8 Author: Jouni Malinen Date: Sat Nov 22 22:00:31 2008 +0200 nl80211: Change max TX power to be in mBm instead of dBm In order to be consistent with NL80211_ATTR_POWER_RULE_MAX_EIRP, change NL80211_FREQUENCY_ATTR_MAX_TX_POWER to use mBm and U32 instead of dBm and U8. This is a userspace interface change, but the previous version had not yet been pushed upstream and there are no userspace programs using this yet, so there is justification to get this change in as long as it goes in before the previous version gets out. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 39d1ffee57c7ce02c90ec8e9272df8aa8ddf600f Author: David Kilroy Date: Sat Nov 22 10:37:28 2008 +0000 orinoco: Provide option to avoid unnecessary fw caching Make firmware caching on startup optional, and make it default. When the option is not selected and PM_SLEEP is configured, then cache firmware in the suspend pm_notifier. This configuration saves about 64k RAM in normal use, but can lead to a situation where the driver is configured to use a different firmware. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit ac7cafd72261857278dff9f737e600b30088653b Author: David Kilroy Date: Sat Nov 22 10:37:27 2008 +0000 orinoco: Resume spectrum_cs in the same way as orinoco_cs Retrieval of external firmware has been resolved, and should work with the standard orinoco resume algorithm. This fixes an issue where priv->hw_unavailable indicates the card is ready when firmware has not been loaded. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit 2cea7b261942009e90befbe41d998e2931547026 Author: David Kilroy Date: Sat Nov 22 10:37:26 2008 +0000 orinoco: Cache Symbol firmware Signed-off by: David Kilroy Signed-off-by: John W. Linville commit 7473431297761fa644a128a497b91e299676f501 Author: David Kilroy Date: Sat Nov 22 10:37:25 2008 +0000 orinoco: Separate fw caching from download This refactorring will make it easier to share logic with Symbol firmware. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit cb71d9bafb37adab50ddce53bb119a84b4966c06 Author: Luis R. Rodriguez Date: Fri Nov 21 17:41:33 2008 -0800 ath9k: Handle -ENOMEM on RX gracefully We would get an oops on RX on -ENOMEM by passing NULL to the hardware on ath_rx_buf_link(). The oops would look something like this: ath_rx_tasklet+0x515/0x53b ath9k_tasklet+0x48 tasklet_action __do_softirq irq_exit do_IRQ RIP: ath_rx_buf_link+0x3a We correct this by handling the requeue directly on the ath_rx_tasklet() and trying to allocate an skb *prior* to sending up the last hardware processed skb. If we run out of memory this gauranteees we have skbs to work with while it simply drops new received frames. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 24689c8590be6bc0486af665c5ceda6aeff4d53a Author: Henrique de Moraes Holschuh Date: Fri Nov 21 20:40:10 2008 -0200 rfkill: always call get_state() hook on resume We "optimize" away the get_state() hook call on rfkill_toggle_radio when doing a forced state change. This means the resume path is not calling get_state() as it should. Call it manually on the resume handler, as we don't want to mess with the EPO path by removing the optimization. This has the added benefit of making it explicit that rfkill->state could have been modified before we hit the rfkill_toggle_radio() call in the class resume handler. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Matthew Garrett Cc: Alan Jenkins Signed-off-by: John W. Linville commit f80b5e99c7dac5a9a0d72496cec5075a12cd1476 Author: Henrique de Moraes Holschuh Date: Fri Nov 21 20:40:09 2008 -0200 rfkill: preserve state across suspend The rfkill class API requires that the driver connected to a class call rfkill_force_state() on resume to update the real state of the rfkill controller, OR that it provides a get_state() hook. This means there is potentially a hidden call in the resume code flow that changes rfkill->state (i.e. rfkill_force_state()), so the previous state of the transmitter was being lost. The simplest and most future-proof way to fix this is to explicitly store the pre-sleep state on the rfkill structure, and restore from that on resume. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Matthew Garrett Cc: Alan Jenkins Signed-off-by: John W. Linville commit 5925d976fbe99859d636e7075e5304625503c5fe Author: Vivek Natarajan Date: Fri Nov 21 22:19:50 2008 -0800 mac80211: Look out for some other AP when disassoc is received. When a disassoc packet is received from the AP with a reason code of 'leaving the BSS', mac80211 should go into DISABLED state just as it would do if the AP suddenly went away for some reason, as that is what will happen shortly after the AP leaves anyway. Signed-off-by: Vivek Natarajan Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e2f367f269fe19375f10e63efe0f2a6d3ddef8e6 Author: Jouni Malinen Date: Fri Nov 21 19:01:30 2008 +0200 nl80211: Report max TX power in NL80211_BAND_ATTR_FREQS This is useful information to provide for userspace (e.g., hostapd needs this to generate Country IE). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1048643ea94d742bd409f343e284af430656fd6c Author: Felix Fietkau Date: Thu Nov 20 15:16:22 2008 +0100 ath5k: Clean up eeprom parsing and add missing calibration data This patch brings the ath5k eeprom parsing code in sync with the work done on ath_info by Nick Kossifidis and integrates the missing parts based on the code of the Atheros Legacy HAL release. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7ac47010a444d9f4285cf1ae06780633a112489b Author: Vasanthakumar Thiagarajan Date: Thu Nov 20 11:51:18 2008 +0530 ath9k: Dont update rate control for every AMPDU Update the rate control only with the tx status of first AMPDU of an aggregation. This patch fixes frequent drops in throughput. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 40fc95d57caf258e20282f6526b695426d65a73a Author: Winkler, Tomas Date: Wed Nov 19 15:32:27 2008 -0800 iwlwifi: TX update chicken bits This instructs FH to increment the retry count of a packet when it is brought from the memory to TX-FIFO to save transactions during aggregation flow. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 31a73fe4f3284d94d52774c285e9e98a5f441d21 Author: Winkler, Tomas Date: Wed Nov 19 15:32:26 2008 -0800 iwlwifi: TX setup fix confusion between TX queue and TX DMA channel This patch configures correctly TX DMA channel. It is not the same as TX queue. Signed-off-by: Tomas Winkler Acked-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 25e35a56d5f4795cf52cdd0830a91e3103396cfe Author: Winkler, Tomas Date: Wed Nov 19 15:32:25 2008 -0800 iwlwifi: 4965 define firmware file name once Apply same idiom as in 5000 introduced by 'iwlwifi: define firmware file name once' Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 201706ac0b1ab6df5343119883964ec7272844b0 Author: Tomas Winkler Date: Wed Nov 19 15:32:24 2008 -0800 iwlwifi: enable base band calibration in 5000 HW This patch adds base band calibration support. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 83dde8c90522b89366e241bdbd69113f7094c249 Author: Winkler, Tomas Date: Wed Nov 19 15:32:23 2008 -0800 iwlwifi: move iwl_clear_stations_table to iwl-sta.c This patch moves iwl_clear_stations_table into iwl-sta.c Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ce546fd2eacdbd8dc15f3d2ffd9a95661d082919 Author: Abhijeet Kolekar Date: Wed Nov 19 15:32:22 2008 -0800 iwl3945 : Fix ad-hoc mode for 3945 Patch fixes the ad-hoc mode by 1) Removing redundant clear_stations_table which prevented generation of beacons. 2) Setting assoc_id to 1. It was never set so preventing tx flow in iwl3945_tx_skb. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0e149cf5a1b1900484f4b808d59a5f246cd720be Author: Bob Copeland Date: Mon Nov 17 23:40:38 2008 -0500 ath5k: set mac address in add_interface Configure the mac address in add_interface and clear it in remove_interface so that users can change the mac address to something other than the one in the eeprom. Also avoid setting it at attach time so that we won't ack packets until fully set up. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 8f93b8b337763a58fcdf23333ffe752db6c93bae Author: Sujith Date: Tue Nov 18 09:10:42 2008 +0530 ath9k: Use straightforward PCI routines to setup the TX buffer. Signed-off-by: Sujith Signed-off-by: John W. Linville commit daa9deb359252496796fa2b7420012e252b327b6 Author: Sujith Date: Tue Nov 18 09:10:22 2008 +0530 ath9k: Update TX trigger level on a FIFO underrun. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 788a3d6f3df595a6537ef537433c870d090afe02 Author: Sujith Date: Tue Nov 18 09:09:54 2008 +0530 ath9k: Fix bug in deciphering channel flags CHANNEL_CCK flag is set for all 2 Ghz channels, so IS_CHAN_CCK() would turn out to be true for all channles in that band. Use IS_CHAN_B() now, which checks the channel mode and not the channel flags. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c428839008f6638317a0db102d4e65d631c288a6 Author: Sujith Date: Tue Nov 18 09:09:30 2008 +0530 ath9k: Move TX completion routine to xmit.c Also, use a helper function to setup RC status data when processing completed TX descriptors. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2c5a744d43a6a08666930906742fbe704739ba6f Author: Sujith Date: Tue Nov 18 09:08:33 2008 +0530 ath9k: Use helpers Break down huge functions, use helper functions or macros instead. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 46d14a58ffb42702e4c1b8bb88cfa05414617f4c Author: Sujith Date: Tue Nov 18 09:08:13 2008 +0530 ath9k: General code scrub Replace TRUE/FALSE macros with VALID/INVALID macros. Follow a consistent variable convention. Remove unnecessary comments. Add all RC phy macros into a single enum. Merge functions into reasonably sized entities. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e63835b0f4d8545942fd41b3ca32bbf71bd73e4b Author: Sujith Date: Tue Nov 18 09:07:53 2008 +0530 ath9k: Remove ath9k_rate_table Maintaining two sets of rate tables is redundant, remove one and use struct ath_rate_table exclusively. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a8efee4f4740c61fccaf73608df282c4ee24ae86 Author: Sujith Date: Tue Nov 18 09:07:30 2008 +0530 ath9k: Use rate_driver_data Remove the hack using vif, and use rate_driver_data within skb->cb to hold driver specific rate information. Setup the rate series in the skb's tx control area and remove all references to ath9k specific rate series ( using struct ath_rc_series ). Signed-off-by: Sujith Signed-off-by: John W. Linville commit fe7f4a77450c1d0e463a9b1456b40c2305433e41 Author: Sujith Date: Tue Nov 18 09:07:06 2008 +0530 ath9k: Remove ath_rate_softc Move the hw rate tables to ath_softc, and access them directly. tx_triglevel_max is global, move it to ath_rate_node. Now that ath_rate_softc is gone, rate control attach becomes simpler. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5ddfac3b550250388f1222ec7d09069784a68af6 Author: Sujith Date: Tue Nov 18 09:06:44 2008 +0530 ath9k: Remove rate control reference in VAP Rate control init is now confined to itself, using the HT capabilites of the STA from rate_init(). Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0094de92a4f1da3a845ccc4ecb12ec0db8e48997 Author: David Rientjes Date: Tue Nov 25 19:14:19 2008 -0800 slub: make early_kmem_cache_node_alloc void The return value for early_kmem_cache_node_alloc() is unused, so it is better defined as void. Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit ffd651c620a2f27502ee5d4517a122c072f13073 Author: Sujith Date: Tue Nov 18 09:06:18 2008 +0530 ath9k: We don't support non-HT devices, so remove superfluous code. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 249b9f331ec162af5a1fdb80f90cce77c2043985 Author: roel kluin Date: Wed Oct 29 17:18:07 2008 -0400 slab: unsigned slabp->inuse cannot be less than 0 unsigned slabp->inuse cannot be less than 0 Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit be0418ada3fad110977a9d5fa16d4907d4e7d726 Author: Sujith Date: Tue Nov 18 09:05:55 2008 +0530 ath9k: Revamp RX handling Remove a lot of old, crufty code and make RX status reporting a bit sane and clean. Do not do anything to the RX skb before unmapping. So in ath_rx_tasklet(), move the skb_put() after PCI unmap. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e9beef1815ab3aa88925595582cf09e64b2b9894 Author: Cyrill Gorcunov Date: Tue Oct 28 22:02:26 2008 +0300 slub - fix get_object_page comment Use 'slab page' instead of 'slab object'. Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 2b406f1e68dd5348384fd166ac532af46bfc87fc Author: Sujith Date: Tue Nov 18 09:05:35 2008 +0530 ath9k: Nuke fixed rate handling in driver Signed-off-by: Sujith Signed-off-by: John W. Linville commit ce71e27c6fdc43c29f36d307b9100bde70c947fc Author: Eduard - Gabriel Munteanu Date: Tue Aug 19 20:43:25 2008 +0300 SLUB: Replace __builtin_return_address(0) with _RET_IP_. This patch replaces __builtin_return_address(0) with _RET_IP_, since a previous patch moved _RET_IP_ and _THIS_IP_ to include/linux/kernel.h and they're widely available now. This makes for shorter and easier to read code. [penberg@cs.helsinki.fi: remove _RET_IP_ casts to void pointer] Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 46494e6df8f6d9739d56c8b980229af4e5d2353f Author: Sujith Date: Tue Nov 18 09:05:13 2008 +0530 ath9k: Remove half/quarter rate tables Half/Quarter rate tables are needed only for legacy chipsets. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 210b5c06130f266370b5ff86e3cb6d860e1be29c Author: Cyrill Gorcunov Date: Wed Oct 22 23:00:38 2008 +0400 SLUB: cleanup - define macros instead of hardcoded numbers Signed-off-by: Cyrill Gorcunov Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 4df8ec64fdec5a99ebfe41467d414e235d5d051e Author: Sujith Date: Tue Nov 18 09:04:21 2008 +0530 ath9k: Remove ath_rate_newassoc() Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7b4d27357aebfdaa039f365fd24f2a795af5c0bb Author: Sujith Date: Tue Nov 18 09:04:00 2008 +0530 ath9k: Remove ath_setup_rates Setup legacy rates in ath_rate_init() itself. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fe60594a76d04b4fdea597bf93e4186a03d8d60c Author: Sujith Date: Tue Nov 18 09:03:36 2008 +0530 ath9k: Simplify RC alloc/free functions Signed-off-by: Sujith Signed-off-by: John W. Linville commit 256b77593f3ec07f58cd1f0d573ffe9ccd941b5b Author: Sujith Date: Tue Nov 18 09:03:12 2008 +0530 ath9k: Merge struct ath_tx_ratectrl with ath_rate_node Avoid casting of ath_tx_ratctrl and access the elements directly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 3fcdfb4b940a226184bc01bfc5c58b32b509b965 Author: Vasanthakumar Thiagarajan Date: Tue Nov 18 01:19:56 2008 +0530 ath9k: Fix panic while unregistering rfkill [ 6133.670329] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 6133.672802] IP: [] ieee80211_stop_queues+0x26/0x40 [mac80211] [ 6133.672802] PGD 759dc067 PUD 74f1d067 PMD 0 [ 6133.672802] Oops: 0002 [#1] PREEMPT SMP [ 6133.672802] last sysfs file: /sys/class/backlight/acpi_video0/brightness [ 6133.672802] CPU 0 [ 6133.672802] Modules linked in: ath9k(-) mac80211 pciehp pci_hotplug arc4 ecb joydev pcmcia ppdev lp ppp_generic psmouse sg pcspkr s] [ 6133.735830] Pid: 4445, comm: rmmod Tainted: G W 2.6.28-rc5-wl #1 [ 6133.735830] RIP: 0010:[] [] ieee80211_stop_queues+0x26/0x40 [mac80211] [ 6133.735830] RSP: 0018:ffff88007d1efd10 EFLAGS: 00010246 [ 6133.735830] RAX: 0000000000000000 RBX: ffff880074f41aa0 RCX: 0000000000000000 [ 6133.735830] RDX: 0000000000000010 RSI: 0000000000000000 RDI: ffff880074f40340 [ 6133.735830] RBP: ffff880074990000 R08: 0000000000000000 R09: 000000000000224d [ 6133.735830] R10: 0000000000000000 R11: ffffffff8031dc70 R12: 0000000000000000 [ 6133.735830] R13: 0000000000000001 R14: ffff880074f46c9c R15: 0000000000000000 [ 6133.735830] FS: 00007f1e2e0bc6f0(0000) GS:ffffffff805e0b80(0000) knlGS:0000000000000000 [ 6133.735830] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 6133.735830] CR2: 0000000000000010 CR3: 0000000075593000 CR4: 00000000000006e0 [ 6133.735830] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 6133.735830] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 6133.735830] Process rmmod (pid: 4445, threadinfo ffff88007d1ee000, task ffff88007c0c8000) [ 6133.735830] Stack: [ 6133.735830] ffffffffa034d583 ffff88007c7d9410 ffff88007c7d9410 ffff88007c7d9410 [ 6133.735830] ffffffff80481dab ffff880074f41aa0 00000000fffffff0 0000000000000000 [ 6133.735830] 0000000000000001 0000000000000001 ffffffffa034d8a5 ffff88007c7d9400 [ 6133.735830] Call Trace: [ 6133.735830] [] ? ath_radio_disable+0x33/0x150 [ath9k] [ 6133.735830] [] ? __mutex_lock_slowpath+0x20b/0x2a0 [ 6133.735830] [] ? ath_sw_toggle_radio+0x65/0xa0 [ath9k] [ 6133.735830] [] ? rfkill_toggle_radio+0x74/0x140 [rfkill] [ 6133.735830] [] ? rfkill_remove_switch+0x67/0x80 [rfkill] [ 6133.735830] [] ? rfkill_unregister+0x25/0x50 [rfkill] [ 6133.735830] [] ? ath_detach+0xf5/0x140 [ath9k] [ 6133.735830] [] ? ath_pci_remove+0x29/0x80 [ath9k] [ 6133.735830] [] ? pci_device_remove+0x2c/0x60 [ 6133.735830] [] ? __device_release_driver+0x99/0x100 [ 6133.735830] [] ? driver_detach+0xc0/0xd0 [ 6133.735830] [] ? bus_remove_driver+0x8e/0xd0 [ 6133.735830] [] ? pci_unregister_driver+0x36/0xa0 [ 6133.735830] [] ? exit_ath_pci+0x10/0x29 [ath9k] [ 6133.735830] [] ? sys_delete_module+0x1cb/0x2d0 [ 6133.735830] [] ? do_munmap+0x349/0x390 [ 6133.735830] [] ? __up_write+0x21/0x150 [ 6133.735830] [] ? system_call_fastpath+0x16/0x1b [ 6133.735830] Code: c3 0f 1f 40 00 0f b7 57 5e 0f b7 47 5c 01 c2 74 30 31 c9 66 90 48 8b 57 78 0f b7 c1 48 c1 e0 07 48 03 82 00 03 00 [ 6133.735830] RIP [] ieee80211_stop_queues+0x26/0x40 [mac80211] Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 1548c86ab1552199a3b99b958ccfb590fc9c8f84 Author: Larry Finger Date: Mon Nov 17 09:08:21 2008 -0600 rtl8187: Fix transmission count sent to mac80211 In the commit entitled "mac80211/drivers: rewrite the rate control API", the meaning of the packet transmit count was changed from the number of retries to the total number. In driver rtl8187, this change was missed. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 1dc5a84166d83c892cbf192cad58ebdde95d3ac4 Author: Larry Finger Date: Sun Nov 16 17:09:25 2008 -0600 mac80211: Fix pid rate-setting algorithm to allow rate changes In commit 9ea2c74 named "mac80211/drivers: rewrite the rate control API", the meaning of status.rates[i].count was changed from number of retries to total number of tries. As a result, the pid rate-setting algorithm fails because every packet appears to have needed a retransmit. Signed-off-by: Larry Finger Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d507748ac6de67369e76058a8a921cd22734f40a Author: Ivo van Doorn Date: Sun Nov 16 00:08:50 2008 +0100 rt2x00: Don't switch off LED on initialization When we switch off the LEDS during initialization we kill rt73usb from proper functioning. The immediate result after the first LED command are MCU failures and a complete breakdown of TX/RX. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f941f8590c06c6b1a77c4b5a5df59f39a3c7d1e9 Author: Andrey Borzenkov Date: Sat Nov 15 17:15:09 2008 +0300 orinoco: indicate it is using dBm in wireless_stats and spy Since WE7 /proc/net/wireless checks whether level and noise are in dBm and shows them accordingly. Indicate that we return signal and noice levels in dBm. Before: Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 eth1: 0000 65. 219. 165. 0 0 148 41 0 0 After: Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 eth1: 0000 65. -37. -91. 0 0 0 0 0 0 While at it, replace raw numbers with appropriate macro. Signed-off-by: Andrey Borzenkov Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 8eb41c93685318d177276d1819915571aca7ebb1 Author: Luis R. Rodriguez Date: Fri Nov 14 17:44:53 2008 -0800 mac80211: make Minstrel the default rate control algorithm This makes minstrel the default rate control algorithm for mac80211. For more information see: http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/minstrel If someone can come up with a better algorithm they get a prize (undisclosed). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dcc7461eef7341e84e2f7274f904ce01a43b2506 Author: David Vrabel Date: Wed Nov 26 13:36:59 2008 +0000 wusb: add debug files for ASL, PZL and DI to the whci-hcd driver Add asl, pzl and di debugfs files to uwb/uwbN/wusbhc for WHCI host controller. These dump the current ASL, PZL and DI buffer. Signed-off-by: David Vrabel commit 1c39194878c09bd88ffc9c9d4c2f01c3397c7aed Author: Ingo Molnar Date: Wed Nov 26 14:13:42 2008 +0100 sched: convert struct root_domain to cpumask_var_t, fix Mathieu Desnoyers reported this build failure on powerpc: kernel/sched.c: In function 'sd_init_NODE': kernel/sched.c:7319: error: non-static initialization of a flexible array member kernel/sched.c:7319: error: (near initialization for '(anonymous)') this happens because .span changed to cpumask_var_t, hence the static CPU_MASK_NONE initializers in the SD_*_INIT templates are not type-correct anymore. Remove them, as they default to empty anyway. Also remove them from IA64, MIPS and SH. Reported-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit eea0579fc85e64e9f05361d5aacf496fe7a151aa Author: Takashi Iwai Date: Wed Nov 26 14:13:03 2008 +0100 ALSA: pcsp - Fix starting the stream with HRTIMER_CB_IRQSAFE_UNLOCK With the callback mode HRTIMER_CB_IRQSAFE_UNLOCK, the start of the stream with zero delay doesn't work. Since IRQSAFE mode is removed, we have to change the pcsp start-up code. This patch splits the callback function to two parts, the triggering of the port and the calculation of the expire time, and the update of the ALSA PCM core. The first part is called both from the trigger-start and the hrtimer callback while the latter is handled only in the hrtimer callback. Signed-off-by: Takashi Iwai commit e7dd8c1bdacf658b0ade51facb2f7eaf40eb0ac4 Merge: ed31348... bc4a68f... Author: Takashi Iwai Date: Wed Nov 26 14:12:42 2008 +0100 Merge branch 'topic/misc' into topic/pcsp-fix Conflicts: sound/drivers/pcsp/pcsp_lib.c commit e4b49580f70380a4216ff8220c8f48a95e21c238 Author: David Vrabel Date: Wed Nov 26 12:47:05 2008 +0000 uwb: fix oops in debug PAL's reservation callback Initialize pal_priv for reservations created by the debug PAL. Signed-off-by: David Vrabel commit 0bfc24559d7945506184d86739fe365a181f06b7 Author: Ingo Molnar Date: Wed Nov 26 11:59:56 2008 +0100 blktrace: port to tracepoints, update Port to the new tracepoints API: split DEFINE_TRACE() and DECLARE_TRACE() sites. Spread them out to the usage sites, as suggested by Mathieu Desnoyers. Signed-off-by: Ingo Molnar Acked-by: Mathieu Desnoyers commit 5f3ea37c7716db4e894a480e0c18b24399595b6b Author: Arnaldo Carvalho de Melo Date: Thu Oct 30 08:34:33 2008 +0100 blktrace: port to tracepoints This was a forward port of work done by Mathieu Desnoyers, I changed it to encode the 'what' parameter on the tracepoint name, so that one can register interest in specific events and not on classes of events to then check the 'what' parameter. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Jens Axboe Signed-off-by: Ingo Molnar commit 414ff491b2ab68359c7a2037b30ccfea20d829d4 Author: Mark Brown Date: Wed Nov 26 10:32:26 2008 +0000 ASoC: Fix word wrapping in OMAP Kconfig Signed-off-by: Mark Brown commit 3d4cd60ed0533d3b33832e298530c7b021da982b Author: David S. Miller Date: Wed Nov 26 01:52:15 2008 -0800 smc-mca: Fix build failure due to typo. ultra_netdev_ops --> ultramca_netdev_ops Signed-off-by: David S. Miller commit 70355602879229c6f8bd694ec9c0814222bc4936 Author: Eric Dumazet Date: Wed Nov 26 01:08:18 2008 -0800 net: release skb->dst in sock_queue_rcv_skb() When queuing a skb to sk->sk_receive_queue, we can release its dst, not anymore needed. Since current cpu did the dst_hold(), refcount is probably still hot int this cpu caches. This avoids readers to access the original dst to decrement its refcount, possibly a long time after packet reception. This should speedup UDP and RAW receive path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3ae7020543db0b769538e64d1ce8d51fceff60ca Author: Ingo Molnar Date: Wed Nov 26 10:02:00 2008 +0100 debugobjects: add boot parameter default value Impact: add .config driven boot parameter default value Right now debugobjects can only be activated if the debug_objects boot parameter is passed in via the boot command line. Make this more convenient (and randomizable) by also providing a .config method. Enable it by default. (DEBUG_OBJECTS itself is default-off) Signed-off-by: Ingo Molnar commit 4db646b1af8fdcf01d690d29eeae44cd937edb0d Author: Hannes Eder Date: Sun Nov 23 20:49:52 2008 +0100 x86: microcode: fix sparse warnings Impact: make global variables and a function static Fix following sparse warnings: arch/x86/kernel/microcode_core.c:102:22: warning: symbol 'microcode_ops' was not declared. Should it be static? arch/x86/kernel/microcode_core.c:206:24: warning: symbol 'microcode_pdev' was not declared. Should it be static? arch/x86/kernel/microcode_core.c:322:6: warning: symbol 'microcode_update_cpu' was not declared. Should it be static? arch/x86/kernel/microcode_intel.c:468:22: warning: symbol 'microcode_intel_ops' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit f3f47a6768a29448866da4422b6f6bee485c947f Author: Arjan van de Ven Date: Sun Nov 23 16:49:58 2008 -0800 tracing: add "power-tracer": C/P state tracer to help power optimization Impact: new "power-tracer" ftrace plugin This patch adds a C/P-state ftrace plugin that will generate detailed statistics about the C/P-states that are being used, so that we can look at detailed decisions that the C/P-state code is making, rather than the too high level "average" that we have today. An example way of using this is: mount -t debugfs none /sys/kernel/debug echo cstate > /sys/kernel/debug/tracing/current_tracer echo 1 > /sys/kernel/debug/tracing/tracing_enabled sleep 1 echo 0 > /sys/kernel/debug/tracing/tracing_enabled cat /sys/kernel/debug/tracing/trace | perl scripts/trace/cstate.pl > out.svg Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 7fbb8759eff9a348efa5f352ffaa51c364837c4b Merge: 6003ab0... 13d428a... Author: Ingo Molnar Date: Wed Nov 26 08:22:50 2008 +0100 Merge commit 'v2.6.28-rc6' into core/debug commit 4f199629b0fba95fd5caecbf35ed68417d9a9b7a Author: Qinghuang Feng Date: Tue Nov 25 23:24:49 2008 +0800 ALSA: sound/pci/hda/hda_codec.c: cleanup kernel-doc There is no argument named @state in snd_hda_resume, remove its' comment. Signed-off-by: Qinghuang Feng Signed-off-by: Takashi Iwai commit 1224e376f2a7e3c7ab19ef37099a78597978a696 Author: Rusty Russell Date: Tue Nov 25 09:59:20 2008 +1030 sched: avoid stack var in move_task_off_dead_cpu, fix Impact: locking fix We can't call cpuset_cpus_allowed_locked() with the rq lock held. However, the rq lock merely protects us from (1) cpu_online_mask changing and (2) someone else changing p->cpus_allowed. The first can't happen because we're being called from a cpu hotplug notifier. The second doesn't really matter: we are forcing the task off a CPU it was affine to, so we're not doing very well anyway. So we remove the rq lock from this path, and all is good. Signed-off-by: Rusty Russell Acked-by: Mike Travis Signed-off-by: Ingo Molnar commit 3d8cbdf8650f44d95333ca645d950832a0653f35 Author: Rusty Russell Date: Tue Nov 25 09:58:41 2008 +1030 sched: convert local_cpu_mask to cpumask_var_t, fix Impact: build fix for !CONFIG_SMP Signed-off-by: Rusty Russell Acked-by: Mike Travis Signed-off-by: Ingo Molnar commit bf4d83f66476086c6b50dc52aac00d71ad70494e Author: Rusty Russell Date: Tue Nov 25 09:57:51 2008 +1030 sched: convert nohz struct to cpumask_var_t, fix Impact: build fix Fix the !CONFIG_SMP case. Signed-off-by: Rusty Russell Acked-by: Mike Travis Signed-off-by: Ingo Molnar commit 437f24fb897d409a9978eb71ecfaf279dcd94acd Author: Steven Rostedt Date: Wed Nov 26 00:16:27 2008 -0500 ftrace: add cpu annotation for function graph tracer Impact: enhancement for function graph tracer When run on a SMP box, the function graph tracer is confusing because it shows the different CPUS as changes in the trace. This patch adds the annotation of 'CPU[###]' where ### is a three digit number. The output will look similar to this: CPU[001] dput() { CPU[000] } 726 CPU[001] } 487 CPU[000] do_softirq() { CPU[001] } 2221 CPU[000] __do_softirq() { CPU[000] __local_bh_disable() { CPU[001] unroll_tree_refs() { CPU[000] } 569 CPU[001] } 501 CPU[000] rcu_process_callbacks() { CPU[001] kfree() { What makes this nice is that now you can grep the file and produce readable format for a particular CPU. # cat /debug/tracing/trace > /tmp/trace # grep '^CPU\[000\]' /tmp/trace > /tmp/trace0 # grep '^CPU\[001\]' /tmp/trace > /tmp/trace1 Will give you: # head /tmp/trace0 CPU[000] ------------8<---------- thread sshd-3899 ------------8<---------- CPU[000] inotify_dentry_parent_queue_event() { CPU[000] } 2531 CPU[000] inotify_inode_queue_event() { CPU[000] } 505 CPU[000] } 69626 CPU[000] } 73089 CPU[000] audit_syscall_exit() { CPU[000] path_put() { CPU[000] dput() { # head /tmp/trace1 CPU[001] ------------8<---------- thread pcscd-3446 ------------8<---------- CPU[001] } 4186 CPU[001] dput() { CPU[001] } 543 CPU[001] vfs_permission() { CPU[001] inode_permission() { CPU[001] shmem_permission() { CPU[001] generic_permission() { CPU[001] } 501 CPU[001] } 2205 Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 660c7f9be96321fc80026d76411bd15e6f418a72 Author: Steven Rostedt Date: Wed Nov 26 00:16:26 2008 -0500 ftrace: add thread comm to function graph tracer Impact: enhancement to function graph tracer Export the trace_find_cmdline so the function graph tracer can use it to print the comms of the threads. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e53a6319cca69111c1643dc9f18f4465d7f1cbf0 Author: Steven Rostedt Date: Wed Nov 26 00:16:25 2008 -0500 ftrace: let function tracing and function return run together Impact: feature This patch enables function tracing and function return to run together. I've tested this by enabling the stack tracer and return tracer, where both the function entry and function return are used together with dynamic ftrace. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5a45cfe1c64862e8cd3b0d79d7c4ba71c3118915 Author: Steven Rostedt Date: Wed Nov 26 00:16:24 2008 -0500 ftrace: use code patching for ftrace graph tracer Impact: more efficient code for ftrace graph tracer This patch uses the dynamic patching, when available, to patch the function graph code into the kernel. This patch will ease the way for letting both function tracing and function graph tracing run together. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit df4fc31558dd2a3a30292ddb3a64c2a5befcec73 Author: Steven Rostedt Date: Wed Nov 26 00:16:23 2008 -0500 ftrace: add function tracing to single thread Impact: feature to function trace a single thread This patch adds the ability to function trace a single thread. The file: /debugfs/tracing/set_ftrace_pid contains the pid to trace. Valid pids are any positive integer. Writing any negative number to this file will disable the pid tracing and the function tracer will go back to tracing all of threads. This feature works with both static and dynamic function tracing. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3496f92beb9aa99ef21fccc154a36c7698e9c538 Merge: 200036c... 6ded6ab... Author: James Morris Date: Wed Nov 26 10:56:44 2008 +0530 Merge branch 'serge-next' into next commit dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1 Author: Eric Dumazet Date: Tue Nov 25 21:17:14 2008 -0800 net: Use a percpu_counter for orphan_count Instead of using one atomic_t per protocol, use a percpu_counter for "orphan_count", to reduce cache line contention on heavy duty network servers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1748376b6626acf59c24e9592ac67b3fe2a0e026 Author: Eric Dumazet Date: Tue Nov 25 21:16:35 2008 -0800 net: Use a percpu_counter for sockets_allocated Instead of using one atomic_t per protocol, use a percpu_counter for "sockets_allocated", to reduce cache line contention on heavy duty network servers. Note : We revert commit (248969ae31e1b3276fc4399d67ce29a5d81e6fd9 net: af_unix can make unix_nr_socks visbile in /proc), since it is not anymore used after sock_prot_inuse_add() addition Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c1b56878fb68e9c14070939ea4537ad4db79ffae Author: Stephen Hemminger Date: Tue Nov 25 21:14:06 2008 -0800 tc: policing requires a rate estimator Found that while trying average rate policing, it was possible to request average rate policing without a rate estimator. This results in no policing which is harmless but incorrect. Since policing could be setup in two steps, need to check in the kernel. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 71bcb09a57894fa35591ce93dd972065eeecb63a Author: Stephen Hemminger Date: Tue Nov 25 21:13:31 2008 -0800 tc: check for errors in gen_rate_estimator creation The functions gen_new_estimator and gen_replace_estimator can return errors, but they were being ignored. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e991ec6a0340916d3f29bd5dcb35299069e7226 Author: Stephen Hemminger Date: Tue Nov 25 21:12:32 2008 -0800 tc: propogate errors from tcf_hash_create Allow tcf_hash_create to return different errors on estimator failure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5ceb40da9bacc8b056805d72efb1a52502d56b6b Author: Hiroshi Shimamoto Date: Mon Nov 24 18:24:11 2008 -0800 x86: signal: unify signal_{32|64}.c Impact: cleanup Unify signal_{32|64}.c! Mechanic unification - the two files are the same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e5fa2d063cf2ca38eae5fb3469315db669d5c041 Author: Hiroshi Shimamoto Date: Mon Nov 24 18:24:11 2008 -0800 x86: signal: unify signal_{32|64}.c, prepare Impact: cleanup Add #ifdef directive for 32-bit only code. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit bfeb91a9435889ef4fe7bfbb4b673f625e69e790 Author: Hiroshi Shimamoto Date: Mon Nov 24 18:23:12 2008 -0800 x86: signal: cosmetic unification of __setup_sigframe() and __setup_rt_sigframe() Impact: cleanup Add #ifdef directive to unify __setup_sigframe() and __setup_rt_sigframe(). Move them after {setup|restore}_sigcontext() declaration. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2601657d223d82053d4e1fe1063091401e6b860a Author: Hiroshi Shimamoto Date: Mon Nov 24 18:21:37 2008 -0800 x86: signal: move {setup|restore}_sigcontext() Impact: cleanup Move {setup|restore}_sigcontext() declaration onto head of file. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit d144d5ee6a265823d39f75ecfed351a516295183 Author: Liming Wang Date: Wed Nov 26 10:29:26 2008 +0800 ftrace: adding other non-leaving .text sections Impact: widen the scope of recordmcount.pl Besides .text section, there are three .text sections that won't be freed after kernel booting. They are: .sched.text, .spinlock.text and .kprobes.text, which contain functions we can trace. But the last section ".kprobes.text" is particular, which has been marked as "notrace", we ignore it. Thus we add other two sections. Signed-off-by: Liming Wang Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4ef8e768335637749af8d83327b174be0ea798a2 Author: Stephen Hemminger Date: Tue Nov 25 18:26:38 2008 -0800 ne2000: convert to net_device_ops Last driver for today. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 53cdd28961f979e4494c85e9ace8c3b51ae39a45 Author: Stephen Hemminger Date: Tue Nov 25 18:26:20 2008 -0800 3c503: convert to net_device_ops Another of the 8390p group. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e0b8cb0e0e361a40e4ab9d8463762db2286571f5 Author: Stephen Hemminger Date: Tue Nov 25 18:25:49 2008 -0800 stnic: convert to net_device_ops Can just use common ei_netdev_ops definition. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7d359daafe12b36b6da7ec6247caddf534183aed Author: Stephen Hemminger Date: Tue Nov 25 18:25:32 2008 -0800 apne: convert to net_device_ops Yet another driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 50014f1b939dff5e591e8aea9ec2932d146d2996 Author: Stephen Hemminger Date: Tue Nov 25 18:25:14 2008 -0800 ne2: convert to net_device_ops Almost there. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4be7ef4eac1d96a61af62bda8a59c1fb78c3b31b Author: Stephen Hemminger Date: Tue Nov 25 18:24:57 2008 -0800 hp: convert to net_device_ops Another old EISA driver converted. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0ec4d4fe413f4d16fb35a326a2dcf912872abcc8 Author: Stephen Hemminger Date: Tue Nov 25 18:24:38 2008 -0800 lne390: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8284abea9b49f9d8eae5b3ed36a9ea76a26388ca Author: Stephen Hemminger Date: Tue Nov 25 18:24:20 2008 -0800 e2100: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9a9aa14a74d49f88e2c2a126b035c22bd1ab0d53 Author: Stephen Hemminger Date: Tue Nov 25 18:23:59 2008 -0800 es3210: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d269941b5b562d21ae37b2182846702a4a43f415 Author: Stephen Hemminger Date: Tue Nov 25 18:23:35 2008 -0800 ne3210: convert to net_device_ops By having common code in 8390.o don't need net_dev_ops in the driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d079841d795b83822357ef058ce8d7979dad854c Author: Stephen Hemminger Date: Tue Nov 25 18:23:06 2008 -0800 smc: convert to net_device_ops Convert both eisa and mca versions of this driver, though I doubt anyone still has the hardware. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d4a97d425c2f59849ebdcc94281ecf108818efbf Author: Stephen Hemminger Date: Tue Nov 25 18:22:42 2008 -0800 hp-plus: convert to net_device_ops Another driver converted to new infrastructure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 458228bc4c1370de1dae4ba0f78469092ca21d75 Author: Stephen Hemminger Date: Tue Nov 25 18:21:56 2008 -0800 wd: use net_device_ops Another driver converted to net_device_ops; Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8884c092e5e4f9a1b6e44f2e02a3eb5481af87ab Author: Stephen Hemminger Date: Tue Nov 25 18:12:49 2008 -0800 8390: add common net_device ops Fix the defactoring of ei_XXX functions in 8390 and 8390p. Remove the tx_timeout hack since no driver including the 3c503 overrides tx_timeout at this time, looks like a legacy thing. Also, since several drivers all have same hooks, provide common netdev_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c2324b694fa8ffee382a124198c68754088e483c Author: Ingo Molnar Date: Wed Nov 26 03:10:01 2008 +0100 tracing: function graph tracer, fix fix return-tracer => graph-tracer namespace rename fallout. Signed-off-by: Ingo Molnar commit b27aeadb5948d400df83db4d29590fb9862ba49d Author: Alexey Dobriyan Date: Tue Nov 25 18:00:48 2008 -0800 netns xfrm: per-netns sysctls Make net.core.xfrm_aevent_etime net.core.xfrm_acq_expires net.core.xfrm_aevent_rseqth net.core.xfrm_larval_drop sysctls per-netns. For that make net_core_path[] global, register it to prevent two /proc/net/core antries and change initcall position -- xfrm_init() is called from fs_initcall, so this one should be fs_initcall at least. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c68cd1a01ba56995d85a4a62b195b2b3f6415c64 Author: Alexey Dobriyan Date: Tue Nov 25 18:00:14 2008 -0800 netns xfrm: /proc/net/xfrm_stat in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 59c9940ed0ef026673cac52f2eaed77af7d486da Author: Alexey Dobriyan Date: Tue Nov 25 17:59:52 2008 -0800 netns xfrm: per-netns MIBs Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4fb236bac9fc7d51e2267866de6d4c30e549d2f8 Author: Alexey Dobriyan Date: Tue Nov 25 17:59:27 2008 -0800 netns xfrm: AH/ESP in netns! Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7013ec30e0e2bc5b1e602e19a4e0668f9b7c0a72 Author: Alexey Dobriyan Date: Tue Nov 25 17:59:00 2008 -0800 netns PF_KEY: per-netns /proc/pfkey Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 07fb0f1799dcb6b3df527909811fd6704278842e Author: Alexey Dobriyan Date: Tue Nov 25 17:58:31 2008 -0800 netns PF_KEY: part 2 * interaction with userspace -- take netns from userspace socket. * in ->notify hook take netns either from SA or explicitly passed -- we don't know if SA/SPD flush is coming. * stub policy migration with init_net for now. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3fa87a3210a24ae406c2ccd37a52585baeb21546 Author: Alexey Dobriyan Date: Tue Nov 25 17:58:07 2008 -0800 netns PF_KEY: part 1 * netns boilerplate * keep per-netns socket list * keep per-netns number of sockets Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7c2776ee21a60e0d370538bd08b9ed82979f6e3a Author: Alexey Dobriyan Date: Tue Nov 25 17:57:44 2008 -0800 netns xfrm: flush SA/SPDs on netns stop SA/SPD doesn't pin netns (and it shouldn't), so get rid of them by hand. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit fbda33b2b85941c1ae3a0d89522dec5c1b1bd98c Author: Alexey Dobriyan Date: Tue Nov 25 17:56:49 2008 -0800 netns xfrm: ->get_saddr in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c5b3cf46eabe6e7459125fc6e2033b4222665017 Author: Alexey Dobriyan Date: Tue Nov 25 17:51:25 2008 -0800 netns xfrm: ->dst_lookup in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit db983c1144884cab10d6397532f4bf05eb0c01d2 Author: Alexey Dobriyan Date: Tue Nov 25 17:51:01 2008 -0800 netns xfrm: KM reporting in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7067802e262457a9737521e5669b622028b2283a Author: Alexey Dobriyan Date: Tue Nov 25 17:50:36 2008 -0800 netns xfrm: pass netns with KM notifications SA and SPD flush are executed with NULL SA and SPD respectively, for these cases pass netns explicitly from userspace socket. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit fc34acd36eecdec95171b98ef2516e3d4daa5c41 Author: Alexey Dobriyan Date: Tue Nov 25 17:50:08 2008 -0800 netns xfrm: xfrm_user module in netns Grab netns either from netlink socket, state or policy. SA and SPD flush are in init_net for now, this requires little attention, see below. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a6483b790f8efcd8db190c1c0ff93f9d9efe919a Author: Alexey Dobriyan Date: Tue Nov 25 17:38:20 2008 -0800 netns xfrm: per-netns NETLINK_XFRM socket Stub senders to init_net's one temporarily. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit bd235e3cfff617ff91677da553714051866ba55f Author: Alexey Dobriyan Date: Tue Nov 25 17:37:56 2008 -0800 netns xfrm: xfrm_input() fixup Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit ddcfd79680c1dc74eb5f24aa70785c11bf7eec8f Author: Alexey Dobriyan Date: Tue Nov 25 17:37:23 2008 -0800 netns xfrm: dst garbage-collecting in netns Pass netns pointer to struct xfrm_policy_afinfo::garbage_collect() [This needs more thoughts on what to do with dst_ops] [Currently stub to init_net] Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3dd0b4997a1d4f3a3666e400cc75b0279ce96849 Author: Alexey Dobriyan Date: Tue Nov 25 17:36:51 2008 -0800 netns xfrm: flushing/pruning bundles in netns Allow netdevice notifier as result. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 99a66657b2f62ae8b2b1e6ffc6abed051e4561ca Author: Alexey Dobriyan Date: Tue Nov 25 17:36:13 2008 -0800 netns xfrm: xfrm_route_forward() in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit f6e1e25d703c0a9ba1863384a16851dec52f8e3a Author: Alexey Dobriyan Date: Tue Nov 25 17:35:44 2008 -0800 netns xfrm: xfrm_policy_check in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 52479b623d3d41df84c499325b6a8c7915413032 Author: Alexey Dobriyan Date: Tue Nov 25 17:35:18 2008 -0800 netns xfrm: lookup in netns Pass netns to xfrm_lookup()/__xfrm_lookup(). For that pass netns to flow_cache_lookup() and resolver callback. Take it from socket or netdevice. Stub DECnet to init_net. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d Author: Alexey Dobriyan Date: Tue Nov 25 17:34:49 2008 -0800 netns xfrm: policy walking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8d1211a6aaea43ea36151c17b0193eb763ff2d7e Author: Alexey Dobriyan Date: Tue Nov 25 17:34:20 2008 -0800 netns xfrm: finding policy in netns Add netns parameter to xfrm_policy_bysel_ctx(), xfrm_policy_byidx(). Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 33ffbbd52c327225a3e28485c39dc5746d81be03 Author: Alexey Dobriyan Date: Tue Nov 25 17:33:32 2008 -0800 netns xfrm: policy flushing in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 1121994c803f4a4f471d617443ff2a09515725e7 Author: Alexey Dobriyan Date: Tue Nov 25 17:33:06 2008 -0800 netns xfrm: policy insertion in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit e92303f872600978796ff323bc229d911f905849 Author: Alexey Dobriyan Date: Tue Nov 25 17:32:41 2008 -0800 netns xfrm: propagate netns into policy byidx hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 284fa7da300adcb700b44df2f64a536b434d4650 Author: Alexey Dobriyan Date: Tue Nov 25 17:32:14 2008 -0800 netns xfrm: state walking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 5447c5e401c49aba0c36bb1066f2d25b152553b7 Author: Alexey Dobriyan Date: Tue Nov 25 17:31:51 2008 -0800 netns xfrm: finding states in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 12604d8aaa38ac4e24299c9803fefdb301a16421 Author: Alexey Dobriyan Date: Tue Nov 25 17:31:18 2008 -0800 netns xfrm: fixup xfrm_alloc_spi() Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 221df1ed33c9284fc7a6f6e47ca7f8d5f3665d43 Author: Alexey Dobriyan Date: Tue Nov 25 17:30:50 2008 -0800 netns xfrm: state lookup in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0e6024519b4da2d9413b97be1de8122d5709ccc1 Author: Alexey Dobriyan Date: Tue Nov 25 17:30:18 2008 -0800 netns xfrm: state flush in netns Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 98806f75ba2afc716e4d2f915d3ac7687546f9c0 Author: Alexey Dobriyan Date: Tue Nov 25 17:29:47 2008 -0800 netns xfrm: trivial netns propagations Take netns from xfrm_state or xfrm_policy. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 64d0cd009718ce64cf0f388142ead7ea41f1f3c8 Author: Alexey Dobriyan Date: Tue Nov 25 17:29:21 2008 -0800 netns xfrm: propagate netns into bydst/bysrc/byspi hash functions Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 66caf628c3b634c57b14a1a104dcd57e4fab2e3b Author: Alexey Dobriyan Date: Tue Nov 25 17:28:57 2008 -0800 netns xfrm: per-netns policy hash resizing work Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit dc2caba7b321289e7d02e63d7216961ccecfa103 Author: Alexey Dobriyan Date: Tue Nov 25 17:24:15 2008 -0800 netns xfrm: per-netns policy counts Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a35f6c5de32664d82c072a7e2c7d5c5234de4158 Author: Alexey Dobriyan Date: Tue Nov 25 17:23:48 2008 -0800 netns xfrm: per-netns xfrm_policy_bydst hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8b18f8eaf9207d53ba3e69f2b98d7290f4dec227 Author: Alexey Dobriyan Date: Tue Nov 25 17:23:26 2008 -0800 netns xfrm: per-netns inexact policies Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 8100bea7d619e8496ad8e545d1b41f536e076cd5 Author: Alexey Dobriyan Date: Tue Nov 25 17:22:58 2008 -0800 netns xfrm: per-netns xfrm_policy_byidx hashmask Per-netns hashes are independently resizeable. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 93b851c1c93c7d5cd8d94cd3f3a268b2d5460e9e Author: Alexey Dobriyan Date: Tue Nov 25 17:22:35 2008 -0800 netns xfrm: per-netns xfrm_policy_byidx hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit adfcf0b27e87d16a6a8c364daa724653d4d8930b Author: Alexey Dobriyan Date: Tue Nov 25 17:22:11 2008 -0800 netns xfrm: per-netns policy list Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0331b1f383e1fa4049f8e75cafeea8f006171c64 Author: Alexey Dobriyan Date: Tue Nov 25 17:21:45 2008 -0800 netns xfrm: add struct xfrm_policy::xp_net Again, to avoid complications with passing netns when not necessary. Again, ->xp_net is set-once field, once set it never changes. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 50a30657fd7ee77a94a6bf0ad86eba7c37c3032e Author: Alexey Dobriyan Date: Tue Nov 25 17:21:01 2008 -0800 netns xfrm: per-netns km_waitq Disallow spurious wakeups in __xfrm_lookup(). Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c78371441c0d957f54c9f8a35b3ee5a378d14808 Author: Alexey Dobriyan Date: Tue Nov 25 17:20:36 2008 -0800 netns xfrm: per-netns state GC work State GC is per-netns, and this is part of it. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b8a0ae20b0eecd4b86a113d2abe2fa5a582b30a6 Author: Alexey Dobriyan Date: Tue Nov 25 17:20:11 2008 -0800 netns xfrm: per-netns state GC list km_waitq is going to be made per-netns to disallow spurious wakeups in __xfrm_lookup(). To not wakeup after every garbage-collected xfrm_state (which potentially can be from different netns) make state GC list per-netns. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 630827338585022b851ec0a6335df8e436c900e4 Author: Alexey Dobriyan Date: Tue Nov 25 17:19:07 2008 -0800 netns xfrm: per-netns xfrm_hash_work All of this is implicit passing which netns's hashes should be resized. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0bf7c5b019518d3fe9cb96b9c97bf44d251472c3 Author: Alexey Dobriyan Date: Tue Nov 25 17:18:39 2008 -0800 netns xfrm: per-netns xfrm_state counts Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 529983ecabeae3d8e61c9e27079154b1b8544dcd Author: Alexey Dobriyan Date: Tue Nov 25 17:18:12 2008 -0800 netns xfrm: per-netns xfrm_state_hmask Since hashtables are per-netns, they can be independently resized. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b754a4fd8f58d245c9b5e92914cce09c4309cb67 Author: Alexey Dobriyan Date: Tue Nov 25 17:17:47 2008 -0800 netns xfrm: per-netns xfrm_state_byspi hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit d320bbb306f2085892bc958781e8fcaf5d491589 Author: Alexey Dobriyan Date: Tue Nov 25 17:17:24 2008 -0800 netns xfrm: per-netns xfrm_state_bysrc hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 73d189dce486cd6693fa29169b1aac0872efbcea Author: Alexey Dobriyan Date: Tue Nov 25 17:16:58 2008 -0800 netns xfrm: per-netns xfrm_state_bydst hash Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9d4139c76905833afcb77fe8ccc17f302a0eb9ab Author: Alexey Dobriyan Date: Tue Nov 25 17:16:11 2008 -0800 netns xfrm: per-netns xfrm_state_all list This is done to get a) simple "something leaked" check b) cover possible DoSes when other netns puts many, many xfrm_states onto a list. c) not miss "alien xfrm_state" check in some of list iterators in future. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 673c09be457bb23aa0eaaa79804cbb342210d195 Author: Alexey Dobriyan Date: Tue Nov 25 17:15:16 2008 -0800 netns xfrm: add struct xfrm_state::xs_net To avoid unnecessary complications with passing netns around. * set once, very early after allocating * once set, never changes For a while create every xfrm_state in init_net. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit d62ddc21b674b5ac1466091ff3fbf7baa53bc92c Author: Alexey Dobriyan Date: Tue Nov 25 17:14:31 2008 -0800 netns xfrm: add netns boilerplate Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c95839693d2a6612af7f75ad877012eba2f69757 Author: Alexey Dobriyan Date: Tue Nov 25 17:13:59 2008 -0800 xfrm: initialise xfrm_policy_gc_work statically Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 46a8494a9de6b88a126993e6012322752f997b88 Author: Ingo Molnar Date: Tue Nov 25 17:02:20 2008 -0800 3c523: fix warning in drivers/net/3c523.c fix warning: drivers/net/3c523.c:582: warning: ‘cleanup_card’ defined but not used No code changed: md5: ebe4a1b27d3f21b0b12a78c58463b0d7 3c523.o.before.asm ebe4a1b27d3f21b0b12a78c58463b0d7 3c523.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 99da1a8a6dc549630733e1cc246265d282fc214e Author: Ingo Molnar Date: Tue Nov 25 17:00:39 2008 -0800 depca: fix warning in drivers/net/depca.c fix warning: drivers/net/depca.c: In function ‘depca_eisa_probe’: drivers/net/depca.c:1564: warning: ‘mem_start’ may be used uninitialized in this function this seems to be a real bug - depca_eisa_probe() does not check for failure. Add it, symmetric to depca_isa_probe(). Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit a098397d562e2ce5aca7b9b007a4954d88ef8f5e Author: Ingo Molnar Date: Tue Nov 25 17:00:05 2008 -0800 atlx: fix warning in drivers/net/atlx/atl2.c fix this warning: drivers/net/atlx/atl2.c: In function ‘atl2_request_irq’: drivers/net/atlx/atl2.c:644: warning: unused variable ‘err’ 'err' is unused in the !CONFIG_PCI_MSI case. Instead of further increasing the #ifdeffery in this function, restructure the code a bit and get rid of the #ifdef. This relies on the fact that pci_enable_msi() will always fail in the !CONFIG_PCI_MSI case. There should be no change in driver behavior. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 287b6e68ca7209caec40b2f44f837c580a413bae Author: Frederic Weisbecker Date: Wed Nov 26 00:57:25 2008 +0100 tracing/function-return-tracer: set a more human readable output Impact: feature This patch sets a C-like output for the function graph tracing. For this aim, we now call two handler for each function: one on the entry and one other on return. This way we can draw a well-ordered call stack. The pid of the previous trace is loosely stored to be compared against the one of the current trace to see if there were a context switch. Without this little feature, the call tree would seem broken at some locations. We could use the sched_tracer to capture these sched_events but this way of processing is much more simpler. 2 spaces have been chosen for indentation to fit the screen while deep calls. The time of execution in nanosecs is printed just after closed braces, it seems more easy this way to find the corresponding function. If the time was printed as a first column, it would be not so easy to find the corresponding function if it is called on a deep depth. I plan to output the return value but on 32 bits CPU, the return value can be 32 or 64, and its difficult to guess on which case we are. I don't know what would be the better solution on X86-32: only print eax (low-part) or even edx (high-part). Actually it's thee same problem when a function return a 8 bits value, the high part of eax could contain junk values... Here is an example of trace: sys_read() { fget_light() { } 526 vfs_read() { rw_verify_area() { security_file_permission() { cap_file_permission() { } 519 } 1564 } 2640 do_sync_read() { pipe_read() { __might_sleep() { } 511 pipe_wait() { prepare_to_wait() { } 760 deactivate_task() { dequeue_task() { dequeue_task_fair() { dequeue_entity() { update_curr() { update_min_vruntime() { } 504 } 1587 clear_buddies() { } 512 add_cfs_task_weight() { } 519 update_min_vruntime() { } 511 } 5602 dequeue_entity() { update_curr() { update_min_vruntime() { } 496 } 1631 clear_buddies() { } 496 update_min_vruntime() { } 527 } 4580 hrtick_update() { hrtick_start_fair() { } 488 } 1489 } 13700 } 14949 } 16016 msecs_to_jiffies() { } 496 put_prev_task_fair() { } 504 pick_next_task_fair() { } 489 pick_next_task_rt() { } 496 pick_next_task_fair() { } 489 pick_next_task_idle() { } 489 ------------8<---------- thread 4 ------------8<---------- finish_task_switch() { } 1203 do_softirq() { __do_softirq() { __local_bh_disable() { } 669 rcu_process_callbacks() { __rcu_process_callbacks() { cpu_quiet() { rcu_start_batch() { } 503 } 1647 } 3128 __rcu_process_callbacks() { } 542 } 5362 _local_bh_enable() { } 587 } 8880 } 9986 kthread_should_stop() { } 669 deactivate_task() { dequeue_task() { dequeue_task_fair() { dequeue_entity() { update_curr() { calc_delta_mine() { } 511 update_min_vruntime() { } 511 } 2813 Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit fb52607afcd0629776f1dc9e657647ceae81dd50 Author: Frederic Weisbecker Date: Tue Nov 25 21:07:04 2008 +0100 tracing/function-return-tracer: change the name into function-graph-tracer Impact: cleanup This patch changes the name of the "return function tracer" into function-graph-tracer which is a more suitable name for a tracing which makes one able to retrieve the ordered call stack during the code flow. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 45555c0ed436b8b06eeaa5c524a3377e6d24fb45 Author: Ingo Molnar Date: Tue Nov 25 16:59:21 2008 -0800 bluetooth: fix warning in net/bluetooth/rfcomm/sock.c fix this warning: net/bluetooth/rfcomm/sock.c: In function ‘rfcomm_sock_ioctl’: net/bluetooth/rfcomm/sock.c:795: warning: unused variable ‘sk’ perhaps BT_DEBUG() should be improved to do printf format checking instead of the #ifdef, but that looks quite intrusive: each bluetooth .c file undefines the macro. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit ff0db0490a2eb6db4f03870987c5c8e3dd81e747 Author: Ingo Molnar Date: Tue Nov 25 16:58:42 2008 -0800 sunrpc: fix warning in net/sunrpc/xprtrdma/verbs.c fix this warning: net/sunrpc/xprtrdma/verbs.c: In function ‘rpcrdma_conn_upcall’: net/sunrpc/xprtrdma/verbs.c:279: warning: unused variable ‘addr’ Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit e14bec2e2b59a6180f04544a867b7e52cd414455 Author: Ingo Molnar Date: Tue Nov 25 16:58:19 2008 -0800 ax25: fix warning in net/ax25/sysctl_net_ax25.c fix this warning: net/ax25/sysctl_net_ax25.c:27: warning: ‘min_ds_timeout’ defined but not used net/ax25/sysctl_net_ax25.c:27: warning: ‘max_ds_timeout’ defined but not used These are only used in the CONFIG_AX25_DAMA_SLAVE case. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 509dceef6470442d8c7b8a43ec34125205840b3c Merge: 1e9b51c... 14bfc98... Author: Ingo Molnar Date: Wed Nov 26 01:58:05 2008 +0100 Merge branches 'tracing/hw-branch-tracing' and 'tracing/branch-tracer' into tracing/core commit e6a176228a38d74c0360ca586146bd45a2ac2d60 Author: Ingo Molnar Date: Tue Nov 25 16:57:59 2008 -0800 mlx4: fix warning in drivers/net/mlx4/mcg.c fix warning: drivers/net/mlx4/mcg.c: In function ‘mlx4_multicast_attach’: drivers/net/mlx4/mcg.c:217: warning: integer overflow in expression there was no real danger of overflow here though. md5: db8eb55620f886c03854a2abb2ce6c3f mcg.o.before.asm db8eb55620f886c03854a2abb2ce6c3f mcg.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 3ed7cc0f8b29da4304825a7bcef25fc83f84c1ae Author: Ingo Molnar Date: Tue Nov 25 16:57:30 2008 -0800 dccp: fix warning in net/dccp/options.c this warning: net/dccp/options.c: In function ‘dccp_parse_options’: net/dccp/options.c:67: warning: ‘value’ may be used uninitialized in this function is a bogus GCC warning. The compiler does not recognize the relation between "value" and "mandatory" variables: the code flow can ever reach the "out_invalid_option:" label if 'mandatory' is set to 1, and when 'mandatory' is non-zero, we'll always have 'value' initialized. Help out the compiler by annotating the variable. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit b71e839f9a33abf8634b1eea4875bc8057fe39e2 Author: Ingo Molnar Date: Tue Nov 25 16:57:05 2008 -0800 cassini: fix warning in drivers/net/cassini.c this warning: drivers/net/cassini.c: In function ‘cas_rx_ringN’: drivers/net/cassini.c:2350: warning: ‘skb’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between cas_rx_process_pkt() and 'skb'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit b58515be978f9377b9546ae98ad6c8bbc2f93ee1 Author: Ingo Molnar Date: Tue Nov 25 16:53:32 2008 -0800 mlx4: fix error path in drivers/net/mlx4/en_rx.c this warning: drivers/net/mlx4/en_rx.c: In function ‘mlx4_en_activate_rx_rings’: drivers/net/mlx4/en_rx.c:412: warning: ‘err’ may be used uninitialized in this function Triggers because 'err' is uninitialized in the following input conditions: priv->rx_ring_num is zero and mlx4_en_fill_rx_buffers() fails. But even if ->rx_ring_num is nonzero, 'err' will be zero if mlx4_en_fill_rx_buffers() fails and mlx4_en_activate_rx_rings() returns success - incorrectly. So it's best to keep the error code uptodate on mlx4_en_fill_rx_buffers() calls as well. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 4174439ef5894964803c6300e7e88d97e075e4c0 Author: Ingo Molnar Date: Tue Nov 25 16:53:08 2008 -0800 z85230: fix warning in drivers/net/wan/z85230.c this warning: drivers/net/wan/z85230.c: In function ‘z8530_interrupt’: drivers/net/wan/z85230.c:713: warning: ‘intr’ may be used uninitialized in this function is clearly bogus - annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit ef0cd87ef6326609be8abf19030101be24cc5703 Author: Ingo Molnar Date: Tue Nov 25 16:52:13 2008 -0800 sis900: fix warning in drivers/net/sis900.c this warning: drivers/net/sis900.c: In function ‘sis900_timer’: drivers/net/sis900.c:1280: warning: ‘speed’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between sis900_read_mode(), 'speed' and 'duplex'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 180b65df7ba1e700e28aabfbddbad84b7beebe4b Author: Ingo Molnar Date: Tue Nov 25 16:51:45 2008 -0800 fix warning in fs/dlm/netlink.c this warning: fs/dlm/netlink.c: In function ‘dlm_timeout_warn’: fs/dlm/netlink.c:131: warning: ‘send_skb’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between prepare_data() and send_skb. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit d3f644da909549a4cf0ad27541df342f75158cc0 Author: Ingo Molnar Date: Tue Nov 25 16:51:13 2008 -0800 dsa: fix warning in net/dsa/mv88e6060.c this warning: net/dsa/mv88e6060.c: In function ‘mv88e6060_poll_link’: net/dsa/mv88e6060.c:225: warning: ‘port_status’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between 'link' and 'port_status'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 2a9e79782d99160cad7d834eef9bb77b446e8532 Author: Ingo Molnar Date: Tue Nov 25 16:50:49 2008 -0800 dsa: fix warning in net/dsa/mv88e6xxx.c this warning: net/dsa/mv88e6xxx.c: In function ‘mv88e6xxx_poll_link’: net/dsa/mv88e6xxx.c:361: warning: ‘port_status’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between 'link' and 'port_status'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 55205d400efe3260e29ad26dd64c992cec2efafd Author: Ingo Molnar Date: Tue Nov 25 16:50:30 2008 -0800 ipv6: fix warning in net/ipv6/ip6_flowlabel.c this warning: net/ipv6/ip6_flowlabel.c: In function ‘ipv6_flowlabel_opt’: net/ipv6/ip6_flowlabel.c:467: warning: ‘err’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between fl_create() and 'err'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit dc0a0011cfa8ff01b86859006f4db3656c9a896b Author: Ingo Molnar Date: Tue Nov 25 16:50:02 2008 -0800 pkt_sched: fix warning in net/sched/sch_hfsc.c this warning: net/sched/sch_hfsc.c: In function ‘hfsc_enqueue’: net/sched/sch_hfsc.c:1577: warning: ‘err’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between hfsc_classify(), 'cl' and 'err'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit ed72b9c6e0ec4e66dd16b7ca212845e1eb985d65 Author: Ingo Molnar Date: Tue Nov 25 16:49:37 2008 -0800 sunrpc: fix warning in net/sunrpc/xprtrdma/svc_rdma_transport.c this warning: net/sunrpc/xprtrdma/svc_rdma_transport.c: In function ‘svc_rdma_accept’: net/sunrpc/xprtrdma/svc_rdma_transport.c:830: warning: ‘dma_mr_acc’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) flow connection between need_dma_mr and dma_mr_acc. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit be5a3c62c805878d67036b4683f09118cab4c9fd Author: Ingo Molnar Date: Tue Nov 25 16:49:07 2008 -0800 qla3xxx: fix warning in drivers/net/qla3xxx.c this warning: drivers/net/qla3xxx.c: In function ‘ql3xxx_probe’: drivers/net/qla3xxx.c:3912: warning: ‘pci_using_dac’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between 'pci_using_dac' and 'err'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit f166400bd4c92df72d997e0da8713fae90d56e57 Author: Ingo Molnar Date: Tue Nov 25 16:48:42 2008 -0800 niu: fix another warning in drivers/net/niu.c this warning: drivers/net/niu.c: In function ‘esr_reset’: drivers/net/niu.c:741: warning: ‘reset’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between: - esr_read_reset() and 'reset' Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 51e0f058c496ef2ca5362c16a53ce1ce454d0817 Author: Ingo Molnar Date: Tue Nov 25 16:48:12 2008 -0800 niu: fix warnings in drivers/net/niu.c these warnings: drivers/net/niu.c: In function ‘serdes_init_niu_1g_serdes’: drivers/net/niu.c:451: warning: ‘sig’ may be used uninitialized in this function drivers/net/niu.c: In function ‘serdes_init_niu_10g_serdes’: drivers/net/niu.c:550: warning: ‘sig’ may be used uninitialized in this function triggers because GCC does not recognize that the max_retry loop always initializes 'sig', due to max_retry != 0. Annotate them. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 2e6a684b8489b21324f314be2bd8d3788a9f6445 Author: Ingo Molnar Date: Tue Nov 25 16:47:35 2008 -0800 s2io: fix warning in drivers/net/s2io.c this warning: drivers/net/s2io.c: In function ‘rx_intr_handler’: drivers/net/s2io.c:7369: warning: ‘lro’ may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between: - s2io_club_tcp_session()and 'lro' Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 09bb52175bf4d6a46fc8502e76be29206d9a677a Author: Daniel Lezcano Date: Tue Nov 25 16:46:37 2008 -0800 netns: filter out uevent not belonging to init_net This patch will filter out the uevent not related to the init_net. Without this patch if a network device is created in a network namespace with the same name as one network device belonging to the initial network namespace (eg. eth0), when the network namespace will die and the network device will be destroyed, an event will be sent and catched by the udevd daemon. That will result to have the real network device to be shutdown because the udevd/uevent are not namespace aware. Signed-off-by: Daniel Lezcano Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit cb13fc209f5c9394713319323166f74b01759ead Author: Robert Olsson Date: Tue Nov 25 16:43:52 2008 -0800 ixgbe: Naming interrupt vectors Signed-off-by: Robert Olsson Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 70340d728f4f4cb49da00a11b10ded492260caa5 Author: Robert Olsson Date: Tue Nov 25 16:41:57 2008 -0800 niu: Naming interrupt vectors. A patch to put names on the niu interrupt vectors according the syntax below. This is needed to assign correct affinity. > So on a multiqueue card with 2 RX queues and 2 TX queues we'd > have names like: > > eth0-rx-0 > eth0-rx-1 > eth0-tx-0 > eth0-tx-1 Signed-off-by: Robert Olsson Tested-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 9f782db3f5ceee9aa8de6f853969fbec1b8c6e65 Author: Ilpo Järvinen Date: Tue Nov 25 13:57:01 2008 -0800 tcp: skb_shift cannot cache frag ptrs past pskb_expand_head Since pskb_expand_head creates copy of the shared area we cannot keep any frag ptr past de-cloning. This fixes the tcpdump recvfrom -EFAULT problem. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f6486d40b33d1ac2c44c7c55db7edf022d9f4329 Author: Jarek Poplawski Date: Tue Nov 25 13:56:06 2008 -0800 pkt_sched: sch_api: Remove qdisc_list_lock After implementing qdisc->ops->peek() there is no more calling qdisc_tree_decrease_qlen() without rtnl_lock(), so qdisc_list_lock added by commit: f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b "pkt_sched: Fix qdisc list locking" can be removed. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 723b46108f8ee75b61ce703d0c9225e4f537bc46 Author: Eric Dumazet Date: Tue Nov 25 13:55:15 2008 -0800 net: udp_unhash() can test if sk is hashed Impact: Optimization Like done in inet_unhash(), we can avoid taking a chain lock if socket is not hashed in udp_unhash() Triggered by close(socket(AF_INET, SOCK_DGRAM, 0)); Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5bc0b3bfa758e4ae49c94e31c1edb9a5f10a8060 Author: Eric Dumazet Date: Tue Nov 25 13:53:27 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() prot->destroy is not called with BH disabled. So we must add explicit BH disable around call to sock_prot_inuse_add() in sctp_destroy_sock() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8eecaba900e89643029fd2c253ad8ebb60761165 Author: Ilpo Järvinen Date: Tue Nov 25 13:45:29 2008 -0800 tcp: tcp_limit_reno_sacked can become static Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4ada424db196c78746fec255d493cacb1c9feddf Author: Luis R. Rodriguez Date: Fri Nov 14 14:44:22 2008 -0800 mac80211: don't assume driver has been attached on registration mac80211's ieee80211_register_hw() is often called within the probe path so it cannot assume the device's driver structure has been attached yet so to create a workqueue instead of using driver->name use the wiphy's phy%d name. The name doesn't really matter anyway. This should fix sporadic oopses found when we race to beat the driver pointer setting. Not even sure how this was working properly. http://www.kerneloops.org/search.php?search=ieee80211_register_hw Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4d3601b234a51fdd268c8ef8068d239e26dd7ef1 Author: Vasanthakumar Thiagarajan Date: Sat Nov 15 00:49:49 2008 +0530 ath9k: Configure AR_PHY_SWITCH_COM with apropriate antenna control This fixes the poor wireless connection which happens even if we are very well in the range. Signed-off-by: Don.breslin@atheros.com Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ced0957442af69c5c41b00db85a933ed7876cc40 Author: Christian Lamparter Date: Fri Nov 14 19:42:39 2008 +0100 p54: honour bss_info_changed's basic_rates and other settings As was pointed out in "p54: honour bss_info_changed's short slot time settings", bss_info_changed provides more useful settings that can be used by the driver. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 40db0b22591f59811feeb7cad26fdde92a190663 Author: Christian Lamparter Date: Sun Nov 16 12:20:32 2008 +0100 p54pci: cache firmware for suspend/resume Johannes pointed out that the driver has cache the firmware for suspend/resume cycles. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ffed785898a6dfd5f80d069bcb607b8cd5613c76 Author: Christian Lamparter Date: Fri Nov 14 19:41:22 2008 +0100 p54: minor fixes This patch contains only contains a one-liner fixes and enhancements Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d131bb59c142585c389b5284d93743e4e065e393 Author: Christian Lamparter Date: Sat Nov 15 17:02:31 2008 +0100 p54: enable Mesh Point support This patch enables Mesh Point operation for any p54 device. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f16f33df4d27f18bc6512dbe83ebbeaa693f0359 Author: Sujith Date: Fri Nov 14 16:27:53 2008 +0530 mac80211: Use the HT capabilities from the IE instead of the station's caps. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 97b777db57f7226e31a4abd5e69d732037743195 Author: Luis R. Rodriguez Date: Thu Nov 13 19:11:57 2008 -0800 ath9k: make DMA memory consistent Make the DMAable mameory consistent with pci_set_consistent_dma_mask(). The DMA-mapping.txt Documentation recommends this but for PCI-X considerations and on strange architecture like SGI SN2, not sure why it would fix an issue but lets see if it does, just in case. Before this, this driver was tested with x86_64 with about 7 GB of RAM, not sure if this is really needed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1d450cfc97bc223e9f94a2fab888bb168e284448 Author: Luis R. Rodriguez Date: Thu Nov 13 19:11:56 2008 -0800 ath9k: Clarify we only want 32-bit DMA Use DMA_32BIT_MASK to clarify we only want 32-bit DMA memory. What was there before is also 32-bit but this makes it clearer Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f1ca2167d89d991eed519c789d3902f9682c06b8 Author: Ivo van Doorn Date: Thu Nov 13 23:07:33 2008 +0100 rt2x00: Detect USB BULK in/out endpoints Instead of hardcoding the used in/out endpoints we should detect them by walking through all available endpoints. rt2800usb will gain the most out of this, because the legacy drivers indicate that there are multiple endpoints available. However this code might benefit at least rt73usb as well for the MIMO queues, and if we are really lucky rt2500usb will benefit because for the TX and PRIO queues. Even if rt2500usb and rt73usb do not get better performance after this patch, the endpoint detection still belongs to rt2x00usb, and it shouldn't hurt to always try to detect the available endpoints. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c8f96974eebbc8f078ad64f2d8041e6dce741d67 Author: Larry Finger Date: Thu Nov 13 12:30:41 2008 -0600 rtl8187: Remove module warning and dependence on CONFIG_EXPERIMENTAL After considerable testing, the initial fears that the driver might damage some flavors of RTL8187B hardware seem to be groundless. Accordingly, the logged warning is removed. In addition, Kconfig is changed to remove the dependence on EXPERIMENTAL. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 3517afdefc3ad335b276eb5f8691841f48097abf Author: Herton Ronaldo Krzesinski Date: Thu Nov 13 10:39:16 2008 -0500 rtl8187: feedback transmitted packets using tx close descriptor for 8187B Realtek 8187B has a receive command queue to feedback beacon interrupt and transmitted packet status. Use it to feedback mac80211 about status of transmitted packets. Unfortunately in the course of testing I found that the sequence number reported by hardware includes entire sequence control in a 12 bit only field, so a workaround is done to check only lowest bits. Tested-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit b4572a9264312fecdb530a3416b8c8336a3bb9a9 Author: Herton Ronaldo Krzesinski Date: Thu Nov 13 10:39:15 2008 -0500 rtl8187: implement conf_tx callback to configure tx queues Add conf_tx callback and use it to configure tx queues of 8187L/8187B. Tested-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 54ac218ae676931813169e0ca074aca2e4adee38 Author: Herton Ronaldo Krzesinski Date: Thu Nov 13 10:39:14 2008 -0500 rtl8187: fix 8187B throughput regression Hin-Tak Leung reported that after the change "rtl8187: add short slot handling for 8187B" his RTL8187B started to give low throughput on network transfers. Turns out that the SIFS setting used isn't ok, it doesn't look to be the real aSIFSTime, using the "magical" 0x22 value like on other 818x variants as the vendor does too fixes the issue. Tested-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit db93e7b5bf9dea9175d5b213f9557758c56abbfc Author: Senthil Balasubramanian Date: Thu Nov 13 18:01:08 2008 +0530 ath9k: Race condition in accessing TX and RX buffers. Race condition causes RX buffers to be accessed even before it is initialized. The RX and TX buffers are initialized immediately after the hardware is registered with mac80211. The mac80211 start callback is ready to be fired once the device is registered for a case when the wpa_supplicant is also running at the same time. The same race condition is also possible for RKFILL registration as RFKILL init happens after the device registration with mac80211 and it is possible that rfkill_register would be called even before it is initialized. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 306efdd109f086b19d849f1ec0f9104c9fdb3444 Author: Senthil Balasubramanian Date: Thu Nov 13 18:00:37 2008 +0530 ath9k: IRQ should be disabled before calling free_irq() ath9k frees irq even before IRQs are disabled and existing IRQs are flushed when rfkill_register() fails. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e97275cb062cf927cdb086f0107657dd92160801 Author: Senthil Balasubramanian Date: Thu Nov 13 18:00:02 2008 +0530 ath9k: Build RFKILL feature even when RFKILL subsystem is a MODULE Currently, ath9k builds RFKILL feature only when the RFKILL subsystem is built part of the kernel. Build RFKILL feature regardless of whether RFKILL subsystem is built as a MODULE or part of the kernel. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f9bbf431beb7dd98b94fa965dab851432be4b762 Author: Senthil Balasubramanian Date: Thu Nov 13 17:59:36 2008 +0530 ath9k: incorrect noise floor threshold values. This patch fixes incorrect noise floor threshold values. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 9f8042021792f8c0e0a7f5b81f326bfab86cda83 Author: Senthil Balasubramanian Date: Thu Nov 13 17:58:41 2008 +0530 ath9k: INI update for atheros chipets. init values update for various atheros chipsets. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ea4a82dceec7b5782b1259079c8de508d0afe33a Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:04 2008 -0800 iwlwifi: enable custom fw regulatory solution This enables the custom firmware regulatory solution option on iwlwifi drivers. These devices are uncapable of mapping their EEPROM regulatory domain to a specific ISO / IEC alpha2. Although the new 11n devices (>= iwl 5000) have only 3 regultaory SKUs -- MOW, ABG (no N) and BG -- the older devices (3945 and 4965) have a more complex SKU arrangement and therefore its not practical to move this to the driver. Signed-off-by: Luis R. Rodriguez Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 14b9815af3f4fe0e171ee0c4325c31d2a2c1570b Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:03 2008 -0800 cfg80211: add support for custom firmware regulatory solutions This adds API to cfg80211 to allow wireless drivers to inform us if their firmware can handle regulatory considerations *and* they cannot map these regulatory domains to an ISO / IEC 3166 alpha2. In these cases we skip the first regulatory hint instead of expecting the driver to build their own regulatory structure, providing us with an alpha2, or using the reg_notifier(). Signed-off-by: Luis R. Rodriguez Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 3f2355cb9111ac04e7ae06a4d7044da2ae813863 Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:02 2008 -0800 cfg80211/mac80211: Add 802.11d support This adds country IE parsing to mac80211 and enables its usage within the new regulatory infrastructure in cfg80211. We parse the country IEs only on management beacons for the BSSID you are associated to and disregard the IEs when the country and environment (indoor, outdoor, any) matches the already processed country IE. To avoid following misinformed or outdated APs we build and use a regulatory domain out of the intersection between what the AP provides us on the country IE and what CRDA is aware is allowed on the same country. A secondary device is allowed to follow only the same country IE as it make no sense for two devices on a system to be in two different countries. In the case the AP is using country IEs for an incorrect country the user may help compliance further by setting the regulatory domain before or after the IE is parsed and in that case another intersection will be performed. CONFIG_WIRELESS_OLD_REGULATORY is supported but requires CRDA present. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 88dc1c3f7f9058cd5ceae1e4b53453484c7b0364 Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:01 2008 -0800 cfg80211: mark regdomains with > NL80211_MAX_SUPP_REG_RULES invalid Lets remain consistent and mark rds with > NL80211_MAX_SUPP_REG_RULES number of reg rules as invalid in is_valid_rd(). Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 02ba0b3263f4eb41d2a5714cbe99207ae491a964 Author: Luis R. Rodriguez Date: Wed Nov 12 14:22:00 2008 -0800 cfg80211: call_crda() won't tell us if CRDA was present kobject_uevent_env() can return an error but it just tells us if the uvent was built/sent or not, it doesn't tell us anything about what happened in userspace, whether the udev rule was present nor does it tell us if CRDA was present or not. So remove the informative complaint about it assuming it will tell us such things. Note that you can determine if CRDA is present after loading cfg80211 by using: is_old_static_regdom(cfg80211_regdomain) but this doesn't account for possible user install after initial boot, and also for when the user uses the static EU regulatory domain. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a01ddafd43f7d53a65ef053eb80a4dee58839c1f Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:59 2008 -0800 cfg80211: expect different rd in cfg80211 when intersecting When intersecting it is possible that set_regdom() was called with a regulatory domain which we'll only use as an aid to build a final regulatory domain. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b8295acdc323e6e383ec822fc1e95edeb9148513 Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:58 2008 -0800 cfg80211: separate intersection section in __set_regdom() So far the __set_regdom() code is pretty generic as the intersection case is fairly straight forward; this will however change when 802.11d support is added so lets separate intersection code for now in preparation for 802.11d support. This patch only has slight functional changes. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8375af3ba213154041cfbc655f452913f23bfbd5 Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:57 2008 -0800 cfg80211: remove switch from __set_regdom() We have control over the REGDOM_SET_BY_* macros passed so remove the switch. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5203cdb6ad430d3313444ddc6486da70af1a60db Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:56 2008 -0800 cfg80211: remove switch from __regulatory_hint() We have complete control over REGDOM_SET_BY_* enum passed down to __regulatory_hint() as such there is no need to account for unexpected REGDOM_SET_BY_*'s, lets just remove the switch statement as this code does not change and won't change even when we add 802.11d support. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 91e9900418fb01229094fb83befa3591afcae1e7 Author: Luis R. Rodriguez Date: Wed Nov 12 14:21:55 2008 -0800 cfg80211: mark negative frequencies as invalid Regulatory rules with negative frequencies are now marked as invalid in is_valid_reg_rule(). Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e0737a77d6cba100dea7e53bf490d67d110bc037 Author: Tomas Winkler Date: Wed Nov 12 13:14:11 2008 -0800 iwlwifi: iwl-fh.h cleanup This patch fix value of upper FH register bound plus it reorders and groups registers in more readable way Signed-off-by: Tomas Winkler Acked-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 34faf780cf342b2c83ae40a2eecf33e55f7002a5 Author: Zhu, Yi Date: Wed Nov 12 13:14:10 2008 -0800 iwlwifi: some fh document fix and cleanup This patch cleans up some flow handler related document. It also removes some blank lines. Signed-off-by: Zhu Yi Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 352bc8de19a7e5e065d422825e226e8e80cd6576 Author: Zhu, Yi Date: Wed Nov 12 13:14:09 2008 -0800 iwlwifi: configure_filter rewrite The patch rewrites the mac80211 configure_filter handler to better mapping mac80211 filter flags to iwlwifi hardware filter flags. We now can support 5 mac80211 filter flags: FIF_OTHER_BSS, FIF_ALLMULTI, FIF_PROMISC_IN_BSS, FIF_BCN_PRBRESP_PROMISC and FIF_CONTROL. This patch also avoids reconnecting if the filter flags are changed when the STA is associated. Because rx_assoc is used when full rxon is not necessary. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c3056065400aeb437390e1a86b85f9c32fb1c1df Author: Abhijeet Kolekar Date: Wed Nov 12 13:14:08 2008 -0800 iwlwifi : fix checkpatch.pl errors Patch fixes checkpatch.pl errors for iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dbce56a456f6d6302a77107088340828dcaf9a02 Author: Chatre, Reinette Date: Wed Nov 12 13:14:07 2008 -0800 iwlwifi: replace magic constants with define use IWL_CCK_RATES_MASK and IWL_OFDM_RATES_MASK instead of their values directly. Signed-off-by: Reinette Chatre cc: Harvey Harrison Signed-off-by: John W. Linville commit 417f114bf2efa6183477a75da272c0d452e1cda3 Author: Tomas Winkler Date: Wed Nov 12 13:14:06 2008 -0800 iwlwifi: rs: remove fc variable and other cleanups This patch 1. Removes use once use only fc variables, they are useless after refactoring ieee80211 frame control handlers 2. Other trivial cleanups Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9f58671e8d4f4896acea30020308ce72bf94ec6e Author: Tomas Winkler Date: Wed Nov 12 13:14:05 2008 -0800 iwlwifi: consolidate station management code This patch moves code around and group most of the station management code into iwl-sta.c No functional changes (yet) Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cee53ddb46eb520079335d0868d0e81c8d311089 Author: Kolekar, Abhijeet Date: Wed Nov 12 13:14:04 2008 -0800 iwl3945 : Simplify iwl3945_pci_probe Patch aligns iwl3945_pci_probe with iwlwifi's iwl_pci_probe. Added few comments and code simplified to make readable. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0e3de99846489424c2cba952e0a52c269f01009a Author: Ivo van Doorn Date: Wed Nov 12 00:01:37 2008 +0100 rt2x00: Fix TX failure path The callback function write_tx_data() can only fail when our ENTRY_OWNER_DEVICE_DATA flag on a queue entry failed to determine the entry was not available and it is in fact still owned by the hardware. This means that if that function fails the queue must be stopped in mac80211. When rt2x00queue_get_queue() returns NULL in the TX path, it means mac80211 has passed us an invalid queue, although this should be impossible, it shouldn't hurt if we send mac80211 a signal to stop the queue either. Both issues can simply be resolved by removing their manual failure handler and making them use the failure path provided in rt2x00mac_tx(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0f829b1d6f499447052f98098e41fd6a091eadd0 Author: Ivo van Doorn Date: Mon Nov 10 19:42:18 2008 +0100 rt2x00: Move rt73usb register access wrappers into rt2x00usb rt2500usb and rt73usb have different register word sizes, for that reason the register access wrappers were never moved into rt2x00usb. With rt2800usb on its way, we should favor the 32bit register access and move those wrappers into rt2x00usb. That saves duplicate code, since only rt2500usb will need the special 16bit wrappers. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c9c3b1a5deac4297503145840fffcd122b253db5 Author: Ivo van Doorn Date: Mon Nov 10 19:41:40 2008 +0100 rt2x00: Cleanup indirect register access All code which accessed indirect registers was similar in respect to the for-loop, the given timeout, etc. Move it into a seperate function, which for PCI drivers can be moved into rt2x00pci. This allows us to cleanup the cleanup the code further by removing the goto statementsand making the codepath look a bit nicer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9764f3f9c3700620f9f8a1f9af57f58758e835da Author: Johannes Berg Date: Mon Nov 10 18:56:59 2008 +0100 ath5k: name pci driver "ath5k" too Call the ath5k pci driver struct "ath5k" too to be less confusing in sysfs. Signed-off-by: Johannes Berg Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit d6e8cc6cc7ac77b0f9118f78c453a2e834e62709 Author: Ingo Molnar Date: Tue Nov 25 18:23:03 2008 +0100 netfilter: fix warning in net/netfilter/nf_conntrack_ftp.c this warning: net/netfilter/nf_conntrack_ftp.c: In function 'help': net/netfilter/nf_conntrack_ftp.c:360: warning: 'matchoff' may be used uninitialized in this function net/netfilter/nf_conntrack_ftp.c:360: warning: 'matchlen' may be used uninitialized in this function triggers because GCC does not recognize the (correct) error flow between find_pattern(), 'found', 'matchoff' and 'matchlen'. Annotate it. Signed-off-by: Ingo Molnar Signed-off-by: Patrick McHardy commit 65f233fb1669e6c990cd1d7fd308ac7dc66dc207 Author: Ingo Molnar Date: Tue Nov 25 18:20:13 2008 +0100 netfilter: fix warning in net/netfilter/nf_conntrack_proto_tcp.c fix this warning: net/netfilter/nf_conntrack_proto_tcp.c: In function \u2018tcp_in_window\u2019: net/netfilter/nf_conntrack_proto_tcp.c:491: warning: unused variable \u2018net\u2019 net/netfilter/nf_conntrack_proto_tcp.c: In function \u2018tcp_packet\u2019: net/netfilter/nf_conntrack_proto_tcp.c:812: warning: unused variable \u2018net\u2019 Signed-off-by: Ingo Molnar Signed-off-by: Patrick McHardy commit 1e9b51c28312f7334394aa30be56ff52c2b65b7e Author: Markus Metzger Date: Tue Nov 25 09:24:15 2008 +0100 x86, bts, ftrace: a BTS ftrace plug-in prototype Impact: add new ftrace plugin A prototype for a BTS ftrace plug-in. The tracer collects branch trace in a cyclic buffer for each cpu. The tracer is not configurable and the trace for each snapshot is appended when doing cat /debug/tracing/trace. This is a proof of concept that will be extended with future patches to become a (hopefully) useful tool. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 8bba1bf5e2434c83f2fe8b1422604ace9bbe4cb8 Author: Markus Metzger Date: Tue Nov 25 09:12:31 2008 +0100 x86, ftrace: call trace->open() before stopping tracing; add trace->print_header() Add a callback to allow an ftrace plug-in to write its own header. Move the call to trace->open() up a few lines. The changes are required by the BTS ftrace plug-in. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 6abb11aecd888d1da6276399380b7355f127c006 Author: Markus Metzger Date: Tue Nov 25 09:05:27 2008 +0100 x86, bts, ptrace: move BTS buffer allocation from ds.c into ptrace.c Impact: restructure DS memory allocation to be done by the usage site of DS Require pre-allocated buffers in ds.h. Move the BTS buffer allocation for ptrace into ptrace.c. The pointer to the allocated buffer is stored in the traced task's task_struct together with the handle returned by ds_request_bts(). Removes memory accounting code. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit ca0002a179bfa532d009a9272d619732872c49bd Author: Markus Metzger Date: Tue Nov 25 09:01:25 2008 +0100 x86, bts: base in-kernel ds interface on handles Impact: generalize the DS code to shared buffers Change the in-kernel ds.h interface to identify the tracer via a handle returned on ds_request_~(). Tracers used to be identified via their task_struct. The changes are required to allow DS to be shared between different tasks, which is needed for perfmon2 and for ftrace. For ptrace, the handle is stored in the traced task's task_struct. This should probably go into a (arch-specific) ptrace context some time. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 7d55718b0c19ba611241c330f688ee824e9bab79 Merge: 6f893fb... de90add... f4166c5... Author: Ingo Molnar Date: Tue Nov 25 17:30:25 2008 +0100 Merge branches 'tracing/core', 'x86/urgent' and 'x86/ptrace' into tracing/hw-branch-tracing This pulls together all the topic branches that are needed for the DS/BTS/PEBS tracing work. commit 9e0f1b7f6bc5265847e995540981642c857f15b6 Author: Qinghuang Feng Date: Tue Nov 25 23:24:54 2008 +0800 ASoC: Clean up kernel-doc for snd_soc_dai_set_fmt There is no argument named @clk_id in snd_soc_dai_set_fmt, remove its' comment. Signed-off-by: Qinghuang Feng Signed-off-by: Mark Brown commit 5c0d7bb797a975691ca8bbc38e53da03c6e151bb Author: Dmitry Baryshkov Date: Tue Nov 25 09:35:21 2008 +0300 ASoC: tosa: move gpio probing to machine callbacks Signed-off-by: Dmitry Baryshkov Signed-off-by: Mark Brown commit 4451582f7e9fc2860b289aca60a6065286439bb8 Author: Misael Lopez Cruz Date: Mon Nov 24 22:21:23 2008 -0600 ASoC: Add support for TI SDP3430 This patch add ASoC support for TI SDP3430. It's based on Gumstix Overo SoC code by Steve Sakoman. Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 9c8f1a0e6ed48f2ecf08ac0fb7fb043f8c34dc63 Author: Arun KS Date: Tue Nov 25 09:56:12 2008 +0530 ASoC: Fix TWL4030 Kconfig dependency Fixes Kconfig dependency of TWL4030 audio codec driver with TWL4030 core driver on both overo and omap2evm boards Signed-off-by: Arun KS Acked-by: David Brownell Signed-off-by: Mark Brown commit 375e8a7c943d5aa8716be229e398473b23709ce9 Author: Jarkko Nikula Date: Tue Nov 25 12:45:09 2008 +0200 ASoC: OMAP: Add support for mono audio links in McBSP DAI Patch adds support for mono audio links so that McBSP DAI can operate with real mono codecs. In I2S, the signalling remains the same but only first frame (left channel) is transmitting audio data and second frame having null data. In DSP_A, only first frame is transmitted. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 0be43050d4da08295b985cb23347ecc1003cb8d6 Author: Jarkko Nikula Date: Tue Nov 25 12:45:08 2008 +0200 ASoC: OMAP: Apply channel constrains to N810 machine driver Prepare for upcoming McBSP DAI update adding support for mono links by restricting number of channels to 2 in N810. This is due tlv320aic3x which claims channels_min = 1 and playing pure mono audio over I2S would cause it to be played only from left channel if both cpu and codec DAI's claim to support mono. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit b0e6481a9ae9e8c80b5d956980767ecad35c95c1 Author: Takashi Iwai Date: Tue Nov 25 16:07:01 2008 +0100 ALSA: hda - Really fix bits value in proc output The fix in 82894b6f6f109722070d4d78730fe50cdaba9443 resulted in zero due to wrong mask and bit shifts. Now fixed really. Signed-off-by: Takashi Iwai commit ca109491f612aab5c8152207631c0444f63da97f Author: Peter Zijlstra Date: Tue Nov 25 12:43:51 2008 +0100 hrtimer: removing all ur callback modes Impact: cleanup, move all hrtimer processing into hardirq context This is an attempt at removing some of the hrtimer complexity by reducing the number of callback modes to 1. This means that all hrtimer callback functions will be ran from HARD-irq context. I went through all the 30 odd hrtimer callback functions in the kernel and saw only one that I'm not quite sure of, which is the one in net/can/bcm.c - hence I'm CC-ing the folks responsible for that code. Furthermore, the hrtimer core now calls callbacks directly with IRQs disabled in case you try to enqueue an expired timer. If this timer is a periodic timer (which should use hrtimer_forward() to advance its time) then it might be possible to end up in an inf. recursive loop due to the fact that hrtimer_forward() doesn't round up to the next timer granularity, and therefore keeps on calling the callback - obviously this needs a fix. Aside from that, this seems to compile and actually boot on my dual core test box - although I'm sure there are some bugs in, me not hitting any makes me certain :-) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5a4e1a795d7c5b47e94067a72db09f8cfb52bcff Author: David Vrabel Date: Tue Nov 25 14:34:47 2008 +0000 uwb: clean up whci_wait_for() timeout error message All callers of whci_wait_for() should get consistant error message if a timeout occurs. Signed-off-by: David Vrabel commit 56968d0c1a920eb165c06318f5c458724e1df0af Author: David Vrabel Date: Tue Nov 25 14:23:40 2008 +0000 wusb: whci-hcd shouldn't do ASL/PZL updates while channel is inactive ASL/PZL updates while the WUSB channel is inactive (i.e., the PZL and ASL are stopped) may not complete. This causes hangs when removing the whci-hcd module if a device is still connected (removing the device does an endpoint_disable which results in an ASL update to remove the qset). If the WUSB channel is inactive the update can simply be skipped as the WHC doesn't care about the state of the ASL/PZL. Signed-off-by: David Vrabel commit eefe93b9957e6f14780b7d37aeda0f27f341953d Merge: ee09543... 661cd8f... Author: Takashi Iwai Date: Tue Nov 25 15:20:57 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit ee09543c866559e1ffb4f5c38533f2bedd725acd Author: Takashi Iwai Date: Tue Nov 25 15:03:38 2008 +0100 ALSA: hda - Add quirk for MSI 7260 mobo Added preset model=targa-dig for MSI 7260 mobo. Signed-off-by: Takashi Iwai commit 65d76f368295973a35d195c9b13053502a67b6bc Merge: dba0a91... ed31348... Author: David Vrabel Date: Tue Nov 25 13:52:56 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit c0193f39f43c79bde6c1c5804f5315f3983152b5 Author: Markus Bollinger Date: Tue Nov 25 12:37:52 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards (mixer part) - add support for pcxhr stereo cards mixer controls - adjust tlv db scales to real dBu values - fix bug with monitoring volume control pcxhr_monitor_vol_put - do some cleanup Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 2f9889a20cd2854bc6305198255c617b0b4eb719 Author: David S. Miller Date: Tue Nov 25 03:53:09 2008 -0800 Revert "hso: Fix crashes on close." This reverts commit 4a3e818181e1baf970e9232ca8b747e233176b87. On request from Alan Cox. Signed-off-by: David S. Miller commit ab153d84d9609b4e6f53632a6f14b882e866cb47 Author: David S. Miller Date: Tue Nov 25 03:52:46 2008 -0800 Revert "hso: Fix free of mutexes still in use." This reverts commit 52429eb216385fdc6969c0112ba8b46cffefaaef. On request from Alan Cox. Signed-off-by: David S. Miller commit cd90ee1799136bd74158b734cf71b72609244a91 Author: David S. Miller Date: Tue Nov 25 03:52:17 2008 -0800 Revert "hso: Add TIOCM ioctl handling." This reverts commit 7ea3a9ad9bf360f746a7ad6fa72511a5c359490d. On request from Alan Cox. Signed-off-by: David S. Miller commit 7628700e08403618b0b07bd25b6456d8b2d074ef Author: Markus Bollinger Date: Tue Nov 25 12:28:06 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards (firmware support) - Add support for pcxhr stereo cards and their firmware - autorize sound cards without analog IO - do some cleanup Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 9d948d270010e3552c94281bab75694580ca23e9 Author: Markus Bollinger Date: Tue Nov 25 12:24:54 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards (core change) - Add support for pcxhr stereo cards - minor bugfixes : period and buffer size consraints - fix PLL register values - do some clean up Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 93bf5d8753b2e3cc9e8982d551d119a54a31a7ec Author: Markus Bollinger Date: Tue Nov 25 12:21:05 2008 +0100 ALSA: pcxhr - add support for pcxhr stereo sound cards - Add support for pcxhr stereo cards - do some clean up Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 9f40ac713c49fb6ca655550b620edc85c445d743 Author: Eric Leblond Date: Tue Nov 25 12:18:11 2008 +0100 netfilter: nfmark IPV6 routing in OUTPUT, mangle, NFQUEUE This patch let nfmark to be evaluated for routing decision for OUTPUT packet, in mangle table, when process paquet in NFQUEUE. This patch is an IPv6 port of Laurent Licour IPv4 one. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 5f145e44ae09f629d25536b2947a91e9c01bddcb Author: Eric Leblond Date: Tue Nov 25 12:15:16 2008 +0100 netfilter: nfmark routing in OUTPUT, mangle, NFQUEUE This patch let nfmark to be evaluated for routing decision for OUTPUT packet, in mangle table, when process paquet in NFQUEUE Until now, only change (in NFQUEUE process) on fields src_addr, dest_addr and tos could make netfilter to reevalute the routing. From: Laurent Licour Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit c6e4c66613c2bb040e53bb04006c277992cc8f4b Author: Takashi Iwai Date: Tue Nov 25 11:58:19 2008 +0100 ALSA: hda - Assign unsol tags dynamically in patch_sigmatel.c Since we need to handle many unsolicited events assigned to different widgets, allocate the event dynamically using the existing events array, and use the tag appropriately instead of combination of fixed number and widget nid. (Note that widget nid can be over 4 bits!) Also, replaced the call of unsol_event handler with a dedicated function to be more readable. Signed-off-by: Takashi Iwai commit 0e19e7d2bff0ec04fe4dc920c580d8a321afa07f Merge: 82894b6... f73d358... Author: Takashi Iwai Date: Tue Nov 25 11:56:25 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit 82894b6f6f109722070d4d78730fe50cdaba9443 Author: Takashi Iwai Date: Tue Nov 25 11:42:54 2008 +0100 ALSA: hda - Fix proc pcm rate bits Show only the relevant bits in the PCM rate bits as in the earlier version. Signed-off-by: Takashi Iwai commit fb7e06748c29c08a9f5ca057a780b65acbb91c27 Author: Alexey Dobriyan Date: Tue Nov 25 01:05:54 2008 -0800 xfrm: remove useless forward declarations Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6daad37230ab02bb593d179d704079d4b5912bd7 Author: Alexey Dobriyan Date: Tue Nov 25 01:05:09 2008 -0800 ah4/ah6: remove useless NULL assignments struct will be kfreed in a moment, so... Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 69d728baf620839d1a3c874eecac316729f89de4 Author: Alexander Duyck Date: Tue Nov 25 01:04:03 2008 -0800 igb: loopback bits not correctly cleared from RCTL register This change forces the bits to 0 by using an &= operation with an inverted mask of all options instead of using an |= with a value of 0. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9b07f3d3157487e6467dfa4640f7fb9446165494 Author: Alexander Duyck Date: Tue Nov 25 01:03:26 2008 -0800 igb: remove unneeded bit refrence when enabling jumbo frames There is a reference to a Buffer Size extention bit that is unneded by 82575/82576 hardware. Since it is not needed it should be removed from the code. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7a6b6f515f77d1c62a2f383b6dce18cb0af0cf4f Author: Jeff Kirsher Date: Tue Nov 25 01:02:08 2008 -0800 DCB: fix kconfig option Since the netlink option for DCB is necessary to actually be useful, simplified the Kconfig option. In addition, added useful help text for the Kconfig option. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 411c41eea58bd3500cf897e2c27dd5330935a3a8 Author: Harvey Harrison Date: Tue Nov 25 00:40:37 2008 -0800 aoe: remove private mac address format function Add %pm to omit the colons when printing a mac address. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 9c8f92aed16dbd1924910f3305f5992a4f29fe2a Author: Denis Joseph Barrow Date: Tue Nov 25 00:36:10 2008 -0800 hso: Hook up ->reset_resume Made usb_drivers reset_resume function point to hso_resume this fixes problems a usb reset is done when the network interface is left idle for a few minutes. Possibly reset_resume should initialise hardware more but this works in the common case. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 7ea3a9ad9bf360f746a7ad6fa72511a5c359490d Author: Denis Joseph Barrow Date: Tue Nov 25 00:35:26 2008 -0800 hso: Add TIOCM ioctl handling. Makes TIOCM ioctls for Data Carrier Detect & related functions work like /drivers/serial/serial-core.c potentially needed for pppd & similar user programs. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 52429eb216385fdc6969c0112ba8b46cffefaaef Author: Denis Joseph Barrow Date: Tue Nov 25 00:33:13 2008 -0800 hso: Fix free of mutexes still in use. A new structure hso_mutex_table had to be declared statically & used as as hso_device mutex_lock(&serial->parent->mutex) etc is freed in hso_serial_open & hso_serial_close by kref_put while the mutex is still in use. This is a substantial change but should make the driver much stabler. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 89930b7b5e3e9bfe9c6ec5e19920451c8f5d9088 Author: Denis Joseph Barrow Date: Tue Nov 25 00:30:48 2008 -0800 hso: Fix URB submission -EINVAL. Added check for IFF_UP in hso_resume, this should eliminate -EINVAL (-22) errors caused from urb's being submitted twice, once by hso_resume & once in hso_net_open, if suspend/resume USB power saving mode is enabled Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 4a3e818181e1baf970e9232ca8b747e233176b87 Author: Denis Joseph Barrow Date: Tue Nov 25 00:27:50 2008 -0800 hso: Fix crashes on close. Moved serial_open_count in hso_serial_open to prevent crashes owing to the serial structure being made NULL when hso_serial_close is called even though hso_serial_open returned -ENODEV, Alan Cox pointed out this happens, also put in sanity check in hso_serial_close to check for a valid serial structure which should prevent the most reproducable crash in the driver when the hso device is disconnected while in use. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit bab04c3adbb55aeb5e8db60522f14ce0bb0d4179 Author: Denis Joseph Barrow Date: Tue Nov 25 00:26:12 2008 -0800 hso: Add new usb device id's. Signed-off-by: Denis Joseph Barrow Signed-off-by: David S. Miller commit 47fd5b8373ecc6bf5473e4139b62b06425448252 Author: Stephen Hemminger Date: Tue Nov 25 00:20:43 2008 -0800 netdev: add HAVE_NET_DEVICE_OPS As a concession to vendors who have to deal with one source for different kernel versions, add a HAVE_NET_DEVICE_OPS so they don't end up hard coding ifdef against kernel version. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7807fafa52b990abb321f1212416c71e64523ecb Author: Ingo Molnar Date: Tue Nov 25 08:44:24 2008 +0100 lockdep: fix unused function warning in kernel/lockdep.c Impact: fix build warning this warning: kernel/lockdep.c:584: warning: ‘print_lock_dependencies’ defined but not used triggers because print_lock_dependencies() is only used if both CONFIG_TRACE_IRQFLAGS and CONFIG_PROVE_LOCKING are enabled. But adding #ifdefs is not an option here - it would spread out to 4-5 other helper functions and uglify the file. So mark this function as __used - it's static and the compiler can eliminate it just fine. Signed-off-by: Ingo Molnar commit e951e4af2e399c46891004d4931333d2d8d520ab Author: Ingo Molnar Date: Tue Nov 25 08:42:01 2008 +0100 x86: fix unused variable warning in arch/x86/kernel/hpet.c Impact: fix build warning this warning: arch/x86/kernel/hpet.c:36: warning: ‘hpet_num_timers’ defined but not used Triggers because hpet_num_timers is unused in the !CONFIG_PCI_MSI case. Signed-off-by: Ingo Molnar commit 14bfc987e395797dfe03e915e8b4c7fc9e5078e4 Author: Ingo Molnar Date: Tue Nov 25 08:58:11 2008 +0100 tracing, tty: fix warnings caused by branch tracing and tty_kref_get() Stephen Rothwell reported tht this warning started triggering in linux-next: In file included from init/main.c:27: include/linux/tty.h: In function ‘tty_kref_get’: include/linux/tty.h:330: warning: ‘______f’ is static but declared in inline function ‘tty_kref_get’ which is not static Which gcc emits for 'extern inline' functions that nevertheless define static variables. Change it to 'static inline', which is the norm in the kernel anyway. Reported-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit 0ace285605314c54339710484b54814945a60df8 Author: Ilpo Järvinen Date: Mon Nov 24 21:30:21 2008 -0800 tcp: handle shift/merge of cloned skbs too This caused me to get repeatably: tcpdump: pcap_loop: recvfrom: Bad address Happens occassionally when I tcpdump my for-looped test xfers: while [ : ]; do echo -n "$(date '+%s.%N') "; ./sendfile; sleep 20; done Rest of the relevant commands: ethtool -K eth0 tso off tc qdisc add dev eth0 root netem drop 4% tcpdump -n -s0 -i eth0 -w sacklog.all Running net-next under kvm, connection goes to the same host (basically just out of kvm). The connection itself works ok and data gets sent without corruption even with a large number of tests while tcpdump fails usually within less than 5 tests. Whether it only happens because of this change or not, I don't know for sure but it's the only thing with which I've seen that error. The non-cloned variant works w/o it for much longer time. I'm yet to debug where the error actually comes from. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 111cc8b913b42ef07793648b1699288332f273e1 Author: Ilpo Järvinen Date: Mon Nov 24 21:27:22 2008 -0800 tcp: add some mibs to track collapsing Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 92ee76b6d99bfcdab6162816c9025541ef7248eb Author: Ilpo Järvinen Date: Mon Nov 24 21:26:56 2008 -0800 tcp: Make shifting not clear the hints The earlier version was just very basic one which is "playing safe" by always clearing the hints. However, clearing of a hint is extremely costly operation with large windows, so it must be avoided at all cost whenever possible, there is a way with shifting too achieve not-clearing. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 832d11c5cd076abc0aa1eaf7be96c81d1a59ce41 Author: Ilpo Järvinen Date: Mon Nov 24 21:20:15 2008 -0800 tcp: Try to restore large SKBs while SACK processing During SACK processing, most of the benefits of TSO are eaten by the SACK blocks that one-by-one fragment SKBs to MSS sized chunks. Then we're in problems when cleanup work for them has to be done when a large cumulative ACK comes. Try to return back to pre-split state already while more and more SACK info gets discovered by combining newly discovered SACK areas with the previous skb if that's SACKed as well. This approach has a number of benefits: 1) The processing overhead is spread more equally over the RTT 2) Write queue has less skbs to process (affect everything which has to walk in the queue past the sacked areas) 3) Write queue is consistent whole the time, so no other parts of TCP has to be aware of this (this was not the case with some other approach that was, well, quite intrusive all around). 4) Clean_rtx_queue can release most of the pages using single put_page instead of previous PAGE_SIZE/mss+1 calls In case a hole is fully filled by the new SACK block, we attempt to combine the next skb too which allows construction of skbs that are even larger than what tso split them to and it handles hole per on every nth patterns that often occur during slow start overshoot pretty nicely. Though this to be really useful also a retransmission would have to get lost since cumulative ACKs advance one hole at a time in the most typical case. TODO: handle upwards only merging. That should be rather easy when segment is fully sacked but I'm leaving that as future work item (it won't make very large difference anyway since this current approach already covers quite a lot of normal cases). I was earlier thinking of some sophisticated way of tracking timestamps of the first and the last segment but later on realized that it won't be that necessary at all to store the timestamp of the last segment. The cases that can occur are basically either: 1) ambiguous => no sensible measurement can be taken anyway 2) non-ambiguous is due to reordering => having the timestamp of the last segment there is just skewing things more off than does some good since the ack got triggered by one of the holes (besides some substle issues that would make determining right hole/skb even harder problem). Anyway, it has nothing to do with this change then. I choose to route some abnormal looking cases with goto noop, some could be handled differently (eg., by stopping the walking at that skb but again). In general, they either shouldn't happen at all or are rare enough to make no difference in practice. In theory this change (as whole) could cause some macroscale regression (global) because of cache misses that are taken over the round-trip time but it gets very likely better because of much less (local) cache misses per other write queue walkers and the big recovery clearing cumulative ack. Worth to note that these benefits would be very easy to get also without TSO/GSO being on as long as the data is in pages so that we can merge them. Currently I won't let that happen because DSACK splitting at fragment that would mess up pcounts due to sk_can_gso in tcp_set_skb_tso_segs. Once DSACKs fragments gets avoided, we have some conditions that can be made less strict. TODO: I will probably have to convert the excessive pointer passing to struct sacktag_state... :-) My testing revealed that considerable amount of skbs couldn't be shifted because they were cloned (most likely still awaiting tx reclaim)... [The rest is considering future work instead since I got repeatably EFAULT to tcpdump's recvfrom when I added pskb_expand_head to deal with clones, so I separated that into another, later patch] ...To counter that, I gave up on the fifth advantage: 5) When growing previous SACK block, less allocs for new skbs are done, basically a new alloc is needed only when new hole is detected and when the previous skb runs out of frags space ...which now only happens of if reclaim is fast enough to dispose the clone before the SACK block comes in (the window is RTT long), otherwise we'll have to alloc some. With clones being handled I got these numbers (will be somewhat worse without that), taken with fine-grained mibs: TCPSackShifted 398 TCPSackMerged 877 TCPSackShiftFallback 320 TCPSACKCOLLAPSEFALLBACKGSO 0 TCPSACKCOLLAPSEFALLBACKSKBBITS 0 TCPSACKCOLLAPSEFALLBACKSKBDATA 0 TCPSACKCOLLAPSEFALLBACKBELOW 0 TCPSACKCOLLAPSEFALLBACKFIRST 1 TCPSACKCOLLAPSEFALLBACKPREVBITS 318 TCPSACKCOLLAPSEFALLBACKMSS 1 TCPSACKCOLLAPSEFALLBACKNOHEAD 0 TCPSACKCOLLAPSEFALLBACKSHIFT 0 TCPSACKCOLLAPSENOOPSEQ 0 TCPSACKCOLLAPSENOOPSMALLPCOUNT 0 TCPSACKCOLLAPSENOOPSMALLLEN 0 TCPSACKCOLLAPSEHOLE 12 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f58b22fd3c16444edc393a217a74208f1894b601 Author: Ilpo Järvinen Date: Mon Nov 24 21:14:43 2008 -0800 tcp: make tcp_sacktag_one able to handle partial skb too This is preparatory work for SACK combiner patch which may have to count TCP state changes for only a part of the skb because it will intentionally avoids splitting skb to SACKed and not sacked parts. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit adb92db857ee2a0a2b925ccfbd560203c3f88aae Author: Ilpo Järvinen Date: Mon Nov 24 21:13:50 2008 -0800 tcp: Make SACK code to split only at mss boundaries Sadly enough, this adds possible divide though we try to avoid it by checking one mss as common case. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e8bae275d9354104f7ae24a48a90d1a6286e7bd9 Author: Ilpo Järvinen Date: Mon Nov 24 21:12:28 2008 -0800 tcp: more aggressive skipping I knew already when rewriting the sacktag that this condition was too conservative, change it now since it prevent lot of useless work (especially in the sack shifter decision code that is being added by a later patch). This shouldn't change anything really, just save some processing regardless of the shifter. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e1aa680fa40e7492260a09cb57d94002245cc8fe Author: Ilpo Järvinen Date: Mon Nov 24 21:11:55 2008 -0800 tcp: move tcp_simple_retransmit to tcp_input Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4a17fc3add594fcc1c778e93a95b6ecf47f630e5 Author: Ilpo Järvinen Date: Mon Nov 24 21:03:43 2008 -0800 tcp: collapse more than two on retransmission I always had thought that collapsing up to two at a time was intentional decision to avoid excessive processing if 1 byte sized skbs are to be combined for a full mtu, and consecutive retransmissions would make the size of the retransmittee double each round anyway, but some recent discussion made me to understand that was not the case. Thus make collapse work more and wait less. It would be possible to take advantage of the shifting machinery (added in the later patch) in the case of paged data but that can be implemented on top of this change. tcp_skb_is_last check is now provided by the loop. I tested a bit (ss-after-idle-off, fill 4096x4096B xfer, 10s sleep + 4096 x 1byte writes while dropping them for some a while with netem): . 16774097:16775545(1448) ack 1 win 46 . 16775545:16776993(1448) ack 1 win 46 . ack 16759617 win 2399 P 16776993:16777217(224) ack 1 win 46 . ack 16762513 win 2399 . ack 16765409 win 2399 . ack 16768305 win 2399 . ack 16771201 win 2399 . ack 16774097 win 2399 . ack 16776993 win 2399 . ack 16777217 win 2399 P 16777217:16777257(40) ack 1 win 46 . ack 16777257 win 2399 P 16777257:16778705(1448) ack 1 win 46 P 16778705:16780153(1448) ack 1 win 46 FP 16780153:16781313(1160) ack 1 win 46 . ack 16778705 win 2399 . ack 16780153 win 2399 F 1:1(0) ack 16781314 win 2399 While without drop-all period I get this: . 16773585:16775033(1448) ack 1 win 46 . ack 16764897 win 9367 . ack 16767793 win 9367 . ack 16770689 win 9367 . ack 16773585 win 9367 . 16775033:16776481(1448) ack 1 win 46 P 16776481:16777217(736) ack 1 win 46 . ack 16776481 win 9367 . ack 16777217 win 9367 P 16777217:16777218(1) ack 1 win 46 P 16777218:16777219(1) ack 1 win 46 P 16777219:16777220(1) ack 1 win 46 ... P 16777247:16777248(1) ack 1 win 46 . ack 16777218 win 9367 . ack 16777219 win 9367 ... . ack 16777233 win 9367 . ack 16777248 win 9367 P 16777248:16778696(1448) ack 1 win 46 P 16778696:16780144(1448) ack 1 win 46 FP 16780144:16781313(1169) ack 1 win 46 . ack 16780144 win 9367 F 1:1(0) ack 16781314 win 9367 The window seems to be 30-40 segments, which were successfully combined into: P 16777217:16777257(40) ack 1 win 46 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 200036ca9b3f0b2250912142552ce56682190f95 Author: Hannes Eder Date: Mon Nov 24 22:14:43 2008 +0100 CRED: fix sparse warnings Impact: fix sparse warnings Fix the following sparse warnings: security/security.c:228:2: warning: returning void-valued expression security/security.c:233:2: warning: returning void-valued expression security/security.c:616:2: warning: returning void-valued expression Signed-off-by: Hannes Eder Signed-off-by: James Morris commit a21bba945430f3f5e00c349665f88cdacdb32a8d Author: Eric Dumazet Date: Mon Nov 24 16:07:50 2008 -0800 net: avoid a pair of dst_hold()/dst_release() in ip_push_pending_frames() We can reduce pressure on dst entry refcount that slowdown UDP transmit path on SMP machines. This pressure is visible on RTP servers when delivering content to mediagateways, especially big ones, handling thousand of streams. Several cpus send UDP frames to the same destination, hence use the same dst entry. This patch makes ip_push_pending_frames() steal the refcount its callers had to take when filling inet->cork.dst. This doesnt avoid all refcounting, but still gives speedups on SMP, on UDP/RAW transmit path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6ded6ab9be4f6164aef1c527407c1b94f0929799 Author: Serge Hallyn Date: Mon Nov 24 16:24:10 2008 -0500 User namespaces: use the current_user_ns() macro Fix up the last current_user()->user_ns instance to use current_user_ns(). Signed-off-by: Serge E. Hallyn commit 18b6e0414e42d95183f07d8177e3ff0241abd825 Author: Serge Hallyn Date: Wed Oct 15 16:38:45 2008 -0500 User namespaces: set of cleanups (v2) The user_ns is moved from nsproxy to user_struct, so that a struct cred by itself is sufficient to determine access (which it otherwise would not be). Corresponding ecryptfs fixes (by David Howells) are here as well. Fix refcounting. The following rules now apply: 1. The task pins the user struct. 2. The user struct pins its user namespace. 3. The user namespace pins the struct user which created it. User namespaces are cloned during copy_creds(). Unsharing a new user_ns is no longer possible. (We could re-add that, but it'll cause code duplication and doesn't seem useful if PAM doesn't need to clone user namespaces). When a user namespace is created, its first user (uid 0) gets empty keyrings and a clean group_info. This incorporates a previous patch by David Howells. Here is his original patch description: >I suggest adding the attached incremental patch. It makes the following >changes: > > (1) Provides a current_user_ns() macro to wrap accesses to current's user > namespace. > > (2) Fixes eCryptFS. > > (3) Renames create_new_userns() to create_user_ns() to be more consistent > with the other associated functions and because the 'new' in the name is > superfluous. > > (4) Moves the argument and permission checks made for CLONE_NEWUSER to the > beginning of do_fork() so that they're done prior to making any attempts > at allocation. > > (5) Calls create_user_ns() after prepare_creds(), and gives it the new creds > to fill in rather than have it return the new root user. I don't imagine > the new root user being used for anything other than filling in a cred > struct. > > This also permits me to get rid of a get_uid() and a free_uid(), as the > reference the creds were holding on the old user_struct can just be > transferred to the new namespace's creator pointer. > > (6) Makes create_user_ns() reset the UIDs and GIDs of the creds under > preparation rather than doing it in copy_creds(). > >David >Signed-off-by: David Howells Changelog: Oct 20: integrate dhowells comments 1. leave thread_keyring alone 2. use current_user_ns() in set_user() Signed-off-by: Serge Hallyn commit 2e77d89b2fa8e3f8325b8ce7893ec3645f41aff5 Author: Eric Dumazet Date: Mon Nov 24 15:52:46 2008 -0800 net: avoid a pair of dst_hold()/dst_release() in ip_append_data() We can reduce pressure on dst entry refcount that slowdown UDP transmit path on SMP machines. This pressure is visible on RTP servers when delivering content to mediagateways, especially big ones, handling thousand of streams. Several cpus send UDP frames to the same destination, hence use the same dst entry. This patch makes ip_append_data() eventually steal the refcount its callers had to take on the dst entry. This doesnt avoid all refcounting, but still gives speedups on SMP, on UDP/RAW transmit path Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4db0acf3c0afbbbb2ae35a65f8896ca6655a47ec Author: Jarek Poplawski Date: Mon Nov 24 15:48:05 2008 -0800 net: gen_estimator: Fix gen_kill_estimator() lookups gen_kill_estimator() linear lists lookups are very slow, and e.g. while deleting a large number of HTB classes soft lockups were reported. Here is another try to fix this problem: this time internally, with rbtree, so similarly to Jamal's hashing idea IIRC. (Looking for next hits could be still optimized, but it's really fast as it is.) Reported-by: Badalian Vyacheslav Reported-by: Denys Fedoryshchenko Signed-off-by: Jarek Poplawski Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 3f0947c3ffaed33c1c38b79e4b17f75ba072d3e9 Author: Patrick McHardy Date: Mon Nov 24 15:46:08 2008 -0800 pkt_sched: sch_drr: fix drr_dequeue loop() Jarek Poplawski points out: If all child qdiscs of sch_drr are non-work-conserving (e.g. sch_tbf) drr_dequeue() will busy-loop waiting for skbs instead of leaving the job for a watchdog. Checking for list_empty() in each loop isn't necessary either, because this can never be true except the first time. Using non-work-conserving qdiscs as children of DRR makes no sense, simply bail out in that case. Reported-by: Jarek Poplawski Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b40eed73e3787d60160beed1352ceadd24f6be1 Author: Wang Chen Date: Mon Nov 24 15:34:00 2008 -0800 infiniband: Kill directly reference of netdev->priv This use of netdev->priv is wrong. The right way is: alloc_netdev() with no memory for private data. make netdev->ml_priv to point to c2_dev. Signed-off-by: Wang Chen Acked-by: Roland Dreier Signed-off-by: David S. Miller commit 486bf8de17361232c40e092a219f328093e34dca Author: Wang Chen Date: Mon Nov 24 14:52:16 2008 -0800 netdevice sbni: Convert directly reference of netdev->priv 1. convert netdev->priv to netdev_priv(). 2. make sbni_pci_probe() be static. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 5c94afd79cd9e68cb9899fe7788342329e9f445f Author: Jirka Pirko Date: Mon Nov 24 14:49:11 2008 -0800 tokenring/3c359.c: Prevent possible mem leak when open failed Freeing previously allocated buffers in case of error. Signed-off-by: Jirka Pirko Signed-off-by: David S. Miller commit 138a5cdf2ffe8c6602641f8aaa00cfcf10929fe1 Author: Jirka Pirko Date: Mon Nov 24 14:48:25 2008 -0800 tokenring/3c359.c: Fix error message when allocating tx_ring Pointed out by Joe Perches. Error message after tx_ring allocation check was wrong. Signed-off-by: Jirka Pirko Signed-off-by: David S. Miller commit d0cc10ab0e3740b629d88386c907342f77cbdb30 Author: Jirka Pirko Date: Mon Nov 24 14:47:53 2008 -0800 tokenring/3c359.c: fix allocation null check Fixed typo when allocating rx_ring, tx_ring was checked for null instead. Signed-off-by: Jirka Pirko Signed-off-by: David S. Miller commit 85920d43bd5ae8a96f434704438b57c0b8c31198 Author: Stephen Hemminger Date: Mon Nov 24 14:47:01 2008 -0800 8139too: use err.h macros Instead of using call by reference use the PTR_ERR macros to handle return value with error case. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3755810cebf7f9902b05c7ba9baeac0fc44881be Author: Eric Dumazet Date: Mon Nov 24 14:05:22 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() There is still a call to sock_prot_inuse_add() in af_netlink while in a preemptable section. Add explicit BH disable around this call. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1acdac104668a0834cfa267de9946fac7764d486 Author: Thomas Gleixner Date: Thu Nov 20 10:02:53 2008 -0800 futex: make clock selectable for FUTEX_WAIT_BITSET FUTEX_WAIT_BITSET could be used instead of FUTEX_WAIT by setting the bit set to FUTEX_BITSET_MATCH_ANY, but FUTEX_WAIT uses CLOCK_REALTIME while FUTEX_WAIT_BITSET uses CLOCK_MONOTONIC. Add a flag to select CLOCK_REALTIME for FUTEX_WAIT_BITSET so glibc can replace the FUTEX_WAIT logic which needs to do gettimeofday() calls before and after the syscall to convert the absolute timeout to a relative timeout for FUTEX_WAIT. Signed-off-by: Thomas Gleixner Cc: Ulrich Drepper commit 3e1d7a6219ab64e13b10b1a77c0625db9a8bd8db Merge: 42569c3... 13d428a... Author: Thomas Gleixner Date: Mon Nov 24 19:54:37 2008 +0100 Merge branch 'linus' into core/futexes commit fde22f272dad4fef7ba611e3f75fa94f7b43fae6 Author: Mark Brown Date: Mon Nov 24 18:08:18 2008 +0000 ASoC: Lower priority of resume work logging Now that the ASoC resume has been punted to a workqueue for a release cycle without attracting bug reports it should be safe to make the log messages associated with it debug level, reducing noise and kernel size in production configurations. Signed-off-by: Mark Brown commit 67c91513b81a101800f113013234d2ab06bc5e52 Author: Mark Brown Date: Mon Nov 24 17:45:26 2008 +0000 ASoC: Flag AD1980 as an AC97 interface Special handling is required for suspend and resume of AC97 codecs due to the control path going over the data bus. Signed-off-by: Mark Brown commit 3ba9e10a6d3b6abf5f5952572cff8f8d5a35ae54 Author: Mark Brown Date: Mon Nov 24 18:01:05 2008 +0000 ASoC: Remove DAI type information DAI type information is only ever used within ASoC in order to special case AC97 and for diagnostic purposes. Since modern CPUs and codecs support multi function DAIs which can be configured for several modes it is more trouble than it's worth to maintain anything other than a flag identifying AC97 DAIs so remove the type field and replace it with an ac97_control flag. Signed-off-by: Mark Brown commit 4813eadf6b17caa7fcce67ac2f929a3dd5178fa2 Author: Patrick McHardy Date: Mon Nov 24 18:34:48 2008 +0100 netfilter: nf_conntrack_ftp: change "partial ..." message to pr_debug() The message triggers when sending non-FTP data on port 21 or with certain clients that use multiple syscalls to send the command. Change to pr_debug() since users have been complaining. Signed-off-by: Patrick McHardy commit 96f874e26428ab5d2db681c100210c254775e154 Author: Rusty Russell Date: Tue Nov 25 02:35:14 2008 +1030 sched: convert remaining old-style cpumask operators Impact: Trivial API conversion NR_CPUS -> nr_cpu_ids cpumask_t -> struct cpumask sizeof(cpumask_t) -> cpumask_size() cpumask_a = cpumask_b -> cpumask_copy(&cpumask_a, &cpumask_b) cpu_set() -> cpumask_set_cpu() first_cpu() -> cpumask_first() cpumask_of_cpu() -> cpumask_of() cpus_* -> cpumask_* There are some FIXMEs where we all archs to complete infrastructure (patches have been sent): cpu_coregroup_map -> cpu_coregroup_mask node_to_cpumask* -> cpumask_of_node There is also one FIXME where we pass an array of cpumasks to partition_sched_domains(): this implies knowing the definition of 'struct cpumask' and the size of a cpumask. This will be fixed in a future patch. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 0e3900e6d3b04c44737ebc505604dcd8ed30e354 Author: Rusty Russell Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert local_cpu_mask to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 24600ce89a819a8f2fb4fd69fd777218a82ade20 Author: Rusty Russell Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert check_preempt_equal_prio to cpumask_var_t. Impact: stack reduction for large NR_CPUS Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves stack space. We simply return if the allocation fails: since we don't use it we could just pass NULL to cpupri_find and have it handle that. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 68e74568fbe5854952355e942acca51f138096d9 Author: Rusty Russell Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert struct cpupri_vec cpumask_var_t. Impact: stack usage reduction, (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. The fact cpupro_init is called both before and after the slab is available makes for an ugly parameter unfortunately. We also use cpumask_any_and to get rid of a temporary in cpupri_find. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 4212823fb459eacc8098dd420bb68ebb9917989d Author: Rusty Russell Date: Tue Nov 25 02:35:12 2008 +1030 sched: convert falback_doms to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit dcc30a35f71bcf51f1e9b336dc5e41923071509a Author: Rusty Russell Date: Tue Nov 25 02:35:12 2008 +1030 sched: convert cpu_isolated_map to cpumask_var_t. Impact: stack usage reduction, (future) size reduction, cleanup Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. We can also use cpulist_parse() instead of doing it manually in isolated_cpu_setup. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit d5dd3db1dce73cdd5c45c5a3498c51bd21b8864b Author: Rusty Russell Date: Tue Nov 25 02:35:12 2008 +1030 sched: convert sched_domain_debug to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves stack space. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. In this case, we always alloced, but we don't need to any more. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 5a16f3d30ca4e3f166d691220c003066a14e32b5 Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: convert struct (sys_)sched_setaffinity() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space on the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Note the removal of the initializer of new_mask: since the first thing we did was "cpus_and(new_mask, new_mask, cpus_allowed)" I just changed that to "cpumask_and(new_mask, in_mask, cpus_allowed);". Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit e76bd8d9850c2296a7e8e24c9dce9b5e6b55fe2f Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: avoid stack var in move_task_off_dead_cpu Impact: stack usage reduction With some care, we can avoid needing a temporary cpumask (we can't really allocate here, since we can't fail). This version calls cpuset_cpus_allowed_locked() with the task_rq_lock held. I'm fairly sure this works, but there might be a deadlock hiding. And of course, we can't get rid of the last cpumask on stack until we can use cpumask_of_node instead of node_to_cpumask. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit f17c860760927c2a8e41a021eab3317e4415e962 Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: convert sys_sched_getaffinity() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space in the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Some jiggling here to make sure we always exit at the bottom (so we hit the free_cpumask_var there). Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit a0e902452da16b79d7c9230630ed8a595d14fa85 Author: Rusty Russell Date: Tue Nov 25 02:35:11 2008 +1030 sched: convert rebalance_domains() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space in the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 4d2732c63e0c05cfef2a74868d08eace922dfc3e Author: Rusty Russell Date: Tue Nov 25 02:35:10 2008 +1030 sched: convert idle_balance() to cpumask_var_t. Impact: stack usage reduction Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space in the stack. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 7d1e6a9b95e3edeac91888bc683ae62f18519432 Author: Rusty Russell Date: Tue Nov 25 02:35:09 2008 +1030 sched: convert nohz struct to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit c6c4927b22a3514c6660f0e72c78716226bd3cc8 Author: Rusty Russell Date: Tue Nov 25 02:35:05 2008 +1030 sched: convert struct root_domain to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. def_root_domain is static, and so its masks are initialized with alloc_bootmem_cpumask_var. After that, alloc_cpumask_var is used. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6a7b3dc3440f7b5a9b67594af01ed562cdeb41e4 Author: Rusty Russell Date: Tue Nov 25 02:35:04 2008 +1030 sched: convert nohz_cpu_mask to cpumask_var_t. Impact: (future) size reduction for large NR_CPUS. Dynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. cpumask_var_t is just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 6c99e9ad47d9c082bd096f42fb49e397b05d58a8 Author: Rusty Russell Date: Tue Nov 25 02:35:04 2008 +1030 sched: convert struct sched_group/sched_domain cpumask_ts to variable bitmaps Impact: (future) size reduction for large NR_CPUS. We move the 'cpumask' member of sched_group to the end, so when we kmalloc it we can do a minimal allocation: saves space for small nr_cpu_ids but big CONFIG_NR_CPUS. Similar trick for 'span' in sched_domain. This isn't quite as good as converting to a cpumask_var_t, as some sched_groups are actually static, but it's safer: we don't have to figure out where to call alloc_cpumask_var/free_cpumask_var. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 758b2cdc6f6a22c702bd8f2344382fb1270b2161 Author: Rusty Russell Date: Tue Nov 25 02:35:04 2008 +1030 sched: wrap sched_group and sched_domain cpumask accesses. Impact: trivial wrap of member accesses This eases the transition in the next patch. We also get rid of a temporary cpumask in find_idlest_cpu() thanks to for_each_cpu_and, and sched_balance_self() due to getting weight before setting sd to NULL. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 1e5ce4f4a755ee498bd9217dae26143afa0d8f31 Author: Rusty Russell Date: Tue Nov 25 02:35:03 2008 +1030 sched: remove any_online_cpu() Impact: use new API any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. There are several places where any_online_cpu() doesn't really want a mask arg at all. Replace all callers with cpumask_any() and cpumask_any_and(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 3404c8d97c2d3eb87b1bf4aadad957bfb5235b14 Author: Rusty Russell Date: Tue Nov 25 02:35:03 2008 +1030 sched: get rid of boutique sched.c allocations, use cpumask_var_t. Impact: use new general API Using lots of allocs rather than one big alloc is less efficient, but who cares for this setup function? Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Signed-off-by: Ingo Molnar commit abcd083a1a658d2bc1f7fced02632bfe03918002 Author: Rusty Russell Date: Tue Nov 25 02:35:02 2008 +1030 sched: convert sched.c from for_each_cpu_mask to for_each_cpu. Impact: trivial API conversion This is a simple conversion, but note that for_each_cpu() terminates with i >= nr_cpu_ids, not i == NR_CPUS like for_each_cpu_mask() did. I don't convert all of them: sd->span changes in a later patch, so change those iterators there rather than here. Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit ea6f18ed5a1531caf678374f30a0990c9e6742f3 Author: Mike Travis Date: Tue Nov 25 02:35:02 2008 +1030 sched: reduce stack size requirements in kernel/sched.c Impact: cleanup * use node_to_cpumask_ptr in place of node_to_cpumask to reduce stack requirements in sched.c Signed-off-by: Mike Travis Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 943f3d030003e1fa5f77647328e805441213bf49 Merge: 64b7482... b19b3c7... 6f893fb... Author: Ingo Molnar Date: Mon Nov 24 17:46:57 2008 +0100 Merge branches 'sched/core', 'core/core' and 'tracing/core' into cpus4096 commit 6f893fb2e89287a4d755f928c3cda9d18440355c Merge: 0429149... 1d926f2... 69bb54e... 65afa5e... cbe2f5a... 813b852... 033601a... 958086d... fb91ee6... Author: Ingo Molnar Date: Mon Nov 24 17:46:24 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/fastboot', 'tracing/ftrace', 'tracing/function-return-tracer', 'tracing/power-tracer', 'tracing/powerpc', 'tracing/ring-buffer', 'tracing/stack-tracer' and 'tracing/urgent' into tracing/core commit b19b3c74c7bbec45a848631b8f970ac110665a01 Merge: ed31348... 6003ab0... 42569c3... 7918baa... 29cbda7... 2b5fe6d... b0788ca... 8dd2337... Author: Ingo Molnar Date: Mon Nov 24 17:44:55 2008 +0100 Merge branches 'core/debug', 'core/futexes', 'core/locking', 'core/rcu', 'core/signal', 'core/urgent' and 'core/xen' into core/core commit 64b7482de253c10efa2589a6212e3d2093a3efc7 Merge: 957ad01... 50ee917... Author: Ingo Molnar Date: Mon Nov 24 17:37:12 2008 +0100 Merge branch 'sched/rt' into sched/core commit ef1681d82f4bc2d9e023519f0bedb86519d10c43 Author: Takashi Iwai Date: Mon Nov 24 17:29:28 2008 +0100 ALSA: hda - Add probe_mask quirk for Medion MD96630 Medion MD96630 has ALC268 codec on slot#2 although it's not used for any purpose. This codec conflicts with the primiary codec ALC888 on slot#0, and gives mixer errors. This patch adds a corresponding entry to probe_mask blacklist. Reference: Novell bnc#412528 https://bugzilla.novell.com/show_bug.cgi?id=412528 Signed-off-by: Takashi Iwai commit b0bd53a7399f65e2d1b37cd44c5003e55b886c1e Author: Peter Ujfalusi Date: Mon Nov 24 13:49:38 2008 +0200 ASoC: TWL4030: Add helper function for output gain controls Some of the gain controls in TWL (mostly those which are associated with the outputs) are implemented in an interesting way: 0x0 : Power down (mute) 0x1 : 6dB 0x2 : 0 dB 0x3 : -6 dB Inverting not going to help with these. Custom volsw and volsw_2r get/put functions to handle these gains. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0d33ea0b0f954dddd3996597c663c111249d4df9 Author: Peter Ujfalusi Date: Mon Nov 24 13:49:36 2008 +0200 ASoC: TWL4030: Add CGAIN volume control Add CGAIN (Coarse gain control) to TWL4030 codec. The range of the CGAIN is: 0 dB to 12 dB in 6 dB steps. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c10b82cf085c38f2568609ffb10a6d725130f389 Author: Peter Ujfalusi Date: Mon Nov 24 13:49:35 2008 +0200 ASoC: TWL4030: Change the Master volume control to TLV TWL4030 FGAIN volume control has a range: -62 to 0 dB in 1 dB steps, 0 in the FGAIN means mute. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f8d05bdbb07458e5f2c6a8281bde08056836fea6 Author: Peter Ujfalusi Date: Mon Nov 24 08:25:45 2008 +0200 ASoC: TWL4030: Disable soft-volume Keep Soft-volume disabled for now, since if it is enabled the FGAIN volume controls are not working in the current configuration: CODEC_MODE:OPT_MODE = 1 OPTION:ARXR2_EN = 1 OPTION:ARXL2_EN = 1 OPTION:ARXR1_EN = 0 OPTION:ARXL1_VRX_EN = 0 RX_PATH_SEL:RXL1_SEL = 0x0 (or 0x1) RX_PATH_SEL:RXR1_SEL = 0x0 (or 0x1) After the patch, FGAIN volume control works. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 55b8bac50a494871594e81a05b37c15e7283f868 Author: Mark Brown Date: Mon Nov 24 14:05:29 2008 +0000 ASoC: Use supplied DAI for WM9713 rather than substream Signed-off-by: Mark Brown commit 328bd8997dbb7184d5389e45c642af44ae6e9043 Author: Patrick McHardy Date: Mon Nov 24 13:44:55 2008 +0100 netfilter: nf_conntrack_proto_sctp: avoid bogus warning net/netfilter/nf_conntrack_proto_sctp.c: In function 'sctp_packet': net/netfilter/nf_conntrack_proto_sctp.c:376: warning: array subscript is above array bounds gcc doesn't realize that do_basic_checks() guarantees that there is at least one valid chunk and thus new_state is never SCTP_CONNTRACK_MAX after the loop. Initialize to SCTP_CONNTRACK_NONE to avoid the warning. Based on patch by Wu Fengguang Signed-off-by: Patrick McHardy commit ad07e914e681f18ec0eaba60db17f497ee7e7e78 Author: Ingo Molnar Date: Mon Nov 24 11:33:12 2008 +0100 x86 defconfig: increase CONFIG_LOG_BUF_SHIFT Impact: double the defconfig printk buffer Booting defconfigs produces more output than 128K so the output is truncated - double it to 256K. Signed-off-by: Ingo Molnar commit e45f2c07742d447597df001c878bc4a8aafcde37 Author: Denis V. Lunev Date: Mon Nov 24 11:28:36 2008 +0300 x86: correct link to HPET timer specification Impact: update documentation / help text Original link is dead. Signed-off-by: Denis V. Lunev Signed-off-by: Ingo Molnar commit 7918baa555140989eeee1270f48533987d48fdba Author: Török Edwin Date: Mon Nov 24 10:17:42 2008 +0200 mutex: __used is needed for function referenced only from inline asm Impact: fix build failure on llvm-gcc-4.2 According to the gcc manual, the 'used' attribute should be applied to functions referenced only from inline assembly. This fixes a build failure with llvm-gcc-4.2, which deleted __mutex_lock_slowpath, __mutex_unlock_slowpath. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit b47b92884212008b4bd044ba6b48b93c00b10ec6 Author: H. Peter Anvin Date: Mon Nov 24 00:50:09 2008 -0800 x86: drop REBOOT_CF9_COND from reboot fallback chain Impact: Reverts sequence of reboot fallbacks Checkin 14d7ca5c575853664d8fe4f225a77b8df1b7de7d changed the default reboot method to "pci", a.k.a. port CF9. Unfortunately this has been shown to cause lockups on at least two systems for which REBOOT_KBD worked, both Thinkpads with Intel chipsets. Checkin 3889d0cea2b73049bdca062d9ff1e5d33468289c reverted the default, but did not revert the fallback chain. This checkin reverts the fallback chain; port CF9 is now only done by explicit "reboot=pci" or a future potential DMI key. Signed-off-by: H. Peter Anvin commit 920de804bca61f88643bc9171bcd06f1a56c6258 Author: Eric Dumazet Date: Mon Nov 24 00:09:29 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() The rule of calling sock_prot_inuse_add() is that BHs must be disabled. Some new calls were added where this was not true and this tiggers warnings as reported by Ilpo. Fix this by adding explicit BH disabling around those call sites, or moving sock_prot_inuse_add() call inside an existing BH disabled section. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1f87e235e6fb92c2968b52b9191de04f1aff8e77 Author: Eric Dumazet Date: Sun Nov 23 23:24:32 2008 -0800 eth: Declare an optimized compare_ether_addr_64bits() function Linus mentioned we could try to perform long word operations, even on potentially unaligned addresses, on x86 at least. David mentioned the HAVE_EFFICIENT_UNALIGNED_ACCESS test to handle this on all arches that have efficient unailgned accesses. I tried this idea and got nice assembly on 32 bits: 158: 33 82 38 01 00 00 xor 0x138(%edx),%eax 15e: 33 8a 34 01 00 00 xor 0x134(%edx),%ecx 164: c1 e0 10 shl $0x10,%eax 167: 09 c1 or %eax,%ecx 169: 74 0b je 176 And very nice assembly on 64 bits of course (one xor, one shl) Nice oprofile improvement in eth_type_trans(), 0.17 % instead of 0.41 %, expected since we remove 8 instructions on a fast path. This patch implements a compare_ether_addr_64bits() function, that uses the CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ifdef to efficiently perform the 6 bytes comparison on all capable arches. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ef8ef5fb1027b56f867d4b913cf52bfdc610d2a7 Author: Vincent Petry Date: Sun Nov 23 11:31:41 2008 +0800 ALSA: hda: Added an ALC888 model entry for Fujitsu-Siemens Amilo Xa3530 This patch fixes the bug 0004240: ALC888 - Intel HDA - Headphone Controlling. It is made against the 2008-11-23 snapshot. Added Realtek ALC888 model entry for the Fujitsu-Siemens Amilo Xa3530 laptop. It has 4 jacks: HP out, Mic-in, Line-in and Line-out/Side/SPDIF (this one is on the laptop side, the other ones are on the rear). Model detection works. Headphone jack sense works now. Front mic works now, was same as Acer Aspire 4930G. Added channel mode from 2 to 8 channels. In 2ch and 4ch modes, the front is also sent to the Line-out/side jack for convenience instead of just muting the Line-out/side jack like other models do. When using the Mic-in jack as CLFE, the sound is very low (bug?). To work it around, in 6ch mode the CLFE channel is duplicated to the Line-out/side jack because this one has a better amp. Cc: manu@frogged.de Signed-off-by: Vincent Petry Signed-off-by: Takashi Iwai commit a9cb5c90539dd618029884701760fe79b9b83102 Author: Takashi Iwai Date: Mon Nov 24 07:51:11 2008 +0100 ALSA: hda - No 'Headphone as Line-out' swich without line-outs STAC/IDT driver creates "Headphone as Line-Out" switch even if there is no line-out pins on the machine. For devices only with headpohnes and speaker-outs, this switch shouldn't be created. Signed-off-by: Takashi Iwai commit 70eb1bfd52e97120eddf9b5aaabfe1ecdf4eb663 Author: David S. Miller Date: Sun Nov 23 20:01:59 2008 -0800 axnet_cs: Fix build after net device ops ne2k conversion. Commit 4e4fd4e485ad63a9074ff09a9b53ffc7a5c594ec ("ne2k: convert to net_device_ops") exported some ei_* symbols from the 8390 library, but the axnet_cs driver defines local static versions of the same functions. Rename them to avoid the namespace conflict. Reported by Stephen Rothwell. Signed-off-by: David S. Miller commit 6f756a8c36bf54d0afb1d457082b3e3033d951a7 Author: David S. Miller Date: Sun Nov 23 17:34:03 2008 -0800 net: Make sure BHs are disabled in sock_prot_inuse_add() The rule of calling sock_prot_inuse_add() is that BHs must be disabled. Some new calls were added where this was not true and this tiggers warnings as reported by Ilpo. Fix this by adding explicit BH disabling around those call sites. Signed-off-by: David S. Miller commit be77e5930725c3e77bcc0fb1def28e016080d0a1 Author: Alexey Dobriyan Date: Sun Nov 23 17:26:26 2008 -0800 net: fix tunnels in netns after ndo_ changes dev_net_set() should be the very first thing after alloc_netdev(). "ndo_" changes turned simple assignment (which is OK to do before netns assignment) into quite non-trivial operation (which is not OK, init_net was used). This leads to incomplete initialisation of tunnel device in netns. BUG: unable to handle kernel NULL pointer dereference at 00000004 IP: [] ip6_tnl_exit_net+0x37/0x4f *pde = 00000000 Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC last sysfs file: /sys/class/net/lo/operstate Pid: 10, comm: netns Not tainted (2.6.28-rc6 #1) EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at ip6_tnl_exit_net+0x37/0x4f EAX: 00000000 EBX: 00000020 ECX: 00000000 EDX: 00000003 ESI: c5caef30 EDI: c782bbe8 EBP: c7909f50 ESP: c7909f48 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process netns (pid: 10, ti=c7908000 task=c7905780 task.ti=c7908000) Stack: c03e75e0 c7390bc8 c7909f60 c0245448 c7390bd8 c7390bf0 c7909fa8 c012577a 00000000 00000002 00000000 c0125736 c782bbe8 c7909f90 c0308fe3 c782bc04 c7390bd4 c0245406 c084b718 c04f0770 c03ad785 c782bbe8 c782bc04 c782bc0c Call Trace: [] ? cleanup_net+0x42/0x82 [] ? run_workqueue+0xd6/0x1ae [] ? run_workqueue+0x92/0x1ae [] ? schedule+0x275/0x285 [] ? cleanup_net+0x0/0x82 [] ? worker_thread+0x81/0x8d [] ? autoremove_wake_function+0x0/0x33 [] ? worker_thread+0x0/0x8d [] ? kthread+0x39/0x5e [] ? kthread+0x0/0x5e [] ? kernel_thread_helper+0x7/0x10 Code: db e8 05 ff ff ff 89 c6 e8 dc 04 f6 ff eb 08 8b 40 04 e8 38 89 f5 ff 8b 44 9e 04 85 c0 75 f0 43 83 fb 20 75 f2 8b 86 84 00 00 00 <8b> 40 04 e8 1c 89 f5 ff e8 98 04 f6 ff 89 f0 e8 f8 63 e6 ff 5b EIP: [] ip6_tnl_exit_net+0x37/0x4f SS:ESP 0068:c7909f48 ---[ end trace 6c2f2328fccd3e0c ]--- Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c25eb3bfb97294d0543a81230fbc237046b4b84c Author: Eric Dumazet Date: Sun Nov 23 17:22:55 2008 -0800 net: Convert TCP/DCCP listening hash tables to use RCU This is the last step to be able to perform full RCU lookups in __inet_lookup() : After established/timewait tables, we add RCU lookups to listening hash table. The only trick here is that a socket of a given type (TCP ipv4, TCP ipv6, ...) can now flight between two different tables (established and listening) during a RCU grace period, so we must use different 'nulls' end-of-chain values for two tables. We define a large value : #define LISTENING_NULLS_BASE (1U << 29) So that slots in listening table are guaranteed to have different end-of-chain values than slots in established table. A reader can still detect it finished its lookup in the right chain. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8c862c23e2563e6aedfc6c4aa6827cadb83f2414 Author: Gerrit Renker Date: Sun Nov 23 16:10:23 2008 -0800 dccp: Header option insertion routine for feature-negotiation The patch extends existing code: * Confirm options divide into the confirmed value plus an optional preference list for SP values. Previously only the preference list was echoed for SP values, now the confirmed value is added as per RFC 4340, 6.1; * length and sanity checks are added to avoid illegal memory (or NULL) access. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit d371056695ef993d36c57b73d654e66080377a9c Author: Gerrit Renker Date: Sun Nov 23 16:09:11 2008 -0800 dccp: Support for Mandatory options Support for Mandatory options is provided by this patch, which will be used by subsequent feature-negotiation patches. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 02fa460ef553faabc7e0b15ff9f607f028739808 Author: Gerrit Renker Date: Sun Nov 23 16:07:53 2008 -0800 dccp: Increase the scope of variable-length htonl/ntohl functions This extends the scope of two available functions, encode|decode_value_var, to work up to 6 (8) bytes, to match maximum requirements in the RFC. These functions are going to be used both by general option processing and feature negotiation code, hence declarations have been put into feat.h. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 71c262a3dd42dea73700646d969b0af7a4102edf Author: Gerrit Renker Date: Sun Nov 23 16:04:59 2008 -0800 dccp: API to query the current TX/RX CCID This provides function to query the current TX/RX CCID dynamically, without reliance on the minisock value, using dynamic information available in the currently loaded CCID module. This query function is then used to (a) provide the getsockopt part for getting/setting CCIDs via sockopts; (b) replace the current test for "which CCID is in use" in probe.c. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit b20a9c24d5c5d466d7e4a25c6f1bedbd2d16ad4f Author: Gerrit Renker Date: Sun Nov 23 16:02:31 2008 -0800 dccp: Set per-connection CCIDs via socket options With this patch, TX/RX CCIDs can now be changed on a per-connection basis, which overrides the defaults set by the global sysctl variables for TX/RX CCIDs. To make full use of this facility, the remaining patches of this patch set are needed, which track dependencies and activate negotiated feature values. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 2c62ad7b56fa8e2658253c0256ef4c4de228a0b9 Author: Brice Goglin Date: Sun Nov 23 15:49:54 2008 -0800 myri10ge: update firmware headers Update myri10ge firmware headers. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 4ee2ac51359fc37d9ae5d5cc76e93af9105f1722 Author: Brice Goglin Date: Sun Nov 23 15:49:28 2008 -0800 myri10ge: update DCA comments Update DCA sections closing comments. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit c1fd3b9455a977057f73534324d4e07a3d9fe502 Author: Eric Dumazet Date: Sun Nov 23 15:48:22 2008 -0800 net: af_netlink should update its inuse counter In order to have relevant information for NETLINK protocol, in /proc/net/protocols, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 04f258ce7f085dd69422fa01d41c8f0194a0e270 Author: Eric Dumazet Date: Sun Nov 23 15:42:23 2008 -0800 net: some optimizations in af_inet 1) Use eq_net() in inet_netns_ok() to speedup socket creation if !CONFIG_NET_NS 2) Reorder the tests about inet_ehash_secret generation (once only) Use the unlikely() macro when testing if inet_ehash_secret already generated. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 958086d1784459be3fe85e4cad79d42b17d33381 Author: Török Edwin Date: Sun Nov 23 23:24:53 2008 +0200 vfs, seqfile: fix comment style on mangle_path Impact: use standard docbook tags Reported-by: Randy Dunlap Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 65afa5e603d507014580ead016ec887b49e1afa6 Author: Frederic Weisbecker Date: Sun Nov 23 18:43:39 2008 +0100 tracing/function-return-tracer: free the return stack on free_task() Impact: avoid losing some traces when a task is freed do_exit() is not the last function called when a task finishes. There are still some functions which are to be called such as ree_task(). So we delay the freeing of the return stack to the last moment. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 3b71e9e307b3406aa29960a7428247f8a48b810c Author: Hannes Eder Date: Sun Nov 23 20:19:33 2008 +0100 x86: HPET: fix sparse warning Impact: make global variable static Fix this sparse warning: arch/x86/kernel/hpet.c:36:18: warning: symbol 'hpet_num_timers' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 5f5db591326779a80cfe490c5d6b6ce9fac08b31 Author: jia zhang Date: Sun Nov 23 22:47:10 2008 +0800 x86, debug: remove the confusing entry in call trace Impact: improve backtrace quality avoid the confusion in call trace because of the lack of padding at the tail of function. When do_exit gets called, the return address behind call instruction is pushed into stack. If something get wrong in do_exit, for x86_64, the entry "kernel_execve +0x00/0xXX" rather than "child_rip +0xYY/0xZZ" is in the call trace. That looks confusing, so add a u2d to make the return address still part of the original call site. (This also catches any instances of us returning from that function somehow.) Signed-off-by: jia zhang Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit a1a00b58855ccdbedf556b4f5638d5208b454472 Author: Hannes Eder Date: Sun Nov 23 19:37:09 2008 +0100 x86: boot - fix sparse warnings Impact: make global variables static Fix these sparse warnings: arch/x86/boot/video.c:233:3: warning: symbol 'saved' was not declared. Should it be static? arch/x86/boot/video-vga.c:37:13: warning: symbol 'video_vga' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 3b6c52b5b634ae41d762cb174465272d69198160 Author: Cyrill Gorcunov Date: Sun Nov 23 20:21:39 2008 +0300 x86: introduce ENTRY(KPROBE_ENTRY)_X86 assembly helpers to catch unbalanced declaration v3 Impact: make ENTRY()/END() macros more capable It's usefull to catch unbalanced or messed or mixed declarations of ENTRY and KPROBES. These macros would help a bit. For example the following code would compile without problems ENTRY_X86(mcount) retq END_X86(mcount) But if you forget and mess the following form ENTRY_X86(mcount) retq END(mcount) ENTRY_X86(ftrace_caller) The assembler will issue the following message: Error: ENTRY_X86/KPROBE_X86 unbalanced,missed,mixed Actually the checking is performed at every _X86 macro so maybe it's good idea to put ENTRY_KPROBE_FINAL_X86 at the end of .S file to be sure you didn't miss anything. Signed-off-by: Cyrill Gorcunov Cc: Alexander van Heukelum Signed-off-by: Ingo Molnar commit eae849ca034c7f1015f0a6f17421ebc737f0a069 Author: Frederic Weisbecker Date: Sun Nov 23 17:33:12 2008 +0100 tracing/function-return-tracer: don't trace kfree while it frees the return stack Impact: fix a crash While I killed the cat process, I got sometimes the following (but rare) crash: [ 65.689027] Pid: 2969, comm: cat Not tainted (2.6.28-rc6-tip #83) AMILO Li 2727 [ 65.689027] EIP: 0060:[<00000000>] EFLAGS: 00010082 CPU: 1 [ 65.689027] EIP is at 0x0 [ 65.689027] EAX: 00000000 EBX: f66cd780 ECX: c019a64a EDX: f66cd780 [ 65.689027] ESI: 00000286 EDI: f66cd780 EBP: f630be2c ESP: f630be24 [ 65.689027] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 65.689027] Process cat (pid: 2969, ti=f630a000 task=f66cd780 task.ti=f630a000) [ 65.689027] Stack: [ 65.689027] 00000012 f630bd54 f630be7c c012c853 00000000 c0133cc9 f66cda54 f630be5c [ 65.689027] f630be68 f66cda54 f66cd88c f66cd878 f7070000 00000001 f630be90 c0135dbc [ 65.689027] f614a614 f630be68 f630be68 f65ba200 00000002 f630bf10 f630be90 c012cad6 [ 65.689027] Call Trace: [ 65.689027] [] ? do_exit+0x603/0x850 [ 65.689027] [] ? next_signal+0x9/0x40 [ 65.689027] [] ? dequeue_signal+0x8c/0x180 [ 65.689027] [] ? do_group_exit+0x36/0x90 [ 65.689027] [] ? get_signal_to_deliver+0x20c/0x390 [ 65.689027] [] ? do_notify_resume+0x99/0x8b0 [ 65.689027] [] ? tty_ldisc_deref+0x5a/0x80 [ 65.689027] [] ? trace_hardirqs_on+0xb/0x10 [ 65.689027] [] ? tty_ldisc_deref+0x5a/0x80 [ 65.689027] [] ? n_tty_write+0x0/0x340 [ 65.689027] [] ? redirected_tty_write+0x82/0x90 [ 65.689027] [] ? vfs_write+0x99/0xd0 [ 65.689027] [] ? redirected_tty_write+0x0/0x90 [ 65.689027] [] ? sys_write+0x42/0x70 [ 65.689027] [] ? work_notifysig+0x13/0x19 [ 65.689027] Code: Bad EIP value. [ 65.689027] EIP: [<00000000>] 0x0 SS:ESP 0068:f630be24 This is because on do_exit(), kfree is called to free the return addresses stack but kfree is traced and stored its return address in this stack. This patch fixes it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit e262a7ba31f0cd4dae225e6d2e9037e5ac6108e8 Author: Richard Kennedy Date: Sun Nov 23 14:34:43 2008 +0000 irq.h: remove padding from irq_desc on 64bits Impact: reduce struct irq_desc size struct irq_desc: reorder to remove padding on 64bits shrinks irq_desc to 128 bytes which saves data space & cache lines On a generic x86_64/SMP build this reduces the reported data size by 64k. Signed-off-by: Richard Kennedy Signed-off-by: Ingo Molnar commit 6efdcfaf16cc4fc76651603e083cf3ec4bd1e6de Author: Alexander van Heukelum Date: Sun Nov 23 10:15:32 2008 +0100 x86: KPROBE_ENTRY should be paired wth KPROBE_END Impact: move some code out of .kprobes.text KPROBE_ENTRY switches code generation to .kprobes.text, and KPROBE_END uses .popsection to get back to the previous section (.text, normally). Also replace ENDPROC by END, for consistency. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 322648d1ba75280d62f114d47048beb0b35f5047 Author: Alexander van Heukelum Date: Sun Nov 23 10:08:28 2008 +0100 x86: include ENTRY/END in entry handlers in entry_64.S Impact: cleanup of entry_64.S Except for the order and the place of the functions, this patch should not change the generated code. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 813b8520f5c240c71df55d14095a7b171de264ce Merge: ed31348... 7cc45e6... Author: Ingo Molnar Date: Sun Nov 23 13:47:54 2008 +0100 Merge branch 'ppc/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/powerpc commit 050dc6944b9ca2186f4729ab44e0da3743933941 Author: Hannes Eder Date: Sun Nov 23 13:35:48 2008 +0100 x86: remove duplicate #define from 'cpufeature.h' Impact: cleanup Remove duplicate #define from 'cpufeature.h'. This also fixes the following sparse warning: arch/x86/kernel/cpu/capflags.c:54:3: warning: Initializer entry defined twice arch/x86/kernel/cpu/capflags.c:58:3: also defined here Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 8a2503fa4a6fae8ee42140b339f37373fc6acaae Author: Cyrill Gorcunov Date: Sun Nov 23 14:53:43 2008 +0300 x86: move dwarf2 related macro to dwarf2.h Impact: cleanup Move recently introduced dwarf2 macros to dwarf2.h file. It allow us to not duplicate them in assembly files. Active usage of _cfi macros don't make assembly files more obvious to understand but we already have a lot of macros there which requires to search the definitions of them *anyway*. But at least it make every cfi usage one line shorter. Also some code alignment is done. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit e38da59269be8c0196d16dff1be5bb26076afc6a Author: Török Edwin Date: Sun Nov 23 13:08:10 2008 +0200 tracing/stack-tracer: avoid races accessing file Impact: fix race vma->vm_file reference is only stable while holding the mmap_sem, so move usage of it to within the critical section. Signed-off-by: Ingo Molnar commit 8d26487fd4ddda7a0237da418fb8669fb06ae557 Author: Török Edwin Date: Sun Nov 23 12:39:08 2008 +0200 tracing/stack-tracer: introduce CONFIG_USER_STACKTRACE_SUPPORT Impact: cleanup User stack tracing is just implemented for x86, but it is not x86 specific. Introduce a generic config flag, that is currently enabled only for x86. When other arches implement it, they will have to SELECT USER_STACKTRACE_SUPPORT. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit cffa10aecb6891f090a4d53a075bc40c082c45fc Author: Török Edwin Date: Sun Nov 23 12:39:07 2008 +0200 tracing/stack-tracer: fix locking and refcounts Impact: fix refcounting/object-access bug Hold mmap_sem while looking up/accessing vma. Hold the RCU lock while using the task we looked up. Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 8d7c6a96164651dbbab449ef0b5c20ae1f76a3a1 Author: Török Edwin Date: Sun Nov 23 12:39:06 2008 +0200 tracing/stack-tracer: fix style issues Impact: cleanup Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 0429149fb5e01edc410648591c19095d2074ee00 Author: Steven Rostedt Date: Fri Nov 21 14:44:57 2008 -0500 trace: fix compiler warning in branch profiler Impact: fix compiler warning The ftrace_pointers used in the branch profiler are constant values. They should never change. But the compiler complains when they are passed into the debugfs_create_file as a data pointer, because the function discards the qualifier. This patch typecasts the parameter to debugfs_create_file back to a void pointer. To remind the callbacks that they are pointing to a constant value, I also modified the callback local pointers to be const struct ftrace_pointer * as well. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 69bb54ec05f57da7f6fac2cec0820cbc970df20f Author: Steven Rostedt Date: Fri Nov 21 12:59:38 2008 -0500 ftrace: add ftrace_off_permanent Impact: add new API to disable all of ftrace on anomalies It case of a serious anomaly being detected (like something caught by lockdep) it is a good idea to disable all tracing immediately, without grabing any locks. This patch adds ftrace_off_permanent that disables the tracers, function tracing and ring buffers without a way to enable them again. This should only be used when something serious has been detected. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 033601a32b2012b6948e80e739cca40bff4de4a0 Author: Steven Rostedt Date: Fri Nov 21 12:41:55 2008 -0500 ring-buffer: add tracing_off_permanent Impact: feature to permanently disable ring buffer This patch adds a API to the ring buffer code that will permanently disable the ring buffer from ever recording. This should only be called when some serious anomaly is detected, and the system may be in an unstable state. When that happens, shutting down the recording to the ring buffers may be appropriate. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e58918ab9d4cd375f6d842e6d88cf4d7a55cbfcc Author: Jim Radford Date: Thu Nov 20 19:48:39 2008 -0800 ftrace: scripts/recordmcount.pl support for ARM Impact: extend scripts/recordmcount.pl to ARM Arm uses %progbits instead of @progbits and requires only 4 byte alignment. [ Thanks to Sam Ravnborg for mentioning that ARM uses %progbits ] Signed-off-by: Jim Radford Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3a3d04aed05add2247ea2ba5da5f90dba4062f3f Author: Matt Fleming Date: Thu Nov 20 21:49:52 2008 +0000 ftrace: specify $alignment for sh architecture Impact: extend scripts/recordmcount.pl with default alignment for SH Set $alignment=2 for the sh architecture so that a ".align 2" directive will be emitted for all __mcount_loc sections. Fix a whitspace error while I'm here (converted spaces to tabs). Signed-off-by: Matt Fleming Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2bcd521a684cc94befbe2ce7d5b613c841b0d304 Author: Steven Rostedt Date: Fri Nov 21 01:30:54 2008 -0500 trace: profile all if conditionals Impact: feature to profile if statements This patch adds a branch profiler for all if () statements. The results will be found in: /debugfs/tracing/profile_branch For example: miss hit % Function File Line ------- --------- - -------- ---- ---- 0 1 100 x86_64_start_reservations head64.c 127 0 1 100 copy_bootdata head64.c 69 1 0 0 x86_64_start_kernel head64.c 111 32 0 0 set_intr_gate desc.h 319 1 0 0 reserve_ebda_region head.c 51 1 0 0 reserve_ebda_region head.c 47 0 1 100 reserve_ebda_region head.c 42 0 0 X maxcpus main.c 165 Miss means the branch was not taken. Hit means the branch was taken. The percent is the percentage the branch was taken. This adds a significant amount of overhead and should only be used by those analyzing their system. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bac28bfe42ba98ee67503f78984d1d5e1ebbbb78 Author: Steven Rostedt Date: Fri Nov 21 01:51:53 2008 -0500 trace: branch profiling should not print percent without data Impact: cleanup on output of branch profiler When a branch has not been taken, it does not make sense to show a percentage incorrect or hit. This patch changes the behaviour to print out a 'X' when the branch has not been executed yet. For example: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 2096 0 0 do_arch_prctl process_64.c 832 0 0 X do_arch_prctl process_64.c 804 2604 0 0 IS_ERR err.h 34 130228 5765 4 __switch_to process_64.c 673 0 0 X enable_TSC process_64.c 448 0 0 X disable_TSC process_64.c 431 Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 45b797492a0758e64dff74e9db70e1f65e0603a5 Author: Steven Rostedt Date: Fri Nov 21 00:40:40 2008 -0500 trace: consolidate unlikely and likely profiler Impact: clean up to make one profiler of like and unlikely tracer The likely and unlikely profiler prints out the file and line numbers of the annotated branches that it is profiling. It shows the number of times it was correct or incorrect in its guess. Having two different files or sections for that matter to tell us if it was a likely or unlikely is pretty pointless. We really only care if it was correct or not. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 42f565e116e0408b5ddc21a33c4a4d41fd572420 Author: Steven Rostedt Date: Thu Nov 20 23:57:47 2008 -0500 trace: remove extra assign in branch check Impact: clean up of branch check The unlikely/likely profiler does an extra assign of the f.line. This is not needed since it is already calculated at compile time. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c204f7264c7de85aecd3638dc8fe07aba6d1fff5 Author: Steven Rostedt Date: Thu Nov 20 15:07:34 2008 -0500 ftrace: create default variables for archs in recordmcount.pl Impact: cleanup of recordmcount.pl Now that more architectures are being ported to the MCOUNT_RECORD method, there is no reason to have each declare their own arch specific variable if most of them share the same value. This patch creates a set of default values for the arch specific variables based off of i386. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 42e007d0400155fbc12c5344c808889e6ae33d32 Author: Steven Rostedt Date: Thu Nov 20 07:16:16 2008 -0800 ftrace: add support for powerpc to recordmcount.pl script Impact: Add PowerPC port to recordmcount.pl script This patch updates the recordmcount.pl script to process PowerPC. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0da85c09b44bfea07e63ed5324aabc7cfc8a889a Author: Matt Fleming Date: Wed Nov 12 20:11:47 2008 +0900 sh: dynamic ftrace support. First cut at dynamic ftrace support. [ Steven Rostedt - only updated the recordmcount.pl file. There are updates for PowerPC that will conflict with this, and we need to base off of these changes. ] Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4e42ebd57b2e727b28bf5f6068e95cd19b0e807b Author: Hannes Eder Date: Fri Nov 21 22:56:17 2008 +0100 x86: hypervisor - fix sparse warnings Impact: fix sparse build warning Fix the following sparse warnings: arch/x86/kernel/cpu/hypervisor.c:37:15: warning: symbol 'get_hypervisor_tsc_freq' was not declared. Should it be static? arch/x86/kernel/cpu/hypervisor.c:53:16: warning: symbol 'init_hypervisor' was not declared. Should it be static? Signed-off-by: Hannes Eder Cc: "Alok N Kataria" Cc: "Dan Hecht" Signed-off-by: Ingo Molnar commit 1d926f2756392c6909f60e0c9fe2a09d5462e376 Author: Will Newton Date: Fri Nov 21 14:08:59 2008 -0800 init/main.c: use ktime accessor function in initcall_debug code Impact: fix initcall debug output on non-scalar ktime platforms (32-bit embedded) The initcall_debug code access the tv64 member of ktime. This won't work correctly for large deltas on platforms that don't use the scalar ktime implementation. Signed-off-by: Will Newton Acked-by: Tim Bird Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit c450d7805b2c5cac8846c5f490fddfd9030d2207 Author: Hannes Eder Date: Fri Nov 21 23:17:09 2008 +0100 x86: vmware - fix sparse warnings Impact: fix sparse build warning Fix the following sparse warnings: arch/x86/kernel/cpu/vmware.c:69:5: warning: symbol 'vmware_platform' was not declared. Should it be static? arch/x86/kernel/cpu/vmware.c:89:15: warning: symbol 'vmware_get_tsc_khz' was not declared. Should it be static? arch/x86/kernel/cpu/vmware.c:107:16: warning: symbol 'vmware_set_feature_bits' was not declared. Should it be static? Signed-off-by: Hannes Eder Cc: "Alok N Kataria" Cc: "Dan Hecht" Signed-off-by: Ingo Molnar commit 2456d738ef051f85170bf018faef63f83fa84eb5 Author: Hiroshi Shimamoto Date: Fri Nov 21 17:38:57 2008 -0800 x86: signal: cosmetic unification of sys_rt_sigreturn() Impact: cleanup Add #ifdef directive for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 666ac7be049ec290625e65d5922ff59f7bdec527 Author: Hiroshi Shimamoto Date: Fri Nov 21 17:38:25 2008 -0800 x86: signal: cosmetic unification of sys_sigaltstack() Impact: cleanup Add #ifdef directive for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 5c9b3a0c7b8be3cdef3d7418f0a49127e7cdc998 Author: Hiroshi Shimamoto Date: Fri Nov 21 17:36:41 2008 -0800 x86: signal: cosmetic unification of including headers Impact: cleanup Make the headers portion of signal_32.c and signal_64.c the same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit cbe2f5a6e84eebb98ab42fc5e58c3cd5b7767349 Author: Ingo Molnar Date: Sun Nov 23 10:37:12 2008 +0100 tracing: allow tracing of suspend/resume & hibernation code again Impact: widen function-tracing to suspend+resume (and hibernation) sequences Now that the ftrace kernel thread is gone, we can allow tracing during suspend/resume again. So revert these two commits: f42ac38c5 "ftrace: disable tracing for suspend to ram" 41108eb10 "ftrace: disable tracing for hibernation" This should be tested very carefully, as it could interact with altneratives instruction patching, etc. Signed-off-by: Ingo Molnar commit b54d3de9f3b8956653b06f1a32e9f9321c6d9027 Author: Török Edwin Date: Sat Nov 22 13:28:48 2008 +0200 tracing: identify which executable object the userspace address belongs to Impact: modify+improve the userstacktrace tracing visualization feature Store thread group leader id, and use it to lookup the address in the process's map. We could have looked up the address on thread's map, but the thread might not exist by the time we are called. The process might not exist either, but if you are reading trace_pipe, that is unlikely. Example usage: mount -t debugfs nodev /sys/kernel/debug cd /sys/kernel/debug/tracing echo userstacktrace >iter_ctrl echo sym-userobj >iter_ctrl echo sched_switch >current_tracer echo 1 >tracing_enabled cat trace_pipe >/tmp/trace& .... run application ... echo 0 >tracing_enabled cat /tmp/trace You'll see stack entries like: /lib/libpthread-2.7.so[+0xd370] You can convert them to function/line using: addr2line -fie /lib/libpthread-2.7.so 0xd370 Or: addr2line -fie /usr/lib/debug/libpthread-2.7.so 0xd370 For non-PIC/PIE executables this won't work: a.out[+0x73b] You need to run the following: addr2line -fie a.out 0x40073b (where 0x400000 is the default load address of a.out) Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 74e2f334f4440cbcb63e9ebbcdcea430d41bdfa3 Author: Török Edwin Date: Sat Nov 22 13:28:48 2008 +0200 vfs, seqfile: make mangle_path() global Impact: expose new VFS API make mangle_path() available, as per the suggestions of Christoph Hellwig and Al Viro: http://lkml.org/lkml/2008/11/4/338 Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 02b67518e2b1c490787dac7f35e1204e74fe21ba Author: Török Edwin Date: Sat Nov 22 13:28:47 2008 +0200 tracing: add support for userspace stacktraces in tracing/iter_ctrl Impact: add new (default-off) tracing visualization feature Usage example: mount -t debugfs nodev /sys/kernel/debug cd /sys/kernel/debug/tracing echo userstacktrace >iter_ctrl echo sched_switch >current_tracer echo 1 >tracing_enabled .... run application ... echo 0 >tracing_enabled Then read one of 'trace','latency_trace','trace_pipe'. To get the best output you can compile your userspace programs with frame pointers (at least glibc + the app you are tracing). Signed-off-by: Török Edwin Signed-off-by: Ingo Molnar commit 82f60f0bc854aada696f27d863c03bef91f1509d Author: Ingo Molnar Date: Sun Nov 23 09:18:56 2008 +0100 tracing/function-return-tracer: clean up task start/exit callbacks Impact: cleanup Eliminate #ifdefs in core code by using empty inline functions. Signed-off-by: Ingo Molnar commit f201ae2356c74bcae130b2177b3dca903ea98071 Author: Frederic Weisbecker Date: Sun Nov 23 06:22:56 2008 +0100 tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically Impact: use deeper function tracing depth safely Some tests showed that function return tracing needed a more deeper depth of function calls. But it could be unsafe to store these return addresses to the stack. So these arrays will now be allocated dynamically into task_struct of current only when the tracer is activated. Typical scheme when tracer is activated: - allocate a return stack for each task in global list. - fork: allocate the return stack for the newly created task - exit: free return stack of current - idle init: same as fork I chose a default depth of 50. I don't have overruns anymore. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit a0a70c735ef714fe1b6777b571630c3d50c7b008 Merge: 9676e73... 60a5151... 0231022... 522a110... Author: Ingo Molnar Date: Sun Nov 23 09:10:32 2008 +0100 Merge branches 'tracing/profiling', 'tracing/options' and 'tracing/urgent' into tracing/core commit f377fa123d0ec621e8e361ecc3f2a8ee70e81a2e Author: Ingo Molnar Date: Sun Nov 23 09:02:26 2008 +0100 x86: clean up stack overflow debug check Impact: cleanup Simplify the irq-sampled stack overflow debug check: - eliminate an #idef - use WARN_ONCE() to emit a single warning (all bets are off after the first such warning anyway) Signed-off-by: Ingo Molnar commit 3aeb95d5b7839708a8d8e11aa274ee4d0d4042cc Author: jia zhang Date: Sun Nov 23 09:51:41 2008 +0800 x86_64: fix the check in stack_overflow_check Impact: make stack overflow debug check and printout narrower stack_overflow_check() should consider the stack usage of pt_regs, and thus it could warn us in advance. Additionally, it looks better for the warning time to start at INITIAL_JIFFIES. Assuming that rsp gets close to the check point before interrupt arrives: when interrupt really happens, thread_info will be partly overrode. Signed-off-by: jia zhang Signed-off-by: Ingo Molnar commit ca9eed76133c00e7f4b1eeb4c1a6cb800cd2654c Merge: 8652cb4... 13d428a... Author: Ingo Molnar Date: Sun Nov 23 08:55:47 2008 +0100 Merge commit 'v2.6.28-rc6' into x86/debug commit 3889d0cea2b73049bdca062d9ff1e5d33468289c Author: H. Peter Anvin Date: Sat Nov 22 23:39:23 2008 -0800 x86: revert default reboot method to REBOOT_KBD Impact: Reverts default reboot method. Checkin 14d7ca5c575853664d8fe4f225a77b8df1b7de7d changed the default reboot method to "pci", a.k.a. port CF9. Unfortunately this has been shown to cause lockups on at least two systems for which REBOOT_KBD worked, both Thinkpads with Intel chipsets. This reverts the default to REBOOT_KBD, while leaving the option to have "reboot=pci" specified explicitly or via a DMI match. Signed-off-by: H. Peter Anvin commit 4805286bffa9d7b85223ab2038f08b4b6322a176 Author: Wu Fengguang Date: Sat Nov 22 09:40:57 2008 +0800 ALSA: hda - fix build warning when CONFIG_PROC_FS=n Fix "defined but not used" build warning by moving eld_versoin_names[] and cea_edid_version_names[] into hdmi_print_eld_info(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 9415e1c418b33bf9b8d8903fb98876ec72673e3f Author: Wu Fengguang Date: Sat Nov 22 09:40:56 2008 +0800 ALSA: hda - fix DisplayPort naming DisplayPort is a digital display interface standard put forth by the Video Electronics Standards Association (VESA). It defines a new license-free, royalty-free, digital audio/video interconnect, intended to be used primarily between a computer and its display monitor, or a computer and a home-theater system. - From Wikipedia, the free encyclopedia Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit a5fcf89eff2372b50f2d47fbb3e1f3090f044ee3 Author: Wu Fengguang Date: Sat Nov 22 09:40:55 2008 +0800 ALSA: hda - document the ELD proc interface Describe what ELD proc interface provides and how to fix incorrect values. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit acb05993881005cdaf5f8291491b4edcb8f60ef3 Author: Wu Fengguang Date: Sat Nov 22 09:40:54 2008 +0800 ALSA: hda - ELD proc interface write updates - rename ELD proc write routine to hdmi_write_eld_info() - support modifying WMAPro's profile Write to some ELD fields (monitor_name, manufacture_id, product_id, eld_version, edid_version) are deliberately not supported, since that won't correct wrong behaviors and only leads to confusions. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 03284c8f23440479de79e8cbf368085ea872884e Author: Wu Fengguang Date: Sat Nov 22 09:40:53 2008 +0800 ALSA: hda - make HDMI messages more user friendly - make some messages more user friendly - add message prefix "HDMI:" to indicate the problem's domain (also easier to do `dmesg | grep HDMI` ;-) Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit cc02b83c904592ce8714787094256a9bf8e24b6f Author: Wu Fengguang Date: Sat Nov 22 09:40:52 2008 +0800 ALSA: hda - report selected CA index for Audio InfoFrame Print some CA selecting info, which could be valuable for debugging when something goes wrong. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit b83923a3931a43df7397a7491f0c9d9b9d46624a Author: Wu Fengguang Date: Sat Nov 22 09:40:51 2008 +0800 ALSA: hda - minor HDMI code cleanups Some minor code cleanups. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c81084114f6ff957bc6b5a0048350479c1c1f7b3 Author: Alexander van Heukelum Date: Fri Nov 21 22:59:52 2008 +0100 x86: split out some macro's and move common code to paranoid_exit, fix Impact: fix bootup crash Even though it tested fine for me, there was still a bug in the first patch: I have overlooked a call to ptregscall_common. This patch fixes that, I think, but the code is never executed for me while running a debian install... (I tested this by putting an "1:jmp 1b" in there.) Signed-off-by: Ingo Molnar commit c46920dadba65856eb1a1f1ffa1b350875db1228 Merge: f5f4cf0... 6476a90... Author: David S. Miller Date: Fri Nov 21 21:30:58 2008 -0800 Merge branch 'for-david' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 commit f5f4cf08467db10de061a1b90037a56a360d3554 Author: Alexander Duyck Date: Fri Nov 21 21:30:24 2008 -0800 igb: do not use phy ops in ethtool test cleanup for non-copper parts Currently the igb driver is experiencing a panic due to a null function pointer being used during the cleanup of the ethtool looback test on fiber/serdes parts. This patch prevents that and adds a check prior to calling any phy function. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 21fc578dcaa66dd30bad3c2f2cd7578e2865e8f2 Author: Scott Feldman Date: Fri Nov 21 21:29:25 2008 -0800 enic: misc cleanup items: Clarrify reading PBA has no side-effect (clearing). Add missing GPL license text. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 845964515a76381e204d3399af82c149f8abcc1c Author: Scott Feldman Date: Fri Nov 21 21:29:01 2008 -0800 enic: move wmb closer to where needed: before writing posted_index to hw Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit cb3c766975985885e64e20cc72c4a36d90da2b30 Author: Scott Feldman Date: Fri Nov 21 21:28:40 2008 -0800 enic: mask off some reserved bits in CQ descriptor for future use Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 27372bf5fa5ffc0fee3ddb486a0da942295fd8e0 Author: Scott Feldman Date: Fri Nov 21 21:28:18 2008 -0800 enic: driver/firmware API updates Add driver/firmware compatibility check. Update firmware notify cmd to honor notify area size. Add new version of init cmd. Add link_down_cnt to notify area to track link down count. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 86ca9db794a285f18f31ed15601696b238ccb57a Author: Scott Feldman Date: Fri Nov 21 21:26:55 2008 -0800 enic: enable ethtool LRO support Enable ethtool support for get/set_flags so LRO can be turned on/off by fwding drivers such as the bridge driver. LRO is not compatible with fwding drivers. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 6476a907b57d9229de7807aeea534ad45e19a4ce Author: Krzysztof Hałasa Date: Thu Nov 20 15:51:05 2008 +0100 WAN pc300too.c: Fix PC300-X.21 detection pc300too driver works around a bug in PCI9050 bridge. Unfortunately it was doing that too late. Signed-off-by: Krzysztof Hałasa commit 72364706c3b7c09a658e356218a918c5f92dcad0 Author: Krzysztof Hałasa Date: Thu Aug 14 19:18:17 2008 +0200 WAN: syncppp.c is no longer used by any kernel code. Remove it. Signed-off-by: Krzysztof Hałasa commit e022c2f07ae52bfbd92faa273db0db2f34eb28e8 Author: Krzysztof Hałasa Date: Thu Aug 14 19:17:38 2008 +0200 WAN: new synchronous PPP implementation for generic HDLC. Signed-off-by: Krzysztof Hałasa commit e1f024eb5d88e5b4f8e58e99c95082c342f70a1a Author: Krzysztof Hałasa Date: Fri Jul 11 00:13:09 2008 +0200 WAN: Simplify sca_init_port() in HD64572 driver. Signed-off-by: Krzysztof Hałasa commit fcfe9ff3e2fb2b9606e2e375f34c157271b4555c Author: Krzysztof Hałasa Date: Thu Jul 10 00:30:51 2008 +0200 WAN: Correct comments in hd6457[02].c Signed-off-by: Krzysztof Hałasa commit 0b59cef885f7d451acad02f70c9712f1ef3638b1 Author: Krzysztof Hałasa Date: Wed Jul 9 23:39:12 2008 +0200 WAN: HD64572 drivers don't use next_desc() anymore. Signed-off-by: Krzysztof Hałasa commit 61e0a6a268947f7385282c6841f3e3d64b4c5cb9 Author: Krzysztof Hałasa Date: Wed Jul 9 23:13:49 2008 +0200 WAN: Simplify HD64572 drivers. Signed-off-by: Krzysztof Hałasa commit 967834361a4beb3bbd3069189c192dc6fdeef8a9 Author: Krzysztof Hałasa Date: Wed Jul 9 21:30:17 2008 +0200 WAN: don't print HD64572 driver versions anymore. Signed-off-by: Krzysztof Hałasa commit 0954ed826921bcf11352e05a58d598c493e6bdfb Author: Krzysztof Hałasa Date: Wed Jul 9 21:24:42 2008 +0200 WAN: Simplify HD64572 status handling. Signed-off-by: Krzysztof Hałasa commit 0446c3b1e6208c6563ff9a0b22fb3b5e5e3e775c Author: Krzysztof Hałasa Date: Wed Jul 9 19:28:45 2008 +0200 WAN: rework HD64572 interrupts a bit. Signed-off-by: Krzysztof Hałasa commit b0942f78dd6493c5590cc80fedd5e3b357a15334 Author: Krzysztof Hałasa Date: Wed Jul 9 20:01:23 2008 +0200 WAN: HD64572 already handles TX underruns with DMAC. Signed-off-by: Krzysztof Hałasa commit 09fd65aa8ac934ea4ce7e55945a687292731e9c9 Author: Krzysztof Hałasa Date: Wed Jul 9 19:47:05 2008 +0200 WAN: TX-done handler now uses the ownership bit in HD64572 drivers. Signed-off-by: Krzysztof Hałasa commit abc9d91a35a924c8db0e949cd443471672e37cdb Author: Krzysztof Hałasa Date: Wed Jul 9 16:49:37 2008 +0200 WAN: convert HD64572-based drivers to NAPI. Signed-off-by: Krzysztof Hałasa commit 302243922b374b147380f61774b44612eb2040fd Author: Krzysztof Hałasa Date: Mon Mar 24 20:24:23 2008 +0100 WAN: remove SCA support from SCA-II drivers Signed-off-by: Krzysztof Hałasa commit 88597364573a46a57496c62ff0ee4b8148831ed0 Author: Krzysztof Hałasa Date: Mon Mar 24 19:12:23 2008 +0100 WAN: remove SCA II support from SCA drivers Signed-off-by: Krzysztof Hałasa commit 6b40aba304e6f94c747ad9559e03ea03a49e8008 Author: Krzysztof Hałasa Date: Mon Mar 24 16:39:02 2008 +0100 WAN: split hd6457x.c into hd64570.c and hd64572.c Supporting both original SCA and SCA-II in one file was nice at some point but now it's increasingly painful. Signed-off-by: Krzysztof Hałasa commit 4e4fd4e485ad63a9074ff09a9b53ffc7a5c594ec Author: Stephen Hemminger Date: Fri Nov 21 17:39:02 2008 -0800 ne2k: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. This required some additional work to export common code ei_XXX. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 99921b7e64f7726e7134046f8e1e8004e2711f30 Author: Stephen Hemminger Date: Fri Nov 21 17:37:54 2008 -0800 eql: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 974acda0ea3261436ddf5fd7e79b56150acdb138 Author: Stephen Hemminger Date: Fri Nov 21 17:37:24 2008 -0800 sc92031: convert to net_device_ops Convert this driver to net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit da1c14a19b978a95180ea91ab0008b97a5843995 Author: Stephen Hemminger Date: Fri Nov 21 17:36:58 2008 -0800 qla3xxx: convert to net_device_ops Convert this driver to net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a8652d237b599a03d7d982fcfdab276706babfa5 Author: Stephen Hemminger Date: Fri Nov 21 17:36:36 2008 -0800 hamachi: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c64213cd138cf9815839f7278b5eee89d31fbacb Author: Stephen Hemminger Date: Fri Nov 21 17:36:04 2008 -0800 bnx2x: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6557d7b8599c22819d16497ab6dcc33f2f3027a4 Author: Stephen Hemminger Date: Fri Nov 21 17:35:40 2008 -0800 ns83820: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bfd82c35824016920c629ea55963dc6db6f9effe Author: Stephen Hemminger Date: Fri Nov 21 17:35:16 2008 -0800 yellowfin: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a7bd89cbb1aa8342617c2f8a6dc0595e5f553115 Author: Stephen Hemminger Date: Fri Nov 21 17:34:56 2008 -0800 r6040: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 09ab9e7cddf0f10afd4695d098120d63183c74d1 Author: Stephen Hemminger Date: Fri Nov 21 17:34:32 2008 -0800 sis900: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2f30b1f666b8fa13eb7a254243066e6b77b583f7 Author: Stephen Hemminger Date: Fri Nov 21 17:34:09 2008 -0800 tehuti: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c3ecb9f3235ce6e39249690cdd24d678894c2c72 Author: Stephen Hemminger Date: Fri Nov 21 17:32:54 2008 -0800 sfc: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 1abd266f091e4f281a7c1e8813106fdf1528bb56 Author: Stephen Hemminger Date: Fri Nov 21 17:32:15 2008 -0800 netxen: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Had to do some refactoring on multicast_list. Fix ethtool restart to propogate error code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 876526443e64ae15bc3715dd6fbe8b9deadf89bc Author: Stephen Hemminger Date: Fri Nov 21 17:31:51 2008 -0800 dl2k: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0421eae68ffaf5ecfac860ee86e6a92e5b32a992 Author: Stephen Hemminger Date: Fri Nov 21 17:31:27 2008 -0800 bnx2: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3addc568a656e9c8e313e78cfe7ea1e289bf6fd8 Author: Stephen Hemminger Date: Fri Nov 21 17:30:58 2008 -0800 mlx4: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8126089f9f3ee2608b11dd6c629a71ae1806e4fc Author: Stephen Hemminger Date: Fri Nov 21 17:30:35 2008 -0800 myri10ge: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5d1d07d8b0bbed82546b89e3222ec98567c1652b Author: Stephen Hemminger Date: Fri Nov 21 17:30:11 2008 -0800 via-rhine: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8668ae9241de085f046aa14fa3a97654a31a06e3 Author: Stephen Hemminger Date: Fri Nov 21 17:29:50 2008 -0800 qlge: fix sparse warnings Fix sparse warnings and one bug: * Several routines can be static * Don't lose __iomem annotation * fix locking on error path (bug) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 25ed784910e43e61b5642dd8d2d8c13384a0d290 Author: Stephen Hemminger Date: Fri Nov 21 17:29:16 2008 -0800 qlge: convert to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 040250959da9b96e2fd30415e4ca15257a3460e4 Author: Stephen Hemminger Date: Fri Nov 21 17:28:55 2008 -0800 s2io: convert to net_device_ops Convert this driver to network device ops. Compile teseted only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e48714baac0e81ed9e19a5785eee52e1eca8f56e Author: Stephen Hemminger Date: Fri Nov 21 17:28:33 2008 -0800 jme: convert driver to net_device_ops Convert driver to new net_device_ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e245a3855eec42127b722ed9688a49ec3f3c9a27 Author: Matt Carlson Date: Fri Nov 21 17:23:26 2008 -0800 tg3: Update version to 3.96 This patch updates the version number to 3.96. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2fbb69aa576f4392c4a04e6874fa429b8bde0f68 Author: Matt Carlson Date: Fri Nov 21 17:22:53 2008 -0800 broadcom: Add 57780 support This patch adds the 57780 PHY ID to the broadcom module. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 321d32a052d6b5f71111ebad4fbebea5577f8974 Author: Matt Carlson Date: Fri Nov 21 17:22:19 2008 -0800 tg3: Add 57780 support This patch adds support for the 57780 ASIC revision. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 22435849a6dcde2ce10d1870aba461a54e347fe3 Author: Matt Carlson Date: Fri Nov 21 17:21:13 2008 -0800 tg3: Allow GPHY powerdown on 5761 The ENABLE_APE flag tells the driver whether or not the device has an Application Processing Engine (APE). The APE does not need the PHY to be powered unless it is running management firmware. For backwards compatibility, management firmware will still set the ENABLE_ASF bit. Consequently, there is no reason to consider the ENABLE_APE flag when deciding whether or not to power down the phy. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d5fe488a7b59e41b98b91137805159466b7b49c2 Author: Matt Carlson Date: Fri Nov 21 17:20:32 2008 -0800 tg3: Embrace pci_ioremap_bar() Per Dave Miller's suggestion, replace the remaining ioremap_nocache() call with pci_ioremap_bar(). Remove the two IORESOURCE_MEM checks as they are redundant. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit dfe00d7d890134f9cafda49e3e60e6ce27af91ed Author: Matt Carlson Date: Fri Nov 21 17:19:41 2008 -0800 tg3: Extract FW ver from alt NVRAM formats This patch extracts the bootcode firmware version from the alternate selfboot patch NVRAM format. This format is used on the 5784, 5761 and some newer devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6833c043f9fc03696fde623914c4a0277df2a0bc Author: Matt Carlson Date: Fri Nov 21 17:18:59 2008 -0800 tg3: Enable GPHY APD on select devices GPHY Autopowerdown (APD) is a way to save power when energy is not detected on the wire. At the moment, only the 5784 and 5761 are capable of enabling this mode. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5e7dfd0fb94abed04f59481d1ce0cc06a892048a Author: Matt Carlson Date: Fri Nov 21 17:18:16 2008 -0800 tg3: Prevent corruption at 10 / 100Mbps w CLKREQ This patch disables CLKREQ at 10Mbps and 100Mbps to workaround a TX BD corruption issue. This problem only affects the 5784 and 5761 (and 57780 AX) ASIC revisions. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 52f4490c3b6dcb1e8dec7ff9f1c35f09bd7c136f Author: Matt Carlson Date: Fri Nov 21 17:17:04 2008 -0800 tg3: Qualify use of tp->pcix_cap This patch makes sure the device is a PCIX device before attempting to use the pcix_cap device structure member. This is prep work for the following patch. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ad8292681a629cdb16bb19ee7d721b457c32a23a Author: Matt Carlson Date: Fri Nov 21 17:16:16 2008 -0800 tg3: Use NET_IP_ALIGN This patch replaces hardcoded 2's with the NET_IP_ALIGN constant or TG3_RAW_IP_ALIGN where appropriate. Some platforms can redefine the NET_IP_ALIGN definition to zero if unaligned DMA transfers cost more than the IP header alignment gains. This patch represents a performance improvement when using the 5701 on these platforms. The copy path can be avoided. TG3_RAW_IP_ALIGN is used in cases where we always want to align the IP header on dword boundaries. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cf005b1d0e34d8c964347331c43de089c674a5a1 Author: Qinghuang Feng Date: Fri Nov 21 17:15:03 2008 -0800 net: remove redundant argument comments Remove redundant argument comments in files of net/* Signed-off-by: Qinghuang Feng Signed-off-by: David S. Miller commit 6c0bce37ffc8f000a516fadf6dee84579c4c8f9b Merge: e243455... a1eb5fe... Author: David S. Miller Date: Fri Nov 21 17:05:11 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit e243455d345ef62751723671bc2605a2f6032ceb Author: Bruce Allan Date: Fri Nov 21 17:02:41 2008 -0800 e1000e: check return code from NVM accesses and fix bank detection Check return code for all NVM accesses[1] and error out accordingly; log a debug message for failed accesses. For ICH8/9, the valid NVM bank detect function was not checking whether the SEC1VAL (sector 1 valid) bit in the EECD register was itself valid (bits 8 and 9 also have to be set). If invalid, it would have defaulted to the possibly invalid bank 0. Instead, try to use the valid bank detection method used by ICH10 which has been cleaned up a bit. [1] - reads and updates only; not writes because those are only writing to the Shadow RAM, the update following the write is the only thing actually writing the modified Shadow RAM contents to the NVM. Signed-off-by: Bruce Allan Signed-off-by: David S. Miller commit a20e4cf9e6a37e40532593e00df153d01e317baf Author: Bruce Allan Date: Fri Nov 21 17:01:35 2008 -0800 e1000e: fix incorrect link status when switch module pulled On 82571 with SerDes, the true link state is not always correct when read from the STATUS register; use existing e1000_has_link() function instead. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8452759060ad46fc071a7d5bbf1647df5ea2ceab Author: Bruce Allan Date: Fri Nov 21 17:00:22 2008 -0800 e1000e: store EEPROM version number to prevent unnecessary NVM reads Rather than reading the NVM to get the EEPROM version number everytime the ethool get_drvinfo function is called, read it once during probe and save it for future reference. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0285c8dcaeaa73ddadc4f38383e5bbc03c394a29 Author: Bruce Allan Date: Fri Nov 21 16:59:54 2008 -0800 e1000e: cosmetic newline in debug message Add missing newline from debug message. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5c48ef3e2028677a890d46d9a38b19174274f2e9 Author: Bruce Allan Date: Fri Nov 21 16:57:36 2008 -0800 e1000e: sync change flow control variables with ixgbe Sync flow control variables and usage model with that found in the ixgbe driver. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8f12fe8653eb699a6bc4f88f1a80312466ea2b0e Author: Bruce Allan Date: Fri Nov 21 16:54:43 2008 -0800 e1000e: link up/down messages must follow a specific format The system log messages created on a link status change need to follow a specific format to work with tools some customers use. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 75eb0fad56da8494b43865097f362633debdc958 Author: Bruce Allan Date: Fri Nov 21 16:53:51 2008 -0800 e1000e: ESB2 config after link up On ESB2, the MAC-to-PHY (Kumeran) interface must be configured after link is up before any traffic is sent; a new PHY operations function pointer is provided for this. To facilitate read/write of the Kumeran registers without blocking PHY register writes, the driver/firmware synchronization method which previously used a hardware semaphore for both PHY and Kumeran register accesses is now split. New Kumeran register read/write functions utilize this new synchronization method. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 438b365a2758c012393a7be24d31a9c06aa0a504 Author: Bruce Allan Date: Fri Nov 21 16:51:33 2008 -0800 e1000e: check return of pci_save_state Check return of pci_save_state and error out accordingly. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1605927fcee41fe205f1713725f47f0d52978489 Author: Bruce Allan Date: Fri Nov 21 16:51:06 2008 -0800 e1000e: update comments listing supported parts for each MAC family Some branding strings (displayed via lspci) are missing from the comments in various family-specific files in the driver. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 63dcf3d353f32ca7007bfa53a9384f3283076afc Author: Bruce Allan Date: Fri Nov 21 16:50:34 2008 -0800 e1000e: 82571 check for link fix on 82571 serdes Check for link test does not work properly for 82571 parts in a blade environment with an unterminated serdes link partner. Make the test more robust by checking the invalid bit. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5aa49c82118d2aa08c6cfaba01fd86f969b3f1d7 Author: Bruce Allan Date: Fri Nov 21 16:49:53 2008 -0800 e1000e: commit speed/duplex changes for m88 PHY Follow the convention used elsewhere in e1000e to 'commit' PHY changes instead of directly writing to the PHY CTRL register to reset it. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 005cbdfc29cfc23b8faadd3619eed43e6550bfc1 Author: Alexander Duyck Date: Fri Nov 21 16:49:10 2008 -0800 e1000e: disable correctable errors for quad ports while going to D3 There has been an issue seen with the pci-e quad port adapters that will cause them to generate a pci-e correctable error on some system while transitioning to D3. Since no action is needed on this correctable error the simplest solution is to mask off the reporting of correctable errors. Signed-off-by: Alexander Duyck Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7e3aab4a9cd7d37f80eee75bebb6a71347f82476 Author: David S. Miller Date: Fri Nov 21 16:39:19 2008 -0800 inet_diag: Missed conversion after changing inet ehash lockl to spinlocks. They are no longer a rwlocks. Signed-off-by: David S. Miller commit 176301e82190adb70f9bdf37cd5cb08fcfcb25fb Author: Wang Chen Date: Fri Nov 21 16:36:22 2008 -0800 netdevice pc300: Add the reason about PC300 BROKEN in Kconfig When compile test my previous patch, I found PC300 driver was broken. And there is no explanation about the broken. Add the reason about why change this driver to broken in Kconfig. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 6636e1170d1e49818933ecea0e715e0c73e19bb8 Author: Wang Chen Date: Fri Nov 21 16:35:44 2008 -0800 netdevice pc300: Convert directly reference of netdev->priv netdev's private data should be hdlc. pc300dev_t is the private data of hdlc. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 2baf8a2daab65cdd3f20bfeb4676a2f6aff7c3bf Author: Wang Chen Date: Fri Nov 21 16:34:18 2008 -0800 netdevice hdlc: Convert directly reference of netdev->priv For killing directly reference of netdev->priv, use netdev->ml_priv to replace it. Because the private pvc data comes from add_pvc() and can't be allocated in alloc_netdev(). Signed-off-by: Wang Chen Acked-by: Krzysztof Halasa Signed-off-by: David S. Miller commit f757fec4b0d45dfcb52f9a914a12225a6a0a3e05 Author: Eric Dumazet Date: Fri Nov 21 15:49:19 2008 -0800 net: use net_eq() in INET_MATCH and INET_TW_MATCH We can avoid some useless instructions if !CONFIG_NET_NS Because of RCU, we use INET_MATCH or INET_TW_MATCH twice for the found socket, so thats six instructions less per incoming TCP packet. Yet another tbench speedup :) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b20222667d371bb9ddeadd47d18072efcab3f6d2 Author: Takashi Iwai Date: Fri Nov 21 21:24:03 2008 +0100 ALSA: hda - Fix build without CONFIG_PROC_FS snd_print_pcm_rates() and snd_print_pcm_bits() are used by both hda_proc.c and hda_eld.c, thus they have to be defined in the common place. Signed-off-by: Takashi Iwai commit b8b1d08bf6fe7c09e6cb2294bc0e5e964b361241 Author: Alexander van Heukelum Date: Fri Nov 21 16:44:28 2008 +0100 x86: entry_64.S: split out some macro's and move common code to paranoid_exit Impact: cleanup DISABLE_INTERRUPTS(CLBR_NONE)/TRACE_IRQS_OFF is now always executed just before paranoid_exit. Move it there. Split out paranoidzeroentry, paranoiderrorentry, and paranoidzeroentry_ist to get more readable macro's. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit e2f6bc25b98dbb10d809ee50262b43fcae67840a Author: Alexander van Heukelum Date: Fri Nov 21 16:43:18 2008 +0100 x86: entry_64.S: factor out save_paranoid and paranoid_exit Impact: cleanup, shrink kernel image size Also expand the paranoid_exit0 macro into nmi_exit inside the nmi stub in the case of enabled irq-tracing. This gives a few hundred bytes code size reduction. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c002a1e6b6b6f07ae04e68987054bf1f2150ae48 Author: Alexander van Heukelum Date: Fri Nov 21 16:41:55 2008 +0100 x86: introduce save_rest and restructure the PTREGSCALL macro in entry_64.S Impact: cleanup The save_rest function completes a partial stack frame for use by the PTREGSCALL macro. This also avoids the indirect call in PTREGSCALLs. This adds the macro movq_cfi_restore to hide the CFI_RESTORE annotation when restoring a register from the stack frame. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c70bfa8733e1ec4babe5a1b4a9a90053f79eb301 Merge: d6752a5... b0fc5e0... Author: Takashi Iwai Date: Fri Nov 21 18:02:57 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit d6752a532c700927fc7586cdd086391bfc50eaa9 Author: Takashi Iwai Date: Fri Nov 21 18:01:44 2008 +0100 ALSA: hda - mark Dell studio 1535 quirk Fixed the quirk string for Dell studio 1535 (the product name wasn't published at the time the patch was made). Signed-off-by: Takashi Iwai commit a1eb5fe319beb9e181aa52c8adf75ad9aab56a89 Author: Rami Rosen Date: Wed Nov 19 09:37:43 2008 +0200 wireless: missing include in lib80211.h This patch adds #include in lib80211.h to avoid these compilation erros. > In file included from /work/src/wireless-testing/net/wireless/lib80211.c:24: > /work/src/wireless-testing/include/net/lib80211.h:113: error: field > 'crypt_deinit_timer' has incomplete type > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_info_init': > /work/src/wireless-testing/net/wireless/lib80211.c:83: error: implicit > declaration of function 'setup_timer' > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_info_free': > /work/src/wireless-testing/net/wireless/lib80211.c:95: error: implicit > declaration of function 'del_timer_sync' > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_deinit_handler': > /work/src/wireless-testing/net/wireless/lib80211.c:157: error: > implicit declaration of function 'add_timer' > /work/src/wireless-testing/net/wireless/lib80211.c: In function > 'lib80211_crypt_delayed_deinit': > /work/src/wireless-testing/net/wireless/lib80211.c:182: error: > implicit declaration of function 'timer_pending' > make[3]: *** [net/wireless/lib80211.o] Error 1 > make[2]: *** [net/wireless] Error 2 > make[1]: *** [net] Error 2 > make: *** [sub-make] Error 2 Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 3461fc12a423c09169c6bb350319808ca4ec4b86 Author: Larry Finger Date: Wed Nov 12 17:31:52 2008 -0600 rtl8187: Update file authorship in comments Modify the file comments to reflect the current maintainers. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 59840488c207ca85ea3787b36169e7fa9582baaf Author: Larry Finger Date: Wed Nov 12 17:13:09 2008 -0600 Update of MAINTAINERS for RTL8187 As noted by John Linville, the RTL818X maintainers have "moved on", and the responsibilities for RTL8180 and RTL8187 have been split. This is the corresponding update of MAINTAINERS. Signed-off-by: Larry Finger Acked-by: Herton Ronaldo Krzesinski Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 4f6d4d1e36f30ac05bc39bcbfdba09e64e0f918c Author: Johannes Berg Date: Tue Oct 28 14:00:54 2008 +0100 wireless: clean up sysfs code using %pM Remove converting the MAC address to a string by a direct byte conversion and use %pM instead, since the code is now boilerplate use a macro to define the show functions, and also use the shorter __ATTR_RO macro to define the attributes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 96dd603f3817c5289a906539cb85bddae9536868 Author: John W. Linville Date: Wed Nov 12 14:51:56 2008 -0500 MAINTAINERS: claim maintenance over rtl818x drivers Michael and Andrea have moved-on, so we shouldn't be bothering them about these drivers anymore. Actually, Herton Ronaldo Krzesinski, Hin-Tak Leung, and Larry Finger have been handling the rtl8187 stuff for a while. So, I would welcome a patch from one of them changing this to just RTL8180 and adding an RTL8187 entry with their names... Signed-off-by: John W. Linville commit da81dede95cf69b0e51442cb472f1581583381e4 Author: John W. Linville Date: Wed Nov 12 14:37:11 2008 -0500 rtl8180: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag This updates rtl8180 handling for short slot after "mac80211: fix short slot handling". Only rtl8180_rtl8225 actually had code for handling short slot times, so the other RF devices are untouched by this change. Signed-off-by: John W. Linville commit 627271018df75c8861b9e75b39d5995842e6ec95 Author: John W. Linville Date: Wed Nov 12 10:01:41 2008 -0500 mac80211: add explicit padding in struct ieee80211_tx_info Otherwise, the BUILD_BUG_ON calls in ieee80211_tx_info_clear_status can fail on some architectures. Signed-off-by: John W. Linville commit beb2a7f331361bfe81e71acdb0739eae570475a2 Author: John W. Linville Date: Tue Nov 11 16:45:38 2008 -0500 net/ieee80211 -> drivers/net/ipw2x00/libipw_* rename The old ieee80211 code only remains as a support library for the ipw2100 and ipw2200 drivers. So, move the code and rename it appropriately to reflects it's true purpose and status. Signed-off-by: John W. Linville commit 0795cd29b6fe05107b40080cb1fccadb96320c96 Author: John W. Linville Date: Tue Nov 11 16:22:09 2008 -0500 ipw2x00: relocate ipw2100/ipw2200 to common directory Signed-off-by: John W. Linville commit 2ba4b32ecf748d5f45f298fc9677fa46d1dd9aff Author: John W. Linville Date: Tue Nov 11 16:00:06 2008 -0500 lib80211: consolidate crypt init routines Signed-off-by: John W. Linville commit 274bfb8dc5ffa16cb073801bebe76ab7f4e2e73d Author: John W. Linville Date: Wed Oct 29 11:35:05 2008 -0400 lib80211: absorb crypto bits from net/ieee80211 These bits are shared already between ipw2x00 and hostap, and could probably be shared both more cleanly and with other drivers. This commit simply relocates the code to lib80211 and adjusts the drivers appropriately. Signed-off-by: John W. Linville commit dfe1bafdbac1c7b48b636fb7ace799e78170e0d6 Author: Pavel Roskin Date: Mon Nov 10 09:25:53 2008 -0500 orinoco: fix last beacon reporting on 64-bit systems orinoco_translate_scan() and orinoco_translate_ext_scan() wrongly truncate last_scanned argument from unsigned long to unsigned int. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1d047def6d19106a91f7756f970ac8429033a4d8 Author: Rami Rosen Date: Mon Nov 10 09:01:09 2008 +0200 mac80211: remove unnecessary include. This patch removes unnecessary #include from /net/mac80211/mlme.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 8ff48a8bbe4a1ba29dea2836dfce74660f97c1be Author: Ivo van Doorn Date: Sun Nov 9 23:40:46 2008 +0100 rt2x00: Fix race condition when using inderect registers Indirect registers require multiple calls to the CSR register in order to access the indirect registers. This must be protected under a lock to prevent race conditions which could cause invalid data to be returned when reading from the indirect register or silent failures when writing data to the indirect register. USB drivers where already protected under a mutex, so rename the mutex and make PCI drivers use the mutex as well. This now means that BBP and RF registers are no longer accessible in interrupt context. That is not a bad situation since the slow behavior of accessing those registers means we don't _want_ to access them in interrupt context either. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bad13639a30e1557fbe9d440adc1906673c9de4e Author: Ivo van Doorn Date: Sun Nov 9 20:47:00 2008 +0100 rt2x00: Optimize get_duration / get_duration_res We can optimize get_duration and get_duration_res by making them a macro. They are really simple calculation handlers so this doesn't matter much. Often (especially in rt2400pci and rt2500pci, the arguments are hardcoded, and the result value is passed into other hardcoded values. By making the functions a macro GCC can optimize the entire thing much better. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 87c1687d1a7bf0d4975d613cb699ba95b329359e Author: Julia Lawall Date: Sun Nov 9 17:56:10 2008 +0100 drivers/net/wireless/ath9k/rc.c: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit f9f88fed3433139b58962011c81597b44fd48458 Author: Jouni Malinen Date: Sun Nov 9 18:38:51 2008 +0200 mac80211_hwsim: Update documentation (AP mode enabled) AP mode is now enabled in mac80211, so there is no need to point users to an additional patch to enable the mode. In addition, add a pointer to more hwsim test cases in hostap.git. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9902b1843ff460d08a40d6c99ad8f5362296c3d4 Author: Tomas Winkler Date: Sat Nov 8 23:50:55 2008 +0200 mac80211: rc80211_pid eliminate sparse warnings This patch eliminates sparse warnings in pid rate scale algorithm 'debugfs: allow access to signed values' patch hit the dead end year ago w/o much echo so I guess there is no real need to address this properly. Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 798b7adb4ed3533ab1282f51d16892034cfd8aae Author: Ivo van Doorn Date: Sat Nov 8 15:25:33 2008 +0100 rt2x00: Cleanup TX/RX entry handling Merge the callback functions init_txentry() and init_rxentry(). This makes life in rt2x00lib a lot simpler and we can cleanup several functions. rt2x00pci contained "fake" FIELD definitions for descriptor words. This is not flexible since it assumes the driver will always have the same field to indicate if a driver is available or not. This should be dependent on the driver, and we should add a callback function for this. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0ed94eaaed618634f68197161203aac9f849471e Author: Randy Dunlap Date: Fri Nov 7 19:50:42 2008 -0800 mac80211: remove more excess kernel-doc Delete kernel-doc struct descriptions for fields that don't exist: Warning(include/net/mac80211.h:1263): Excess struct/union/enum/typedef member 'conf_ht' description in 'ieee80211_ops' Warning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member 'addr' description in 'sta_info' Warning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member 'aid' description in 'sta_info' Signed-off-by: Randy Dunlap cc: Johannes Berg cc: John W. Linville Signed-off-by: John W. Linville commit e4e58cf8cc646d93de852f32f972448a95387c60 Author: Zhu, Yi Date: Fri Nov 7 09:58:46 2008 -0800 iwlwifi: use Rx single frame mode (one Rx frame per RB) The RCSR default value for single frame mode is off (a RB contains more than one frames). But the driver assumes single frame mode apparently. This patch enables single frame mode for the hardware. It also adds a BUG_ON to make sure the allocated skb satisfies the hardware alignment requirement and removes a useless check. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 01ef932341de1fb69848ee0b9206e11baac9c340 Author: Winkler, Tomas Date: Fri Nov 7 09:58:45 2008 -0800 iwlwifi: get some more information about command failure This patch adds additional info about wrong command queue bug Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c24f0817458464fc9c54489dba19cd94787e5eaf Author: Kolekar, Abhijeet Date: Fri Nov 7 09:58:44 2008 -0800 iwl3945 : Simplify iwl3945_send_beacon_cmd Moved rate_msk calculation to iwl3945_rate_get_lowest_plcp. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cb299bae8929705bf025fdbd6ce0ffcc62f5b3d0 Author: Winkler, Tomas Date: Fri Nov 7 09:58:43 2008 -0800 iwlwifi: move iwl_print_hex_dump to iwl-debug.h This patch moves iwl_print_hex_dump to iwl-debug.h where it belongs Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e720ce9d15050d06e5162d5f70b133caccd64258 Author: Kolekar, Abhijeet Date: Fri Nov 7 09:58:42 2008 -0800 iwl3945 : Fix Sparse Warnings Patch fixes sparse warnings. No need to convert u8 variable to 32. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 21c339bf51ad46c6f8143df907b4bcce99dbe0b8 Author: Tomas Winkler Date: Fri Nov 7 09:58:41 2008 -0800 iwlwifi: move spectrum measurement code to iwl-spectrum.c file This patch moves spectrum measurement code into iwl-sepctrum.c file. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4ddbb7d060061e584cb2137f4c7e41e502a560b4 Author: Tomas Winkler Date: Fri Nov 7 09:58:40 2008 -0800 iwlwifi: revamp tx scheduler byte count tables handling This moves byte count tables to tx domain removing completely ambivalent shared data. Changes handling of allocation byte count tables and keep warm consistent memory Moves general tx scheduler definitions from iwl-4956-hw.h to iwl-fh.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8d86422a83d79e3d3241cf0f269fca0c2640bcee Author: Winkler, Tomas Date: Fri Nov 7 09:58:39 2008 -0800 iwlwifi: move rx queue read pointer into rxq This patch moves rx status/read registers into iwl_rx_queue structures. This solution is more memory hungry but is more structured and provides needed RX/TX separation Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5c5aa3f13a50881b8f6e529e321bbefb5faec37b Author: Halperin, Daniel C Date: Fri Nov 7 09:58:38 2008 -0800 iwlwifi: update iwl-commands.h for 3 stream support This patch updates comments and constants to support 1, 2, or 3 spatial streams in rate_n_flags . Signed-off-by: Daniel Halperin Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a71c8f62d46e4496011182658dc058303960c068 Author: Winkler, Tomas Date: Fri Nov 7 09:58:37 2008 -0800 iwlwifi: don't fail power set when calibration is not done yet This patch doesn't fail power save setting when calibration is not done yet. The new power index is registered and will be evaluated again anyway upon calibration completion. This patch also eliminates WARN_ON in mac80211 hw_config during initialization Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 193357748979985498f21abc94c7a0a3ed5a3b8e Author: Winkler, Tomas Date: Fri Nov 7 09:58:36 2008 -0800 iwlwifi: trivial fix in includes This patch removes one FIXME: in rearranging includes Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9bdf5ecabf1cd2fb012f87d9742590fdd8290da0 Author: Mohamed Abbas Date: Fri Nov 7 09:58:35 2008 -0800 iwl3945: fix resume for ADHOC network ieee80211_notify_mac only reconnect BSS networks. Since IBSS does not need any auth or assoc steps we can just resume to the same condition before suspend. This patch will reestablish the ad-hoc network once it comes back from resume. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1774 Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ada1751346b5539f393c2e9c9dc04d9e7078e53a Author: Mohamed Abbas Date: Fri Nov 7 09:58:34 2008 -0800 iwlagn: fix resume for ADHOC network ieee80211_notify_mac only reconnect BSS networks. Since IBSS does not need any auth or assoc steps we can just resume to the same condition before suspend. This patch will reestablish the ad-hoc network once it comes back from resume. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1774 Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1e87d68083cd073c84edb3a71fa4365d7fc092bd Author: Johannes Berg Date: Thu Nov 6 17:20:24 2008 +0100 b43: remove rate index warning I frequently run into this warning, and added some debugging to see why, and got this: b43 bad rx: 00000000: 2f d2 e2 63 cf a7 14 04 28 18 c8 5f 88 4a a2 00 bogus junk | plcp | fctl| dur b43 bad rx: 00000010: 00 11 24 91 07 4d 00 06 25 ff 8f 78 00 06 25 ff my MAC address | BSSID | AP MAC b43 bad rx: 00000020: 8f 76 20 74 00 00 42 07 00 20 00 00 00 00 aa aa | seq | QoS | CCMP IV | data ... As you can see, there are 6 bogus bytes (sometimes only five) and then the frame. I don't know why, and I don't see how to recover, so let's just drop these frames. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 7f3704e992ee4044f8e0068e060458377004473a Author: Johannes Berg Date: Thu Nov 6 15:18:11 2008 +0100 b43legacy: implement short slot and basic rate handling This implements proper short slot handling and adds code to program the hardware for the correct response rates derived from the basic rate set for the current BSS. (port from b43) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e4127fa6db34765685599fb8d1177e51850a63c Author: Alexey Fisher Date: Thu Nov 6 09:51:16 2008 +0100 ipw2200: make association only if SSID is known. 'iwconfig eth1 channel 6' would trigger association to _something_, which is wrong. Changing the channel should (and does) trigger reassociation, but only if there is an SSID to associate with. Signed-off-by: Alexey Fisher Acked-by: Zhu Yi Signed-off-by: John W. Linville commit ffb826767bffda61426d964a8fc24a216a14b0bd Author: Luis R. Rodriguez Date: Mon Nov 3 14:43:01 2008 -0800 ath9k: enable RXing of beacons on STA/IBSS This enables beacons to come through on STA/IBSS. It should fix sporadic connection issues. Right now mac80211 expect beacons so give it beacons. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 296bf2aefdf7b4b1bf093a7b42a86ee21b46d07f Author: Luis R. Rodriguez Date: Mon Nov 3 14:43:00 2008 -0800 ath5k: allow APs to receive beacons Allow APs to receive beacons to detect when it needs to use protection to update the NAV correctly on 11b stations. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6a53a8a99cb044e1873648ba184440db6d9c65b8 Author: Nick Kossifidis Date: Tue Nov 4 00:25:54 2008 +0200 ath5k: Fix IMR init *On a previous patch i splitted AR5K_INT_TX to multiple different TX interrupt flags for better handling but i forgot to unmask the new TXDESC and TXEOL interrupts on ath5k_init and only left TXOK. However for each queue we enable TXDESC and TXEOL interrupts, not TXOK so we don't handle TX interrupts at all (because these interrupts remain masked on PISR) and under load it results packet loss. Fix the problem by unmasking TXDESC and TXEOL on ath5k_init. Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 392dff836f40370033bbe3b39e3b9bf4148d1435 Author: Benoit PAPILLAULT Date: Thu Nov 6 22:26:49 2008 +0100 ath9k : Display MAC/BB and RF version at startup (v2) This patch decodes the MAC/BB version (for instance: AR5416) and the RF part version (for instance: AR5133). It has been tested on AR5416/AR5133 which is a 2.4/5GHz 11n device. It also makes the differences between AR5416 (PCI) and AR5418 (PCI Express). Both are named AR5416 in the register definitions. Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit 4821277f36e008b531728e359fbbedb229117f4b Author: Felix Fietkau Date: Mon Nov 3 21:05:01 2008 +0100 mac80211: fix BUILD_BUG_ON() caused by misalignment on arm On ARM alignment is done slightly different from other architectures. struct ieee80211_tx_rate is aligned to word size, even though it only has 3 single-byte members, which triggers the BUILD_BUG_ON in ieee80211_tx_info_clear_status This patch marks the struct ieee80211_tx_rate as packed, so that ARM behaves like the other architectures. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8b0162a3dc5c30e862b7a73da29e32de3170f5e4 Author: Felix Fietkau Date: Mon Nov 3 11:27:38 2008 +0100 ath5k: ignore the return value of ath5k_hw_noise_floor_calibration Noise floor calibration occasionally fails on Atheros hardware. This is not fatal and can happen if there's simply too much noise on the air. Ignoring the calibration error is the right thing to do here, because when the error is ignored, the hardware will still work, whereas if the error causes the driver to bail out of a bigger configuration function and does not configure the tx queues or the IMR (as is the case in reset.c), the hw no longer works properly until the next reset. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6d64360ac56cda95243f15738a06f2a123c663e5 Author: Ivo van Doorn Date: Sun Nov 2 00:38:10 2008 +0100 rt2x00: Fix BUG_ON() with antenna handling With the new configuration handling, and more specifically splitting the configuration of the antenna from the normal configuration steps allowed a BUG_ON() to be triggered in the driver because the SW_DIVERSITY was send to the driver. This fixes that by catching the value early in rt2x00config.c and replacing it with a sensible value. This also fixes a problem where the antenna is not being initialized at all when the radio is enabled. Since it no longer is part of the mac80211 configuration the only place where rt2x00 configured it was the SW diversity handler. Obviously this is broken for all non-diversity hardware and breaks SW diversity due to a broken initialization. When the radio is enabled the antenna will be configured once as soon as the config() callback function is called. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8058409c4fb8e38632207d572ed29943d2585520 Author: Ivo van Doorn Date: Sun Nov 2 00:37:25 2008 +0100 rt2x00: Block set_key() during suspend/shutdown mac80211 will call set_key() when the device is shutting down. When the device is unplugged the keys will be lost automatically due to the power loss. When the device is not plugged but the module is only unloaded the keys can remain in the device hardware, when the module is loaded the keys will be cleaned up during initialization. This should prevent the problem reported by Johannes Berg, where unplugging the device while suspended resulted in a NULL pointer error during set_key() which was caused because of the CSR base address being freed. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9a95dba32735534bda59def40c747bf606fedf05 Author: Ivo van Doorn Date: Sun Nov 2 00:37:09 2008 +0100 rt2x00: Fix LED state handling For every global LED state change (register/unregister, suspend/resume) we should force the LEDS to turn off. This makes sure that the LEDS will always be in a sane state after the state switch. Note that when unregister is called but the LED class wasn't resumed yet, we shouldn't change the LED state since we might not have access to the device (device was unplugged while suspended). Also remove the checks in the activity, assoc and radio LEDS which blocked calls to brightness_set() when the state hasn't changed. Some of those LEDS could be enabled by themselves when something happens in the hardware (e.g. firmware is loaded). We already did called rt2x00leds to switch the LED off, but those calls were blocked. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3d8606a680529d41ad8985f36ecf83a7b393ecaf Author: Ivo van Doorn Date: Sun Nov 2 00:36:40 2008 +0100 rt2x00: Remove RATE_BASIC flag mac80211 is in charge of determining the basic rates, so we are not using the RATE_BASIC flag anymore. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1c740ed2210a0d124674a477ea538468aba47810 Author: Larry Finger Date: Fri Oct 31 17:19:31 2008 -0700 Move all rtl818x files to a common directory. This change improves the maintainability of these drivers. No functionality is changed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 55b3961953494c340b3625486f484af8ded31dd7 Author: Andrey Yurovsky Date: Fri Oct 31 23:23:35 2008 -0700 mac80211_hwsim: enable Mesh Point operation Initial mesh support: add Mesh Point to supported interfaces mask and allow hwsim to send beacons in mesh mode. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit a3c9aa512945aa5552d03c7d6d6c3b826a3f9e28 Author: Andrey Yurovsky Date: Fri Oct 31 14:50:12 2008 -0700 mac80211: disable BSSID filtering for mesh interfaces Mesh interfaces are currently opened with the FIF_ALLMULTI rx filter flag set, however there is no BSSID in mesh so BSSID filtering should be disabled by setting the FIF_OTHER_BSS flag as well. Also explicitly call ieee80211_configure_filter for mesh. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b7b05fe7f92e21e933caa529fd8d78bbbbfbd293 Author: Kay Sievers Date: Thu Oct 30 15:51:57 2008 +0100 ssb: struct device - replace bus_id with dev_name(), dev_set_name() This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. CC: Michael Buesch Acked-by: Greg Kroah-Hartman Signed-Off-By: Kay Sievers Signed-off-by: John W. Linville commit 582c1b538fb47a2d6a41dbdadb031086c49446c1 Author: Anna Neal Date: Mon Oct 20 16:46:56 2008 -0700 libertas: Fine grained configuration of wake-on-lan. Based on a patch from Shailendra Govardhan . This patch allows implementation of more specific wake-on-lan rules than those of ethtool. Please note that only firmware 5.110.22.p20 and above supports this feature. This patch only implements the driver/firmware interface, not the userspace/driver interface. Signed-off-by: Anna Neal Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 50da3ead624d46f1b9f1007a184691bbb841eba7 Author: John W. Linville Date: Mon Nov 10 13:59:18 2008 -0500 ipw2100, ipw2200: select LIB80211 Otherwise some configs can result in missing print_ssid... Signed-off-by: John W. Linville commit 3d29b0c33d431ecc69ec778f8c236d382f59a85f Author: John W. Linville Date: Fri Oct 31 14:13:12 2008 -0400 netdevice zd1201: Convert directly reference of netdev->priv to netdev_priv() We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", and I want to kill netdev->priv later, I decided to convert all the direct reference of netdev->priv first. (Original patch posted by Wang Chen w/ above changelog but using dev->ml_priv. That doesn't seem appropriate to me for this driver, so I've revamped it to use netdev_priv() instead. -- JWL) Reviewed-by: Wang Chen Signed-off-by: John W. Linville commit 4f904735c809e44c11f57cd4f82446aac1243e0e Author: Mark Brown Date: Fri Nov 21 15:08:23 2008 +0000 ALSA: ASoC: Fix typo in snd_soc_card update documentation Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 42e81c991a71909929f8d0cdcdf8ced68799388a Author: Hannes Eder Date: Fri Nov 21 16:03:24 2008 +0100 ALSA: hda - fix sparse warning Fix the following sparse warning: sound/pci/hda/patch_nvhdmi.c:161:25: warning: symbol 'snd_hda_preset_nvhdmi' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 39639faba98eafeb327a30bc10b7d921c398a59a Author: Mark Brown Date: Fri Nov 21 14:28:49 2008 +0000 ASoC: Improve error reporting for AC97 reset failures Print something a bit more verbose to help make errors a little more obvious. Signed-off-by: Mark Brown commit 0e734ad5d16ad1d87a428a30d117bb3541a8e24d Author: Mark Brown Date: Fri Nov 21 14:05:48 2008 +0000 ASoC: Staticise pxa2xx_pcm_ops It's not exported. Signed-off-by: Mark Brown commit 0c758bdd678860fff3c4b600ec6f134e43526850 Author: Jarkko Nikula Date: Fri Nov 21 14:31:33 2008 +0200 ASoC: OMAP: Fix preprocessor filled DAI name in McBSP DAI Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 2dac9217b26fd0a0a1712386ce2ea1411835ffb7 Author: Mark Brown Date: Fri Nov 21 14:01:41 2008 +0000 ASoC: Add Marvell Zylonite machine support Implement support for the Marvell Zylonite PXA3xx reference platform, supporting standard AC97 stereo and AUX interfaces together with the auxiliary I2S interface of the WM9713. The board has two options for the MCLK of the WM9713: either the standard AC97 system clock can be used or the 13MHz CLK_POUT output of the PXA3xx can be used, selected via SW15 on the board. Currently only the AC97 system clock is supported by this driver. Signed-off-by: Mark Brown commit 14ae22ba2b8bb3d53fb795f9b8074aa39ef7b6cd Author: Ingo Molnar Date: Fri Nov 21 15:20:47 2008 +0100 x86: entry_64.S: rename Impact: cleanup Rename: CFI_PUSHQ => pushq_cfi CFI_POPQ => popq_cfi CFI_MOVQ => movq_cfi To make it blend better into regular assembly code. Signed-off-by: Ingo Molnar commit e8a0e27662186f8856a0a6242e7a8386c9a64a53 Author: Ingo Molnar Date: Fri Nov 21 15:11:32 2008 +0100 x86: clean up after: move entry_64.S register saving out of the macros, fix Impact: build fix The break builds with older binutils (2.16.1): arch/x86/kernel/entry_64.S: Assembler messages: arch/x86/kernel/entry_64.S:282: Error: too many positional arguments arch/x86/kernel/entry_64.S:283: Error: too many positional arguments arch/x86/kernel/entry_64.S:284: Error: too many positional arguments arch/x86/kernel/entry_64.S:285: Error: too many positional arguments arch/x86/kernel/entry_64.S:286: Error: too many positional arguments arch/x86/kernel/entry_64.S:287: Error: too many positional arguments arch/x86/kernel/entry_64.S:288: Error: too many positional arguments arch/x86/kernel/entry_64.S:289: Error: too many positional arguments arch/x86/kernel/entry_64.S:290: Error: too many positional arguments Took some time to figure out the detail that GAS chokes on: it's negative offsets. Rearrange the calculations to make sure we never go negative. Signed-off-by: Ingo Molnar commit dee89c4d94433520e4e3977ae203d4cfbfe385fb Author: Mark Brown Date: Tue Nov 18 22:11:38 2008 +0000 ASoC: Merge snd_soc_ops into snd_soc_dai_ops Liam Girdwood's ASoC v2 work avoids having two different ops structures for DAIs by merging the members of struct snd_soc_ops into struct snd_soc_dai_ops, allowing per DAI configuration for everything. Backport this change. This paves the way for future work allowing any combination of DAIs to be connected rather than having fixed purpose CODEC and CPU DAIs and only allowing CODEC<->CPU interconnections. Signed-off-by: Mark Brown commit a47cbe7263236691ee0bbc392f7fd4ec0da1159f Author: Mark Brown Date: Wed Jul 23 14:03:07 2008 +0100 ASoC: Move DAI structure definitions into new soc-dai.h ASoC v2 factors most of the contents of soc.h out into separate headers, including soc-dai.h for the DAI. Factor the existing DAI API out into this file in order to prepare for backporting of the ASoC v2 DAI API. Also backport some of Liam's improvements to the documentation. Signed-off-by: Mark Brown commit 5de27b6cc0a8a1d27158ec9047cb5981745edfc0 Author: Karl Beldan Date: Thu Nov 20 15:39:31 2008 +0100 ASoC: ssm2602: Update supported stream formats Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit faab5a32f4d0784d6bde57963267be0453be3546 Author: Karl Beldan Date: Thu Nov 20 15:39:27 2008 +0100 ASoC: ssm2602: Fix priv substreams refs Clean up our record of the active streams in shutdown(), fixing subsequent failures of snd_pcm_hw_constraints_complete after closure of a stream. NOTE: - The ssm2602 allows pairs of non-matching PB/REC rates. - This is a fix for less evil: The logic is flawed (e.g. the slave might startup before the master's rate and sample_bits are set). Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit bd903bde7e0ad017cb87a228f451e05011e6d302 Author: Mark Brown Date: Wed Nov 19 19:16:05 2008 +0000 ASoC: Add abbreviation to maintainers for searchability Signed-off-by: Mark Brown commit 875065491fba8eb13219f16c36e79a6fb4e15c68 Author: Mark Brown Date: Tue Nov 18 20:50:34 2008 +0000 ASoC: Rename snd_soc_card to snd_soc_machine One of the issues with the ASoC v1 API which has been addressed in the ASoC v2 work that Liam Girdwood has done is that the ALSA card provided by ASoC is distributed around the ASoC structures. For example, machine wide data such as the struct snd_card are maintained as part of the CODEC data structure, preventing the use of multiple codecs. This has been addressed by refactoring the data structures so that all the data for the ALSA card is contained in a single structure snd_soc_card which replaces the existing snd_soc_machine and snd_soc_device. Begin the process of backporting this by renaming struct snd_soc_machine to struct snd_soc_card, better reflecting its function and bringing it closer to standard ALSA terminology. Signed-off-by: Mark Brown commit 98aa9c80f1fee01e98dfdc484ab7316af45f8f17 Author: Jarek Poplawski Date: Fri Nov 21 04:37:27 2008 -0800 pkt_sched: sch_drr: Fix qlen in drr_drop() Signed-off-by: Jarek Poplawski Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 9d2f4720971c00852a3fc8278a76f1a5e9add5c7 Author: Wang Chen Date: Fri Nov 21 01:56:07 2008 -0800 ixgbe: convert directly reference of netdev->priv Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 11b444d5627d87beb55029601cf8d2c9fa9324fd Author: Takashi Iwai Date: Fri Nov 21 09:32:40 2008 +0100 ALSA: hda - Move HD-audio Kconfig items to sound/pci/hda/Kconfig Signed-off-by: Takashi Iwai commit e7ee058cac89ec2f2c0c9ab0ec92a3776c182642 Author: Takashi Iwai Date: Fri Nov 21 09:26:20 2008 +0100 ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration Make the codec re-configuration feature selectable via Kconfig, CONFIG_SND_HDA_RECONFIG. Also mark it as experimental (as it really is). Signed-off-by: Takashi Iwai commit f208dba97f2f3ff2fbcbe771195061e2a0dac870 Author: Takashi Iwai Date: Fri Nov 21 09:11:50 2008 +0100 ALSA: hda - Release ELD proc file Release ELD proc file when reconfigured so that no leak occurs. Signed-off-by: Takashi Iwai commit b94d3539de59ec6481e38f83c455324fd3aeabc1 Author: Takashi Iwai Date: Fri Nov 21 09:08:06 2008 +0100 ALSA: hda - Fix double free of jack instances The jack instances created in patch_sigmatel.c may be double-freed. The device management code checks the invalid element, and thus there is no real breakage, but it spews annoying warning messages. But, we can't simply remove the release calls of these jack instances because they have to be freed when the codec is re-configured. Now, a new flag, bus->shutdown is introduced to indicate that the bus is really being unloaded, i.e. the objects managed by the device manager will be automatically deleted. We release these objects only when this flag isn't set. Signed-off-by: Takashi Iwai commit 957ad0166e9f76a8561dafa5e14ef5bd3f5e9a3b Author: Vegard Nossum Date: Fri Nov 21 01:30:36 2008 +0100 sched: update comment for move_task_off_dead_cpu Impact: cleanup This commit: commit f7b4cddcc5aca03e80e357360c9424dfba5056c2 Author: Oleg Nesterov Date: Tue Oct 16 23:30:56 2007 -0700 do CPU_DEAD migrating under read_lock(tasklist) instead of write_lock_irq(ta Currently move_task_off_dead_cpu() is called under write_lock_irq(tasklist). This means it can't use task_lock() which is needed to improve migrating to take task's ->cpuset into account. Change the code to call move_task_off_dead_cpu() with irqs enabled, and change migrate_live_tasks() to use read_lock(tasklist). ...forgot to update the comment in front of move_task_off_dead_cpu. Reference: http://lkml.org/lkml/2008/6/23/135 Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit fc02e90c34bacd5d7bc77b832c65a8f06e1bd60e Merge: ec4e0e2... 13d428a... Author: Ingo Molnar Date: Fri Nov 21 08:57:04 2008 +0100 Merge commit 'v2.6.28-rc6' into sched/core commit 0623536ca3e8fd7cb8b7468b0fd4d61d80f0b6ea Author: Takashi Iwai Date: Fri Nov 21 08:54:54 2008 +0100 ALSA: hda - Add missing static for snd_hda_eld_proc_new() inline funciton Signed-off-by: Takashi Iwai commit 3ddd972d970fdabbe6515aa2f95e0ef2c8df903d Author: Hiroshi Shimamoto Date: Thu Nov 20 18:32:17 2008 -0800 x86: signal: rename COPY_SEG_STRICT to COPY_SEG_CPL3 Impact: cleanup Rename macro COPY_SEG_STRICT to COPY_SEG_CPL3, as suggested by hpa. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit acdda7915eb5dae20b6e43b8b772b712b1ed32c3 Author: Wu Fengguang Date: Fri Nov 21 11:41:50 2008 +0800 ALSA: hda - support writing to the ELD proc file Allow users to fix quicks of ELD ROMs by writing new values to the ELD proc interface. The format is one or more lines of "name hex_value". Users can add/remove/modify up to 32 SAD(Short Audio Descriptor) entries. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit db742104704cfb047732aa66451c608382da3aee Author: Wu Fengguang Date: Fri Nov 21 12:34:05 2008 +0800 ALSA: hda: modify monitor name to be consistent with other ELD proc items Rename "monitor name" to "monitor_name" to conform with the keyword style. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 218b5ffc0d3fa852624e67a1bb2528ca29274d6e Author: Wu Fengguang Date: Fri Nov 21 09:42:59 2008 +0800 ALSA: hda - properly print ELD sample bits Fix bugs on printing the ELD sample bits. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 75a287d9a35a825cb758d2f8d8df93d41f9f8e3e Merge: 1725b82... 3a7abfd... Author: Takashi Iwai Date: Fri Nov 21 08:27:04 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit c4900be053d376dfe4f603d000aa5e4c60745dec Author: Donald Skidmore Date: Thu Nov 20 21:11:42 2008 -0800 ixgbe: add SFP+ driver support This patch adds support for SFP+ PHY in the following device ID's (10DB, 10F1, 10E1). These SFP+ PHY's are accessed via an I2C interface so the patch also includes functions to support this. Another feature of note is that the PHY is pluggable and some rearchitecting was needed to support this. Signed-off-by: Donald Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 859ee3c43812051e21816c6d6d4cc04fb7ce9b2e Author: Alexander Duyck Date: Thu Nov 20 21:10:23 2008 -0800 DCB: Add support for DCB BCN Adds an interface to configure the Backward Congestion Notification (BCN) feature. In a BCN capabale network, congestion notifications from congested points out in the network can cause the end station limit the rate of a given traffic flow. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 0eb3aa9bab20217fb42244ccdcb5bf8a002f504c Author: Alexander Duyck Date: Thu Nov 20 21:09:23 2008 -0800 DCB: Add interface to query the state of PFC feature. Adds a netlink interface for Data Center Bridging (DCB) to get and set the enable state of the Priority Flow Control (PFC) feature. Primarily, this is a way to turn off PFC in the driver while DCB remains enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 33dbabc4a7f7bd72313c73a3c199f31f3900336f Author: Alexander Duyck Date: Thu Nov 20 21:08:19 2008 -0800 DCB: Add interface to query # of TCs supported by device Adds interface for Data Center Bridging (DCB) to query (and set if supported) the number of traffic classes currently supported by the device for the two (DCB) features: priority groups (PG) and priority flow control (PFC). Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 46132188bf72e22ef097f16ed5c969ee8cea1e8b Author: Alexander Duyck Date: Thu Nov 20 21:05:08 2008 -0800 DCB: Add interface to query for the DCB capabilities of an device. Adds to the netlink interface for Data Center Bridging (DCB), allowing the DCB capabilities supported by a device to be queried. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 2f90b8657ec942d1880f720e0177ee71df7c8e3c Author: Alexander Duyck Date: Thu Nov 20 20:52:10 2008 -0800 ixgbe: this patch adds support for DCB to the kernel and ixgbe driver This adds support for Data Center Bridging (DCB) features in the ixgbe driver and adds an rtnetlink interface for configuring DCB to the kernel. The DCB feature support included are Priority Grouping (PG) - which allows bandwidth guarantees to be allocated to groups to traffic based on the 802.1q priority, and Priority Based Flow Control (PFC) - which introduces a new MAC control PAUSE frame which works at granularity of the 802.1p priority instead of the link (IEEE 802.3x). Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 9db66bdcc83749affe61c61eb8ff3cf08f42afec Author: Eric Dumazet Date: Thu Nov 20 20:39:09 2008 -0800 net: convert TCP/DCCP ehash rwlocks to spinlocks Now TCP & DCCP use RCU lookups, we can convert ehash rwlocks to spinlocks. /proc/net/tcp and other seq_file 'readers' can safely be converted to 'writers'. This should speedup writers, since spin_lock()/spin_unlock() only use one atomic operation instead of two for write_lock()/write_unlock() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b8c26a33c8b6f0a150e9cb38ed80b890be55395c Author: Stephen Hemminger Date: Thu Nov 20 20:34:29 2008 -0800 ipgre: convert to netdevice_ops Convert ipgre tunnel to netdevice ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1326c3d5a4b792a2b15877feb7fb691f8945d203 Author: Stephen Hemminger Date: Thu Nov 20 20:33:56 2008 -0800 ipv6: convert tunnels to net_device_ops Like IPV4, convert the tunnel virtual devices to use net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23a12b14715e2dcd34dc8002927263ad3437344c Author: Stephen Hemminger Date: Thu Nov 20 20:33:21 2008 -0800 ipip: convert to net_device_ops Convert to network device ops. Needed to change to directly call the init routine since two sides share same ops. In the process found by inspection a device ref count leak if register_netdevice failed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 748ff68fad9600593c6abe47856037602bd5d133 Author: Stephen Hemminger Date: Thu Nov 20 20:32:15 2008 -0800 hippi: convert driver to net_device_ops Convert the HIPPI infrastructure for use with net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fd8f4997e35f2c9a8bfc4d797ec09a6ae7858e04 Author: Stephen Hemminger Date: Thu Nov 20 20:31:40 2008 -0800 defxx: convert driver to net_device_ops Convert this driver to net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 145186a39570244aead77dc2efc559e5cac90548 Author: Stephen Hemminger Date: Thu Nov 20 20:29:48 2008 -0800 fddi: convert to new network device ops Similar to ethernet. Convert infrastructure and the one lone FDDI driver (for the one lone user of that hardware??). Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 007c3838d9fdcc8fdaea87e4879ec3759f016ed5 Author: Stephen Hemminger Date: Thu Nov 20 20:28:35 2008 -0800 ipmr: convert ipmr virtual interface to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aa18e9e88c863a58f6ea63eeee0e740be071fdcf Author: Stephen Hemminger Date: Thu Nov 20 20:28:00 2008 -0800 dummy: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 008298231abbeb91bc7be9e8b078607b816d1a4a Author: Stephen Hemminger Date: Thu Nov 20 20:14:53 2008 -0800 netdev: add more functions to netdevice ops This patch moves neigh_setup and hard_start_xmit into the network device ops structure. For bisection, fix all the previously converted drivers as well. Bonding driver took the biggest hit on this. Added a prefetch of the hard_start_xmit in the fast path to try and reduce any impact this would have. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1725b82a6e2721612a3572d0336f51f1f1c3cf54 Author: Takashi Iwai Date: Fri Nov 21 02:25:48 2008 +0100 ALSA: hda - make laptop-eapd model back for AD1986A The changes specific for Samsung laptops seem unapplicable to other hardware models like ASUS. The mic inputs are lost on such hardware by the change 5d5d5f43f1b835c375de9bd270cce030d16e2871. This patch adds back the old laptop-eapd model, and create a new model "samsung" for the new one specific to Samsung laptops with automatic mic selection feature. Reference: kernel bugzilla #12070 http://bugzilla.kernel.org/show_bug.cgi?id=12070 Signed-off-by: Takashi Iwai commit 6ab33d51713d6d60c7677c0d020910a8cb37e513 Merge: 7be6065... 13d428a... Author: David S. Miller Date: Thu Nov 20 16:44:00 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ixgbe/ixgbe_main.c include/net/mac80211.h net/phonet/af_phonet.c commit 7cc45e64323c8a1042f56e6a8d1dc982f98d52a8 Author: Steven Rostedt Date: Sat Nov 15 02:39:05 2008 -0500 powerpc/ppc32: ftrace, dynamic ftrace to handle modules Impact: add ability to trace modules on 32 bit PowerPC This patch performs the necessary trampoline calls to handle modules with dynamic ftrace on 32 bit PowerPC. Signed-off-by: Steven Rostedt commit f48cb8b48b0b10025ca9c451b9b32cac3fcd33ba Author: Steven Rostedt Date: Fri Nov 14 20:47:03 2008 -0800 powerpc/ppc64: ftrace, handle module trampolines for dyn ftrace Impact: Allow 64 bit PowerPC to trace modules with dynamic ftrace This adds code to handle the PPC64 module trampolines, and allows for PPC64 to use dynamic ftrace. Thanks to Paul Mackerras for these updates: - fix the mod and rec->arch.mod NULL checks. - fix to is_bl_op compare. Thanks to Milton Miller for: - finding the nasty race with using two nops, and recommending instead that I use a branch 8 forward. Signed-off-by: Steven Rostedt commit e4486fe316895e87672a563c4f36393218f84ff1 Author: Steven Rostedt Date: Fri Nov 14 16:21:20 2008 -0800 powerpc: ftrace, use probe_kernel API to modify code Impact: use cleaner probe_kernel API over assembly Using probe_kernel_read/write interface is a much cleaner approach than the current assembly version. Signed-off-by: Steven Rostedt commit 8fd6e5a8c81e2e9b912ea33c8425a10729db469b Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 powerpc: ftrace, convert to new dynamic ftrace arch API Impact: update to PowerPC ftrace arch API This patch converts PowerPC to use the new dynamic ftrace arch API. Thanks to Paul Mackennas for pointing out the mistakes of my original test_24bit_addr function. Signed-off-by: Steven Rostedt commit 6d07bb47354174a9b52d3b03f9e38b069a93d341 Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 powerpc: ftrace, do not latency trace idle Impact: fix for irq off latency tracer When idle is called, interrupts are disabled, but the idle function will still wake up on an interrupt. The problem is that the interrupt disabled latency tracer will take this call to idle as a latency. This patch disables the latency tracing when going into idle. Signed-off-by: Steven Rostedt commit dcd072e26055de600cecdc3f7a1e083ecd55c2e4 Author: Alexander van Heukelum Date: Thu Nov 20 14:40:11 2008 +0100 x86: clean up after: move entry_64.S register saving out of the macros This add-on patch to x86: move entry_64.S register saving out of the macros visually cleans up the appearance of the code by introducing some basic helper macro's. It also adds some cfi annotations which were missing. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 018a7bf1e55000dd792194238c9043918d24d3dd Author: Andy Whitcroft Date: Thu Nov 20 15:59:56 2008 +0100 netfilter: ip{,6}t_policy.h should include xp_policy.h It seems that all of the include/netfilter_{ipv4,ipv6}/{ipt,ip6t}_*.h which share constants include the corresponding include/netfilter/xp_*.h files. Neither ipt_policy.h not ip6t_policy.h do. Make these consistant with the norm. Signed-off-by: Andy Whitcroft Signed-off-by: Patrick McHardy commit 7be6065b39c3f1cfa796667eac1a2170465acc91 Author: Wang Chen Date: Thu Nov 20 04:26:21 2008 -0800 netdevice wanrouter: Convert directly reference of netdev->priv 1. Make device driver to allocate memory for netdev. 2. Convert all directly reference of netdev->priv to netdev_priv(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 826dd0e1e3c83ce0cd8c295cd0f6e72b8b527809 Author: Wang Chen Date: Thu Nov 20 04:25:06 2008 -0800 netdevice ni65: Convert directly reference of netdev->priv This patch is to kill directly reference of netdev->priv too. Because the private data needs special memory: lower 16MB DMA. alloc_etherdev() can not do this work. So we can't use netdev->priv to point to netdev's private data. Use netdev->ml_priv instead. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit c8019bf3aff653cceb64f66489fc299ee5957b57 Author: Wang Chen Date: Thu Nov 20 04:24:17 2008 -0800 netdevice ppp: Convert directly reference of netdev->priv 1. Use netdev_priv(dev) to replace dev->priv. 2. Alloc netdev's private data by alloc_netdev(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit f7b29271c35ed38f990ca3419696ca148349c2d3 Author: Steve Glendinning Date: Thu Nov 20 04:19:21 2008 -0800 smsc95xx: add tx checksum offload support LAN9500 supports tx checksum offload, which slightly decreases cpu utilisation. The benefit isn't very large because we still require the skb to be linearized, but it does save a few cycles. This patch adds support for it, and enables it by default. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 8761169cf15fdc9336abfddbb9c8dda59d974190 Author: Ben Hutchings Date: Thu Nov 20 04:17:42 2008 -0800 sfc: Fix dependency for SFC_MTD Randy Dunlap found that SFC_MTD was selected when sfc was built-in and the MTD core was a module. Don't allow that combination. Signed-off-by: Ben Hutchings Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit 47a1a1d4be2910b13a8e90f75c17e253c39531ff Author: Patrick McHardy Date: Wed Nov 19 08:03:09 2008 +0000 pkt_sched: remove unnecessary xchg() in packet classifiers The use of xchg() hasn't been necessary since 2.2.something when proper locking was added to packet schedulers. In the case of classifiers they mostly weren't even necessary before that since they're mainly used to assign a NULL pointer to the filter root in the ->destroy path; the root is destroyed immediately after that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b94c8afcba3ae6584653b98e315446ea83be6ea5 Author: Patrick McHardy Date: Thu Nov 20 04:11:36 2008 -0800 pkt_sched: remove unnecessary xchg() in packet schedulers The use of xchg() hasn't been necessary since 2.2.something when proper locking was added to packet schedulers. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c19d0369d4c791d90fe0b84d6040a897fe25cc14 Author: Harvey Harrison Date: Thu Nov 20 04:10:51 2008 -0800 isdn: isdn_net.c annotate struct ip_ports and trivial sparse fixes Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 13d2a1d2b032de08d7dcab6a1edcd47802681f96 Author: Patrick McHardy Date: Thu Nov 20 04:10:00 2008 -0800 pkt_sched: add DRR scheduler Add classful DRR scheduler as a more flexible replacement for SFQ. The main difference to the algorithm described in "Efficient Fair Queueing using Deficit Round Robin" is that this implementation doesn't drop packets from the longest queue on overrun because its classful and limits are handled by each individual child qdisc. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c19b0adb8dd33dbd10ff48e41971231c486855c Author: Patrick McHardy Date: Thu Nov 20 04:08:29 2008 -0800 netlink: avoid memset of 0 bytes sparse warning A netlink attribute padding of zero triggers this sparse warning: include/linux/netlink.h:245:8: warning: memset with byte count of 0 Avoid the memset when the size parameter is constant and requires no padding. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c0103606b7e3db191dcbaf988f28fa26aa711230 Author: Wang Chen Date: Thu Nov 20 04:05:56 2008 -0800 netdevice lance: Convert directly reference of netdev->priv This patch is to kill directly reference of netdev->priv too. Because the private data should be allocated in DMA area, alloc_etherdev() can't satisfy this needs. Use netdev->ml_priv to point to lance_private. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 537715226408b83c36b0688a1fb718f572d4dbe6 Author: Lennert Buytenhek Date: Thu Nov 20 03:59:04 2008 -0800 mv643xx_eth: calculate descriptor pointer only once in rxq_refill() Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit f61e5547763338b793ed291f3de3130216d00430 Author: Lennert Buytenhek Date: Thu Nov 20 03:58:46 2008 -0800 mv643xx_eth: move receive error handling out of line Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 66e63ffbc04706568d8789cbb00eaa8ddbcae648 Author: Lennert Buytenhek Date: Thu Nov 20 03:58:27 2008 -0800 mv643xx_eth: implement ->set_rx_mode() Currently, if multiple unicast addresses are programmed into a mv643xx_eth interface, the core networking will resort to enabling promiscuous mode on the interface, as mv643xx_eth does not implement ->set_rx_mode(). This patch switches mv643xx_eth over from ->set_multicast_list() to ->set_rx_mode(), and implements support for secondary unicast addresses. The hardware can handle multiple unicast addresses as long as their first 11 nibbles are the same (i.e. are of the form xx:xx:xx:xx:xx:xy where the x part is the same for all addresses), so if that is the case, we use that mode. If it's not the case, we enable unicast promiscuous mode in the hardware, which is slightly better than enabling promiscuous mode for multicasts as well, which is what would happen before. While we are at it, change the programming sequence so that we don't clear all filter bits first, so we don't lose all incoming packets while the filter is being reprogrammed. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 66823b928d746df21485deeff6744c77702abf29 Author: Lennert Buytenhek Date: Thu Nov 20 03:58:09 2008 -0800 mv643xx_eth: inline txq_alloc_desc_index() Since txq_alloc_desc_index() is a very simple function, and since descriptor ring index handling for transmit reclaim, receive processing and receive refill is already handled inline as well, inline txq_alloc_desc_index() into its two call sites. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 37a6084f4b4693a408ac2fb229843af9f9f301ce Author: Lennert Buytenhek Date: Thu Nov 20 03:57:36 2008 -0800 mv643xx_eth: introduce per-port register area pointer The mv643xx_eth driver uses the rdl()/wrl() macros to read and write hardware registers. Per-port registers are accessed in the following way: #define PORT_STATUS(p) (0x0444 + ((p) << 10)) [...] static inline u32 rdl(struct mv643xx_eth_private *mp, int offset) { return readl(mp->shared->base + offset); } [...] port_status = rdl(mp, PORT_STATUS(mp->port_num)); By giving the per-port 'struct mv643xx_eth_private' its own 'void __iomem *base' pointer that points to the per-port register area, we can get rid of both the double indirection and the << 10 that is done for every per-port register access -- this patch does that. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 10a9948d13eb51d757684da4354cf67891dc3481 Author: Lennert Buytenhek Date: Thu Nov 20 03:57:16 2008 -0800 mv643xx_eth: checkpatch fixes Fix up a couple of coding style issues caught by checkpatch. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 21d1a161f6b1fff154e3614a6b5a2111fa7a4191 Author: Harvey Harrison Date: Thu Nov 20 01:54:27 2008 -0800 net: ip_sockglue.c add static, annotate ports' endianness Fixes sparse warnings: net/ipv4/ip_sockglue.c:146:15: warning: incorrect type in assignment (different base types) net/ipv4/ip_sockglue.c:146:15: expected restricted __be16 [assigned] [usertype] sin_port net/ipv4/ip_sockglue.c:146:15: got unsigned short [unsigned] [short] [usertype] net/ipv4/ip_sockglue.c:130:6: warning: symbol 'ip_cmsg_recv_dstaddr' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 00b5e50549aa9da770f1161907b4ed68aa4ece3a Author: Brice Goglin Date: Thu Nov 20 01:50:28 2008 -0800 myri10ge: remove hardcoded sram_size Removes the use of a hardcoded sram_size, determine string_spec location from the MCP header instead. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit d6279c88f246adf94b7f7a014c5f19d527bc785b Author: Brice Goglin Date: Thu Nov 20 01:50:04 2008 -0800 myri10ge: fix per-slice rx/tx_dropped counters Properly attribute transmit and receive drops by incrementing the per-slice counter. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit d99015b1abbad743aa049b439c1e1dede6d0fa49 Author: Alexander van Heukelum Date: Wed Nov 19 01:18:11 2008 +0100 x86: move entry_64.S register saving out of the macros Here is a combined patch that moves "save_args" out-of-line for the interrupt macro and moves "error_entry" mostly out-of-line for the zeroentry and errorentry macros. The save_args function becomes really straightforward and easy to understand, with the possible exception of the stack switch code, which now needs to copy the return address of to the calling function. Normal interrupts arrive with ((~vector)-0x80) on the stack, which gets adjusted in common_interrupt: : (5) addq $0xffffffffffffff80,(%rsp) /* -> ~(vector) */ (4) sub $0x50,%rsp /* space for registers */ (5) callq ffffffff80211290 (5) callq ffffffff80214290 : ... An apic interrupt stub now look like this: : (5) pushq $0xffffffffffffff05 /* ~(vector) */ (4) sub $0x50,%rsp /* space for registers */ (5) callq ffffffff80211290 (5) callq ffffffff80212b8f (5) jmpq ffffffff80211f93 Similarly the exception handler register saving function becomes simpler, without the need of any parameter shuffling. The stub for an exception without errorcode looks like this: : (6) callq *0x1cad12(%rip) # ffffffff803dd448 (2) pushq $0xffffffffffffffff /* no syscall */ (4) sub $0x78,%rsp /* space for registers */ (5) callq ffffffff8030e3b0 (3) mov %rsp,%rdi /* pt_regs pointer */ (2) xor %esi,%esi /* no error code */ (5) callq ffffffff80213446 (5) jmpq ffffffff8030e460 And one for an exception with errorcode like this: : (6) callq *0x1cab92(%rip) # ffffffff803dd448 (4) sub $0x78,%rsp /* space for registers */ (5) callq ffffffff8030e3b0 (3) mov %rsp,%rdi /* pt_regs pointer */ (5) mov 0x78(%rsp),%rsi /* load error code */ (9) movq $0xffffffffffffffff,0x78(%rsp) /* no syscall */ (5) callq ffffffff80213209 (5) jmpq ffffffff8030e460 Unfortunately, this last type is more than 32 bytes. But the total space savings due to this patch is about 2500 bytes on an smp-configuration, and I think the code is clearer than it was before. The tested kernels were non-paravirt ones (i.e., without the indirect call at the top of the exception handlers). Anyhow, I tested this patch on top of a recent -tip. The machine was an 2x4-core Xeon at 2333MHz. Measured where the delays between (almost-)adjacent rdtsc instructions. The graphs show how much time is spent outside of the program as a function of the measured delay. The area under the graph represents the total time spent outside the program. Eight instances of the rdtsctest were started, each pinned to a single cpu. The histogams are added. For each kernel two measurements were done: one in mostly idle condition, the other while running "bonnie++ -f", bound to cpu 0. Each measurement took 40 minutes runtime. See the attached graphs for the results. The graphs overlap almost everywhere, but there are small differences. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit c032a2de4c1a82187e9a754511043be47c8a92b5 Merge: 722024d... cbe9ee0... Author: Ingo Molnar Date: Thu Nov 20 10:48:28 2008 +0100 Merge branch 'x86/cleanups' into x86/irq [ merged x86/cleanups into x86/irq to enable a wider IRQ entry code patch to be applied, which depends on a cleanup patch in x86/cleanups. ] commit 87f7606591aea6a8a38ea4c8911b5eeeee2740b8 Author: Yinghai Lu Date: Wed Nov 19 20:50:53 2008 -0800 x86: fix wakeup_cpu with numaq/es7000 v2 - call ->update_genapic() Impact: fix boot crash on 32-bit Hiroshi Shimamoto reported a boot failure on 32-bit x86. The setting of x86_quirks.wakeup_cpu is missing (when not passing in an explicit apic= boot parameter). Reported-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a61fc1e995e6ccc884df50a1609b831a4b45a600 Author: Mike Frysinger Date: Mon Nov 17 21:23:40 2008 +0000 netdev/smc91x: unify Blackfin code a bit and use proper read/write functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 3d3e35aa78c9498eed3209c9d82376085ed0c36f Author: Gerrit Renker Date: Thu Nov 20 01:03:08 2008 -0800 dccp: Fix bracing in dccp_feat_list_lookup. From: Gerrit Renker Signed-off-by: David S. Miller commit f4bdd264b43cc60dccb617afce2859dffdd7a935 Author: Wang Chen Date: Thu Nov 20 01:02:05 2008 -0800 netdevice hamradio: Convert directly reference of netdev->priv Since all the memory, which pointed by netdev->priv, are allocated in advance instead of by alloc_netdev(). Use netdev->ml_priv to point to those memory. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 56bc0f9603e45cf13db51e554e1541e289a7f8e9 Author: Alexey Dobriyan Date: Thu Nov 20 10:01:37 2008 +0100 netfilter: nf_conntrack_proto_gre: spread __exit Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit f3a216d1da1c034c425c4eafe27a1b45269985c7 Author: Wang Chen Date: Thu Nov 20 01:01:00 2008 -0800 netdevice: 82596: Convert netdev->priv to netdev_priv 1. When alloc_etherdev(), no memory be allocated to netdev->priv. 2. And it's need to get a whole page for priv. For these reasons, use netdev->ml_priv to point to the page is the best method to convert directly reference of netdev->priv. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 61d3015808d877eb4ea225b5924feb128b0c1bc7 Author: Alexey Dobriyan Date: Thu Nov 20 09:58:08 2008 +0100 netfilter: ip6table_filter: merge LOCAL_IN and FORWARD hooks Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b0ceb560a4119f187dc50da655be389cb54ae4f9 Author: Alexey Dobriyan Date: Thu Nov 20 09:57:01 2008 +0100 netfilter: xt_recent: don't save proc dirs Not needed, since creation and removal are done by name. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit d214c7537bbf2f247991fb65b3420b0b3d712c67 Author: Pablo Neira Ayuso Date: Thu Nov 20 00:49:27 2008 -0800 filter: add SKF_AD_NLATTR_NEST to look for nested attributes SKF_AD_NLATTR allows us to find the first matching attribute in a stream of netlink attributes from one offset to the end of the netlink message. This is not suitable to look for a specific matching inside a set of nested attributes. For example, in ctnetlink messages, if we look for the CTA_V6_SRC attribute in a message that talks about an IPv4 connection, SKF_AD_NLATTR returns the offset of CTA_STATUS which has the same value of CTA_V6_SRC but outside the nest. To differenciate CTA_STATUS and CTA_V6_SRC, we would have to make assumptions on the size of the attribute and the usual offset, resulting in horrible BSF code. This patch adds SKF_AD_NLATTR_NEST, which is a variant of SKF_AD_NLATTR, that looks for an attribute inside the limits of a nested attributes, but not further. This patch validates that we have enough room to look for the nested attributes - based on a suggestion from Patrick McHardy. Signed-off-by: Pablo Neira Ayuso Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 68fd991020fdf51bc94327d288ae4ae5d0b8dced Author: Alexander Duyck Date: Thu Nov 20 00:48:10 2008 -0800 igb: Fix tx/rx_ring_count parameters for igb on suspend/resume/ring resize When suspending the device the ring structure is freed which causes it to loose track of the count. To resolve this we need to move the ring count outside of the ring structure and store it in the adapter struct. In addition to resolving the suspend/resume issue this patch also addresses issues seen in the event of memory allocation errors causing uneven ring sizes on multiple queues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b2d565365e02947699a8e3d594275662a8d00646 Author: Alexander Duyck Date: Thu Nov 20 00:47:34 2008 -0800 igb: simplify swap in clean_rx_irq if using packet split This update replaces the xchg calls that were added with a pair of assignments as there is no need for the xchg calls and they were found to cause issues on some architectures. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3ef6b2354f5ac340396e47a49b64b8da61ada3b7 Author: Alexander Duyck Date: Thu Nov 20 00:46:57 2008 -0800 igb: update name to reflect new hardware This patch adds the 82576 device to the description for igb in Kconfig. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5caea4ea7088e80ac5410d04660346094608b909 Author: Eric Dumazet Date: Thu Nov 20 00:40:07 2008 -0800 net: listening_hash get a spinlock per bucket This patch prepares RCU migration of listening_hash table for TCP/DCCP protocols. listening_hash table being small (32 slots per protocol), we add a spinlock for each slot, instead of a single rwlock for whole table. This should reduce hold time of readers, and writers concurrency. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bb5574608a8375026510b4f983ffbb06ece33fe2 Author: Richard A. Holden III Date: Wed Nov 19 16:05:15 2008 -0700 x86: fix arch/x86/kernel/setup.c build warning when !CONFIG_X86_RESERVE_LOW_64K Impact: cleanup Fix: arch/x86/kernel/setup.c:592: warning: 'dmi_low_memory_corruption' defined but not used this is only used if CONFIG_X86_RESERVE_LOW_64K is defined. Signed-off-by: Richard A. Holden III Signed-off-by: Ingo Molnar commit 90accd6fabf9b2fa2705945a4c601877a75d43bf Merge: b43d196... ee2f6cc... Author: Ingo Molnar Date: Thu Nov 20 09:03:38 2008 +0100 Merge branch 'linus' into x86/memory-corruption-check commit 77be80e437fec44f8b7a620314b7d7b605b8d93b Author: Richard A. Holden III Date: Wed Nov 19 16:05:14 2008 -0700 x86: fix arch/x86/kernel/genx2apic_uv_x.c build warning when !CONFIG_HOTPLUG_CPU Impact: cleanup, reduce size of the kernel image a bit Fix: arch/x86/kernel/genx2apic_uv_x.c:403: warning: 'uv_heartbeat_disable' defined but not used the function is only used when CONFIG_HOTPLUG_CPU is defined. Signed-off-by: Richard A. Holden III Signed-off-by: Ingo Molnar commit fbc2a06056c9aa3cb8c44bf1cfeb1d260e229e5c Merge: a3d732f... ee2f6cc... Author: Ingo Molnar Date: Thu Nov 20 09:02:39 2008 +0100 Merge branch 'linus' into x86/uv commit 5b2d1ecac2a79b9438aed731557b8912564cedfd Author: Vincent Petry Date: Tue Nov 18 22:21:57 2008 +0800 ALSA: hda: Added Realtek ALC888 model entry for Acer Aspire 4930G laptop Added Realtek ALC888 model entry for the Acer Aspire 4930G laptop that fixes the following features: - internal microphone - heaphone jack sense - channel mode Signed-off-by: Vincent Petry Signed-off-by: Takashi Iwai commit 41dda0fdd2cb22d989aa76fbbbd5a6514a3e0802 Author: Wu Fengguang Date: Thu Nov 20 09:24:52 2008 +0800 ALSA: azx_probe() cleanup Replace 5 free-and-return-err blocks with goto-out-free ones. This makes the main logic more outstanding. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit d8b83c57a7e497cba9b5cb156e63176323035785 Author: Stephen Hemminger Date: Wed Nov 19 22:28:46 2008 -0800 acenic: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2c9171d4ef431d8ed897daf4fee6798979cbb432 Author: Stephen Hemminger Date: Wed Nov 19 22:27:43 2008 -0800 niu: convert to net_device_ops Convert this driver to network device ops. Compile tested only (give me hw!) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b94426bd9d16fb2753ada1255c7a432f49dfebcb Author: Stephen Hemminger Date: Wed Nov 19 22:26:51 2008 -0800 forcedeth: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7c7d64b8c00bcf9519e5ec38368bc7afdc185c51 Author: Stephen Hemminger Date: Wed Nov 19 22:25:36 2008 -0800 tg3: convert to net_device_ops Convert this driver to network device ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0edc352743156a39dfc3f21206b2bf7b9f371832 Author: Stephen Hemminger Date: Wed Nov 19 22:24:29 2008 -0800 ixgb: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit afe29f7a61b7b9b9dae9f443c34733c2b4f461ba Author: Stephen Hemminger Date: Wed Nov 19 22:23:26 2008 -0800 enic: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 52256cfc9f81cd8713e00a0713e68347bbffba5a Author: Stephen Hemminger Date: Wed Nov 19 22:22:30 2008 -0800 ppp: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit acc784263b0c46f3052fb4f155fdfe39b7001c98 Author: Stephen Hemminger Date: Wed Nov 19 22:21:53 2008 -0800 e100: convert to net_device_ops Convert to new network device ops interface. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2e5c69228ef52b8fe6b3d38caf45f03b22fda7bd Author: Stephen Hemminger Date: Wed Nov 19 22:20:44 2008 -0800 igb: convert to net_device_ops Convert to new network device ops interface. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 39a11bd9102cf8601f02d595dc022b715103afde Author: Stephen Hemminger Date: Wed Nov 19 22:19:33 2008 -0800 via-velocity: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e7614bc3df034e2f92e0d424cc6f81dcdb7af65 Author: Stephen Hemminger Date: Wed Nov 19 22:18:22 2008 -0800 e1000: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 80ff32b76f7969bf62206840c4e1d04674e41df9 Author: Stephen Hemminger Date: Wed Nov 19 22:17:06 2008 -0800 cxgb2: convert to net_device_ops Convert this driver to network device ops. Compile teseted only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dd7526960ec2a7c85a5b8bfae8f297d317bf4b86 Author: Stephen Hemminger Date: Wed Nov 19 22:15:39 2008 -0800 cxgb3: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 825a84d1d3d612c2b8db77dd4719882690d01bae Author: Stephen Hemminger Date: Wed Nov 19 22:14:17 2008 -0800 atlx: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1e058ab58f03fedbd2aa202c3a81c777d623be3a Author: Stephen Hemminger Date: Wed Nov 19 22:12:06 2008 -0800 atl1e: convert to net_device_ops Convert this driver to network device ops. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 758e43b74c903ad368ceced31601ba5d96f31238 Author: Stephen Hemminger Date: Wed Nov 19 22:10:37 2008 -0800 tun: convert to net_device_ops Convert the TUN/TAP tunnel driver to net_device_ops. Split the ops in two, and retain compatability. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 48dfcde46ef23cfad1e0c0f13d4eae15c7f46efc Author: Stephen Hemminger Date: Wed Nov 19 22:09:07 2008 -0800 8139: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8b4ab28dae8afa14f22d210c591046def2f4d742 Author: Francois Romieu Date: Wed Nov 19 22:05:25 2008 -0800 r8169: convert to net_device_ops Based upon a patch by Stephen Hemminger. Signed-off-by: David S. Miller commit f80d032b5fe95e3ce89f79210859b7ec799e1ccc Author: Stephen Hemminger Date: Wed Nov 19 22:01:26 2008 -0800 skge: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1436b301ec2b184fc01dc29fa22d1fbac619b491 Author: Stephen Hemminger Date: Wed Nov 19 21:59:54 2008 -0800 sky2: convert to net_device_ops Convert to new network device ops interface. Slight additional complexity here because the second port does not allow netpoll and therefore has different virtual function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 651c24669316b955c3c7797bd535cdaa4533cb16 Author: Stephen Hemminger Date: Wed Nov 19 21:57:48 2008 -0800 e1000e: convert to net_device_ops Convert e1000e to network device ops. Signed-off-by: Stephen Hemminger commit eb7cc59a038b4e1914ae991d313f35904924759f Author: Stephen Hemminger Date: Wed Nov 19 21:56:05 2008 -0800 bonding: convert to net_device_ops Convert to net_device_ops table. Note: for some operations move error checking into generic networking layer (rather than looking at pointers in bonding). A couple of gratituous style cleanups to get rid of extra {} Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 656299f706e52e0409733d704c2761f1b12d6954 Author: Stephen Hemminger Date: Wed Nov 19 21:53:47 2008 -0800 vlan: convert to net_device_ops Convert vlan devices and function pointers to net_device_ops. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5bc3eb7e2f0026f246d939851109df99e8e9f64a Author: Stephen Hemminger Date: Wed Nov 19 21:52:05 2008 -0800 ip: convert to net_device_ops for ioctl Convert to net_device_ops function table pointer for ioctl. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 54a30c975b6b27c0c9268461b647576b146d39bb Author: Stephen Hemminger Date: Wed Nov 19 21:51:06 2008 -0800 macvlan: convert to net_device_ops Convert to net_device_ops function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4456e7bdf74c9f27e2312a6f197b2da467541433 Author: Stephen Hemminger Date: Wed Nov 19 21:50:10 2008 -0800 veth: convert to net_device_ops Convert to net_device_ops function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a2dbb88210b9877f1c53d3798fd5d717a4d45256 Author: Stephen Hemminger Date: Wed Nov 19 21:49:00 2008 -0800 bridge: convert to net_device_ops Convert to net_device_ops function table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8dfcdf342d9e8294a3292005f9158022289dfd67 Author: Stephen Hemminger Date: Wed Nov 19 21:47:07 2008 -0800 ifb: convert to net_device_ops Convert to new network device ops interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c02373bf2759dd210dc8c72c9c9b4a8f1c279cac Author: Stephen Hemminger Date: Wed Nov 19 21:46:18 2008 -0800 netdev: convert loopback to net_device_ops First device to convert over is the loopback device. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ccad637b0c57de1825ffd34c311bf71487545ac2 Author: Stephen Hemminger Date: Wed Nov 19 22:42:31 2008 -0800 netdev: expose ethernet address primitives When ethernet devices are converted, the function pointer setup by eth_setup() need to be done during intialization. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0 Author: Stephen Hemminger Date: Wed Nov 19 21:40:23 2008 -0800 netdev: introduce dev_get_stats() In order for the network device ops get_stats call to be immutable, the handling of the default internal network device stats block has to be changed. Add a new helper function which replaces the old use of internal_get_stats. Note: change return code to make it clear that the caller should not go changing the returned statistics. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d314774cf2cd5dfeb39a00d37deee65d4c627927 Author: Stephen Hemminger Date: Wed Nov 19 21:32:24 2008 -0800 netdev: network device operations infrastructure This patch changes the network device internal API to move adminstrative operations out of the network device structure and into a separate structure. This patch involves some hackery to maintain compatablity between the new and old model, so all 300+ drivers don't have to be changed at once. For drivers that aren't converted yet, the netdevice_ops virt function list still resides in the net_device structure. For old protocols, the new net_device_ops are copied out to the old net_device pointers. After the transistion is completed the nag message can be changed to an WARN_ON, and the compatiablity code can be made configurable. Some function pointers aren't moved: * destructor can't be in net_device_ops because it may need to be referenced after the module is unloaded. * neighbor setup is manipulated in a couple of places that need special consideration * hard_start_xmit is in the fast path for transmit. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6b41e7dd90c6a628ab5fb8d781302d60a243b2ce Author: Eric Dumazet Date: Wed Nov 19 15:48:09 2008 -0800 net: af_unix should use KERN_INFO instead of KERN_DEBUG As spotted by Joe Perches, we should use KERN_INFO in unix_sock_destructor() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d171235e712c11c0a0f47f62619024bf726125e1 Author: Joe Perches Date: Wed Nov 19 15:45:15 2008 -0800 drivers/s390/ - csum_partial - remove unnecessary casts The first argument to csum_partial is const void * casts to char/u8 * are not necessary Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 07f0757a6808f2f36a0e58c3a54867ccffdb8dc9 Author: Joe Perches Date: Wed Nov 19 15:44:53 2008 -0800 include/net net/ - csum_partial - remove unnecessary casts The first argument to csum_partial is const void * casts to char/u8 * are not necessary Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit a7a0d6a87b70f7b2bab5281fc0fd443772bd0795 Author: Eric Dumazet Date: Wed Nov 19 15:43:27 2008 -0800 net: inet_diag_handler structs can be const Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 14e943db133489c98d426a0dcfce4a99c6e8ad97 Author: Eric Dumazet Date: Wed Nov 19 15:14:01 2008 -0800 net: make /proc/net/protocols namespace aware Converting /proc/net/protocols to be namespace aware is quite easy and permits us to use sock_prot_inuse_get(). This provides seperate counters for each protocol. For example we can really count TCPv6 sockets and TCPv4 sockets, while previously, we had the same value, and this value was not namespace aware. Signed-off-by: Eric Dumazet Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3680453c8be54fff0d23fdf33e8961a48e1f2cd6 Author: Eric Dumazet Date: Wed Nov 19 14:25:35 2008 -0800 net: af_packet should update its inuse counter This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for PACKET protocols, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9789cfe22e5d7bc10cad841a4ea96ecedb34b267 Author: Randy Dunlap Date: Wed Nov 19 11:46:46 2008 -0800 nfsctl: add headers for credentials Needs headers help for current_cred: Adding only cred.h wasn't enough. linux-next-20081023/fs/nfsctl.c:45: error: implicit declaration of function 'current_cred' Signed-off-by: Randy Dunlap Cc: David Howells Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 7596b27dbd8de7bcfa7a80b2756114b49bd5c018 Author: Randy Dunlap Date: Wed Nov 19 11:30:27 2008 -0800 coda: fix creds reference Needs a header file for credentials struct: linux-next-20081023/fs/coda/file.c:177: error: dereferencing pointer to incomplete type Signed-off-by: Randy Dunlap Cc: Jan Harkes Cc: David Howells Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit ec4e0e2fe018992d980910db901637c814575914 Author: Ken Chen Date: Tue Nov 18 22:41:57 2008 -0800 sched: fix inconsistency when redistribute per-cpu tg->cfs_rq shares Impact: make load-balancing more consistent In the update_shares() path leading to tg_shares_up(), the calculation of per-cpu cfs_rq shares is rather erratic even under moderate task wake up rate. The problem is that the per-cpu tg->cfs_rq load weight used in the sd_rq_weight aggregation and actual redistribution of the cfs_rq->shares are collected at different time. Under moderate system load, we've seen quite a bit of variation on the cfs_rq->shares and ultimately wildly affects sched_entity's load weight. This patch caches the result of initial per-cpu load weight when doing the sum calculation, and then pass it down to update_group_shares_cpu() for redistributing per-cpu cfs_rq shares. This allows consistent total cfs_rq shares across all CPUs. It also simplifies the rounding and zero load weight check. Signed-off-by: Ken Chen Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit dba0a918722ee0f0ba3442575e4448c3ab622be4 Merge: 0996e63... 7f0f598... Author: David Vrabel Date: Wed Nov 19 14:48:07 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream commit 0996e6382482ce9014787693d3884e9468153a5c Author: David Vrabel Date: Mon Nov 17 16:23:22 2008 +0000 uwb: remove unused beacon group join/leave events The UWB_NOTIF_BG_JOIN/UWB_NOTIF_BG_LEAVE events have been superceeded by the channel_changed callback in struct uwb_pal. Signed-off-by: David Vrabel commit e8e1594c8126b1b773988fa2e3bfec76cff88336 Author: David Vrabel Date: Mon Nov 17 16:16:51 2008 +0000 wlp: start/stop radio on network interface up/down Signed-off-by: David Vrabel commit 6fae35f9cea92793a98b2d9ab21235e5ae035581 Author: David Vrabel Date: Mon Nov 17 15:53:42 2008 +0000 uwb: add basic radio manager The UWB radio manager coordinates the use of the radio between the PALs that may be using it. PALs request use of the radio with uwb_radio_start() and the radio manager will start beaconing if its not already doing so. When the last PAL has called uwb_radio_stop() beaconing will be stopped. In the future, the radio manager will have a more sophisticated channel selection algorithm, probably following the Channel Selection Policy from the WiMedia Alliance when it is finalized. For now, channel 9 (BG1, TFC1) is selected. The user may override the channel selected by the radio manager and may force the radio to stop beaconing. The WUSB Host Controller PAL makes use of this and there are two new debug PAL commands that can be used for testing. Signed-off-by: David Vrabel commit 9b0db7e7fd20d5a38844e9435f7d4246ea44978a Author: Mark Brown Date: Tue Nov 18 22:17:49 2008 +0000 ASoC: Convert blackfin machines to use DAI accessor functions Signed-off-by: Mark Brown commit d0c36631bbee9eb89f2fe4251e0e9583f37156cd Author: Mark Brown Date: Tue Nov 18 21:57:17 2008 +0000 ASoC: s3c24xx_uda134x DAI accessor functions and static cleanup Missed these during review. Signed-off-by: Mark Brown commit df573d2fd1b077b98ffc3eb62a9908075e69e578 Author: Arun KS Date: Wed Nov 19 17:45:19 2008 +0530 ASoC: Add support for omap2evm board This patch adds twl4030 audio support on omap2evm Signed-off-by: Arun KS Signed-off-by: Mark Brown commit 08bd16869645f435eba6a612d166532b3047c5f7 Author: Hugo Villeneuve Date: Wed Nov 19 01:37:32 2008 -0500 ASoC: Add driver for the Lyrtech SFFSDR board The PCM3008 is used on the Lyrtech SFFSDR board, in conjunction with an FPGA that generates the bit clock and the master clock [Downgraded the rate debug print to pr_debug() in hw_params, converted asm/gpio.h to linux/gpio.h -- broonie] Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit 1c0090c280da18f79e3e94168b5f3bfe4eb5f1c8 Author: Hugo Villeneuve Date: Wed Nov 19 01:37:31 2008 -0500 ASoC: Add PCM3008 ALSA SoC driver The PCM3008 is a 16-bit stereo audio codec. It accepts left-justified format for ADC, and right-justified format for DAC. Independent power-down modes for ADC and DAC are provided, as well as a digital de-emphasis filter (4 modes). [Merged Makefile & Kconfig, changed asm/gpio.h to linux/gpio.h -- broonie] Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit 8563964617a6685d790448d9d7e45b49be90a448 Author: Takashi Iwai Date: Wed Nov 19 14:14:50 2008 +0100 ALSA: hda - Show missing GPIO unsol bits The GPIO unsolicited event bits are read but not shown in the proc file. Let's fix it. Signed-off-by: Takashi Iwai commit 60a515132086b2c28a8141d873297fdf7a180ca7 Author: Andrew Morton Date: Tue Nov 18 22:20:10 2008 -0800 profiling: clean up profile_nop() Impact: cleanup No point in inlining this. Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 9676e73a9e0cbdc521e1ebf4e13e6e5aada34247 Merge: 5a209c2... 86fa2f6... 6d5b43a... Author: Ingo Molnar Date: Wed Nov 19 10:04:25 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core Conflicts: kernel/trace/ftrace.c [ We conflicted here because we backported a few fixes to tracing/urgent - which has different internal APIs. ] commit 86fa2f60674540df0b34f5c547ed0c1cf3a8f212 Author: Ingo Molnar Date: Wed Nov 19 10:00:15 2008 +0100 ftrace: fix selftest locking Impact: fix self-test boot crash Self-test failure forgot to re-lock the BKL - crashing the next initcall: Testing tracer irqsoff: .. no entries found ..FAILED! initcall init_irqsoff_tracer+0x0/0x11 returned 0 after 3906 usecs calling init_mmio_trace+0x0/0xf @ 1 ------------[ cut here ]------------ Kernel BUG at c0c0a915 [verbose debug info unavailable] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC last sysfs file: Pid: 1, comm: swapper Not tainted (2.6.28-rc5-tip #53704) EIP: 0060:[] EFLAGS: 00010286 CPU: 1 EIP is at unlock_kernel+0x10/0x2b EAX: ffffffff EBX: 00000000 ECX: 00000000 EDX: f7030000 ESI: c12da19c EDI: 00000000 EBP: f7039f54 ESP: f7039f54 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 1, ti=f7038000 task=f7030000 task.ti=f7038000) Stack: f7039f6c c0164d30 c013fed8 a7d8d7b4 00000000 00000000 f7039f74 c12fb78a f7039fd0 c0101132 c12fb77d 00000000 6f727200 6f632072 2d206564 c1002031 0000000f f7039fa2 f7039fb0 3531b171 00000000 00000000 0000002f c12ca480 Call Trace: [] ? register_tracer+0x66/0x13f [] ? ktime_get+0x19/0x1b [] ? init_mmio_trace+0xd/0xf [] ? do_one_initcall+0x4a/0x111 [] ? init_mmio_trace+0x0/0xf [] ? init_irq_proc+0x46/0x59 [] ? kernel_init+0x104/0x152 [] ? kernel_init+0x0/0x152 [] ? kernel_thread_helper+0x7/0x10 Code: 58 14 43 75 0a b8 00 9b 2d c1 e8 51 43 7a ff 64 a1 00 a0 37 c1 89 58 14 5b 5d c3 55 64 8b 15 00 a0 37 c1 83 7a 14 00 89 e5 79 04 <0f> 0b eb fe 8b 42 14 48 85 c0 89 42 14 79 0a b8 00 9b 2d c1 e8 EIP: [] unlock_kernel+0x10/0x2b SS:ESP 0068:f7039f54 ---[ end trace a7919e7f17c0a725 ]--- Kernel panic - not syncing: Attempted to kill init! So clean up the flow a bit. Signed-off-by: Ingo Molnar commit 3ac3ba0b396fd99550e08034b0e4c27fdf39c252 Merge: 934352f... 7f0f598... Author: Ingo Molnar Date: Wed Nov 19 09:44:37 2008 +0100 Merge branch 'linus' into sched/core Conflicts: kernel/Makefile commit ae8cb4caa34af20311fcf5ef248afc54407aa9a8 Author: Wu Fengguang Date: Wed Nov 19 15:14:03 2008 +0800 ALSA: hda: compact ELD output messages Strip out some ELD printk messages that end user won't care, and make the output compact. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit d39b4352f2356bde9d4dae8591d4c8022360922f Author: Wu Fengguang Date: Wed Nov 19 15:14:02 2008 +0800 ALSA: hda: make global snd_print_pcm_bits() Introduce a global function snd_print_pcm_bits() and use it in the ELD code. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 06f69d17a90ced7d74ff12ce69b7b101aed4ffd9 Author: Wu Fengguang Date: Wed Nov 19 15:14:01 2008 +0800 ALSA: hda: minor output message cleanups Some minor user visible message cleanups. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 5b87ebb7a79455358c1910f2896112ac0fa0d0fa Author: Wu Fengguang Date: Wed Nov 19 15:14:00 2008 +0800 ALSA: hda: rename sink_eld to hdmi_eld Rename struct sink_eld to hdmi_eld. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 4e19c58f27af67735d64d9af0b184181cea7ca63 Author: Wu Fengguang Date: Wed Nov 19 15:13:59 2008 +0800 ALSA: hda: minor code cleanups Some minor code cleanups. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 198d6ba4d7f48c94f990f4604f0b3d73925e0ded Merge: 9a57f7f... 7f0f598... Author: David S. Miller Date: Tue Nov 18 23:38:23 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/isdn/i4l/isdn_net.c fs/cifs/connect.c commit c6798d2bd1805e32a92ba8db168ec51cdbb534b0 Author: Matthew Ranostay Date: Tue Nov 18 20:54:17 2008 -0500 ALSA: hda: EAPD mute on suspend Moved support for EAPD mute on suspend from stac92hd71xx_suspend to the generic stac92xx_suspend function. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 9c8641e8ee438273079337c86f4d739fbfdd8b33 Author: Wu Fengguang Date: Wed Nov 19 08:56:18 2008 +0800 ALSA: hda: HDMI channel mapping cleanups Refactor the channel mapping code for consistent naming and make it more informed about channel allocations. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 698544de8a31a7cadc26c27cbaa69ae82dd4f86c Author: Wu Fengguang Date: Wed Nov 19 08:56:17 2008 +0800 ALSA: hda: HDMI channel allocations for audio infoframe To play a 3+ channels LPCM/DSD stream via HDMI, - HDMI sink must tell HDMI source about its speaker placements (via ELD, speaker-allocation field) - HDMI source must tell the HDMI sink about channel allocation (via audio infoframe, channel-allocation field) (related docs: HDMI 1.3a spec section 7.4, CEA-861-D section 7.5.3 and 6.6) This patch attempts to set the CA(channel-allocation) byte in the audio infoframe according to - the number of channels in the current stream - the speakers attached to the HDMI sink A channel_allocations[] line must meet the following two criteria to be considered as a valid candidate for CA: 1) its number of allocated channels = substream->runtime->channels 2) its speakers are a subset of the available ones on the sink side If there are multiple candidates, the first one is selected. This simple policy shall cheat the sink into playing music, but may direct data to the wrong speakers. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 903b21d8b7bb49d3438abdd7b9d4145511e1cba2 Author: Wu Fengguang Date: Wed Nov 19 08:56:16 2008 +0800 ALSA: hda: make global snd_print_channel_allocation() code refactor: make a global function snd_print_channel_allocation(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 5457a98039cebf20b564b5c3d73a50615e2b2696 Author: Wu Fengguang Date: Wed Nov 19 08:56:15 2008 +0800 ALSA: hda: make standalone hdmi_fill_audio_infoframe() code refactor: make a standalone function hdmi_fill_audio_infoframe(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit cea555d384b85271035814c5adad23e6c7fc5d2a Merge: 78608dd... 7f0f598... Author: Paul Mackerras Date: Wed Nov 19 16:10:32 2008 +1100 Merge branch 'linux-2.6' into next commit 78608dd32ce46789e970d6c3c423cd668c138d6c Author: Milton Miller Date: Fri Oct 10 01:56:50 2008 +0000 powerpc/mpic: Use new smp_request_message_ipi MPIC has 4 ipis, so it can use the new smp_request_message_ipi to reduce pathlength when receiving an ipi. This has the side effect of using the common ipi names, and also continuing to try request the remaining messages when one fails. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 25ddd738c2ebffb6c2d3cf29c91b986d1bb39c99 Author: Milton Miller Date: Fri Nov 14 20:11:49 2008 +0000 powerpc: Provide a separate handler for each IPI action With the new generic smp call function helpers, I noticed the code in smp_message_recv was a single function call in many cases. While getting the message number from the ipi data is easy, we can reduce the path length by a function and data-dependent switch by registering seperate IPI actions for these simple calls. Originally I left the ipi action array exposed, but then I realized the registration code should be common too. The three users each had their own name array, so I made a fourth to convert all users to use a common one. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit a6326e98a28d8a57f693369c82559543c6950f09 Author: Robert Jennings Date: Fri Nov 14 12:07:34 2008 +0000 powerpc: Correct page-in counter for CMM with 64k pages Linux will report the number of page-ins so that the hypervisor can better determine partition memory pressure. The hardware page size and the OS page size can be different. In the case where the hardware page size is 4k and the OS is running with 64k pages the code in commit 409001948d9f221c94a61c3ee96de112755fc04d ("powerpc: Update page-in counter for CMM") would under-report the number of pages. This corrects the reporting to the hypervisor by incrementing the page_in count by 1 << PAGE_FACTOR each time. Reported-by: Andrew Theurer Signed-off-by: Robert Jennings Signed-off-by: Paul Mackerras commit 22059a90b82d6cd02d488c48c27a4d0ad976c919 Author: Michael Ellerman Date: Wed Nov 12 18:20:43 2008 +0000 powerpc/pmac: Use of_find_node_with_property() in pmac_setup_arch() Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ba82efbd3b48cb2a0e03c043911ce44c28f2825a Author: Michael Ellerman Date: Wed Nov 12 18:20:40 2008 +0000 powerpc: Use of_find_node_with_property() in cell_iommu_fixed_mapping_init() Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 54018178ef05e32f140158cb7d7770b66042d131 Author: Michael Ellerman Date: Wed Nov 12 18:20:37 2008 +0000 powerpc: Use for_each_node_with_property() in of_irq_map_init() Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 1e291b14c8f1101b9093434489bd4dc0e03f3d0f Author: Michael Ellerman Date: Wed Nov 12 18:54:42 2008 +0000 of: Add helpers for finding device nodes which have a given property This commit adds a routine for finding a device node which has a certain property. The contents of the property are not taken into account, merely the presence or absence of the property. Based on that routine, we add a for_each_ macro for iterating over all nodes that have a certain property. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit ae564c63b8311fa73c21e456e00dba1f4b1ff6bc Author: Nick Piggin Date: Tue Nov 11 17:54:15 2008 +0000 powerpc: Optimise mutex This implements an optimised mutex fastpath for powerpc, making use of acquire and release barrier semantics. This takes the mutex lock+unlock benchmark from 203 to 173 cycles on a G5. Signed-off-by: Nick Piggin Signed-off-by: Paul Mackerras commit 957ab07b44d839ee8267e827fc4e8f1853798f57 Author: Nick Piggin Date: Tue Nov 11 17:51:18 2008 +0000 powerpc: Optimise smp_rmb After commit 598056d5af8fef1dbe8f96f5c2b641a528184e5a ("[POWERPC] Fix rmb to order cacheable vs. noncacheable"), rmb() becomes a sync instruction, which is needed to order cacheable vs noncacheable loads. However smp_rmb() is #defined to rmb(), and smp_rmb() can be an lwsync. This restores smp_rmb() performance by using lwsync there and updates the comments. Signed-off-by: Nick Piggin Signed-off-by: Paul Mackerras commit 46d075be585eae2b74265e4e64ca38dde16a09c6 Author: Nick Piggin Date: Tue Nov 11 17:50:48 2008 +0000 powerpc: Optimise smp_wmb Change 2d1b2027626d5151fff8ef7c06ca8e7876a1a510 ("powerpc: Fixup lwsync at runtime") removed __SUBARCH_HAS_LWSYNC, causing smp_wmb to revert back to eieio for all CPUs. This restores the behaviour intorduced in 74f0609526afddd88bef40b651da24f3167b10b2 ("powerpc: Optimise smp_wmb on 64-bit processors"). Signed-off-by: Nick Piggin Signed-off-by: Paul Mackerras commit a4e22f02f5b6518c1484faea1f88d81802b9feac Author: Mark Nelson Date: Tue Nov 11 00:53:34 2008 +0000 powerpc: Update 64bit __copy_tofrom_user() using CPU_FTR_UNALIGNED_LD_STD In exactly the same way that we updated memcpy() with new feature sections in commit 25d6e2d7c58ddc4a3b614fc5381591c0cfe66556 ("powerpc: Update 64bit memcpy() using CPU_FTR_UNALIGNED_LD_STD"), we do the same thing here for __copy_tofrom_user(). Once again this is purely a performance tweak for Cell and Power6 - this has no effect on all the other 64bit powerpc chips. We can make these same changes to __copy_tofrom_user() because the basic copy algorithm is the same as in memcpy() - this version just has all the exception handling logic needed when copying to or from userspace as well as a special case for copying whole 4K pages that are page aligned. CPU_FTR_UNALIGNED_LD_STD CPU was added in commit 4ec577a28980a0790df3c3dfe9c81f6e2222acfb ("powerpc: Add new CPU feature: CPU_FTR_UNALIGNED_LD_STD"). We also make the same simple one line change from cmpldi r1,... to cmpldi cr1,... for consistency. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 7526ff76f84178f8c926de7e590e4c5f9d4a2e62 Author: Hollis Blanchard Date: Mon Nov 10 14:33:36 2008 +0000 powerpc: Remove superfluous WARN_ON() from dma-noncoherent.c I can't tell why this WARN_ON exists, and there's no comment explaining it. Whether the pmd is present or not, pte_alloc_kernel() seems to handle both cases. Booting a 440 kernel with 64K PAGE_SIZE triggers the warning, but boot successfully completes and I see no problems beyond that. Signed-off-by: Hollis Blanchard Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit efc3624c9419cad3cca93dfabb7b12664773d2b1 Author: Paul Mackerras Date: Wed Nov 5 18:39:27 2008 +0000 powerpc: Tell gcc when we clobber the carry in inline asm We have several instances of inline assembly code that use the addic or addic. instructions, but don't include XER in the list of clobbers. The addic and addic. instructions affect the carry bit, which is in the XER register. This adds "xer" to the list of clobbers for those inline asm statements that use addic or addic. and didn't already have it. Signed-off-by: Paul Mackerras commit d5e54913433fff89609adfc4b96fefcf807a9030 Author: David Gibson Date: Wed Nov 5 14:20:17 2008 +0000 powerpc: udbg-based backend for hvc_console This adds a new backend for the hvc console based on the low-level udbg callbacks. This effectively implements a working runtime console in terms of the simple udbg primitives. This is kind of a hack - since udbg isn't something you really want to be using routinely - but it's really useful during bringup. This can be used to quickly implement a userspace-usable console while you're working on a proper driver for whatever console I/O device the hardware has. Or, it can be used to avoid writing a full blown tty/console driver entirely for quick-and-dirty I/O hardware that will later be replaced by something else. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8c6531868d4917adbd363030f28a734b76c7471a Author: Chris J Arges Date: Tue Nov 4 12:19:06 2008 +0000 serial/pmac_zilog: Add console polling support This implements poll_get_char and poll_put_char for console polling, which enables kgdb to work on machines that use the pmac_zilog serial driver, for example the Apple PowerMac G5. Signed-off-by: Chris J Arges Signed-off-by: Paul Mackerras commit 9b82f3e61758ed897200f0244b63a77c1791bcba Author: Geert Uytterhoeven Date: Thu Oct 30 08:12:58 2008 +0000 powerpc/ps3: Replace the flip_ctl logic in ps3av and ps3fb by a mutex Introduce ps3_gpu_mutex to synchronizes GPU-related operations, like: - invoking the L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT command using the lv1_gpu_context_attribute() hypervisor call, - handling the PS3AV_CID_AVB_PARAM packet in the PS3 A/V Settings driver. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a22506347d038a66506c6f57e9b97104128e280d Author: Heiko Carstens Date: Tue Nov 18 18:06:35 2008 +0100 ftrace: preemptoff selftest not working Impact: fix preemptoff and preemptirqsoff tracer self-tests I was wondering why the preemptoff and preemptirqsoff tracer selftests don't work on s390. After all its just that they get called from non-preemptible context: kernel_init() will execute all initcalls, however the first line in kernel_init() is lock_kernel(), which causes the preempt_count to be increased. Any later calls to add_preempt_count() (especially those from the selftests) will therefore not result in a call to trace_preempt_off() since the check below in add_preempt_count() will be false: if (preempt_count() == val) trace_preempt_off(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1)); Hence the trace buffer will be empty. Fix this by releasing the BKL during the self-tests. Signed-off-by: Heiko Carstens Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ca3ea02e90d63a6a91c1c2a445d6d71f9031a44a Author: Mark Brown Date: Tue Nov 18 20:40:36 2008 +0000 ASoC: Remove unused snd_soc_machine_config declaration Signed-off-by: Mark Brown commit 2af752936b311a846622668f8b0f1893d8eccade Author: Hannes Eder Date: Tue Nov 18 12:25:06 2008 -0500 sound: Fix warnings relating to ignored return value in snd_card_register Do not ignore the return of 'device_create_file' in 'snd_card_register' and thereby fixing the following warnings: sound/core/init.c: In function 'snd_card_register': sound/core/init.c:640: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result sound/core/init.c:641: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit b5fe363b7d89577fcfda9b6cf0efc32760bbccc6 Author: Yinghai Lu Date: Tue Nov 18 08:14:14 2008 -0800 x86: use update_genapic to get rid of ES7000_CLUSTERED_APIC v2 Impact: clean up We can autodetect those system that need cluster apic, and update genapic accordingly. We can also remove wakeup.h for e7000, because it's default one is now the same as overall default mach_wakecpu.h Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f632ddcc0786149c0e4bef9b6b44c96a75c0d074 Author: Ingo Molnar Date: Tue Nov 18 17:32:26 2008 +0100 x86: fix wakeup_cpu with numaq/es7000, v2, fix #2 Impact: fix boot crash fix default_update_genapic(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 64977609e316c86fad513d9bf0afff998581e59d Author: Hiroshi Shimamoto Date: Mon Nov 17 15:49:14 2008 -0800 x86: ia32_signal: change order of storing in setup_sigcontext() Impact: cleanup Change order of storing to match the sigcontext_ia32. And add casting to make this code same as arch/x86/kernel/signal_32.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 047ce93581ca122442ed3c13a62a645249a7db1d Author: Hiroshi Shimamoto Date: Mon Nov 17 15:48:27 2008 -0800 x86: ia32_signal: remove using temporary variable Impact: cleanup No need to use temporary variable. Also rename the variable same as arch/x86/kernel/signal_32.c. Signed-off-by: Hiroshi Shimamoto Reviewed-by: WANG Cong Signed-off-by: Ingo Molnar commit 8c6e5ce0fd67c57ad5e19d1718e1250214e855db Author: Hiroshi Shimamoto Date: Mon Nov 17 15:47:48 2008 -0800 x86: ia32_signal: cleanup macro RELOAD_SEG Impact: cleanup Remove mask parameter because it's always 3. Cleanup coding styles. Signed-off-by: Hiroshi Shimamoto Reviewed-by: WANG Cong Signed-off-by: Ingo Molnar commit d71a68dca54756049e0eae62458a1705bf680d09 Author: Hiroshi Shimamoto Date: Mon Nov 17 15:47:06 2008 -0800 x86: ia32_signal: introduce COPY_SEG_CPL3 Impact: cleanup Introduce COPY_SEG_CPL3 for ia32_restore_sigcontext(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit b78a5b5260abf90d574911e7c7b8d35d5b48d6c0 Author: Hiroshi Shimamoto Date: Mon Nov 17 15:44:50 2008 -0800 x86: ia32_signal: cleanup macro COPY Impact: cleanup No need to use temporary variable in this case. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit cbe9ee00cea58d1f77b172fe22a51080e90877f2 Merge: 0bd7b79... 10db4ef... Author: Ingo Molnar Date: Tue Nov 18 15:41:36 2008 +0100 Merge branch 'x86/urgent' into x86/cleanups commit a1afd01c175324656d0e8f1c82ea94b474953c04 Author: Joerg Roedel Date: Tue Nov 18 12:44:21 2008 +0100 x86: default to SWIOTLB=y on x86_64 Impact: fixes korg bugzilla 11980 A kernel for a 64bit x86 system should always contain the swiotlb code in case it is booted on a machine without any hardware IOMMU supported by the kernel and more than 4GB of RAM. This patch changes Kconfig to always compile swiotlb into the kernel for x86_64. Signed-off-by: Joerg Roedel Cc: stable@kernel.org Signed-off-by: Ingo Molnar commit 72f2b894455775b980a5ac7ae70ab560b3d3d247 Author: Mark Brown Date: Tue Nov 18 12:25:46 2008 +0000 ASoC: Move uda134x_codec.h to uda134x.h For consistency with other ASoC codec drivers. Signed-off-by: Mark Brown commit a0bd65f45faae78bda7a2a07370c40c3e0a2502a Author: Mike Frysinger Date: Tue Nov 18 16:18:22 2008 +0800 ASoC: Blackfin: always set a default value for that GPIO range Cc: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 27b9be5a7894f571bbfb87de19ad7cd8c7737d22 Author: Bryan Wu Date: Tue Nov 18 16:18:21 2008 +0800 ASoC: Blackfin: Simplify the MMAP_SUPPORT macros protected code Cc: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit caa45836d6bdfde603f3afd739ec3fc2360b1dac Author: Mike Frysinger Date: Tue Nov 18 16:18:20 2008 +0800 ASoC: Blackfin: do not force TWI bus for ssm2602 codec Cc: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 0cade26e366549adcf211f67200b2934c8220f05 Author: Michael Hennerich Date: Tue Nov 18 16:18:19 2008 +0800 ASoC: Fix Blackfin AC97 DAI probe function return code A probe function should have a clean return 0 path. Cc: Cliff Cai Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit a89e611a1dfefbf5d21f6def54c958bf6c4971bc Author: Cliff Cai Date: Tue Nov 18 16:18:18 2008 +0800 ASoC: Blackfin: Fix AD1980/1 build with MMAP support disabled clean up redudent code and correct building problem in non-mmap mode Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 67f854b910613eeffec4fe71e35c0cd8c32c82ec Author: Cliff Cai Date: Tue Nov 18 16:18:17 2008 +0800 ASoC: Blackfin: add multi-channel function support This patch provides a option for users to enable multi-channel function support in Blackfin ASoC driver. Because Blackfin is without MMU, it is easy for us and the user to enable this function at compiling stage not dynamically on the fly. Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 9905ed35fdec0ebb3be8a724021ff3b104571667 Author: Cliff Cai Date: Tue Nov 18 16:18:16 2008 +0800 ASoC: AD1980 codec: add multi-channel function support We added multi-channel function to this codec driver and Blackfin ASoC driver as well. It was tested on Blackfin hardware. Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit a11311d71d59145d920c19c0a4eed3fa7e26d222 Author: Mike Frysinger Date: Tue Nov 18 16:18:15 2008 +0800 ASoC: Blackfin: updates Kconfig for SPORT tweak SPORT range for non-BF54x so we get proper behavior for BF52x parts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit cb6e2063697e91ca6983f9fe6958d20469b43641 Author: Naresh Medisetty Date: Tue Nov 18 11:01:03 2008 +0530 ASoC: DaVinci: Fix audio stall when doing full duplex Fix concurrent capture/playback issue. The issue is caused by re-initialization of control registers used specifically for capture or playback in both capture and playback operations. Signed-off-by: Steve Chen Signed-off-by: Naresh Medisetty Signed-off-by: Mark Brown commit cd896c331dd442c43cd9e23de3f1a4f3c111c292 Author: Takashi Iwai Date: Tue Nov 18 12:36:33 2008 +0100 ALSA: hda - Allow multiple imux for matrix-type mixers of ALC codecs Allow the multiple imux instances for matrix-type mixers like ALC882. So far, only ALC260 used this feature, but other codecs may need a similar stuff. Signed-off-by: Takashi Iwai commit e17b666a468285409ab9f6caff9df16936d27d71 Author: Patrick McHardy Date: Tue Nov 18 12:24:17 2008 +0100 netfilter: nf_conntrack: fix warning and prototype mismatch net/netfilter/nf_conntrack_core.c:46:1: warning: symbol 'nfnetlink_parse_nat_setup_hook' was not declared. Should it be static? Including the proper header also revealed an incorrect prototype. Signed-off-by: Patrick McHardy commit d9e150071d18b5c87ba7a097af4063a5ad0c6a0c Author: Patrick McHardy Date: Tue Nov 18 12:16:52 2008 +0100 netfilter: nfnetlink_log: fix warning and prototype mismatch net/netfilter/nfnetlink_log.c:537:1: warning: symbol 'nfulnl_log_packet' was not declared. Should it be static? Including the proper header also revealed an incorrect prototype. Signed-off-by: Patrick McHardy commit 19abb7b090a6bce88d4e9b2914a0367f4f684432 Author: Pablo Neira Ayuso Date: Tue Nov 18 11:56:20 2008 +0100 netfilter: ctnetlink: deliver events for conntracks changed from userspace As for now, the creation and update of conntracks via ctnetlink do not propagate an event to userspace. This can result in inconsistent situations if several userspace processes modify the connection tracking table by means of ctnetlink at the same time. Specifically, using the conntrack command line tool and conntrackd at the same time can trigger unconsistencies. This patch also modifies the event cache infrastructure to pass the process PID and the ECHO flag to nfnetlink_send() to report back to userspace if the process that triggered the change needs so. Based on a suggestion from Patrick McHardy. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 226c0c0ef2abdf91b8d9cce1aaf7d4635a5e5926 Author: Pablo Neira Ayuso Date: Tue Nov 18 11:54:05 2008 +0100 netfilter: ctnetlink: helper modules load-on-demand support This patch adds module loading for helpers via ctnetlink. * Creation path: We support explicit and implicit helper assignation. For the explicit case, we try to load the module. If the module is correctly loaded and the helper is present, we return EAGAIN to re-start the creation. Otherwise, we return EOPNOTSUPP. * Update path: release the spin lock, load the module and check. If it is present, then return EAGAIN to re-start the update. This patch provides a refactorized function to lookup-and-set the connection tracking helper. The function removes the exported symbol __nf_ct_helper_find as it has not clients anymore. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 0231022cc32d5f2e7f3c06b75691dda0ad6aec33 Author: Frederic Weisbecker Date: Mon Nov 17 03:22:41 2008 +0100 tracing/function-return-tracer: add the overrun field Impact: help to find the better depth of trace We decided to arbitrary define the depth of function return trace as "20". Perhaps this is not enough. To help finding an optimal depth, we measure now the overrun: the number of functions that have been missed for the current thread. By default this is not displayed, we have to do set a particular flag on the return tracer: echo overrun > /debug/tracing/trace_options And the overrun will be printed on the right. As the trace shows below, the current 20 depth is not enough. update_wall_time+0x37f/0x8c0 -> update_xtime_cache (345 ns) (Overruns: 2838) update_wall_time+0x384/0x8c0 -> clocksource_get_next (1141 ns) (Overruns: 2838) do_timer+0x23/0x100 -> update_wall_time (3882 ns) (Overruns: 2838) tick_do_update_jiffies64+0xbf/0x160 -> do_timer (5339 ns) (Overruns: 2838) tick_sched_timer+0x6a/0xf0 -> tick_do_update_jiffies64 (7209 ns) (Overruns: 2838) vgacon_set_cursor_size+0x98/0x120 -> native_io_delay (2613 ns) (Overruns: 274) vgacon_cursor+0x16e/0x1d0 -> vgacon_set_cursor_size (33151 ns) (Overruns: 274) set_cursor+0x5f/0x80 -> vgacon_cursor (36432 ns) (Overruns: 274) con_flush_chars+0x34/0x40 -> set_cursor (38790 ns) (Overruns: 274) release_console_sem+0x1ec/0x230 -> up (721 ns) (Overruns: 274) release_console_sem+0x225/0x230 -> wake_up_klogd (316 ns) (Overruns: 274) con_flush_chars+0x39/0x40 -> release_console_sem (2996 ns) (Overruns: 274) con_write+0x22/0x30 -> con_flush_chars (46067 ns) (Overruns: 274) n_tty_write+0x1cc/0x360 -> con_write (292670 ns) (Overruns: 274) smp_apic_timer_interrupt+0x2a/0x90 -> native_apic_mem_write (330 ns) (Overruns: 274) irq_enter+0x17/0x70 -> idle_cpu (413 ns) (Overruns: 274) smp_apic_timer_interrupt+0x2f/0x90 -> irq_enter (1525 ns) (Overruns: 274) ktime_get_ts+0x40/0x70 -> getnstimeofday (465 ns) (Overruns: 274) ktime_get_ts+0x60/0x70 -> set_normalized_timespec (436 ns) (Overruns: 274) ktime_get+0x16/0x30 -> ktime_get_ts (2501 ns) (Overruns: 274) hrtimer_interrupt+0x77/0x1a0 -> ktime_get (3439 ns) (Overruns: 274) Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0619faf657806b943e6acf51f60f1cd023a96c78 Author: Frederic Weisbecker Date: Mon Nov 17 19:26:30 2008 +0100 tracing/ftrace: make nop tracer using tracer flags Impact: give an example on how to use specific tracer flags This patch propose to use the nop tracer to provide an example for using the tracer's custom flags implementation. V2: replace structures and defines just after the headers includes for cleanliness. V3: replace defines by enum values. Signed-off-by: Frederic Weisbecker Acked-by: Steven Noonan Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit adf9f19574334c9a29a2bc956009fcac7edf1a6b Author: Frederic Weisbecker Date: Mon Nov 17 19:23:42 2008 +0100 tracing/ftrace: implement a set_flag callback for tracers Impact: give a way to send specific messages to tracers The current implementation of tracing uses some flags to control the output of general tracers. But we have no way to implement custom flags handling for a specific tracer. This patch proposes a new callback for the struct tracer which called set_flag and a structure that represents a 32 bits variable flag. A tracer can implement a struct tracer_flags on which it puts the initial value of the flag integer. Than it can place a range of flags with their name and their flag mask on the flag integer. The structure that implement a single flag is called struct tracer_opt. These custom flags will be available through the trace_options file like the general tracing flags. Changing their value is done like the other general flags. For example if you have a flag that calls "foo", you can activate it by writing "foo" or "nofoo" on trace_options. Note that the set_flag callback is optional and is only needed if you want the flags changing to be signaled to your tracer and let it to accept or refuse their assignment. V2: Some arrangements in coding style.... Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a581780aa17f9027c422cb2d10f0bd88135c36f5 Merge: af9f341... c5d08bb... Author: Takashi Iwai Date: Tue Nov 18 10:57:07 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit af9f341a94482594ac28cb5b07c655b458bfe84e Author: Takashi Iwai Date: Tue Nov 18 10:38:56 2008 +0100 ALSA: hda - Fix restore of pin configs at resume for STAC/IDT codecs Fixed the restore of pin configs at resume for some STAC/IDT codec models. These models set explicitly the pin configs after the default init configs, and these aren't restored properly at resume. This patch introduces two changes: - Allocate always pin_configs array in stac_spec so that the driver can overwrite the value freely - Introduce stac_change_pin_config() to change the pin config value Signed-off-by: Takashi Iwai commit 2c885878c1b29293f04cfb4a5bd285c969148a8b Author: Takashi Iwai Date: Tue Nov 18 09:36:55 2008 +0100 ALSA: hda - Use init callback in stac92xx_resume() Call the init callback and remove duplicated codes in stac92xx_resume(). This also fixes the missing initialization such as digital I/O pins. Signed-off-by: Takashi Iwai commit e4973e1e5a42072ce88736ba0e39e4b8fc6c3c44 Author: Takashi Iwai Date: Tue Nov 18 09:32:42 2008 +0100 ALSA: hda - Create jack detection elements in build_controls The jack detection input elements should be created in build_controls callback instead of init callback because init can be called multiple times by suspend/resume and power-saving. Signed-off-by: Takashi Iwai commit f3a5c547012a09f38f7c27b17a8e3150b69cd259 Merge: e50a906... 4e14e83... Author: James Morris Date: Tue Nov 18 18:52:37 2008 +1100 Merge branch 'master' into next Conflicts: fs/cifs/misc.c Merge to resolve above, per the patch below. Signed-off-by: James Morris diff --cc fs/cifs/misc.c index ec36410,addd1dc..0000000 --- a/fs/cifs/misc.c +++ b/fs/cifs/misc.c @@@ -347,13 -338,13 +338,13 @@@ header_assemble(struct smb_hdr *buffer /* BB Add support for establishing new tCon and SMB Session */ /* with userid/password pairs found on the smb session */ /* for other target tcp/ip addresses BB */ - if (current->fsuid != treeCon->ses->linux_uid) { + if (current_fsuid() != treeCon->ses->linux_uid) { cFYI(1, ("Multiuser mode and UID " "did not match tcon uid")); - read_lock(&GlobalSMBSeslock); - list_for_each(temp_item, &GlobalSMBSessionList) { - ses = list_entry(temp_item, struct cifsSesInfo, cifsSessionList); + read_lock(&cifs_tcp_ses_lock); + list_for_each(temp_item, &treeCon->ses->server->smb_ses_list) { + ses = list_entry(temp_item, struct cifsSesInfo, smb_ses_list); - if (ses->linux_uid == current->fsuid) { + if (ses->linux_uid == current_fsuid()) { if (ses->server == treeCon->ses->server) { cFYI(1, ("found matching uid substitute right smb_uid")); buffer->Uid = ses->Suid; commit 5a209c2d58e70f9bc415b9cdf0e3b9aaefb70371 Merge: 3f8e402... 0c726da... e270219... Author: Ingo Molnar Date: Tue Nov 18 08:52:13 2008 +0100 Merge branches 'tracing/branch-tracer' and 'tracing/urgent' into tracing/core commit 5f1e71b1cc2cc788c0f452772e2ce5e7430c40c2 Author: Wu Fengguang Date: Tue Nov 18 11:47:53 2008 +0800 ALSA: ELD proc interface for HDMI sinks Create /proc/asound/card/eld# to reflect the audio configurations and capabilities of the attached HDMI sink. Some notes: - Shall we show an empty file if the ELD content is not valid? Well it's not that simple. There could be partially populated ELD, and there may be malformed ELD provided by buggy drivers/monitors. So expose ELD as it is. - The ELD retrieval routines rely on the Intel HDA interface, others are/could be universal and independent ones. - How do we name the proc file? If there are going to be two HDMI pins per codec, then the current naming scheme (eld#) will fail. Luckily the user space dependencies should be minimal, so it would be trivial to do the rename if that happens. - The ELD proc file content is designed to be easy for scripts and human reading. Its lines all have the pattern: \t[\t]* where is a keyword in c language, while could be any contents, including white spaces. could also be a null value. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 7f4a9f43427793bfe4d42e71f42e2b551bcfe354 Author: Wu Fengguang Date: Tue Nov 18 11:47:52 2008 +0800 ALSA: create hda_eld.c for ELD routines and proc interface ELD handling routines can be shared by all HDMI codecs, and they are large enough to make a standalone source file. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 33deeca3bb6a945677d70876ea9d044fc5797eb3 Author: Wu Fengguang Date: Tue Nov 18 11:47:51 2008 +0800 ALSA: introduce snd_print_pcm_rates() We want to share some code with print_pcm_rates(), so extract a common routine snd_print_pcm_rates() from it. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 2eca83ba9cc6f811f8c63314b22b4bc0532e2207 Author: Wu Fengguang Date: Tue Nov 18 10:21:55 2008 +0800 ALSA: hda: remove redundant get_amp_nid() Remove get_amp_nid(): it duplicates the one defined in hda_local.h Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit bc4a68fed4b4c01005ef3c71ede6a8cbe91b7dc9 Author: Risto Suominen Date: Tue Nov 18 07:35:14 2008 +0100 ALSA: snd-powermac: enable mic on iMac G4 Allow input from microphone on iMac G4 Flat-panel (Tumbler). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 54ac14a8e982ae6c7ac71ee2b0d0173b974509e2 Author: Yinghai Lu Date: Mon Nov 17 15:19:53 2008 -0800 x86: fix wakeup_cpu with numaq/es7000, v2, fix Impact: fix wakeup_secondary_cpu with hotplug We can not put that into x86_quirks, because that is __initdata. So try to move that to genapic, and add update_genapic in x86_quirks. later we even could use that stub to: 1. autodetect CONFIG_ES7000_CLUSTERED_APIC 2. more correct inquire_remote_apic with apic_verbosity setting. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8d702f2376d25ab277c38b57015f4aa990bc7f16 Author: Mark Brown Date: Mon Nov 17 21:42:01 2008 +0000 ASoC: Build tlv320aic23 cleanly Also merge down a couple of last minute style changes that got lost in the shuffle. Signed-off-by: Mark Brown commit 2adb9833d1782262c20b21457d645163928cf2a2 Author: Mark Brown Date: Mon Nov 17 17:11:14 2008 +0000 ASoC: Manage VMID mode for WM8990 A small additional power saving can be achieved for the WM8990 by maintaining VMID using a 2*250k divider when in standby mode. Signed-off-by: Mark Brown commit be1b87c70af69acfadb8a27a7a76dfb61de92643 Author: Mark Brown Date: Mon Nov 17 17:09:34 2008 +0000 ASoC: Enable WM8990 ADC clocking workaround Enable a hardware workaround which avoids problems with the clocking of the ADCs in certain configurations. Signed-off-by: Mark Brown commit ba533e95b929c577d69237692ee588001347be8a Author: Mark Brown Date: Mon Nov 17 16:59:24 2008 +0000 ASoC: Allow writes to uncached registers in WM8990 Only fully documented registers are cached in the WM8990 but additional registers exist. Signed-off-by: Mark Brown commit 569712b2b0970fa5b19673544d62ae661d04a220 Author: Yinghai Lu Date: Sun Nov 16 03:12:49 2008 -0800 x86: fix wakeup_cpu with numaq/es7000, v2 Impact: fix secondary-CPU wakeup/init path with numaq and es7000 While looking at wakeup_secondary_cpu for WAKE_SECONDARY_VIA_NMI: |#ifdef WAKE_SECONDARY_VIA_NMI |/* | * Poke the other CPU in the eye via NMI to wake it up. Remember that the normal | * INIT, INIT, STARTUP sequence will reset the chip hard for us, and this | * won't ... remember to clear down the APIC, etc later. | */ |static int __devinit |wakeup_secondary_cpu(int logical_apicid, unsigned long start_eip) |{ | unsigned long send_status, accept_status = 0; | int maxlvt; |... | if (APIC_INTEGRATED(apic_version[phys_apicid])) { | maxlvt = lapic_get_maxlvt(); I noticed that there is no warning about undefined phys_apicid... because WAKE_SECONDARY_VIA_NMI and WAKE_SECONDARY_VIA_INIT can not be defined at the same time. So NUMAQ is using wrong wakeup_secondary_cpu. WAKE_SECONDARY_VIA_NMI, WAKE_SECONDARY_VIA_INIT and WAKE_SECONDARY_VIA_MIP are variants of a weird and fragile preprocessor-driven "HAL" mechanisms to specify the kind of secondary-CPU wakeup strategy a given x86 kernel will use. The vast majority of systems want to use INIT for secondary wakeup - NUMAQ uses an NMI, (old-style-) ES7000 uses 'MIP' (a firmware driven in-memory flag to let secondaries continue). So convert these mechanisms to x86_quirks and add a ->wakeup_secondary_cpu() method to specify the rare exception to the sane default. Extend genapic accordingly as well, for 32-bit. While looking further, I noticed that functions in wakecup.h for numaq and es7000 are different to the default in mach_wakecpu.h - but smpboot.c will only use default mach_wakecpu.h with smphook.h. So we need to add mach_wakecpu.h for mach_generic, to properly support numaq and es7000, and vectorize the following SMP init methods: int trampoline_phys_low; int trampoline_phys_high; void (*wait_for_init_deassert)(atomic_t *deassert); void (*smp_callin_clear_local_apic)(void); void (*store_NMI_vector)(unsigned short *high, unsigned short *low); void (*restore_NMI_vector)(unsigned short *high, unsigned short *low); void (*inquire_remote_apic)(int apicid); Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 2b5fe6de58276d0b5a7c884d5dbfc300ca47db78 Author: Oleg Nesterov Date: Mon Nov 17 15:40:08 2008 +0100 thread_group_cputime: move a couple of callsites outside of ->siglock Impact: relax the locking of cpu-time accounting calls ->siglock buys nothing for thread_group_cputime() in do_sys_times() and wait_task_zombie() (which btw takes the unrelated parent's ->siglock). Actually I think do_sys_times() doesn't need ->siglock at all. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit ce394471d13bf071939a9a0b48c64c297676d233 Author: Oleg Nesterov Date: Mon Nov 17 15:40:01 2008 +0100 thread_group_cputime: kill the bogus ->signal != NULL check Impact: simplify the code thread_group_cputime() is called by current when it must have the valid ->signal, or under ->siglock, or under tasklist_lock after the ->signal check, or the caller is wait_task_zombie() which reaps the child. In any case ->signal can't be NULL. But the point of this patch is not optimization. If it is possible to call thread_group_cputime() when ->signal == NULL we are doing something wrong, and we should not mask the problem. thread_group_cputime() fills *times and the caller will use it, if we silently use task_struct->*times* we report the wrong values. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 74fcd524e808975dd546dac847119f1995a7c622 Author: Oleg Nesterov Date: Mon Nov 17 15:39:52 2008 +0100 account_steal_time: kill the unneeded account_group_system_time() Impact: remove unnecessary accounting call I don't actually understand account_steal_time() and I failed to find the commit which added account_group_system_time(), but this looks bogus. In any case rq->idle must be single-threaded, so it can't have ->totals. Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit e17be2b2a95b43fe0d5878adf330701bb7a77115 Author: David Vrabel Date: Mon Nov 17 15:24:14 2008 +0000 uwb: add pal parameter to new reservation callback The pal parameter allows PALs to retrieve their PAL-specific data structure. Signed-off-by: David Vrabel commit 4dc06f9633444f426ef9960c53426f2d2ded64ac Author: Pablo Neira Ayuso Date: Mon Nov 17 16:01:42 2008 +0100 netfilter: nf_conntrack: connection tracking helper name persistent aliases This patch adds the macro MODULE_ALIAS_NFCT_HELPER that defines a way to provide generic and persistent aliases for the connection tracking helpers. This next patch requires this patch. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 528a3a6f67d4fbe708b9f306be194e78b29e8d7a Author: Pablo Neira Ayuso Date: Mon Nov 17 16:00:40 2008 +0100 netfilter: ctnetlink: get rid of module refcounting in ctnetlink This patch replaces the unnecessary module refcounting with the read-side locks. With this patch, all the dump and fill_info function are called under the RCU read lock. Based on a patch from Fabian Hugelshofer. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit bfe2967735e0e0f650bf698a5683db2b6cf4cfd7 Author: Pablo Neira Ayuso Date: Mon Nov 17 15:55:48 2008 +0100 netfilter: ctnetlink: use EOPNOTSUPP instead of EINVAL if the conntrack has no helper This patch changes the return value if the conntrack has no helper assigned. Instead of EINVAL, which is reserved for malformed messages, it returns EOPNOTSUPP. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 238ede8160443a32379fd8f9eb88d00456a09bb4 Author: Pablo Neira Ayuso Date: Mon Nov 17 15:53:33 2008 +0100 netfilter: ctnetlink: use nf_conntrack_get instead of atomic_inc Use nf_conntrack_get instead of the direct call to atomic_inc. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 7ad933d7a6677c20ce1bdb17425e732cf1ebee8a Author: Christian Pellegrin Date: Sat Nov 15 08:58:32 2008 +0100 ASoC: Machine driver for for s3c24xx with uda134x Signed-off-by: Christian Pellegrin Signed-off-by: Mark Brown commit 1cad1de1b216b355a60d907c103b2daf1a285345 Author: Christian Pellegrin Date: Sat Nov 15 08:58:16 2008 +0100 ASoC: UDA134x codec driver Signed-off-by: Christian Pellegrin Signed-off-by: Mark Brown commit 0c726da983de0704254250ef6495ca152e7abcca Author: Aneesh Kumar K.V Date: Sun Nov 16 16:07:58 2008 +0530 tracing: branch tracer, fix writing to trace/trace_options Impact: fix trace_options behavior writing to trace/trace_options use the index of the array to find the value of the flag. With branch tracer flag defined conditionally, this breaks writing to trace_options with branch tracer disabled. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Ingo Molnar commit 6e5d9db271ab57789b09bcc61083ab71b7eabea9 Author: Peter Ujfalusi Date: Fri Nov 14 08:57:28 2008 +0200 ASoC: Fix for master playback/capture volume range for TWL4030 codec FGAIN for playback is in range of 0-0x3f, while for capture GAIN it is in the range of 0-0x1f. The original value of 128 (0x7f) would modify the CGAIN also for playback. Signed-off-by: Peter Ujfalusi Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit 9a57f7fabd383920585ed8b74eacd117c6551f2d Author: Eric Dumazet Date: Mon Nov 17 02:41:00 2008 -0800 net: sctp should update its inuse counter This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for SCTP protocols, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a8076d8db98de6da61394b2e942320e4612643ac Author: Eric Dumazet Date: Mon Nov 17 02:38:49 2008 -0800 net: af_unix should update its inuse counter This patch is a preparation to namespace conversion of /proc/net/protocols In order to have relevant information for UNIX protocol, we should use sock_prot_inuse_add() to update a (percpu and pernamespace) counter of inuse sockets. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0bd7b79851d0f74b24a9ce87d088f2e7c718f668 Author: Alexander van Heukelum Date: Sun Nov 16 15:29:00 2008 +0100 x86: entry_64.S: remove whitespace at end of lines Impact: cleanup All blame goes to: color white,red "[^[:graph:]]+$" in .nanorc ;). Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 9dacc71ff31a008d1e689fc824d31f6696454f68 Merge: 19f47c6... 9bf1a24... Author: Ingo Molnar Date: Mon Nov 17 10:46:18 2008 +0100 Merge commit 'v2.6.28-rc5' into x86/cleanups commit 796359d150356adabb677d708a4e66a09d29d9d8 Author: Wu Fengguang Date: Mon Nov 17 16:57:33 2008 +0800 ALSA: hda-intel: reorder HDMI audio enabling sequence Reorder HDMI audio enabling sequence so that 1) the sink knows about the coming audio stream 2) unmute 3) start transferring audio samples The theory is that in the path A=>B=>C, we first make C ready, and then enable B, and lastly allow A to send audio samples. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c0cea0d09d15350c398e2951e7cf4d6f0fc98977 Author: Matthew Ranostay Date: Sun Nov 16 11:42:34 2008 -0500 ALSA: hda: STAC_DELL_M6 EAPD Add support for EAPD on system suspend and disabling EAPD on headphone jack detection for STAC_DELL_M6 laptops. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 3ab909351a3c653a879a35b3342979ac483c0460 Author: Wu Fengguang Date: Mon Nov 17 09:51:09 2008 +0100 ALSA: hda: alc883 model for ASUS P5Q-EM boards Add a new alc883 model ALC1200_ASUS_P5Q for ASUS P5Q-EM boards. It is the same as ALC883_6ST_DIG except that the SPDIF digital output nid is 0x10. Tested-by: Andrei Tanas Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 3f8e402f34ecc7d1d00b54703d3baa401b8bdd78 Merge: 072b40a... e7d3737... 227a837... 5821e1b... Author: Ingo Molnar Date: Mon Nov 17 09:36:22 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/ftrace', 'tracing/function-return-tracer', 'tracing/tracepoints' and 'tracing/urgent' into tracing/core commit 248969ae31e1b3276fc4399d67ce29a5d81e6fd9 Author: Eric Dumazet Date: Mon Nov 17 00:00:30 2008 -0800 net: af_unix can make unix_nr_socks visbile in /proc Currently, /proc/net/protocols displays socket counts only for TCP/TCPv6 protocols We can provide unix_nr_socks for free here, this counter being already maintained in af_unix Before patch : # grep UNIX /proc/net/protocols UNIX 428 -1 -1 NI 0 yes kernel After patch : # grep UNIX /proc/net/protocols UNIX 428 98 -1 NI 0 yes kernel Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c3ccc12339afa2633c72131e2aa97d52d9ca1b8a Author: Wang Chen Date: Sun Nov 16 23:06:39 2008 -0800 netdevice chelsio: Convert directly reference of netdev->priv Several netdev share one adapter here. We use netdev->ml_priv of the netdevs point to the first netdev's priv. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 4d24b52ac5085ef8a264d044f1b302b7c029887a Author: Alexey Dobriyan Date: Sun Nov 16 23:01:49 2008 -0800 ematch: simpler tcf_em_unregister() Simply delete ops from list and let list debugging do the job. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6eba6a372b501aa3cdfb7df21a8364099125b9c4 Author: Eric Dumazet Date: Sun Nov 16 22:58:44 2008 -0800 net: Cleanup of af_unix This is a pure cleanup of net/unix/af_unix.c to meet current code style standards Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 191029963630719e867d8bd0c315d32c822622cb Author: Gerrit Renker Date: Sun Nov 16 22:56:55 2008 -0800 dccp: Tidy up setsockopt calls This splits the setsockopt calls into two groups, depending on whether an integer argument (val) is required and whether routines being called do their own locking. Some options (such as setting the CCID) use u8 rather than int, so that for these the test with regard to integer-sizeof can not be used. The second switch-case statement now only has those statements which need locking and which make use of `val'. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Reviewed-by: Eugene Teo Signed-off-by: David S. Miller commit dd9c0e363cef32b7d6f23d4c87e8dfe4f91fd1c5 Author: Gerrit Renker Date: Sun Nov 16 22:55:08 2008 -0800 dccp: Deprecate Ack Ratio sysctl This patch deprecates the Ack Ratio sysctl, since * Ack Ratio is entirely ignored by CCID-3 and CCID-4, * Ack Ratio currently doesn't work in CCID-2 (i.e. is always set to 1); * even if it would work in CCID-2, there is no point for a user to change it: - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2), - if Ack Ratio > cwnd, the system resorts to spurious RTO timeouts (since waiting for Acks which will never arrive in this window), - cwnd is not a user-configurable value. The only reasonable place for Ack Ratio is to print it for debugging. It is planned to do this later on, as part of e.g. dccp_probe. With this patch Ack Ratio is now under full control of feature negotiation: * Ack Ratio is resolved as a dependency of the selected CCID; * if the chosen CCID supports it (i.e. CCID == CCID-2), Ack Ratio is set to the default of 2, following RFC 4340, 11.3 - "New connections start with Ack Ratio 2 for both endpoints"; * what happens then is part of another patch set, since it concerns the dynamic update of Ack Ratio while the connection is in full flight. Thanks to Tomasz Grobelny for discussion leading up to this patch. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 29450559849da7066813601effb7666966869853 Author: Gerrit Renker Date: Sun Nov 16 22:53:48 2008 -0800 dccp: Feature negotiation for minimum-checksum-coverage This provides feature negotiation for server minimum checksum coverage which so far has been missing. Since sender/receiver coverage values range only from 0...15, their type has also been reduced in size from u16 to u4. Feature-negotiation options are now generated for both sender and receiver coverage, i.e. when the peer has `forgotten' to enable partial coverage then feature negotiation will automatically enable (negotiate) the partial coverage value for this connection. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 49aebc66d6b896f9c7c5739d85c4548c00015aa7 Author: Gerrit Renker Date: Sun Nov 16 22:51:23 2008 -0800 dccp: Deprecate old setsockopt framework The previous setsockopt interface, which passed socket options via struct dccp_so_feat, is complicated/difficult to use. Continuing to support it leads to ugly code since the old approach did not distinguish between NN and SP values. This patch removes the old setsockopt interface and replaces it with two new functions to register NN/SP values for feature negotiation. These are essentially wrappers around the internal __feat_register functions, with checking added to avoid * wrong usage (type); * changing values while the connection is in progress. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 0c1168398ecbfacbb27203b281bde20ec9f78017 Author: Gerrit Renker Date: Sun Nov 16 22:49:52 2008 -0800 dccp: Mechanism to resolve CCID dependencies This adds a hook to resolve features whose value depends on the choice of CCID. It is done at the server since it can only be done after the CCID values have been negotiated; i.e. the client will add its CCID preference list on the Change options sent in the Request, which will be reconciled with the local preference list of the server. The concept is documented on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\ implementation_notes.html#ccid_dependencies Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 3f2c31d90327f21d76d296af34aa4ca547932ff4 Author: Mark McLoughlin Date: Sun Nov 16 22:41:34 2008 -0800 virtio_net: VIRTIO_NET_F_MSG_RXBUF (imprive rcv buffer allocation) If segmentation offload is enabled by the host, we currently allocate maximum sized packet buffers and pass them to the host. This uses up 20 ring entries, allowing us to supply only 20 packet buffers to the host with a 256 entry ring. This is a huge overhead when receiving small packets, and is most keenly felt when receiving MTU sized packets from off-host. The VIRTIO_NET_F_MRG_RXBUF feature flag is set by hosts which support using receive buffers which are smaller than the maximum packet size. In order to transfer large packets to the guest, the host merges together multiple receive buffers to form a larger logical buffer. The number of merged buffers is returned to the guest via a field in the virtio_net_hdr. Make use of this support by supplying single page receive buffers to the host. On receive, we extract the virtio_net_hdr, copy 128 bytes of the payload to the skb's linear data buffer and adjust the fragment offset to point to the remaining data. This ensures proper alignment and allows us to not use any paged data for small packets. If the payload occupies multiple pages, we simply append those pages as fragments and free the associated skbs. This scheme allows us to be efficient in our use of ring entries while still supporting large packets. Benchmarking using netperf from an external machine to a guest over a 10Gb/s network shows a 100% improvement from ~1Gb/s to ~2Gb/s. With a local host->guest benchmark with GSO disabled on the host side, throughput was seen to increase from 700Mb/s to 1.7Gb/s. Based on a patch from Herbert Xu. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell (use netdev_priv) Signed-off-by: David S. Miller commit 0276b4972e932ea8bf2941dcd37e9caac5652ed7 Author: Mark McLoughlin Date: Sun Nov 16 22:40:36 2008 -0800 virtio_net: hook up the set-tso ethtool op Seems like an oversight that we have set-tx-csum and set-sg hooked up, but not set-tso. Also leads to the strange situation that if you e.g. disable tx-csum, then tso doesn't get disabled. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 0a888fd1f6320d1d9318c58de9bca3cef41546d6 Author: Mark McLoughlin Date: Sun Nov 16 22:39:18 2008 -0800 virtio_net: Recycle some more rx buffer pages Each time we re-fill the recv queue with buffers, we allocate one too many skbs and free it again when adding fails. We should recycle the pages allocated in this case. A previous version of this patch made trim_pages() trim trailing unused pages from skbs with some paged data, but this actually caused a barely measurable slowdown. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell (use netdev_priv) Signed-off-by: David S. Miller commit cc09c0dc57de7f7d2ed89d480b5653e5f6a32f2c Author: Dave Chinner Date: Mon Nov 17 17:37:10 2008 +1100 [XFS] Fix double free of log tickets When an I/O error occurs during an intermediate commit on a rolling transaction, xfs_trans_commit() will free the transaction structure and the related ticket. However, the duplicate transaction that gets used as the transaction continues still contains a pointer to the ticket. Hence when the duplicate transaction is cancelled and freed, we free the ticket a second time. Add reference counting to the ticket so that we hold an extra reference to the ticket over the transaction commit. We drop the extra reference once we have checked that the transaction commit did not return an error, thus avoiding a double free on commit error. Credit to Nick Piggin for tripping over the problem. SGI-PV: 989741 Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 908cd2dabbfbbefb02f6b908a1188a62e685136a Author: Alexey Dobriyan Date: Sun Nov 16 19:50:35 2008 -0800 net: use %pF for /proc/net/ptype Technically, patch changes format for modules, but I think nobody cares. -86dd :ipv6:ipv6_rcv+0x0 +86dd ipv6_rcv+0x0/0x400 [ipv6] Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 5635c10d976716ef47ae441998aeae144c7e7387 Author: Eric Dumazet Date: Sun Nov 16 19:46:36 2008 -0800 net: make sure struct dst_entry refcount is aligned on 64 bytes As found in the past (commit f1dd9c379cac7d5a76259e7dffcd5f8edc697d17 [NET]: Fix tbench regression in 2.6.25-rc1), it is really important that struct dst_entry refcount is aligned on a cache line. We cannot use __atribute((aligned)), so manually pad the structure for 32 and 64 bit arches. for 32bit : offsetof(truct dst_entry, __refcnt) is 0x80 for 64bit : offsetof(truct dst_entry, __refcnt) is 0xc0 As it is not possible to guess at compile time cache line size, we use a generic value of 64 bytes, that satisfies many current arches. (Using 128 bytes alignment on 64bit arches would waste 64 bytes) Add a BUILD_BUG_ON to catch future updates to "struct dst_entry" dont break this alignment. "tbench 8" is 4.4 % faster on a dual quad core (HP BL460c G1), Intel E5450 @3.00GHz (2350 MB/s instead of 2250 MB/s) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 536533e69e3e4a9f0174509813f8df28970d6ebe Author: Eric Dumazet Date: Sun Nov 16 19:41:14 2008 -0800 rcu: documents rculist_nulls Adds Documentation/RCU/rculist_nulls.txt file to describe how 'nulls' end-of-list can help in some RCU algos. Signed-off-by: Eric Dumazet Acked-by: Peter Zijlstra Signed-off-by: David S. Miller commit 3ab5aee7fe840b5b1b35a8d1ac11c3de5281e611 Author: Eric Dumazet Date: Sun Nov 16 19:40:17 2008 -0800 net: Convert TCP & DCCP hash tables to use RCU / hlist_nulls RCU was added to UDP lookups, using a fast infrastructure : - sockets kmem_cache use SLAB_DESTROY_BY_RCU and dont pay the price of call_rcu() at freeing time. - hlist_nulls permits to use few memory barriers. This patch uses same infrastructure for TCP/DCCP established and timewait sockets. Thanks to SLAB_DESTROY_BY_RCU, no slowdown for applications using short lived TCP connections. A followup patch, converting rwlocks to spinlocks will even speedup this case. __inet_lookup_established() is pretty fast now we dont have to dirty a contended cache line (read_lock/read_unlock) Only established and timewait hashtable are converted to RCU (bind table and listen table are still using traditional locking) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 88ab1932eac721c6e7336708558fa5ed02c85c80 Author: Eric Dumazet Date: Sun Nov 16 19:39:21 2008 -0800 udp: Use hlist_nulls in UDP RCU code This is a straightforward patch, using hlist_nulls infrastructure. RCUification already done on UDP two weeks ago. Using hlist_nulls permits us to avoid some memory barriers, both at lookup time and delete time. Patch is large because it adds new macros to include/net/sock.h. These macros will be used by TCP & DCCP in next patch. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bbaffaca4810de1a25e32ecaf836eeaacc7a3d11 Author: Eric Dumazet Date: Sun Nov 16 19:37:55 2008 -0800 rcu: Introduce hlist_nulls variant of hlist hlist uses NULL value to finish a chain. hlist_nulls variant use the low order bit set to 1 to signal an end-of-list marker. This allows to store many different end markers, so that some RCU lockless algos (used in TCP/UDP stack for example) can save some memory barriers in fast paths. Two new files are added : include/linux/list_nulls.h - mimics hlist part of include/linux/list.h, derived to hlist_nulls variant include/linux/rculist_nulls.h - mimics hlist part of include/linux/rculist.h, derived to hlist_nulls variant Only four helpers are declared for the moment : hlist_nulls_del_init_rcu(), hlist_nulls_del_rcu(), hlist_nulls_add_head_rcu() and hlist_nulls_for_each_entry_rcu() prefetches() were removed, since an end of list is not anymore NULL value. prefetches() could trigger useless (and possibly dangerous) memory transactions. Example of use (extracted from __udp4_lib_lookup()) struct sock *sk, *result; struct hlist_nulls_node *node; unsigned short hnum = ntohs(dport); unsigned int hash = udp_hashfn(net, hnum); struct udp_hslot *hslot = &udptable->hash[hash]; int score, badness; rcu_read_lock(); begin: result = NULL; badness = -1; sk_nulls_for_each_rcu(sk, node, &hslot->head) { score = compute_score(sk, net, saddr, hnum, sport, daddr, dport, dif); if (score > badness) { result = sk; badness = score; } } /* * if the nulls value we got at the end of this lookup is * not the expected one, we must restart lookup. * We probably met an item that was moved to another chain. */ if (get_nulls_value(node) != hash) goto begin; if (result) { if (unlikely(!atomic_inc_not_zero(&result->sk_refcnt))) result = NULL; else if (unlikely(compute_score(result, net, saddr, hnum, sport, daddr, dport, dif) < badness)) { sock_put(result); goto begin; } } rcu_read_unlock(); return result; Signed-off-by: Eric Dumazet Acked-by: Peter Zijlstra Signed-off-by: David S. Miller commit e8b2dfe9b4501ed0047459b2756ba26e5a940a69 Author: Balazs Scheidler Date: Sun Nov 16 19:32:39 2008 -0800 TPROXY: implemented IP_RECVORIGDSTADDR socket option In case UDP traffic is redirected to a local UDP socket, the originally addressed destination address/port cannot be recovered with the in-kernel tproxy. This patch adds an IP_RECVORIGDSTADDR sockopt that enables a IP_ORIGDSTADDR ancillary message in recvmsg(). This ancillary message contains the original destination address/port of the packet being received. Signed-off-by: Balazs Scheidler Signed-off-by: David S. Miller commit 8164f1b79731ad8ad9c713dc53d587a3b746f82f Author: Ben Greear Date: Sun Nov 16 19:19:38 2008 -0800 ipv4: Fix ARP behavior with many mac-vlans Ben Greear wrote: > I have 500 mac-vlans on a system talking to 500 other > mac-vlans. My problem is that the arp-table gets extremely > huge because every time an arp-request comes in on all mac-vlans, > a stale arp entry is added for each mac-vlan. I have filtering > turned on, but that doesn't help because the neigh_event_ns call > below will cause a stale neighbor entry to be created regardless > of whether a replay will be sent or not. > Maybe the neigh_event code should be below the checks for dont_send, > and only create check neigh_event_ns if we are !dont_send? The attached patch makes it work much better for me. The patch will cause the code to NOT create a stale neighbor entry if we are not going to respond to the ARP request. The old code *would* create a stale entry even if we are not going to respond. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit 6ea7ae1d0fc02a6c4ccd27e43346f67c44226e7a Author: Alexander Duyck Date: Fri Nov 14 06:54:36 2008 +0000 e1000e: enable ECC correction on 82571 silicon This change enables ECC correction for the packet buffer on all 82571 silicon. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f004f3ea34209d8b836426b26ade3dc502631b18 Author: Paulius Zaleckas Date: Fri Nov 14 00:24:34 2008 +0000 phylib: make mdio-gpio work without OF (v4) make mdio-gpio work with non OpenFirmware gpio implementation. Aditional changes to mdio-gpio: - use gpio_request() and gpio_free() - place irq[] array in struct mdio_gpio_info - add module description, author and license - add note about compiling this driver as module - rename mdc and mdio function (were ugly names) - change MII to MDIO in bus name - add __init __exit to module (un)loading functions - probe fails if no phys added to the bus - kzalloc bitbang with sizeof(*bitbang) Changes since v3: - keep bus naming "%x" to be compatible with existing drivers. Changes since v2: - more #ifdefs reduction - platform driver will be registered on OF platforms also - unified platform and OF bus_id to phy%i Changes since v1: - removed NO_IRQ - reduced #idefs Laurent, please test this driver under OF. Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 72af187f216ed83c77ca3e6f22dfc9caf72e9347 Author: Paulius Zaleckas Date: Fri Nov 14 00:24:28 2008 +0000 phylib: rename mdio-ofgpio to mdio-gpio Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 6817ba2cd22cfed2e93d062dca3d7a82465d693d Author: David S. Miller Date: Sun Nov 16 12:41:35 2008 -0800 dm9000: Fix build error. Reported by Stephen Rothwell: drivers/net/dm9000.c:1450: error: expected ')' before ';' token drivers/net/dm9000.c:1455: error: expected ';' before '}' token Signed-off-by: David S. Miller commit 227a837567e339c74d9d4243d03a29bd943a018c Author: Ingo Molnar Date: Sun Nov 16 09:50:34 2008 +0100 markers/tracpoints: fix non-modular build fix: kernel/marker.c: In function 'marker_module_notify': kernel/marker.c:905: error: 'MODULE_STATE_COMING' undeclared (first use in this function) [...] Signed-off-by: Ingo Molnar commit cda2836dc66f814aecc58370251566e1c225c8d3 Author: David Brownell Date: Sun Nov 16 00:36:08 2008 -0800 pegasus: minor resource shrinkage Make pegasus driver not allocate a workqueue until the driver is bound to some device, which will need that workqueue if the device is brought up. This conserves resources when the driver is linked but there's no pegasus device connected. Also shrink the runtime footprint a smidgeon by moving some init-only code into its proper section, and move an obnoxious (frequent and meaningless) message to be debug-only. Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 74ad0a5421edc6ef13a4059c6076cd7a4f3a1fd5 Author: PJ Waskiewicz Date: Fri Nov 7 12:16:08 2008 +0000 ixgbe: Fix usage of netif_*_all_queues() with netif_carrier_{off|on}() netif_carrier_off() is sufficient to stop Tx into the driver. Stopping the Tx queues is redundant and unnecessary. By the same token, netif_carrier_on() will be sufficient to re-enable Tx, so waking the queues is unnecessary. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0a7ad64531713e33e39af95bdbfb172f4f328b1e Author: Ingo Molnar Date: Sun Nov 16 08:54:36 2008 +0100 tracepoints: format documentation Impact: documentation update Properly format Documentation/tracepoints.txt - it was full of overlong lines and other typographical problems. Signed-off-by: Ingo Molnar commit 0dcf8fe5fe5d7279f1c479fa82f1f1ca6f22e814 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:49 2008 -0500 tracepoints, docs: marker_synchronize_unregister->tracepoint_synchronize_unregister Impact: documentation update. Signed-off-by: Zhaolei Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 8fd88d159031bd238dad1d7186a2030b9f9349de Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:48 2008 -0500 tracepoints: documentation fix for teardown Impact: documentation update Need a tracepoint_synchronize_unregister() before the end of exit() to make sure every probe callers have exited the non preemptible section and thus are not executing the probe code anymore. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 7e066fb870fcd1025ec3ba7bbde5d541094f4ce1 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:47 2008 -0500 tracepoints: add DECLARE_TRACE() and DEFINE_TRACE() Impact: API *CHANGE*. Must update all tracepoint users. Add DEFINE_TRACE() to tracepoints to let them declare the tracepoint structure in a single spot for all the kernel. It helps reducing memory consumption, especially when declaring a lot of tracepoints, e.g. for kmalloc tracing. *API CHANGE WARNING*: now, DECLARE_TRACE() must be used in headers for tracepoint declarations rather than DEFINE_TRACE(). This is the sane way to do it. The name previously used was misleading. Updates scheduler instrumentation to follow this API change. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 32f85742778dfc2c74975cf0b9f5bdb13470cb32 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:46 2008 -0500 tracepoints: use modules notifiers Impact: cleanup Use module notifiers for tracepoint updates rather than adding a hook in module.c. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 5f382671def7cb9c0f4b75d586dc5f60dca5e1c3 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:45 2008 -0500 tracepoints: do not put arguments in name Impact: cleanup That's overkill, takes space. We have a global tracepoint registery in header files anyway. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit c420970ef476d7d68df119711700666224001f43 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:44 2008 -0500 tracepoints: use unregister return value Impact: bugfix. Unregistering a tracepoint can fail. Return the error value. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit da7b3eab167091693ad215ad7692f7d0d24d1356 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:43 2008 -0500 tracepoints: use rcu_*_sched_notrace Make sure tracepoints can be called within ftrace callbacks. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit de0baf9ad661ac630a45a50ea1717cc4f4b33ace Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:42 2008 -0500 tracepoints: fix disable Impact: fix race Set the probe array pointer to NULL when the tracepoint is disabled. The probe array point not being NULL could generate a race condition where the reader would dereference a freed pointer. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 2504ea5edfebb14133b8571c20785cdc077e07d2 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:41 2008 -0500 tracepoints: samples, fix teardown Impact: fix a bug in sample tracepoints Need a tracepoint_synchronize_unregister() before the end of exit() to make sure every probe callers have exited the non preemptible section and thus are not executing the probe code anymore. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit a0bca6a59ebc052751eed6e3b182c153495672d8 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:40 2008 -0500 markers: create DEFINE_MARKER and GET_MARKER (new API) Impact: new API. Allow markers to be used only for declaration, without function call associated. Useful to create specialized probes. The problem we had is that two function calls were required when one wanted to put a marker in a tracepoint probe. Now the marker can be used simply for trace data type declaration, leaving the trace write work within the tracepoint probe without any additional function call. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit c1df1bd2c4d4b20c83755a0f41956b57aec4842a Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:39 2008 -0500 markers: auto enable tracepoints (new API : trace_mark_tp()) Impact: new API Add a new API trace_mark_tp(), which declares a marker within a tracepoint probe. When the marker is activated, the tracepoint is automatically enabled. No branch test is used at the marker site, because it would be a duplicate of the branch already present in the tracepoint. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit a419246ac7c2d9282dfd843103702895bb3f3fd7 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:38 2008 -0500 markers: use module notifier Impact: cleanup Use module notifiers instead of adding a hook in module.c. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 021aeb057fc48af03fe5f37d3dda366c0d97aaf3 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:37 2008 -0500 markers: use rcu_*_sched_notrace and notrace Make marker critical code use notrace to make sure they can be used as an ftrace callback. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit e3f8c4b9117d70127a8cab480af83bbfd048a28b Author: Arnaldo Carvalho de Melo Date: Fri Nov 14 17:47:36 2008 -0500 markers: add missing stdargs.h include, needed due to va_list usage Impact: build fix (for future changes) That seemed to cause built issue when marker.h is included early, even though stdargs.h is included in kernel.h. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 2bdba316c989da028a59becf7516c6350ce3c173 Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:35 2008 -0500 markers: fix unregister Impact: fix marker registers/unregister race get_marker() can return a NULL entry because the mutex is released in the middle of those functions. Make sure we check to see if it has been concurrently removed. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 954e100d2275cb2f150f2b18d5cddcdf67b956ac Author: Mathieu Desnoyers Date: Fri Nov 14 17:47:34 2008 -0500 rcu: add rcu_read_*_sched_notrace() Impact: new API, useful for tracepoints and markers. Add _notrace version to rcu_read_*_sched(). Signed-off-by: Mathieu Desnoyers Reviewed-by: Paul E McKenney Signed-off-by: Ingo Molnar commit e7d3737ea1b102030f44e96c97754101e41515f0 Author: Frederic Weisbecker Date: Sun Nov 16 06:02:06 2008 +0100 tracing/function-return-tracer: support for dynamic ftrace on function return tracer This patch adds the support for dynamic tracing on the function return tracer. The whole difference with normal dynamic function tracing is that we don't need to hook on a particular callback. The only pro that we want is to nop or set dynamically the calls to ftrace_caller (which is ftrace_return_caller here). Some security checks ensure that we are not trying to launch dynamic tracing for return tracing while normal function tracing is already running. An example of trace with getnstimeofday set as a filter: ktime_get_ts+0x22/0x50 -> getnstimeofday (2283 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1396 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1825 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1426 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1464 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1524 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1382 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1434 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1464 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1502 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1404 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1397 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1051 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1314 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1344 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1163 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1390 ns) ktime_get_ts+0x22/0x50 -> getnstimeofday (1374 ns) Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit b01c746617da5e260803eb10ed64ca043e9a1241 Author: Frederic Weisbecker Date: Sat Nov 15 02:37:44 2008 +0100 tracing/function-return-tracer: add a barrier to ensure return stack index is incremented in memory Impact: fix possible race condition in ftrace function return tracer This fixes a possible race condition if index incrementation is not immediately flushed in memory. Thanks for Andi Kleen and Steven Rostedt for pointing out this issue and give me this solution. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 985809608f758a8d3ddda4ce5a53ed0e57fb9e1b Merge: c91add5... 1c80025... Author: Ingo Molnar Date: Sun Nov 16 07:57:13 2008 +0100 Merge branch 'tracing/ftrace' into tracing/function-return-tracer commit 072b40a15616fe6bea68466e6bffcfcbf5c8f26f Author: Frederic Weisbecker Date: Sun Nov 16 05:59:52 2008 +0100 tracing/branch-tracer: fix a trace recursion on branch tracer Impact: fix crash when enabling the branch-tracer When the branch tracer inserts an event through probe_likely_condition(), it calls local_irq_save() and then results in a trace recursion. local_irq_save() -> trace_hardirqs_off() -> trace_hardirqs_off_caller() -> unlikely() The trace_branch.c file is protected by DISABLE_BRANCH_PROFILING but that doesn't prevent from external call to functions that use unlikely(). My box crashed each time I tried to set this tracer (sudden and hard reboot). Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 1c80025a49855b12fa09bb6db71820e3367b1369 Author: Frederic Weisbecker Date: Sun Nov 16 05:57:26 2008 +0100 tracing/ftrace: change the type of the init() callback Impact: extend the ->init() method with the ability to fail This bring a way to know if the initialization of a tracer successed. A tracer must return 0 on success and a traditional error (ie: -ENOMEM) if it fails. If a tracer fails to init, it is free to print a detailed warn. The tracing api will not and switch to a new tracer will just return the error from the init callback. Note: this will be used for the return tracer. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit e6e7a65aabdb696cf05a56cfd495c49a11fd4cde Author: Frederic Weisbecker Date: Sun Nov 16 05:53:19 2008 +0100 tracing/ftrace: fix unexpected -EINVAL when longest tracer name is set Impact: fix confusing write() -EINVAL when changing the tracer The following commit d9e540762f5cdd89f24e518ad1fd31142d0b9726 remade alive the bug which made the set of a new tracer returning -EINVAL if this is the longest name of tracer. This patch corrects it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit ee02a2e5c88ca2e4d6921f08d037b46d5bf82641 Author: Steven Rostedt Date: Sat Nov 15 16:31:41 2008 -0500 ftrace: make filtered functions effective on setting Impact: set filtered functions at time the filter is set It can be confusing when the set_filter_functions is set (or cleared) and the functions being recorded by the dynamic tracer does not match. This patch causes the code to be updated if the function tracer is enabled and the filter is changed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 982c350b9ec4b3564d67f3627a274ae61bbc7e95 Author: Steven Rostedt Date: Sat Nov 15 16:31:41 2008 -0500 ftrace: fix dyn ftrace filter Impact: correct implementation of dyn ftrace filter The old decisions made by the filter algorithm was complex and incorrect. This lead to inconsistent enabling or disabling of functions when the filter was used. This patch simplifies that code and in doing so, corrects the usage of the filters. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 20e5227e9f55ae1969934821ccbf581563785bbe Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: allow NULL pointers in mcount_loc Impact: make ftrace_convert_nops() more permissive Due to the way different architecture linkers combine the data sections of the mcount_loc (the section that lists all the locations that call mcount), there may be zeros added in that section. This is usually due to strange alignments that the linker performs, that pads in zeros. This patch makes the conversion code to nops skip any pointer in the mcount_loc section that is NULL. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 31e889098a80ceb3e9e3c555d522b2686a6663c6 Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: pass module struct to arch dynamic ftrace functions Impact: allow archs more flexibility on dynamic ftrace implementations Dynamic ftrace has largly been developed on x86. Since x86 does not have the same limitations as other architectures, the ftrace interaction between the generic code and the architecture specific code was not flexible enough to handle some of the issues that other architectures have. Most notably, module trampolines. Due to the limited branch distance that archs make in calling kernel core code from modules, the module load code must create a trampoline to jump to what will make the larger jump into core kernel code. The problem arises when this happens to a call to mcount. Ftrace checks all code before modifying it and makes sure the current code is what it expects. Right now, there is not enough information to handle modifying module trampolines. This patch changes the API between generic dynamic ftrace code and the arch dependent code. There is now two functions for modifying code: ftrace_make_nop(mod, rec, addr) - convert the code at rec->ip into a nop, where the original text is calling addr. (mod is the module struct if called by module init) ftrace_make_caller(rec, addr) - convert the code rec->ip that should be a nop into a caller to addr. The record "rec" now has a new field called "arch" where the architecture can add any special attributes to each call site record. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d51ad7ac48f991c4a8834485727efa99a691cb87 Author: Steven Rostedt Date: Sat Nov 15 15:48:29 2008 -0500 ftrace: replace raw_local_irq_save with local_irq_save Impact: fix lockdep disabling itself when function tracing is enabled The raw_local_irq_saves used in ftrace is causing problems with lockdep. (it thinks the irq flags are out of sync and disables itself with a warning) The raw ops here are not needed, and the normal local_irq_save is fine. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 918c115410c6cc57033835b6a401e57697f9ea4f Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: do not process freed records Impact: keep from converting freed records When the tracer is started or stopped, it converts all code pointed to by the saved records into callers to ftrace or nops. When modules are unloaded, their records are freed, but they still exist within the record pages. This patch changes the code to skip over freed records. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit b17e8a37a13d0e87165054714434534bb7e69f2d Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: disable ftrace on anomalies in trace start and stop Impact: robust feature to disable ftrace on start or stop tracing on error Currently only the initial conversion to nops will disable ftrace on an anomaly. But if an anomaly happens on start or stopping of the tracer, it will silently fail. This patch adds a check there too, to disable ftrace and warn if the conversion fails. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f3c7ac40a99f4044b843e6e2c4f46ab2d354c563 Author: Steven Rostedt Date: Fri Nov 14 16:21:19 2008 -0800 ftrace: remove condition from ftrace_record_ip Impact: let module functions be recorded when dyn ftrace not enabled When dynamic ftrace had a daemon and a hash to record the locations of mcount callers at run time, the recording needed to stop when ftrace was disabled. But now that the recording is done at compile time and the ftrace_record_ip is only called at boot up and when a module is loaded, we no longer need to check if ftrace_enabled is set. In fact, this breaks module load if it is not set because we skip over module functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c91add5fa68ea9b1f2923b3788c5dae0e60e1f6b Merge: d1aaf8c... b3535c6... ee51a1d... Author: Ingo Molnar Date: Sun Nov 16 07:28:46 2008 +0100 Merge branches 'tracing/fastboot', 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit e2da9ba570418fb4061f0a5cfe4338be6470c02b Merge: 127e82e... c39555d... Author: Takashi Iwai Date: Sat Nov 15 19:05:21 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit e50a906e0200084f04f8f3b7c3a14b0442d1347f Author: Eric Paris Date: Thu Nov 13 18:37:25 2008 -0500 capabilities: define get_vfs_caps_from_disk when file caps are not enabled When CONFIG_SECURITY_FILE_CAPABILITIES is not set the audit system may try to call into the capabilities function vfs_cap_from_file. This patch defines that function so kernels can build and work. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 71cfc9028d762419ce4dea62b4afc9c32c4b4820 Author: Mark Brown Date: Thu Nov 13 14:33:14 2008 +0000 ASoC: Add WM8728 codec driver The WM8728 is a high performance stereo DAC designed for applications such as DVD, home theatre and digital TV. Signed-off-by: Mark Brown commit 2bef901071448e0c86af8edb4797cd5f81b6240d Author: Mark Brown Date: Fri Nov 14 14:40:46 2008 +0000 ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue" This reverts commit 8dc840f88d9c9f75f46d5dbe489242f8a114fab6. Christian Pellegrin reported that on some systems the patch caused DMA to fail which is much more serious than the original skipped audio issue. Further investigation by Dave shows that the behaviour depends on the clock speed of the SoC - a better fix is neeeded. Signed-off-by: Mark Brown commit 127e82e3bfaad29e78ff5d4b1c41ab5e2d69c17f Author: Takashi Iwai Date: Fri Nov 14 14:03:33 2008 +0100 ALSA: hda - Support Headphone and Speaker volumes control on VAIO Split the bound Master control to individual Headphone and Speaker volume controls for VAIO with STAC982x codecs. The Master controls is still created as a vmaster. Signed-off-by: Takashi Iwai commit 8a75f4fb28766878893b4335f4b5743ce9b931fe Author: Takashi Iwai Date: Fri Nov 14 13:58:43 2008 +0100 ALSA: pcsp - Use HRTIMER_CB_IRQSAFE_UNLOCKED HRTIMER_CB_IRQSAFE was removed in the upstream. Try to use HRTIMER_CB_IRQSAFE_UNLOCKED instead. Signed-off-by: Takashi Iwai commit ef711cf1d156428d4c2911b8c86c6ce90519dc45 Author: Eric Dumazet Date: Fri Nov 14 00:53:54 2008 -0800 net: speedup dst_release() During tbench/oprofile sessions, I found that dst_release() was in third position. CPU: Core 2, speed 2999.68 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 samples % symbol name 483726 9.0185 __copy_user_zeroing_intel 191466 3.5697 __copy_user_intel 185475 3.4580 dst_release 175114 3.2648 ip_queue_xmit 153447 2.8608 tcp_sendmsg 108775 2.0280 tcp_recvmsg 102659 1.9140 sysenter_past_esp 101450 1.8914 tcp_current_mss 95067 1.7724 __copy_from_user_ll 86531 1.6133 tcp_transmit_skb Of course, all CPUS fight on the dst_entry associated with 127.0.0.1 Instead of first checking the refcount value, then decrement it, we use atomic_dec_return() to help CPU to make the right memory transaction (ie getting the cache line in exclusive mode) dst_release() is now at the fifth position, and tbench a litle bit faster ;) CPU: Core 2, speed 3000.1 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 samples % symbol name 647107 8.8072 __copy_user_zeroing_intel 258840 3.5229 ip_queue_xmit 258302 3.5155 __copy_user_intel 209629 2.8531 tcp_sendmsg 165632 2.2543 dst_release 149232 2.0311 tcp_current_mss 147821 2.0119 tcp_recvmsg 137893 1.8767 sysenter_past_esp 127473 1.7349 __copy_from_user_ll 121308 1.6510 ip_finish_output 118510 1.6129 tcp_transmit_skb 109295 1.4875 tcp_v4_rcv Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f30ab418a1d3c5a8b83493e7d70d6876a74aa0ce Author: Jarek Poplawski Date: Thu Nov 13 22:56:30 2008 -0800 pkt_sched: Remove qdisc->ops->requeue() etc. After implementing qdisc->ops->peek() and changing sch_netem into classless qdisc there are no more qdisc->ops->requeue() users. This patch removes this method with its wrappers (qdisc_requeue()), and also unused qdisc->requeue structure. There are a few minor fixes of warnings (htb_enqueue()) and comments btw. The idea to kill ->requeue() and a similar patch were first developed by David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 38a7ddffa4b79d7b1fbc9bf2fa82b21b72622858 Author: Petr Tesarik Date: Thu Nov 13 22:44:11 2008 -0800 tcp: remove an unnecessary field in struct tcp_skb_cb The urg_ptr field is not used anywhere and is merely confusing. Signed-off-by: Petr Tesarik Signed-off-by: David S. Miller commit 00bcd522ea0a62f5e2a9c6ad4924cbbd8d05b026 Author: Harvey Harrison Date: Thu Nov 13 22:41:29 2008 -0800 isdn: use %pI4, remove get_{u8/u16/u32} and put_{u8/u16/u32} inlines They would have been better named as get_be16, put_be16, etc. as they were hiding an endian shift inside. They don't add much over explicitly coding the byteshifting and gcc sometimes has a problem with builtin_constant_p inside inline functions, so it may do a better job of byteswapping at compile time rather than runtime. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 722024dbb74f3ea316c285c0a71a4512e113b0c4 Author: Alexander van Heukelum Date: Thu Nov 13 13:50:20 2008 +0100 x86: irq: fix apicinterrupts on 64 bits Impact: Fix interrupt via the apicinterrupt macro Checkin 939b787130bf22887a09d8fd2641a094dcef8c22 changed the "interrupt" macro, but the "interrupt" macro is also invoked indirectly from the "apicinterrupt" macro. The "apicinterrupt" macro probably should have its own collection of systematic stubs for the same reason the main IRQ code does; as is it is a huge amount of replicated code. Signed-off-by: Alexander van Heukelum Signed-off-by: H. Peter Anvin commit 2b828925652340277a889cbc11b2d0637f7cdaf7 Merge: 3a3b7ce... 58e20d8... Author: James Morris Date: Fri Nov 14 11:29:12 2008 +1100 Merge branch 'master' into next Conflicts: security/keys/internal.h security/keys/process_keys.c security/keys/request_key.c Fixed conflicts above by using the non 'tsk' versions. Signed-off-by: James Morris commit 3a3b7ce9336952ea7b9564d976d068a238976c9d Author: David Howells Date: Fri Nov 14 10:39:28 2008 +1100 CRED: Allow kernel services to override LSM settings for task actions Allow kernel services to override LSM settings appropriate to the actions performed by a task by duplicating a set of credentials, modifying it and then using task_struct::cred to point to it when performing operations on behalf of a task. This is used, for example, by CacheFiles which has to transparently access the cache on behalf of a process that thinks it is doing, say, NFS accesses with a potentially inappropriate (with respect to accessing the cache) set of credentials. This patch provides two LSM hooks for modifying a task security record: (*) security_kernel_act_as() which allows modification of the security datum with which a task acts on other objects (most notably files). (*) security_kernel_create_files_as() which allows modification of the security datum that is used to initialise the security data on a file that a task creates. The patch also provides four new credentials handling functions, which wrap the LSM functions: (1) prepare_kernel_cred() Prepare a set of credentials for a kernel service to use, based either on a daemon's credentials or on init_cred. All the keyrings are cleared. (2) set_security_override() Set the LSM security ID in a set of credentials to a specific security context, assuming permission from the LSM policy. (3) set_security_override_from_ctx() As (2), but takes the security context as a string. (4) set_create_files_as() Set the file creation LSM security ID in a set of credentials to be the same as that on a particular inode. Signed-off-by: Casey Schaufler [Smack changes] Signed-off-by: David Howells Signed-off-by: James Morris commit 1bfdc75ae077d60a01572a7781ec6264d55ab1b9 Author: David Howells Date: Fri Nov 14 10:39:27 2008 +1100 CRED: Add a kernel_service object class to SELinux Add a 'kernel_service' object class to SELinux and give this object class two access vectors: 'use_as_override' and 'create_files_as'. The first vector is used to grant a process the right to nominate an alternate process security ID for the kernel to use as an override for the SELinux subjective security when accessing stuff on behalf of another process. For example, CacheFiles when accessing the cache on behalf on a process accessing an NFS file needs to use a subjective security ID appropriate to the cache rather then the one the calling process is using. The cachefilesd daemon will nominate the security ID to be used. The second vector is used to grant a process the right to nominate a file creation label for a kernel service to use. Signed-off-by: David Howells Signed-off-by: James Morris commit 3b11a1decef07c19443d24ae926982bc8ec9f4c0 Author: David Howells Date: Fri Nov 14 10:39:26 2008 +1100 CRED: Differentiate objective and effective subjective credentials on a task Differentiate the objective and real subjective credentials from the effective subjective credentials on a task by introducing a second credentials pointer into the task_struct. task_struct::real_cred then refers to the objective and apparent real subjective credentials of a task, as perceived by the other tasks in the system. task_struct::cred then refers to the effective subjective credentials of a task, as used by that task when it's actually running. These are not visible to the other tasks in the system. __task_cred(task) then refers to the objective/real credentials of the task in question. current_cred() refers to the effective subjective credentials of the current task. prepare_creds() uses the objective creds as a base and commit_creds() changes both pointers in the task_struct (indeed commit_creds() requires them to be the same). override_creds() and revert_creds() change the subjective creds pointer only, and the former returns the old subjective creds. These are used by NFSD, faccessat() and do_coredump(), and will by used by CacheFiles. In SELinux, current_has_perm() is provided as an alternative to task_has_perm(). This uses the effective subjective context of current, whereas task_has_perm() uses the objective/real context of the subject. Signed-off-by: David Howells Signed-off-by: James Morris commit 98870ab0a5a3f1822aee681d2997017e1c87d026 Author: David Howells Date: Fri Nov 14 10:39:26 2008 +1100 CRED: Documentation Document credentials and the new credentials API. Signed-off-by: David Howells Signed-off-by: James Morris commit d76b0d9b2d87cfc95686e148767cbf7d0e22bdc0 Author: David Howells Date: Fri Nov 14 10:39:25 2008 +1100 CRED: Use creds in file structs Attach creds to file structs and discard f_uid/f_gid. file_operations::open() methods (such as hppfs_open()) should use file->f_cred rather than current_cred(). At the moment file->f_cred will be current_cred() at this point. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit 1d045980e1eff4800472f0e81df9460640c8eee9 Author: David Howells Date: Fri Nov 14 10:39:24 2008 +1100 CRED: Prettify commoncap.c Prettify commoncap.c. Signed-off-by: David Howells Acked-by: Serge Hallyn Reviewed-by: James Morris Signed-off-by: James Morris commit a6f76f23d297f70e2a6b3ec607f7aeeea9e37e8d Author: David Howells Date: Fri Nov 14 10:39:24 2008 +1100 CRED: Make execve() take advantage of copy-on-write credentials Make execve() take advantage of copy-on-write credentials, allowing it to set up the credentials in advance, and then commit the whole lot after the point of no return. This patch and the preceding patches have been tested with the LTP SELinux testsuite. This patch makes several logical sets of alteration: (1) execve(). The credential bits from struct linux_binprm are, for the most part, replaced with a single credentials pointer (bprm->cred). This means that all the creds can be calculated in advance and then applied at the point of no return with no possibility of failure. I would like to replace bprm->cap_effective with: cap_isclear(bprm->cap_effective) but this seems impossible due to special behaviour for processes of pid 1 (they always retain their parent's capability masks where normally they'd be changed - see cap_bprm_set_creds()). The following sequence of events now happens: (a) At the start of do_execve, the current task's cred_exec_mutex is locked to prevent PTRACE_ATTACH from obsoleting the calculation of creds that we make. (a) prepare_exec_creds() is then called to make a copy of the current task's credentials and prepare it. This copy is then assigned to bprm->cred. This renders security_bprm_alloc() and security_bprm_free() unnecessary, and so they've been removed. (b) The determination of unsafe execution is now performed immediately after (a) rather than later on in the code. The result is stored in bprm->unsafe for future reference. (c) prepare_binprm() is called, possibly multiple times. (i) This applies the result of set[ug]id binaries to the new creds attached to bprm->cred. Personality bit clearance is recorded, but now deferred on the basis that the exec procedure may yet fail. (ii) This then calls the new security_bprm_set_creds(). This should calculate the new LSM and capability credentials into *bprm->cred. This folds together security_bprm_set() and parts of security_bprm_apply_creds() (these two have been removed). Anything that might fail must be done at this point. (iii) bprm->cred_prepared is set to 1. bprm->cred_prepared is 0 on the first pass of the security calculations, and 1 on all subsequent passes. This allows SELinux in (ii) to base its calculations only on the initial script and not on the interpreter. (d) flush_old_exec() is called to commit the task to execution. This performs the following steps with regard to credentials: (i) Clear pdeath_signal and set dumpable on certain circumstances that may not be covered by commit_creds(). (ii) Clear any bits in current->personality that were deferred from (c.i). (e) install_exec_creds() [compute_creds() as was] is called to install the new credentials. This performs the following steps with regard to credentials: (i) Calls security_bprm_committing_creds() to apply any security requirements, such as flushing unauthorised files in SELinux, that must be done before the credentials are changed. This is made up of bits of security_bprm_apply_creds() and security_bprm_post_apply_creds(), both of which have been removed. This function is not allowed to fail; anything that might fail must have been done in (c.ii). (ii) Calls commit_creds() to apply the new credentials in a single assignment (more or less). Possibly pdeath_signal and dumpable should be part of struct creds. (iii) Unlocks the task's cred_replace_mutex, thus allowing PTRACE_ATTACH to take place. (iv) Clears The bprm->cred pointer as the credentials it was holding are now immutable. (v) Calls security_bprm_committed_creds() to apply any security alterations that must be done after the creds have been changed. SELinux uses this to flush signals and signal handlers. (f) If an error occurs before (d.i), bprm_free() will call abort_creds() to destroy the proposed new credentials and will then unlock cred_replace_mutex. No changes to the credentials will have been made. (2) LSM interface. A number of functions have been changed, added or removed: (*) security_bprm_alloc(), ->bprm_alloc_security() (*) security_bprm_free(), ->bprm_free_security() Removed in favour of preparing new credentials and modifying those. (*) security_bprm_apply_creds(), ->bprm_apply_creds() (*) security_bprm_post_apply_creds(), ->bprm_post_apply_creds() Removed; split between security_bprm_set_creds(), security_bprm_committing_creds() and security_bprm_committed_creds(). (*) security_bprm_set(), ->bprm_set_security() Removed; folded into security_bprm_set_creds(). (*) security_bprm_set_creds(), ->bprm_set_creds() New. The new credentials in bprm->creds should be checked and set up as appropriate. bprm->cred_prepared is 0 on the first call, 1 on the second and subsequent calls. (*) security_bprm_committing_creds(), ->bprm_committing_creds() (*) security_bprm_committed_creds(), ->bprm_committed_creds() New. Apply the security effects of the new credentials. This includes closing unauthorised files in SELinux. This function may not fail. When the former is called, the creds haven't yet been applied to the process; when the latter is called, they have. The former may access bprm->cred, the latter may not. (3) SELinux. SELinux has a number of changes, in addition to those to support the LSM interface changes mentioned above: (a) The bprm_security_struct struct has been removed in favour of using the credentials-under-construction approach. (c) flush_unauthorized_files() now takes a cred pointer and passes it on to inode_has_perm(), file_has_perm() and dentry_open(). Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit d84f4f992cbd76e8f39c488cf0c5d123843923b1 Author: David Howells Date: Fri Nov 14 10:39:23 2008 +1100 CRED: Inaugurate COW credentials Inaugurate copy-on-write credentials management. This uses RCU to manage the credentials pointer in the task_struct with respect to accesses by other tasks. A process may only modify its own credentials, and so does not need locking to access or modify its own credentials. A mutex (cred_replace_mutex) is added to the task_struct to control the effect of PTRACE_ATTACHED on credential calculations, particularly with respect to execve(). With this patch, the contents of an active credentials struct may not be changed directly; rather a new set of credentials must be prepared, modified and committed using something like the following sequence of events: struct cred *new = prepare_creds(); int ret = blah(new); if (ret < 0) { abort_creds(new); return ret; } return commit_creds(new); There are some exceptions to this rule: the keyrings pointed to by the active credentials may be instantiated - keyrings violate the COW rule as managing COW keyrings is tricky, given that it is possible for a task to directly alter the keys in a keyring in use by another task. To help enforce this, various pointers to sets of credentials, such as those in the task_struct, are declared const. The purpose of this is compile-time discouragement of altering credentials through those pointers. Once a set of credentials has been made public through one of these pointers, it may not be modified, except under special circumstances: (1) Its reference count may incremented and decremented. (2) The keyrings to which it points may be modified, but not replaced. The only safe way to modify anything else is to create a replacement and commit using the functions described in Documentation/credentials.txt (which will be added by a later patch). This patch and the preceding patches have been tested with the LTP SELinux testsuite. This patch makes several logical sets of alteration: (1) execve(). This now prepares and commits credentials in various places in the security code rather than altering the current creds directly. (2) Temporary credential overrides. do_coredump() and sys_faccessat() now prepare their own credentials and temporarily override the ones currently on the acting thread, whilst preventing interference from other threads by holding cred_replace_mutex on the thread being dumped. This will be replaced in a future patch by something that hands down the credentials directly to the functions being called, rather than altering the task's objective credentials. (3) LSM interface. A number of functions have been changed, added or removed: (*) security_capset_check(), ->capset_check() (*) security_capset_set(), ->capset_set() Removed in favour of security_capset(). (*) security_capset(), ->capset() New. This is passed a pointer to the new creds, a pointer to the old creds and the proposed capability sets. It should fill in the new creds or return an error. All pointers, barring the pointer to the new creds, are now const. (*) security_bprm_apply_creds(), ->bprm_apply_creds() Changed; now returns a value, which will cause the process to be killed if it's an error. (*) security_task_alloc(), ->task_alloc_security() Removed in favour of security_prepare_creds(). (*) security_cred_free(), ->cred_free() New. Free security data attached to cred->security. (*) security_prepare_creds(), ->cred_prepare() New. Duplicate any security data attached to cred->security. (*) security_commit_creds(), ->cred_commit() New. Apply any security effects for the upcoming installation of new security by commit_creds(). (*) security_task_post_setuid(), ->task_post_setuid() Removed in favour of security_task_fix_setuid(). (*) security_task_fix_setuid(), ->task_fix_setuid() Fix up the proposed new credentials for setuid(). This is used by cap_set_fix_setuid() to implicitly adjust capabilities in line with setuid() changes. Changes are made to the new credentials, rather than the task itself as in security_task_post_setuid(). (*) security_task_reparent_to_init(), ->task_reparent_to_init() Removed. Instead the task being reparented to init is referred directly to init's credentials. NOTE! This results in the loss of some state: SELinux's osid no longer records the sid of the thread that forked it. (*) security_key_alloc(), ->key_alloc() (*) security_key_permission(), ->key_permission() Changed. These now take cred pointers rather than task pointers to refer to the security context. (4) sys_capset(). This has been simplified and uses less locking. The LSM functions it calls have been merged. (5) reparent_to_kthreadd(). This gives the current thread the same credentials as init by simply using commit_thread() to point that way. (6) __sigqueue_alloc() and switch_uid() __sigqueue_alloc() can't stop the target task from changing its creds beneath it, so this function gets a reference to the currently applicable user_struct which it then passes into the sigqueue struct it returns if successful. switch_uid() is now called from commit_creds(), and possibly should be folded into that. commit_creds() should take care of protecting __sigqueue_alloc(). (7) [sg]et[ug]id() and co and [sg]et_current_groups. The set functions now all use prepare_creds(), commit_creds() and abort_creds() to build and check a new set of credentials before applying it. security_task_set[ug]id() is called inside the prepared section. This guarantees that nothing else will affect the creds until we've finished. The calling of set_dumpable() has been moved into commit_creds(). Much of the functionality of set_user() has been moved into commit_creds(). The get functions all simply access the data directly. (8) security_task_prctl() and cap_task_prctl(). security_task_prctl() has been modified to return -ENOSYS if it doesn't want to handle a function, or otherwise return the return value directly rather than through an argument. Additionally, cap_task_prctl() now prepares a new set of credentials, even if it doesn't end up using it. (9) Keyrings. A number of changes have been made to the keyrings code: (a) switch_uid_keyring(), copy_keys(), exit_keys() and suid_keys() have all been dropped and built in to the credentials functions directly. They may want separating out again later. (b) key_alloc() and search_process_keyrings() now take a cred pointer rather than a task pointer to specify the security context. (c) copy_creds() gives a new thread within the same thread group a new thread keyring if its parent had one, otherwise it discards the thread keyring. (d) The authorisation key now points directly to the credentials to extend the search into rather pointing to the task that carries them. (e) Installing thread, process or session keyrings causes a new set of credentials to be created, even though it's not strictly necessary for process or session keyrings (they're shared). (10) Usermode helper. The usermode helper code now carries a cred struct pointer in its subprocess_info struct instead of a new session keyring pointer. This set of credentials is derived from init_cred and installed on the new process after it has been cloned. call_usermodehelper_setup() allocates the new credentials and call_usermodehelper_freeinfo() discards them if they haven't been used. A special cred function (prepare_usermodeinfo_creds()) is provided specifically for call_usermodehelper_setup() to call. call_usermodehelper_setkeys() adjusts the credentials to sport the supplied keyring as the new session keyring. (11) SELinux. SELinux has a number of changes, in addition to those to support the LSM interface changes mentioned above: (a) selinux_setprocattr() no longer does its check for whether the current ptracer can access processes with the new SID inside the lock that covers getting the ptracer's SID. Whilst this lock ensures that the check is done with the ptracer pinned, the result is only valid until the lock is released, so there's no point doing it inside the lock. (12) is_single_threaded(). This function has been extracted from selinux_setprocattr() and put into a file of its own in the lib/ directory as join_session_keyring() now wants to use it too. The code in SELinux just checked to see whether a task shared mm_structs with other tasks (CLONE_VM), but that isn't good enough. We really want to know if they're part of the same thread group (CLONE_THREAD). (13) nfsd. The NFS server daemon now has to use the COW credentials to set the credentials it is going to use. It really needs to pass the credentials down to the functions it calls, but it can't do that until other patches in this series have been applied. Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: James Morris commit 745ca2475a6ac596e3d8d37c2759c0fbe2586227 Author: David Howells Date: Fri Nov 14 10:39:22 2008 +1100 CRED: Pass credentials through dentry_open() Pass credentials through dentry_open() so that the COW creds patch can have SELinux's flush_unauthorized_files() pass the appropriate creds back to itself when it opens its null chardev. The security_dentry_open() call also now takes a creds pointer, as does the dentry_open hook in struct security_operations. Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: James Morris commit 88e67f3b8898c5ea81d2916dd5b8bc9c0c35ba13 Author: David Howells Date: Fri Nov 14 10:39:21 2008 +1100 CRED: Make inode_has_perm() and file_has_perm() take a cred pointer Make inode_has_perm() and file_has_perm() take a cred pointer rather than a task pointer. Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 6cc88bc45ce8043171089c9592da223dfab91823 Author: David Howells Date: Fri Nov 14 10:39:21 2008 +1100 CRED: Rename is_single_threaded() to is_wq_single_threaded() Rename is_single_threaded() to is_wq_single_threaded() so that a new is_single_threaded() can be created that refers to tasks rather than waitqueues. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit bb952bb98a7e479262c7eb25d5592545a3af147d Author: David Howells Date: Fri Nov 14 10:39:20 2008 +1100 CRED: Separate per-task-group keyrings from signal_struct Separate per-task-group keyrings from signal_struct and dangle their anchor from the cred struct rather than the signal_struct. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit 275bb41e9d058fbb327e7642f077e1beaeac162e Author: David Howells Date: Fri Nov 14 10:39:19 2008 +1100 CRED: Wrap access to SELinux's task SID Wrap access to SELinux's task SID, using task_sid() and current_sid() as appropriate. Signed-off-by: David Howells Acked-by: James Morris Signed-off-by: James Morris commit c69e8d9c01db2adc503464993c358901c9af9de4 Author: David Howells Date: Fri Nov 14 10:39:19 2008 +1100 CRED: Use RCU to access another task's creds and to release a task's own creds Use RCU to access another task's creds and to release a task's own creds. This means that it will be possible for the credentials of a task to be replaced without another task (a) requiring a full lock to read them, and (b) seeing deallocated memory. Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 86a264abe542cfececb4df129bc45a0338d8cdb9 Author: David Howells Date: Fri Nov 14 10:39:18 2008 +1100 CRED: Wrap current->cred and a few other accessors Wrap current->cred and a few other accessors to hide their actual implementation. Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit f1752eec6145c97163dbce62d17cf5d928e28a27 Author: David Howells Date: Fri Nov 14 10:39:17 2008 +1100 CRED: Detach the credentials from task_struct Detach the credentials from task_struct, duplicating them in copy_process() and releasing them in __put_task_struct(). Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit b6dff3ec5e116e3af6f537d4caedcad6b9e5082a Author: David Howells Date: Fri Nov 14 10:39:16 2008 +1100 CRED: Separate task security context from task_struct Separate the task security context from task_struct. At this point, the security data is temporarily embedded in the task_struct with two pointers pointing to it. Note that the Alpha arch is altered as it refers to (E)UID and (E)GID in entry.S via asm-offsets. With comment fixes Signed-off-by: Marc Dionne Signed-off-by: David Howells Acked-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 15a2460ed0af7538ca8e6c610fe607a2cd9da142 Author: David Howells Date: Fri Nov 14 10:39:15 2008 +1100 CRED: Constify the kernel_cap_t arguments to the capset LSM hooks Constify the kernel_cap_t arguments to the capset LSM hooks. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: James Morris Signed-off-by: James Morris commit 1cdcbec1a3372c0c49c59d292e708fd07b509f18 Author: David Howells Date: Fri Nov 14 10:39:14 2008 +1100 CRED: Neuter sys_capset() Take away the ability for sys_capset() to affect processes other than current. This means that current will not need to lock its own credentials when reading them against interference by other processes. This has effectively been the case for a while anyway, since: (1) Without LSM enabled, sys_capset() is disallowed. (2) With file-based capabilities, sys_capset() is neutered. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: Andrew G. Morgan Acked-by: James Morris Signed-off-by: James Morris commit 8bbf4976b59fc9fc2861e79cab7beb3f6d647640 Author: David Howells Date: Fri Nov 14 10:39:14 2008 +1100 KEYS: Alter use of key instantiation link-to-keyring argument Alter the use of the key instantiation and negation functions' link-to-keyring arguments. Currently this specifies a keyring in the target process to link the key into, creating the keyring if it doesn't exist. This, however, can be a problem for copy-on-write credentials as it means that the instantiating process can alter the credentials of the requesting process. This patch alters the behaviour such that: (1) If keyctl_instantiate_key() or keyctl_negate_key() are given a specific keyring by ID (ringid >= 0), then that keyring will be used. (2) If keyctl_instantiate_key() or keyctl_negate_key() are given one of the special constants that refer to the requesting process's keyrings (KEY_SPEC_*_KEYRING, all <= 0), then: (a) If sys_request_key() was given a keyring to use (destringid) then the key will be attached to that keyring. (b) If sys_request_key() was given a NULL keyring, then the key being instantiated will be attached to the default keyring as set by keyctl_set_reqkey_keyring(). (3) No extra link will be made. Decision point (1) follows current behaviour, and allows those instantiators who've searched for a specifically named keyring in the requestor's keyring so as to partition the keys by type to still have their named keyrings. Decision point (2) allows the requestor to make sure that the key or keys that get produced by request_key() go where they want, whilst allowing the instantiator to request that the key is retained. This is mainly useful for situations where the instantiator makes a secondary request, the key for which should be retained by the initial requestor: +-----------+ +--------------+ +--------------+ | | | | | | | Requestor |------->| Instantiator |------->| Instantiator | | | | | | | +-----------+ +--------------+ +--------------+ request_key() request_key() This might be useful, for example, in Kerberos, where the requestor requests a ticket, and then the ticket instantiator requests the TGT, which someone else then has to go and fetch. The TGT, however, should be retained in the keyrings of the requestor, not the first instantiator. To make this explict an extra special keyring constant is also added. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit e9e349b051d98799b743ebf248cc2d986fedf090 Author: David Howells Date: Fri Nov 14 10:39:13 2008 +1100 KEYS: Disperse linux/key_ui.h Disperse the bits of linux/key_ui.h as the reason they were put here (keyfs) didn't get in. Signed-off-by: David Howells Reviewed-by: James Morris Signed-off-by: James Morris commit 76aac0e9a17742e60d408be1a706e9aaad370891 Author: David Howells Date: Fri Nov 14 10:39:12 2008 +1100 CRED: Wrap task credential accesses in the core kernel Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Al Viro Cc: linux-audit@redhat.com Cc: containers@lists.linux-foundation.org Cc: linux-mm@kvack.org Signed-off-by: James Morris commit b103c59883f1ec6e4d548b25054608cb5724453c Author: David Howells Date: Fri Nov 14 10:39:11 2008 +1100 CRED: Wrap task credential accesses in the capabilities code Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Andrew G. Morgan Signed-off-by: James Morris commit 47d804bfa1857b0edcac972c86499dcd14df3cf2 Author: David Howells Date: Fri Nov 14 10:39:11 2008 +1100 CRED: Wrap task credential accesses in the key management code Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 8192b0c482d7078fcdcb4854341b977426f6f09b Author: David Howells Date: Fri Nov 14 10:39:10 2008 +1100 CRED: Wrap task credential accesses in the networking subsystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 19d65624d38d6296dddf725d1b03baa8a491a553 Author: David Howells Date: Fri Nov 14 10:39:10 2008 +1100 CRED: Wrap task credential accesses in the UNIX socket protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 8f4194026bb1e3d95fedb340a2935895845ea1d5 Author: David Howells Date: Fri Nov 14 10:39:09 2008 +1100 CRED: Wrap task credential accesses in the SunRPC protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Trond Myklebust Cc: J. Bruce Fields Cc: Neil Brown Cc: linux-nfs@vger.kernel.org Signed-off-by: James Morris commit c2a2b8d3b299feb7ac62c2825941dec57141f6f4 Author: David Howells Date: Fri Nov 14 10:39:08 2008 +1100 CRED: Wrap task credential accesses in the ROSE protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-hams@vger.kernel.org Signed-off-by: James Morris commit ba95b2353cf1a7f7f236946530ccf5d0ccec6b38 Author: David Howells Date: Fri Nov 14 10:39:08 2008 +1100 CRED: Wrap task credential accesses in the netrom protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-hams@vger.kernel.org Signed-off-by: James Morris commit f82b359023c8b7b343edef6c63322b900d9e74a1 Author: David Howells Date: Fri Nov 14 10:39:07 2008 +1100 CRED: Wrap task credential accesses in the IPv6 protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 734004072e05ae81c3cdd0a04ee37868fb09b71e Author: David Howells Date: Fri Nov 14 10:39:06 2008 +1100 CRED: Wrap task credential accesses in the AX25 protocol Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-hams@vger.kernel.org Signed-off-by: James Morris commit 414c0708d0d60eccf8345c405ac81cf32c43e901 Author: David Howells Date: Fri Nov 14 10:39:06 2008 +1100 CRED: Wrap task credential accesses in the SYSV IPC subsystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit da9592edebceeba1b9301beafe80ec8b9c2db0ce Author: David Howells Date: Fri Nov 14 10:39:05 2008 +1100 CRED: Wrap task credential accesses in the filesystem subsystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Al Viro Signed-off-by: James Morris commit 82ab8deda7fef36f067ccdeacc3b3caefc970f89 Author: David Howells Date: Fri Nov 14 10:39:04 2008 +1100 CRED: Wrap task credential accesses in the XFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: xfs@oss.sgi.com Signed-off-by: James Morris commit a5f773a65928a10eb5e5534fe6da6b427ac5b646 Author: David Howells Date: Fri Nov 14 10:39:04 2008 +1100 CRED: Wrap task credential accesses in the UFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Evgeniy Dushistov Signed-off-by: James Morris commit 7706bb39adff18a48ff98f203ffcbb00878d8589 Author: David Howells Date: Fri Nov 14 10:39:03 2008 +1100 CRED: Wrap task credential accesses in the UDF filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Jan Kara Signed-off-by: James Morris commit 26bf1946e69abf9528beda7adb4a783c439a5f7b Author: David Howells Date: Fri Nov 14 10:39:03 2008 +1100 CRED: Wrap task credential accesses in the UBIFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Artem Bityutskiy Cc: Adrian Hunter Cc: linux-mtd@lists.infradead.org Signed-off-by: James Morris commit fc7333deb741da8aafbda9ff905d3ff2c5e28a66 Author: David Howells Date: Fri Nov 14 10:39:02 2008 +1100 CRED: Wrap task credential accesses in the SYSV filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Christoph Hellwig Signed-off-by: James Morris commit e2950b178e8fa1cb0b122c212b6cd48e75e2b41f Author: David Howells Date: Fri Nov 14 10:39:01 2008 +1100 CRED: Wrap task credential accesses in the SMBFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Steven French Signed-off-by: James Morris commit 414cb209eaca52b708debc014a8085b7fbb15f14 Author: David Howells Date: Fri Nov 14 10:39:01 2008 +1100 CRED: Wrap task credential accesses in the ReiserFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: reiserfs-devel@vger.kernel.org Signed-off-by: James Morris commit 0785f4dad0f7173f3b7133e3c274fe130e8fdbc6 Author: David Howells Date: Fri Nov 14 10:39:00 2008 +1100 CRED: Wrap task credential accesses in the RAMFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit c222d53eb32ea0c9516261268a24c6f162423acd Author: David Howells Date: Fri Nov 14 10:38:59 2008 +1100 CRED: Wrap task credential accesses in the OMFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Bob Copeland Cc: linux-karma-devel@lists.sourceforge.net Signed-off-by: James Morris commit b19c2a3b839b9dfb3f258e8943dc3784ae20c7b0 Author: David Howells Date: Fri Nov 14 10:38:59 2008 +1100 CRED: Wrap task credential accesses in the OCFS2 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Mark Fasheh Cc: Joel Becker Cc: ocfs2-devel@oss.oracle.com Signed-off-by: James Morris commit 5cc0a84076e172c18fb927781f44c6e47d6c5a06 Author: David Howells Date: Fri Nov 14 10:38:58 2008 +1100 CRED: Wrap task credential accesses in the NFS daemon Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: J. Bruce Fields Cc: Neil Brown Cc: linux-nfs@vger.kernel.org Signed-off-by: James Morris commit 48937024c65db88abafd0fb14021db31f09cd4ec Author: David Howells Date: Fri Nov 14 10:38:58 2008 +1100 CRED: Wrap task credential accesses in the NCPFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Petr Vandrovec Signed-off-by: James Morris commit 922c030f260df9d256fecea3164210e7cb2ce407 Author: David Howells Date: Fri Nov 14 10:38:57 2008 +1100 CRED: Wrap task credential accesses in the Minix filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 8f659adfa246a1e57d0cd3f109accfe071f2d0f1 Author: David Howells Date: Fri Nov 14 10:38:56 2008 +1100 CRED: Wrap task credential accesses in the JFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Dave Kleikamp Cc: jfs-discussion@lists.sourceforge.net Signed-off-by: James Morris commit 77c70de15a74801f427ee5fb85ddfdde48ed84f2 Author: David Howells Date: Fri Nov 14 10:38:56 2008 +1100 CRED: Wrap task credential accesses in the hugetlbfs filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: William Irwin Signed-off-by: James Morris commit de395b8ac25da56893d83cd5da67cf927dfa7e4d Author: David Howells Date: Fri Nov 14 10:38:55 2008 +1100 CRED: Wrap task credential accesses in the HPFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Mikulas Patocka Signed-off-by: James Morris commit 4ac8489a7294dcf92127825d74f2d981143e825d Author: David Howells Date: Fri Nov 14 10:38:54 2008 +1100 CRED: Wrap task credential accesses in the HFSplus filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Roman Zippel Signed-off-by: James Morris commit 94c9a5ee4cc7fb7eee2a9f9e47f7ccea6b1869ff Author: David Howells Date: Fri Nov 14 10:38:54 2008 +1100 CRED: Wrap task credential accesses in the HFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Roman Zippel Signed-off-by: James Morris commit 3de7be335593859bc84a122b1338ec358bf70e9b Author: David Howells Date: Fri Nov 14 10:38:53 2008 +1100 CRED: Wrap task credential accesses in the GFS2 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Steven Whitehouse Cc: cluster-devel@redhat.com Signed-off-by: James Morris commit 2186a71cbcddda946dd3cfccd5285e210ec3af10 Author: David Howells Date: Fri Nov 14 10:38:53 2008 +1100 CRED: Wrap task credential accesses in the FUSE filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Miklos Szeredi Cc: fuse-devel@lists.sourceforge.net Signed-off-by: James Morris commit f0ce7ee3a8ec1e80b6f460983ef1f26e603026f5 Author: David Howells Date: Fri Nov 14 10:38:52 2008 +1100 CRED: Wrap task credential accesses in the FAT filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: OGAWA Hirofumi Signed-off-by: James Morris commit 4c9c544e4987efe6643ad5692af47a0abfd4e0d1 Author: David Howells Date: Fri Nov 14 10:38:51 2008 +1100 CRED: Wrap task credential accesses in the Ext4 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Stephen Tweedie Cc: Andrew Morton Cc: adilger@sun.com Cc: linux-ext4@vger.kernel.org Signed-off-by: James Morris commit 6a2f90e9fae0824e8b6b123f1ea7d9fff9079ef3 Author: David Howells Date: Fri Nov 14 10:38:51 2008 +1100 CRED: Wrap task credential accesses in the Ext3 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Stephen Tweedie Cc: Andrew Morton Cc: adilger@sun.com Cc: linux-ext4@vger.kernel.org Signed-off-by: James Morris commit a8dd4d67bdf9c48c5ebfa366592fde7e2d318b4f Author: David Howells Date: Fri Nov 14 10:38:50 2008 +1100 CRED: Wrap task credential accesses in the Ext2 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: linux-ext4@vger.kernel.org Signed-off-by: James Morris commit 4eea03539d9a8e3f5056aed690efde1f75535e7b Author: David Howells Date: Fri Nov 14 10:38:49 2008 +1100 CRED: Wrap task credential accesses in the eCryptFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Mike Halcrow Cc: Phillip Hellewell Cc: ecryptfs-devel@lists.sourceforge.net Signed-off-by: James Morris commit ec4c2aacd16672febca053109eb9ddf672108ca1 Author: David Howells Date: Fri Nov 14 10:38:49 2008 +1100 CRED: Wrap task credential accesses in the devpts filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 97b7702cd1bdb8e89bde6c70aa983e7b82a52ec6 Author: David Howells Date: Fri Nov 14 10:38:48 2008 +1100 CRED: Wrap task credential accesses in the Coda filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Jan Harkes Cc: codalist@coda.cs.cmu.edu Signed-off-by: James Morris commit a001e5b558f25eb1e588522d73ac949b643b7a37 Author: David Howells Date: Fri Nov 14 10:38:47 2008 +1100 CRED: Wrap task credential accesses in the CIFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Steve French Cc: linux-cifs-client@lists.samba.org Signed-off-by: James Morris commit 1109b07b7dcb938de7a0d65efc1b4739dc4e9787 Author: David Howells Date: Fri Nov 14 10:38:47 2008 +1100 CRED: Wrap task credential accesses in the BFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Tigran A. Aivazian Signed-off-by: James Morris commit 0eb790e3a2d872192af8ceff2cabff8594c56440 Author: David Howells Date: Fri Nov 14 10:38:46 2008 +1100 CRED: Wrap task credential accesses in the autofs4 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Ian Kent Cc: autofs@linux.kernel.org Signed-off-by: James Morris commit 73c646e4afb658e601a46bf1b57925450307a119 Author: David Howells Date: Fri Nov 14 10:38:45 2008 +1100 CRED: Wrap task credential accesses in the autofs filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: H. Peter Anvin Cc: autofs@linux.kernel.org Signed-off-by: James Morris commit 215599815d8977a4338fbd27d6fe2c1721200197 Author: David Howells Date: Fri Nov 14 10:38:45 2008 +1100 CRED: Wrap task credential accesses in the AFFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Roman Zippel Signed-off-by: James Morris commit f8b9d53a31dca2c1185232c5fe2731d99cc963c8 Author: David Howells Date: Fri Nov 14 10:38:44 2008 +1100 CRED: Wrap task credential accesses in 9P2000 filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Reviewed-by: Eric Van Hensbergen Cc: Ron Minnich Cc: Latchesar Ionkov Cc: v9fs-developer@lists.sourceforge.net Signed-off-by: James Morris commit cd80ca8a03fd712b046028c1f66e10f3aec43eee Author: David Howells Date: Fri Nov 14 10:38:43 2008 +1100 CRED: Wrap task credential accesses in the USB driver Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org Signed-off-by: James Morris commit ee9785ada3573700efe77b78c03d4e26a4e1bf26 Author: David Howells Date: Fri Nov 14 10:38:43 2008 +1100 CRED: Wrap task credential accesses in the network device drivers Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: netdev@vger.kernel.org Signed-off-by: James Morris commit 0e164b685cab357546a9a09ef234922b82ecbfaf Author: David Howells Date: Fri Nov 14 10:38:42 2008 +1100 CRED: Wrap task credential accesses in the ISDN drivers Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Karsten Keil Cc: isdn4linux@listserv.isdn4linux.de Signed-off-by: James Morris commit 66303bce9b924e35e435d35409d3abc371755767 Author: David Howells Date: Fri Nov 14 10:38:41 2008 +1100 CRED: Wrap task credential accesses in the tty driver Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Alan Cox Signed-off-by: James Morris commit b0fafa816ece0080771355de6158b4dfa8531a95 Author: David Howells Date: Fri Nov 14 10:38:41 2008 +1100 CRED: Wrap task credential accesses in the block loopback driver Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Jens Axboe Signed-off-by: James Morris commit 350b4da71f8326b9319ada7b701f2bce2e1285b7 Author: David Howells Date: Fri Nov 14 10:38:40 2008 +1100 CRED: Wrap task credential accesses in the x86 arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: James Morris commit e54237053204caebacb3eda3d37363f1a6118707 Author: David Howells Date: Fri Nov 14 10:38:39 2008 +1100 CRED: Wrap task credential accesses in the S390 arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux-s390@vger.kernel.org Signed-off-by: James Morris commit 1330deb0f6e89525c8e9fcbd6b13522c9243bfc0 Author: David Howells Date: Fri Nov 14 10:38:39 2008 +1100 CRED: Wrap task credential accesses in the PowerPC arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@ozlabs.org Signed-off-by: James Morris commit 25e15731af0c8d7adc58f72327dab7293857129f Author: David Howells Date: Fri Nov 14 10:38:38 2008 +1100 CRED: Wrap task credential accesses in the PA-RISC arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: linux-parisc@vger.kernel.org Signed-off-by: James Morris commit b4212737a39e4cfb0fb66769acbc0bd182a93253 Author: David Howells Date: Fri Nov 14 10:38:37 2008 +1100 CRED: Wrap task credential accesses in the MIPS arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Ralf Baechle Cc: linux-mips@linux-mips.org Signed-off-by: James Morris commit ef81ee9855d6c605ed6090a8018c78572cc68b5c Author: David Howells Date: Fri Nov 14 10:38:37 2008 +1100 CRED: Wrap task credential accesses in the IA64 arch Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn Cc: Tony Luck Cc: linux-ia64@vger.kernel.org Signed-off-by: James Morris commit d1aaf8cf8afe70a8c2235a565885291fe290c57c Author: Stephen Hemminger Date: Thu Nov 13 08:33:00 2008 -0800 tracing/fastboot: put error message on stderr Since this scripts output is usually redirected, put error messages on standard error and exit with error code if no data is found. Signed-off-by: Stephen Hemminger Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit b3535c6390f27d04273e4eee0bc687f171fbf5f4 Author: walimis Date: Fri Nov 14 00:21:02 2008 +0800 ftrace: remove unnecessary if condition of __unregister_ftrace_function Because it has goto out before ftrace_list == &ftrace_list_end, that's to say, we never meet this condition. Signed-off-by: walimis Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cd80bc6f4811b48eb68716c8255bf7e5f0006caa Merge: c4da29c... 6a12afb... Author: Takashi Iwai Date: Thu Nov 13 14:38:00 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit 0b6048561d5f505e3a027a519a6d0f488ba9a2bb Author: Jarkko Nikula Date: Wed Nov 12 17:05:51 2008 +0200 ASoC: OMAP: Add more supported sample rates into McBSP DAI driver Originally it was put too tight limits to support only 44.1 kHz and 48 kHz sample rates in McBSP DAI driver. Extend it now to 8 kHz - 96 kHz. With 96 kHz and 2*16 bits, bit clock is 3.072 MHz < 3.125 MHz (I2S max?). Tested on Nokia N810 with TVL320AIC33 from rates 8 - 96 kHz and on Texas Instruments Beagle with TWL4030 from rates 8 - 48 kHz. Signed-off-by: Jarkko Nikula Acked-by: Steve Sakoman Acked-by: Arun KS Signed-off-by: Mark Brown commit bbba944410310181de14a5c60a7c161ff2447dd9 Author: Jarkko Nikula Date: Wed Nov 12 17:05:41 2008 +0200 ASoC: Fix supported sample rates of TWL4030 audio codec TWL4030 currently supports rates between 8 kHz and 48 kHz and sets the codec mode register accordingly in twl4030_hw_params. Expose this info so that ASoC can match other rates than 44.1 kHz or 48 kHz as well. Signed-off-by: Jarkko Nikula Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit c4da29ca08e09ed41a2030c1f7b5860f116573be Author: Yang, Libin Date: Thu Nov 13 11:07:07 2008 +0100 ALSA: hda - support detecting HD Audio devices with PCI class code The patch uses HD Audio PCI class code to detect AMD HD Audio cards. Signed-off-by: Libin Yang Signed-off-by: Takashi Iwai commit 12ef7d448613ead2babd41c3ebfa1fe03c20edef Author: Steven Rostedt Date: Wed Nov 12 17:52:38 2008 -0500 ftrace: CPU buffer start annotation clean ups Impact: better handling of CPU buffer start annotation Because of the confusion with the per CPU buffers wrapping where one CPU might be more active at the end of the trace than the other CPUs causing that one CPU to have a shorter history. Kernel developers were confused by the "missing" data of that one CPU at the beginning of the trace output. An annotation was added to the trace output to show that the buffer had started: # tracer: function # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | ##### CPU 3 buffer started #### -0 [003] 158.192959: smp_apic_timer_interrupt [...] -0 [003] 161.556520: default_idle ##### CPU 1 buffer started #### -0 [001] 161.592494: hrtimer_force_reprogram [etc] But this annotation gets a bit messy when tracers do not fill the buffers. This patch does a couple of things: One) it adds a flag to trace_options to disable these annotations Two) it does not annotate if the tracer did not overflow its buffer. This makes the output much cleaner. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ee6bce52276c0717ed3e63296e5d9465d339e923 Author: Steven Rostedt Date: Wed Nov 12 17:52:37 2008 -0500 ftrace: rename iter_ctrl to trace_options Impact: rename file /debug/tracing/iter_ctrl to /debug/tracing/trace_options The original ftrace had a file called "iter_ctrl" that would control the way the output was iterated. But this file grew into a catch all for different trace options. This patch renames the file from iter_ctrl to trace_options to reflect this change. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 1696b2b0f44a8d42f3e6b1ea90c21790871c04d9 Author: Steven Rostedt Date: Thu Nov 13 00:09:35 2008 -0500 ftrace: show buffer size in kilobytes Impact: change the units of buffer_size_kb to kilobytes This patch changes the units of the buffer_size_kb file to kilobytes. Reading and writing to the file uses kilobytes as units. To help users to know what units are used, the output of the file now looks like: # cat /debug/tracing/buffer_size_kb 1408 Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a94c80e78bc9f4493ffc25a02d5d7bcd93c399d0 Author: Steven Rostedt Date: Wed Nov 12 17:52:36 2008 -0500 ftrace: rename trace_entries to buffer_size_kb Impact: rename of debugfs file trace_entries to buffer_size_kb The original ftrace had fixed size entries, and the number of entries was shown and modified via the file called trace_entries. By converting to the unified trace buffer, we now allow for variable size entries which makes the meaning of trace_entries pointless. Since trace_size might be confused to the size of the trace, this patch names it "buffer_size_kb" (thanks to Arjan van de Ven for this idea). [ mingo@elte.hu: changed from buffer_size to buffer_size_kb ] ( Note, the units are still bytes - the next patch changes that, to keep the wide rename patch separate from the unit-change patch. ) Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 24de38620dd3504782c90c0892eef888d0c351e9 Merge: 94b80ff... 68f96c0... 1dc1c6a... 47e74f2... Author: Ingo Molnar Date: Thu Nov 13 09:48:03 2008 +0100 Merge branches 'tracing/branch-tracer', 'tracing/fastboot', 'tracing/function-return-tracer' and 'tracing/urgent' into tracing/core commit 524ad0a79126efabf58d0a49eace6155ab5b4549 Author: Wang Chen Date: Wed Nov 12 23:39:10 2008 -0800 netdevice: safe convert to netdev_priv() #part-4 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 8f15ea42b64941001a401cf855a0869e24f3a845 Author: Wang Chen Date: Wed Nov 12 23:38:36 2008 -0800 netdevice: safe convert to netdev_priv() #part-3 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 4cf1653aa90c6320dc8032443b5e322820aa28b1 Author: Wang Chen Date: Wed Nov 12 23:38:14 2008 -0800 netdevice: safe convert to netdev_priv() #part-2 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 454d7c9b14e20fd1949e2686e9de4a2926e01476 Author: Wang Chen Date: Wed Nov 12 23:37:49 2008 -0800 netdevice: safe convert to netdev_priv() #part-1 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 7a12122c7a00347da9669cfcde82954c9e3d6f5e Author: Arnaud Ebalard Date: Wed Nov 12 23:28:15 2008 -0800 net: Remove unused parameter of xfrm_gen_index() In commit 2518c7c2b3d7f0a6b302b4efe17c911f8dd4049f ("[XFRM]: Hash policies when non-prefixed."), the last use of xfrm_gen_policy() first argument was removed, but the argument was left behind in the prototype. Signed-off-by: Arnaud Ebalard Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 2378982487c492541d17adc0a870e7e83b07ba43 Author: Alexey Dobriyan Date: Wed Nov 12 23:25:32 2008 -0800 net: ifdef struct sock::sk_async_wait_queue Every user is under CONFIG_NET_DMA already, so ifdef field as well. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3a95cb972bb0eb80dfdb42f11628e6d58bcdde29 Author: Wu Fengguang Date: Thu Nov 13 10:19:38 2008 +0800 ALSA: handle SiI1392 HDMI codec in patch_intelhdmi.c Move the handling of SiI1392 HDMI codec from patch_atihdmi.c to patch_intelhdmi.c, which makes our ASUS P5E-VM HDMI board work. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit e4412cb8a6b4190cf73ae44c859fd7e3727d8b13 Author: Michael Chan Date: Wed Nov 12 16:03:05 2008 -0800 bnx2: Update version to 1.8.2. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 40105c0b0753515711318db87d36c8338dc74490 Author: Michael Chan Date: Wed Nov 12 16:02:45 2008 -0800 bnx2: Reorganize timeout constants. Move all related timeout constants to the same location. BNX2 prefix is also added to make them more consistent. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit d8026d939495c105cf747c0196a8fa738cf2ad20 Author: Michael Chan Date: Wed Nov 12 16:02:20 2008 -0800 bnx2: Set rx buffer water marks based on MTU. The default rx buffer water marks for XOFF/XON are for 1500 MTU. At larger MTUs, these water marks need to be adjusted for effective flow control. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 5ec6d7bf195c2e70003ff30e4f51390ef7e85a31 Author: Michael Chan Date: Wed Nov 12 16:01:41 2008 -0800 bnx2: Restrict WoL support. On some quad-port cards that cannot support WoL on all ports due to excessive power consumption, the driver needs to restrict WoL on some ports by checking VAUX_PRESET bit. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 1caacecb7cb2b72e798f06a32b5061075cf397fa Author: Michael Chan Date: Wed Nov 12 16:01:12 2008 -0800 bnx2: Add PCI ID for 5716S. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 1dc1c6adf38bc5799d1594681645ced40ced4b6b Author: Frederic Weisbecker Date: Wed Nov 12 22:49:23 2008 +0100 tracing/function-return-tracer: call prepare_ftrace_return by registers Impact: Optimize a bit the function return tracer This patch changes the calling convention of prepare_ftrace_return to pass its arguments by register. This will optimize it a bit and prepare it to support dynamic tracing. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 62d59d17a5f98edb48b171742dfa531488802f07 Author: Frederic Weisbecker Date: Wed Nov 12 22:47:54 2008 +0100 tracing/function-return-tracer: make the function return tracer lockless Impact: remove spinlocks and irq disabling in function return tracer. I've tried to figure out all of the race condition that could happen when the tracer pushes or pops a return address trace to/from the current thread_info. Theory: _ One thread can only execute on one cpu at a time. So this code doesn't need to be SMP-safe. Just drop the spinlock. _ The only race could happen between the current thread and an interrupt. If an interrupt is raised, it will increase the index of the return stack storage and then execute until the end of the tracing to finally free the index it used. We don't need to disable irqs. This is theorical. In practice, I've tested it with a two-core SMP and had no problem at all. Perhaps -tip testing could confirm it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 94b80ffd650b22e1fd493ccf6bad7efda4b8ea85 Author: Steven Rostedt Date: Wed Nov 12 16:18:45 2008 -0500 ftrace: rename trace_unlikely.c file Impact: File name change of trace_unlikely.c The "unlikely" name for the tracer is quite ugly. We renamed all the parts of it to "branch" and now it is time to rename the file too. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 80e5ea4506791af206266c5921c97f11d3b17866 Author: Steven Rostedt Date: Wed Nov 12 15:24:24 2008 -0500 ftrace: add tracer called branch Impact: added new branch tracer Currently the tracing of branch profiling (unlikelys and likelys hit) is only activated by the iter_ctrl. This patch adds a tracer called "branch" that will just trace the branch profiling. The advantage of adding this tracer is that it can be added to the ftrace selftests on startup. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9f029e83e968e5661d7be045bbcb620dbb909938 Author: Steven Rostedt Date: Wed Nov 12 15:24:24 2008 -0500 ftrace: rename unlikely iter_ctrl to branch Impact: rename of iter_ctrl unlikely to branch The unlikely name is ugly. This patch converts the iter_ctrl command "unlikely" and "nounlikely" to "branch" and "nobranch" respectively. It also renames a lot of internal functions to use "branch" instead of "unlikely". Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2ed84eeb8808cf3c9f039213ca137ffd7d753f0e Author: Steven Rostedt Date: Wed Nov 12 15:24:24 2008 -0500 trace: rename unlikely profiler to branch profiler Impact: name change of unlikely tracer and profiler Ingo Molnar suggested changing the config from UNLIKELY_PROFILE to BRANCH_PROFILING. I never did like the "unlikely" name so I went one step farther, and renamed all the unlikely configurations to a "BRANCH" variant. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 8652cb4b0d87accbe78725fd2a13be2787059649 Author: Prarit Bhargava Date: Wed Nov 12 13:35:00 2008 -0500 x86: warn of incorrect cpu_khz on AMD systems Impact: add debug check If none of the perfctrs are free when calculating cpu_khz we default to using ctr 3 (ie, we just choose 3). This may lead to an incorrect tsc freq value which can cause the system to be unstable. To aid in future debugging, WARN the user of a potential problem. Signed-off-by: Prarit Bhargava Signed-off-by: Ingo Molnar commit 8665596ec05498525014436520b316ba174a068a Author: H. Peter Anvin Date: Wed Nov 12 10:27:35 2008 -0800 x86: fix up the new IRQ code for older versions of gas Older versions of gas don't implement the C-style != operator, they instead want the Pascal-style <> operator. Change != to <> so we don't break compilation with those old versions of gas. Signed-off-by: H. Peter Anvin commit 68f96c0c889b55bf62eee98e859cb686f8850188 Author: Stephen Hemminger Date: Wed Nov 12 10:21:01 2008 -0800 tracing/fastboot: fix perlcritic warning Impact: cleanup Fix the following warning from the perl syntax checking tool perlcritic. This tool is a lint like tool that checks for perl best practices. Loop iterator is not lexical at line 113, column 1. See page 108 of PBP. (Severity: 5) Signed-off-by: Stephen Hemminger Signed-off-by: Ingo Molnar commit c415b3dce30dfb41234e118662e8720f47343a4f Author: Eduardo Habkost Date: Wed Nov 12 11:34:44 2008 -0200 x86: disable IRQs before doing anything on nmi_shootdown_cpus() Impact: make nmi_shootdown_cpus() callable from preemptible context We need to know on which CPU we are running on, and we don't want to be preempted while doing this. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit bb8dd270e62217e2d2172094c6c352c4ddc0a127 Author: Eduardo Habkost Date: Wed Nov 12 11:34:43 2008 -0200 x86: make nmi_shootdown_cpus() available on !SMP and !X86_LOCAL_APIC Impact: widen nmi_shootdown_cpus() availability The X86_LOCAL_APIC #ifdef was for kdump. For !SMP, the function simply does nothing. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit 2ddded213895e41b9cfe1c084127e6c01632ac1a Author: Eduardo Habkost Date: Wed Nov 12 11:34:42 2008 -0200 x86: move nmi_shootdown_cpus() to reboot.c Impact: make nmi_shootdown_cpus() available to the rest of the x86 platform Now nmi_shootdown_cpus() is ready to be used by non-kdump code also. Move it to reboot.c. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit c370e5e089adfd5b1b863f3464cccae9ebf33cca Author: Eduardo Habkost Date: Wed Nov 12 11:34:41 2008 -0200 x86 kdump: make nmi_shootdown_cpus() non-static Impact: make API available to the rest of x86 platform code Add prototype to asm/reboot.h. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit 8e294786316aca41c66b8b73ba1ee74a4ae7d452 Author: Eduardo Habkost Date: Wed Nov 12 11:34:40 2008 -0200 x86 kdump: make kdump_nmi_callback() a function ptr on crash_nmi_callback() Impact: extend nmi_shootdown_cpus() with a callback The reboot code will use a different function on crash_nmi_callback(). Adding a function pointer parameter to nmi_shootdown_cpus() for that. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit d1e7b91cfaa8fc5ed736dcfb8beb5134a2385228 Author: Eduardo Habkost Date: Wed Nov 12 11:34:39 2008 -0200 x86 kdump: create kdump_nmi_shootdown_cpus() Impact: cleanup For the kdump-specific code that was living on nmi_shootdown_cpus(). Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit b2bbe71b829564fb65a6bc7e1e25e02d70cffce8 Author: Eduardo Habkost Date: Wed Nov 12 11:34:38 2008 -0200 x86 kdump: move crashing_cpu assignment to nmi_shootdown_cpus() Impact: cleanup This variable will be moved to non-kdump-specific code. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit a7d41820f683c35b53af719210a51f6aa0f86a6a Author: Eduardo Habkost Date: Wed Nov 12 11:34:37 2008 -0200 x86 kdump: extract kdump-specific code from crash_nmi_callback() Impact: cleanup The NMI CPU-halting code will be used on non-kdump cases, also (e.g. emergency_reboot when virtualization is enabled). Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar commit fd64138c0eff8351b93ef99f7da929bb8a49b9ed Author: Jaroslav Kysela Date: Wed Nov 12 16:53:47 2008 +0100 ALSA: include/sound/info.h - coding style changed Change coding style to be more acceptable by checkpatch.pl. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 972d4c50fbbb1b9c10293ff90e4e1d45e7fb21ac Author: Jaroslav Kysela Date: Wed Nov 12 16:37:48 2008 +0100 ALSA: hdsp/hdspm: remove card->id from rawmidi device name The card->id (card text identification) can be changed at runtime. It might be confusing to have old text identification in device name. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit c2eb9c4ea383aee154e7139395872c4da629e715 Author: Jaroslav Kysela Date: Wed Nov 12 16:31:37 2008 +0100 ALSA: when card identification is changed, change also /proc/asound symlink Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 9fb6198e8c574c6547fbfac0ae1eaf7894ddfdcc Author: Jaroslav Kysela Date: Tue Nov 11 16:51:02 2008 +0100 ALSA: add /sys/class/sound/card#/id (r/w) and card#/number (r/o) files For udev, we need a way to rename soundcard names. The soundcard numbers (indexes) are hardwired but we have a text identification which can be changed at run-time. The ALSA user space tools already allow using of this text identification. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit eb42c75878e4d13941dcbcf2ef1027c257b099a6 Merge: 9868ee6... f21f237... Author: Ingo Molnar Date: Wed Nov 12 15:43:39 2008 +0100 Merge branch 'linus' into x86/crashdump commit 11843ee4d5ee130b84de01c019dde7bf0a3eca78 Author: Takashi Iwai Date: Wed Nov 12 15:18:41 2008 +0100 ALSA: powermac - Rename mic-analog loopback mixer element PCM Playback Volume:1 is actually assigned to a mic loopback volume on iBook G4. Let's rename it. Signed-off-by: Takashi Iwai commit 68d119f0a66f7e3663304343b072e56a2693446b Author: Ingo Molnar Date: Wed Nov 12 14:09:30 2008 +0100 tracing: finetune branch-tracer output Steve suggested the to change the output from this: > bash-3471 [003] 357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [ .... ] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [ .... ] calc_delta_fair:sched_fair.c:411 to this: > bash-3471 [003] 357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [ ok ] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [ ok ] calc_delta_fair:sched_fair.c:411 as it makes it clearer to the user what it means exactly. Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2b7d0390a6d6d595f43ea3806639664afe5b9ebe Author: Ingo Molnar Date: Wed Nov 12 13:17:38 2008 +0100 tracing: branch tracer, fix vdso crash Impact: fix bootup crash the branch tracer missed arch/x86/vdso/vclock_gettime.c from disabling tracing, which caused such bootup crashes: [ 201.840097] init[1]: segfault at 7fffed3fe7c0 ip 00007fffed3fea2e sp 000077 also clean up the ugly ifdefs in arch/x86/kernel/vsyscall_64.c by creating DISABLE_UNLIKELY_PROFILE facility for code to turn off instrumentation on a per file basis. Signed-off-by: Ingo Molnar commit fb0ef645f2c546f8297b2fbf9b2b8fff4a7455e8 Author: Naresh Medisetty Date: Wed Nov 12 10:26:31 2008 +0530 ASoC: DaVinci: Audio: Fix swapping of channels at start of stereo playback Fixes swapping of channels at start of stereo playback. Channel swap can be observed while playing left-only or right-only audio data. The channel swap is fixed by handling the XSYNCERR condition. Signed-off-by: Naresh Medisetty Signed-off-by: Mark Brown commit e25cf3db560e803292946ef23a30c69e341ce56f Author: Ingo Molnar Date: Fri Oct 17 15:55:07 2008 +0200 lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c fix this warning: net/bluetooth/af_bluetooth.c:60: warning: ‘bt_key_strings’ defined but not used net/bluetooth/af_bluetooth.c:71: warning: ‘bt_slock_key_strings’ defined but not used this is a lockdep macro problem in the !LOCKDEP case. We cannot convert it to an inline because the macro works on multiple types, but we can mark the parameter used. [ also clean up a misaligned tab in sock_lock_init_class_and_name() ] [ also remove #ifdefs from around af_family_clock_key strings - which were certainly added to get rid of the ugly build warnings. ] Signed-off-by: Ingo Molnar commit 708b8eae0fd532af73ea8350e6dcc10255ff7376 Merge: d98d38f... f21f237... Author: Ingo Molnar Date: Wed Nov 12 12:39:21 2008 +0100 Merge branch 'linus' into core/locking commit 9cc3c49ed1b1dbf6e50de4055a6773bd162f24b7 Author: Hiroshi Shimamoto Date: Tue Nov 11 19:11:39 2008 -0800 x86: ia32_signal: remove unnecessary padding Impact: reduce structure padding Remove unnecessary paddings, this saves 4 bytes. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 4a61204856e8b28e9f5489a7875cb3a60afd1e43 Author: Hiroshi Shimamoto Date: Tue Nov 11 19:09:29 2008 -0800 x86: signal_32: introduce retcode and rt_retcode Impact: cleanup Introduce retcode and rt_retcode to replace setting up frame->retcode. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit f88c4ae9f8c3939bee4337c75c7a673b5de7a8a7 Author: Ingo Molnar Date: Wed Nov 12 11:55:41 2008 +0100 tracing: branch tracer, tweak output Impact: modify the tracer output, to make it a bit easier to read Change the output from: > bash-3471 [003] 357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [correct] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [correct] calc_delta_fair:sched_fair.c:411 to: > bash-3471 [003] 357.014755: [ MISS ] sched_info_dequeued:sched_stats.h:177 > bash-3471 [003] 357.014756: [ .... ] update_curr:sched_fair.c:489 > bash-3471 [003] 357.014758: [ .... ] calc_delta_fair:sched_fair.c:411 it's good to have fields aligned vertically, and the only important information is a prediction miss, so display only that information. Signed-off-by: Ingo Molnar commit 52f232cb720a7babb752849cbc2cab2d24021209 Author: Steven Rostedt Date: Wed Nov 12 00:14:40 2008 -0500 tracing: likely/unlikely branch annotation tracer Impact: new likely/unlikely branch tracer This patch adds a way to record the instances of the likely() and unlikely() branch condition annotations. When "unlikely" is set in /debugfs/tracing/iter_ctrl the unlikely conditions will be added to any of the ftrace tracers. The change takes effect when a new tracer is passed into the current_tracer file. For example: bash-3471 [003] 357.014755: [INCORRECT] sched_info_dequeued:sched_stats.h:177 bash-3471 [003] 357.014756: [correct] update_curr:sched_fair.c:489 bash-3471 [003] 357.014758: [correct] calc_delta_fair:sched_fair.c:411 bash-3471 [003] 357.014759: [correct] account_group_exec_runtime:sched_stats.h:356 bash-3471 [003] 357.014761: [correct] update_curr:sched_fair.c:489 bash-3471 [003] 357.014763: [INCORRECT] calc_delta_fair:sched_fair.c:411 bash-3471 [003] 357.014765: [correct] calc_delta_mine:sched.c:1279 Which shows the normal tracer heading, as well as whether the condition was correct "[correct]" or was mistaken "[INCORRECT]", followed by the function, file name and line number. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 1f0d69a9fc815db82f15722bf05227190b1d714d Author: Steven Rostedt Date: Wed Nov 12 00:14:39 2008 -0500 tracing: profile likely and unlikely annotations Impact: new unlikely/likely profiler Andrew Morton recently suggested having an in-kernel way to profile likely and unlikely macros. This patch achieves that goal. When configured, every(*) likely and unlikely macro gets a counter attached to it. When the condition is hit, the hit and misses of that condition are recorded. These numbers can later be retrieved by: /debugfs/tracing/profile_likely - All likely markers /debugfs/tracing/profile_unlikely - All unlikely markers. # cat /debug/tracing/profile_unlikely | head correct incorrect % Function File Line ------- --------- - -------- ---- ---- 2167 0 0 do_arch_prctl process_64.c 832 0 0 0 do_arch_prctl process_64.c 804 2670 0 0 IS_ERR err.h 34 71230 5693 7 __switch_to process_64.c 673 76919 0 0 __switch_to process_64.c 639 43184 33743 43 __switch_to process_64.c 624 12740 64181 83 __switch_to process_64.c 594 12740 64174 83 __switch_to process_64.c 590 # cat /debug/tracing/profile_unlikely | \ awk '{ if ($3 > 25) print $0; }' |head -20 44963 35259 43 __switch_to process_64.c 624 12762 67454 84 __switch_to process_64.c 594 12762 67447 84 __switch_to process_64.c 590 1478 595 28 syscall_get_error syscall.h 51 0 2821 100 syscall_trace_leave ptrace.c 1567 0 1 100 native_smp_prepare_cpus smpboot.c 1237 86338 265881 75 calc_delta_fair sched_fair.c 408 210410 108540 34 calc_delta_mine sched.c 1267 0 54550 100 sched_info_queued sched_stats.h 222 51899 66435 56 pick_next_task_fair sched_fair.c 1422 6 10 62 yield_task_fair sched_fair.c 982 7325 2692 26 rt_policy sched.c 144 0 1270 100 pre_schedule_rt sched_rt.c 1261 1268 48073 97 pick_next_task_rt sched_rt.c 884 0 45181 100 sched_info_dequeued sched_stats.h 177 0 15 100 sched_move_task sched.c 8700 0 15 100 sched_move_task sched.c 8690 53167 33217 38 schedule sched.c 4457 0 80208 100 sched_info_switch sched_stats.h 270 30585 49631 61 context_switch sched.c 2619 # cat /debug/tracing/profile_likely | awk '{ if ($3 > 25) print $0; }' 39900 36577 47 pick_next_task sched.c 4397 20824 15233 42 switch_mm mmu_context_64.h 18 0 7 100 __cancel_work_timer workqueue.c 560 617 66484 99 clocksource_adjust timekeeping.c 456 0 346340 100 audit_syscall_exit auditsc.c 1570 38 347350 99 audit_get_context auditsc.c 732 0 345244 100 audit_syscall_entry auditsc.c 1541 38 1017 96 audit_free auditsc.c 1446 0 1090 100 audit_alloc auditsc.c 862 2618 1090 29 audit_alloc auditsc.c 858 0 6 100 move_masked_irq migration.c 9 1 198 99 probe_sched_wakeup trace_sched_switch.c 58 2 2 50 probe_wakeup trace_sched_wakeup.c 227 0 2 100 probe_wakeup_sched_switch trace_sched_wakeup.c 144 4514 2090 31 __grab_cache_page filemap.c 2149 12882 228786 94 mapping_unevictable pagemap.h 50 4 11 73 __flush_cpu_slab slub.c 1466 627757 330451 34 slab_free slub.c 1731 2959 61245 95 dentry_lru_del_init dcache.c 153 946 1217 56 load_elf_binary binfmt_elf.c 904 102 82 44 disk_put_part genhd.h 206 1 1 50 dst_gc_task dst.c 82 0 19 100 tcp_mss_split_point tcp_output.c 1126 As you can see by the above, there's a bit of work to do in rethinking the use of some unlikelys and likelys. Note: the unlikely case had 71 hits that were more than 25%. Note: After submitting my first version of this patch, Andrew Morton showed me a version written by Daniel Walker, where I picked up the following ideas from: 1) Using __builtin_constant_p to avoid profiling fixed values. 2) Using __FILE__ instead of instruction pointers. 3) Using the preprocessor to stop all profiling of likely annotations from vsyscall_64.c. Thanks to Andrew Morton, Arjan van de Ven, Theodore Tso and Ingo Molnar for their feed back on this patch. (*) Not ever unlikely is recorded, those that are used by vsyscalls (a few of them) had to have profiling disabled. Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: Frederic Weisbecker Cc: Theodore Tso Cc: Arjan van de Ven Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit cb9382e5a94e54d0356d730954396c746ae66d6e Merge: 7423907... 642edba... Author: Ingo Molnar Date: Wed Nov 12 11:50:51 2008 +0100 Merge branches 'tracing/fastboot', 'tracing/function-return-tracer' and 'tracing/ring-buffer' into tracing/core commit 642edba5f5c545772b89907cf96134c73d6073c7 Author: Steven Rostedt Date: Wed Nov 12 00:01:26 2008 -0500 ring-buffer: fix deadlock from reader_lock in read_start Impact: deadlock fix in ring_buffer_read_start The ring_buffer_iter_reset was called from ring_buffer_read_start where both grabbed the reader_lock. This patch separates out the internals of ring_buffer_iter_reset to its own function so that both APIs may grab the reader_lock. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 92a77aac9812d5397abbe6f1920e085e50838635 Author: James Morris Date: Wed Nov 12 21:20:00 2008 +1100 security: remove broken and useless declarations Remove broken declarations for security_capable* functions, which were not needed anyway. Signed-off-by: James Morris commit a7d26f84cb76b962217ce277c3e3a9748a26ac11 Author: Jaroslav Kysela Date: Wed Nov 12 11:02:25 2008 +0100 ALSA: Release v1.0.18a Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 74239072830ef3f1398edeb1bc1076fc330fd4a2 Author: Frederic Weisbecker Date: Tue Nov 11 23:24:42 2008 +0100 tracing/fastboot: Use the ring-buffer timestamp for initcall entries Impact: Split the boot tracer entries in two parts: call and return Now that we are using the sched tracer from the boot tracer, we want to use the same timestamp than the ring-buffer to have consistent time captures between sched events and initcall events. So we get rid of the old time capture by the boot tracer and split the initcall events in two parts: call and return. This way we have the ring buffer timestamp of both. An example trace: [ 27.904149584] calling net_ns_init+0x0/0x1c0 @ 1 [ 27.904429624] initcall net_ns_init+0x0/0x1c0 returned 0 after 0 msecs [ 27.904575926] calling reboot_init+0x0/0x20 @ 1 [ 27.904655399] initcall reboot_init+0x0/0x20 returned 0 after 0 msecs [ 27.904800228] calling sysctl_init+0x0/0x30 @ 1 [ 27.905142914] initcall sysctl_init+0x0/0x30 returned 0 after 0 msecs [ 27.905287211] calling ksysfs_init+0x0/0xb0 @ 1 ##### CPU 0 buffer started #### init-1 [000] 27.905395: 1:120:R + [001] 11:115:S ##### CPU 1 buffer started #### -0 [001] 27.905425: 0:140:R ==> [001] 11:115:R init-1 [000] 27.905426: 1:120:D ==> [000] 0:140:R -0 [000] 27.905431: 0:140:R + [000] 4:115:S -0 [000] 27.905451: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.905456: 4:115:S ==> [000] 0:140:R udevd-11 [001] 27.905458: 11:115:R + [001] 14:115:R -0 [000] 27.905459: 0:140:R + [000] 4:115:S -0 [000] 27.905462: 0:140:R ==> [000] 4:115:R udevd-11 [001] 27.905462: 11:115:R ==> [001] 14:115:R ksoftirqd/0-4 [000] 27.905467: 4:115:S ==> [000] 0:140:R -0 [000] 27.905470: 0:140:R + [000] 4:115:S -0 [000] 27.905473: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.905476: 4:115:S ==> [000] 0:140:R -0 [000] 27.905479: 0:140:R + [000] 4:115:S -0 [000] 27.905482: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.905486: 4:115:S ==> [000] 0:140:R udevd-14 [001] 27.905499: 14:120:X ==> [001] 11:115:R udevd-11 [001] 27.905506: 11:115:R + [000] 1:120:D -0 [000] 27.905515: 0:140:R ==> [000] 1:120:R udevd-11 [001] 27.905517: 11:115:S ==> [001] 0:140:R [ 27.905557107] initcall ksysfs_init+0x0/0xb0 returned 0 after 3906 msecs [ 27.905705736] calling init_jiffies_clocksource+0x0/0x10 @ 1 [ 27.905779239] initcall init_jiffies_clocksource+0x0/0x10 returned 0 after 0 msecs [ 27.906769814] calling pm_init+0x0/0x30 @ 1 [ 27.906853627] initcall pm_init+0x0/0x30 returned 0 after 0 msecs [ 27.906997803] calling pm_disk_init+0x0/0x20 @ 1 [ 27.907076946] initcall pm_disk_init+0x0/0x20 returned 0 after 0 msecs [ 27.907222556] calling swsusp_header_init+0x0/0x30 @ 1 [ 27.907294325] initcall swsusp_header_init+0x0/0x30 returned 0 after 0 msecs [ 27.907439620] calling stop_machine_init+0x0/0x50 @ 1 init-1 [000] 27.907485: 1:120:R + [000] 2:115:S init-1 [000] 27.907490: 1:120:D ==> [000] 2:115:R kthreadd-2 [000] 27.907507: 2:115:R + [001] 15:115:R -0 [001] 27.907517: 0:140:R ==> [001] 15:115:R kthreadd-2 [000] 27.907517: 2:115:D ==> [000] 0:140:R -0 [000] 27.907521: 0:140:R + [000] 4:115:S -0 [000] 27.907524: 0:140:R ==> [000] 4:115:R udevd-15 [001] 27.907527: 15:115:D + [000] 2:115:D ksoftirqd/0-4 [000] 27.907537: 4:115:S ==> [000] 2:115:R udevd-15 [001] 27.907537: 15:115:D ==> [001] 0:140:R kthreadd-2 [000] 27.907546: 2:115:R + [000] 1:120:D kthreadd-2 [000] 27.907550: 2:115:S ==> [000] 1:120:R init-1 [000] 27.907584: 1:120:R + [000] 15: 0:D init-1 [000] 27.907589: 1:120:R + [000] 2:115:S init-1 [000] 27.907593: 1:120:D ==> [000] 15: 0:R udevd-15 [000] 27.907601: 15: 0:S ==> [000] 2:115:R ##### CPU 0 buffer started #### kthreadd-2 [000] 27.907616: 2:115:R + [001] 16:115:R ##### CPU 1 buffer started #### -0 [001] 27.907620: 0:140:R ==> [001] 16:115:R kthreadd-2 [000] 27.907621: 2:115:D ==> [000] 0:140:R udevd-16 [001] 27.907625: 16:115:D + [000] 2:115:D -0 [000] 27.907628: 0:140:R + [000] 4:115:S udevd-16 [001] 27.907629: 16:115:D ==> [001] 0:140:R -0 [000] 27.907631: 0:140:R ==> [000] 4:115:R ksoftirqd/0-4 [000] 27.907636: 4:115:S ==> [000] 2:115:R kthreadd-2 [000] 27.907644: 2:115:R + [000] 1:120:D kthreadd-2 [000] 27.907647: 2:115:S ==> [000] 1:120:R init-1 [000] 27.907657: 1:120:R + [001] 16: 0:D -0 [001] 27.907666: 0:140:R ==> [001] 16: 0:R [ 27.907703862] initcall stop_machine_init+0x0/0x50 returned 0 after 0 msecs [ 27.907850704] calling filelock_init+0x0/0x30 @ 1 [ 27.907926573] initcall filelock_init+0x0/0x30 returned 0 after 0 msecs [ 27.908071327] calling init_script_binfmt+0x0/0x10 @ 1 [ 27.908165195] initcall init_script_binfmt+0x0/0x10 returned 0 after 0 msecs [ 27.908309461] calling init_elf_binfmt+0x0/0x10 @ 1 Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3f5ec13696fd4a33bde42f385406cbb1d3cc96fd Author: Frederic Weisbecker Date: Tue Nov 11 23:21:31 2008 +0100 tracing/fastboot: move boot tracer structs and funcs into their own header. Impact: Cleanups on the boot tracer and ftrace This patch bring some cleanups about the boot tracer headers. The functions and structures of this tracer have nothing related to ftrace and should have so their own header file. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 60a011c736e7dd09a0b01ca6a051a416f3f52ffb Merge: d06bbd6... 19b3e96... Author: Ingo Molnar Date: Wed Nov 12 10:17:09 2008 +0100 Merge branch 'tracing/function-return-tracer' into tracing/fastboot commit d06bbd669539215405874d8fe32ab65105e6c4bb Merge: d844222... 3e89c7b... c1e7abb... Author: Ingo Molnar Date: Wed Nov 12 10:11:37 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core Conflicts: kernel/trace/ring_buffer.c commit 90d0be2fc33b4c4e11fc596da4736189be947d99 Merge: f43aa02... d7a8943... Author: Takashi Iwai Date: Wed Nov 12 10:02:04 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_sigmatel.c commit e42ea986e4a4cab4209d982feffcaf50f21e80e3 Author: Eric Dumazet Date: Wed Nov 12 00:54:54 2008 -0800 net: Cleanup of neighbour code Using read_pnet() and write_pnet() in neighbour code ease the reading of code. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7a9546ee354ec6f23af403992b8c07baa50a23d2 Author: Eric Dumazet Date: Wed Nov 12 00:54:20 2008 -0800 net: ib_net pointer should depends on CONFIG_NET_NS We can shrink size of "struct inet_bind_bucket" by 50%, using read_pnet() and write_pnet() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8f424b5f32d78b4f353b3cddca9804808ef063eb Author: Eric Dumazet Date: Wed Nov 12 00:53:30 2008 -0800 net: Introduce read_pnet() and write_pnet() helpers This patch introduces two helpers that deal with reading and writing struct net pointers in various network structures. Their implementation depends on CONFIG_NET_NS For symmetry, both functions work with "struct net **pnet". Their usage should reduce the number of #ifdef CONFIG_NET_NS, without adding many helpers for each network structure that hold a "struct net *pointer" Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9eca0a47dee201a73967026985b5f0a79a46bd36 Author: Gerrit Renker Date: Wed Nov 12 00:48:44 2008 -0800 dccp: Resolve dependencies of features on choice of CCID This provides a missing link in the code chain, as several features implicitly depend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector feature, but also Ack Ratio and Send Loss Event Rate (also taken care of). For Send Ack Vector, the situation is as follows: * since CCID2 mandates the use of Ack Vectors, there is no point in allowing endpoints which use CCID2 to disable Ack Vector features such a connection; * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4); * for all other CCIDs, the use of (Send) Ack Vector is optional and thus negotiable. However, this implies that the code negotiating the use of Ack Vectors also supports it (i.e. is able to supply and to either parse or ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack Vector support), the use of Ack Vectors is here disabled, with a comment in the source code. An analogous consideration arises for the Send Loss Event Rate feature, since the CCID-3 implementation does not support the loss interval options of RFC 4342. To make such use explicit, corresponding feature-negotiation options are inserted which signal the use of the loss event rate option, as it is used by the CCID3 code. Lastly, the values of the Ack Ratio feature are matched to the choice of CCID. The patch implements this as a function which is called after the user has made all other registrations for changing default values of features. The table is variable-length, the reserved (and hence for feature-negotiation invalid, confirmed by considering section 19.4 of RFC 4340) feature number `0' is used to mark the end of the table. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit d90ebcbfa7f5a8b4e20518c9f94c5c4e4cd3c2e5 Author: Gerrit Renker Date: Wed Nov 12 00:47:26 2008 -0800 dccp: Query supported CCIDs This provides a data structure to record which CCIDs are locally supported and three accessor functions: - a test function for internal use which is used to validate CCID requests made by the user; - a copy function so that the list can be used for feature-negotiation; - documented getsockopt() support so that the user can query capabilities. The data structure is a table which is filled in at compile-time with the list of available CCIDs (which in turn depends on the Kconfig choices). Using the copy function for cloning the list of supported CCIDs is useful for feature negotiation, since the negotiation is now with the full list of available CCIDs (e.g. {2, 3}) instead of the default value {2}. This means negotiation will not fail if the peer requests to use CCID3 instead of CCID2. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit e8ef967a54f401ac5e8637b7f7f8bddb006144c4 Author: Gerrit Renker Date: Wed Nov 12 00:43:40 2008 -0800 dccp: Registration routines for changing feature values Two registration routines, for SP and NN features, are provided by this patch, replacing a previous routine which was used for both feature types. These are internal-only routines and therefore start with `__feat_register'. It further exports the known limits of Sequence Window and Ack Ratio as symbolic constants. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit f74e91b6cca5889e667193c7e794186db73c2000 Author: Gerrit Renker Date: Wed Nov 12 00:42:58 2008 -0800 dccp: Limit feature negotiation to connection setup phase This patch limits feature (capability) negotation to the connection setup phase: 1. Although it is theoretically possible to perform feature negotiation at any time (and RFC 4340 supports this), in practice this is prohibitively complex, as it requires to put traffic on hold for each new negotiation. 2. As a byproduct of restricting feature negotiation to connection setup, the feature-negotiation retransmit timer is no longer required. This part is now mapped onto the protocol-level retransmission. Details indicating why timers are no longer needed can be found on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\ implementation_notes.html This patch disables anytime negotiation, subsequent patches work out full feature negotiation support for connection setup. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6bb3ce25d05f2990c8a19adaf427531430267c1f Author: Alexey Dobriyan Date: Tue Nov 11 17:25:22 2008 -0800 net: remove struct dst_entry::entry_size Unused after kmem_cache_zalloc() conversion. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9b739ba5e66c96938fbc07a4dbd9da5b81eac56f Author: Alexey Dobriyan Date: Tue Nov 11 16:47:44 2008 -0800 net: remove struct neigh_table::pde ->pde isn't actually needed, since name is stashed in ->id. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 14d7ca5c575853664d8fe4f225a77b8df1b7de7d Author: H. Peter Anvin Date: Tue Nov 11 16:19:48 2008 -0800 x86: attempt reboot via port CF9 if we have standard PCI ports Impact: Changes reboot behavior. If port CF9 seems to be safe to touch, attempt it before trying the keyboard controller. Port CF9 is not available on all chipsets (a significant but decreasing number of modern chipsets don't implement it), but port CF9 itself should in general be safe to poke (no ill effects if unimplemented) on any system which has PCI Configuration Method #1 or #2, as it falls inside the PCI configuration port range in both cases. No chipset without PCI is known to have port CF9, either, although an explicit "pci=bios" would mean we miss this and therefore don't use port CF9. An explicit "reboot=pci" can be used to force the use of port CF9. Signed-off-by: H. Peter Anvin commit 5a6bb10393eb9a1985e97af12f0cb2906bcbf1af Author: Christoph Hellwig Date: Wed Nov 12 07:48:01 2008 +0900 fat: make sure to set d_ops in fat_get_parent fat_get_parent needs to setup the dentry operations, otherwise we might lose them when the NFS server needs to reconnect out of cache inodes. Signed-off-by: Christoph Hellwig Signed-off-by: OGAWA Hirofumi commit 985eafcc5480b0d98419b96869f2560abb2764c7 Author: OGAWA Hirofumi Date: Wed Nov 12 07:48:01 2008 +0900 fat: fix duplicate addition of ->llseek handler Signed-off-by: OGAWA Hirofumi commit ebeb0406f153db51ab2d4771faf2342bd6ca14dd Author: OGAWA Hirofumi Date: Wed Nov 12 07:48:00 2008 +0900 fat: drop negative dentry on rename() path Drop the negative dentry on rename() path, in order to make sure to use the case sensitive name which is specified by user if this is for creation. For it, this uses newly added LOOKUP_RENAME_TARGET like LOOKUP_CREATE. Signed-off-by: OGAWA Hirofumi commit 7e452baf6b96b5aeba097afd91501d33d390cc97 Merge: 3ac38c3... f21f237... Author: David S. Miller Date: Tue Nov 11 15:43:02 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/message/fusion/mptlan.c drivers/net/sfc/ethtool.c net/mac80211/debugfs_sta.c commit 3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833 Merge: eb37b41... 9757d55... Author: David S. Miller Date: Tue Nov 11 14:40:06 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 939b787130bf22887a09d8fd2641a094dcef8c22 Author: H. Peter Anvin Date: Tue Nov 11 13:51:52 2008 -0800 x86: 64 bits: shrink and align IRQ stubs Move the IRQ stub generation to assembly to simplify it and for consistency with 32 bits. Doing it in a C file with asm() statements doesn't help clarity, and it prevents some optimizations. Shrink the IRQ stubs down to just over four bytes per (we fit seven into a 32-byte chunk.) This shrinks the total icache consumption of the IRQ stubs down to an even kilobyte, if all of them are in active use. The downside is that we end up with a double jump, which could have a negative effect on some pipelines. The double jump is always inside the same cacheline on any modern chips. To get the most effect, cache-align the IRQ stubs. This makes the 64-bit code match changes already done to the 32-bit code, and should open up irqinit*.c for unification. Signed-off-by: H. Peter Anvin commit 486936cd93e99c802153b3f2f629c5ce62b8c0d4 Merge: 1c1b777... f21f237... Author: Paul Mackerras Date: Wed Nov 12 08:43:22 2008 +1100 Merge branch 'linux-2.6' into next commit b7c6244f13d37592003b46e12500a90e9781ad9d Author: H. Peter Anvin Date: Tue Nov 11 13:24:58 2008 -0800 x86: 32 bits: shrink and align IRQ stubs Shrink the IRQ stubs on 32 bits down to just over four bytes per (we fit seven into a 32-byte chunk.) This shrinks the total icache consumption of the IRQ stubs down to an even kilobyte, if all of them are in active use. The downside is that we end up with a double jump, which could have a negative effect on some pipelines. The double jump is always inside the same cacheline on any modern chips (the exception being 486/Elan/Geode which have only 16-byte cachelines, but are unlikely to have too many interrupt sources.) To get the most effect, cache-align the IRQ stubs. Signed-off-by: H. Peter Anvin commit 4687518c4cb7807fbeff21770e309080f9eb7f2f Author: H. Peter Anvin Date: Tue Nov 11 13:03:07 2008 -0800 x86: 32 bit: interrupt stub consistency with 64 bit Don't generate interrupt stubs for interrupt vectors below FIRST_EXTERNAL_VECTOR, and make the table of interrupt vectors (interrupt[]) __initconst. Both of these changes both conserve memory and improve consistency with 64 bits. Signed-off-by: H. Peter Anvin commit 3e89c7bb92fc92bb964734341487798c8d497bae Author: Steven Rostedt Date: Tue Nov 11 15:28:41 2008 -0500 ring-buffer: clean up warn ons Impact: Restructure WARN_ONs in ring_buffer.c The current WARN_ON macros in ring_buffer.c are quite ugly. This patch cleans them up and uses a single RB_WARN_ON that returns the value of the condition. This allows the caller to abort the function if the condition is true. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9ee670fd87b7d69c8633b94c42aadcbbcb96f28e Author: KOSAKI Motohiro Date: Tue Nov 11 11:49:01 2008 +0900 x86/doc: spelling fix for grub Impact: documentation fix I met okuji-san (GRUB maintainer) yesterday. He said GRuB isn't correct spelled and he want to fix it. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit c280ea5e4c6ba0b38ed6b005150fe16a660e903b Author: Ingo Molnar Date: Sat Nov 8 13:29:45 2008 +0100 x86: fix documentation typo in arch/x86/Kconfig Impact: documentation update Chris Snook pointed out that it's Core i7, not Core 7i. Reported-by: Chris Snook Signed-off-by: Ingo Molnar commit a4c52791fa8c73e3cffe4a82865edb41e8fe8c3c Author: Jiri Slaby Date: Sat Nov 8 11:24:57 2008 +0100 x86, 64-bit: update address space documentation Impact: documentation update Commit a6523748bddd38bcec11431f57502090b6014a96 (paravirt/x86, 64-bit: move __PAGE_OFFSET to leave a space for hypervisor) changed address space without changing the documentation. Change it according to the code change -- direct mapping start: ffff810000000000 => ffff880000000000 which gives 57 TiB, something between 45 and 46 bits. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 9757d55652f98836b9a4cac307a01f8b0232dbd9 Author: Sujith Date: Tue Nov 4 18:25:27 2008 +0530 ath9k: Fix compilation failure when RFKILL is enabled Signed-off-by: Sujith Signed-off-by: John W. Linville commit f83c9d0fe42a7544b4d4ffcebb2e6716fcfd95c0 Author: Steven Rostedt Date: Tue Nov 11 18:47:44 2008 +0100 ring-buffer: add reader lock Impact: serialize reader accesses to individual CPU ring buffers The code in the ring buffer expects only one reader at a time, but currently it puts that requirement on the caller. This is not strong enough, and this patch adds a "reader_lock" that serializes the access to the reader API of the ring buffer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a98f8fd24fb24fcb9a359553e64dd6aac5cf4279 Author: Thomas Gleixner Date: Thu Nov 6 01:13:39 2008 +0100 x86: apic reset counter on shutdown Impact: avoid spurious lapic timer events on shutdown The apic timer might be close to firing when it is shutdown. We can not really disable the timer - we just mask the interrupt. That way we can get an extra interrupt when it is reenabled. Set the counter to max on shutdown to avoid this. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d3ec5cae0921611ceae06464ef6291012dd9849f Author: Ivan Vecera Date: Tue Nov 11 14:33:44 2008 +0100 x86: call machine_shutdown and stop all CPUs in native_machine_halt Impact: really halt all CPUs on halt Function machine_halt (resp. native_machine_halt) is empty for x86 architectures. When command 'halt -f' is invoked, the message "System halted." is displayed but this is not really true because all CPUs are still running. There are also similar inconsistencies for other arches (some uses power-off for halt or forever-loop with IRQs enabled/disabled). IMO there should be used the same approach for all architectures OR what does the message "System halted" really mean? This patch fixes it for x86. Signed-off-by: Ivan Vecera Signed-off-by: Ingo Molnar commit 50ee91765e25e7967a7b69cd5cc2bcab85e2eeb8 Author: Dhaval Giani Date: Tue Nov 11 18:13:23 2008 +0530 sched/rt: removed unneeded defintion Impact: cleanup This function no longer exists, so remove the defintion. Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 934352f214b3251eb0793c1209d346595a661d80 Author: Bharata B Rao Date: Mon Nov 10 20:41:13 2008 +0530 sched: add hierarchical accounting to cpu accounting controller Impact: improve CPU time accounting of tasks under the cpu accounting controller Add hierarchical accounting to cpu accounting controller and include cpuacct documentation. Currently, while charging the task's cputime to its accounting group, the accounting group hierarchy isn't updated. This patch charges the cputime of a task to its accounting group and all its parent accounting groups. Reported-by: Srivatsa Vaddagiri Signed-off-by: Bharata B Rao Reviewed-by: Paul Menage Acked-by: Balbir Singh Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 19b3e9671c5a219b8c34da2cc66e0ce7c3a501ae Author: Ingo Molnar Date: Tue Nov 11 11:57:02 2008 +0100 tracing: function return tracer, build fix fix: arch/x86/kernel/ftrace.c: In function 'ftrace_return_to_handler': arch/x86/kernel/ftrace.c:112: error: implicit declaration of function 'cpu_clock' cpu_clock() is implicitly included via a number of ways, but its real location is sched.h. (Build failure is triggerable if enough other kernel components are turned off.) Signed-off-by: Ingo Molnar commit 066746796bd2f0a1ba210c0dded3b6ee4032692a Author: Eric Paris Date: Tue Nov 11 22:02:57 2008 +1100 Currently SELinux jumps through some ugly hoops to not audit a capbility check when determining if a process has additional powers to override memory limits or when trying to read/write illegal file labels. Use the new noaudit call instead. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit a2f2945a99057c7d44043465906c6bb63c3368a0 Author: Eric Paris Date: Tue Nov 11 22:02:54 2008 +1100 The oomkiller calculations make decisions based on capabilities. Since these are not security decisions and LSMs should not record if they fall the request they should use the new has_capability_noaudit() interface so the denials will not be recorded. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 06112163f5fd9e491a7f810443d81efa9d88e247 Author: Eric Paris Date: Tue Nov 11 22:02:50 2008 +1100 Add a new capable interface that will be used by systems that use audit to make an A or B type decision instead of a security decision. Currently this is the case at least for filesystems when deciding if a process can use the reserved 'root' blocks and for the case of things like the oom algorithm determining if processes are root processes and should be less likely to be killed. These types of security system requests should not be audited or logged since they are not really security decisions. It would be possible to solve this problem like the vm_enough_memory security check did by creating a new LSM interface and moving all of the policy into that interface but proves the needlessly bloat the LSM and provide complex indirection. This merely allows those decisions to be made where they belong and to not flood logs or printk with denials for thing that are not security decisions. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 637d32dc720897616e8a1a4f9e9609e29d431800 Author: Eric Paris Date: Wed Oct 29 15:42:12 2008 +1100 Capabilities: BUG when an invalid capability is requested If an invalid (large) capability is requested the capabilities system may panic as it is dereferencing an array of fixed (short) length. Its possible (and actually often happens) that the capability system accidentally stumbled into a valid memory region but it also regularly happens that it hits invalid memory and BUGs. If such an operation does get past cap_capable then the selinux system is sure to have problems as it already does a (simple) validity check and BUG. This is known to happen by the broken and buggy firegl driver. This patch cleanly checks all capable calls and BUG if a call is for an invalid capability. This will likely break the firegl driver for some situations, but it is the right thing to do. Garbage into a security system gets you killed/bugged Signed-off-by: Eric Paris Acked-by: Arjan van de Ven Acked-by: Serge Hallyn Acked-by: Andrew G. Morgan Signed-off-by: James Morris commit e68b75a027bb94066576139ee33676264f867b87 Author: Eric Paris Date: Tue Nov 11 21:48:22 2008 +1100 When the capset syscall is used it is not possible for audit to record the actual capbilities being added/removed. This patch adds a new record type which emits the target pid and the eff, inh, and perm cap sets. example output if you audit capset syscalls would be: type=SYSCALL msg=audit(1225743140.465:76): arch=c000003e syscall=126 success=yes exit=0 a0=17f2014 a1=17f201c a2=80000000 a3=7fff2ab7f060 items=0 ppid=2160 pid=2223 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="setcap" exe="/usr/sbin/setcap" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null) type=UNKNOWN[1322] msg=audit(1225743140.465:76): pid=0 cap_pi=ffffffffffffffff cap_pp=ffffffffffffffff cap_pe=ffffffffffffffff Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 3fc689e96c0c90b6fede5946d6c31075e9464f69 Author: Eric Paris Date: Tue Nov 11 21:48:18 2008 +1100 Any time fcaps or a setuid app under SECURE_NOROOT is used to result in a non-zero pE we will crate a new audit record which contains the entire set of known information about the executable in question, fP, fI, fE, fversion and includes the process's pE, pI, pP. Before and after the bprm capability are applied. This record type will only be emitted from execve syscalls. an example of making ping use fcaps instead of setuid: setcap "cat_net_raw+pe" /bin/ping type=SYSCALL msg=audit(1225742021.015:236): arch=c000003e syscall=59 success=yes exit=0 a0=1457f30 a1=14606b0 a2=1463940 a3=321b770a70 items=2 ppid=2929 pid=2963 auid=0 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=pts0 ses=3 comm="ping" exe="/bin/ping" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null) type=UNKNOWN[1321] msg=audit(1225742021.015:236): fver=2 fp=0000000000002000 fi=0000000000000000 fe=1 old_pp=0000000000000000 old_pi=0000000000000000 old_pe=0000000000000000 new_pp=0000000000002000 new_pi=0000000000000000 new_pe=0000000000002000 type=EXECVE msg=audit(1225742021.015:236): argc=2 a0="ping" a1="127.0.0.1" type=CWD msg=audit(1225742021.015:236): cwd="/home/test" type=PATH msg=audit(1225742021.015:236): item=0 name="/bin/ping" inode=49256 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ping_exec_t:s0 cap_fp=0000000000002000 cap_fe=1 cap_fver=2 type=PATH msg=audit(1225742021.015:236): item=1 name=(null) inode=507915 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 851f7ff56d9c21272f289dd85fb3f1b6cf7a6e10 Author: Eric Paris Date: Tue Nov 11 21:48:14 2008 +1100 This patch will print cap_permitted and cap_inheritable data in the PATH records of any file that has file capabilities set. Files which do not have fcaps set will not have different PATH records. An example audit record if you run: setcap "cap_net_admin+pie" /bin/bash /bin/bash type=SYSCALL msg=audit(1225741937.363:230): arch=c000003e syscall=59 success=yes exit=0 a0=2119230 a1=210da30 a2=20ee290 a3=8 items=2 ppid=2149 pid=2923 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="ping" exe="/bin/ping" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null) type=EXECVE msg=audit(1225741937.363:230): argc=2 a0="ping" a1="www.google.com" type=CWD msg=audit(1225741937.363:230): cwd="/root" type=PATH msg=audit(1225741937.363:230): item=0 name="/bin/ping" inode=49256 dev=fd:00 mode=0104755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ping_exec_t:s0 cap_fp=0000000000002000 cap_fi=0000000000002000 cap_fe=1 cap_fver=2 type=PATH msg=audit(1225741937.363:230): item=1 name=(null) inode=507915 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit c0b004413a46a0a5744e6d2b85220fe9d2c33d48 Author: Eric Paris Date: Tue Nov 11 21:48:10 2008 +1100 This patch add a generic cpu endian caps structure and externally available functions which retrieve fcaps information from disk. This information is necessary so fcaps information can be collected and recorded by the audit system. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 9d36be76c55ad2c2bb29683b752b0d9ad2e4eeef Author: Eric Paris Date: Tue Nov 11 21:48:07 2008 +1100 Document the order of arguments for cap_issubset. It's not instantly clear which order the argument should be in. So give an example. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit ff9b48c3598732926fa09afd7f526981c32a48cc Author: Bharata B Rao Date: Mon Nov 10 21:34:09 2008 +0530 sched: include group statistics in /proc/sched_debug Impact: extend /proc/sched_debug info Since the statistics of a group entity isn't exported directly from the kernel, it becomes difficult to obtain some of the group statistics. For example, the current method to obtain exec time of a group entity is not always accurate. One has to read the exec times of all the tasks(/proc//sched) in the group and add them. This method fails (or becomes difficult) if we want to collect stats of a group over a duration where tasks get created and terminated. This patch makes it easier to obtain group stats by directly including them in /proc/sched_debug. Stats like group exec time would help user programs (like LTP) to accurately measure the group fairness. An example output of group stats from /proc/sched_debug: cfs_rq[3]:/3/a/1 .exec_clock : 89.598007 .MIN_vruntime : 0.000001 .min_vruntime : 256300.970506 .max_vruntime : 0.000001 .spread : 0.000000 .spread0 : -25373.372248 .nr_running : 0 .load : 0 .yld_exp_empty : 0 .yld_act_empty : 0 .yld_both_empty : 0 .yld_count : 4474 .sched_switch : 0 .sched_count : 40507 .sched_goidle : 12686 .ttwu_count : 15114 .ttwu_local : 11950 .bkl_count : 67 .nr_spread_over : 0 .shares : 0 .se->exec_start : 113676.727170 .se->vruntime : 1592.612714 .se->sum_exec_runtime : 89.598007 .se->wait_start : 0.000000 .se->sleep_start : 0.000000 .se->block_start : 0.000000 .se->sleep_max : 0.000000 .se->block_max : 0.000000 .se->exec_max : 1.000282 .se->slice_max : 1.999750 .se->wait_max : 54.981093 .se->wait_sum : 217.610521 .se->wait_count : 50 .se->load.weight : 2 Signed-off-by: Bharata B Rao Acked-by: Srivatsa Vaddagiri Acked-by: Dhaval Giani Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a3d732f93785da17e0137210deadb4616f5536fc Author: Cliff Wickman Date: Mon Nov 10 16:16:31 2008 -0600 x86, UV: fix redundant creation of sgi_uv Impact: fix double entry creation in /proc There is a collision between two UV functions: both uv_ptc_init() and gru_proc_init() try to make /proc/sgi_uv So move it's creation to a single place: uv_system_init() Signed-off-by: Cliff Wickman Signed-off-by: Ingo Molnar commit 867f7fb3ebb831970847b179e7df5a9ab10da16d Author: Ingo Molnar Date: Tue Nov 11 11:18:14 2008 +0100 tracing, x86: function return tracer, fix assembly constraints fix: arch/x86/kernel/ftrace.c: Assembler messages: arch/x86/kernel/ftrace.c:140: Error: missing ')' arch/x86/kernel/ftrace.c:140: Error: junk `(%ebp))' after expression arch/x86/kernel/ftrace.c:141: Error: missing ')' arch/x86/kernel/ftrace.c:141: Error: junk `(%ebp))' after expression the [parent_replaced] is used in an =rm fashion, so that constraint is correct in isolation - but [parent_old] aliases register %0 and uses it in an addressing mode that is only valid with registers - so change the constraint from =rm to =r. This fixes the build failure. Signed-off-by: Ingo Molnar commit 8587b33f4adee4e7614ea7f443346c3b6bb5427a Author: Wim Van Sebroeck Date: Tue Nov 11 09:56:00 2008 +0000 [PATCH] nvram - convert PRINT_PROC to seq_file Convert the /proc/drivers/nvram file from the old PRINT_PROC macro to the new seq_file filesystem. Signed-off-by: Wim Van Sebroeck commit 971ddcf8ad3aa88e0daee6799925858e9f820cb4 Author: Wim Van Sebroeck Date: Tue Nov 11 09:44:07 2008 +0000 [PATCH] nvram - CodingStyle Bring drivers/char/nvram.c in line with the Coding Style. Signed-off-by: Wim Van Sebroeck commit f1c4be5edad3756212cbbbeab39428fe90c27109 Author: Ingo Molnar Date: Tue Nov 11 10:22:36 2008 +0100 tracing, x86: clean up FUNCTION_RET_TRACER Kconfig Impact: cleanup move FUNCTION_RET_TRACER to the X86 select section, where we have all the other options. Signed-off-by: Ingo Molnar commit 15e6cb3673ea6277999642802406a764b49391b0 Author: Frederic Weisbecker Date: Tue Nov 11 07:14:25 2008 +0100 tracing: add a tracer to catch execution time of kernel functions Impact: add new tracing plugin which can trace full (entry+exit) function calls This tracer uses the low level function return ftrace plugin to measure the execution time of the kernel functions. The first field is the caller of the function, the second is the measured function, and the last one is the execution time in nanoseconds. - v3: - HAVE_FUNCTION_RET_TRACER have been added. Each arch that support ftrace return should enable it. - ftrace_return_stub becomes ftrace_stub. - CONFIG_FUNCTION_RET_TRACER depends now on CONFIG_FUNCTION_TRACER - Return traces printing can be used for other tracers on trace.c - Adapt to the new tracing API (no more ctrl_update callback) - Correct the check of "disabled" during insertion. - Minor changes... Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit caf4b323b02a16c92fba449952ac6515ddc76d7a Author: Frederic Weisbecker Date: Tue Nov 11 07:03:45 2008 +0100 tracing, x86: add low level support for ftrace return tracing Impact: add infrastructure for function-return tracing Add low level support for ftrace return tracing. This plug-in stores return addresses on the thread_info structure of the current task. The index of the current return address is initialized when the task is the first one (init) and when a process forks (the child). It is not needed when a task does a sys_execve because after this syscall, it still needs to return on the kernel functions it called. Note that the code of return_to_handler has been suggested by Steven Rostedt as almost all of the ideas of improvements in this V3. For purpose of security, arch/x86/kernel/process_32.c is not traced because __switch_to() changes the current task during its execution. That could cause inconsistency in the stored return address of this function even if I didn't have any crash after testing with tracing on this function enabled. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit d844222a54c33a960755b44b934cd1b01b05dceb Author: Ingo Molnar Date: Tue Nov 11 09:58:36 2008 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit f536aafc5a2e6f0c8f1577a155e6f93db5e469f0 Author: Steven Rostedt Date: Mon Nov 10 23:07:30 2008 -0500 ring-buffer: replace most bug ons with warn on and disable buffer This patch replaces most of the BUG_ONs in the ring_buffer code with RB_WARN_ON variants. It adds some more variants as needed for the replacement. This lets the buffer die nicely and still warn the user. One BUG_ON remains in the code, and that is because it detects a bad pointer passed in by the calling function, and not a bug by the ring buffer code itself. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5aa1ba6a6c710e747838a22d798ac97a8b248745 Author: Steven Rostedt Date: Mon Nov 10 23:07:30 2008 -0500 ftrace: prevent ftrace_special from recursion Impact: stop ftrace_special from recursion The ftrace_special is used to help debug areas of the kernel. Because of this, if it is put in certain locations, the fact that it allows recursion can become a problem if the kernel developer using does not realize that. This patch changes ftrace_special to not allow recursion into itself to make it more robust. It also changes from preempt disable interrupts disable to prevent any loss of trace entries. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e0cb4ebcd9e5b4ddd8216c20f54445c91b1fa4b9 Merge: a309720... 45b86a9... Author: Ingo Molnar Date: Tue Nov 11 09:40:18 2008 +0100 Merge branch 'tracing/urgent' into tracing/ftrace Conflicts: kernel/trace/trace.c commit ae1e9130bfb9ad55eb97ec3fb17a122b7a118f98 Author: Ingo Molnar Date: Tue Nov 11 09:05:16 2008 +0100 sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER => SCHED_OMIT_FRAME_POINTER Impact: cleanup, change .config option name We had this ugly config name for a long time for hysteric raisons. Rename it to a saner name. We still cannot get rid of it completely, until /proc//stack usage replaces WCHAN usage for good. We'll be able to do that in the v2.6.29/v2.6.30 timeframe. Signed-off-by: Ingo Molnar commit eb37b41cc2274cdecfc19d371717c321fe2ab426 Author: Jesse Brandeburg Date: Mon Nov 10 16:48:03 2008 -0800 pktgen: add full reset functionality While testing pktgen, I found that sometimes my configurations from previous runs would be left over, particularly when going from a test with 8 threads down to a test with 4 threads. This adds new functionality to pktgen where you can call pgset "reset" and it will be just like you just insmod'ed pktgen again. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 9b1582d4513a2102c68fe12ac1106595f3c09120 Author: Rémi Denis-Courmont Date: Mon Nov 10 16:21:05 2008 -0800 Phonet: use net_device built-in stats for GPRS Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit fb28ad35906af2f042c94e2f9c0f898ef9acfa37 Author: Kay Sievers Date: Mon Nov 10 13:55:14 2008 -0800 net: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Marcel Holtmann Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: David S. Miller commit 23779897546c1effb546ff89b89803d9d955d517 Merge: f574179... c483246... Author: David S. Miller Date: Mon Nov 10 13:24:44 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit c4832467a5c8c2ae96d6dad882be4d4ab9eefad7 Author: Larry Finger Date: Fri Oct 31 09:40:44 2008 -0700 rtl8187: Change TX power settings The latest vendor driver (rtl8187B_linux_26.1036.0708.2008) has a different CCK power setting code as compared with the Linux driver. Signed-off-by: Larry Finger Tested-by: Piter Punk Signed-off-by: John W. Linville commit b2e53b338b7b4608372d070bb477f3bae3971e5a Author: David Kilroy Date: Fri Oct 31 13:35:21 2008 +0000 orinoco: Move sources to a subdirectory Keeping all the orinoco drivers in a common directory will make maintenance easier. Signed-off by: David Kilroy Signed-off-by: John W. Linville commit 5166ccd220f187b2e9edfc5f01eb49f4a0ebf586 Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:56 2008 -0700 cfg80211: Add kdoc for struct regulatory_request As regulatory_request gets bigger there will be more questions of what things means, so clarify documenation for it and keep track of the special alpha2 codes we use internally and on the userspace regulatory agents. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b219cee191e7cfe88a695a57249a295d0d5b22e9 Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:55 2008 -0700 cfg80211: make use of reg macros on REG_RULE Ensure regulatory converstion macros safely accept multiple arguments and make REG_RULE() use them. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9c96477d10763d4314012425ecc8a3cff9e60ea9 Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:53 2008 -0700 cfg80211: Add regulatory domain intersection capability There are certain scenerios where we require intersecting two regulatory domains. This adds intersection support. When we enable 802.11d support we will use this to intersect the regulatory domain from the AP's country IE and what our regulatory agent believes is correct for a country. This patch enables intersection for now in the case where the last regdomain was set by a country IE which was parsed and the user then wants to set the regulatory domain. Since we don't support country IE parsing yet this code path will not be hit, however this allows us to pave the way for 11d support. Intersection code has been tested in userspace with CRDA. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d71aaf6053e380996e40c9ecfe39a8dced52694c Author: Luis R. Rodriguez Date: Thu Oct 30 13:33:52 2008 -0700 cfg80211: a reg rule is invalid if freq diff is 0 A regulatory rule is invalid when the frequency difference between the end of the frequency range and the start is 0. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fc6971d491517ba15e800540ff88caa55dc65b01 Author: Jouni Malinen Date: Thu Oct 30 19:59:05 2008 +0200 mac80211_hwsim: Add support for client PS mode This introduces a debugfs file (ieee80211/phy#/hwsim/ps) that can be used to force a simulated radio into power save mode. Following values can be written into this file to change PS mode: 0 = power save disabled (constantly awake) 1 = power save enabled (drop all frames; do not send PS-Poll) 2 = power save enabled (send PS-Poll frames automatically to receive buffered unicast frames); not yet fully implemented 3 = manual PS-Poll trigger (send a single PS-Poll frame) Two different behavior for power save mode processing can be tested: - move between modes 1 and 0 (i.e., receive all buffered frames at a time) - move to mode 1 and use manual PS-Poll frames (write 3 to the 'ps' debugfs file) to fetch power save buffered frames one at a time Mode 2 (automatic PS-Poll) does not yet parse Beacon frames, but eventually, it should take a look at TIM IE and send PS-Poll if a traffic bit is set for our AID. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit fbf189273926d83d71c4c321f1215162569506ac Author: Jouni Malinen Date: Thu Oct 30 19:50:30 2008 +0200 mac80211: Allow AP mode to be enabled With the addition of basic rate set and TX queue parameter configuration and confirmation that power save buffering is working again, mac80211 is now in state that allows AP mode to be used without major problems. Consequently, it is time to allow this mode to be enabled without having to patch the kernel. AP mode requires hostapd for management frame processing and as such, configuring this mode is only allowed through cfg80211 (not with iwconfig and WEXT). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d61272cbb35fa1c08fe94898583d880256f2dbd3 Author: Tomas Winkler Date: Thu Oct 30 17:08:08 2008 +0200 mac80211: fix basic rates setting from association response In previous code all the rates were marked as basic. Signed-off-by: Tomas Winkler Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab1ef980504ca7f17b675b3a53a88956f800fce3 Author: Jouni Malinen Date: Thu Oct 30 16:59:25 2008 +0200 mac80211_hwsim: Make sure beacon_timer gets deleted It was possible to trigger a kernel panic because beacon_timer may not have been deleted in all cases when the kernel module was removed while hostapd was still running. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 318884875bdddca663ecc373c813cf8e117d9e43 Author: Jouni Malinen Date: Thu Oct 30 16:59:24 2008 +0200 nl80211: Add TX queue parameter configuration Add a new attribute, NL80211_ATTR_WIPHY_TXQ_PARAMS, that can be used with NL80211_CMD_SET_WIPHY for userspace (e.g., hostapd) to set TX queue parameters (txop, cwmin, cwmax, aifs). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1e898ff83c31c303f73c3893d1ac519e4d9b59e5 Author: Jouni Malinen Date: Thu Oct 30 16:59:23 2008 +0200 mac80211_hwsim: Debug info for TX queue parameters Provide detailed information on TX queue parameter changes to make it easier to debug mac80211 functionality. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 90c97a040d6b08cc4890328aa262fdc37336ab01 Author: Jouni Malinen Date: Thu Oct 30 16:59:22 2008 +0200 nl80211: Add basic rate configuration for AP mode Add a new attribute, NL80211_ATTR_BSS_BASIC_RATES, that can be used with NL80211_CMD_SET_BSS for userspace (e.g., hostapd) to set which rates are in the basic rate set. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit fe63bfa3669dbdd4985ed35d9a0ed08881f62516 Author: Jouni Malinen Date: Thu Oct 30 16:59:21 2008 +0200 mac80211_hwsim: Debug info for BSS config changes Provide detailed information on BSS configuration changes to make it easier to debug mac80211 functionality. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 95f8e38deffc55f7108bcfa3e180bd5b3d53fc04 Author: Ilpo Järvinen Date: Thu Oct 30 13:43:41 2008 +0200 b43legacy: reindent misleading statement Signed-off-by: Ilpo Järvinen Signed-off-by: John W. Linville commit ccf5dd14f8a4273f40d8319e75b377edb1f5220d Author: Johannes Berg Date: Wed Oct 29 23:24:14 2008 +0100 libertas_tf: fix skb tail pointer skb->tail can't be meant here because it's not the same across 32/64 bit compilations. This means there's no way the current driver can work on 64-bit architectures. Signed-off-by: Johannes Berg Cc: stable@kernel.org [2.6.27] Signed-off-by: John W. Linville commit 9483407d09077c0bfc612c72835b1e9bbdda0a10 Author: Chr Date: Wed Oct 29 22:39:50 2008 +0100 p54: initialize all deprecated fields The new mechanism for allocing space for control frames, didn't "zero" out the payload data... However I haven't heard of any hiccups so far... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c8034c44851ba4c6b55ec6e6b60573cf51589be3 Author: Pavel Roskin Date: Wed Oct 29 17:31:43 2008 -0400 p54: don't report known but unhandled EEPROM codes as unknown Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 61780ee313846b29bfb06dfcb2f3bdf0b7ba3f66 Author: Mohamed Abbas Date: Wed Oct 29 14:05:49 2008 -0700 iwlwifi: do not call statistics from rfkill Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit eb48dcaf57d4e9b6521aeb593fe95a36db6c2109 Author: Winkler, Tomas Date: Wed Oct 29 14:05:48 2008 -0700 iwlwifi: iwl-agn-rs: initialize rs with valid antenna This patch fix rate scaling initialization. Rate scaling was initialized always with B antenna. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6a63578ddf6148927a80c07a73b40ccc8f3ac8e2 Author: Emmanuel Grumbach Date: Wed Oct 29 14:05:47 2008 -0700 iwlwifi: rename double inclusion protection name in iwl-commands.h This patch change the name of the double inclusion protection in iwl-commands.h Signed-off-by: Emmanuel Grumbach Reviewed-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5b9f8cd3eea04770ff186b853bbde1741f321866 Author: Emmanuel Grumbach Date: Wed Oct 29 14:05:46 2008 -0700 iwlwifi: rename generic iwlagn functions that had a HW specific name This patch renames functions that are generic in iwl-agn and had a iwl4965 prefix. Signed-off-by: Emmanuel Grumbach Reviewed-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 60294de3af99586bb4a205274d02a7c8b910c0c3 Author: Zhu, Yi Date: Wed Oct 29 14:05:45 2008 -0700 iwlwifi: fix priv->iw_mode setting when multiple vif are configured mac80211 supports multiple virtual interfaces for a single device. For example, a managed interface (wlan0) and a monitor interface (mon0) can exist at the same time. Thus priv->iw_mode is not sufficient to track the wireless mode any more. The patch redefines priv->iw_mode as the first interface mode (the same as priv->vif->type if priv->vif != NULL). If another monitor type interface is created later, we don't change priv->iw_mode into monitor. This way, the original interface still works. The patch also requests mac80211 to do reassociation after we change the Rx filter flags. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit eb4779c40549f8e0dd45c9a30f279134c9a86131 Author: Winkler, Tomas Date: Wed Oct 29 14:05:44 2008 -0700 iwlwifi: trivial removal of some 4965 remaining from iwl-agn-rs.h This patch removes 4965 prefix from comments and one function in iwl-agn-rs.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9c80c50211d638555bc4b160d9ccd348e98eedad Author: Winkler, Tomas Date: Wed Oct 29 14:05:43 2008 -0700 iwlwifi: reorganize flow handler bitology This patch cleans up FH bits and adds missing register values that will be used later in TX initialization rewrite Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c7ab5ef9bcd281135c21b4732c9be779585181be Author: Johannes Berg Date: Wed Oct 29 20:02:12 2008 +0100 b43: implement short slot and basic rate handling This implements proper short slot handling and adds code to program the hardware for the correct response rates derived from the basic rate set for the current BSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bd815252720e4b667d9946d050d003ec89bda099 Author: Johannes Berg Date: Wed Oct 29 20:00:45 2008 +0100 wireless: implement basic rate helper function This adds a helper function that, given a bitmap of basic rates and a bitrate returns the response rate for this rate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 743b97caf98036ec8ee4bfc6fc6f85ad94e04783 Author: Ivo van Doorn Date: Wed Oct 29 19:41:03 2008 +0100 rt2x00: Remove debugfs CSR access wrappers Move calculation of CSR register offset into rt2x00debug.c and remove the wrapper functions from each individual driver. (Except rt2500usb, which still needs to wrap for the different value type argument). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f161796700ed89b07dff2ad4ba3a932bc721af7e Author: John W. Linville Date: Fri Oct 31 16:45:15 2008 -0400 ath9k: correct warning about unintialized variable 'tid' drivers/net/wireless/ath9k/xmit.c: In function ‘ath_tx_start’: drivers/net/wireless/ath9k/xmit.c:1858: warning: ‘tid’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 74508b29c51158e5b45bca13e702c68ef5c3b641 Author: Larry Finger Date: Fri Oct 31 09:54:49 2008 -0700 rtl8187: Reduce channel switch delay The latest vendor driver (rtl8187B_linux_26.1036.0708.2008) has a 10 msec delay after the call to set a new channel, but not before. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 94d4fe9824e5c62240f3ae2a33b2dd5a8a32a01b Author: Larry Finger Date: Fri Oct 31 09:54:30 2008 -0700 rtl8187: Remove primitive write delays Each of the primary write routines, rtl8187_write_phy(), rtl8225_write_bitbang(), and rtl8225_write_8051() all conclude with an msleep() command. Testing shows that these are not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 946d1c22644a5de07efc1c847fb64bb0cf8f82f2 Author: Larry Finger Date: Fri Oct 31 09:54:13 2008 -0700 rtl8187: Remove msleep calls after calls to rtl8225_write Routine rtl8225_write() calls either rtl8225_write_bitbang() or rtl8225_write_8051(), both of which end with an msleep() command. As a result, a rtl8225_write() immediately followed by an msleep() is not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit a3d67bc2e9e25f09151971192946fe3b68543649 Author: Larry Finger Date: Fri Oct 31 09:52:58 2008 -0700 rtl8187: Remove CCK delays Routine rtl8225_write_phy_cck() calls rtl8225_write_phy(), which concludes with a sleep of 1 msec; therefore a call to rtl8225_write_phy_cck() immediately followed by an msleep(1) is not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 35cc988a5620cea03fd97e96c530e1f259ef913b Author: Larry Finger Date: Fri Oct 31 09:52:39 2008 -0700 rtl8187: Remove OFDM delays Routine rtl8225_write_phy_ofdm() calls rtl8225_write_phy(), which concludes with a sleep of 1 msec; therefore a call to rtl8225_write_phy_ofdm() immediately followed by an msleep(1) is not needed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 2f20596b50ee964715f9ad44d848802f0baba5d8 Author: Larry Finger Date: Fri Oct 31 09:52:07 2008 -0700 rtl8187: Remove large delays The rtl8187 driver contains 3 sleep statements that are longer than a second. Testing has shown no bad effects when they are removed. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 9344e86e577df483475845096dba07f2deb11ce3 Author: Ivo van Doorn Date: Wed Oct 29 17:19:29 2008 +0100 rt2x00: Release rt2x00 2.2.2 Version bump. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3514a441265c6788d85e8222dcca10cd66433123 Author: Ivo van Doorn Date: Wed Oct 29 17:18:46 2008 +0100 rt2x00: Improve interface_modes initialization All operating modes which require beaconing should depend on the availability of beacon entries from the hardware. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c3fd7b41cae2fa213858d6501e6065f24097c0a8 Author: Ivo van Doorn Date: Wed Oct 29 17:18:22 2008 +0100 rt2x00: Remove ieee80211_bss_conf from rt2x00_intf We can safely remove ieee80211_bss_conf from rt2x00_intf, it is provided by mac80211 in ieee80211_vif as well. (rt2x00_intf is the drv_priv field of ieee80211_vif). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e4ea1c403acece78c271bf9cd6f797d1cb093df9 Author: Ivo van Doorn Date: Wed Oct 29 17:17:57 2008 +0100 rt2x00: Optimize configuration handling Implement latest changed from mac80211 configuration handling to optmize configuration handling in rt2x00. * Remove set_retry_limit callback function, handled through config() * Move config_antenna to its own callback function, it isn't handled by mac80211 anymore * Use IEEE80211_CONF_CHANGED_* flags and remove manual checks * Removed deprecated short slot setting through config() and put it in config_erp() through which mac80211 now configures it * Remove config_phymode() and move contents to config_erp() since it only managed the basic rates which is now determined by mac80211 through config_erp(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3f64b435ab76e79bfb3b4d36f043e6f892093b71 Author: Bob Copeland Date: Wed Oct 29 23:19:14 2008 -0400 ath5k: update keycache to support TKIP handling Newer parts have slots at entry+64 for michael mic and can do WPA-TKIP in hardware. The open-sourced Atheros HAL has code for accessing this portion so now we know how where to put the key material. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 9ad9a26e7b7b6671a9aefbb1edb2e8a9ed50ee8d Author: Bob Copeland Date: Wed Oct 29 08:30:54 2008 -0400 ath5k: enable hardware encryption for WEP This change re-enables hardware encryption for ath5k after setting up mac80211 to handle the initialization vectors which happens to make it work. Add a module param (nohwcrypt) to optionally turn it off. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 2a941ecb5178cb8c94190f17a42f35a772cbc5c6 Author: Holger Schurig Date: Wed Oct 29 09:43:50 2008 +0100 wireless: fix two bad print_ssid conversions This patch fixes two current compilation problems. They showed up with CONFIG_IEEE80211_DEBUG defined. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8469cdef1f123e2e3e56645f1ac26c7cfb333d9c Author: Sujith Date: Wed Oct 29 10:19:28 2008 +0530 mac80211: Add a new event in ieee80211_ampdu_mlme_action Send a notification to the driver on succesful reception of an ADDBA response, add IEEE80211_AMPDU_TX_RESUME for this purpose. Signed-off-by: Sujith Signed-off-by: John W. Linville commit dca3edb88ef567671886a85c5e40d491ccecf934 Author: Sujith Date: Wed Oct 29 10:19:01 2008 +0530 ath9k: Remove internal RX A-MPDU processing mac80211 has RX A-MPDU reordering support. Use that and remove redundant RX processing within the driver. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7f959032bbee5eedaf4c606d11f0c5d41498644e Author: Sujith Date: Wed Oct 29 10:18:39 2008 +0530 ath9k: Clear HT info on starting the driver Doing an interface down/up leaves the old HT assoc information, clear it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ccc75c526611e62c4c9adcb4a62bf4a164478d2c Author: Sujith Date: Wed Oct 29 10:18:14 2008 +0530 ath9k: Remove ath_tx_aggr_resp() Accessing mac80211's internal state machine is wrong. Will add resumption of a TID in a later patch. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 05a1e2d111c98340fb17ec702cf09450eec3a947 Author: Sujith Date: Wed Oct 29 10:17:54 2008 +0530 ath9k: Enable interrupts at the proper place config_interface() was the wrong place to enable interrupts when bringing up an interface, move it to ath_open(). Signed-off-by: Sujith Signed-off-by: John W. Linville commit 154662a6356ec3ccfea0a22218cf149220ea6373 Author: Sujith Date: Wed Oct 29 10:17:34 2008 +0530 ath9k: Remove unnecessary TSF reset The TSF is already reset properly via mac80211's callback. Resetting it in config_interface() is not needed. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9c84b7978f1b99048bf31be5a0218cd509e74148 Author: Sujith Date: Wed Oct 29 10:17:13 2008 +0530 ath9k: Streamline attach/detach Simplify attach and detach routines by consolidating the stop and suspend functions. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 50fdae2c7bcb6417997f90c3d9853a59a9ed06ce Author: Sujith Date: Wed Oct 29 10:16:52 2008 +0530 ath9k: Remove unused function ath_get_currentCountry() Signed-off-by: Sujith Signed-off-by: John W. Linville commit f1dc56003b23d2d5bb5a756de6b1633a76c9e697 Author: Sujith Date: Wed Oct 29 10:16:30 2008 +0530 ath9k: Refactor hw.c Split hw.c into more manageable files: ani.c calib.c eeprom.c mac.c Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5640b08ef7e88b606c740e746cb77bc97d78508e Author: Sujith Date: Wed Oct 29 10:16:06 2008 +0530 ath9k: Revamp VAP management Remove the internal VAP management routines and embed ath_vap in mac80211's driver private area provided in ieee80211_vif. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a37c2c79404940dfc5e88c851c3de5328975b1a9 Author: Sujith Date: Wed Oct 29 10:15:40 2008 +0530 ath9k: Use bitfields to store tid's state in a single variable Signed-off-by: Sujith Signed-off-by: John W. Linville commit 102e0572d330e6cdb89a8f8fbd3999e3c67a1f9e Author: Sujith Date: Wed Oct 29 10:15:16 2008 +0530 ath9k: Ensure ath_node is not NULL when updating tx chainmask Also, random indentation and whitespace cleanup. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 43453b3392c1ecfdd1471383ad42ba926533a722 Author: Sujith Date: Wed Oct 29 10:14:52 2008 +0530 ath9k: Remove SM Power Save as it is not supported now Signed-off-by: Sujith Signed-off-by: John W. Linville commit 528f0c6b3b6bbed1328ee49bfc906543daa00866 Author: Sujith Date: Wed Oct 29 10:14:26 2008 +0530 ath9k: Revamp transmit control block Use the ath_buf instance associated with each tx frame directly and remove all redundant information in ath_tx_control. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c51701632c8becdf0ffedb96d9cedc1149f2183a Author: Sujith Date: Wed Oct 29 10:13:59 2008 +0530 ath9k: Simplify node attach/detach routines Signed-off-by: Sujith Signed-off-by: John W. Linville commit b5aa9bf9460f9e97f2c10940b029d75c6557ad7c Author: Sujith Date: Wed Oct 29 10:13:31 2008 +0530 ath9k: Node cleanup Start removing the internal node list in ath9k, in preparation for using mac80211's STA list. Remove lists, locks, routines, flags, functions managing nodes in ath9k. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 17683c65c8a5f3f29f5408334992986b996d8205 Author: Bob Copeland Date: Wed Oct 29 23:24:26 2008 -0400 ath5k: fix keytable type buglet in ath5k_hw_reset_key Be sure we clear out both the mic (if applicable) and the encryption key type. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit f07a6c495e88ae0143e3c20b1ed666314197277f Author: Nick Kossifidis Date: Wed Oct 29 04:28:28 2008 +0200 ath5k: Update PCU code * In set_opmode don't handle antenna settings and preserve other STA_ID1 settings (shouldn't matter because we call it during reset but it makes things cleaner) Also set properly AP/ADHOC indicator flag on CFG while setting AP/ADHOC modes and always enable key search mode. * Properly set BSSID Mask during reset (cache it and reuse it durring set_associd) * Update beacon_init to flush pending BMISS interrupts and handle setting of adhoc beacon ATIM policy flag for ad-hoc mode. Also set TSF to 0 to start TSF increment on AP mode. We need to handle sleep timers for AR5212 there + add support for PCF. * Properly clean MIC key from keytable when TKIP is used (Bob is working on set_key function etc so i leave it for now). Tested on AR5212 (Hainan) and AR5413 and works fine v2 Set PISR on AR5211+ and ISR on AR5210, got to sleep more ;-) Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 2c706002fc147decdba2658ea48e4436faca3af2 Author: Johannes Berg Date: Thu Oct 30 22:09:54 2008 +0100 don't use net/ieee80211.h Convert all the drivers using net/ieee80211.h to use linux/ieee80211.h. Contains a bugfix in libertas where the SSID parsing could overrun the buffer when the AP sends invalid information. Signed-off-by: Johannes Berg Acked-by: Dan Williams [airo, libertas] Acked-by: Pavel Roskin [orinoco] Acked-by: David Kilroy [orinoco] Signed-off-by: John W. Linville commit 9b1fbae4b242cf86a878771eb59dc600dde72ec8 Author: Johannes Berg Date: Wed Oct 29 01:02:27 2008 +0100 iwl3945: remove bogus comment I added this comment myself, but it's clearly wrong. I had meant to place it in iwl_mac_add_interface, which at the time didn't honour the MAC address setting, but it does now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 41bb73eeac5ff5fb217257ba33b654747b3abf11 Author: Johannes Berg Date: Wed Oct 29 01:09:37 2008 +0100 mac80211: remove SSID driver code Remove the SSID from the driver API since now there is no driver that requires knowing the SSID and I think it's unlikely that any hardware design that does require the SSID will play well with mac80211. This also removes support for setting the SSID in master mode which will require a patch to hostapd to not try. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b23f99bcfa12c7b452f7ad201ea5921534d4e9ff Author: Johannes Berg Date: Tue Oct 28 18:50:12 2008 +0100 adm8211: remove SSID code Since adm8211 currently doesn't implement IBSS mode anyway, it can't be using the SSID. And if/when it does implement IBSS mode, we'll have to see how to make it beacon anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 71c11fb57b924c160297ccd9e1761db598d00ac2 Author: Johannes Berg Date: Tue Oct 28 18:29:48 2008 +0100 b43/legacy: remove SSID code The SSID programmed into the device is used by the ucode only to reply to probe requests, a functionality we disable anyway because it doesn't fit with the mac80211/hostapd programming model. Therefore, it isn't useful to program the SSID into device. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4607816f608b42a5379aca97ceed08378804c99f Author: Johannes Berg Date: Tue Oct 28 18:25:43 2008 +0100 iwlwifi: remove unused essid variable Now the essid stuff is unused, so remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a57a59f247b651e8ed6d3eeb7e2f9d83b83134c9 Author: Johannes Berg Date: Tue Oct 28 18:21:05 2008 +0100 iwlwifi: remove implicit direct scan When an undirected scan is requested and iwlwifi is not associated but the user has set an SSID (and maybe was associated with that network at some point) then iwlwifi will assume the user wanted to scan for this SSID which seems wrong. Remove this code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 430cfe95a401baa0dc2022deaad02cb75d63c73c Author: Johannes Berg Date: Tue Oct 28 18:06:02 2008 +0100 iwl3945: remove dead code Was wondering about this code since supposedly the firmware will add the SSID element. Turns out it's dead, so remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e5704bf0ba4bb2ca54a1c74f6a6dca53dfccc33d Author: Johannes Berg Date: Tue Oct 28 16:59:57 2008 +0100 ath9k: remove useless NULL initialisers When I added .set_frag_threshold I didn't realise it was already there which now generated a sparse warning. Therefore, remove the .set_frag_threshold NULL initialiser, and while at it all the other useless ones. Signed-off-by: Johannes Berg Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2df78167ade3d0542f0f95be7cc58861343cce3a Author: Johannes Berg Date: Tue Oct 28 16:49:41 2008 +0100 wireless: fix a few sparse warnings Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1239cd58d237fa6ad501acaec8776262a5784ec8 Author: Johannes Berg Date: Tue Oct 28 11:12:57 2008 +0100 wireless: move mesh config length constant This is a constant from the 802.11 specification. Signed-off-by: Johannes Berg Cc: Javier Cardona Signed-off-by: John W. Linville commit 97c8b013da7a8ec7aa0a192489d4e7a33c4127fc Author: Zhu Yi Date: Tue Oct 28 15:58:31 2008 +0800 mac80211: print reason code for deauth/dissoc frames The patch prints reason code for deauth/dissoc frames to give users more ideas what's happened for the disconnection. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit db4186cf15a5a7e8e8526f7c158f042ccc3ed576 Author: John W. Linville Date: Fri Oct 31 15:53:12 2008 -0400 p54: eliminate warning for uninitialized variable 'tim_len' drivers/net/wireless/p54/p54common.c: In function ‘p54_tx’: drivers/net/wireless/p54/p54common.c:1058: warning: ‘tim_len’ may be used uninitialized in this function Signed-off-by: John W. Linville commit e5ea92a7528d304e8e327d0d261653e98b163e8a Author: Christian Lamparter Date: Sat Oct 18 23:19:00 2008 +0200 p54: AP & Ad-hoc testing This patch finally adds all necessary code to test Ad-hoc & AP mode with p54. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 94585b090baf982a850678a1dc3395bce0c1e302 Author: Christian Lamparter Date: Sat Oct 18 23:18:44 2008 +0200 p54: put broadcast frames into the right queues stlc45xx's specs finally brought some light what all the 4 extra queues for. now CAB data and managment frames have their own queue. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9e7f3f8e4acdc480584d6b5e6a6be5d1f7bda8fa Author: Christian Lamparter Date: Sat Oct 18 23:18:01 2008 +0200 p54: more definitions form lmac_longbow.h and pda.h This patch ports more useful features to p54 - PDR definitions for the synth chips & regulatory domain. - honour IEEE80211_TX_CTL_ASSIGN_SEQ flag, if it's set. - adds some lost mutex_lock & mutex_unlock. - replace two more "magic values" that sneaked past. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9a8675d712d57da0993ad2e43b168c9585892097 Author: Christian Lamparter Date: Sat Oct 18 23:04:15 2008 +0200 p54: introduce new names for device firmwares Johannes thought it would have been a good idea to change the firmware names. Note: we still have fallbacks in case our users don't want to "break their running system", but we won't advertise them with MODULE_FIRMWARE. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4ceb7b6ae2cf5b6e32c403a11bb54081bf8f8b83 Author: Wang Chen Date: Fri Sep 5 11:28:47 2008 +0800 netdevice libertas: Fix directly reference of netdev->priv We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", and I want to kill netdev->priv later, I decided to convert all the direct reference of netdev->priv first. Different to readonly reference of netdev->priv, in this driver, netdev->priv was changed. I use netdev->ml_priv to replace netdev->priv. Signed-off-by: Wang Chen Signed-off-by: John W. Linville commit f43aa025b7de79d6a615ea4c1e6be7e6b1cea538 Author: Takashi Iwai Date: Mon Nov 10 16:24:26 2008 +0100 ALSA: hda - Fix another cache list management Fix another silly bug in the amp cache list management. Signed-off-by: Takashi Iwai commit 7f1fd31db158c95418d9cc5690ab60ecc6fb632d Author: Catalin Marinas Date: Mon Nov 10 14:14:11 2008 +0000 Fix the teehbr_read function prototype A "void" was missing inside brackets. Signed-off-by: Catalin Marinas commit 8553cb67d2318db327071018fc81084cbabccc46 Author: Catalin Marinas Date: Mon Nov 10 14:14:11 2008 +0000 Modern processors may need to drain the WB before WFI Since WFI may cause the processor to enter a low-power mode, data may still be in the write buffer. This patch adds a DSB (or DWB) to the cpu_(v6|v7)_do_idle functions before the WFI. Signed-off-by: Catalin Marinas commit 877d1f338912c1bf49a026eeca1d411755efece5 Author: Catalin Marinas Date: Mon Nov 10 14:10:14 2008 +0000 RealView: Make more vmalloc space by changing IO_ADDRESS Since boards like PB11MPCore have 512MB of RAM and 128MB of flash, the virtual space is short on vmalloc memory and mapping the flash fails. This patch changes the IO_ADDRESS so that static mappings start at 0xfc000000 and moves the PCI virtual addresses higher up. The new VMALLOC_END is set to 0xf8000000 (512MB higher than the old value). Signed-off-by: Catalin Marinas commit 2c0aec814d259e35366a0a22747f8c9d5e39ee9c Author: Catalin Marinas Date: Mon Nov 10 14:10:13 2008 +0000 RealView: Add debug-macro.S support for the PB1176 platform The UART0 address is different on PB1176 from EB or PB11MPCore. This patch adds the necessary #ifdef's to this file. The disadvantage is that enabling CONFIG_DEBUG_LL will work properly on PB1176 if only this platform is enabled. Signed-off-by: Catalin Marinas commit 4eccca20a3528804d6d4583f312fbb0d59b6540b Author: Catalin Marinas Date: Mon Nov 10 14:10:13 2008 +0000 RealView: Change the clcd panel controls to use RGB instead of BGR Signed-off-by: Catalin Marinas commit c34a10255407c777bfd26160d7cf2b58b8dd0537 Author: Colin Tuckley Date: Mon Nov 10 14:10:12 2008 +0000 RealView: Allow XVGA (1024x768) CLCD resolution on the RealView boards This patch adds another clcd_panel structure for the above resolution and makes it the default for the PB1176 and PB11MPCore platforms. Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit 68c3d93586223f7aeb04a815686b4d04146a2ada Author: Colin Tuckley Date: Mon Nov 10 14:10:11 2008 +0000 RealView: Use the correct oscillator for the CLCD on PB1176 On PB1176, oscillator 0 rather than 4 should be used. Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit b402dff8739cd82c58b632ba472caf26ae8741ed Author: Hugo Villeneuve Date: Sat Nov 8 13:26:09 2008 -0500 ASoC: Add Right-Justified mode and Codec clock master to davinci-i2s The TI DVEVM board uses the SND_SOC_DAIFMT_CBM_CFM & I2S formats, but the Lyrtech SFFSDR board uses the SND_SOC_DAIFMT_CBM_CFS & RIGHT-JUSTIFIED formats. Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit 53599bbc30343f0cbfe750d2af19c9c45b841b82 Author: Christian Pellegrin Date: Sat Nov 8 08:44:16 2008 +0100 ASoC: s3c24xx 8 bit sound fix fixes playing/recording of 8 bit audio files. Generated on 20081108 against v2.6.27 Signed-off-by: Christian Pellegrin Signed-off-by: Mark Brown commit ba21ebb6abac5c46e1d818d2ceda82420bd099ba Author: Cyrill Gorcunov Date: Mon Nov 10 09:16:41 2008 +0100 x86: apic - use pr_ macros for logging Impact: cleanup It saves us some source lines and shift the code a bit righter. And a multiline comment style is fixed too :-) Signed-off-by: Cyrill Gorcunov Acked-by: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 4e0304310f5180eee11b4edc72cf4cb78acdc634 Author: Cyrill Gorcunov Date: Mon Nov 10 09:16:40 2008 +0100 x86: apic - calibrate_APIC_clock remove redundant irq-enable-disable Impact: cleanup lapic_timer_setup is self-protected with local_irq_save/restore no need to use them in caller and levt is the per-cpu variable so no concurrent access from another cpu. Signed-off-by: Cyrill Gorcunov Acked-by: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 4ecd33d930591d41fe356160593a9076467b961c Merge: 7d5a78c... f7160c7... Author: Ingo Molnar Date: Mon Nov 10 09:16:27 2008 +0100 Merge commit 'v2.6.28-rc4' into x86/apic commit a5a64498c194c82ecad3a2d67cff6231cda8d3dd Merge: bb93d80... f7160c7... Author: Ingo Molnar Date: Mon Nov 10 09:10:44 2008 +0100 Merge commit 'v2.6.28-rc4' into timers/rtc Conflicts: drivers/rtc/rtc-cmos.c commit f4166c54bfe04f64603974058e44fbd7cfef0ccc Author: Markus Metzger Date: Sun Nov 9 14:29:21 2008 +0100 x86, bts: DS and BTS initialization Impact: widen BTS/PEBS ptrace enablement to more CPU models Move BTS initialisation out of an #ifdef CONFIG_X86_64 guard. Assume core2 BTS and DS layout for future models of family 6 processors. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit 19f47c634ea8c5a10ff7bb1a08c52fd0f49bc54c Author: Harvey Harrison Date: Sun Nov 9 21:28:15 2008 -0800 x86: x86_32 has its own irq_regs definition Impact: cleanup Arches that have their own irq_regs definition are expected to define ARCH_HAS_OWN_IRQ_REGS or else a generic (unused) set will also be defined in lib/irq_regs.c Sparse noticed the unused generic one had no prototype: lib/irq_regs.c:15:1: warning: symbol 'per_cpu____irq_regs' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 87135d92b4ae73208c53242f3cfec5b20b772cb3 Merge: 4fcc50a... f7160c7... Author: Ingo Molnar Date: Mon Nov 10 08:41:38 2008 +0100 Merge commit 'v2.6.28-rc4' into x86/cleanups commit 6307091fe69ae74747298bdcaf43119ad67bda3a Author: Dave Chinner Date: Mon Nov 10 17:13:23 2008 +1100 [XFS] Avoid using inodes that haven't been completely initialised The radix tree walks in xfs_sync_inodes_ag and xfs_qm_dqrele_all_inodes() can find inodes that are still undergoing initialisation. Avoid them by checking for the the XFS_INEW() flag once we have a reference on the inode. This flag is cleared once the inode is properly initialised. SGI-PV: 987246 Signed-off-by: Dave Chinner Signed-off-by: Lachlan McIlroy commit cb4f0d1d4229f609f43c68acec69c7618ed72397 Author: Dave Chinner Date: Mon Nov 10 17:11:18 2008 +1100 [XFS] fix uninitialised variable bug in dquot release gcc on ARM warns about an using an uninitialised variable in xfs_qm_dqrele_all_inodes(). This is a real bug, but gcc on x86_64 is not reporting this warning so it went unnoticed. Fix the bug by bring the inode radix tree walk code up to date with xfs_sync_inodes_ag(). SGI-PV: 987246 Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d44dab8d1cde8aeba1faf44a7654f90800feb7fc Author: Stephen Rothwell Date: Mon Nov 10 17:06:05 2008 +1100 fs: xfs needs inode_wait to be exported Since wait_on_inode() references it. Signed-off-by: Stephen Rothwell Reviewed-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 644c3567d16b7e53cf52ae98c4150d601c9eacfe Author: Dave Chinner Date: Mon Nov 10 16:50:24 2008 +1100 [XFS] handle memory allocation failures during log initialisation When there is no memory left in the system, xfs_buf_get_noaddr() can fail. If this happens at mount time during xlog_alloc_log() we fail to catch the error and oops. Catch the error from xfs_buf_get_noaddr(), and allow other memory allocations to fail and catch those errors too. Report the error to the console and fail the mount with ENOMEM. Tested by manually injecting errors into xfs_buf_get_noaddr() and xlog_alloc_log(). Version 2: o remove unnecessary casts of the returned pointer from kmem_zalloc() SGI-PV: 987246 Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4fcc50abdffb517cee36cec9cb22138d84fb62d0 Author: Ingo Molnar Date: Sun Nov 9 08:10:03 2008 +0100 x86: clean up vget_cycles() Impact: remove unused variable I forgot to remove the now unused "cycles_t cycles" parameter from vget_cycles() - which triggers build warnings as tsc.h is included in a number of files. Remove it. Signed-off-by: Ingo Molnar commit 39c9aede2b4a252bd296c0a86be832c3d3d0a273 Author: Eric Paris Date: Wed Nov 5 09:34:42 2008 -0500 SELinux: Use unknown perm handling to handle unknown netlink msg types Currently when SELinux has not been updated to handle a netlink message type the operation is denied with EINVAL. This patch will leave the audit/warning message so things get fixed but if policy chose to allow unknowns this will allow the netlink operation. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit cb9e35dce94a1b9c59d46224e8a94377d673e204 Author: Ingo Molnar Date: Sat Nov 8 20:27:00 2008 +0100 x86: clean up rdtsc_barrier() use Impact: cleanup Move rdtsc_barrier() use to vsyscall_64.c where it's relied on, and point out its role in the context of its use. Signed-off-by: Ingo Molnar commit 895e031707954a9ca26ed4f5f794575313854ed1 Merge: 838e8bb... a622cf6... Author: Ingo Molnar Date: Sat Nov 8 20:23:02 2008 +0100 Merge branch 'linus' into x86/cleanups commit 15002fa9bf3a79ac9dcafba7ff308586936088b2 Author: Hiroshi Shimamoto Date: Fri Nov 7 19:25:36 2008 -0800 x86: signal: cosmetic unification of setup_sigcontext() Impact: cleanup Make setup_sigcontext() same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a309720c876d7ad2e224bfd1982c92ae4364c82e Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: display start of CPU buffer in trace output Impact: change in trace output Because the trace buffers are per cpu ring buffers, the start of the trace can be confusing. If one CPU is very active at the end of the trace, its history will not go as far back as the other CPU traces. This means that output for a particular CPU may not appear for the first part of a trace. To help annotate what is happening, and to prevent any more confusion, this patch adds a line that annotates the start of a CPU buffer output. For example: automount-3495 [001] 184.596443: dnotify_parent <-vfs_write [...] automount-3495 [001] 184.596449: dput <-path_put automount-3496 [002] 184.596450: down_read_trylock <-do_page_fault [...] sshd-3497 [001] 184.597069: up_read <-do_page_fault -0 [000] 184.597074: __exit_idle <-exit_idle [...] automount-3496 [002] 184.597257: filemap_fault <-__do_fault -0 [003] 184.597261: exit_idle <-smp_apic_timer_interrupt Note, parsers of a trace output should always ignore any lines that start with a '#'. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 769c48eb2530c5c1a393e2c82063f4f050571d24 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: force pass of preemptoff selftest Impact: preemptoff not tested in selftest Due to the BKL not being preemptable anymore, the selftest of the preemptoff code can not be tested. It requires that it is called with preemption enabled, but since the BKL is held, that is no longer the case. This patch simply skips those tests if it detects that the context is not preemptable. The following will now show up in the tests: Testing tracer preemptoff: can not test ... force PASSED Testing tracer preemptirqsoff: can not test ... force PASSED When the BKL is removed, or it becomes preemptable once again, then the tests will be performed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7d5222a6afa4e429f55df8c086adb747837cbdf5 Author: Matt Fleming Date: Fri Nov 7 13:26:25 2008 +0000 ftrace: align __mcount_loc sections Impact: add alignment option for recordmcount.pl script Align the __mcount_loc sections so that architectures with strict alignment requirements need not worry about performing unaligned accesses. This fixes an issue where I was seeing unaligned accesses, which are not supported on our architecture (the results of an unaligned access are undefined). Signed-off-by: Matt Fleming Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c76f06945be50564f925799ddfb6235ee4c26aa0 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: remove trace array ctrl Impact: remove obsolete variable in trace_array structure With the new start / stop method of ftrace, the ctrl variable in the trace_array structure is now obsolete. Remove it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bbf5b1a0cecb56de6236db8b01c5bfb7ab8ba8b2 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: remove ctrl_update method Impact: Remove the ctrl_update tracer method With the new quick start/stop method of tracing, the ctrl_update method is out of date. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 49833fc232bd6a5076496994d855f601354501d7 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: enable trace_printk by default Impact: have the ftrace_printk enabled on startup It is confusing to have to "echo trace_printk > /debug/tracing/iter_ctrl" after adding ftrace_printk in the kernel. Currently the trace_printk is set to off by default. ftrace_printk should only be in open kernel code when used for debugging, and thus it should be enabled by default. It may also be used to record data within a tracer, but those ftrace_printks should be within wrappers that are either enabled by trace_points or have a variable protecting the code path from being entered when the tracer is disabled. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 451931702017951f74624ddc4f7f02e4641b0e20 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: irqsoff tracer incorrect reset Impact: fix to irqsoff tracer output In converting to the new start / stop ftrace handling, the irqsoff tracer start called the irqsoff reset function. irqsoff tracer is not the same as the other traces, and it resets the buffers while searching for the longest latency. The reset that the irqsoff stop method calls disables the function tracing. That means that, by starting the tracer, the function tracer is disabled incorrectly. This patch simply removes the call to reset which keeps the function tracing enabled. Reset is not needed for the irqsoff stop method. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e168e0516e476070faa9e8e7b23dfcba79b76d82 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: fix sched_switch API Impact: fix for sched_switch that broke dynamic ftrace startup The commit: tracing/fastboot: use sched switch tracer from boot tracer broke the API of the sched_switch trace. The use of the tracing_start/stop_cmdline record is for only recording the cmdline, NOT recording the schedule switches themselves. Seeing that the boot tracer broke the API to do something that it wanted, this patch adds a new interface for the API while puting back the original interface of the old API. Signed-off-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 75f5c47da386445ba0c5a8b7e3ca0c906e763369 Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: fix boot trace sched startup Impact: boot tracer startup modified The boot tracer calls into some of the schedule tracing private functions that should not be exported. This patch cleans it up, and makes way for further changes in the ftrace infrastructure. This patch adds a api to assign a tracer array to the schedule context switch tracer. Signed-off-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 0183fb1c94b74862b073590fc52c56b7364b7bad Author: Steven Rostedt Date: Fri Nov 7 22:36:02 2008 -0500 ftrace: fix set_ftrace_filter Impact: fix of output of set_ftrace_filter Commit ftrace: do not show freed records in available_filter_functions Removed a bit too much from the set_ftrace_filter code, where we now see all functions in the set_ftrace_filter file even when we set a filter. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a6b0786f7f83bcc4d414a2977aaebe2941ebe1de Merge: 3e03fb7... 6a60dd1... 072ba49... Author: Ingo Molnar Date: Sat Nov 8 09:34:35 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/fastboot', 'tracing/nmisafe' and 'tracing/urgent' into tracing/core commit f574179b63e48f5285468b5ee40f3c480221f708 Author: Harvey Harrison Date: Fri Nov 7 23:37:50 2008 -0800 tipc: trivial endian annotation in debug statement Use htonl rather than ntohl on a u32. net/tipc/name_table.c:557:2: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit f400923735ecbb67cbe4a3606c9479f694754f51 Author: Thomas Graf Date: Fri Nov 7 22:56:00 2008 -0800 pkt_sched: Control group classifier The classifier should cover the most common use case and will work without any special configuration. The principle of the classifier is to directly access the task_struct via get_current(). In order for this to work, classification requests from softirqs must be ignored. This is not a problem because the vast majority of packets in softirq context are not assigned to a task anyway. For this to work, a mechanism is needed to trace softirq context. This repost goes back to the method of relying on the number of nested bh disable calls for the sake of not adding too much complexity and the option to come up with something more reliable if actually needed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 505d4f73dda9e20d59da05008f1f5eb432613e71 Author: Eric W. Biederman Date: Fri Nov 7 22:54:20 2008 -0800 net: Guaranetee the proper ordering of the loopback device. v2 I was recently hunting a bug that occurred in network namespace cleanup. In looking at the code it became apparrent that we have and will continue to have cases where if we have anything going on in a network namespace there will be assumptions that the loopback device is present. Things like sending igmp unsubscribe messages when we bring down network devices invokes the routing code which assumes that at least the loopback driver is present. Therefore to avoid magic initcall ordering hackery that is hard to follow and hard to get right insert a call to register the loopback device directly from net_dev_init(). This guarantes that the loopback device is the first device registered and the last network device to go away. But do it carefully so we register the loopback device after we clear dev_boot_phase. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5d6d480908300a0c0b3be8b58567dfcef62c83a5 Author: Eric W. Biederman Date: Fri Nov 7 22:52:34 2008 -0800 net: fib_rules ordering fixes. We need to setup the network namespace state before we register the notifier. Otherwise if a network device is already registered we get a nasty NULL pointer dereference. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 3d8160b1493bcadca74fbb635d79b3928b8999cf Author: David S. Miller Date: Fri Nov 7 22:52:14 2008 -0800 Revert "net: Guaranetee the proper ordering of the loopback device." This reverts commit ae33bc40c0d96d02f51a996482ea7e41c5152695. commit 58be81ed301d96045bca2b85f3b838910efcfde4 Author: David Vrabel Date: Fri Nov 7 18:19:19 2008 +0000 uwb: fix races between events and neh timers Always use del_timer_sync() before freeing nehs. Destroy all nehs after stopping the radio controller and before cleaning up the reservation manager. Handle the timer running after an event has removed the neh. This fixes various oopses that may occur if a radio controller is removed while a neh timer is still active. Signed-off-by: David Vrabel commit 307ba6dd73254fe7d2ce27db64ffd90e1bb3c6c0 Author: David Vrabel Date: Fri Nov 7 17:37:33 2008 +0000 uwb: don't unbind the radio controller driver when resetting Use pre_reset and post_reset methods to avoid unbinding the radio controller driver after a uwb_rc_reset_all() call. This avoids a deadlock in uwb_rc_rm() when waiting for the uwb event thread to stop. Signed-off-by: David Vrabel commit 0edb94543092535a2c6ef33e7285004168ca73d7 Author: Takashi Iwai Date: Fri Nov 7 14:53:09 2008 +0100 ALSA: hda - Fix probe errors on Dell Studio Desktop BIOS on Dell Studio Desktop tells wrong codec probe masks. This patch gives the preset mask value to avoid invalid access. Reference: Novell bug#440907 https://bugzilla.novell.com/show_bug.cgi?id=440907 Signed-off-by: Takashi Iwai commit 30cde0aacc5f6786b0c4d4fafaac95eac845b8d7 Author: Takashi Iwai Date: Fri Nov 7 14:49:28 2008 +0100 ALSA: hda - Fix ALC260 hp3013 master switch The master switch doesn't influence on NID 0x15, the headphone jack on HP 3013 model because alc260_hp_master_update() ignores the passed arguments. Also, corrected the wrong arguments of hp3013 (0x10 and 0x15) although this doesn't change any behavior. Signed-off-by: Takashi Iwai commit 26df91c36fb976af9d08c20028b5cb1317eedcb3 Author: Troy Kisky Date: Wed Nov 5 18:53:28 2008 +0000 ASoC: TLV320AIC23B Support more sample rates Add support for more sample rates, different crystals and split playback/capture rates. Signed-off-by: Troy Kisky Acked-by: Arun KS Signed-off-by: Mark Brown commit 167c6274c30d17c41742096d1a12c32bd3b7e366 Merge: 5c7f033... a827206... Author: David S. Miller Date: Fri Nov 7 01:37:16 2008 -0800 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 6d21cd62516a9697cb7ec33cc52e6b814fb65a13 Author: Li Zefan Date: Fri Nov 7 17:03:18 2008 +0800 sched: clean up SCHED_CPUMASK_ALLOC Impact: cleanup The #if/#endif is ugly. Change SCHED_CPUMASK_ALLOC and SCHED_CPUMASK_FREE to static inline functions. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 258594a138f4ca9adf214f5272592d7f21def610 Merge: a87d091... ca3273f... Author: Ingo Molnar Date: Fri Nov 7 10:29:58 2008 +0100 Merge branch 'sched/urgent' into sched/core commit f66fcedc84dd06d42a0dba3894d238498509e8b7 Author: Takashi Iwai Date: Fri Nov 7 09:37:22 2008 +0100 ALSA: Document debug macros Add descriptions of snd_BUG() and snd_BUG_ON(). Also fixed a typo in the comment of snd_printk(), too. Signed-off-by: Takashi Iwai commit a8272061fe533f6d0261b38c58c93bd0855baebe Author: Komuro Date: Mon Nov 3 10:56:04 2008 +0900 fmvj18x_cs: write interrupt ack bit for lan and modem to work simultaneously. Write interrupt ack bit in fjn_interrupt for lan and modem to work simultaneously. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 945eed02cd619f525e097319cd3d18c58d01da87 Author: Takashi Iwai Date: Fri Nov 7 09:08:15 2008 +0100 ALSA: Evaluate condition in snd_BUG_ON() in non-debugging case Change snd_BUG_ON() to evaluate the given condition, at least, in syntax for avoiding compile warnings such as unused variables. The compiler should optimize out the condition evaluation in the real code, though. Signed-off-by: Takashi Iwai commit 077402317291437521ed86d3326b3bcc62d40529 Merge: ea2da6e... 959973b... Author: Takashi Iwai Date: Fri Nov 7 09:06:45 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit 63cf123bf5d538a066e4a899390c9ce56ab6df9f Merge: 6834d7c... fcef783... Author: Takashi Iwai Date: Fri Nov 7 09:06:05 2008 +0100 Merge branch 'topic/fix/misc' into topic/misc commit 5c7f0333584128c745fbda845abbe3a32c22d467 Author: Harvey Harrison Date: Thu Nov 6 23:10:50 2008 -0800 phonet: sparse annotations of protocol, remove forward declaration net/phonet/af_phonet.c:38:36: error: marked inline, but without a definition net/phonet/pep-gprs.c:63:10: warning: incorrect type in return expression (different base types) net/phonet/pep-gprs.c:63:10: expected int net/phonet/pep-gprs.c:63:10: got restricted __be16 [usertype] net/phonet/pep-gprs.c:65:10: warning: incorrect type in return expression (different base types) net/phonet/pep-gprs.c:65:10: expected int net/phonet/pep-gprs.c:65:10: got restricted __be16 [usertype] net/phonet/pep-gprs.c:124:16: warning: incorrect type in assignment (different base types) net/phonet/pep-gprs.c:124:16: expected restricted __be16 [usertype] protocol net/phonet/pep-gprs.c:124:16: got unsigned short [unsigned] [usertype] protocol Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit ca62059b7ec7267d1d2cab0791d3ed6d033e0583 Author: Harvey Harrison Date: Thu Nov 6 23:09:56 2008 -0800 ipvs: oldlen, newlen should be be16, not be32 Noticed by sparse: net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:206:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:206:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_udp.c:206:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:207:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:207:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_udp.c:207:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:282:6: warning: incorrect type in argument 5 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:282:6: expected restricted __be16 [usertype] oldlen net/netfilter/ipvs/ip_vs_proto_udp.c:282:6: got restricted __be32 [usertype] net/netfilter/ipvs/ip_vs_proto_udp.c:283:6: warning: incorrect type in argument 6 (different base types) net/netfilter/ipvs/ip_vs_proto_udp.c:283:6: expected restricted __be16 [usertype] newlen net/netfilter/ipvs/ip_vs_proto_udp.c:283:6: got restricted __be32 [usertype] Signed-off-by: Harvey Harrison Acked-by: Simon Horman Signed-off-by: David S. Miller commit 76acfdb9b78acf73023307974f6d38a269e9967a Author: Alexey Dobriyan Date: Thu Nov 6 23:06:44 2008 -0800 net: mark flow_cache_cpu_prepare() as __init It's called from __init code only. And__devinit in generic networking code is pretty strange :^) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9eeda9abd1faf489f3df9a1f557975f4c8650363 Merge: 61c9eaf... 4bab0ea... Author: David S. Miller Date: Thu Nov 6 22:43:03 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath5k/base.c net/8021q/vlan_core.c commit dcd7b4e5c0649b1d2219399529b20de1df517e55 Merge: 75fa677... 91b7771... Author: Niv Sardi Date: Fri Nov 7 15:07:12 2008 +1100 Merge branch 'master' of git://oss.sgi.com:8090/xfs/linux-2.6 commit ea2da6e898033b9736a26cf588b9ce841a433337 Author: Takashi Iwai Date: Fri Nov 7 00:49:48 2008 +0100 ALSA: hda - Fix broken hash chain allocation The chaining for amp hash got broken due to the rewrite with snd_array. Fixed now. Signed-off-by: Takashi Iwai commit b910d9ae5b370cf5bf9d6a71028119861b6ea8a4 Author: Takashi Iwai Date: Fri Nov 7 00:26:52 2008 +0100 ALSA: hda - Add max allocation check in array allocator Added a check for max allocation size in snd_array_new() for a debugging purpose. Signed-off-by: Takashi Iwai commit c217429b14708999d6ac5de964c452600e8797d3 Author: Takashi Iwai Date: Fri Nov 7 00:23:30 2008 +0100 ALSA: hda - Add missing NULL check in amp hash allocation Added the missing NULL check from allocator in get_alloc_hash(). Signed-off-by: Takashi Iwai commit a87d091434ed2a34d647979ab12084139ee1fe41 Author: Ken Chen Date: Thu Nov 6 11:10:49 2008 -0800 x86, sched: enable wchan config menu item on 64-bit Enable the wchan config menu item for now on x86-64 arch? This will at least allow people to enable/disable frame pointers on scheduler functions. Signed-off-by: Ken Chen Signed-off-by: Ingo Molnar commit 6a60dd121c5b6c2d827e99b38c1326f2600c3891 Author: Steven Rostedt Date: Thu Nov 6 15:55:21 2008 -0500 ftrace: split out hardirq ftrace code into own header Impact: moving of function prototypes into own header file ftrace.h is too big of a file for hardirq.h, and some archs will fail to build because of the include dependencies not being met. This patch pulls out the required prototypes for hardirq.h into a smaller and safer ftrace_irq.h file. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cf7f8690e864c6fe11e77202dd847fa60f483418 Author: Sripathi Kodi Date: Wed Nov 5 18:57:14 2008 +0530 sched, lockdep: inline double_unlock_balance() We have a test case which measures the variation in the amount of time needed to perform a fixed amount of work on the preempt_rt kernel. We started seeing deterioration in it's performance recently. The test should never take more than 10 microseconds, but we started 5-10% failure rate. Using elimination method, we traced the problem to commit 1b12bbc747560ea68bcc132c3d05699e52271da0 (lockdep: re-annotate scheduler runqueues). When LOCKDEP is disabled, this patch only adds an additional function call to double_unlock_balance(). Hence I inlined double_unlock_balance() and the problem went away. Here is a patch to make this change. Signed-off-by: Sripathi Kodi Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 64154835c58a99370c3b7fbf85d2451d6906b3b4 Author: Tony Vroon Date: Thu Nov 6 15:08:49 2008 +0000 ALSA: hda - Add lifebook model for Realtek ALC269 The widget layout of the Fujitsu Lifebook S6420 (which is ICH9M-based and uses an ALC269) is similar but not identical to the Lifebook S6410/E8410 (which are ICH8M-based and use an ALC262). It is named lifebook as fujitsu is in use for Amilo machines. This builds on the Quanta FL1 work and supports all analog inputs & outputs that I am aware of. Microphone autoswitch is implemented. The laptop mic port takes precedence over the dock mic port if both happen to have a jack plugged in. This made sense to me as a design decision (imagine a presentation environment with the dock fully wired in and the presenter quickly wanting to override the mic with a headset). There is mention of a digital audio path on the codec graph, so perhaps the headphone socket is dual-function analog/digital. I will follow up with another patch if I can acquire equipment to test this. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit 6ce4a3bc1b93e8ca50b142b00dd73bfdb5c4a172 Author: Takashi Iwai Date: Thu Nov 6 17:11:10 2008 +0100 ALSA: hda - Make codec-probing more robust When an error occurs during the codec probing, typically accessing to an non-existing codec slot, the controller chip gets often screwed up and can no longer communicate with the codecs. This patch adds a preparation phase just to probe codec addresses before actually creating codec instances. If any error occurs during this probing phase, the driver resets the controller to recover. This will (hopefully) fix the famous "single_cmd" errors. Signed-off-by: Takashi Iwai commit 33fa35ed0d7e8996cc68cc2ffc21f12b38fa03c1 Author: Takashi Iwai Date: Thu Nov 6 16:50:40 2008 +0100 ALSA: hda - simplify hda_bus ops callbacks The hda_bus ops callback take struct hda_bus pointer. Also, the command callback takes the composed command word, instead of each small bits in arguments. Signed-off-by: Takashi Iwai commit 73b63efaac7352c9e2bf1570fac98fd44a99f8f9 Author: Jon Callan Date: Thu Nov 6 13:23:09 2008 +0000 ARMv7: Add SMP initialisation to proc-v7.S This patch adds the SMP/nAMP mode setting to __v7_setup and also sets TTBR to shared page table walks if SMP is enabled. The PTWs are also marked inner cacheable for both SMP and UP modes (setting this is fine even if the CPU doesn't support the feature). Signed-off-by: Jon Callan Signed-off-by: Catalin Marinas commit 6b07d7fea0496374ff7754dc3d1dca03b2911828 Author: Catalin Marinas Date: Thu Nov 6 13:23:08 2008 +0000 ARMv7: Do not set TTBR0 in __v7_setup This register is set in __enable_mmu in the head.S file. Signed-off-by: Catalin Marinas commit 376e14218d3d791127e9b9bfbe2f99c44c2a19c2 Author: Catalin Marinas Date: Thu Nov 6 13:23:08 2008 +0000 Do not flush the cache in flush_cache_v(un)map for VIPT caches In case of non-aliasing VIPT caches, there is no need to flush the whole cache when new mapping is created. The patch introduces this condition check. In the non-aliasing VIPT case flush_cache_vmap() needs a DSB since the set_pte_at() function called from vmap_pte_range() does not have such barrier (done usually via TLB flushing functions). Signed-off-by: Catalin Marinas commit 24b647a042b988b017e6cdf60b47a0bfecd1dc41 Author: Catalin Marinas Date: Thu Nov 6 13:23:08 2008 +0000 ARMv7: Branch over conditional undefined instructions in vfphw.S On ARMv7, conditional undefined instructions may generate exceptions even if the condition is not met. The vfphw.S contains the FPINST and FPINST2 access instructions which may not be present on processors with synchronous VFP exceptions. Signed-off-by: Catalin Marinas commit c30c2f99e10b6a810dae9a25b35c6d48796d8ffb Author: Catalin Marinas Date: Thu Nov 6 13:23:07 2008 +0000 ARMv7: Add extra barriers for flush_cache_all compressed/head.S The flush_cache_all function on ARMv7 is implemented as a series of cache operations by set/way. These are not guaranteed to be ordered with previous memory accesses, requiring a DMB. This patch also adds barriers for the TLB operations in compressed/head.S Signed-off-by: Catalin Marinas commit 2bedbdf4148ebbe48c7a89449ab52e475a788f42 Author: Catalin Marinas Date: Thu Nov 6 13:23:07 2008 +0000 Add HWCAP_NEON to the ARM hwcap.h file Signed-off-by: Catalin Marinas commit 4369ae16eec16e6a922d4333da88a58fbc201369 Author: Catalin Marinas Date: Thu Nov 6 13:23:06 2008 +0000 Add "thumbee" to the hwcap_str array This part was missed in the initial patch adding ThumbEE support. Signed-off-by: Catalin Marinas commit e18c94d20224f3df584531a48d944d8cccfda46d Author: Grazvydas Ignotas Date: Wed Nov 5 23:51:05 2008 +0200 ALSA: ASoC: TWL4030 codec - fix 256*Fs clock According to TRM, 256*Fs clock output should be enabled when TWL4030 is in slave mode, not master. This allows sound to work on OMAP3 Pandora, which uses 256*Fs clock. Signed-off-by: Grazvydas Ignotas Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit fd51b2d7d5df932767b89e00d0871a38a2c53e74 Author: KOSAKI Motohiro Date: Wed Nov 5 02:27:19 2008 +0900 x86: update CONFIG_NUMA description Impact: clarify/update CONFIG_NUMA text CONFIG_NUMA description talk about a bit old thing. So, following changes are better. o CONFIG_NUMA is no longer EXPERIMENTAL o Opteron is not the only processor of NUMA topology on x86_64 no longer, but also Intel Core7i has it. Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 90080bf4b803efbc9b9cd3a7ed1639f1e036238e Author: Randy Dunlap Date: Tue Nov 4 14:37:25 2008 -0800 sched, documentation: update scheduler header file paths Impact: update documentation Update Documentation/scheduler/ files to reflect changed header files locations. Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit 8735b7d0a2a6246faa406a8cdd1376bd0e689ba3 Author: Hiroshi Shimamoto Date: Wed Nov 5 18:34:35 2008 -0800 x86: signal_64: make setup_sigcontext() similar Impact: cleanup remove passing task struct. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit ee7d523c124a186ce3a886868de9cd1d8bc991f3 Author: Hiroshi Shimamoto Date: Wed Nov 5 18:33:35 2008 -0800 x86: signal_64: setup fpstate in setup_sigcontext() Impact: cleanup set fpstate field of signal context at setup_sigcontext(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 99ea1b93bf80a287dd70499b96d9c4d06f320ff2 Author: Hiroshi Shimamoto Date: Wed Nov 5 18:32:54 2008 -0800 x86: ia32_signal: do save_i387_xstate_ia32 at get_sigframe() Impact: cleanup move calling save_i387_xstate_ia32() into get_sigframe() from setup_sigcontext(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 4b33669e817a01dd99ff91df330d504ccfb2e99c Author: Hiroshi Shimamoto Date: Wed Nov 5 18:30:25 2008 -0800 x86: signal_32: do save_i387_xstate() at get_sigframe() Impact: cleanup move calling save_i387_xstate() into get_sigframe() from setup_sigcontext() like 64bit. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 3e03fb7f1da2e691644526c0d6df42d778716349 Author: Steven Rostedt Date: Thu Nov 6 00:09:43 2008 -0500 ring-buffer: convert to raw spinlocks Impact: no lockdep debugging of ring buffer The problem with running lockdep on the ring buffer is that the ring buffer is the core infrastructure of ftrace. What happens is that the tracer will start tracing the lockdep code while lockdep is testing the ring buffers locks. This can cause lockdep to fail due to testing cases that have not fully finished their locking transition. This patch converts the spin locks used by the ring buffer back into raw spin locks which lockdep does not check. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9036990d462e09366f7297a2d1da6582c3e6b1d3 Author: Steven Rostedt Date: Wed Nov 5 16:05:44 2008 -0500 ftrace: restructure tracing start/stop infrastructure Impact: change where tracing is started up and stopped Currently, when a new tracer is selected via echo'ing a tracer name into the current_tracer file, the startup is only done if tracing_enabled is set to one. If tracing_enabled is changed to zero (by echo'ing 0 into the tracing_enabled file) a full shutdown is performed. The full startup and shutdown of a tracer can be expensive and the user can lose out traces when echo'ing in 0 to the tracing_enabled file, because the process takes too long. There can also be places that the user would like to start and stop the tracer several times and doing the full startup and shutdown of a tracer might be too expensive. This patch performs the full startup and shutdown when a tracer is selected. It also adds a way to do a quick start or stop of a tracer. The quick version is just a flag that prevents the tracing from taking place, but the overhead of the code is still there. For example, the startup of a tracer may enable tracepoints, or enable the function tracer. The stop and start will just set a flag to have the tracer ignore the calls when the tracepoint or function trace is called. The overhead of the tracer may still be present when the tracer is stopped, but no tracing will occur. Setting the tracer to the 'nop' tracer (or any other tracer) will perform the shutdown of the tracer which will disable the tracepoint or disable the function tracer. The tracing_enabled file will simply start or stop tracing. This change is all internal. The end result for the user should be the same as before. If tracing_enabled is not set, no trace will happen. If tracing_enabled is set, then the trace will happen. The tracing_enabled variable is static between tracers. Enabling tracing_enabled and going to another tracer will keep tracing_enabled enabled. Same is true with disabling tracing_enabled. This patch will now provide a fast start/stop method to the users for enabling or disabling tracing. Note: There were two methods to the struct tracer that were never used: The methods start and stop. These were to be used as a hook to the reading of the trace output, but ended up not being necessary. These two methods are now used to enable the start and stop of each tracer, in case the tracer needs to do more than just not write into the buffer. For example, the irqsoff tracer must stop recording max latencies when tracing is stopped. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0f04870148ecb825133bc2733f473b1c5773ac0b Author: Steven Rostedt Date: Wed Nov 5 16:05:44 2008 -0500 ftrace: soft tracing stop and start Impact: add way to quickly start stop tracing from the kernel This patch adds a soft stop and start to the trace. This simply disables function tracing via the ftrace_disabled flag, and disables the trace buffers to prevent recording. The tracing code may still be executed, but the trace will not be recorded. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 60a7ecf42661f2b22168751298592da6ee210c9e Author: Steven Rostedt Date: Wed Nov 5 16:05:44 2008 -0500 ftrace: add quick function trace stop Impact: quick start and stop of function tracer This patch adds a way to disable the function tracer quickly without the need to run kstop_machine. It adds a new variable called function_trace_stop which will stop the calls to functions from mcount when set. This is just an on/off switch and does not handle recursion like preempt_disable(). It's main purpose is to help other tracers/debuggers start and stop tracing fuctions without the need to call kstop_machine. The config option HAVE_FUNCTION_TRACE_MCOUNT_TEST is added for archs that implement the testing of the function_trace_stop in the mcount arch dependent code. Otherwise, the test is done in the C code. x86 is the only arch at the moment that supports this. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 79c81d220c8e25163f56edcdfaf23f83a4c88e6b Merge: 3299b4d... 79a9d46... Author: Ingo Molnar Date: Thu Nov 6 07:43:47 2008 +0100 Merge branch 'tracing/fastboot' into tracing/ftrace commit fd9abb3d97c2ab883e4732ec1214fe64190236e7 Author: Steve Glendinning Date: Wed Nov 5 00:35:37 2008 +0000 SMSC LAN911x and LAN921x vendor driver Attached is a driver for SMSC's LAN911x and LAN921x families of embedded ethernet controllers. There is an existing smc911x driver in the tree; this is intended to replace it. Dustin McIntire (the author of the smc911x driver) has expressed his support for switching to this driver. This driver contains workarounds for all known hardware issues, and has been tested on all flavours of the chip on multiple architectures. This driver now uses phylib, so this patch also adds support for the device's internal phy Signed-off-by: Steve Glendinning Signed-off-by: Bahadir Balban Signed-off-by: Dustin Mcintire Signed-off-by: Bill Gatliff Signed-off-by: Jeff Garzik commit c5916cf8dbd3ac5ec675d9347aeaa796b546b50e Author: Hannes Hering Date: Wed Nov 5 13:18:21 2008 +0100 ehea: Fix some whitespace issues This patch removes some trailing whitespaces and spaces before tabs. Signed-off-by: Hannes Hering Signed-off-by: Jeff Garzik commit 739bb23d722313e37322f485eb65f700b060d817 Author: Ben Hutchings Date: Tue Nov 4 20:35:36 2008 +0000 sfc: Do not reset when hardware monitor detects a fault The TX watchdog should trigger a reset, but a temperature/power alarm should not as this is unlikely to solve the problem. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 3e133c44d24a094118caee182200462d46c55b56 Author: Ben Hutchings Date: Tue Nov 4 20:34:56 2008 +0000 sfc: Use lm87 and lm90 drivers for board temperature/power monitoring Add board monitoring to periodic work whenever link is down. For SFE4001, report when a fault has caused the PHY to turn off. For SFE4002, switch XFP PHY into low-power state in case of a fault. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit f41507245ef8b079685aba8da5b5b2b5e87e70bc Author: Ben Hutchings Date: Tue Nov 4 20:34:28 2008 +0000 sfc: Expose flash region storing boot code as MTD The boot code that appears as a PCI expansion ROM on the SFC4000 is stored in flash. Expose this as a standard MTD device to allow for in-place upgrades. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 0a95f56323ce93dac354c1b2d54bf959a985cf7d Author: Ben Hutchings Date: Tue Nov 4 20:33:11 2008 +0000 sfc: Clean up non-volatile memory partitioning Move flash and EEPROM partition boundary constants into spi.h and rename them to be consistent. Add a comment on the partitioning. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 2883f552f2c6c6ccb2021643652c6d930f205f6f Author: Ben Hutchings Date: Tue Nov 4 20:32:45 2008 +0000 sfc: Correct address of gPXE boot configuration in EEPROM Due to a hardware bug, the originally assigned range cannot reliably be used for boot configuration and must not be modifiable through ethtool. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit fd989c83325cb34795bc4d4aa6b13c06f90eac99 Author: Jay Vosburgh Date: Tue Nov 4 17:51:16 2008 -0800 bonding: alternate agg selection policies for 802.3ad This patch implements alternative aggregator selection policies for 802.3ad. The existing policy, now termed "stable," selects the active aggregator by greatest bandwidth, and only reselects a new aggregator if the active aggregator is entirely disabled (no more ports or all ports down). This patch adds two new policies: bandwidth and count, selecting the active aggregator by total bandwidth (like the stable policy) or by the number of ports in the aggregator, respectively. These two policies also differ from the stable policy in that they will reselect the active aggregator when availability-related changes occur in the bond (e.g., link state change). This permits "gang failover" within 802.3ad, allowing redundant aggregators along parallel paths to always maintain the "best" aggregator as the active aggregator (rather than having to wait for the active to entirely fail). This patch also updates the driver version to 3.5.0. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 6146b1a4da98377e4abddc91ba5856bef8f23f1e Author: Jay Vosburgh Date: Tue Nov 4 17:51:15 2008 -0800 bonding: Fix ALB mode to balance traffic on VLANs The current ALB function that processes incoming ARPs does not handle traffic for VLANs configured above bonding. This causes traffic on those VLANs to all be assigned the same slave. This patch corrects that misbehavior by locating the bonding interface nested below the VLAN interface. Bug reported by Sven Anders , who also tested an earlier version of this patch and confirmed that it resolved the problem. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 305d552accae6afb859c493ebc7d98ca3371dae2 Author: Brian Haley Date: Tue Nov 4 17:51:14 2008 -0800 bonding: send IPv6 neighbor advertisement on failover This patch adds better IPv6 failover support for bonding devices, especially when in active-backup mode and there are only IPv6 addresses configured, as reported by Alex Sidorenko. - Creates a new file, net/drivers/bonding/bond_ipv6.c, for the IPv6-specific routines. Both regular bonds and VLANs over bonds are supported. - Adds a new tunable, num_unsol_na, to limit the number of unsolicited IPv6 Neighbor Advertisements that are sent on a failover event. Default is 1. - Creates two new IPv6 neighbor discovery functions: ndisc_build_skb() ndisc_send_skb() These were required to support VLANs since we have to be able to add the VLAN id to the skb since ndisc_send_na() and friends shouldn't be asked to do this. These two routines are basically __ndisc_send() split into two pieces, in a slightly different order. - Updates Documentation/networking/bonding.txt and bumps the rev of bond support to 3.4.0. On failover, this new code will generate one packet: - An unsolicited IPv6 Neighbor Advertisement, which helps the switch learn that the address has moved to the new slave. Testing has shown that sending just the NA results in pretty good behavior when in active-back mode, I saw no lost ping packets for example. Signed-off-by: Brian Haley Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 7d9d1f25c3872080ce599e5dd0dac3305d0a028b Author: Dean Nelson Date: Wed Nov 5 17:29:48 2008 -0600 sgi-xp: support getting the address of a partition's reserved page Add support for getting the address of a partition's reserved page. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 31de5ece351a218a35b9bf83ab05a14373261bb6 Author: Dean Nelson Date: Wed Nov 5 17:28:35 2008 -0600 sgi-xp: define xp_partition_id and xp_region_size Define xp_partition_id and xp_region_size to their correct values. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 2525789b4694d78df4f001063f042b2b74227d26 Author: Dean Nelson Date: Wed Nov 5 17:28:00 2008 -0600 sgi-xp: create activate and notify gru message queues For UV add the code to create the activate and notify gru message queues. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 6c1c325de908cbc444cf284f59c3a892161012e9 Author: Dean Nelson Date: Wed Nov 5 17:27:22 2008 -0600 sgi-xp: define xp_expand_memprotect() and xp_restrict_memprotect() Define xp_expand_memprotect() and xp_restrict_memprotect() so they can be tailered to the hardware they are run on. Signed-off-by: Dean Nelson Signed-off-by: H. Peter Anvin commit 23c357003b3671cdfb17bc4d5383589e74b71511 Author: Russ Anderson Date: Wed Nov 5 22:15:13 2008 -0600 x86: uv: Add UV reserved page bios call Add UV bios call to get the address of the reserved page. Signed-off-by: Russ Anderson Signed-off-by: H. Peter Anvin commit e8929c8a6acbecbd629b8e3f2d1a2546ec4ebdfc Author: Russ Anderson Date: Wed Nov 5 22:13:44 2008 -0600 x86: uv: Add UV memory protection bios call Add UV bios call to change memory protections. Signed-off-by: Russ Anderson Signed-off-by: H. Peter Anvin commit 64ccf2f9a70a06ba56cd8cedfa610b4e77181587 Author: Russ Anderson Date: Wed Nov 5 22:11:56 2008 -0600 x86: uv: Add UV watchlist bios call Add UV bios calls to allocate and free watchlists. Signed-off-by: Russ Anderson Signed-off-by: H. Peter Anvin commit 61c9eaf90081cbe6dc4f389e0056bff76eca19ec Author: Jarek Poplawski Date: Wed Nov 5 16:02:34 2008 -0800 pkt_sched: Fix qdisc len in qdisc_peek_dequeued() A packet dequeued and stored as gso_skb in qdisc_peek_dequeued() should be seen as part of the queue for sch->q.qlen queries until it's really dequeued with qdisc_dequeue_peeked(), so qlen needs additional updating in these functions. (Updating qstats.backlog shouldn't matter here.) Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 0a36b345ab99d6b3c96999e7e3b79bd243cf9bf7 Author: Eric W. Biederman Date: Wed Nov 5 16:00:24 2008 -0800 net: Don't leak packets when a netns is going down I have been tracking for a while a case where when the network namespace exits the cleanup gets stck in an endless precessess of: unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 unregister_netdevice: waiting for lo to become free. Usage count = 3 It turns out that if you listen on a multicast address an unsubscribe packet is sent when the network device goes down. If you shutdown the network namespace without carefully cleaning up this can trigger the unsubscribe packet to be sent over the loopback interface while the network namespace is going down. All of which is fine except when we drop the packet and forget to free it leaking the skb and the dst entry attached to. As it turns out the dst entry hold a reference to the idev which holds the dev and keeps everything from being cleaned up. Yuck! By fixing my earlier thinko and add the needed kfree_skb and everything cleans up beautifully. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ae33bc40c0d96d02f51a996482ea7e41c5152695 Author: Eric W. Biederman Date: Wed Nov 5 16:00:02 2008 -0800 net: Guaranetee the proper ordering of the loopback device. I was recently hunting a bug that occurred in network namespace cleanup. In looking at the code it became apparrent that we have and will continue to have cases where if we have anything going on in a network namespace there will be assumptions that the loopback device is present. Things like sending igmp unsubscribe messages when we bring down network devices invokes the routing code which assumes that at least the loopback driver is present. Therefore to avoid magic initcall ordering hackery that is hard to follow and hard to get right insert a call to register the loopback device directly from net_dev_init(). This guarantes that the loopback device is the first device registered and the last network device to go away. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d0c082cea6dfb9b674b4f6e1e84025662dbd24e8 Author: Eric W. Biederman Date: Wed Nov 5 15:59:38 2008 -0800 netns: Delete virtual interfaces during namespace cleanup When physical devices are inside of network namespace and that network namespace terminates we can not make them go away. We have to keep them and moving them to the initial network namespace is the best we can do. For virtual devices left in a network namespace that is exiting we have no need to preserve them and we now have the infrastructure that allows us to delete them. So delete virtual devices when we exit a network namespace. Keeping the necessary user space clean up after a network namespace exits much more tractable. Acked-by: Daniel Lezcano Acked-by: Pavel Emelyanov Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 1c1b777a5673b57a6c0377ba60a790d05e4a0676 Author: Harvey Harrison Date: Wed Nov 5 09:51:12 2008 -0800 powerpc: Use the new byteorder headers Signed-off-by: Harvey Harrison Signed-off-by: Paul Mackerras commit 1f29fae29709b4668979e244c09b2fa78ff1ad59 Author: Serge E. Hallyn Date: Wed Nov 5 16:08:52 2008 -0600 file capabilities: add no_file_caps switch (v4) Add a no_file_caps boot option when file capabilities are compiled into the kernel (CONFIG_SECURITY_FILE_CAPABILITIES=y). This allows distributions to ship a kernel with file capabilities compiled in, without forcing users to use (and understand and trust) them. When no_file_caps is specified at boot, then when a process executes a file, any file capabilities stored with that file will not be used in the calculation of the process' new capability sets. This means that booting with the no_file_caps boot option will not be the same as booting a kernel with file capabilities compiled out - in particular a task with CAP_SETPCAP will not have any chance of passing capabilities to another task (which isn't "really" possible anyway, and which may soon by killed altogether by David Howells in any case), and it will instead be able to put new capabilities in its pI. However since fI will always be empty and pI is masked with fI, it gains the task nothing. We also support the extra prctl options, setting securebits and dropping capabilities from the per-process bounding set. The other remaining difference is that killpriv, task_setscheduler, setioprio, and setnice will continue to be hooked. That will be noticable in the case where a root task changed its uid while keeping some caps, and another task owned by the new uid tries to change settings for the more privileged task. Changelog: Nov 05 2008: (v4) trivial port on top of always-start-\ with-clear-caps patch Sep 23 2008: nixed file_caps_enabled when file caps are not compiled in as it isn't used. Document no_file_caps in kernel-parameters.txt. Signed-off-by: Serge Hallyn Acked-by: Andrew G. Morgan Signed-off-by: James Morris commit e21e696edb498c7f7eed42ba3096f6bbe13927b6 Merge: 2f99db2... 75fa677... Author: James Morris Date: Thu Nov 6 07:12:34 2008 +0800 Merge branch 'master' into next commit 2f99db28af90957271a6448479c3e492ccf7c697 Author: Michal Schmidt Date: Wed Nov 5 13:35:06 2008 +0100 selinux: recognize netlink messages for 'ip addrlabel' In enforcing mode '/sbin/ip addrlabel' results in a SELinux error: type=SELINUX_ERR msg=audit(1225698822.073:42): SELinux: unrecognized netlink message type=74 for sclass=43 The problem is missing RTM_*ADDRLABEL entries in SELinux's netlink message types table. Reported in https://bugzilla.redhat.com/show_bug.cgi?id=469423 Signed-off-by: Michal Schmidt Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5b4d2189446fd31cd618bbd1c24566b8d0ab11c8 Author: Sebastian Siewior Date: Sat Nov 1 10:00:56 2008 +0000 powerpc/boot: Allocate more memory for dtb David Gibson suggested that since we are now unconditionally copying the dtb into a malloc()ed buffer, it would be sensible to add a little padding to the buffer at that point, so that further device tree manipulations won't need to reallocate it. This implements that suggestion. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Paul Mackerras commit 7d4320f3d5ace5758111f2beac931376737f80f5 Author: Jon Tollefson Date: Thu Oct 30 12:03:57 2008 +0000 powerpc: Hugetlb pgtable cache access cleanup Andrew Morton suggested that using a macro that makes an array reference look like a function call makes it harder to understand the code. This therefore removes the huge_pgtable_cache(psize) macro and replaces its uses with pgtable_cache[HUGE_PGTABLE_INDEX(psize)]. Signed-off-by: Jon Tollefson Cc: Nick Piggin Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Acked-by: David Gibson Signed-off-by: Paul Mackerras commit d4ad304841a9790d4fa35e51d6aa9baeba631559 Author: Masakazu Mokuno Date: Thu Oct 30 08:17:18 2008 +0000 powerpc/ps3: Fix memory leak in device init Free dynamically allocated device data structures when device registration fails. This fixes memory leakage when the registration fails. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 3cc698789a3f44dabc5eed389b6c123caf787c0f Author: Paul Mackerras Date: Tue Oct 28 00:18:11 2008 +0000 powerpc: Eliminate unused do_gtod variable Since we started using the generic timekeeping code, we haven't had a powerpc-specific version of do_gettimeofday, and hence there is now nothing that reads the do_gtod variable in arch/powerpc/kernel/time.c. This therefore removes it and the code that sets it. Signed-off-by: Paul Mackerras commit 597bc5c00b666fe123abb0af64f6e86f7ab72a90 Author: Paul Mackerras Date: Mon Oct 27 23:56:03 2008 +0000 powerpc: Improve resolution of VDSO clock_gettime Currently the clock_gettime implementation in the VDSO produces a result with microsecond resolution for the cases that are handled without a system call, i.e. CLOCK_REALTIME and CLOCK_MONOTONIC. The nanoseconds field of the result is obtained by computing a microseconds value and multiplying by 1000. This changes the code in the VDSO to do the computation for clock_gettime with nanosecond resolution. That means that the resolution of the result will ultimately depend on the timebase frequency. Because the timestamp in the VDSO datapage (stamp_xsec, the real time corresponding to the timebase count in tb_orig_stamp) is in units of 2^-20 seconds, it doesn't have sufficient resolution for computing a result with nanosecond resolution. Therefore this adds a copy of xtime to the VDSO datapage and updates it in update_gtod() along with the other time-related fields. Signed-off-by: Paul Mackerras commit c73049f6aa58ac1d1a9ca8cb2b415ef97240b2d3 Author: Mark Nelson Date: Mon Oct 27 20:38:14 2008 +0000 powerpc: Remove map_/unmap_single() from dma_mapping_ops Now that all of the remaining dma_mapping_ops have had their map_/unmap_single functions updated to become map/unmap_page functions, there is no need to have the map_/unmap_single function pointers in the dma_mapping_ops. So, this removes them and also removes the code that does the checking for which set of functions to use. Signed-off-by: Mark Nelson Acked-by: Becky Bruce Signed-off-by: Paul Mackerras commit 7eef440a545c7f812ed10b49d4a10a351df9cad6 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:56 2008 +0000 powerpc/pci: Cosmetic cleanups of pci-common.c This does a few cosmetic cleanups, moving a couple of things around but without actually changing what the code does. (There is a minor change in ordering of operations in pcibios_setup_bus_devices but it should have no impact). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fd6852c8fa060bd45c82a2593e18f933f6c6204f Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:52 2008 +0000 powerpc/pci: Fix various pseries PCI hotplug issues The pseries PCI hotplug code has a number of issues, ranging from incorrect resource setup to crashes, depending on what is added, when, whether it contains a bridge, etc etc.... This fixes a whole bunch of these, while actually simplifying the code a bit, using more generic code in the process and factoring out common code between adding of a PHB, a slot or a device. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b5ae5f911d221ad85090d6805ab9ab020f6e4703 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:44 2008 +0000 powerpc/pci: Make pcibios_allocate_bus_resources more robust To properly fix PCI hotplug, it's useful to be able to make the fixup passes on all devices whether they were just hot plugged or already there. However, pcibios_allocate_bus_resources() wouldn't cope well with being called twice for a given bus. This makes it ignore resources that have already been allocated, along with adding a bit of debug output. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 57b066ff4ec53a0ac7cbf7fb363bb670cf58ddae Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:41 2008 +0000 powerpc/eeh: Make EEH device add/remove more robust To properly fix PCI hotplug, it's useful to be able to make the fixup passes on all devices whether they were just hot plugged or already there. The EEH code however used to not be very friendly with calling eeh_add_device_late() multiple time, and not very rebust in the way it generally tests whether a device is in the expected state vs. the EEH code. This improves it, along with cleaning up a couple of debug printk's. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8b8da35804bb89eee23f9bcd5638e1f754bd4c91 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:37 2008 +0000 powerpc/pci: Split pcibios_fixup_bus() into bus setup and device setup Currently, our PCI code uses the pcibios_fixup_bus() callback, which is called by the generic code when probing PCI buses, for two different things. One is to set up things related to the bus itself, such as reading bridge resources for P2P bridges, fixing them up, or setting up the iommu's associated with bridges on some platforms. The other is some setup for each individual device under that bridge, mostly setting up DMA mappings and interrupts. The problem is that this approach doesn't work well with PCI hotplug when an existing bus is re-probed for new children. We fix this problem by splitting pcibios_fixup_bus into two routines: pcibios_setup_bus_self() is now called to setup the bus itself pcibios_setup_bus_devices() is now called to setup devices pcibios_fixup_bus() is then modified to call these two after reading the bridge bases, and the OF based PCI probe is modified to avoid calling into the first one when rescanning an existing bridge. [paulus@samba.org - fixed eeh.h for 32-bit compile now that pci-common.c is including it unconditionally.] Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8dc840f88d9c9f75f46d5dbe489242f8a114fab6 Author: David Anders Date: Wed Nov 5 07:39:47 2008 -0800 ASoC: Add new parameter to s3c24xx_pcm_enqueue The S3C24xx dma does not allow more than one buffer to be enqueue prior to the dma transfers starting. This patch adds an additional parameter to s3c24xx_pcm_enqueue() to allow for passing an initial dma maximum load value. Signed-off-by: David Anders Signed-off-by: Mark Brown commit ea913940c39a61214c799cc7093d7b20fe11a94c Author: Mark Brown Date: Wed Nov 5 11:13:21 2008 +0000 ASoC: Remove core version number Rather than try to remember to keep the core version number updated (which hasn't been happening) just remove it. It was much more useful when ASoC was out of tree. Signed-off-by: Mark brown commit 74e722015fe47c8f0e7ef7c0b4cf32d3e4ae11a0 Author: Marek Vasut Date: Mon Nov 3 12:02:12 2008 +0000 ASoC: Add Palm/PXA27x unified ASoC audio driver this patch adds asoc audio driver for pxa27x based Palm PDAs. I tested it for palmtx, t5 and ld, it should work with palmz72 as well (slapin, please test). I sent it here some time ago, but now I got to fixing bugs in it. It should be somehow mostly ok and ready for applying. [Converted to use snd_soc_dapm_nc_pin() and bool Kconfig -- broonie] Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 838e8bb71dc0c892bf8f84abd3c709d8fe3a8d3c Author: Uros Bizjak Date: Fri Oct 24 16:53:33 2008 +0200 x86: Implement change_bit with immediate operand as "lock xorb" Impact: Minor optimization. Implement change_bit with immediate bit count as "lock xorb". This is similar to "lock orb" and "lock andb" for set_bit and clear_bit functions. Signed-off-by: Uros Bizjak Signed-off-by: H. Peter Anvin commit 6834d7ce224a6f6a1dd05da3a867730c40943154 Author: Takashi Iwai Date: Wed Nov 5 17:41:23 2008 +0100 ALSA: ice1724 - Re-fix IRQ mask initialization The previous IRQ mask initialization was wrong. It must set the bits to be masked. Signed-off-by: Takashi Iwai commit c238b4f4038e0e49bb241640610584a088b268b1 Author: Takashi Iwai Date: Wed Nov 5 14:57:20 2008 +0100 ALSA: hda - Split ALC268 acer model There are actually two variants of ALC268 Acer implementation, one with an analog built-in mic (pin 0x19) and another with a digital mic (pin 0x12). Created a new model, acer-dmic, for the latter case now. So far, all known models are assigned to be analog-mic, according to the BIOS setup. If this doesn't match with the actual case, one needs to try model=acer-dmic, and fix the entry to point ALC268_ACER_DMIC if it works. Signed-off-by: Takashi Iwai commit ab56ced9c57b66862c687f3158045d15133f02d6 Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:33 2008 +0000 powerpc/pci: Remove pcibios_do_bus_setup() The function pcibios_do_bus_setup() was used by pcibios_fixup_bus() to perform setup that is different between the 32-bit and 64-bit code. This difference no longer exists, thus the function is removed and the setup now done directly from pci-common.c. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 53280323350621985b3f2f8ffe649215304bcc5f Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:29 2008 +0000 powerpc/pci: Use common PHB resource hookup The 32-bit and 64-bit powerpc PCI code used to set up the resource pointers of the root bus of a given PHB in completely different places. This unifies this in large part, by making 32-bit use a routine very similar to what 64-bit does when initially scanning the PCI busses. The actual setup of the PHB resources itself is then moved to a common function in pci-common.c. This should cause no functional change on 64-bit. On 32-bit, the effect is that the PHB resources are going to be setup a bit earlier, instead of being setup from pcibios_fixup_bus(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b0494bc8ee449f0534afa92a51e2e3bb27bab69b Author: Benjamin Herrenschmidt Date: Mon Oct 27 19:48:22 2008 +0000 powerpc/pci: Cleanup debug printk's This removes the various DBG() macro from the powerpc PCI code and makes it use the standard pr_debug instead. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 25d6e2d7c58ddc4a3b614fc5381591c0cfe66556 Author: Mark Nelson Date: Mon Oct 27 00:46:51 2008 +0000 powerpc: Update 64bit memcpy() using CPU_FTR_UNALIGNED_LD_STD Update memcpy() to add two new feature sections: one for aligning the destination before copying and one for copying using aligned load and store doubles. These new feature sections will only affect Power6 and Cell because the CPU feature bit was only added to these two processors. Power6 gets its best performance in memcpy() when aligning neither the source nor the destination, while Cell gets its best performance when just the destination is aligned. But in order to save on CPU feature bits we can use the previously added CPU_FTR_CP_USE_DCBTZ feature bit to differentiate between Power6 and Cell (because CPU_FTR_CP_USE_DCBTZ was added to Cell but not Power6). The first feature section acts to nop out the branch that takes us to the code that aligns us to an eight byte boundary for the destination. We only want to nop out this branch on Power6. So the ALT_FTR_SECTION_END() for this feature section creates a test mask of the two feature bits ORed together and provides an expected result of just CPU_FTR_UNALIGNED_LD_STD, thus we nop out the branch if we're on a CPU that has CPU_FTR_UNALIGNED_LD_STD set and CPU_FTR_CP_USE_DCBTZ unset. For the second feature section added, if we're on a CPU that has the CPU_FTR_UNALIGNED_LD_STD bit set then we don't want to do the copy with aligned loads and stores (and the appropriate shifting left and right instructions), so we want to nop out the branch to .Lsrc_unaligned. The andi. used for this branch is moved to just above the branch because this allows us to nop out both instructions with just one feature section which gives us better performance and doesn't hurt readability which two separate feature sections did. Moving the andi. to just above the branch doesn't have any noticeable negative effect on the remaining 64bit processors (the ones that didn't have this feature bit added). On Cell this simple modification results in an improvement to measured memcpy() bandwidth of up to 50% in the hot cache case and up to 15% in the cold cache case. On Power6 we get memory bandwidth results that are up to three times faster in the hot cache case and up to 50% faster in the cold cache case. Commit 2a9294369bd020db89bfdf78b84c3615b39a5c84 ("powerpc: Add new CPU feature: CPU_FTR_CP_USE_DCBTZ") was where CPU_FTR_CP_USE_DCBTZ was added. To say that Cell gets its best performance in memcpy() with just the destination aligned is true but only for the reason that the indirect shift and rotate instructions, sld and srd, are microcoded on Cell. This means that either the destination or the source can be aligned, but not both, and seeing as we get better performance with the destination aligned we choose this option. While we're at it make a one line change from cmpldi r1,... to cmpldi cr1,... for consistency. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 4ec577a28980a0790df3c3dfe9c81f6e2222acfb Author: Mark Nelson Date: Mon Oct 27 00:43:02 2008 +0000 powerpc: Add new CPU feature: CPU_FTR_UNALIGNED_LD_STD Add a new CPU feature bit, CPU_FTR_UNALIGNED_LD_STD, to be added to the 64bit powerpc chips that can do unaligned load double and store double without any performance hit. This is added to Power6 and Cell and will be used in the next commit to disable the code that gets the destination address aligned on those CPUs where doing that doesn't improve performance. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras commit 409001948d9f221c94a61c3ee96de112755fc04d Author: Brian King Date: Wed Oct 22 05:53:45 2008 +0000 powerpc: Update page-in counter for CMM A new field has been added to the VPA as a method for the client OS to communicate to firmware the number of page-ins it is performing when running collaborative memory overcommit. The hypervisor will use this information to better determine if a partition is experiencing memory pressure and needs more memory allocated to it. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit 1ef8014debb6410ed1960c4477d0006df11157c1 Author: Sebastien Dugue Date: Wed Oct 22 04:36:32 2008 +0000 powerpc/pseries: Fix getting the server number size The 'ibm,interrupt-server#-size' properties are not in the cpu nodes, which is where we currently look for them, but rather live under the interrupt source controller nodes (which have "ibm,ppc-xics" in their compatible property). This moves the code that looks for the ibm,interrupt-server#-size properties from xics_update_irq_servers() into xics_init_IRQ(). Also this adds a check for mismatched sizes across the interrupt source controller nodes. Not sure this is necessary as in this case the firmware might be seriously busted. This property only appears on POWER6 boxes and is only used in the set-indicator(gqirm) call, and apparently firmware currently ignores the value we pass. Nevertheless we need to fix it in case future firmware versions use it. Signed-off-by: Sebastien Dugue Cc: Benjamin Herrenschmidt Acked-by: Milton Miller Signed-off-by: Paul Mackerras commit 691de57679e3f05b708b98ca2ab27657c768843f Author: Anton Vorontsov Date: Tue Oct 21 08:58:44 2008 +0000 powerpc: Remove device_type = "rtc" properties in .dts files We don't want to encourage the device_type usage. It isn't used in the code, so we can simply remove it from the dts files. Suggested-by: Scott Wood Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a6a8e009b118b4906cbb4b382f8cc17195cff860 Author: Benjamin Herrenschmidt Date: Tue Oct 14 18:25:28 2008 +0000 powerpc: Silence software timebase sync When no hardware method is provided to sync the timebase registers across the machine, and the platform doesn't sync them for us, then we use a generic software implementation. Currently, the code for that has many printks, and they don't have log levels. Most of the printks are only useful for debugging the code, and since we haven't had any problems with it for years, this turns them into pr_debug. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1fd0f52583a85b21a394201b007bc1ee104b235d Author: Benjamin Herrenschmidt Date: Thu Oct 2 14:12:51 2008 +0000 powerpc: Fix domain numbers in /proc on 64-bit The code to properly expose domain numbers in /proc is somewhat bogus on ppc64 as it depends on the "buid" field being non-0, but that field is really pseries specific. This removes that code and makes ppc64 use the same code as 32-bit which effectively decides whether to expose domains based on ppc_pci_flags set by the platform, and sets the default for 64-bit to enable domains and enable compatibility for domain 0 (which strips the domain number for domain 0 to help with X servers). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 270acefafeb74ce2fe93d35b75733870bf1e11e7 Author: Eric Dumazet Date: Wed Nov 5 01:38:06 2008 -0800 net: sk_free_datagram() should use sk_mem_reclaim_partial() I noticed a contention on udp_memory_allocated on regular UDP applications. While tcp_memory_allocated is seldom used, it appears each incoming UDP frame is currently touching udp_memory_allocated when queued, and when received by application. One possible solution is to use sk_mem_reclaim_partial() instead of sk_mem_reclaim(), so that we keep a small reserve (less than one page) of memory for each UDP socket. We did something very similar on TCP side in commit 9993e7d313e80bdc005d09c7def91903e0068f07 ([TCP]: Do not purge sk_forward_alloc entirely in tcp_delack_timer()) A more complex solution would need to convert prot->memory_allocated to use a percpu_counter with batches of 64 or 128 pages. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d99a7bd210a14001007fc5233597c78877f0a11c Author: Gerrit Renker Date: Tue Nov 4 23:56:30 2008 -0800 dccp: Cleanup routines for feature negotiation This inserts the required de-allocation routines for memory allocated by feature negotiation in the socket destructors, replacing dccp_feat_clean() in one instance. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit ac75773c2742d82cbcb078708df406e9017224b7 Author: Gerrit Renker Date: Tue Nov 4 23:55:49 2008 -0800 dccp: Per-socket initialisation of feature negotiation This provides feature-negotiation initialisation for both DCCP sockets and DCCP request_sockets, to support feature negotiation during connection setup. It also resolves a FIXME regarding the congestion control initialisation. Thanks to Wei Yongjun for help with the IPv6 side of this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 61e6473efbd6087e1db3aaa93a5266c5bfd8aa99 Author: Gerrit Renker Date: Tue Nov 4 23:54:04 2008 -0800 dccp: List management for new feature negotiation This adds list initial fields and list management functions for the new feature negotiation implementation. Thanks to Arnaldo for suggestions and improvements. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 7d43d1a0f2cf535167ec7247f110a1f85cecac43 Author: Gerrit Renker Date: Tue Nov 4 23:43:47 2008 -0800 dccp: Implement lookup table for feature-negotiation information A lookup table for feature-negotiation information, extracted from RFC 4340/42, is provided by this patch. All currently known features can be found in this table, along with their feature location, their default value, and type. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit bd012f2e7be9f69a47d240ded0fa491967d9827c Author: Gerrit Renker Date: Tue Nov 4 23:38:20 2008 -0800 dccp: Basic data structure for feature negotiation This patch prepares for the new and extended feature-negotiation routines. The following feature-negotiation data structures are provided: * a container for the various (SP or NN) values, * symbolic state names to track feature states, * an entry struct which holds all current information together, * elementary functions to fill in and process these structures. Entry structs are arranged as FIFO for the following reason: RFC 4340 specifies that if multiple options of the same type are present, they are processed in the order of their appearance in the packet; which means that this order needs to be preserved in the local data structure (the later insertion code also respects this order). The struct list_head has been chosen for the following reasons: the most frequent operations are * add new entry at tail (when receiving Change or setting socket options); * delete entry (when Confirm has been received); * deep copy of entire list (cloning from listening socket onto request socket). The NN value has been set to 64 bit, which is a currently sufficient upper limit (Sequence Window feature has 48 bit). Thanks to Arnaldo, who contributed the streamlined layout of the entry struct. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 13c947444f4355293b49f83b809f178393a0a4d9 Author: Takashi Iwai Date: Wed Nov 5 08:06:08 2008 +0100 ALSA: hda - Add ASUS V1Sn support Asus V1s series laptops have an ALC660VD with PCI id: 0x1043, 0x1633. 1.) remove the previous behaviour of mapping that to the ALC861VD_LENOVO device. 2.) add a new ALC660VD_V1S device based on ALC861VD_LENOVO, with an added digital out. Signed-off-by: Tristan Aston Signed-off-by: Takashi Iwai commit beb0b9cf78b56b0f30f5defe62b7b9712cd02a50 Author: Takashi Iwai Date: Wed Nov 5 07:58:25 2008 +0100 ALSA: hda - Fix unused function in patch_intelhdmi.c Add a proper ifdef to shut out a compile warning: CC [M] sound/pci/hda/patch_intelhdmi.o sound/pci/hda/patch_intelhdmi.c:286: warning: ‘hdmi_get_dip_index’ defined but \ not used Signed-off-by: Takashi Iwai commit 91504877c50a792412e2043a1c2099f054d7254a Author: Wu, Fengguang Date: Wed Nov 5 11:16:56 2008 +0800 ALSA: hda - Intel HDMI audio support Add support for Intel G45 integrated HDMI audio codecs. This initial release supports: - 2 channel stereo sound output - report monitor's ELD information Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit d5f642384e9da75393160350f75bbb9a527f7c58 Author: Alexey Dobriyan Date: Tue Nov 4 14:45:58 2008 -0800 net: #ifdef ->sk_security Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit fd8cd7e1919fc1c27fe2fdccd2a1cd32f791ef0f Author: Alok Kataria Date: Mon Nov 3 15:50:38 2008 -0800 x86: vmware: look for DMI string in the product serial key Impact: Should permit VMware detection on older platforms where the vendor is changed. Could theoretically cause a regression if some weird serial number scheme contains the string "VMware" by pure chance. Seems unlikely, especially with the mixed case. In some user configured cases, VMware may choose not to put a VMware specific DMI string, but the product serial key is always there and is VMware specific. Add a interface to check the serial key, when checking for VMware in the DMI information. Signed-off-by: Alok N Kataria Signed-off-by: H. Peter Anvin commit 41d9f9c524a53477467b7e0111ff3d644198f191 Author: Eric Paris Date: Tue Nov 4 15:18:26 2008 -0500 SELinux: hold tasklist_lock and siglock while waking wait_chldexit SELinux has long been calling wake_up_interruptible() on current->parent->signal->wait_chldexit without holding any locks. It appears that this operation should hold the tasklist_lock to dereference current->parent and we should hold the siglock when waking up the signal->wait_chldexit. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 0ee4663617fb0f78cec4cc6558a096ccbd8c3ffc Author: Takashi Iwai Date: Tue Nov 4 18:06:23 2008 +0100 ALSA: ASoC - Remove unnecessary inclusion of linux/version.h Signed-off-by: Takashi Iwai commit 3865675c60aec3e81d72d484680b544afc6fc51d Author: Huang Weiyi Date: Fri Oct 31 22:50:00 2008 +0800 ALSA: ASoC codec: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. sound/soc/codecs/ad73311.c This patch removes the said #include . Signed-off-by: Huang Weiyi Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit bfc5c26fb692fa7a196108c3b23d9c747d105c00 Author: Takashi Iwai Date: Tue Nov 4 17:48:39 2008 +0100 ALSA: hda - Don't create empty PCM streams Due to the hda-reconfiguration patches, the check of empty stream is gone, and this results in an error with the codec setup with empty streams. This patch adds the check again to avoid the error at probing. Signed-off-by: Takashi Iwai commit 79a9d461fd521f133f0e66485aa9ed09c21f5191 Author: Frederic Weisbecker Date: Fri Oct 31 13:34:45 2008 +0100 tracing/ftrace: fix a bug when switch current tracer to sched tracer Impact: fix boot tracer + sched tracer coupling bug Fix a bug that made the sched_switch tracer unable to run if set as the current_tracer after the boot tracer. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit efade6e7821c4219818e9da08f9315dfa617048b Author: Frederic Weisbecker Date: Fri Oct 31 13:28:58 2008 +0100 tracing/ftrace: types and naming corrections for sched tracer Impact: cleanup This patch applies some corrections suggested by Steven Rostedt. Change the type of shed_ref into int since it is used into a Mutex, we don't need it anymore as an atomic variable in the sched_switch tracer. Also change the name of the register mutex. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit d7ad44b697c9d13e445ddc7d16f736fbac333249 Author: Frederic Weisbecker Date: Fri Oct 31 13:20:08 2008 +0100 tracing/fastboot: use sched switch tracer from boot tracer Impact: enhance boot trace output with scheduling events Use the sched_switch tracer from the boot tracer. We also can trace schedule events inside the initcalls. Sched tracing is disabled after the initcall has finished and then reenabled before the next one is started. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit e55f605c14679c30be41473e60b7ad26524cdc35 Author: Frederic Weisbecker Date: Fri Oct 31 13:14:28 2008 +0100 tracing/ftrace: remove unused code in sched_switch tracer Impact: cleanup When init_sched_switch_trace() is called, it has no reason to start the sched tracer if the sched_ref is not zero. _ If this is non-zero, the tracer is already used, but we can register it to the tracing engine. There is already a security which avoid the tracer probes not to be resgistered twice. _ If this is zero, this block will not be used. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 07695fa04e8a3384b0c855398ce1f7885bd7dc3b Author: Frederic Weisbecker Date: Fri Oct 31 13:08:28 2008 +0100 tracing/ftrace: fix a race condition in sched_switch tracer Impact: fix race condition in sched_switch tracer This patch fixes a race condition in the sched_switch tracer. If several tasks (IE: concurrent initcalls) are playing with tracing_start_cmdline_record() and tracing_stop_cmdline_record(), the following situation could happen: _ Task A and B are using the same tracepoint probe. Task A holds it. Task B is sleeping and doesn't hold it. _ Task A frees the sched tracer, then sched_ref is decremented to 0. _ Task A is preempted and hadn't yet unregistered its tracepoint probe, then B runs. _ B increments sched_ref, sees it's 1 and then guess it has to register its probe. But it has not been freed by task A. _ A lot of bad things can happen after that... Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 71566a0d161edec70361b7f90f6e54af6a6d5d05 Author: Frederic Weisbecker Date: Fri Oct 31 12:57:20 2008 +0100 tracing/fastboot: Enable boot tracing only during initcalls Impact: modify boot tracer We used to disable the initcall tracing at a specified time (IE: end of builtin initcalls). But we don't need it anymore. It will be stopped when initcalls are finished. However we want two things: _Start this tracing only after pre-smp initcalls are finished. _Since we are planning to trace sched_switches at the same time, we want to enable them only during the initcall execution. For this purpose, this patch introduce two functions to enable/disable the sched_switch tracing during boot. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit fec1a5932f16c0eb1b3f5ca2e18d81d860924088 Author: Stefano Panella Date: Tue Nov 4 15:39:08 2008 +0000 uwb: per-radio controller event thread and beacon cache Use an event thread per-radio controller so processing events from one radio controller doesn't delay another. A radio controller shouldn't have information on devices seen by a different radio controller (they may be on different channels) so make the beacon cache per-radio controller. Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit 6d5a681dfb583b2f1eefe7cd5505419ca2d4d6c8 Author: Stefano Panella Date: Tue Nov 4 14:24:57 2008 +0000 uwb: add commands to add/remove IEs to the debug interface Add the commands UWB_DBG_CMD_IE_ADD and UWB_DBG_CMD_IE_RM to the debug interface and make them call uwb_rc_ie_add() and uwb_rc_ie_rm(). Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit c5995bd2819dc577d0b32b26be0836d16c977e24 Author: Stefano Panella Date: Tue Nov 4 14:06:31 2008 +0000 uwb: infrastructure for handling Relinquish Request IEs The structures and event handler needed to handle Relinish Request IEs received from neighbors. Nothing is done with these IEs yet. Signed-off-by: Stefano Panella Signed-off-by: David Vrabel commit 6e3354c1e9946fa585de40e93ad917ec7abd006e Author: Simon Arlott Date: Tue Nov 4 14:35:39 2008 +0100 netfilter: nf_nat: remove warn_if_extra_mangle In net/ipv4/netfilter/nf_nat_rule.c, the function warn_if_extra_mangle was added in commit 5b1158e909ecbe1a052203e0d8df15633f829930 (2006-12-02). I have a DNAT target in the OUTPUT chain than changes connections with dst 2.0.0.1 to another address which I'll substitute with 66.102.9.99 below. On every boot I get the following message: [ 146.252505] NAT: no longer support implicit source local NAT [ 146.252517] NAT: packet src 66.102.9.99 -> dst 2.0.0.1 As far as I can tell from reading the function doing this, it should warn if the source IP for the route to 66.102.9.99 is different from 2.0.0.1 but that is not the case. It doesn't make sense to check the DNAT target against the local route source. Either the function should be changed to correctly check the route, or it should be removed entirely as it's been nearly 2 years since it was added. Signed-off-by: Simon Arlott Signed-off-by: Patrick McHardy commit 249b62035ca247b9cedbefa1acf6bdc53b96e678 Author: Alexey Dobriyan Date: Tue Nov 4 14:31:29 2008 +0100 netfilter: netns ebtables: br_nf_pre_routing_finish() fixup Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b71b30a626fd0e43c825a05036e7a2c3f377a563 Author: Alexey Dobriyan Date: Tue Nov 4 14:30:46 2008 +0100 netfilter: netns ebtables: ebtable_nat in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 4aad10938d4e4e8364b664cd5420c3bfeb9b679b Author: Alexey Dobriyan Date: Tue Nov 4 14:29:58 2008 +0100 netfilter: netns ebtables: ebtable_filter in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 8157e6d16af86e4a8d31a035db7be02a8a171c26 Author: Alexey Dobriyan Date: Tue Nov 4 14:29:03 2008 +0100 netfilter: netns ebtables: ebtable_broute in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit dbcdf85a2e3d2aa584dafd10b5a1f42764e673e7 Author: Alexey Dobriyan Date: Tue Nov 4 14:28:04 2008 +0100 netfilter: netns ebtables: more cleanup during ebt_unregister_table() Now that ebt_unregister_table() can be called during netns stop, and module pinning scheme can't prevent netns stop, do table cleanup by hand. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 6beceee5aa2cb94c4ae9f0784c7d3135d343f5b5 Author: Alexey Dobriyan Date: Tue Nov 4 14:27:15 2008 +0100 netfilter: netns ebtables: part 2 * return ebt_table from ebt_register_table(), module code will save it into per-netns data for unregistration * duplicate ebt_table at the very beginning of registration -- it's added into list, so one ebt_table wouldn't end up in many lists (and each netns has different one) * introduce underscored tables in individial modules, this is temporary to not break bisection. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 511061e2dd1b84bb21bb97c9216a19606c29ac02 Author: Alexey Dobriyan Date: Tue Nov 4 14:22:55 2008 +0100 netfilter: netns ebtables: part 1 * propagate netns from userspace, register table in passed netns * remporarily register every ebt_table in init_net P. S.: one needs to add ".netns_ok = 1" to igmp_protocol to test with ebtables(8) in netns. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 19223f26d97077da8cf25251458afe00cae20cbb Author: Alexey Dobriyan Date: Tue Nov 4 14:22:13 2008 +0100 netfilter: arptable_filter: merge forward hook It's identical to NF_ARP_IN hook. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit d4ec52bae739409b2372fea30dba0e7a8d6b9181 Author: Alexey Dobriyan Date: Tue Nov 4 14:21:48 2008 +0100 netfilter: netns-aware ipt_addrtype Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 5f7340eff8f68f41b7e5c7ad47ec4cd1ea1afb40 Author: Eric Leblond Date: Tue Nov 4 14:21:08 2008 +0100 netfilter: xt_NFLOG: don't call nf_log_packet in NFLOG module. This patch modifies xt_NFLOG to suppress the call to nf_log_packet() function. The call of this wrapper in xt_NFLOG was causing NFLOG to use the first initialized module. Thus, if ipt_ULOG is loaded before nfnetlink_log all NFLOG rules are treated as plain LOG rules. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 3299b4dd1180762da831be5eb6adc44553eaec26 Author: Peter Zijlstra Date: Tue Nov 4 11:58:21 2008 +0100 ftrace: sysctl typo Impact: fix sysctl name typo Steve must have needed more coffee ;-) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 69f698adcf43930a283f630395a1bb781962cfe6 Author: Peter Zijlstra Date: Sat Nov 1 19:53:34 2008 +0100 ftrace: sysrq-z to dump the buffers Impact: add SysRq-z support to dump trace buffers Allows one to force an ftrace dump from sysrq Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6cf87efbc7a3676e0ad7c9622ec6aec244a593bc Author: Ingo Molnar Date: Tue Nov 4 10:42:23 2008 +0100 x86 debug: mark early_printk.o as notrace Impact: do not do function-tracing in the early-printk code this is useful when earlyprintk=vga,keep is used to debug tracer plugins. Signed-off-by: Ingo Molnar commit faa2f98f856e89d1afb6e4a91707284d242e816e Author: Li Zefan Date: Tue Nov 4 16:20:23 2008 +0800 sched: add sanity check in partition_sched_domains() Impact: cleanup, add debug check It's wrong to make dattr_new = NULL if doms_new == NULL, it introduces memory leak if dattr_new != NULL. Fortunately dattr_new is always NULL in this case. So remove the code and add a sanity check. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a17e2260926f681a0eb983c1e3cb859ba2064bce Author: Li Zefan Date: Tue Nov 4 16:19:13 2008 +0800 sched: remove redundant call to unregister_sched_domain_sysctl() Impact: cleanup The sysctl has been unregistered by partition_sched_domains(). Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0a0db8f5c9d4bbb9bbfcc2b6cb6bce2d0ef4d73d Author: Li Zefan Date: Tue Nov 4 16:17:05 2008 +0800 sched debug: remove NULL checking in print_cfs/rt_rq() Impact: cleanup cfs->tg is initialized in init_tg_cfs_entry() with tg != NULL, and will never be invalidated to NULL. And the underlying cgroup of a valid task_group is always valid. Same for rt->tg. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eefd796a8e831408ce17e633d73d70430748c47a Author: Li Zefan Date: Tue Nov 4 16:15:37 2008 +0800 sched debug: remove sd_level_to_string() Impact: cleanup Just use the newly introduced sd->name. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b2a866f9344cb30d7ddf5d67b5b8393daf8bef07 Author: Steven Rostedt Date: Mon Nov 3 23:15:57 2008 -0500 ftrace: function tracer with irqs disabled Impact: disable interrupts during trace entry creation (as opposed to preempt) To help with performance, I set the ftracer to not disable interrupts, and only to disable preemption. If an interrupt occurred, it would not be traced, because the function tracer protects itself from recursion. This may be faster, but the trace output might miss some traces. This patch makes the fuction trace disable interrupts, but it also adds a runtime feature to disable preemption instead. It does this by having two different tracer functions. When the function tracer is enabled, it will check to see which version is requested (irqs disabled or preemption disabled). Then it will use the corresponding function as the tracer. Irq disabling is the default behaviour, but if the user wants better performance, with the chance of missing traces, then they can choose the preempt disabled version. Running hackbench 3 times with the irqs disabled and 3 times with the preempt disabled function tracer yielded: tracing type times entries recorded ------------ -------- ---------------- irq disabled 43.393 166433066 43.282 166172618 43.298 166256704 preempt disabled 38.969 159871710 38.943 159972935 39.325 161056510 Average: irqs disabled: 43.324 166287462 preempt disabled: 39.079 160300385 preempt is 10.8 percent faster than irqs disabled. I wrote a patch to count function trace recursion and reran hackbench. With irq disabled: 1,150 times the function tracer did not trace due to recursion. with preempt disabled: 5,117,718 times. The thousand times with irq disabled could be due to NMIs, or simply a case where it called a function that was not protected by notrace. But we also see that a large amount of the trace is lost with the preempt version. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 182e9f5f704ed6b9175142fe8da33c9ce0c52b52 Author: Steven Rostedt Date: Mon Nov 3 23:15:56 2008 -0500 ftrace: insert in the ftrace_preempt_disable()/enable() functions Impact: use new, consolidated APIs in ftrace plugins This patch replaces the schedule safe preempt disable code with the ftrace_preempt_disable() and ftrace_preempt_enable() safe functions. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 8f0a056fcb2f83a069fb5d60c2383304b7456687 Author: Steven Rostedt Date: Mon Nov 3 23:15:55 2008 -0500 ftrace: introduce ftrace_preempt_disable()/enable() Impact: add new ftrace-plugin internal APIs Parts of the tracer needs to be careful about schedule recursion. If the NEED_RESCHED flag is set, a preempt_enable will call schedule. Inside the schedule function, the NEED_RESCHED flag is cleared. The problem arises when a trace happens in the schedule function but before NEED_RESCHED is cleared. The race is as follows: schedule() >> tracer called trace_function() preempt_disable() [ record trace ] preempt_enable() <<- here's the issue. [check NEED_RESCHED] schedule() [ Repeat the above, over and over again ] The naive approach is simply to use preempt_enable_no_schedule instead. The problem with that approach is that, although we solve the schedule recursion issue, we now might lose a preemption check when not in the schedule function. trace_function() preempt_disable() [ record trace ] [Interrupt comes in and sets NEED_RESCHED] preempt_enable_no_resched() [continue without scheduling] The way ftrace handles this problem is with the following approach: int resched; resched = need_resched(); preempt_disable_notrace(); [record trace] if (resched) preempt_enable_no_sched_notrace(); else preempt_enable_notrace(); This may seem like the opposite of what we want. If resched is set then we call the "no_sched" version?? The reason we do this is because if NEED_RESCHED is set before we disable preemption, there's two reasons for that: 1) we are in an atomic code path 2) we are already on our way to the schedule function, and maybe even in the schedule function, but have yet to clear the flag. Both the above cases we do not want to schedule. This solution has already been implemented within the ftrace infrastructure. But the problem is that it has been implemented several times. This patch encapsulates this code to two nice functions. resched = ftrace_preempt_disable(); [ record trace] ftrace_preempt_enable(resched); This way the tracers do not need to worry about getting it right. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 124ffe1456d6efea5b32cc6d36e3fa434cdc84d9 Author: Hiroshi Shimamoto Date: Mon Nov 3 19:23:01 2008 -0800 x86: signal_64: remove unused code in __setup_rt_frame() Impact: cleanup sizeof(*set) is always 8 on x86_64. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit b91f080f517cf9dd52023c11127a0ca33190e31a Author: Takashi Iwai Date: Tue Nov 4 08:43:08 2008 +0100 ALSA: hda - Fix possible NULL dereference Add NULL-check of the return value of snd_kctl_new1() before accessing it. Also, make a sanity NULL check to snd_BUG_ON() for debugging only. Signed-off-by: Takashi Iwai commit dce908e26fa0ea7d504d3f294c7411ed1eba5077 Author: Troy Kisky Date: Mon Nov 3 12:22:07 2008 -0700 ALSA: SOC: Fix setting codec register with debugfs filesystem merge error Call device_create_file only once in snd_soc_dapm_sys_add function. Signed-off-by: Troy Kisky Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit d2ad3ca88da02baeccd5216780f1fe983c6953ba Author: David S. Miller Date: Mon Nov 3 22:01:07 2008 -0800 net/: Kill now superfluous ->last_rx stores. The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Signed-off-by: David S. Miller commit 265eb67fb4e16be8e46a51e1e4e2ecd99fb15219 Author: Stephen Hemminger Date: Mon Nov 3 21:13:26 2008 -0800 netem: eliminate unneeded return values All these individual parsing functions never return an error, so they can be void. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit babcda74e9d96bb58fd9c6c5112dbdbff169e695 Author: David S. Miller Date: Mon Nov 3 21:11:17 2008 -0800 drivers/net: Kill now superfluous ->last_rx stores. The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Drivers need not do it any more. Some cases had to be skipped over because the drivers were making use of the ->last_rx value themselves. Signed-off-by: David S. Miller commit ab2910921064b657610a3b501358a305e13087ea Author: Jianjun Kong Date: Mon Nov 3 18:23:09 2008 -0800 net: remove two duplicated #include Removed duplicated #include in net/9p/trans_rdma.c and #include in net/socket.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 6d9f239a1edb31d6133230f478fd1dc2da338ec5 Author: Alexey Dobriyan Date: Mon Nov 3 18:21:05 2008 -0800 net: '&' redux I want to compile out proc_* and sysctl_* handlers totally and stub them to NULL depending on config options, however usage of & will prevent this, since taking adress of NULL pointer will break compilation. So, drop & in front of every ->proc_handler and every ->strategy handler, it was never needed in fact. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6cf3f41e6c08bca6641a695449791c38a25f35ff Author: Jay Vosburgh Date: Mon Nov 3 18:16:50 2008 -0800 bonding, net: Move last_rx update into bonding recv logic The only user of the net_device->last_rx field is bonding. This patch adds a conditional update of last_rx to the bonding special logic in skb_bond_should_drop, causing last_rx to only be updated when the ARP monitor is running. This frees network device drivers from the necessity of updating last_rx, which can have cache line thrash issues. Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 24f8b2385e03a4f4c8dac513d03b5eaa475822b9 Author: Stephen Hemminger Date: Mon Nov 3 17:14:38 2008 -0800 net: increase receive packet quantum This patch gets about 1.25% back on tbench regression. My change to NAPI for multiqueue support changed the time limit on network receive processing. Under sustained loads like tbench, this can cause the receiver to reschedule prematurely. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b9ac99855dcc0316ba2feee2b0d3e578f8315b75 Author: Harvey Harrison Date: Mon Nov 3 17:09:55 2008 -0800 printk: ipv4 address digits printed in reverse order put_dec_trunc prints the digits in reverse order and is reversed inside number(). Continue using put_dec_trunc, but reverse each quad in ip4_addr_string. [Noticed by Julius Volz] Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 48148938b494cd57029a43c758e9972307a31d2a Author: Julius Volz Date: Mon Nov 3 17:08:56 2008 -0800 IPVS: Remove supports_ipv6 scheduler flag Remove the 'supports_ipv6' scheduler flag since all schedulers now support IPv6. Signed-off-by: Julius Volz Signed-off-by: David S. Miller commit 445483758e35e0aaff5256d1b104a346ba77aafe Author: Julius Volz Date: Mon Nov 3 17:08:28 2008 -0800 IPVS: Add IPv6 support to LBLC/LBLCR schedulers Add IPv6 support to LBLC and LBLCR schedulers. These were the last schedulers without IPv6 support, but we might want to keep the supports_ipv6 flag in the case of future schedulers without IPv6 support. Signed-off-by: Julius Volz Acked-by: Simon Horman Signed-off-by: David S. Miller commit fa228b3fcb724ce2281a61737e09a8afa4fed542 Author: Matt Carlson Date: Mon Nov 3 16:58:53 2008 -0800 tg3: Update version to 3.95 This patch updates the version to 3.95. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 772638b6c87da7043c50914dbb033c08155508dd Author: Matt Carlson Date: Mon Nov 3 16:56:51 2008 -0800 broadcom: Add support for BCM50610 This patch adds the BCM50610 to the list of phys supported by the broadcom driver. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 042a75b99fbda6bf7c7bf4496e205e3e7acc953a Author: Matt Carlson Date: Mon Nov 3 16:56:29 2008 -0800 broadcom: Refine expansion register access routine This patch makes the expansion register access routines a little more formal. They will be used by the following bcm50610 support patch. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5e0c676c717316f315dcf76da52dc0002c43632a Author: Matt Carlson Date: Mon Nov 3 16:56:07 2008 -0800 broadcom: Add flow control support This patch adds flow control support to Broadcom phys. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fcb389dfd842be54545cb436b3437f07da10115c Author: Matt Carlson Date: Mon Nov 3 16:55:44 2008 -0800 tg3: 5785 enhancements This patch refines support for the 5785 device. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9c61d6bc56bf0a5fb1ebfcf4c168cc5ce30e153b Author: Matt Carlson Date: Mon Nov 3 16:54:56 2008 -0800 tg3: Refine phylib support This patch refines the phylib support in the tg3 driver. The patch does the following things : * Rename tg3_mdio_config() to tg3_mdio_config_5785(). The 5785 will be the only device that will use it so the name might as well reflect that. * Fix a memory leak if mdiobus_register() fails. * Add code to deal with phy device detection failures. * Add code to correct the supported list of phy features based on the MAC <=> PHY interface. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0a459aac9d151c2e36ec65723b9b845b24c5cbc3 Author: Matt Carlson Date: Mon Nov 3 16:54:15 2008 -0800 tg3: Allow WOL for phylib controlled Broadcom phys This patch allows WOL to be enabled for Broadcom phys under phylib control. The only exception is the AC131, which has a completely different register set. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 05ac4cb7dff4515447dce6e9a56c4de6b7e426d5 Author: Matt Carlson Date: Mon Nov 3 16:53:46 2008 -0800 tg3: Refine power management and WOL code Commit 12dac0756d357325b107fe6ec24921ec38661839 ("tg3: adapt tg3 to use reworked PCI PM code") introduced the new PCI PM API to the tg3 driver. The patch was understandably conservative, so this patch elaborates on that work. The patch starts by creating a single point in tg3_set_power_state() to decide whether or not to enable WOL. The rest of the code in tg3_set_power_state() was then pivoted to use the result of this decision. The patch then makes sure the device is allowed to wakeup before reporting whether or not WOL is currently enabled. The final hunks of the patch consolidate where the WOL capability and WOL enabled flags are set to a single location. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df59c9403557397aafbe291533d113b752da7661 Author: Matt Carlson Date: Mon Nov 3 16:52:56 2008 -0800 tg3: Move phylib report to end of tg3_init_one Currently, phylib reports appear with a eth%d prefix. Move the line after register_netdev() and place it alongside the other informative messages. Update nearby informative messages accordingly. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b2b98d4acc58a6f36b731e666c6ebd901cd6a27e Author: Matt Carlson Date: Mon Nov 3 16:52:32 2008 -0800 tg3: Do not enable APE on bcm5700 With older versions of the NVRAM format, the driver may mistakenly determine that APE is enabled. Make sure this doesn't happen by restricting the ENABLE_APE check to devices known to have more recent NVRAM image formats. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bcb37f6cb57e565e7bd342272652c3a50cf88761 Author: Matt Carlson Date: Mon Nov 3 16:52:09 2008 -0800 tg3: Reclaim TG3_FLG3_5761_5784_AX_FIXES flag This patch reclaims the TG3_FLG3_5761_5784_AX_FIXES flag. It only used twice in non-fast paths. This patch also consolidates some other places where specific 5784 AX chip revisions can be generalized. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3f007891da0ad3d9192e9aa13ce4e3aaf20c33fa Author: Matt Carlson Date: Mon Nov 3 16:51:36 2008 -0800 tg3: Preserve LAA when device control is released This patch moves the __tg3_set_mac_addr() function earlier in the file listing, to avoid a function prototype, and calls the function to restore the LAA after a driver unload chip reset. With this code in place, the administrator can wake the machine using the LAA. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b2aee1545dc3c05c8d5cf116de1e92907e98009b Author: Matt Carlson Date: Mon Nov 3 16:51:11 2008 -0800 tg3: Preserve DASH connectivity when WOL enabled DASH firmware runs on the APE side of the chip, but it requires a few MAC to be programmed correctly. When WOL is enabled and management firmware is disabled, incoming packets are evaluated and discarded at the chip's rule processor. When management firmware is enabled, the hardware must be informed that there are agents further up the stack that still use the incoming frames. Normally management firmware will configure the MAC correctly on its own, but there can be cases where the setting could get clobbered by the driver. The first hunk of this patch preserves this setting. The second hunk of this patch wipes out the driver present signature of the APE memory space. By doing so, the DASH firmware can assume driver absent behavior. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 63532394af307795ea637a283bd1fd057f5dfcea Author: Matt Carlson Date: Mon Nov 3 16:49:57 2008 -0800 tg3: Use pci_ioremap_bar() This patch replaces the existing APE register mapping code with a call to pci_ioremap_bar(). The code that maps the main device register space did not undergo a similar change because the information derived from the pci_resource_start() and pci_resource_len() is still used to populate the (optional) mem_start and mem_end netdevice members. Replace hardcoded constants where appropriate. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c88e668b52c8cd8bc55b6734c7dfbb0cb005d445 Author: Matt Carlson Date: Mon Nov 3 16:49:18 2008 -0800 tg3: Add 5761S support This patch adds support for the 5761S chip variants. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6bdbfe99916398dbb28d83833cc04757110f2738 Author: Alok Kataria Date: Mon Nov 3 11:31:28 2008 -0800 x86: VMware: Fix vmware_get_tsc code Impact: Fix possible failure to calibrate the TSC on Vmware near 4 GHz The current version of the code to get the tsc frequency from the VMware hypervisor, will be broken on processor with frequency (4G-1) HZ, because on such processors eax will have UINT_MAX and that would be legitimate. We instead check that EBX did change to decide if we were able to read the frequency from the hypervisor. Signed-off-by: Alok N Kataria Signed-off-by: H. Peter Anvin commit 29cbda77a67cf263d636feea65d3bbc9c7de2e24 Author: Paul E. McKenney Date: Mon Nov 3 09:16:39 2008 -0800 rcu: increase RCU stall-check timeouts Impact: increase timeout of debug check feature Increase RCU stall period timeouts to reduce the likelyhood of false positives. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit be19ef82e068e92a28df50341938fdeb5ea56436 Author: Ingo Molnar Date: Mon Nov 3 14:35:12 2008 +0100 rcu: make rcu-stall debug printout more standard Impact: change debug printout Change "RCU detected CPU stall" to "INFO: RCU detected CPU stall" message, to make it easier for tools to pick up the warning. Signed-off-by: Ingo Molnar commit 4ef0ef1966dae9e9e29762e4e719af3cfd146ca0 Author: Takashi Iwai Date: Mon Nov 3 17:47:49 2008 +0100 ALSA: hda - Fix missing ADC list in ALC260 auto-probe mode The commit f9e336f65b666b8f1764d17e9b7c21c90748a37e ALSA: hda - Unify capture mixer creation in realtek codes removed the ADC check for ALC260 auto-probe mode accidentally. Re-added to patch_alc260() again. Signed-off-by: Takashi Iwai commit 26f5df265f06b8c8fe9f5d0942b7d8df00e5edec Author: Takashi Iwai Date: Mon Nov 3 17:39:46 2008 +0100 ALSA: hda - Add ALC299 fujitsu preset model Added a preset model for FSC Amilo with ALC269 codec chip. Signed-off-by: Takashi Iwai commit e856359685143a2f65876e7db4e4aa0ef5dce7f0 Merge: e3bd9ec... 45beca0... Author: Ben Dooks Date: Mon Nov 3 14:49:01 2008 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-moves2 commit 67305ebc992abf2121fb2149fd8a707cd7cfcbd2 Author: Jarek Poplawski Date: Mon Nov 3 02:52:50 2008 -0800 pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset() Since gso_skb is re-used for qdisc_peek_dequeued(), and this skb is counted in the qdisc->q.qlen, it has to be kfreed during qdisc_reset() when qlen is zeroed. With help from David S. Miller Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 5799de0b12c773874282444052da401989075df6 Author: Jianjun Kong Date: Mon Nov 3 02:49:10 2008 -0800 net: clean up net/ipv4/tcp_ipv4.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 539afedfccb39577c9264b29f11ec9556fd45022 Author: Jianjun Kong Date: Mon Nov 3 02:48:48 2008 -0800 net: clean up net/ipv4/devinet.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit f4cca7ffb2700bff5752fbbc28f49d58ed2c5cb3 Author: Jianjun Kong Date: Mon Nov 3 02:48:14 2008 -0800 net: clean up net/ipv4/pararp.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit fd3f8c4cb632c28ef915a535617a0fcddcfe3f80 Author: Jianjun Kong Date: Mon Nov 3 02:47:38 2008 -0800 net: clean up net/ipv4/ip_fragment.c tcp_timer.c ip_input.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit e113a745f693af196c8081b328bf42def086989b Author: Dimitri Sivanich Date: Fri Oct 31 08:03:41 2008 -0500 sched/rt: small optimization to update_curr_rt() Impact: micro-optimization to SCHED_FIFO/RR scheduling A very minor improvement, but might it be better to check sched_rt_runtime(rt_rq) before taking the rt_runtime_lock? Peter Zijlstra observes: > Yes, I think its ok to do so. > > Like pointed out in the other thread, there are two races: > > - sched_rt_runtime() going to RUNTIME_INF, and that will be handled > properly by sched_rt_runtime_exceeded() > > - sched_rt_runtime() going to !RUNTIME_INF, and here we can miss an > accounting cycle, but I don't think that is something to worry too > much about. Signed-off-by: Dimitri Sivanich Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar -- kernel/sched_rt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 7e5e26a3d8ac4bcadb380073dc9604c07a9a6198 Author: Steven Rostedt Date: Fri Oct 31 09:36:38 2008 -0400 ftrace: fix hardirq header for non ftrace archs Impact: build fix for non-ftrace architectures Not all archs implement ftrace, and therefore do not have an asm/ftrace.h. This patch corrects the problem. The ftrace_nmi_enter/exit now must be defined for all archs that implement dynamic ftrace. Currently, only x86 does. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7a895f53cda9d9362c30144e42c124a1ae996b9e Merge: d9e5407... 5d9881e... fd3fdf1... a26a2a2... 127cafb... c2c8052... Author: Ingo Molnar Date: Mon Nov 3 10:34:23 2008 +0100 Merge branches 'tracing/ftrace', 'tracing/markers', 'tracing/mmiotrace', 'tracing/nmisafe', 'tracing/tracepoints' and 'tracing/urgent' into tracing/core commit 127cafbb276266b1b8da967bfe25a062ab1d42ab Author: Lai Jiangshan Date: Tue Oct 28 10:51:53 2008 +0800 tracepoint: introduce *_noupdate APIs. Impact: add new tracepoint APIs to allow the batched registration of probes new APIs separate tracepoint_probe_register(), tracepoint_probe_unregister() into 2 steps. The first step of them is just update tracepoint_entry, not connect or disconnect. this patch introduces tracepoint_probe_update_all() for update all. these APIs are very useful for registering lots of probes but just updating once. Another very important thing is that *_noupdate APIs do not require module_mutex. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 19dba33c43a2f0f2aa727ae075ec3b11330775ef Author: Lai Jiangshan Date: Tue Oct 28 10:51:49 2008 +0800 tracepoint: simplification for tracepoints using RCU Impact: simplify implementation Now, unused memory is handled by struct tp_probes. old code use these three field to handle unused memory. struct tracepoint_entry { ... struct rcu_head rcu; void *oldptr; unsigned char rcu_pending:1; ... }; in this way, unused memory is handled by struct tracepoint_entry. it bring reenter bug(it was fixed) and tracepoint.c is filled full of ".*rcu.*" code statements. this patch removes all these. and: rcu_barrier_sched() is removed. Do not need regain tracepoints_mutex after tracepoint_update_probes() several little cleanup. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 3555105333ae55414d0fe051557bd7dc590f5255 Author: Gary Hade Date: Fri Oct 31 10:52:03 2008 -0700 x86: add memory hotremove config option Impact: enable CONFIG_MEMORY_HOTREMOVE feature on x86. (default-off) Memory hotremove functionality can currently be configured into the ia64, powerpc, and s390 kernels. This patch makes it possible to configure the memory hotremove functionality into the x86 kernel as well. Signed-off-by: Badari Pulavarty Signed-off-by: Gary Hade Signed-off-by: Ingo Molnar commit c354e1246348e25c714e6b2973f3257183d06e2c Author: Jianjun Kong Date: Mon Nov 3 00:28:02 2008 -0800 net: clean up net/ipv4/ipmr.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 09cb105ea78d5644570d52085e2149f784575872 Author: Jianjun Kong Date: Mon Nov 3 00:27:11 2008 -0800 net: clean up net/ipv4/ip_sockglue.c tcp_output.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit a7e9ff735bd5e3437a8e5ecbbc2db3865974a523 Author: Jianjun Kong Date: Mon Nov 3 00:26:09 2008 -0800 net: clean up net/ipv4/igmp.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 6ed2533e55889943c478d11b1f63aaed2fd767cc Author: Jianjun Kong Date: Mon Nov 3 00:25:16 2008 -0800 net: clean up net/ipv4/fib_frontend.c fib_hash.c ip_gre.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 5a5f3a8db9d70c90e9d55b46e02b2d8deb1c2c2e Author: Jianjun Kong Date: Mon Nov 3 00:24:34 2008 -0800 net: clean up net/ipv4/ipip.c raw.c tcp.c tcp_minisocks.c tcp_yeah.c xfrm4_policy.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit d9319100c1ad7d0ed4045ded767684ad25670436 Author: Jianjun Kong Date: Mon Nov 3 00:23:42 2008 -0800 net: clean up net/ipv4/ah4.c esp4.c fib_semantics.c inet_connection_sock.c inetpeer.c ip_output.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit 5b9a0e14eb4bf40a7cb780af4723560e06753f2d Author: Cyrill Gorcunov Date: Sat Nov 1 18:06:51 2008 +0300 x86: nmi - nmi_watchdog boot param docs cleanup Impact: documentation update 1) nmi_watchdog boot parameter is common to 32/64 bit modes. So move it from Documentation/x86/x86_64/boot-options.txt to Documentation/kernel-parameters.txt and integrate with. 2) Also fix [panic] keyword placement -- it ought to be at first position otherwise it will not be recognized. 3) Document lapic and ioapic keywords. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit d9e540762f5cdd89f24e518ad1fd31142d0b9726 Author: Peter Zijlstra Date: Sat Nov 1 19:57:37 2008 +0100 ftrace: ftrace_dump_on_oops=[tracer] Impact: add new (optional) debug boot option In order to facilitate early boot trouble, allow one to specify a tracer on the kernel boot line. Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 36609469c8278554b046aa4cc9a5fa9ccea35306 Merge: b3acf29... 45beca0... Author: Ingo Molnar Date: Mon Nov 3 09:11:13 2008 +0100 Merge commit 'v2.6.28-rc3' into tracing/ftrace commit 8bb8c4386d08f2cc5d871d22f220d35032213f84 Author: Peter Zijlstra Date: Sat Nov 1 00:13:49 2008 +0100 sched, ftrace: trace sched.c Impact: allow function tracing within sched.c Its useful to see what happens in sched.c. Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit db5935001a43528e673ad26ffec9d98c60a496a9 Merge: 34f3a81... 45beca0... Author: Ingo Molnar Date: Mon Nov 3 08:57:41 2008 +0100 Merge commit 'v2.6.28-rc3' into sched/core commit e0db4a786bbd73145b4feb45c75d49b6e60fe72c Author: David S. Miller Date: Sun Nov 2 23:57:06 2008 -0800 sunrpc: Fix build warning due to typo in %pI4 format changes. Noticed by Stephen Hemminger. Signed-off-by: David S. Miller commit 20971a0afb8bc0eeb6865ceadd435e4a2dba0fd7 Author: Julius Volz Date: Sat Nov 1 13:13:19 2008 +0000 IPVS: Add IPv6 support to SH and DH schedulers Add IPv6 support to SH and DH schedulers. I hope this simple IPv6 address hashing is good enough. The 128 bit are just XORed into 32 before hashing them like an IPv4 address. Signed-off-by: Julius Volz Acked-by: Simon Horman Signed-off-by: David S. Miller commit 2a6cf35543302e9a5c807eaf13298f510fbdf8f2 Merge: 8ba25da... 3f8b4b1... Author: David S. Miller Date: Sun Nov 2 13:13:07 2008 -0800 Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 3f8b4b13785c2737413d3241c21c7c86a41535ef Author: Andy Gospodarek Date: Wed Oct 22 11:19:48 2008 +0000 bonding: update docs to correctly reflect arp_ip_target behavior This documentation patch hopes to clarify that the '+' was only needed for Fedora 7 and Red Hat Enterprise Linux 5.0 and 5.1. After that the IP addreses could be added as a comma separated list just like the module option. Signed-off-by: Andy Gospodarek Signed-off-by: Jeff Garzik commit 237f3e1d80bb9d4c6eaf684552f422568ba04ffe Author: Mike Frysinger Date: Fri Oct 31 22:11:06 2008 +0000 smc91x: add __init markings to smc_drv_probe() The smc_drv_probe() is the platform_driver probe function and it is only called during init. Further, it calls smc_probe() which is marked as __init already. Signed-off-by: Mike Frysinger Signed-off-by: Jeff Garzik commit dccd547e2bf2c01a13c967ae03a705338394fad6 Author: Joe Korty Date: Wed Oct 29 14:22:16 2008 -0700 forcdeth: increase max_interrupt_work This eliminates the following often-generated warning from my 64 bit Opteron SMP test stand: eth0: too many iterations (6) in nv_nic_irq According to the web, the problem is that the forcedeth driver has a too-low value for max_interrupt_work. Grepping the kernel I see that forcedeth has the second lowest value of all ethernet drivers (ie, 6). Most are in the 20-40 range. So this patch increases this a bit, from 6 to 15 (at 15 forcedeth becomes the driver with third-lowest max_interrupt_work value). My test stand, which used to print out the above warnings repetitively whenever it was under heavy net load, no longer does so. Signed-off-by: Joe Korty Cc: Ayaz Abdulla Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0befdb3e0a26a8949063915274e1bec8873c526b Author: Jesse Brandeburg Date: Fri Oct 31 00:46:40 2008 -0700 ixgbe: add device support for 82598AT (copper 10GbE) adapters Intel is currently shipping support for adapters with a phy that does 10GBase-T (copper), which is 10 Gigabit ethernet over standard Category 6 cabling. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit e053b628d367cd7b39ae2c4bb0124edc2e058a41 Author: Stephen Hemminger Date: Fri Oct 31 16:52:04 2008 -0700 atlx: timer cleanup Do some cleanup on timer usage in this driver: * Use round_jiffies to align wakeups and reduce power. * Remove atl1_watchdog which does nothing but rearm itself * Use setup_timer() function Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 02e7173149c3ffcf963075ec2bdc5f7be8335a78 Author: Stephen Hemminger Date: Fri Oct 31 16:52:03 2008 -0700 atlx: use embedded net_device_stats There is now a net_device_stats structure inside net_device that should be used if possible by devices. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8ba25dad0ac78850cd46d91186a27d60f7314752 Author: Jarek Poplawski Date: Sun Nov 2 00:36:03 2008 -0700 sch_netem: Replace ->requeue() method with open code After removing netem classful functionality we are sure its inner qdisc is tfifo, so we can replace qdisc->ops->requeue() method with open code. After this patch there are no more ops->requeue() users. The idea of this patch is by Patrick McHardy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 02201464119334690fe209849843881b8e9cfa9f Author: Jarek Poplawski Date: Sun Nov 2 00:35:24 2008 -0700 sch_netem: Remove classful functionality Patrick McHardy noticed that: "a lot of the functionality of netem requires the inner tfifo anyways and rate-limiting is usually done on top of netem. So I would suggest so either hard-wire the tfifo qdisc or at least make the assumption that inner qdiscs are work-conserving.", and later: "- a lot of other qdiscs still don't work as inner qdiscs of netem [...]". So, according to his suggestion, this patch removes classful options of netem. The main reason of this change is to remove ops->requeue() method, which is currently used only by netem. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit ae27e98a51526595837ab7498b23d6478a198960 Author: Sangtae Ha Date: Wed Oct 29 00:07:18 2008 -0400 [TCP] CUBIC v2.3 Signed-off-by: Sangtae Ha Signed-off-by: David S. Miller commit e27dfcea48372a4105d9fdf2e8450926737f6215 Author: Jianjun Kong Date: Sat Nov 1 21:38:31 2008 -0700 af_unix: clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c Signed-off-by: Jianjun Kong Signed-off-by: David S. Miller commit c37ccc0d4e2a4ee52f1a40cff1be0049f2104bba Author: Eric Dumazet Date: Sat Nov 1 21:19:18 2008 -0700 udp: add a missing smp_wmb() in udp_lib_get_port() Corey Minyard spotted a missing memory barrier in udp_lib_get_port() We need to make sure a reader cannot read the new 'sk->sk_next' value and previous value of 'sk->sk_hash'. Or else, an item could be deleted from a chain, and inserted into another chain. If new chain was empty before the move, 'next' pointer is NULL, and lockless reader can not detect it missed following items in original chain. This patch is temporary, since we expect an upcoming patch to introduce another way of handling the problem. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7e3a42a12c4b9d99bfe81cb929cadf0e08a37c49 Author: Nicolas Dichtel Date: Sat Nov 1 21:12:07 2008 -0700 xfrm6: handling fragment RFC4301 Section 7.1 says: "7.1. Tunnel Mode SAs that Carry Initial and Non-Initial Fragments All implementations MUST support tunnel mode SAs that are configured to pass traffic without regard to port field (or ICMP type/code or Mobility Header type) values. If the SA will carry traffic for specified protocols, the selector set for the SA MUST specify the port fields (or ICMP type/code or Mobility Header type) as ANY. An SA defined in this fashion will carry all traffic including initial and non-initial fragments for the indicated Local/Remote addresses and specified Next Layer protocol(s)." But for IPv6, fragment is treated as a protocol. This change catches protocol transported in fragmented packet. In IPv4, there is no problem. Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller commit 395628ef4ea12ff0748099f145363b5e33c69acb Author: Alok Kataria Date: Fri Oct 24 17:22:01 2008 -0700 x86: Skip verification by the watchdog for TSC clocksource. Impact: Changes timekeeping on Vmware (or with tsc=reliable). This is achieved by resetting the CLOCKSOURCE_MUST_VERIFY flag. We add a tsc=reliable commandline option to enable this. This enables legacy hardware without HPET, LAPIC, or ACPI timers to enter high-resolution timer mode. Along with that have extended this to be used in virtualization environement too. Now we also set this flag if the X86_FEATURE_TSC_RELIABLE bit is set. This is important since there is a wrap-around problem with the acpi_pm timer. The acpi_pm counter is just 24bits and this can overflow in ~4 seconds. With the NO_HZ kernels in virtualized environment, there can be situations when the guest is descheduled for longer duration, as a result we may miss the wrap of the acpi counter. When TSC is used as a clocksource and acpi_pm timer is being used as the watchdog clocksource this error in acpi_pm results in TSC being marked as unstable, and essentially results in time dropping in chunks of 4 seconds whenever this wrap is missed. Since the virtualized TSC is reliable on VMware, we should always use the TSCs clocksource on VMware, so we skip the verfication at runtime, by checking for the feature bit. Since we reset the flag for mgeode systems too, i have combined the mgeode case with the feature bit check. Signed-off-by: Jeff Hansen Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit eca0cd028bdf0f6aaceb0d023e9c7501079a7dda Author: Alok Kataria Date: Fri Oct 31 12:01:58 2008 -0700 x86: Add a synthetic TSC_RELIABLE feature bit. Impact: Changes timebase calibration on Vmware. Use the synthetic TSC_RELIABLE bit to workaround virtualization anomalies. Virtual TSCs can be kept nearly in sync, but because the virtual TSC offset is set by software, it's not perfect. So, the TSC synchronization test can fail. Even then the TSC can be used as a clocksource since the VMware platform exports a reliable TSC to the guest for timekeeping purposes. Use this bit to check if we need to skip the TSC sync checks. Along with this also set the CONSTANT_TSC bit when on VMware, since we still want to use TSC as clocksource on VM running over hardware which has unsynchronized TSC's (opteron's), since the hypervisor will take care of providing consistent TSC to the guest. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit 88b094fb8d4fe43b7025ea8d487059e8813e02cd Author: Alok Kataria Date: Mon Oct 27 10:41:46 2008 -0700 x86: Hypervisor detection and get tsc_freq from hypervisor Impact: Changes timebase calibration on Vmware. v3->v2 : Abstract the hypervisor detection and feature (tsc_freq) request behind a hypervisor.c file v2->v1 : Add a x86_hyper_vendor field to the cpuinfo_x86 structure. This avoids multiple calls to the hypervisor detection function. This patch adds function to detect if we are running under VMware. The current way to check if we are on VMware is following, # check if "hypervisor present bit" is set, if so read the 0x40000000 cpuid leaf and check for "VMwareVMware" signature. # if the above fails, check the DMI vendors name for "VMware" string if we find one we query the VMware hypervisor port to check if we are under VMware. The DMI + "VMware hypervisor port check" is needed for older VMware products, which don't implement the hypervisor signature cpuid leaf. Also note that since we are checking for the DMI signature the hypervisor port should never be accessed on native hardware. This patch also adds a hypervisor_get_tsc_freq function, instead of calibrating the frequency which can be error prone in virtualized environment, we ask the hypervisor for it. We get the frequency from the hypervisor by accessing the hypervisor port if we are running on VMware. Other hypervisors too can add code to the generic routine to get frequency on their platform. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit 49ab56ac6e1b907b7dadb72a4012460359feaf0e Author: Alok Kataria Date: Sat Nov 1 18:34:37 2008 -0700 x86: add X86_FEATURE_HYPERVISOR feature bit Impact: Number declaration only. Add X86_FEATURE_HYPERVISOR bit (CPUID level 1, ECX, bit 31). Signed-off-by: H. Peter Anvin commit 4074ea21493fe668501bfc7548d10657ca6f14c2 Author: Takashi Iwai Date: Sat Nov 1 11:01:50 2008 +0100 ALSA: ice1724 - Fix IRQ register initialization The IRQMASK register has to be set to zero expclitily at the initialization otherwise you'll get no interrupts properly at later operations. Also, removed the old commented out codes. Signed-off-by: Takashi Iwai commit e25cf4a6945e0f859186231be7164ba565412e0a Author: Johannes Berg Date: Thu Oct 23 08:51:20 2008 +0200 mac80211: fix two kernel-doc warnings One parameter wasn't described and one I forgot to update when renaming it; also update TBDs in sta_info. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4c2442980043b9585be12b4f59e1bbe7e1f7a801 Author: Luis R. Rodriguez Date: Mon Oct 27 10:17:29 2008 -0700 ath9k: use ETH_P_PAE It was being discussed where we would put this, but now it found a home so use its define. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9371dd685d212599f0f07e6bf1510c751f70bb37 Author: Bob Copeland Date: Sun Oct 26 11:24:48 2008 -0400 ath9k: remove useless conditional ath9k_hw_keyreset returns true in either branch. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 4fb30784c720b863203957f76e3fde0d53932746 Author: Andrey Borzenkov Date: Sun Oct 19 12:06:11 2008 +0400 orinoco: cache downloadable firmware image in memory for use during resume If card is using downloadable firmware (like Agere 9.x), firmware has to be reloaded during resume. It is not possible to use request_firmware for that, because tasks are still frozen, so request_firmware will just timeout and fail. So cache firmware image in memory for later reuse in ->resume method. Signed-off-by: Andrey Borzenkov Signed-off-by: John W. Linville commit 0df6cbb7d8a0a8fea69138e9e463671a8ad99f16 Author: Andrey Borzenkov Date: Sun Oct 12 20:15:43 2008 +0400 orinoco: reload firmware on resume On resume card state is likely lost so we have to reload firmware again. Signed-off-by: Andrey Borzenkov Acked-by: David Kilroy Signed-off-by: John W. Linville commit 4c674c60bd567597f1224973712b352f4f474890 Author: Nick Kossifidis Date: Sun Oct 26 20:40:25 2008 +0200 ath5k: Update interrupt masking code *Properly get/set all available ISR/IMR values and review common/uncommon bits *Better handling of per-txq interrupts (we can now resolve what q is generating each interrupt -this will help in debuging wme later) *Some minor updates from legacy-hal *Properly handle RXNOFRM and TXNOFRM interrupt masking (even when we don't set them on IMR they keep showing up, so we disable them by zeroing AR5K_RXNOFRM and AR5K_TXNOFRM registers). This doesn't exist on legacy-hal but i've tested it on various cards and it works fine. Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 84fa4f43c418d2eaad06734ea780a74c869f79c3 Author: Johannes Berg Date: Fri Oct 24 20:32:23 2008 +0200 wireless regulatory: move ignore_request This function is only used once, move it closer to its caller. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2083c4997b95fffe8d4f71741bef2298810805a3 Author: Johannes Berg Date: Fri Oct 24 20:32:22 2008 +0200 wireless: clean up regulatory ignore_request function This function has a few WARNs that may eventually trigger when an AP sends rogue beacons, those must be removed. Some of the comments in the function are also inappropriate as this function is concerned with the global hint, not a per- wiphy thing (which a multidomain flag on a wiphy would imply). I'm convinced that we don't need to do anything to implement multi-domain capability as 802.11-2007 specifies it because it makes only two things mandatory: * starting of BSS/IBSS must have country information (this can easily be done with a mac80211 patch) * a STA must adopt the country information (we already have the framework for this) But we don't have anything implemented anyway for now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit be3d48106c1e5d075784e5e67928a6b5ffc0f3b6 Author: Johannes Berg Date: Fri Oct 24 20:32:21 2008 +0200 wireless: remove struct regdom hinting The code needs to be split out and cleaned up, so as a first step remove the capability, to add it back in a subsequent patch as a separate function. Also remove the publically facing return value of the function and the wiphy argument. A number of internal functions go from being generic helpers to just being used for alpha2 setting. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d2372b315289aec9f565a855023c40654a5bff68 Author: Johannes Berg Date: Fri Oct 24 20:32:20 2008 +0200 wireless: make regdom passing semantics simpler The regdom struct is given to the core, so it might as well free it in error conditions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7dddaf1a36a372c14ca96a0b5fdfbe2015c43841 Author: Daniel Halperin Date: Thu Oct 23 23:48:58 2008 -0700 iwlwifi: Update reclaim flag The reclaim flag should include REPLY_RX_MPDU_CMD in the list of commands issued by uCode. This is for safety in case the SEQ_RX_FRAME bit is set incorrectly. Signed-off-by: Daniel Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9fe1c5052019da3d2770abd7b727cbc1083f7937 Author: Fabrice Bellet Date: Thu Oct 23 23:48:57 2008 -0700 iwl3945: iwl3945_mac_get_tsf() should not return zero The problem fixed here is that iwl3945_mac_get_tsf() returns 0, as the function is not implemented, and this is considered as a valid value by the mac layer in mlme.c:1605. The consequence is that the STA in ad-hoc mode is inserted/removed quite frequently due to IBSS merging. This patch fixes : http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1781 and https://bugzilla.redhat.com/show_bug.cgi?id=459401 Signed-off-by: Fabrice Bellet Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a96a27f97f2bbfc1fca54bc3c0b0d41484152740 Author: Tomas Winkler Date: Thu Oct 23 23:48:56 2008 -0700 iwlwifi: run through spell checker Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 127901ab69bbb263fb2b46e850cf20c57ac321d3 Author: Tomas Winkler Date: Thu Oct 23 23:48:55 2008 -0700 iwlwifi: refactor tx byte count table usage This patch drops unreadable usage of IWL_SET/GET_BITS16 in byte count tables handling This patch also cleans a bit the byte count table code and adds WARN_ON traps on invalid values This patch is pure cleanup, no functional changes. Signed-off-by: Tomas Winkler Cc: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 951891c7ef844919d30aac7b1fc7396fd8be23ff Author: Mohamed Abbas Date: Thu Oct 23 23:48:54 2008 -0700 iwlwifi: clear scanning bits upon failure In iwl_bg_request_scan function, if we could not send a scan command it will go to done. In done it does the right thing to call mac80211 with scan complete, but the problem is STATUS_SCAN_HW is still set causing any future scan to fail. Fix by clearing the scanning status bits if scan fails. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 60d32215a94ebba2517b8d92612200ab610943fd Author: Daniel C. Halperin Date: Thu Oct 23 23:48:53 2008 -0700 iwlwifi: convert correctly rate_n_flags to PLCP index for mimo3 packets The driver does not properly convert rate_n_flags to PLCP index for mimo3 packets. This makes mac80211 drop the packets Signed-off-by: Daniel C. Halperin Reviewed-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f69f42a6bbefb311ccb1626fdb61f723160afbfd Author: Tomas Winkler Date: Thu Oct 23 23:48:52 2008 -0700 iwlwifi: calibration command namespace renaming Since calibration framework is not HW specific remove 5000 and 4965 prefix This patch doesn't provide any functional changes only code renaming and movement Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0ef2ca67b19e2286eed8eeb7ef7a35ce57d6d629 Author: Tomas Winkler Date: Thu Oct 23 23:48:51 2008 -0700 iwlwifi: parametrize eeprom versions This patch uses new parameters eeprom_ver and eeprom_calib_ver to support additional HW. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ed7fafec5e566a30fb21586c98cbef76c306d209 Author: Tomas Winkler Date: Thu Oct 23 23:48:50 2008 -0700 iwlwifi: don't update TFD free counter for invalid station This patch makes sure that station table is not accessed with invalid station id in 4965 TX response path Signed-off-by: Tomas Winkler Reported-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3fd07a1e5aba89d4be3696c46cb7297f1873195a Author: Tomas Winkler Date: Thu Oct 23 23:48:49 2008 -0700 iwlwifi: refactor TX response flow This patch utilize 5000 new TX response command which contains all necessary information and avoids back referencing to the original TX frame. It also change handling of software queue tracking 4965 flow is aligned with changes as much as possible. Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b30b1fe368ab03049435884c11c5c50e4c4ef0b Author: Sujith Date: Fri Oct 24 09:55:27 2008 +0530 mac80211: Re-enable aggregation Wireless HW without any dedicated queues for aggregation do not need the ampdu_queues mechanism present right now in mac80211. Since mac80211 is still incomplete wrt TX MQ changes, do not allow aggregation sessions for drivers that set ampdu_queues. This is only an interim hack until Intel fixes the requeue issue. Signed-off-by: Sujith Signed-off-by: Luis Rodriguez Signed-off-by: John W. Linville commit 4393dce9402c58744433c7a4f3931e17ddde4fb4 Author: Andrey Yurovsky Date: Thu Oct 23 13:10:53 2008 -0700 mac80211: allow all interfaces types to handle RX action frames Eliminate the vif.type check in ieee80211_rx_h_action. This check is unnecessary (these action frames can be handled by all interface types) and currently prevents, for example, AP interfaces from handling BACK action frames such as ADDBA and DELBA requests. Signed-off-by: Andrey Yurovsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f3e63db2e5998bf01852c72d8fa3d8cf988fb6cd Author: Johannes Berg Date: Thu Oct 23 09:40:01 2008 +0200 wireless: remove write-only 'granted' variable Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a4510bf8d96698496d7d2bb242917b4bbfa9bf28 Author: Sujith Date: Thu Oct 23 12:15:19 2008 +0530 ath9k: Check if the STA supports HT when initializing rate control Signed-off-by: Sujith Signed-off-by: John W. Linville commit 075cbc9eb15da8f4cba7c7eaadedd8b030d3a87a Author: Sujith Date: Thu Oct 23 12:14:02 2008 +0530 mac80211: Change WARN_ON to WARN_ON_ONCE A warning would be printed for every packet that is transmitted if the rate control information isn't setup. Change this to WARN_ON_ONCE. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5c020dc6a0f75de3cd75d9cca3b589abc1826fc5 Author: Luis R. Rodriguez Date: Wed Oct 22 13:28:45 2008 -0700 ath9k: Allow user to change tx power when asked We were also changing tx power even when we were not asked to, this enforces the change only when we are asked nicely. When not asked we simply try to use the max power, we don't tx power at all for rate control. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f97e40078e44c1db96269286adc0b12dc8eae3c2 Author: Luis R. Rodriguez Date: Wed Oct 22 13:28:44 2008 -0700 ath9k: enable RX interrupt mitigation This enables hardware interrupt mitigation on RX. It should alleviate system interrupt load intelligently. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b139a10a0aaf3c8041af348c2268d59e1610dc83 Author: Luis R. Rodriguez Date: Wed Oct 22 13:28:43 2008 -0700 ath9k: remove pointless sc_txintrperiod and spin_lock_bh on tx prepare sc_txintrperiod is currently set to 0 and never updated. We won't be using this, if anything we will consider using TX interrupt mitigation but that is different and not yet tested. So remove sc_txintrperiod and the pointless spin_lock_bh() on tx prepare. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d9d2925713d92bbe33b2edff3d7de1ce5646ab54 Author: Luis R. Rodriguez Date: Wed Oct 22 13:13:53 2008 -0700 mac80211: make use of regulatory tx power settings on change of tx power We do not know what max power to allow until a device is targeting a channel, therefore only allow changing tx power if a channel is defined. Also make use of the channel's max power setting as defined by regulatory rules before allowing the user to use the requested power setting. If the user asked us to figure it out we use the max allowed by regulatory. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e2ef12d3fdb771002e7c7b6bd8f19902b1934e03 Author: Rami Rosen Date: Wed Oct 22 09:58:39 2008 +0200 mac80211: check return value of dev_alloc_skb() in ieee80211_sta_join_ibss(). This patch add a check on the return value of dev_alloc_skb() in ieee80211_sta_join_ibss() in net/mac80211/mlme.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 72118015271e6d3852cb9f647efe0987d131adaa Author: John W. Linville Date: Tue Sep 30 21:43:03 2008 -0400 wireless: avoid some net/ieee80211.h vs. linux/ieee80211.h conflicts There is quite a lot of overlap in definitions between these headers... Signed-off-by: John W. Linville commit 9387b7caf3049168fc97a8a9111af8fe2143af18 Author: John W. Linville Date: Tue Sep 30 20:59:05 2008 -0400 wireless: use individual buffers for printing ssid values Also change escape_ssid to print_ssid to match print_mac semantics. Signed-off-by: John W. Linville commit 2819f8ad6da1e24b5dd94a221978e61f2a9c972a Author: John W. Linville Date: Tue Sep 30 17:50:31 2008 -0400 wireless: escape_ssid should handle non-printables Also use common backslash sequences like \t, \n, \r, and \\ as well as \0. Signed-off-by: John W. Linville commit c5d3dce875ef055ed9b14f169cc967cc2c8faf1f Author: John W. Linville Date: Tue Sep 30 17:17:26 2008 -0400 wireless: remove NETWORK_EMPTY_ESSID flag It is unnecessary and of questionable value. Also remove is_empty_ssid, as it is also unnecessary. Signed-off-by: John W. Linville commit 7e272fcff6f0a32a3d46e600ea5895f6058f4e2d Author: John W. Linville Date: Wed Sep 24 18:13:14 2008 -0400 wireless: consolidate on a single escape_essid implementation Signed-off-by: John W. Linville commit ddf4ac53fb8a12a027c0486db743ae040f45b56a Author: Johannes Berg Date: Wed Oct 22 11:41:38 2008 +0200 mac80211: insert AP sta entry after filling it We never clearly defined the semantics of the sta_notify callback and it was originally posted for iwlwifi which still doesn't use it at all. With the recent HT rework ath9k started relying on it, but I made a mistake there in that I made ath9k assume the HT information has already been filled in at sta_notify time. This isn't a hard thing to do, so do it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cfa3fa405a5eafd5d5c53b18abc00ca998c35eef Author: Zhaolei Date: Wed Oct 22 17:07:25 2008 +0800 Fix debugfs_create_*'s error checking method for wireless/rt2x00/ debugfs_create_*() returns NULL if an error occurs, returns -ENODEV when debugfs is not enabled in the kernel. Signed-off-by: Zhao Lei Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9b24001db145cf1da76a479918373c18aa10bb4b Author: Zhaolei Date: Wed Oct 22 17:06:12 2008 +0800 Fix debugfs_create_bool's error checking method for wireless/iwlwifi/ debugfs_create_bool() returns NULL if an error occurs, returns -ENODEV when debugfs is not enabled in the kernel. Signed-off-by: Zhao Lei Signed-off-by: John W. Linville commit ac9440a4e4b284d3469120f0e049dff7c73c72a4 Author: Johannes Berg Date: Tue Oct 21 11:08:27 2008 +0200 wireless: fix EU check http://en.wikipedia.org/wiki/De_Morgan%27s_laws is useful. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f6037d09e2b58e5483ab63f75d4d57ae70f9ae6a Author: Johannes Berg Date: Tue Oct 21 11:01:33 2008 +0200 wireless: get rid of pointless request list We really only need to know the last request at each point in time. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f3b407fba52e1b86ca286ee7c218a4fb00bd29e0 Author: Johannes Berg Date: Tue Oct 21 09:57:41 2008 +0200 wireless: remove cfg80211_reg_mutex This mutex is wrong, we use cfg80211_drv_mutex (which should possibly be renamed to just cfg80211_mutex) everywhere except in one place, fix that and get rid of the extra mutex. Also get rid of a spurious regulatory_requests list definition. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cf03268e6ed6cfacaa5e32db41ea832c4d10438b Author: Johannes Berg Date: Tue Oct 21 09:42:38 2008 +0200 wireless: don't publish __regulatory_hint This function requires an internal lock to be held, so it cannot be published to other modules in the kernel. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e37d4dffdffb7f834bd28d4ae8e3dcdf07fce508 Author: Bob Copeland Date: Mon Oct 20 21:20:27 2008 -0400 mac80211: fix a few typos in mac80211 kernel doc Correct a handful of errors found while reading the mac80211 book. Signed-off-by: Bob Copeland Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 558875112c28c7b2744a92c9836c256dd57bc5b6 Author: John Daiker Date: Fri Oct 17 12:16:17 2008 -0700 rt2x00: reduce checkpatch.pl errors A few changes to reduce checkpatch.pl errors in the rt2x00 driver. For the most part, I only fixed cosmetic things, and left the actual 'code flow' untouched (hopefully)! Diff is against wireless-testing HEAD. Signed-off-by: John Daiker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0bbac08f0a23898787978c0b405474e453e9824c Author: John Daiker Date: Fri Oct 17 12:16:00 2008 -0700 ath5k: reduce checkpatch.pl errors A few changes to reduce checkpatch.pl errors in the ath5k driver. For the most part, I only fixed cosmetic things, and left the actual 'code flow' untouched (hopefully)! Diff is against wireless-testing HEAD. Signed-off-by: John Daiker Reviewed-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 93da9cc17c5ae8a751886fd4732db89ad5e9bdb9 Author: colin@cozybit.com Date: Tue Oct 21 12:03:48 2008 -0700 Add nl80211 commands to get and set o11s mesh networking parameters The two new commands are NL80211_CMD_GET_MESH_PARAMS and NL80211_CMD_SET_MESH_PARAMS. There is a new attribute enum, NL80211_ATTR_MESH_PARAMS, which enumerates the various mesh configuration parameters. Moved struct mesh_config from mac80211/ieee80211_i.h to net/cfg80211.h. nl80211_get_mesh_params and nl80211_set_mesh_params unpack the netlink messages and ask the driver to get or set the configuration. This is done via two new function stubs, get_mesh_params and set_mesh_params, in struct cfg80211_ops. Signed-off-by: Colin McCabe Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4a68ec535ef1043319928f601d633f78e650a16f Author: Johannes Berg Date: Thu Oct 16 21:44:44 2008 +0200 mac80211: inform userspace of probe/auth/assoc timeout I noticed that when for some reason [1] the probe or auth times out, wpa_supplicant doesn't realise this and only tries the next AP when it runs into its own timeout, which is ten seconds, and that's quite long. Fix this by making mac80211 notify userspace that it didn't associate. [1] my wrt350n in mixed B/G/HT mode often runs into this, maybe it's because one of the antennas is broken off and for whatever reason it decides to use that antenna to transmit the response frames (auth, probe); I do see beacons fine so it's not totally broken. Works fine in pure-G mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8216bfe2518c25f16a60485636e477c9a3b795d5 Author: Larry Finger Date: Thu Oct 16 16:44:03 2008 -0700 hostap: Fix sparse warnings A compilation with the command "make C=2 CF="-D__CHECK_ENDIAN__" \ drivers/net/wireless/hostap/" yields the following warnings: CHECK drivers/net/wireless/hostap/hostap_info.c drivers/net/wireless/hostap/hostap_info.c:156:43: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:156:43: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:156:43: got long * drivers/net/wireless/hostap/hostap_info.c:294:44: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:294:44: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:294:44: got long * drivers/net/wireless/hostap/hostap_info.c:487:12: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:487:12: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:487:12: got long * drivers/net/wireless/hostap/hostap_info.c:491:12: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/hostap/hostap_info.c:491:12: expected unsigned long volatile *addr drivers/net/wireless/hostap/hostap_info.c:491:12: got long * The warnings are fixed with the following compile-tested fix: Signed-off-by: Larry Finger Acked-by: Jouni Malinen Signed-off-by: John W. Linville commit 50fb2e4572141770380f5919793c6e575fa3474b Author: Johannes Berg Date: Thu Oct 16 11:21:49 2008 +0200 mac80211: remove rate_control_clear "Clearing" the rate control algorithm is pointless, none of the algorithms actually uses this operation and it's not even invoked properly for all channel switching. Also, there's no need to since rate control algorithms work per station. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 65a0667b43ff746b2964b2a257ffff1a4747e19d Author: Tomas Winkler Date: Wed Oct 15 11:06:23 2008 -0700 iwlwifi: protect headers from double inclusion This patch protects iwl-csr.h and iwl-fh.h from double inclusion by ifndef define endif idiom Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f4a8cd94fc43829d065aae94f6d379c6f0f1301c Author: Felix Fietkau Date: Wed Oct 15 19:13:59 2008 +0200 minstrel: improve performance for non-MRR drivers This patch enhances minstrel's performance for non-MRR setups, by preventing it from sampling slower rates with >95% success probability and by putting at least 1 non-sample frame between several sample frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0a9542ee12fb57d408f19aac738e8abe8670be7a Author: Johannes Berg Date: Wed Oct 15 11:54:04 2008 +0200 nl80211: fix monitor flags NLA_NESTED attributes cannot be empty, but we want to be able to specify "no flags" (empty attribute) vs. "no change" (no attribute). Therefore, remove the NLA_NESTED policy so it can work as an empty attribute. I guess I should have used a u32 for these flags instead, but we're stuck with it now. Haven't noticed earlier because of a bug in iw... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 27df605ebe2c106c53957dfdaee5d948f01cfc97 Author: John W. Linville Date: Wed Oct 22 16:41:55 2008 -0400 p54: integrate parts of lmac_longbow.h and other parts of stlc45xx This patch removes most/all? of the "magic" numbers and unknown structure variables inside the code and replaces them with meaningful prototypes. (Plus a one line warning fix from Larry Finger .) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5e73444e91889ea6c7a83bc174ef8e8b6aaeea9b Author: Christian Lamparter Date: Wed Oct 15 04:07:56 2008 +0200 p54: borrow some setup code from stlc45xx This patch initialize all remaining values which are necessary for SPI firmwares. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b92f30d65aeb0502e2ed8beb80c8465578b40002 Author: Christian Lamparter Date: Wed Oct 15 04:07:16 2008 +0200 p54: fix memory management We have to be careful if multiple "control frames" are passed in a very short intervals to the device's firmware. As p54_assign_address always put them into same memory location. To guarantee that this won't happen anymore, we have to treat control frames like normal data frames in the devices own memory management. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9de5776ff33a006b864341a6ec8d31f1a3c628cf Author: Christian Lamparter Date: Wed Oct 15 04:05:51 2008 +0200 p54: p54: refactor p54_rx_frame_sent the long names and the nesting in p54_rx_frame_sent really became a "line longer than 80 characters" problem. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0f1be978910092bed5d8dac0774e5cf85d4b4e12 Author: Christian Lamparter Date: Wed Oct 15 03:56:20 2008 +0200 p54: refactor statistic timer code Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0fdd7c5d2defe8c6873eb8a40a880eb0dc59573d Author: Christian Lamparter Date: Wed Oct 15 03:55:37 2008 +0200 p54: broken out edcf changes This patch series hopefully increases p54's "longterm" stability. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b88b15dfbddc8837569c6dea49348791357de4aa Author: Tomas Winkler Date: Tue Oct 14 12:32:49 2008 -0700 iwlwifi: tx command must run on same tfd as packet This patch makes clear that tx command is attached to the same tfd as the tx packet Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 499b1883038a7db2dcf8b64229f8533ce2c8f0fc Author: Tomas Winkler Date: Tue Oct 14 12:32:48 2008 -0700 iwlwifi: fix TX cmd dma unmapping This patch: 1. fixes command DMA unmapping, this might be visible only on platforms where DMA unmapping is no noop such as PPC64 (not tested) 2. attaches correctly high memory part of the host command buffer 3. changes structure of TFD TB instead of describing transmit buffer (TB) tuple it describes single TB and makes code more readable on price of one unaligned access 4. eliminates using of IWL_GET/SET_BITs for TFD handling 5. renames TFD structures to mach the HW spec 6. reduces iwl_tx_info size by reserving first TB to the host command This patch should not have any visible effect on x86 32 This patch is rework of iwlwifi: fix DMA code and bugs from Johannes Berg Signed-off-by: Tomas Winkler Cc: Johannes Berg Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 76eff18bdc5feaa53f1be33709b67df02f1d55e9 Author: Tomas Winkler Date: Tue Oct 14 12:32:45 2008 -0700 iwlwifi: unify tx antenna toggling TX antenna toggling is requested for management frames in tx and scanning. I addition toggling in scanning was incorrect; Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 961ba60abe02517d0c8252f9befb1478f4e008a4 Author: Tomas Winkler Date: Tue Oct 14 12:32:44 2008 -0700 iwlwifi: add iwl_cmd_queue_free for readability This patch adds iwl_cmd_queue_free function and separate cmd queue freeing from regular tx queue freeing. This improves readability and adds one more step in restructuring of cmd queue handling Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3257e5d4eb418e4656542207720aef5f0f547701 Author: Tomas Winkler Date: Tue Oct 14 12:32:43 2008 -0700 iwlwifi: remove host commands structures from iwl_cmd This patch removes host commands structures from iwl_cmd to make more HW oblivious tx cmd was left it needs special treatment. Signed-off-by: Tomas Winkler Reviewed-by: Zhu Yi Signed-off-by: John W. Linville commit 56e1261596334e60210fb8ecd9eb6a3db53aba94 Author: Jay Sternberg Date: Tue Oct 14 12:32:42 2008 -0700 iwlwifi: expand error lookup and align output change desc_lookup from hard coded switch to a simple lookup table and expand list to include all errors. Also corrected output using this string so info is aligned and easier to read when debugging issues. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e062f99af771173b601742b0c1c98eb4d52ea08 Author: Jay Sternberg Date: Tue Oct 14 12:32:41 2008 -0700 iwlwifi: define firmware file name once string repeated for definition of ucode firmware file and in preparation for multiple firmware files need to consolidate location for their definition. Signed-off-by: Jay Sternberg Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 4acf07497140b1504a799d6a1b4da7d1b1e35af5 Author: Johannes Berg Date: Tue Oct 14 19:49:22 2008 +0200 make ieee80211 invisible This makes CONFIG_IEEE80211 invisible. The drivers that require it (ipw2100, ipw2200, hostap) select it, and everybody else really shouldn't even think about using it. Also, since there really is no point in compiling anything without crypto support these days, remove the crypto options and just enable them, leaving only the debugging option which only shows up when a driver is select that requires it. This makes it hard to enable, but most people wouldn't want to anyway. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 5c7f9b7363bfd10e40cf1a28dfc9048417df7028 Author: Tim Gardner Date: Tue Oct 14 10:38:03 2008 -0600 ipw2x00: change default policy for auto-associate Do not attempt association until directed to do so by a user space application. In particular, this avoids race conditions with NetworkManager association state. Signed-off-by: Tim Gardner Acked-by: Dan Williams Signed-off-by: John W. Linville commit c12abae333ac550acacf9d324ed54b7d17ead0c0 Author: Johannes Berg Date: Tue Oct 14 16:56:51 2008 +0200 p54: implement MRR This implements multi-rate retry in p54. With lots of help and testing from Christian and the limiting idea from nbd. Signed-off-by: Johannes Berg Cc: Christian Lamparter Signed-off-by: John W. Linville commit e6a9854b05c1a6af1308fe2b8c68f35abf28a3ee Author: Johannes Berg Date: Tue Oct 21 12:40:02 2008 +0200 mac80211/drivers: rewrite the rate control API So after the previous changes we were still unhappy with how convoluted the API is and decided to make things simpler for everybody. This completely changes the rate control API, now taking into account 802.11n with MCS rates and more control, most drivers don't support that though. Signed-off-by: Felix Fietkau Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb121bad67a32cde37adc2729b7e18aa4fd3063e Author: Johannes Berg Date: Tue Oct 14 16:38:55 2008 +0200 mac80211: add might_sleep to hw_config Just to catch bugs when changing mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit faf3994a9f65fd95a68bbcc03c318a427cd1e7d3 Author: Wang Chen Date: Tue Oct 14 13:30:33 2008 +0800 airo: Kill directly reference of netdev->priv We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", and I want to kill netdev->priv later, I decided to convert all the direct reference of netdev->priv first. In this driver, I don't simply use netdev_priv() to replace netdev->priv. The reason is: Pointer netdev->priv was changed in this driver, but it shouldn't. Because the memory was allocated when alloc_netdev() and netdev->priv should always point to that memory. So I use netdev->ml_priv to replace netdev->priv. After replacing, both ai and ai->wifidev->ml_priv point to the same memory. Signed-off-by: Wang Chen Cc: John W. Linville Cc: Dan Williams Signed-off-by: John W. Linville commit b706e65b40417e03c2451bb3f92488f3736843fa Author: Andrey Yurovsky Date: Mon Oct 13 18:23:07 2008 -0700 ath5k: fix mesh point operation This patch fixes mesh point operation (thanks to YanBo for pointing out the problem): make mesh point interfaces start beaconing when they come up and configure the RX filter in mesh mode so that mesh beacons and action frames are received. Add mesh point to the check in ath5k_add_interface. Tested with multiple AR5211 cards. Signed-off-by: Andrey Yurovsky Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 6e0e0bf80c963d83f511e1cda652630cf31ebf85 Author: Luis R. Rodriguez Date: Mon Oct 13 14:08:10 2008 -0700 ath5k: correct ath5k signal quality This adjusts ath5k's signal quality reporting taking into consideration received beacons at an RSSI of 35 should indicate you can use of 54 Mbps on a single stream card (all ath5k cards) reliably. Signed-off-by: Luis R. Rodriguez Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit c49d154a800c55b8948e6d34563e593b500b31b9 Author: Luis R. Rodriguez Date: Mon Oct 13 14:08:09 2008 -0700 ath9k: correct signal quality report This adjusts ath9k's signal quality reporting taking into consideration received beacons at an RSSI of 45 should indicate you can use of MCS 15 rate (144 Mbps) reliably on dual stream card. Keep in mind mac80211 does not yet have aggregation fixed but this should still provide more accurate results. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4fe0657ed41590ea4c2d4920c76836cb4a483caf Author: Luis R. Rodriguez Date: Mon Oct 13 14:08:07 2008 -0700 ath5k/ath9k: correct signal quality Now that we officially are supporting ath5k I can do this at work hours. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f8288317b5076fde0bb4e91cd4754379c850be7a Author: Herton Ronaldo Krzesinski Date: Mon Oct 13 18:11:00 2008 +0000 rtl8187: add short slot handling for 8187B This change adds short slot handling for 8187B variant of rtl8187 chips. Some things to note about changes done: * Values used are chosen to met 802.11-2007 spec. This raised a question about SIFS value used with 8187L: 0x22 (34) doesn't match any spec value. For now just don't change 8187L, but is something to be looked at. * On 8187B, the location of EIFS register is at the same place as BRSR+1 of struct rtl818x_csr. Unfortunately there is no clean way to accomodate 8187B differences currently, just use address of BRSR+1 and comment about it. The same thing happens for Ack timeout register, that is on CARRIER_SENSE_COUNTER location of 8187L. The eifs and ack timeout values are in units of 4us. All these registers information was gathered from references being the vendor gpl driver and 8180 datasheet, unfortunately there is no information about this on 8187B datasheet. Also the ack timeout value was inspired by the same calculation as done on rt2x00. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 64761077f815660276f69b497edb9842d880df9a Author: Herton Ronaldo Krzesinski Date: Mon Oct 13 18:10:59 2008 +0000 rtl8187: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag This updates 8187L handling for short slot after "mac80211: fix short slot handling". For 8187B, there was no handling done for short slot timing so nothing done, support for it will come in a following patch. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit da966bcae70e4012b7d999820b728dd6502047e0 Author: Jiri Slaby Date: Sun Oct 12 22:54:10 2008 +0200 Ath5k: add AP mode Add support for AP mode. This involves: - enablement in ath5k_beacon_config -- initialize beacon timer - add AP to the supported modes in ath5k_add_interface - handle beacon change even for AP in ath5k_config_interface - remove useless test for IBSS in ath5k_beacon_update Note that it doesn't enable the AP mode for the driver. It must be enabled by NL80211_IFTYPE_AP bit added to interface_modes. v2: Fixed opmode constant (IEEE80211_ to NL80211_) Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7eb27af766e4a1db3dbc02a5b3d175885bf2ce93 Author: Johannes Berg Date: Sun Oct 12 00:39:55 2008 +0200 p54/rtl8187: fix up the seqno patch Sorry about that, for some reason I didn't notice that I'd left some unused variables in there. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ae5eb02641233a4e9d1b92d22090f1b1afa14466 Author: Johannes Berg Date: Tue Oct 14 16:58:37 2008 +0200 mac80211: rewrite HT handling The HT handling has the following deficiencies, which I've (partially) fixed: * it always uses the AP info even if there is no AP, hence has no chance of working as an AP * it pretends to be HW config, but really is per-BSS * channel sanity checking is left to the drivers * it generally lets the driver control too much HT enabling is still wrong with this patch if you have more than one virtual STA mode interface, but that never happens currently. Once WDS, IBSS or AP/VLAN gets HT capabilities, it will also be wrong, see the comment in ieee80211_enable_ht(). Additionally, this fixes a number of bugs: * mac80211: ieee80211_set_disassoc doesn't notify the driver any more since the refactoring * iwl-agn-rs: always uses the HT capabilities from the wrong stuff mac80211 gives it rather than the actual peer STA * ath9k: a number of bugs resulting from the broken HT API I'm not entirely happy with putting the HT capabilities into struct ieee80211_sta as restricted to our own HT TX capabilities, but I see no cleaner solution for now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bda3933a8aceedd03e0dd410844bd310033ca756 Author: Johannes Berg Date: Sat Oct 11 01:51:51 2008 +0200 mac80211: move bss_conf into vif Move bss_conf into the vif struct so that drivers can access it during ->tx without having to store it in the private data or similar. No driver updates because this is only for when they want to start using it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9124b07740c51cbc6e358dd0c4abc6ee8ded084d Author: Johannes Berg Date: Tue Oct 14 19:17:54 2008 +0200 mac80211: make retry limits part of hw config Instead of having a separate callback, use the HW config callback with a new flag to change retry limits. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 525181891fb5ed323b6ba0f141c422f1395acfb9 Author: Johannes Berg Date: Sat Oct 11 01:46:25 2008 +0200 iwl3945: fix station stuff in RC algorithm Probably bugs I added. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit d51626df5747efaa8d2c00678f64cb503845effe Author: Johannes Berg Date: Thu Oct 9 12:20:13 2008 +0200 nl80211: export HT capabilities This exports the local HT capabilities in nl80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 94778280fabdb6bc76db5509bd95859f1141385b Author: Johannes Berg Date: Fri Oct 10 13:21:59 2008 +0200 mac80211: provide sequence numbers I've come to think that not providing sequence numbers for the normal STA mode case was a mistake, at least two drivers now had to implement code they wouldn't otherwise need, and I believe at76_usb and adm8211 might be broken. This patch makes mac80211 assign a sequence number to all those frames that need one except beacons. That means that if a driver only implements modes that do not do beaconing it need not worry about the sequence number. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2e20cc3986cbee410fbe8e3e116bdcb12d70fcce Author: Larry Finger Date: Thu Oct 9 17:38:52 2008 -0700 p54: Move rx_mtu to struct bootrec_desc The patch entitled "[PATCH] p54: Fix sparse warnings" added the __le16 variable rx_mtu to struct bootrec, but it could equally well be placed in the struct bootrec_desc, which overlays the 'data' section of bootrec. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 78236571a538860dc2f0842ff6c7789522eb1e63 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:33 2008 -0300 rfkill: rate-limit rfkill-input workqueue usage (v3) Limit the number of "expensive" rfkill workqueue operations per second, in order to not hog system resources too much when faced with a rogue source of rfkill input events. The old rfkill-input code (before it was refactored) had such a limit in place. It used to drop new events that were past the rate limit. This behaviour was not implemented as an anti-DoS measure, but rather as an attempt to work around deficiencies in input device drivers which would issue multiple KEY_FOO events too soon for a given key FOO (i.e. ones that do not implement mechanical debouncing properly). However, we can't really expect such issues to be worked around by every input handler out there, and also by every userspace client of input devices. It is the input device driver's responsability to do debouncing instead of spamming the input layer with bogus events. The new limiter code is focused only on anti-DoS behaviour, and tries to not lose events (instead, it coalesces them when possible). The transmitters are updated once every 200ms, maximum. Care is taken not to delay a request to _enter_ rfkill transmitter Emergency Power Off (EPO) mode. If mistriggered (e.g. by a jiffies counter wrap), the code delays processing *once* by 200ms. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit 176707997bc3da2c4e32715c35cfebba0334ed68 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:32 2008 -0300 rfkill: honour EPO state when resuming a rfkill controller rfkill_resume() would always restore the rfkill controller state to its pre-suspend state. Now that we know when we are under EPO, kick the rfkill controller to SOFT_BLOCKED state instead of to its pre-suspend state when it is resumed while EPO mode is active. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: John W. Linville commit d003922dab6a66027344a787e9846ecf35a706a8 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 21:49:33 2008 -0300 rfkill: add master_switch_mode and EPO lock to rfkill and rfkill-input Add of software-based sanity to rfkill and rfkill-input so that it can reproduce what hardware-based EPO switches do, blocking all transmitters and locking down any further attempts to unblock them until the switch is deactivated. rfkill-input is responsible for issuing the EPO control requests, like before. While an rfkill EPO is active, all transmitters are locked to one of the BLOCKED states and all attempts to change that through the rfkill API (userspace and kernel) will be either ignored or return -EPERM errors. The lock will be released upon receipt of EV_SW SW_RFKILL_ALL ON by rfkill-input, or should modular rfkill-input be unloaded. This makes rfkill and rfkill-input extend the operation of an existing wireless master kill switch to all wireless devices in the system, even those that are not under hardware or firmware control. Since the above is the expected operational behavior for the master rfkill switch, the EPO lock functionality is not optional. Also, extend rfkill-input to allow for three different behaviors when it receives an EV_SW SW_RFKILL_ALL ON input event. The user can set which behavior he wants through the master_switch_mode parameter: master_switch_mode = 0: EV_SW SW_RFKILL_ALL ON just unlocks rfkill controller state changes (so that the rfkill userspace and kernel APIs can now be used to change rfkill controller states again), but doesn't change any of their states (so they will all remain blocked). This is the safest mode of operation, as it requires explicit operator action to re-enable a transmitter. master_switch_mode = 1: EV_SW SW_RFKILL_ALL ON causes rfkill-input to attempt to restore the system to the state before the last EV_SW SW_RFKILL_ALL OFF event, or to the default global states if no EV_SW SW_RFKILL_ALL OFF ever happened. This is the recommended mode of operation for laptops. master_switch_mode = 2: tries to unblock all rfkill controllers (i.e. enable all transmitters) when an EV_SW SW_RFKILL_ALL ON event is received. This is the default mode of operation, as it mimics the previous behavior of rfkill-input. In order to implement these features in a clean way, the entire event handling of rfkill-input was refactored into a single worker function. Protection against input event DoS (repeatedly firing rfkill events for rfkill-input to process) was removed during the code refactoring. It will be added back in a future patch. Note that with these changes, rfkill-input doesn't need to explicitly handle any radio types for which KEY_ or SW_ events do not exist yet. Code to handle EV_SW SW_{WLAN,WWAN,BLUETOOTH,WIMAX,...} was added as it might be needed in the future (and its implementation is not that obvious), but is currently #ifdef'd out to avoid wasting resources. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: Dmitry Torokhov Signed-off-by: John W. Linville commit 68d2413bec7e1d97e906eafb05e78d925a5ca128 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:30 2008 -0300 rfkill: export global states to rfkill-input Export the the global switch states to rfkill-input. This is needed to properly implement KEY_* handling without disregarding the initial state. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: John W. Linville commit cf4b4aab552f5f658ed400dd0cd41f9ac8aac7c1 Author: Henrique de Moraes Holschuh Date: Thu Oct 9 18:15:29 2008 -0300 rfkill: use killable locks instead of interruptible Apparently, many applications don't expect to get EAGAIN from fd read/write operations, since POSIX doesn't mandate it. Use mutex_lock_killable instead of mutex_lock_interruptible, which won't cause issues. Signed-off-by: Henrique de Moraes Holschuh Cc: Ivo van Doorn Signed-off-by: John W. Linville commit e8975581f63870be42ff4662b293d1b0c8c21350 Author: Johannes Berg Date: Thu Oct 9 12:18:51 2008 +0200 mac80211: introduce hw config change flags This makes mac80211 notify the driver which configuration actually changed, e.g. channel etc. No driver changes, this is just plumbing, driver authors are expected to act on this if they want to. Also remove the HW CONFIG debug printk, it's incorrect, often we configure something else. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0f4ac38b5999c3d51adad52d61c56c1b99c247ec Author: Johannes Berg Date: Thu Oct 9 12:18:04 2008 +0200 mac80211: kill hw.conf.antenna_sel_{rx,tx} Never actually used. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d9fe60dea7779d412b34679f1177c5ca1940ea8d Author: Johannes Berg Date: Thu Oct 9 12:13:49 2008 +0200 802.11: clean up/fix HT support This patch cleans up a number of things: * the unusable definition of the HT capabilities/HT information information elements * variable names that are hard to understand * mac80211: move ieee80211_handle_ht to ht.c and remove the unused enable_ht parameter * mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht * mac80211: fix bug with casting the result of ieee80211_bss_get_ie to an information element _contents_ rather than the whole element, add size checking (another out-of-bounds access bug fixed!) * mac80211: remove some unused return values in favour of BUG_ON checking * a few minor other things Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 40333e4fb476014cdd939d27e20eb54573172b32 Author: Christian Lamparter Date: Wed Oct 8 20:52:22 2008 +0200 p54: honour bss_info_changed's short slot time settings This patch was made on behalf of Johannes request. "mac80211 and IEEE80211_CONF_SHORT_SLOT_TIME" Of course, bss_info_changed provides some more useful data. e.g.: basic_rates, dtim_period, beacon_int and maybe even more. Everything can be hooked up if it's necessary. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5d6924eaf07bec9ce7527cad9d2537e448574738 Author: Rami Rosen Date: Wed Oct 8 11:18:27 2008 +0200 mac80211: use HWSIM_STA_MAGIC in hwsim_check_sta_magic() and hwsim_set_sta_magic(). This patch fixes a typo in mac80211_hwsim.c: use HWSIM_STA_MAGIC in hwsim_check_sta_magic() and hwsim_set_sta_magic() instead of HWSIM_VIF_MAGIC. Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3195c1f3499912b207ae600968488759b16037fc Author: Tomas Winkler Date: Wed Oct 8 09:37:30 2008 +0800 iwlwifi: refactor rxon time command This patch refactors rxon time command. It removes the usage of union tsf in favor of u64 value and hopefully makes code more readable. There are no functional changes in this patch. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d664a41a0a8c612f66bcb3c2a6f395e9afa6beb Author: Tomas Winkler Date: Wed Oct 8 09:37:29 2008 +0800 iwlwifi: take a valid antenna upon rate scale init This patch selects a valid antennae upon rate scale init. This solves a SYSASSERT complaining that the driver is setting a non valid antenna in the LQ CMD. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit be5d56ed885a2897ec813eab4a8055d495816e9a Author: Tomas Winkler Date: Wed Oct 8 09:37:27 2008 +0800 iwlwifi: make initial calibration set configurable This patch adds ability to configure initial calibration set. Not all HW supported by iwlwifi use the same calibration set, XTAL is one example. Some clean ups are also included in this patch. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1397dcebd8f1d66528e8f86b0dfb603281558f79 Author: Rami Rosen Date: Tue Oct 7 16:29:11 2008 +0200 mac80211: remove unused declaration of struct sta_attribute. This patch removes unused definition of struct sta_attribute in net/mac80211/ieee80211_i.h. Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7a5158ef8da70fdedeb0530faaa8128aa645be3c Author: Johannes Berg Date: Wed Oct 8 10:59:33 2008 +0200 mac80211: fix short slot handling This patch makes mac80211 handle short slot requests from the AP properly. Also warn about uses of IEEE80211_CONF_SHORT_SLOT_TIME and optimise out the code since it cannot ever be hit anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e87a2feea75e3cba7af43ed9317b56b282d87742 Author: Johannes Berg Date: Tue Oct 7 12:04:35 2008 +0200 mac80211: remove max_antenna_gain config The antenna gain isn't exactly configurable, despite the belief of some unnamed individual who thinks that the EEPROM might influence it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d73782fdde76554016abf73b46f843b29f520848 Author: Johannes Berg Date: Tue Oct 7 12:04:34 2008 +0200 mac80211: clean up ieee80211_hw_config errors Warn when ieee80211_hw_config returns an error, it shouldn't happen; remove a number of printks that would happen in such a case and one printk that is user-triggerable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3db594380b8452eda4d88b12844077809607caaa Author: Johannes Berg Date: Tue Oct 7 12:04:33 2008 +0200 mac80211: remove wiphy_to_hw This isn't used by anyone, if we ever need it we can add it back, until then it's useless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c6a1fa12d206882757264869f8e32d606b930e2a Author: Johannes Berg Date: Tue Oct 7 12:04:32 2008 +0200 mac80211: minor code cleanups Nothing very interesting, some checkpatch inspired stuff, some other things. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36ff382d0065c9980c203c7cd3b3eb26251e9397 Author: Johannes Berg Date: Tue Oct 7 12:04:31 2008 +0200 mac80211: remove writable debugs mesh parameters These parameters shouldn't be configurable via debugfs, if they need to be configurable nl80211 support has to be added, if not then they don't need to be writable here either. Signed-off-by: Johannes Berg Cc: Javier Cardona Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit 804feeb826f8a32c8c71a09101fae31804b40ad1 Author: Johannes Berg Date: Tue Oct 7 12:04:30 2008 +0200 mac80211: remove aggregation status write support from debugfs This code uses static variables and thus cannot be kept. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b2bcc7b299f37037b4a78dc1538e5d6508ae8110 Author: Alok Kataria Date: Fri Oct 31 11:59:53 2008 -0700 x86: add a synthetic TSC_RELIABLE feature bit Impact: None, bit reservation only Add a synthetic TSC_RELIABLE feature bit which will be used to mark TSC as reliable so that we could skip all the runtime checks for TSC stablity, which have false positives in virtual environment. Signed-off-by: Alok N Kataria Signed-off-by: Dan Hecht Signed-off-by: H. Peter Anvin commit 3c3e9892a1dacca2ba9e05c196ab1ea99c544360 Author: Takashi Iwai Date: Fri Oct 31 17:48:56 2008 +0100 ALSA: hda - Re-add input-source control for Realtek Re-added again "Input Source" control that was removed mistakenly in the previous patchset. Signed-off-by: Takashi Iwai commit f9e336f65b666b8f1764d17e9b7c21c90748a37e Author: Takashi Iwai Date: Fri Oct 31 16:37:07 2008 +0100 ALSA: hda - Unify capture mixer creation in realtek codes Unified the capture mixer creation in patch_realtek.c. ALC268 is still an exception since it has no AMP in ADC but in MUX widget. Signed-off-by: Takashi Iwai commit 54cbc9abe57cf0a36619f394802448c62402599a Author: Takashi Iwai Date: Fri Oct 31 15:24:04 2008 +0100 ALSA: hda - Unify capture callbacks in realtek codes Unify the capture callbacks in patch_realtek.c. The difference of matrix or mux style is checked via spec->is_mix_capture flag. Signed-off-by: Takashi Iwai commit d88897eaea53f0fae62d528a24e76b8643082db3 Author: Takashi Iwai Date: Fri Oct 31 15:01:37 2008 +0100 ALSA: hda - Use macros to check array overflow Use macro to add mixer and verb elements to check the possible array overflow. Signed-off-by: Takashi Iwai commit afecd78cd2ec81512d6ec451906f71d9671a0b3b Merge: 1b063c3... ee956e0... Author: Takashi Iwai Date: Fri Oct 31 17:24:01 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit 7b3b6e42032e94a6132a85642e95106f5346650e Merge: 04172c0... 0173a32... Author: Takashi Iwai Date: Fri Oct 31 17:13:10 2008 +0100 Merge commit 'v2.6.28-rc2' into topic/asoc commit f88518d122f1b007f47a46aff37ca2885126a923 Author: Huang Weiyi Date: Fri Oct 31 22:49:58 2008 +0800 wusb: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/usb/host/hwa-hc.c drivers/usb/host/whci/hcd.c drivers/usb/host/whci/int.c drivers/usb/host/whci/wusb.c drivers/usb/wusbcore/cbaf.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: David Vrabel commit ae9eba0e2744f1aa15cdc97cd39277a84723ae23 Author: Kay Sievers Date: Thu Oct 30 20:06:16 2008 +0100 uwb: struct device - replace bus_id with dev_name(), dev_set_name() Cc: David Vrabel Acked-by: Greg Kroah-Hartman Signed-Off-By: Kay Sievers Signed-off-by: David Vrabel commit 7bc914942295b1ea63635b9c1e93b023bd7d3767 Author: Huang Weiyi Date: Fri Oct 31 22:49:54 2008 +0800 uwb: remove unused #include The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/uwb/drp-ie.c drivers/uwb/hwa-rc.c drivers/uwb/i1480/dfu/usb.c drivers/uwb/i1480/i1480u-wlp/lc.c drivers/uwb/i1480/i1480u-wlp/sysfs.c drivers/uwb/rsv.c drivers/uwb/whc-rc.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: David Vrabel commit 04172c0b9ea5861e5cba7909da5297b3aedac9e1 Merge: 5b99e6c... 13d622b... Author: Takashi Iwai Date: Fri Oct 31 14:39:49 2008 +0100 Merge branch 'topic/fix/asoc' into topic/asoc commit 5b99e6ccf964e733f0afe2b7bd09559a51a540ca Author: Sedji Gaouaou Date: Fri Oct 3 16:58:58 2008 +0200 ASoC: Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731). Add audio support for the Atmel AT91SAM9G20ek board(uing wolfson 8731). It is based on the former eti_b1_wm8731.c file, using the atmel scc API. Signed-off-by: Sedji Gaouaou Signed-off-by: Mark Brown commit 6c7425095c9ee23d080dba3e27217a254cce4562 Author: Sedji Gaouaou Date: Fri Oct 3 16:57:50 2008 +0200 ASoC: Merge AT91 and AVR32 support into a single atmel architecture The Ateml AT91 and AVR32 SoC share common IP for audio and can share the same driver code using the atmel-ssc API provided for both architectures. Do this, creating a new unified atmel ASoC architecture to replace the previous at32 and at91 ones. [This was contributed as a patch series for reviewability but has been squashed down to a single commit to help preserve both the history and bisectability. A small bugfix from Jukka is included.] Tested-by: Jukka Hynninen Signed-off-by: Sedji Gaouaou Signed-off-by: Mark Brown commit dc06102a0c8b5aa0dd7f9a40ce241e793c252a87 Author: Steve Sakoman Date: Thu Oct 30 21:55:24 2008 -0700 ASoC: Add support for Beagleboard Signed-off-by: Steve Sakoman Signed-off-by: Mark Brown commit 4e207873736adc55cbf92796eb4f26f280f84034 Author: Steve Sakoman Date: Thu Oct 30 21:50:13 2008 -0700 ASoC: Add support for Gumstix Overo Signed-off-by: Steve Sakoman Signed-off-by: Mark Brown commit cc17557e7876a92e11d4b406a367d28e103e42e6 Author: Steve Sakoman Date: Thu Oct 30 21:35:26 2008 -0700 ASoC: Add support for TWL4030 audio codec Signed-off-by: Steve Sakoman Signed-off-by: Mark Brown commit a376f30a95a796cde81d6dffde0f5243c8bd8f92 Author: Zhaolei Date: Fri Oct 31 17:43:04 2008 +0800 x86: avoid duplicate running of pud_offset and pmd_offset in one_md_table_init() Impact: simplify implementation, cleanup If !(pgd_val(*pgd) & _PAGE_PRESENT) in PAE mode, we need not get value of pmd_table again. Signed-off-by: Zhao Lei Signed-off-by: Ingo Molnar commit a26a2a27396c0a0877aa701f8f92d08ba550a6c9 Author: Steven Rostedt Date: Fri Oct 31 00:03:22 2008 -0400 ftrace: nmi safe code clean ups Impact: cleanup This patch cleans up the NMI safe code for dynamic ftrace as suggested by Andrew Morton. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9868ee63b896ee4d2ceb8c292e88d7f4e66caaf9 Author: Huang Ying Date: Fri Oct 31 09:48:15 2008 +0800 kexec/i386: setup kexec page table in C Impact: change the kexec bootstrap code implementation from assembly to C This patch transforms the kexec page tables setup code from assembler code to C code in machine_kexec_prepare. This improves readability and reduces code line number. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 92be3d6bdf2cb34972ab50e12ad4da1076e690da Author: Huang Ying Date: Fri Oct 31 09:48:08 2008 +0800 kexec/i386: allocate page table pages dynamically Impact: save .text size when kexec is built in but not loaded This patch adds an architecture specific struct kimage_arch into struct kimage. The pointers to page table pages used by kexec are added to struct kimage_arch. The page tables pages are dynamically allocated in machine_kexec_prepare instead of statically from BSS segment. This will save up to 20k memory when kexec image is not loaded. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 31498a01496ffca3b542bae72b8ec499cd9302db Author: Huang Ying Date: Fri Oct 31 09:48:02 2008 +0800 kexec/i386: remove PAGE_SIZE alignment from relocate_kernel Impact: save kernel .text by loosening kexec page alignment This patch removes PAGE_SIZE alignment from relocate_kernel(). Before kexec jump patches are merged, control page is mapped to relocate_kernel in kexec page tables, so relocate_kernel must be PAGE_SIZE aligned. Now, control page is mapped to identity mapped address, so relocate_kernel need not to be PAGE_SIZE aligned any more. This can reduce a few KB from kernel text segement. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 3685f25de1b0447fff381c420de1e25bd57c9efb Author: Harvey Harrison Date: Fri Oct 31 00:56:49 2008 -0700 misc: replace NIPQUAD() Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit be859405487324ed548f1ba11dc949b8230ab991 Author: Harvey Harrison Date: Fri Oct 31 00:56:28 2008 -0700 fs: replace NIPQUAD() Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 63779436ab4ad0867bcea53bf853b0004d7b895d Author: Harvey Harrison Date: Fri Oct 31 00:56:00 2008 -0700 drivers: replace NIPQUAD() Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 21454aaad30651ba0dcc16fe5271bc12ee21f132 Author: Harvey Harrison Date: Fri Oct 31 00:54:56 2008 -0700 net: replace NIPQUAD() in net/*/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 14d5e834f6b36667c7da56374645f99b6cf30814 Author: Harvey Harrison Date: Fri Oct 31 00:54:29 2008 -0700 net: replace NIPQUAD() in net/netfilter/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 673d57e72398edfedc93fb50ff58048077c9d587 Author: Harvey Harrison Date: Fri Oct 31 00:53:57 2008 -0700 net: replace NIPQUAD() in net/ipv4/ net/ipv6/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit cffee385d7f367e80b288abf4261256477f7760e Author: Harvey Harrison Date: Fri Oct 31 00:53:08 2008 -0700 net: replace NIPQUAD() in net/ipv4/netfilter/ Using NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u can be replaced with %pI4 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 77be155cba4e163e8bba9fd27222a8b6189ec4f7 Author: Jarek Poplawski Date: Fri Oct 31 00:47:01 2008 -0700 pkt_sched: Add peek emulation for non-work-conserving qdiscs. This patch adds qdisc_peek_dequeued() wrapper to emulate peek method with qdisc->dequeue() and storing "peeked" skb in qdisc->gso_skb until dequeuing. This is mainly for compatibility reasons not to break some strange configs because peeking is expected for non-work-conserving parent qdiscs to query work-conserving child qdiscs. This implementation requires using qdisc_dequeue_peeked() wrapper instead of directly calling qdisc->dequeue() for all qdiscs ever querried with qdisc->ops->peek() or qdisc_peek_dequeued(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 03c05f0d4bb0c267edf12d614025a40e33c5a6f9 Author: Jarek Poplawski Date: Fri Oct 31 00:46:19 2008 -0700 pkt_sched: Use qdisc->ops->peek() instead of ->dequeue() & ->requeue() Use qdisc->ops->peek() instead of ->dequeue() & ->requeue() pair. After this patch the only remaining user of qdisc->ops->requeue() is netem_enqueue(). Based on ideas of Herbert Xu, Patrick McHardy and David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 8e3af97899db433111287e07d5105189f56fe191 Author: Jarek Poplawski Date: Fri Oct 31 00:45:55 2008 -0700 pkt_sched: Add qdisc->ops->peek() implementation. Add qdisc->ops->peek() implementation for work-conserving qdiscs. With feedback from Patrick McHardy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 99c0db26797edb39cf83c8c5f8972067f5426b4e Author: Jarek Poplawski Date: Fri Oct 31 00:45:27 2008 -0700 pkt_sched: sch_generic: Add generic qdisc->ops->peek() implementation. With feedback from Patrick McHardy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 48a8f519e0fe22a5c98523286b2a120841a11dd5 Author: Patrick McHardy Date: Fri Oct 31 00:44:18 2008 -0700 pkt_sched: Add ->peek() methods for fifo, prio and SFQ qdiscs. From: Patrick McHardy Just as a demonstration how easy adding a peek operation to the work-conserving qdiscs actually is. It doesn't need to keep or change any internal state in many cases thanks to the guarantee that the packet will either be dequeued or, if another packet arrives, the upper qdisc will immediately ->peek again to reevaluate the state. (This is only slightly modified Patrick's patch.) Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 90d841fd0a5e02affd4e2bbdde4f710c61599281 Author: Jarek Poplawski Date: Fri Oct 31 00:43:45 2008 -0700 pkt_sched: sch_generic: Add Qdisc_ops peek() method. Add Qdisc_ops peek() method in order to replace requeuing. Based on ideas and patches of Herbert Xu, Patrick McHardy and David S. Miller. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit cc0fe83525d734bdd9c883b45eca6bb22f286daa Author: Alexey Dobriyan Date: Fri Oct 31 00:42:25 2008 -0700 xfrm: remove unused struct xfrm_policy::next Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit d5917a35ac0d8ebfb4a7d0db3b66054009bd4f37 Author: Alexey Dobriyan Date: Fri Oct 31 00:41:59 2008 -0700 xfrm: C99 for xfrm_dev_notifier Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit a1744d3bee19d3b9cbfb825ab316a101b9c9f109 Merge: 275f165... a4322266... Author: David S. Miller Date: Fri Oct 31 00:17:34 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/p54/p54common.c commit 57b41898c2ecd13a9d338b66ef23f66caab5c4e9 Author: Stephen Rothwell Date: Fri Oct 31 14:41:06 2008 +1100 ALSA: ASoC - restore removed variable declaration sound/soc/soc-dapm.c: In function 'snd_soc_dapm_sys_add': sound/soc/soc-dapm.c:828: error: 'ret' undeclared (first use in this function) Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai commit 275f165fa970174f8a98205529750e8abb6c0a33 Author: Arjan van de Ven Date: Mon Oct 20 21:42:39 2008 -0700 pci: use pci_ioremap_bar() in drivers/net Use the newly introduced pci_ioremap_bar() function in drivers/net. 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: Jeff Garzik commit 842e08bd6891bd78b4c3d2e0c4a94bebb32ab3ad Author: Atsushi Nemoto Date: Tue Oct 28 22:30:23 2008 +0900 tc35815: Define more Rx status bits Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 04ecb07241d8731b16490f10bec6ccedf5cfc792 Author: Divy Le Ray Date: Tue Oct 28 22:40:32 2008 -0700 cxgb3 - enable lro control through ethtool Implement ethtool's get_flags and set_flags methods. It enables ethtool to control the LRO settings. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit bc79fc8409b3dccbde072e8113cc1fb3fd876fc5 Author: Rafael J. Wysocki Date: Wed Oct 29 14:22:18 2008 -0700 e100: adapt to the reworked PCI PM Adapt the e100 driver to the reworked PCI PM * Use the observation that it is sufficient to call pci_enable_wake() once, unless it fails Signed-off-by: Rafael J. Wysocki Tested-by: Jeff Kirsher Acked-by: Jeff Kirsher Cc: Jesse Barnes Cc: Jeff Garzik Cc: Frans Pop Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6b1abbaefa31b84cc02bf4006ba8a63393de1136 Author: Adrian Bunk Date: Wed Oct 29 14:22:15 2008 -0700 The overdue eepro100 removal. Signed-off-by: Adrian Bunk Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5177b3240a6608fc0c9c05cc32f4855c6540f8d5 Author: Rafael J. Wysocki Date: Wed Oct 29 14:22:14 2008 -0700 skge: adapt skge to use reworked PCI PM Adapt the skge driver to the reworked PCI PM * Use device_set_wakeup_enable() and friends as needed * Remove an open-coded reference to the standard PCI PM registers * Use pci_prepare_to_sleep() and pci_back_from_sleep() in the ->suspend() and ->resume() callbacks * Use the observation that it is sufficient to call pci_enable_wake() once, unless it fails Tested on Asus L5D (Yukon-Lite rev 7). Signed-off-by: Rafael J. Wysocki Cc: Stephen Hemminger Cc: Jeff Garzik Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 91b777125175077fb74025608dba87f100586c62 Author: David Howells Date: Fri Oct 31 15:50:04 2008 +1100 CRED: Wrap task credential accesses in the XFS filesystem Wrap access to task credentials so that they can be separated more easily from the task_struct during the introduction of COW creds. Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id(). Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more sense to use RCU directly rather than a convenient wrapper; these will be addressed by later patches. Signed-off-by: David Howells Reviewed-by: James Morris Acked-by: Serge Hallyn commit b3acf29afda06c76774dc6df6246c37ae707836b Author: Steven Rostedt Date: Wed Oct 29 15:30:26 2008 -0400 ftrace, kbuild: condense recordmcount.pl parameter code Impact: cleanup Sam Ravnborg pointed out that I could condense the code for the parameters of recordmcount.pl by using an $(if ...) condition. Signed-off-by: Steven Rostedt Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit e1e302d8a9ab06ba8d7d5ec503d8996e6cf0eca4 Merge: 944ac42... 7f82f00... Author: Ingo Molnar Date: Fri Oct 31 00:38:21 2008 +0100 Merge branch 'linus' into tracing/ftrace commit c8db3fec5b02f4cefe441903fe1c142ff14e1771 Author: Eric Dumazet Date: Thu Oct 30 14:00:53 2008 -0700 udp: Should use spin_lock_bh()/spin_unlock_bh() in udp_lib_unhash() Spotted by Alexander Beregalov Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b807c3d0f8e39ed7cbbbe6da162650e305e8de15 Author: Steven Rostedt Date: Thu Oct 30 16:08:33 2008 -0400 ftrace: nmi update statistics Impact: add more debug info to /debugfs/tracing/dyn_ftrace_total_info This patch adds dynamic ftrace NMI update statistics to the /debugfs/tracing/dyn_ftrace_total_info stat file. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 17666f02b118099028522dfc3df00a235700e216 Author: Steven Rostedt Date: Thu Oct 30 16:08:32 2008 -0400 ftrace: nmi safe code modification Impact: fix crashes that can occur in NMI handlers, if their code is modified Modifying code is something that needs special care. On SMP boxes, if code that is being modified is also being executed on another CPU, that CPU will have undefined results. The dynamic ftrace uses kstop_machine to make the system act like a uniprocessor system. But this does not address NMIs, that can still run on other CPUs. One approach to handle this is to make all code that are used by NMIs not be traced. But NMIs can call notifiers that spread throughout the kernel and this will be very hard to maintain, and the chance of missing a function is very high. The approach that this patch takes is to have the NMIs modify the code if the modification is taking place. The way this works is that just writing to code executing on another CPU is not harmful if what is written is the same as what exists. Two buffers are used: an IP buffer and a "code" buffer. The steps that the patcher takes are: 1) Put in the instruction pointer into the IP buffer and the new code into the "code" buffer. 2) Set a flag that says we are modifying code 3) Wait for any running NMIs to finish. 4) Write the code 5) clear the flag. 6) Wait for any running NMIs to finish. If an NMI is executed, it will also write the pending code. Multiple writes are OK, because what is being written is the same. Then the patcher must wait for all running NMIs to finish before going to the next line that must be patched. This is basically the RCU approach to code modification. Thanks to Ingo Molnar for suggesting the idea, and to Arjan van de Ven for his guidence on what is safe and what is not. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d98d38f2014ab79f28c126ff175d034891f7aefc Author: Arjan van de Ven Date: Wed Oct 29 14:24:09 2008 -0700 mutex: improve header comment to be actually informative about the API Impact: improve documentation It's nice to say that mutex_trylock follows the spin_trylock convention. It's a lot nicer if the comment also says which that is... make it so. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit 1cbd8b3fdcf56a3c39a7596512095c9e33221fa1 Author: Jan Beulich Date: Thu Oct 30 10:45:36 2008 +0000 x86: add two missing unwind annotations Impact: improve debuginfo Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 8a1c8eb75be492e20003966652c9cd5ff57a559d Author: Aristeu Rozanski Date: Thu Oct 30 13:08:50 2008 -0400 x86, nmi-watchdog: update procfs nmi_watchdog file documentation v2 Impact: improve documentation This patch updates the /proc/sys/kernel/nmi_watchdog documentation. Updated: included Randy Dunlap's corrections. Signed-off-by: Aristeu Rozanski Acked-by: Randy Dunlap Signed-off-by: Ingo Molnar commit b062f841b569791d3054e975cd85f48562161565 Author: Cyrill Gorcunov Date: Thu Oct 30 19:16:46 2008 +0300 x86: nmi - add sensible names to nmi_watchdog boot param Impact: introduce nmi_watchdog=lapic and nmi_watchdog=ioapic aliases Add sensible names as "lapic" and "ioapic" to nmi_watchdog boot parameter. Sometimes it is not that easy to recall what exactly nmi_watchdog=1 does mean so we allow the using of symbolic names here. Old numeric values remain valid. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 7a5276889cfa96619bf863c87581005f46139986 Author: Jan Beulich Date: Thu Oct 30 10:38:24 2008 +0000 x86: simplify X86_MPPARSE config option Impact: cleanup Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 0763722d28b7b58fa1f9b83d3378efcde855b18a Author: Takashi Iwai Date: Thu Oct 30 17:53:19 2008 +0100 ALSA: ASoC - Fix a typo in Kconfig The last change to Kconfig ca53fb24dd21bff32c4b41b2be1035a1adfc0135 added a wrong item SND_SOC_AC97, which must be SND_SOC_AC97_CODEC. Signed-off-by: Takashi Iwai commit 0c235d1e837c142b7565814318b6ba5917d5ac32 Author: Timur Tabi Date: Thu Aug 7 11:22:32 2008 -0500 ASoC: Disable automatic volume control in the CS4270 sound driver Disable the automatic volume control feature of the CS4270 audio codec. This feature, which is enabled by default, causes volume change commands to be delayed. Sometimes the volume change happens after playback is started. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit ca53fb24dd21bff32c4b41b2be1035a1adfc0135 Author: Mark Brown Date: Wed Oct 22 22:41:11 2008 +0100 ASoC: Use finer grained dependencies in SND_SOC_ALL_CODECS Move the bus dependencies in SND_SOC_ALL_CODECS into the individual codec options rather than have them centrally. This allows the inclusion of AC97 codecs when testing on platforms with AC97 support and will also handle codecs on multi-function devices more gracefully. Signed-off-by: Mark Brown commit e775f6c0fb6ac25ab8845d4ad1e17b4b015487f0 Author: Mark Brown Date: Tue Oct 28 15:04:35 2008 +0000 ASoC: Do a warm reset after cold when resetting the WM9713 The WM9713 comes out of cold reset in low power mode so always requires a warm reset to bring up the AC97 link after a cold reset. Signed-off-by: Mark Brown commit 1b340bd7e444f20eb2df88c65fa34960c4736ee9 Author: Mark Brown Date: Wed Jul 30 19:12:04 2008 +0100 ASoC: Add PXA SSP support The SSP ports PXA series processors can be used to implement a variety of audio interface formats. This patch implements support for I2S, DSP A and DSP B modes on these ports. This patch is based on the previous out of tree pxa2xx-ssp driver (which was originally written by Liam Girdwood with updates from Philipp Zabel and Nicola Perrino) and pxa3xx-ssp driver (originally written by Seth Forsee based on the pxa2xx-ssp driver). Testing coverage is not complete currently. Tested-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 8b6a5a37f87a414ef8636e36ec75accb27bb7508 Author: Eric Paris Date: Wed Oct 29 17:06:46 2008 -0400 SELinux: check open perms in dentry_open not inode_permission Some operations, like searching a directory path or connecting a unix domain socket, make explicit calls into inode_permission. Our choices are to either try to come up with a signature for all of the explicit calls to inode_permission and do not check open on those, or to move the open checks to dentry_open where we know this is always an open operation. This patch moves the checks to dentry_open. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 219b93f5252086c8c8d647c77fc9e1377aab0c8d Author: Mark Brown Date: Tue Oct 28 13:02:31 2008 +0000 ASoC: Remove DAPM restriction on mixer control name lengths As well as ensuring that UI-relevant parts of control names don't get truncated in the DAPM code this avoids conflicts in long control names that differ only at the end of a long string. Signed-off-by: Mark Brown commit f24368c2fb524e911b831b86b5f0acfb38c70317 Author: Mark Brown Date: Tue Oct 21 21:45:08 2008 +0100 ASoC: Convert core to use standard debug print macros Signed-off-by: Mark Brown commit d45f6219d256b4e02f9ebee2e3911f4ea80bac70 Author: Mark Brown Date: Tue Oct 14 13:58:36 2008 +0100 ASoC: Fix handling of DAPM suspend work Since we can query the playback stream power state directly we do not need to infer if it is powered up from the timer being scheduled. Doing this avoids problems that previously existed with streams being incorrectly determined to be powered up caused when the timer is scheduled when streams are closed after being partially set up. Reported-by: Nobin Mathew Reported-by: Jukka Hynninen Signed-off-by: Mark Brown commit 12ef193d5817504621e503e78d641265f6a86ac4 Author: Troy Kisky Date: Mon Oct 13 17:42:14 2008 -0700 ASoC: Allow setting codec register with debugfs filesystem i.e. echo 6 59 >/sys/kernel/debug/soc-audio.0/codec_reg will set register 0x06 to a value of 0x59. Also, pop_time debugfs interface setup is moved so that it is setup in the same function as codec_reg Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 57917752f51bcead3bb6c83d74137fbe342504ec Author: Hiroshi Shimamoto Date: Wed Oct 29 18:46:40 2008 -0700 x86: signal: cosmetic unification of NR_restart_syscall Impact: cleanup Add #ifdef directive to unify NR_restart_syscall. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit cabf503588961d202a33b3fd872767e9f6abbef7 Author: Hiroshi Shimamoto Date: Wed Oct 29 18:46:07 2008 -0700 x86: signal: cosmetic unification of macros for setup_rt_frame() Impact: cleanup Add #ifdef directive for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 96bf84b71255b0ee4fcee91e9acd1b5e73030eaf Author: Hiroshi Shimamoto Date: Wed Oct 29 18:44:08 2008 -0700 x86: signal: cosmetic unification of signr_convert() Impact: cleanup Make signr_convert() same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 34f3a814eef8069a24e5b3ebcf27aba9dabac2ea Author: Li Zefan Date: Thu Oct 30 15:23:32 2008 +0800 sched: switch sched_features to seqfile Impact: cleanup So handling of sched_features read is simplified. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e3bd9ec5d8bfc90f9e1bd995677829e57a404061 Author: Ben Dooks Date: Thu Oct 30 10:14:39 2008 +0000 [ARM] S3C24XX: Move mci.h to arch/arm/plat-s3c24xx/include/plat Move mci.h to new position in arch/arm/plat-s3c24xx/include/plat ready to clean out old include directories. Signed-off-by: Ben Dooks commit 13622708725990b01fbc6d59d54d93820a726d7c Author: Ben Dooks Date: Thu Oct 30 10:14:38 2008 +0000 [ARM] S3C: Move plat/regs-spi.h to arch/arm/plat-s3c/include/plat. Move plat/regs-spi.h to arch/arm/plat-s3c/include/plat ready ready to clean out old include directories. Signed-off-by: Ben Dooks commit 57bd4b91a6cfc5bad4c5d829ef85293ea63643ea Author: Ben Dooks Date: Thu Oct 30 10:14:37 2008 +0000 [ARM] S3C24XX: Movev udc headers to arch/arm/plat-s3c24xx/include/plat Move the udc headers to the proper home in arch/arm/plat-s3c24xx/include/plat ready to clean out the old include directories. Signed-off-by: Ben Dooks commit f74c95c20bad8e183e41283475f68a3e7b247af4 Author: Ben Dooks Date: Thu Oct 30 10:14:36 2008 +0000 [ARM] S3C: Move regs-ac97.h to arch/arm/plat-s3c/include/plat. Move regs-ac97.h to arch/arm/plat-s3c/include/plat ready to clean out old include directories. Signed-off-by: Ben Dooks commit 7926b5a325f06745a1bed75bfb4ef814d0ae9d99 Author: Ben Dooks Date: Thu Oct 30 10:14:35 2008 +0000 [ARM] S3C: Move nand headers to arch/arm/plat-s3c/include/plat Move nand headers to arch/arm/plat-s3c/include/plat ready to clean out the old include directories. Signed-off-by: Ben Dooks commit e2cd00cfebd9a25e0e09712b0116ef18edc2cd98 Author: Ben Dooks Date: Thu Oct 30 10:14:34 2008 +0000 [ARM] S3C: Move regs-rtc.h to arch/arm/plat-s3c/include/plat Move regs-rtc.h to arch/arm/plat-s3c/include/plat ready to clean out old include directories. Signed-off-by: Ben Dooks commit 9498cb79463c9b2abb243a4b0c2ce3ac1853d5b0 Author: Ben Dooks Date: Thu Oct 30 10:14:33 2008 +0000 [ARM] S3C: Move i2c headers to arch/arm/plat-s3c/include/plat. Move the i2c headers to arch/arm/plat-s3c/include/plat ready to clean out the old include directories. Signed-off-by: Ben Dooks commit 180ee700ddfcc882d90410d979a4b3a804380ed2 Author: Ben Dooks Date: Thu Oct 30 10:14:32 2008 +0000 [ARM] S3C: Move regs-watchdog.h to arch/arm/plat-s3c/include/plat Move regs-watchdog.h to arch/arm/plat-s3c/include/plat ready to clean out the old include directories Signed-off-by: Ben Dooks commit 6bfb3d065f4c498c17a3a07f3dc08cedff53aff4 Author: David Chinner Date: Thu Oct 30 18:32:43 2008 +1100 [XFS] Fix race when looking up reclaimable inodes If we get a race looking up a reclaimable inode, we can end up with the winner proceeding to use the inode before it has been completely re-initialised. This is a Bad Thing. Fix the race by checking whether we are still initialising the inod eonce we have a reference to it, and if so wait for the initialisation to complete before continuing. While there, fix a leaked reference count in the same code when encountering an unlinked inode and we are not doing a lookup for a create operation. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32429a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit e0b8e8b65d578f5d5538465dff8392cf02e1cc5d Author: Tim Shimmin Date: Thu Oct 30 18:30:48 2008 +1100 [XFS] remove restricted chown parameter from xfs linux On Linux all filesystems are supposed to be operating under Posix' restricted chown. Restricted chown means it restricts chown to the owner unless you have CAP_FOWNER. NOTE: that 2 files outside of fs/xfs have been modified too for this change. Reviewed-by: Dave Chinner SGI-PV: 988919 SGI-Modid: xfs-linux-melb:xfs-kern:32413a Signed-off-by: Tim Shimmin Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit f3f0d7b026ae34d6ed5ae67cd4dd5909f9cd70a5 Author: Tim Shimmin Date: Thu Oct 30 18:30:09 2008 +1100 [XFS] remove restricted chown parameter from xfs linux On Linux all filesystems are supposed to be operating under Posix' restricted chown. Restricted chown means it restricts chown to the owner unless you have CAP_FOWNER. NOTE: that 2 files outside of fs/xfs have been modified too for this change. Reviewed-by: Dave Chinner SGI-PV: 988919 SGI-Modid: 2.6.x-xfs-melb:linux:32413b Signed-off-by: Tim Shimmin Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit ea5a3dc8356bf1cf27bab9a5a0da5dfbbb82013d Author: Christoph Hellwig Date: Thu Oct 30 18:27:48 2008 +1100 [XFS] kill sys_cred capable_cred has been unused for a while so we can kill it and sys_cred. That also means the cred argument to xfs_setattr and xfs_change_file_space can be removed now. SGI-PV: 988918 SGI-Modid: xfs-linux-melb:xfs-kern:32412a Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 7ee49acfe54883f16d28d9486b789431a5804d18 Author: David Chinner Date: Thu Oct 30 18:26:51 2008 +1100 [XFS] correctly select first log item to push Under heavy metadata load we are seeing log hangs. The AIL has items in it ready to be pushed, and they are within the push target window. However, we are not pushing them when the last pushed LSN is less than the LSN of the first log item on the AIL. This is a regression introduced by the AIL push cursor modifications. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32409a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 9ed0451ee0a13469f7b38e4ced8974036f6d114f Author: Christoph Hellwig Date: Thu Oct 30 18:26:04 2008 +1100 [XFS] free partially initialized inodes using destroy_inode To make sure we free the security data inodes need to be freed using the proper VFS helper (which we also need to export for this). We mark these inodes bad so we can skip the flush path for them. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32398a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 087e3b0460c367d0f4a5b71d7b013968ae23b588 Author: Christoph Hellwig Date: Thu Oct 30 18:24:37 2008 +1100 Inode: export symbol destroy_inode To make sure we free the security data inodes need to be freed using the proper VFS helper (which we also need to export for this). We mark these inodes bad so we can skip the flush path for them. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit c679eef0520eb3c2c731fce505e61b8ef9469aac Author: Christoph Hellwig Date: Thu Oct 30 18:04:13 2008 +1100 [XFS] stop using xfs_itobp in xfs_bulkstat xfs_bulkstat only wants the dinode, offset and buffer from a given inode number. Instead of using xfs_itobp on a fake inode which is complicated and currently leads to leaks of the security data just use xfs_inotobp which is designed to do exactly the kind of lookup xfs_bulkstat wants. The only thing that's missing in xfs_inotobp is a flags paramter that let's us pass down XFS_IMAP_BULKSTAT, but that can easily added. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32397a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 455486b9ccdd0a1d7432a03302f549b1c917c181 Author: David Chinner Date: Thu Oct 30 18:03:14 2008 +1100 [XFS] avoid all reclaimable inodes in xfs_sync_inodes_ag If we are syncing data in xfs_sync_inodes_ag(), the VFS inode must still be referencable as the dirty data state is carried on the VFS inode. hence if we can't get a reference via igrab(), the inode must be in reclaim which implies that it has no dirty data attached. Leave such inodes to the reclaim code to flush the dirty inode state to disk and so avoid attempting to access the VFS inode when it may not exist in xfs_sync_inodes_ag(). Version 4: o don't reference linux inode until after igrab() succeeds Version 3: o converted unlock/rele to an xfs_iput() call. Version 2: o change igrab logic to be more linear o remove initial reclaimable inode check now that we are using igrab() failure to find reclaimable inodes o assert that igrab failure occurs only on reclaimable inodes o clean up inode locking - only grab the iolock if we are doing a SYNC_DELWRI call and we have a dirty inode. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32391a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Peter Leckie Signed-off-by: Lachlan McIlroy commit 56e73ec47d749047f441e6b9d60d964535d31c3b Author: David Chinner Date: Thu Oct 30 17:55:27 2008 +1100 [XFS] Can't lock inodes in radix tree preload region When we are inside a radix tree preload region, we cannot sleep. Recently we moved the inode locking inside the preload region for the inode radix tree. Fix that, and fix a missed unlock in another error path in the same code at the same time. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32385a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2b7035fd7473c799ca3372092d72c768c7db329d Author: Christoph Hellwig Date: Thu Oct 30 17:55:18 2008 +1100 [XFS] Trivial xfs_remove comment fixup The dp to ip comment should be for the unconditional xfs_droplink call, and the "." link obviously only exists for directories, so it should be in the is_dir conditional. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32374a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 1ec7944beb6f3c29f1e58a66422130133727e9e1 Author: Christoph Hellwig Date: Thu Oct 30 17:55:08 2008 +1100 [XFS] fix biosize option iosizelog shouldn't be the same as iosize but the logarithm of it. Then again the current biosize option doesn't make much sense to me as it doesn't set the preferred I/O size as mentioned in the comment next to it but rather the allocation size and thus is identical to the allocsize option (except for the missing logarithm). It's also not documented in Documentation/filesystems/xfs.txt or the mount manpage. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32373a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 469fc23d5dd172665c69099db776c39bb1b70f92 Author: Christoph Hellwig Date: Thu Oct 30 17:54:57 2008 +1100 [XFS] fix the noquota mount option Noquota should clear all mount options, and not just user and group quota. Probably doesn't matter very much in real life. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32372a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 9d565ffa33d574c2a22442f9d95ca2bd0be7cc42 Author: Christoph Hellwig Date: Thu Oct 30 17:53:24 2008 +1100 [XFS] kill struct xfs_mount_args No need to parse the mount option into a structure before applying it to struct xfs_mount. The content of xfs_start_flags gets merged into xfs_parseargs. Calls inbetween don't care and can use mount members instead of the args struct. This patch uncovered that the mount option for shared filesystems wasn't ever exposed on Linux. The code to handle it is #if 0'ed in this patch pending a decision on this feature. I'll send a writeup about it to the list soon. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32371a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 5a792c4579af8466246408e38fd4eff45d8493b8 Author: David Chinner Date: Thu Oct 30 17:40:09 2008 +1100 [XFS] XFS: Check for valid transaction headers in recovery When we are about to add a new item to a transaction in recovery, we need to check that it is valid first. Currently we just assert that header magic number matches, but in production systems that is not present and we add a corrupted transaction to the list to be processed. This results in a kernel oops later when processing the corrupted transaction. Instead, if we detect a corrupted transaction, abort recovery and leave the user to clean up the mess that has occurred. SGI-PV: 988145 SGI-Modid: xfs-linux-melb:xfs-kern:32356a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 783a2f656f9674c31d4019708a94af93fa1d1c22 Author: David Chinner Date: Thu Oct 30 17:39:58 2008 +1100 [XFS] Finish removing the mount pointer from the AIL API Change all the remaining AIL API functions that are passed struct xfs_mount pointers to pass pointers directly to the struct xfs_ail being used. With this conversion, all external access to the AIL is via the struct xfs_ail. Hence the operation and referencing of the AIL is almost entirely independent of the xfs_mount that is using it - it is now much more tightly tied to the log and the items it is tracking in the log than it is tied to the xfs_mount. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32353a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit fc1829f34d30899701dfd5890030d39e13e1f47d Author: David Chinner Date: Thu Oct 30 17:39:46 2008 +1100 [XFS] Add ail pointer into log items Add an xfs_ail pointer to log items so that the log items can reference the AIL directly during callbacks without needed a struct xfs_mount. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32352a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a9c21c1b9deaced836034e77fe25fe0b55c21f02 Author: David Chinner Date: Thu Oct 30 17:39:35 2008 +1100 [XFS] Given the log a pointer to the AIL When we need to go from the log to the AIL, we have to go via the xfs_mount. Add a xfs_ail pointer to the log so we can go directly to the AIL associated with the log. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32351a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit c7e8f268278a292d3823b4352182fa7755a71410 Author: David Chinner Date: Thu Oct 30 17:39:23 2008 +1100 [XFS] Move the AIL lock into the struct xfs_ail Bring the ail lock inside the struct xfs_ail. This means the AIL can be entirely manipulated via the struct xfs_ail rather than needing both the struct xfs_mount and the struct xfs_ail. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32350a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 7b2e2a31f5c23b5f028af8c895137b4c512cc1c8 Author: David Chinner Date: Thu Oct 30 17:39:12 2008 +1100 [XFS] Allow 64 bit machines to avoid the AIL lock during flushes When copying lsn's from the log item to the inode or dquot flush lsn, we currently grab the AIL lock. We do this because the LSN is a 64 bit quantity and it needs to be read atomically. The lock is used to guarantee atomicity for 32 bit platforms. Make the LSN copying a small function, and make the function used conditional on BITS_PER_LONG so that 64 bit machines don't need to take the AIL lock in these places. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32349a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 5b00f14fbd60d42441f78c0e414a539cbfba5cb9 Author: David Chinner Date: Thu Oct 30 17:39:00 2008 +1100 [XFS] move the AIl traversal over to a consistent interface With the new cursor interface, it makes sense to make all the traversing code use the cursor interface and make the old one go away. This means more of the AIL interfacing is done by passing struct xfs_ail pointers around the place instead of struct xfs_mount pointers. We can replace the use of xfs_trans_first_ail() in xfs_log_need_covered() as it is only checking if the AIL is empty. We can do that with a call to xfs_trans_ail_tail() instead, where a zero LSN returned indicates and empty AIL... SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32348a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 27d8d5fe0ef9daeaafbdd32b14b32a2211930062 Author: David Chinner Date: Thu Oct 30 17:38:39 2008 +1100 [XFS] Use a cursor for AIL traversal. To replace the current generation number ensuring sanity of the AIL traversal, replace it with an external cursor that is linked to the AIL. Basically, we store the next item in the cursor whenever we want to drop the AIL lock to do something to the current item. When we regain the lock. the current item may already be free, so we can't reference it, but the next item in the traversal is already held in the cursor. When we move or delete an object, we search all the active cursors and if there is an item match we clear the cursor(s) that point to the object. This forces the traversal to restart transparently. We don't invalidate the cursor on insert because the cursor still points to a valid item. If the intem is inserted between the current item and the cursor it does not matter; the traversal is considered to be past the insertion point so it will be picked up in the next traversal. Hence traversal restarts pretty much disappear altogether with this method of traversal, which should substantially reduce the overhead of pushing on a busy AIL. Version 2 o add restart logic o comment cursor interface o minor cleanups SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32347a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 82fa9012458d867936d7bf130e6e14bdebc6873c Author: David Chinner Date: Thu Oct 30 17:38:26 2008 +1100 [XFS] Allocate the struct xfs_ail Rather than embedding the struct xfs_ail in the struct xfs_mount, allocate it during AIL initialisation. Add a back pointer to the struct xfs_ail so that we can pass around the xfs_ail and still be able to access the xfs_mount if need be. This is th first step involved in isolating the AIL implementation from the surrounding filesystem code. SGI-PV: 988143 SGI-Modid: xfs-linux-melb:xfs-kern:32346a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a7444053fb3ebd3d905e3c7a7bd5ea80a54b083a Author: David Chinner Date: Thu Oct 30 17:38:12 2008 +1100 [XFS] Account for allocated blocks when expanding directories When we create a directory, we reserve a number of blocks for the maximum possible expansion of of the directory due to various btree splits, freespace allocation, etc. Unfortunately, each allocation is not reflected in the total number of blocks still available to the transaction, so the maximal reservation is used over and over again. This leads to problems where an allocation group has only enough blocks for *some* of the allocations required for the directory modification. After the first N allocations, the remaining blocks in the allocation group drops below the total reservation, and subsequent allocations fail because the allocator will not allow the allocation to proceed if the AG does not have the enough blocks available for the entire allocation total. This results in an ENOSPC occurring after an allocation has already occurred. This results in aborting the directory operation (leaving the directory in an inconsistent state) and cancelling a dirty transaction, which results in a filesystem shutdown. Avoid the problem by reflecting the number of blocks allocated in any directory expansion in the total number of blocks available to the modification in progress. This prevents a directory modification from being aborted part way through with an ENOSPC. SGI-PV: 988144 SGI-Modid: xfs-linux-melb:xfs-kern:32340a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 8c38ab032094ff1d903c79db689607b1ebae13ca Author: David Chinner Date: Thu Oct 30 17:38:00 2008 +1100 [XFS] Prevent looping in xfs_sync_inodes_ag If the last block of the AG has inodes in it and the AG is an exactly power-of-2 size then the last inode in the AG points to the last block in the AG. If we try to find the next inode in the AG by adding one to the inode number, we increment the inode number past the size of the AG. The result is that the macro XFS_INO_TO_AGINO() will strip the AG portion of the inode number and return an inode number of zero. That is, instead of terminating the lookup loop because we hit the inode number went outside the valid range for the AG, the search index returns to zero and we start traversing the radix tree from the start again. This results in an endless loop in xfs_sync_inodes_ag(). Fix it be detecting if the new search index decreases as a result of incrementing the current inode number. That indicate an overflow and hence that we have finished processing the AG so we can terminate the loop. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32335a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 116545130cbc5214523c2f994a11c81ef9eb9186 Author: David Chinner Date: Thu Oct 30 17:37:49 2008 +1100 [XFS] kill deleted inodes list Now that the deleted inodes list is unused, kill it. This also removes the i_reclaim list head from the xfs_inode, shrinking it by two pointers. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32334a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 7a3be02baef7bdec43965103441bde5de4dd8601 Author: David Chinner Date: Thu Oct 30 17:37:37 2008 +1100 [XFS] use the inode radix tree for reclaiming inodes Use the reclaim tag to walk the radix tree and find the inodes under reclaim. This was the only user of the deleted inode list. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32333a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 396beb85311689e38634926058d9a3bb0576ca8a Author: David Chinner Date: Thu Oct 30 17:37:26 2008 +1100 [XFS] mark inodes for reclaim via a tag in the inode radix tree Prepare for removing the deleted inode list by marking inodes for reclaim in the inode radix trees so that we can use the radix trees to find reclaimable inodes. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32331a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 1dc3318ae1c1cc11f9fb8279a806de448e2b90e8 Author: David Chinner Date: Thu Oct 30 17:37:15 2008 +1100 [XFS] rename inode reclaim functions The function names xfs_finish_reclaim and xfs_finish_reclaim_all are not very descriptive of what they are reclaiming. Rename to xfs_reclaim_inode[s] to match the xfs_sync_inodes() function. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32330a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit fce08f2f3bd0d08feeb4cea70e44aa3471d9bb4c Author: David Chinner Date: Thu Oct 30 17:37:03 2008 +1100 [XFS] move inode reclaim functions to xfs_sync.c Background inode reclaim is run by the xfssyncd. Move the reclaim worker functions to be close to the sync code as the are very similar in structure and are both run from the same background thread. SGI-PV: 988142 SGI-Modid: xfs-linux-melb:xfs-kern:32329a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 493dca6178cf4a6ae2a16c602d6cb455bb7d31bd Author: Lachlan McIlroy Date: Thu Oct 30 17:36:52 2008 +1100 [XFS] Fix build warning - xfs_fs_alloc_inode() needs a return statement SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32325a Signed-off-by: Lachlan McIlroy commit 99fa8cb3c580d4445fe8fc239454e8f37a3b6847 Author: David Chinner Date: Thu Oct 30 17:36:40 2008 +1100 [XFS] Prevent use-after-free caused by synchronous inode reclaim With the combined linux and XFS inode, we need to ensure that the combined structure is not freed before the generic code is finished with the inode. As it turns out, there is a case where the XFS inode is freed before the linux inode - when xfs_reclaim() is called from ->clear_inode() on a clean inode, the xfs inode is freed during that call. The generic code references the inode after the ->clear_inode() call, so this is a use after free situation. Fix the problem by moving the xfs_reclaim() call to ->destroy_inode() instead of in ->clear_inode(). This ensures the combined inode structure is not freed until after the generic code has finished with it. SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32324a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit bf904248a2adb3f3be4eb4fb1837ce3bb28cca76 Author: David Chinner Date: Thu Oct 30 17:36:14 2008 +1100 [XFS] Combine the XFS and Linux inodes To avoid issues with different lifecycles of XFS and Linux inodes, embedd the linux inode inside the XFS inode. This means that the linux inode has the same lifecycle as the XFS inode, even when it has been released by the OS. XFS inodes don't live much longer than this (a short stint in reclaim at most), so there isn't significant memory usage penalties here. Version 3 o kill xfs_icount() Version 2 o remove unused commented out code from xfs_iget(). o kill useless cast in VFS_I() SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32323a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 8290c35f87304a6b73d4fd17b03580b4f7425de8 Author: David Chinner Date: Thu Oct 30 17:35:24 2008 +1100 Inode: Allow external list initialisation To allow XFS to combine the XFS and linux inodes into a single structure, we need to drive inode lookup from the XFS inode cache, not the generic inode cache. This means that we need initialise a struct inode from a context outside alloc_inode() as it is no longer used by XFS. After inode allocation and initialisation, we need to add the inode to the superblock list, the in-use list, hash it and do some accounting. This all needs to be done with the inode_lock held and there are already several places in fs/inode.c that do this list manipulation. Factor out the common code, add a locking wrapper and export the function so ti can be called from XFS. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2cb1599f9b2ecdd7a9e59feeee647eb258966839 Author: David Chinner Date: Thu Oct 30 17:32:23 2008 +1100 Inode: Allow external initialisers To allow XFS to combine the XFS and linux inodes into a single structure, we need to drive inode lookup from the XFS inode cache, not the generic inode cache. This means that we need initialise a struct inode from a context outside alloc_inode() as it is no longer used by XFS. Factor and export the struct inode initialisation code from alloc_inode() to inode_init_always() as a counterpart to inode_init_once(). i.e. we have to call this init function for each inode instantiation (always), as opposed inode_init_once() which is only called on slab object instantiation (once). Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 94b97e39b0c983e86f0028c456dcf213abc722a0 Author: David Chinner Date: Thu Oct 30 17:21:30 2008 +1100 [XFS] Never call mark_inode_dirty_sync() directly Once the Linux inode and the XFS inode are combined, we cannot rely on just check if the linux inode exists as a method of determining if it is valid or not. Hence we should always call xfs_mark_inode_dirty_sync() instead as it does the correct checks to determine if the liinux inode is in a valid state or not. SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32318a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 6441e549157b749bae003cce70b4c8b62e4801fa Author: David Chinner Date: Thu Oct 30 17:21:19 2008 +1100 [XFS] factor xfs_iget_core() into hit and miss cases There are really two cases in xfs_iget_core(). The first is the cache hit case, the second is the miss case. They share very little code, and hence can easily be factored out into separate functions. This makes the code much easier to understand and subsequently modify. SGI-PV: 988141 SGI-Modid: xfs-linux-melb:xfs-kern:32317a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 3471394ba56f44761ce1c300f139478dbfb49d4a Author: Christoph Hellwig Date: Thu Oct 30 17:21:10 2008 +1100 [XFS] fix instant oops with tracing enabled We can only read inode->i_count if the inode is actually there and not a NULL pointer. This was introduced in one of the recent sync patches. SGI-PV: 988255 SGI-Modid: xfs-linux-melb:xfs-kern:32315a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 76bf105cb16da6c847a13a3c77dc962ba1081713 Author: David Chinner Date: Thu Oct 30 17:16:21 2008 +1100 [XFS] Move remaining quiesce code. With all the other filesystem sync code it in xfs_sync.c including the data quiesce code, it makes sense to move the remaining quiesce code to the same place. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32312a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a4e4c4f4a8f9376158f8181a75285091f52a79e3 Author: David Chinner Date: Thu Oct 30 17:16:11 2008 +1100 [XFS] Kill xfs_sync() There are no more callers to xfs_sync() now, so remove the function altogther. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32311a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit cb56a4b995d44b7990ca3acd18db571eedd0649f Author: David Chinner Date: Thu Oct 30 17:16:00 2008 +1100 [XFS] Kill SYNC_CLOSE SYNC_CLOSE is only ever used and checked in conjunction with SYNC_WAIT, and this only done in one spot. The only thing this does is make XFS_bflush() calls to the data buftargs. This will happen very shortly afterwards the xfs_sync() call anyway in the unmount path via the xfs_close_devices(), so this code is redundant and can be removed. That only user of SYNC_CLOSE is now gone, so kill the flag completely. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32310a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit e9f1c6ee12955fd8657f6f0f9a3d09112b1f1fdd Author: David Chinner Date: Thu Oct 30 17:15:50 2008 +1100 [XFS] make SYNC_DELWRI no longer use xfs_sync Continue to de-multiplex xfs_sync be replacing all SYNC_DELWRI callers with direct calls functions that do the work. Isolate the data quiesce case to a function in xfs_sync.c. Isolate the FSDATA case with explicit calls to xfs_sync_fsdata(). Version 2: o Push delwri related log forces into xfs_sync_inodes(). SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32309a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit be97d9d5577f6c8a36588e2f262c772c5422b128 Author: David Chinner Date: Thu Oct 30 17:15:38 2008 +1100 [XFS] make SYNC_ATTR no longer use xfs_sync Continue to de-multiplex xfs_sync be replacing all SYNC_ATTR callers with direct calls xfs_sync_inodes(). Add an assert into xfs_sync() to ensure we caught all the SYNC_ATTR callers. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32308a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit aacaa880bfac8fecd44b279a49688643890358f5 Author: David Chinner Date: Thu Oct 30 17:15:29 2008 +1100 [XFS] xfssyncd: don't call xfs_sync Start de-multiplexing xfs_sync() by making xfs_sync_worker() call the specific sync functions it needs. This is only a small, unique subset of the entire xfs_sync() code so is easier to follow. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32307a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit dfd837a9eb79de4e50323a6f4e1ad8138d806cb7 Author: David Chinner Date: Thu Oct 30 17:15:21 2008 +1100 [XFS] kill xfs_syncsub Now that the only caller is xfs_sync(), merge the two together as it makes no sense to keep them separate. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32306a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2030b5aba8a4bcaca5aca85968514fa58207d3bd Author: David Chinner Date: Thu Oct 30 17:15:12 2008 +1100 [XFS] use xfs_sync_inodes rather than xfs_syncsub Kill the unused arg in xfs_syncsub() and xfs_sync_inodes(). For callers of xfs_syncsub() that only want to flush inodes, replace xfs_syncsub() with direct calls to xfs_sync_inodes() as that is all that is being done with the specific flags being passed in. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32305a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit bc60a99323b3ec628273b5fa998285c87d464ca6 Author: David Chinner Date: Thu Oct 30 17:15:03 2008 +1100 [XFS] Use struct inodes instead of vnodes to kill vn_grab With the sync code relocated to the linux-2.6 directory we can use struct inodes directly. If we do the same thing for the quota release code, we can remove vn_grab altogether. While here, convert the VN_BAD() checks to is_bad_inode() so we can remove vnodes entirely from this code. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32304a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2af75df7be7ca86965bf73766f827575d1c26fbd Author: Christoph Hellwig Date: Thu Oct 30 17:14:53 2008 +1100 [XFS] split out two helpers from xfs_syncsub Split out two helpers from xfs_syncsub for the dummy log commit and the superblock writeout. SGI-PV: 988140 SGI-Modid: xfs-linux-melb:xfs-kern:32303a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 4e8938feba770b583fb13d249c17943961731a3e Author: Christoph Hellwig Date: Thu Oct 30 17:14:43 2008 +1100 [XFS] Move XFS_BMAP_SANITY_CHECK out of line. Move the XFS_BMAP_SANITY_CHECK macro out of line and make it a properly typed function. Also pass the xfs_buf for the btree block instead of just the btree block header, as we will need some additional information for it to implement CRC checking of btree blocks. SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32301a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 7cc95a821df8f09a5d37a923cf8c3a7c3ee00c29 Author: Christoph Hellwig Date: Thu Oct 30 17:14:34 2008 +1100 [XFS] Always use struct xfs_btree_block instead of short / longform structures. Always use the generic xfs_btree_block type instead of the short / long structures. Add XFS_BTREE_SBLOCK_LEN / XFS_BTREE_LBLOCK_LEN defines for the length of a short / long form block. The rationale for this is that we will grow more btree block header variants to support CRCs and other RAS information, and always accessing them through the same datatype with unions for the short / long form pointers makes implementing this much easier. SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32300a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 136341b41ad4883bd668120f727a52c42331fe8a Author: Christoph Hellwig Date: Thu Oct 30 17:11:40 2008 +1100 [XFS] cleanup btree record / key / ptr addressing macros. Replace the generic record / key / ptr addressing macros that use cpp token pasting with simpler macros that do the job for just one given btree type. The new macros lose the cur argument and thus can be used outside the core btree code, but also gain an xfs_mount * argument to allow for checking the CRC flag in the near future. Note that many of these macros aren't actually used in the kernel code, but only in userspace (mostly in xfs_repair). SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32295a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 6c7699c047c50403149ad91331dd39de47dea070 Author: David Chinner Date: Thu Oct 30 17:11:29 2008 +1100 [XFS] remove the mount inode list Now we've removed all users of the mount inode list, we can kill it. This reduces the size of the xfs_inode by 2 pointers. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32293a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 60197e8df364df326dcbb987519f367ad0ee1a11 Author: Christoph Hellwig Date: Thu Oct 30 17:11:19 2008 +1100 [XFS] Cleanup maxrecs calculation. Clean up the way the maximum and minimum records for the btree blocks are calculated. For the alloc and inobt btrees all the values are pre-calculated in xfs_mount_common, and we switch the current loop around the ugly generic macros that use cpp token pasting to generate type names to two small helpers in normal C code. For the bmbt and bmdr trees these helpers also exist, but can be called during runtime, too. Here we also kill various macros dealing with them and inline the logic into the get_minrecs / get_maxrecs / get_dmaxrecs methods in xfs_bmap_btree.c. Note that all these new helpers take an xfs_mount * argument which will be needed to determine the size of a btree block once we add support for extended btree blocks with CRCs and other RAS information. SGI-PV: 988146 SGI-Modid: xfs-linux-melb:xfs-kern:32292a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 5b4d89ae0f5ae45c7fa1dfc616fd2bb8634bb7b7 Author: David Chinner Date: Thu Oct 30 17:08:03 2008 +1100 [XFS] Traverse inode trees when releasing dquots Make releasing all inode dquots traverse the per-ag inode radix trees rather than the mount inode list. This removes another user of the mount inode list. Version 3 o fix comment relating to avoiding trying to release the quota inodes and those in reclaim. Version 2 o add comment explaining use of gang lookups for a single inode o use IRELE, not VN_RELE o move check for ag initialisation to caller. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32291a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 683a897080a053733778b36398186cb1b22c377f Author: David Chinner Date: Thu Oct 30 17:07:29 2008 +1100 [XFS] Use the inode tree for finding dirty inodes Update xfs_sync_inodes to walk the inode radix tree cache to find dirty inodes. This removes a huge bunch of nasty, messy code for traversing the mount inode list safely and removes another user of the mount inode list. Version 3 o rediff against new linux-2.6/xfs_sync.c code Version 2 o add comment explaining use of gang lookups for a single inode o use IRELE, not VN_RELE o move check for ag initialisation to caller. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32290a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 2f8a3ce1c20f20e6494cdb77fed76bc474ca3ca5 Author: David Chinner Date: Thu Oct 30 17:07:20 2008 +1100 [XFS] don't block in xfs_qm_dqflush() during async writeback. Normally dquots are written back via delayed write mechanisms. They are flushed to their backing buffer by xfssyncd, which is then pushed out by either AIL or xfsbufd flushing. The flush from the xfssyncd is supposed to be non-blocking, but xfs_qm_dqflush() always waits for pinned duots, which means that it will block for the length of time it takes to do a synchronous log force. This causes unnecessary extra log I/O to be issued whenever we try to flush a busy dquot. Avoid the log forces and blocking xfssyncd by making xfs_qm_dqflush() pay attention to what type of sync it is doing when it sees a pinned dquot and not waiting when doing non-blocking flushes. SGI-PV: 988147 SGI-Modid: xfs-linux-melb:xfs-kern:32287a Signed-off-by: David Chinner Signed-off-by: Peter Leckie Signed-off-by: Lachlan McIlroy commit 75c68f411b1242c8fdaf731078fdd4e77b14981d Author: David Chinner Date: Thu Oct 30 17:06:28 2008 +1100 [XFS] Remove xfs_iflush_all and clean up xfs_finish_reclaim_all() xfs_iflush_all() walks the m_inodes list to find inodes that need reclaiming. We already have such a list - the m_del_inodes list. Replace xfs_iflush_all() with a call to xfs_finish_reclaim_all() and clean up xfs_finish_reclaim_all() to handle the different flush modes now needed. Originally based on a patch from Christoph Hellwig. Version 3 o rediff against new linux-2.6/xfs_sync.c code Version 2 o revert xfs_syncsub() inode reclaim behaviour back to original code o xfs_quiesce_fs() should use XFS_IFLUSH_DELWRI_ELSE_ASYNC, not XFS_IFLUSH_ASYNC, to prevent change of behaviour. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32284a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a167b17e899a930758506bbc18748078d6fd8c89 Author: David Chinner Date: Thu Oct 30 17:06:18 2008 +1100 [XFS] move xfssyncd code to xfs_sync.c Move all the xfssyncd code to the new xfs_sync.c file. This places it closer to the actual code that it interacts with, rather than just being associated with high level VFS code. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32283a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit fe4fa4b8e463fa5848ef9e86ed75d27501d0da1e Author: David Chinner Date: Thu Oct 30 17:06:08 2008 +1100 [XFS] move sync code to its own file The sync code in XFS is spread around several files. While it used to make sense to have such a distribution, the code is about to be cleaned up and so centralising it in one spot as the first step makes sense. SGI-PV: 988139 SGI-Modid: xfs-linux-melb:xfs-kern:32282a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 34519daae6778d129d56688f75ade27f6011bac9 Author: Barry Naujok Date: Thu Oct 30 17:05:58 2008 +1100 [XFS] Show buffer address with debug hexdump on corruption SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32233a Signed-off-by: Barry Naujok Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 89b2839319cb0c0364d55dc6fd6d3838e864ab54 Author: Barry Naujok Date: Thu Oct 30 17:05:49 2008 +1100 [XFS] Check agf_btreeblks is valid when reading in the AGF SGI-PV: 987683 SGI-Modid: xfs-linux-melb:xfs-kern:32232a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 847fff5ca881670ca8ec617afeb943950f0c804b Author: Barry Naujok Date: Thu Oct 30 17:05:38 2008 +1100 [XFS] Sync up kernel and user-space headers SGI-PV: 986558 SGI-Modid: xfs-linux-melb:xfs-kern:32231a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 24ee0e49c9cce23acb1758728cb09e8d2b53bd33 Author: Lachlan McIlroy Date: Thu Oct 30 17:05:26 2008 +1100 [XFS] Make xfs_btree_check_ptr() debug-only code. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32224a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit d1de802155341ab63e64d37c58c61d6f358bb3ad Author: Peter Leckie Date: Thu Oct 30 17:05:18 2008 +1100 [XFS] Fix build brakage from patch "Clean up dquot pincount code" This is a fix for patch " Clean up dquot pincount code" which introduced a build breakage due to a missing & in xfs_qm_dquot_logitem_pin. SGI-PV: 986789 SGI-Modid: xfs-linux-melb:xfs-kern:32221a Signed-off-by: Peter Leckie Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit bc3048e3cd3806ccfd5b16b1a30e5d6013abbd3d Author: Peter Leckie Date: Thu Oct 30 17:05:04 2008 +1100 [XFS] Clean up dquot pincount code. This is a code cleanup and optimization that removes a per mount point spinlock from the quota code and cleans up the code. The patch changes the pincount from being an int protected by a spinlock to an atomic_t allowing the pincount to be manipulated without holding the spinlock. This cleanup also protects against random wakup's of both the aild and xfssyncd by reevaluating the pincount after been woken. Two latter patches will address the Spurious wakeups. SGI-PV: 986789 SGI-Modid: xfs-linux-melb:xfs-kern:32215a Signed-off-by: Peter Leckie Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit d112f2984592acb774187b3adddc107fb0825500 Author: Lachlan McIlroy Date: Thu Oct 30 16:59:06 2008 +1100 [XFS] Wait for all I/O on truncate to zero file size It's possible to have outstanding xfs_ioend_t's queued when the file size is zero. This can happen in the direct I/O path when a direct I/O write fails due to ENOSPC. In this case the xfs_ioend_t will still be queued (ie xfs_end_io_direct() does not know that the I/O failed so can't force the xfs_ioend_t to be flushed synchronously). When we truncate a file on unlink we don't know to wait for these xfs_ioend_ts and we can have a use-after-free situation if the inode is reclaimed before the xfs_ioend_t is finally processed. As was suggested by Dave Chinner lets wait for all I/Os to complete when truncating the file size to zero. SGI-PV: 981668 SGI-Modid: xfs-linux-melb:xfs-kern:32216a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 7f7c39ccb6045cf1fd5e7684a484c445291b44d4 Author: Christoph Hellwig Date: Thu Oct 30 16:58:50 2008 +1100 [XFS] make btree tracing generic Make the existing bmap btree tracing generic so that it applies to all btree types. Some fragments lifted from a patch by Dave Chinner. This adds two files that were missed from the previous btree tracing checkin. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32210a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 3cc7524c8445e6244b055f3fa338529188c7c260 Author: Christoph Hellwig Date: Thu Oct 30 16:58:41 2008 +1100 [XFS] mark various functions in xfs_btree.c static Lots of functionality in xfs_btree.c isn't needed by callers outside of this file anymore, so mark these functions static. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32209a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 4a26e66e7728112f0e1cd7eca3bcc430b3a221c9 Author: Christoph Hellwig Date: Thu Oct 30 16:58:32 2008 +1100 [XFS] add keys_inorder and recs_inorder btree methods Add methods to check whether two keys/records are in the righ order. This replaces the xfs_btree_check_key and xfs_btree_check_rec methods. For the callers from xfs_bmap.c just opencode the bmbt-specific asserts. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32208a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit fd6bcc5b63051392ba709a8fd33173b263669e0a Author: Christoph Hellwig Date: Thu Oct 30 16:58:21 2008 +1100 [XFS] kill xfs_bmbt_log_block and xfs_bmbt_log_recs These are equivalent to the xfs_btree_* versions, and the only remaining caller can be switched to the generic one after they are exported. Also remove some now dead infrastructure in xfs_bmap_btree.c. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32207a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8cc938fe4237e50bea4aa557ed53b06de2319d49 Author: Christoph Hellwig Date: Thu Oct 30 16:58:11 2008 +1100 [XFS] implement generic xfs_btree_get_rec Not really much reason to make it generic given that it's so small, but this is the last non-method in xfs_alloc_btree.c and xfs_ialloc_btree.c, so it makes the whole btree implementation more structured. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32206a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 91cca5df9bc85efdabfa645f51d54259ed09f4bf Author: Christoph Hellwig Date: Thu Oct 30 16:58:01 2008 +1100 [XFS] implement generic xfs_btree_delete/delrec Make the btree delete code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32205a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit d4b3a4b7dd62f2e111d4d0afa9ef3f9b6cd955c0 Author: Christoph Hellwig Date: Thu Oct 30 16:57:51 2008 +1100 [XFS] move xfs_bmbt_killroot to common code xfs_bmbt_killroot is a mostly generic implementation of moving from a real block based root to an inode based root. So move it to xfs_btree.c where it can use all the nice infrastructure there and make it pointer size agnostic The new name for it is xfs_btree_kill_iroot, following the old naming but making it clear we're dealing with the root in inode case here, and to avoid confusion with xfs_btree_new_root which is used for the not inode rooted case. I've also added a comment describing what it does and why it's named the way it is. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32203a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 4b22a57188d87e873346b73c227607715be96399 Author: Christoph Hellwig Date: Thu Oct 30 16:57:40 2008 +1100 [XFS] implement generic xfs_btree_insert/insrec Make the btree insert code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32202a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit ea77b0a66e6c910ef265d9af522d6303ea6b3055 Author: Christoph Hellwig Date: Thu Oct 30 16:57:28 2008 +1100 [XFS] move xfs_bmbt_newroot to common code xfs_bmbt_newroot is a mostly generic implementation of moving from an inode root to a real block based root. So move it to xfs_btree.c where it can use all the nice infrastructure there and make it pointer size agnostic The new name for it is xfs_btree_new_iroot, following the old naming but making it clear we're dealing with the root in inode case here, and to avoid confusion with xfs_btree_new_root which is used for the not inode rooted case. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32201a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 344207ce8474b79be331eb93e6df4cb5bdd48ab2 Author: Christoph Hellwig Date: Thu Oct 30 16:57:16 2008 +1100 [XFS] implement semi-generic xfs_btree_new_root From: Dave Chinner Add a xfs_btree_new_root helper for the alloc and ialloc btrees. The bmap btree needs it's own version and is not converted. [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32200a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit f5eb8e7ca58bc1e92436614444006120d21668ba Author: Christoph Hellwig Date: Thu Oct 30 16:57:03 2008 +1100 [XFS] implement generic xfs_btree_split Make the btree split code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32198a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 687b890a184fef263ebb773926e1f4aa69240d01 Author: Christoph Hellwig Date: Thu Oct 30 16:56:53 2008 +1100 [XFS] implement generic xfs_btree_lshift Make the btree left shift code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32197a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 9eaead51bed957af0070a277d945744a76df0c8b Author: Christoph Hellwig Date: Thu Oct 30 16:56:43 2008 +1100 [XFS] implement generic xfs_btree_rshift Make the btree right shift code generic. Based on a patch from David Chinner with lots of changes to follow the original btree implementations more closely. While this loses some of the generic helper routines for inserting/moving/removing records it also solves some of the one off bugs in the original code and makes it easier to verify. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32196a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 278d0ca14e889c3932a05d1a68675252a12b3466 Author: Christoph Hellwig Date: Thu Oct 30 16:56:32 2008 +1100 [XFS] implement generic xfs_btree_update From: Dave Chinner The most complicated part here is the lastrec tracking for the alloc btree. Most logic is in the update_lastrec method which has to do some hopefully good enough dirty magic to maintain it. [hch: split out from bigger patch and a rework of the lastrec logic] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32194a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 38bb74237d2d94c1aced2ec626d7d0f317e360da Author: Christoph Hellwig Date: Thu Oct 30 16:56:22 2008 +1100 [XFS] implement generic xfs_btree_updkey From: Dave Chinner Note that there are many > 80 char lines introduced due to the xfs_btree_key casts. But the places where this happens is throw-away code once the whole btree code gets merged into a common implementation. The same is true for the temporary xfs_alloc_log_keys define to the new name. All old users will be gone after a few patches. [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32193a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit fe033cc848489851f0c7de48f0b1bab5d744ad8a Author: Christoph Hellwig Date: Thu Oct 30 16:56:09 2008 +1100 [XFS] implement generic xfs_btree_lookup From: Dave Chinner [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32192a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8df4da4a0a642d3a016028c0d922bcb4d5a4a6d7 Author: Christoph Hellwig Date: Thu Oct 30 16:55:58 2008 +1100 [XFS] implement generic xfs_btree_decrement From: Dave Chinner [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32191a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 637aa50f461b8ea6b1e8bf9877b0d13d00085043 Author: Christoph Hellwig Date: Thu Oct 30 16:55:45 2008 +1100 [XFS] implement generic xfs_btree_increment From: Dave Chinner Because this is the first major generic btree routine this patch includes some infrastrucure, first a few routines to deal with a btree block that can be either in short or long form, second xfs_btree_read_buf_block, which is the new central routine to read a btree block given a cursor, and third the new xfs_btree_ptr_addr routine to calculate the address for a given btree pointer record. [hch: split out from bigger patch and minor adaptions] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32190a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 65f1eaeac0efc968797f3ac955b85ba3f5d4f9c8 Author: Christoph Hellwig Date: Thu Oct 30 16:55:34 2008 +1100 [XFS] add helpers for addressing entities inside a btree block Add new helpers in xfs_btree.c to find the record, key and block pointer entries inside a btree block. To implement this genericly the ->get_maxrecs methods and two new xfs_btree_ops entries for the key and record sizes are used. Also add a big comment describing how the addressing inside a btree block works. Note that these helpers are unused until users are introduced in the next patches and this patch will thus cause some harmless compiler warnings. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32189a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit ce5e42db421a41b1ad0cfd68c6058566b963e14b Author: Christoph Hellwig Date: Thu Oct 30 16:55:23 2008 +1100 [XFS] add get_maxrecs btree operation Factor xfs_btree_maxrecs into a per-btree operation. The get_maxrecs method is based on a patch from Dave Chinner. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32188a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8c4ed633e65d0bd0a25d45aad9b4646e3236cad7 Author: Christoph Hellwig Date: Thu Oct 30 16:55:13 2008 +1100 [XFS] make btree tracing generic Make the existing bmap btree tracing generic so that it applies to all btree types. Some fragments lifted from a patch by Dave Chinner. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32187a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 854929f05831d3a290a802815ee955b96c740c61 Author: David Chinner Date: Thu Oct 30 16:55:03 2008 +1100 [XFS] add new btree statistics From: Dave Chinner Introduce statistics coverage of all the btrees and cover all the btree operations, not just some. Invaluable for determining test code coverage of all the btree operations.... SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32184a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell commit a23f6ef8ce966abc0f6e24a81ceb6a74ed30693b Author: Christoph Hellwig Date: Thu Oct 30 16:54:53 2008 +1100 [XFS] refactor btree validation helpers Move the various btree validation helpers around in xfs_btree.c so that they are close to each other and in common #ifdef DEBUG sections. Also add a new xfs_btree_check_ptr helper to check a btree ptr that can be either long or short form. Split out from a bigger patch from Dave Chinner with various small changes applied by me. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32183a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit b524bfeee2152fa64b6210f28ced80489b9d2439 Author: Christoph Hellwig Date: Thu Oct 30 16:54:43 2008 +1100 [XFS] refactor xfs_btree_readahead From: Dave Chinner Refactor xfs_btree_readahead to make it more readable: (a) remove the inline xfs_btree_readahead wrapper and move all checks out of line into the main routine. (b) factor out helpers for short/long form btrees (c) move check for root in inodes from the callers into xfs_btree_readahead [hch: split out from a big patch and minor cleanups] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32182a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit e99ab90d6a9e8ac92f05d2c31d44aa7feee15394 Author: Christoph Hellwig Date: Thu Oct 30 16:54:33 2008 +1100 [XFS] add a long pointers flag to xfs_btree_cur Add a flag to the xfs btree cursor when using long (64bit) block pointers instead of checking btnum == XFS_BTNUM_BMAP. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32181a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 8186e517fab1854554c48955cdbcbb6710e7baef Author: Christoph Hellwig Date: Thu Oct 30 16:54:22 2008 +1100 [XFS] make btree root in inode support generic The bmap btree is rooted in the inode and not in a disk block. Make the support for this feature more generic by adding a btree flag to for this feature instead of relying on the XFS_BTNUM_BMAP btnum check. Also clean up xfs_btree_get_block where this new flag is used. Based upon a patch from Dave Chinner. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32180a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit de227dd9604934d2a6d33cd332d1be431719c93e Author: Christoph Hellwig Date: Thu Oct 30 16:54:12 2008 +1100 [XFS] add generic btree types Add generic union types for btree pointers, keys and records. The generic btree pointer contains either a 32 and 64bit big endian scalar for short and long form btrees, and the key and record contain the relevant type for each possible btree. Split out from a bigger patch from Dave Chinner and simplified a little further. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32178a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit 561f7d17390d00444e6cd0b02b7516c91528082e Author: Christoph Hellwig Date: Thu Oct 30 16:53:59 2008 +1100 [XFS] split up xfs_btree_init_cursor xfs_btree_init_cursor contains close to little shared code for the different btrees and will get even more non-common code in the future. Split it up into one routine per btree type. Because xfs_btree_dup_cursor needs to call the init routine for a generic btree cursor add a new btree operation vector that contains a dup_cursor method that initializes a new cursor based on an existing one. The btree operations vector is based on an idea and code from Dave Chinner and will grow more entries later during this series. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32176a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit f2277f06e626d694e61bb356524ff536ced24acf Author: Christoph Hellwig Date: Thu Oct 30 16:53:47 2008 +1100 [XFS] kill struct xfs_btree_hdr This type is only embedded in struct xfs_btree_block and never used directly. By moving the fields directly into struct xfs_btree_block a lot of the macros for struct xfs_btree_sblock and struct xfs_btree_lblock can be used for struct xfs_btree_block too now which helps greatly with some of the migrations during implementing the generic btree code. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32174a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Bill O'Donnell Signed-off-by: David Chinner commit f338f9036400e453ab553b16639a9cc838b02d44 Author: Lachlan McIlroy Date: Thu Oct 30 16:53:38 2008 +1100 [XFS] Unlock inode before calling xfs_idestroy() Lock debugging reported the ilock was being destroyed without being unlocked. We don't need to lock the inode until we are going to insert it into the radix tree. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32159a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit a357a1215602f79182abdde27aaddc7166dbd709 Author: Lachlan McIlroy Date: Thu Oct 30 16:53:25 2008 +1100 [XFS] Fix use-after-free with log and quotas Destroying the quota stuff on unmount can access the log - ie XFS_QM_DONE() ends up in xfs_dqunlock() which calls xfs_trans_unlocked_item() and then xfs_log_move_tail(). By this time the log has already been destroyed. Just move the cleanup of the quota code earlier in xfs_unmountfs() before the call to xfs_log_unmount(). Moving XFS_QM_DONE() up near XFS_QM_DQPURGEALL() seems like a good spot. SGI-PV: 987086 SGI-Modid: xfs-linux-melb:xfs-kern:32148a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig Signed-off-by: Peter Leckie commit 46039928c9abe466ed1bc0da20c2e596b1d41236 Author: Barry Naujok Date: Thu Oct 30 16:52:35 2008 +1100 [XFS] Remove final remnants of dirv1 macros and other stuff SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:32002a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d07c60e54fb7647d8247ae392f128e8ee8f3e5f3 Author: Lachlan McIlroy Date: Thu Oct 30 16:50:35 2008 +1100 [XFS] Use xfs_idestroy() to cleanup an inode. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31927a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 8cf14e38372d84ea09ba45fb60b61f6e36c18546 Author: Harvey Harrison Date: Wed Oct 29 22:43:33 2008 -0700 net: easy removals of HIPQUAD using %pI4 format As a bonus, removes some unnecessary byteswapping. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit be8b78a626dd9bc92c12e9ac34f3bc3db1204d25 Author: Lachlan McIlroy Date: Thu Oct 30 16:42:34 2008 +1100 [XFS] Remove kmem_zone_t argument from xfs_inode_init_once() kmem cache constructor no longer takes a kmem_zone_t argument. SGI-PV: 957103 SGI-Modid: xfs-linux-melb:xfs-kern:32254a Signed-off-by: Lachlan McIlroy commit 07c8f67587724b417f60bffb32c448dd94647b54 Author: David Chinner Date: Thu Oct 30 16:11:59 2008 +1100 [XFS] Make use of the init-once slab optimisation. To avoid having to initialise some fields of the XFS inode on every allocation, we can use the slab init-once feature to initialise them. All we have to guarantee is that when we free the inode, all it's entries are in the initial state. Add asserts where possible to ensure debug kernels check this initial state before freeing and after allocation. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31925a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 9edb8bb68b5ea63061ba833831b00c229ac9fbd2 Author: Stephen Hemminger Date: Wed Oct 29 15:31:53 2008 -0700 macvlan: add support for ethtool get settings If macvlan's are used, it is useful to propgate speed and other settings from underlying device up for application usage. Signed-off-by: Stephen Hemminger Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 6b9a1066f8d4c57c1b778affd91fc38e1121b6f8 Author: Harvey Harrison Date: Wed Oct 29 12:53:10 2008 -0700 printk: remove %p6 format specifier, fix up comments Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad Author: Harvey Harrison Date: Wed Oct 29 12:52:50 2008 -0700 net: replace %p6 with %pI6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c Author: Harvey Harrison Date: Wed Oct 29 12:50:24 2008 -0700 net: replace %#p6 format specifier with %pi6 gcc warns when using the # modifier with the %p format specifier, so we can't use this to omit the colons when needed, introduces %pi6 instead. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 4aa996066ffc0dba24036c961ee38dfdfbfc061c Author: Harvey Harrison Date: Wed Oct 29 12:49:58 2008 -0700 printk: add %I4, %I6, %i4, %i6 format specifiers For use in printing IPv4, or IPv6 addresses in the usual way: %i4 and %I4 are currently equivalent and print the address in dot-separated decimal x.x.x.x %I6 prints 16-bit network order hex with colon separators: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx %i6 omits the colons. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 96631ed16c514cf8b28fab991a076985ce378c26 Author: Eric Dumazet Date: Wed Oct 29 11:19:58 2008 -0700 udp: introduce sk_for_each_rcu_safenext() Corey Minyard found a race added in commit 271b72c7fa82c2c7a795bc16896149933110672d (udp: RCU handling for Unicast packets.) "If the socket is moved from one list to another list in-between the time the hash is calculated and the next field is accessed, and the socket has moved to the end of the new list, the traversal will not complete properly on the list it should have, since the socket will be on the end of the new list and there's not a way to tell it's on a new list and restart the list traversal. I think that this can be solved by pre-fetching the "next" field (with proper barriers) before checking the hash." This patch corrects this problem, introducing a new sk_for_each_rcu_safenext() macro. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f52b5054ec108aaa9e903850d6b62af8ae3fe6ae Author: Eric Dumazet Date: Wed Oct 29 11:19:11 2008 -0700 udp: udp_get_next() should use spin_unlock_bh() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e78a37bc7776955a142317b622818962c3ee75dd Author: Takashi Iwai Date: Wed Oct 29 16:08:01 2008 +0100 ALSA: Fix a typo in Kconfig The previous commit bbaf5e97337287479eb78dbc3822d9560bbfd2e2 has an obvious typo. Fixed now. Signed-off-by: Takashi Iwai commit 9cbbb3ac628227ec5b65fc043539949db606cd17 Author: Jaroslav Kysela Date: Wed Oct 29 13:41:35 2008 +0100 ALSA: Release v1.0.18 Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit eab172294d5e24464f332dd8e94a57a9819c81c4 Author: Li Zefan Date: Wed Oct 29 17:03:22 2008 +0800 sched: cleanup for alloc_rt/fair_sched_group() Impact: cleanup Remove checking parent == NULL. It won't be NULLL, because we dynamically create sub task_group only, and sub task_group always has its parent. (root task_group is statically defined) Also replace kmalloc_node(GFP_ZERO) with kzalloc_node(). Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar commit 8203efb3c612743fecb1ed67cf1daf9d9c127462 Author: Eric Dumazet Date: Wed Oct 29 02:32:32 2008 -0700 udp: calculate udp_mem based on low memory instead of all memory This patch mimics commit 57413ebc4e0f1e471a3b4db4aff9a85c083d090e (tcp: calculate tcp_mem based on low memory instead of all memory) The udp_mem array which contains limits on the total amount of memory used by UDP sockets is calculated based on nr_all_pages. On a 32 bits x86 system, we should base this on the number of lowmem pages. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 271b72c7fa82c2c7a795bc16896149933110672d Author: Eric Dumazet Date: Wed Oct 29 02:11:14 2008 -0700 udp: RCU handling for Unicast packets. Goals are : 1) Optimizing handling of incoming Unicast UDP frames, so that no memory writes should happen in the fast path. Note: Multicasts and broadcasts still will need to take a lock, because doing a full lockless lookup in this case is difficult. 2) No expensive operations in the socket bind/unhash phases : - No expensive synchronize_rcu() calls. - No added rcu_head in socket structure, increasing memory needs, but more important, forcing us to use call_rcu() calls, that have the bad property of making sockets structure cold. (rcu grace period between socket freeing and its potential reuse make this socket being cold in CPU cache). David did a previous patch using call_rcu() and noticed a 20% impact on TCP connection rates. Quoting Cristopher Lameter : "Right. That results in cacheline cooldown. You'd want to recycle the object as they are cache hot on a per cpu basis. That is screwed up by the delayed regular rcu processing. We have seen multiple regressions due to cacheline cooldown. The only choice in cacheline hot sensitive areas is to deal with the complexity that comes with SLAB_DESTROY_BY_RCU or give up on RCU." - Because udp sockets are allocated from dedicated kmem_cache, use of SLAB_DESTROY_BY_RCU can help here. Theory of operation : --------------------- As the lookup is lockfree (using rcu_read_lock()/rcu_read_unlock()), special attention must be taken by readers and writers. Use of SLAB_DESTROY_BY_RCU is tricky too, because a socket can be freed, reused, inserted in a different chain or in worst case in the same chain while readers could do lookups in the same time. In order to avoid loops, a reader must check each socket found in a chain really belongs to the chain the reader was traversing. If it finds a mismatch, lookup must start again at the begining. This *restart* loop is the reason we had to use rdlock for the multicast case, because we dont want to send same message several times to the same socket. We use RCU only for fast path. Thus, /proc/net/udp still takes spinlocks. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 645ca708f936b2fbeb79e52d7823e3eb2c0905f8 Author: Eric Dumazet Date: Wed Oct 29 01:41:45 2008 -0700 udp: introduce struct udp_table and multiple spinlocks UDP sockets are hashed in a 128 slots hash table. This hash table is protected by *one* rwlock. This rwlock is readlocked each time an incoming UDP message is handled. This rwlock is writelocked each time a socket must be inserted in hash table (bind time), or deleted from this table (close time) This is not scalable on SMP machines : 1) Even in read mode, lock() and unlock() are atomic operations and must dirty a contended cache line, shared by all cpus. 2) A writer might be starved if many readers are 'in flight'. This can happen on a machine with some NIC receiving many UDP messages. User process can be delayed a long time at socket creation/dismantle time. This patch prepares RCU migration, by introducing 'struct udp_table and struct udp_hslot', and using one spinlock per chain, to reduce contention on central rwlock. Introducing one spinlock per chain reduces latencies, for port randomization on heavily loaded UDP servers. This also speedup bindings to specific ports. udp_lib_unhash() was uninlined, becoming to big. Some cleanups were done to ease review of following patch (RCUification of UDP Unicast lookups) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1b063c3d090c45298a37ebc879c71379cf845d9c Merge: d301fc3... c1e99bd... Author: Takashi Iwai Date: Wed Oct 29 08:17:05 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit d301fc320f3e673a49200d9ce51036caa9abd768 Author: Takashi Iwai Date: Wed Oct 29 08:15:30 2008 +0100 ALSA: hda - Fix indentation in hda_local.h Just cosmetic fixes of spacing that annoyed me. Signed-off-by: Takashi Iwai commit b189db5d299c6824780af5590564ff608adb3dea Author: Harvey Harrison Date: Tue Oct 28 22:38:52 2008 -0700 net: remove NIP6(), NIP6_FMT, NIP6_SEQFMT and final users Open code NIP6_FMT in the one call inside sscanf and one user of NIP6() that could use %p6 in the netfilter code. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit a20fd0a783551831bb6b9b69710e5bbb93dc2730 Author: Harvey Harrison Date: Tue Oct 28 22:38:06 2008 -0700 uwb: use the %pM formatting specifier in eda.c Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 8c165a8383ef56e84b541fa638be5cf1440010e7 Author: Harvey Harrison Date: Tue Oct 28 22:37:41 2008 -0700 infiniband: remove IPOIB_GID_RAW_ARG, IPOIB_GID_ARG, IPOIB_GID_FMT Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit fcace2fe7a86237c451b09aaf7e2e9d19e09887f Author: Harvey Harrison Date: Tue Oct 28 22:37:22 2008 -0700 infiniband: ipoib replace IPOIB_GID_FMT with %p6 Replace all uses of IPOIB_GID_FMT, IPOIB_GID_RAW_ARG() and IPOIB_GID_ARG() Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 8867cd7c8678ff2d9d0382dbbfbcc7a3e7e61cbc Author: Harvey Harrison Date: Tue Oct 28 22:36:33 2008 -0700 infiniband: use %p6 for printing message ids Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit b30200616f97a81243e6d0c644d8ab06bf0b8115 Author: Stephen Hemminger Date: Tue Oct 28 22:12:36 2008 -0700 vlan: propogate ethtool speed values This enables more ethtool information. The speed and settings of the underlying device are propagated up. This makes services like SNMP that use ethtool to get speed setting, work when managing a vlan, without adding silly heurtistics into SNMP daemon. For the driver info, just use existing driver strings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3717746ef8b5a9279281b5d318496710984ed739 Author: Daniel Lezcano Date: Tue Oct 28 22:08:46 2008 -0700 veth: remove unused list The veth network device is stored in a list in the netdev private. AFAICS, this list is never used so I removed this list from the code. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit bb7bba3d56963be59bc6764c8021290ed55205ad Author: Daniel Lezcano Date: Tue Oct 28 22:08:19 2008 -0700 veth: Remove useless veth field The veth private structure contains a netdev pointer refering to its peer. This field is never used and it is pointless because if we can access, the veth_priv, that means we already have the netdev which is stored in veth_priv->dev. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit fdb46ee752ed05c94bac71fe3decdb5175ec6e1f Author: Harvey Harrison Date: Tue Oct 28 16:10:17 2008 -0700 net, misc: replace uses of NIP6_FMT with %p6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 0c6ce78abf6e228d44c3840edb8a4ae0c1299825 Author: Harvey Harrison Date: Tue Oct 28 16:09:23 2008 -0700 net: replace uses of NIP6_FMT with %p6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 38ff4fa49bef77e86b21d95d9ce341a098f02839 Author: Harvey Harrison Date: Tue Oct 28 16:08:13 2008 -0700 netfilter: replace uses of NIP6_FMT with %p6 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 1afa67f5e70b4733d5b237df61e6d639af6283bb Author: Harvey Harrison Date: Tue Oct 28 16:06:44 2008 -0700 misc: replace NIP6_FMT with %p6 format specifier The iscsi_ibft.c changes are almost certainly a bugfix as the pointer 'ip' is a u8 *, so they never print the last 8 bytes of the IPv6 address, and the eight bytes they do print have a zero byte with them in each 16-bit word. Other than that, this should cause no difference in functionality. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit b071195deba14b37ce896c26f20349b46e5f9fd2 Author: Harvey Harrison Date: Tue Oct 28 16:05:40 2008 -0700 net: replace all current users of NIP6_SEQFMT with %#p6 The define in kernel.h can be done away with at a later time. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 689afa7da106032a3e859ae35494f80dd6eac640 Author: Harvey Harrison Date: Tue Oct 28 16:04:44 2008 -0700 printk: add %p6 format specifier for IPv6 addresses Takes a pointer to a IPv6 address and formats it in the usual colon-separated hex format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx Each 16 bit word is printed in network-endian byteorder. %#p6 is also supported and will omit the colons. %p6 is a replacement for NIP6_FMT and NIP6() %#p6 is a replacement for NIP6_SEQFMT and NIP6() Note that NIP6() took a struct in6_addr whereas this takes a pointer to a struct in6_addr. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 3a2dfbe8acb154905fdc2fd03ec56df42e6c4cc4 Author: Martin Willi Date: Tue Oct 28 16:01:07 2008 -0700 xfrm: Notify changes in UDP encapsulation via netlink Add new_mapping() implementation to the netlink xfrm_mgr to notify address/port changes detected in UDP encapsulated ESP packets. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit 93adcc80f3288f1827baf6f821af818f6eeef7f9 Author: Alexey Dobriyan Date: Tue Oct 28 13:25:09 2008 -0700 net: don't use INIT_RCU_HEAD call_rcu() will unconditionally rewrite RCU head anyway. Applies to struct neigh_parms struct neigh_table struct net struct cipso_v4_doi struct in_ifaddr struct in_device rt->u.dst Signed-off-by: Alexey Dobriyan Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit def8b4faff5ca349beafbbfeb2c51f3602a6ef3a Author: Alexey Dobriyan Date: Tue Oct 28 13:24:06 2008 -0700 net: reduce structures when XFRM=n ifdef out * struct sk_buff::sp (pointer) * struct dst_entry::xfrm (pointer) * struct sock::sk_policy (2 pointers) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b057efd4d226fcc3a92b0dc6d8ea8e8185ecb260 Author: Patrick McHardy Date: Tue Oct 28 11:59:11 2008 -0700 netlink: constify struct nlattr * arg to parsing functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ad38dab01323a01e825555fc46863b73cd0efdc7 Author: Harvey Harrison Date: Mon Oct 27 13:30:56 2008 -0700 x86: use the new byteorder headers Impact: cleanup, no functionality changed Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit d1a76187a5be4f89c6cb19d800cb5fb7aac735c5 Merge: c7e78cf... 0173a32... Author: Ingo Molnar Date: Tue Oct 28 16:54:49 2008 +0100 Merge commit 'v2.6.28-rc2' into core/locking Conflicts: arch/um/include/asm/system.h commit d4f1b10365d4f03dd802433e0014cf503e6e930c Author: Jike Song Date: Fri Oct 17 13:25:07 2008 +0800 x86: clean up comments wrt. rd{msr|tsc|pmc} The rdmsr instruction(et al) for i386 and x86-64 are semantically same. The only difference is how gcc interpret constraint "A" for these targets. Signed-off-by: Jike Song Signed-off-by: Ingo Molnar commit 2011a067281565494494aee194ca5081e52d6c3f Merge: 63fb708... 0173a32... Author: Ingo Molnar Date: Tue Oct 28 16:46:59 2008 +0100 Merge commit 'v2.6.28-rc2' into x86/doc commit 30604bb410b53efa9c93ee8f03d7aa7494094faa Author: Yinghai Lu Date: Tue Oct 14 18:59:18 2008 -0700 x86: break up mtrr_cleanup() into several small functions. Ingo said mtrr_cleanup() is big and ugly. so break it up into more functions and make it more readable. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7a9787e1eba95a166265e6a260cf30af04ef0a99 Merge: 41b9eb2... 0173a32... Author: Ingo Molnar Date: Tue Oct 28 16:26:12 2008 +0100 Merge commit 'v2.6.28-rc2' into x86/pci-ioapic-boot-irq-quirks commit 4656d5de9555e263c5b4c0462b5af7e7bded1b42 Author: David Vrabel Date: Mon Oct 27 17:12:33 2008 +0000 wusb: reset WUSB devices with SetAddress(0) Using a Reset Device IE to reset a WUSB device is too heavyweight as it causes the devcie to disconnect (which the USB stack does not expect and cannot handle). Instead, do a SetAddress(0); SetAddress(AuthAddr) for authenticated devices. Unauthenticated devices will not be reset and the stack will have to rely on the device timing out after TrustTimeout and disconnecting. Signed-off-by: David Vrabel commit 1cde7f68ced8d10a20dd2370e9d1d22ab3c1ea5c Author: David Vrabel Date: Mon Oct 27 16:48:09 2008 +0000 uwb: order IEs by element ID ECMA-368 requires that IEs in a beacon must be sorted by element ID. Most hardware uses the ordering in the Set IE URC command so get the ordering right on the host. Also refactor the IE management code: - use uwb_ie_next() instead of uwb_ie_for_each(). - remove unnecessary functions. - API is now only uwb_rc_ie_add() and uwb_rc_ie_rm(). Signed-off-by: David Vrabel commit 4d2bea4ca0adb4cebfbf89d34869c74081c42577 Author: David Vrabel Date: Mon Oct 27 15:42:31 2008 +0000 wusb: do a proper channel stop When stopping the WUSB channel the host should send Channel Stop IEs giving the WUSB Channel Time of the last MMC. Both WHCI and HWA hosts provide a channel stop command for this. Signed-off-by: David Vrabel commit d409f3bf47c5e5ae10601d079204e263bc176bcf Author: David Vrabel Date: Mon Oct 27 15:30:12 2008 +0000 wusb: disable verification of the key generation algorithms Verifing the key generation algorithms could take too long on a freshly booted system (due to lack of entropy) so disable the test unless a module parameter (debug_crypto_verify) is specified. Signed-off-by: David Vrabel commit cae1c11414912bf77a62aebd65ced321f0b9da51 Author: David Vrabel Date: Mon Oct 27 15:22:46 2008 +0000 uwb: reference count reservations Reference counting the struct uwb_rsv's is safer and easier to get right than the transferring ownership of the structures from the PAL to reservation manager. This fixes an oops in the debug PAL after a reservation timed out. Signed-off-by: David Vrabel commit b09ac64b7b2d93efab3998033588f5cb0e470ccf Author: David Vrabel Date: Mon Oct 27 15:14:03 2008 +0000 wusb: release mutex in the error path of whci-hcd's whc_do_gencmd() Signed-off-by: David Vrabel commit 6a4b58707903cb0901966ac8dad5d6ec7f2d432f Author: David Vrabel Date: Mon Oct 27 15:10:14 2008 +0000 uwb: target reservations shouldn't get streams The reservation owner should decide the stream index to use based on what reservations it's created. Signed-off-by: David Vrabel commit 163d4c53e3efb457eee96f7487ba3baef2be7796 Merge: 34c2535... e044c39... Author: Takashi Iwai Date: Tue Oct 28 11:44:45 2008 +0100 Merge branch 'topic/fix/hda' into topic/hda commit 34c25350acfc792747e861d1e36874abf7e73255 Author: Takashi Iwai Date: Tue Oct 28 11:38:58 2008 +0100 ALSA: hda - Remove old codec-probe limitation Removed the old workaround to avoid the non-existing codec slot. The current code should work without that workaround. If any, we can add a quirk table. Signed-off-by: Takashi Iwai commit 15ad9a531a64d46af54839ab13542a81ad4c82a5 Merge: 911fc25... c3e5203... Author: Takashi Iwai Date: Tue Oct 28 11:41:18 2008 +0100 Merge branch 'topic/fix/asoc' into topic/asoc commit 3891845e1ef6e6807075d4241966b26f6ecb0a5c Author: Eric W. Biederman Date: Mon Oct 27 17:51:47 2008 -0700 netns: Coexist with the sysfs limitations v2 To make testing of the network namespace simpler allow the network namespace code and the sysfs code to be compiled and run at the same time. To do this only virtual devices are allowed in the additional network namespaces and those virtual devices are not placed in the kobject tree. Since virtual devices don't actually do anything interesting hardware wise that needs device management there should be no loss in keeping them out of the kobject tree and by implication sysfs. The gain in ease of testing and code coverage should be significant. Changelog: v2: As pointed out by Benjamin Thery it only makes sense to call device_rename in the initial network namespace for now. Signed-off-by: Eric W. Biederman Acked-by: Benjamin Thery Tested-by: Serge Hallyn Acked-by: Serge Hallyn Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 7c510e4b730a92cecf94ada45c989d8be0200d47 Author: Johannes Berg Date: Mon Oct 27 17:47:26 2008 -0700 net: convert more to %pM A number of places still use %02x:...:%02x because it's in debug statements or for no real reason. Make a few of them use %pM. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit e174961ca1a0b28f7abf0be47973ad57cb74e5f0 Author: Johannes Berg Date: Mon Oct 27 15:59:26 2008 -0700 net: convert print_mac to %pM This converts pretty much everything to print_mac. There were a few things that had conflicts which I have just dropped for now, no harm done. I've built an allyesconfig with this and looked at the files that weren't built very carefully, but it's a huge patch. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 0c68ae2605dbcf67414d8d1f19af93be44b355fb Author: Johannes Berg Date: Mon Oct 27 15:56:10 2008 -0700 mac80211: convert to %pM away from print_mac Also remove a few stray DECLARE_MAC_BUF that were no longer used at all. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit dd45c9cf687682c9ce256ab14bd8914db77410bb Author: Harvey Harrison Date: Mon Oct 27 15:47:12 2008 -0700 printk: add %pM format specifier for MAC addresses Add format specifiers for printing out six colon-separated bytes: MAC addresses (%pM): xx:xx:xx:xx:xx:xx %#pM is also supported and omits the colon separators. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 1080d709fb9d8cd4392f93476ee46a9d6ea05a5b Author: Neil Horman Date: Mon Oct 27 12:28:25 2008 -0700 net: implement emergency route cache rebulds when gc_elasticity is exceeded This is a patch to provide on demand route cache rebuilding. Currently, our route cache is rebulid periodically regardless of need. This introduced unneeded periodic latency. This patch offers a better approach. Using code provided by Eric Dumazet, we compute the standard deviation of the average hash bucket chain length while running rt_check_expire. Should any given chain length grow to larger that average plus 4 standard deviations, we trigger an emergency hash table rebuild for that net namespace. This allows for the common case in which chains are well behaved and do not grow unevenly to not incur any latency at all, while those systems (which may be being maliciously attacked), only rebuild when the attack is detected. This patch take 2 other factors into account: 1) chains with multiple entries that differ by attributes that do not affect the hash value are only counted once, so as not to unduly bias system to rebuilding if features like QOS are heavily used 2) if rebuilding crosses a certain threshold (which is adjustable via the added sysctl in this patch), route caching is disabled entirely for that net namespace, since constant rebuilding is less efficient that no caching at all Tested successfully by me. Signed-off-by: Neil Horman Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 69a72a0e9337aad8c730e8e9942d5aa022bc4c5c Author: Mike Travis Date: Mon Oct 27 07:51:20 2008 -0700 x86/uv: update SCIR driver to use the idle_cpu() function Impact: cleanup Change UV heartbeat function to use idle_cpu to determine cpu's "idleness". Realign uv_hub definitions. Signed-of-by: Mike Travis Signed-off-by: Ingo Molnar commit 878719e831d9e076961aa15d4049a57a6668c67a Author: Neil Horman Date: Thu Oct 23 10:40:06 2008 -0400 x86: unify appropriate bits from dumpstack_32 and dumpstack_64 Impact: cleanup As promised, now that dumpstack_32 and dumpstack_64 have so many bits in common, we should merge the in-sync bits into a common file, to prevent them from diverging again. This patch removes bits which are common between dumpstack_32.c and dumpstack_64.c and places them in a common dumpstack.c which is built for both 32 and 64 bit arches. Signed-off-by: Neil Horman Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/Makefile | 2 arch/x86/kernel/dumpstack.c | 319 +++++++++++++++++++++++++++++++++++++++++ arch/x86/kernel/dumpstack.h | 39 +++++ arch/x86/kernel/dumpstack_32.c | 294 ------------------------------------- arch/x86/kernel/dumpstack_64.c | 285 ------------------------------------ 5 files changed, 363 insertions(+), 576 deletions(-) commit 7d5a78cd98c3a5eb83bd6a061c5ea6ef1e9b8fcb Author: Aristeu Rozanski Date: Mon Oct 27 12:42:35 2008 -0400 x86, NMI watchdog: disable NMIs on LVT0 in case NMI watchdog is not working Impact: change NMI watchdog detection and disabling sequence Currently, if the NMI watchdog fails using IOAPIC method, it'll only disable interrupts on 8259 if the timer is passing thru it. This patch disables NMI delivery on LINT0 if the NMI watchdog initial test fails, just for safety. Signed-off-by: Aristeu Rozanski Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit 6f290b4e016d6c61511542cf6d9ebdef1965978e Author: Aristeu Rozanski Date: Mon Oct 27 12:42:34 2008 -0400 x86, NMI watchdog: add support to enable and disable IOAPIC NMI Impact: change/improve the way /proc/sys/kernel/nmi_watchdog works This patch adds support to enable/disable IOAPIC NMI watchdog in runtime via procfs. Signed-off-by: Aristeu Rozanski Cc: "Maciej W. Rozycki" Signed-off-by: Ingo Molnar commit b43d196c4d3fe46d6dda7c987c47792612b80b1b Author: Arjan van de Ven Date: Sun Oct 5 12:21:32 2008 -0700 x86: corruption-check: some post-move cleanups Impact: cleanup now that the code is moved and converted to a work queue, there's some minor cleanups that can be done. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 304e629bf4a3150a0bf6556fc45c52c5c082340f Author: Arjan van de Ven Date: Sun Oct 5 12:09:03 2008 -0700 x86: corruption check: run the corruption checks from a work queue Impact: change the implementation of the debug feature the periodic corruption checks are better off run from a work queue; there's nothing time critical about them and this way the amount of interrupt-context work is reduced. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 6784f7d0a5016a397d38be1134e63fc784c1ca8e Author: Arjan van de Ven Date: Sun Oct 5 11:33:42 2008 -0700 x86: corruption check: move the corruption checks into their own file Impact: cleanup The corruption check code is rather sizable and it's likely to grow over time when we add checks for more types of corruptions (there's a few candidates in kerneloops.org that I want to add checks for)... so lets move it to its own file Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 04d2aac33eb54fd3084140f2db130530d71e97c6 Author: Arjan van de Ven Date: Sun Oct 5 11:08:10 2008 -0700 x86: corruption-check: fix some style issues Impact: cleanup Before moving the code to it's own file, fix some style issues in the corruption check code. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 944ac4259e39801c843a915c3da8194ac9af0440 Author: Steven Rostedt Date: Thu Oct 23 19:26:08 2008 -0400 ftrace: ftrace dump on oops control Impact: add (default-off) dump-trace-on-oops flag Currently, ftrace is set up to dump its contents to the console if the kernel panics or oops. This can be annoying if you have trace data in the buffers and you experience an oops, but the trace data is old or static. Usually when you want ftrace to dump its contents is when you are debugging your system and you have set up ftrace to trace the events leading to an oops. This patch adds a control variable called "ftrace_dump_on_oops" that will enable the ftrace dump to console on oops. This variable is default off but a developer can enable it either through the kernel command line by adding "ftrace_dump_on_oops" or at run time by setting (or disabling) /proc/sys/kernel/ftrace_dump_on_oops. v2: Replaced /** with /* as Randy explained that kernel-doc does not yet handle variables. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c63dfefd48d92b1db3400fe8de4886a519ac3949 Author: Dan McGee Date: Thu Oct 23 15:44:02 2008 -0500 x86: remove dead IRQBALANCE code Impact: cleanup CONFIG_IRQBALANCE was removed in commit 8b8e8c1bf; this ifdef was still around. Signed-off-by: Dan McGee Signed-off-by: Ingo Molnar commit fd4a2030a358b4818646031049d9631bd45b9915 Author: Hiroshi Shimamoto Date: Thu Oct 23 17:15:28 2008 -0700 x86: signal_64.c: get_stack() doesn't need entire regs Impact: cleanup get_stack() uses sp only, entire regs is not needed. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 709110bd5624094992579f5311541f2e2b7ce58a Author: Hiroshi Shimamoto Date: Thu Oct 23 17:14:25 2008 -0700 x86: signal: cosmetic unification of restore_sigcontext() Impact: cleanup Make restore_sigcontext() the same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit fd3fdf11d3c649769e02459c5f1b8081a15e9007 Author: Pekka Paalanen Date: Fri Oct 24 20:08:11 2008 +0300 trace: add the MMIO-tracer to the tracer menu, cleanup Impact: cleanup We can remove MMIOTRACE_HOOKS and replace it with just MMIOTRACE. MMIOTRACE_HOOKS is a remnant from the time when I thought that something else could also use the kmmio facilities. Signed-off-by: Pekka Paalanen Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5d9881ea1440f046ee851bbaa2a2962543336a11 Author: Zhaolei Date: Wed Oct 22 11:38:01 2008 +0800 markers: break the redundant loop in kernel/marker.c Impact: cleanup, no functionality changed Because e->name is unique in list, we don't need to continue the iteration after matched. Signed-off-by: Zhao Lei Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 4de62748e69c31fc4fd5bc43b73e9cf60a17ec53 Author: Lai Jiangshan Date: Wed Oct 15 14:56:47 2008 +0800 markers: let marker_table be close to its comments marker_table is defined far from its comments, this fix make cleanup for it. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 505e371da195fad20cb8aaf45407a2849774d6d0 Author: Lai Jiangshan Date: Wed Oct 15 14:56:42 2008 +0800 markers: remove exported symbol marker_probe_cb_noarg() marker_probe_cb_noarg() should not be seen by outer code. this patch remove it. Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 0eec481e8fb000a209fda9bf8f466aca87dc1150 Author: Lai Jiangshan Date: Wed Oct 15 14:56:37 2008 +0800 markers: simplify marker_set_format() current marker_set_format() is complex this patch simplify it, and decrease the overhead of marker_update_probes(). Signed-off-by: Lai Jiangshan Acked-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 7f1baa063e2582dd52d83bb31508e9e84468c666 Author: Mike Travis Date: Fri Oct 24 15:24:29 2008 -0700 x86/uv: provide a System Activity Indicator driver Impact: start per CPU heartbeat LED timers on SGI UV systems The SGI UV system has no LEDS but uses one of the system controller regs to indicate the online internal state of the cpu. There is a heartbeat bit indicating that the cpu is responding to interrupts, and an idle bit indicating whether the cpu is idle when the heartbeat interrupt occurs. The current period is one second. When a cpu panics, an error code is written by BIOS to this same reg. This patchset provides the following: * x86_64: Add base functionality for writing to the specific SCIR's for each cpu. * heartbeat: Invert "heartbeat" bit to indicate the cpu is "interruptible". If the current thread is the idle thread, then indicate system is "idle". * if hotplug enabled, all bits are set (0xff) when the cpu is disabled. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 5292ae11babca23c3ff82593630d2d7eebc350a9 Merge: b0f2098... 0173a32... Author: Ingo Molnar Date: Mon Oct 27 12:38:02 2008 +0100 Merge commit 'v2.6.28-rc2' into x86/uv commit f4a2a0d9a4226846693b5b4462d4350c1bfd58ea Author: Frederic Weisbecker Date: Mon Oct 27 02:05:25 2008 +0100 ftrace: add a script to produce a hierarchical view of a function trace This script parses a function trace and then produces a hierarchical view of the function call stack after processing it into a tree. Changes on V2 thanks to the trace sent by Steven: - Support both the files "trace" and "trace_pipe" (comments and space differences) - Correct the mini HOW-TO at the beginning. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 8479d94e9f6a44b5050cbacf653272a561fbe0d0 Author: Mikael Pettersson Date: Mon Oct 27 09:30:57 2008 +0100 x86, signals: remove duplicated register setup code in ia32 signal delivery Impact: cleanup, no functionality changed ia32_setup_rt_frame() has a duplicated code block labelled "Make -mregparm=3 work" for setting up the register parameters to the user-mode signal handler. This is harmless but ugly. Remove the redundant assignments. Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 4fc85e451ff5e9b6ccd7f5cac7f65684755370e2 Merge: 9f50bba... 67679b1... Author: Takashi Iwai Date: Mon Oct 27 08:50:43 2008 +0100 Merge branch 'topic/misc-next' into topic/misc commit 911fc25dda145f4f7313535466eec0c9f4a51ea1 Merge: 4b7d283... 6b93311... Author: Takashi Iwai Date: Mon Oct 27 08:37:08 2008 +0100 Merge branch 'topic/asoc-next' into topic/asoc commit 42dc2378b52bb6e155dd2e4fb4ca694785bf2c1d Merge: da74ae3... 74aeaab... Author: Takashi Iwai Date: Mon Oct 27 08:36:48 2008 +0100 Merge branch 'topic/hda-next' into topic/hda commit 74aeaabc3e452b29bc1b9eac5aa48923569f8a4e Author: Matthew Ranostay Date: Sat Oct 25 01:06:04 2008 -0400 ALSA: hda: add support for jack detection on IDT codecs. This patch adds support to the IDT codec families to report jack status to the jack abstraction layer. This required some reorganization in the stac92xx_unsol_event function in which the index value is changed to reporting the nid with the event. Also adds an sigmatel_jack struct to keep track of the nid relation to the jack abstraction layer instance. Also adds functions to set and retrieve data values for each nid, this is used in stac92xx_unsol_event to retrieve the GPIO mask for STAC_VREF_EVENT. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 50a9f7905fb3e6ae25e80ba443a14d878caef0c9 Author: Matthew Ranostay Date: Sat Oct 25 01:05:45 2008 -0400 ALSA: hda: add snd_hda_get_jack* functions This patch adds snd_hda_get_jack* functions for reporting jack location, device, and connectivity type. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit a53ccab3ccac9e8676a683df9822a2daec83ef54 Author: Matthew Ranostay Date: Sat Oct 25 01:05:04 2008 -0400 ALSA: jack: lineout support to jack abstraction layer This patch introduces support for reporting SW_LINEOUT_INSERT detection events via the jack abstraction layer. Also adds a SND_JACK_LINEOUT define to the input system header. Signed-off-by: Matthew Ranostay Cc: Dmitry Torokhov Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 282cd76ffca781013151344c4b0f9229e9ea3c35 Author: Matthew Ranostay Date: Sat Oct 25 01:05:29 2008 -0400 ALSA: hda: dynamic jack id This patch duplicates the jack->id pointer with kstrdup() to prevent scoping issues from calling autoprobing functions from the HDA section. Signed-off-by: Matthew Ranostay Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit bbaf5e97337287479eb78dbc3822d9560bbfd2e2 Author: Takashi Iwai Date: Fri Oct 24 18:16:50 2008 +0200 ALSA: Add hrtimer backend for ALSA timer interface Added the hrtimer backend for ALSA timer interface. It can be used for the sequencer timer source. Signed-off-by: Takashi Iwai commit 63fb70859f987f2b3b8028fa467fd63336315e9c Author: Sitsofe Wheeler Date: Sat Oct 11 20:27:53 2008 +0100 x86: change OPTIMIZE_INLINING help to say enabling makes smaller kernels Impact: clarify Kconfig help text The OPTIMIZE_INLINING help currently says "The gcc 4.x series have a rewritten inlining algorithm and disabling this option will generate a smaller kernel there." This contradicts other parts of the help text and my own tests: 5463127 2008-10-11 19:51 vmlinux.no-opt 5456152 2008-10-11 19:56 vmlinux.opt Reword text to say that enabling OPTIMIZE_INLINING will lead to smaller kernels with gcc 4.x or later. Signed-off-by: Sitsofe Wheeler Signed-off-by: Ingo Molnar commit 67679b1fd166da8398e70b7dbffe12cfccf9c7bf Author: Vedran Miletic Date: Thu Oct 23 18:51:00 2008 +0200 ALSA: emu10k1: fix coding style for emu10k1_main.c I fixed all of coding style errors and some warnings, now it is down to: checkpatch.pl-0.24 --no-tree --file --strict --terse emu10k1_main.c total: 0 errors, 62 warnings, 7 checks, 2075 lines checked Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai commit 888dcb7cb26fb85dfe3486d28a2431d69d3e8148 Author: Johannes Berg Date: Thu Oct 23 15:47:56 2008 +0200 ALSA: aoa: clean up file names This cleans up the apple onboard audio driver filenames. Signed-off-by: Johannes Berg Signed-off-by: Takashi Iwai commit 8dd2337470d2ead6835982ed856d988f9e062140 Author: Isaku Yamahata Date: Tue Oct 14 17:50:44 2008 -0700 xen: compilation fix of drivers/xen/events.c on IA64 use set_xen_guest_handle() instead of direct assigning. > linux-2.6/drivers/xen/events.c: In function 'xen_poll_irq': > linux-2.6/drivers/xen/events.c:757: error: incompatible types in assignment > make[4]: *** [drivers/xen/events.o] Error 1 Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar commit a5af4eb16618dba52321fe420e2c93e815fcd762 Author: Isaku Yamahata Date: Tue Oct 14 17:50:43 2008 -0700 xen: compilation fix fo xen CPU hotplugging This patch fixes compilation error on ia64. include asm/xen/hypervisor.h instead of asm-x86/xen/hypervisor.h use xen_pv_domain() instead of is_running_on_xen() > CC drivers/xen/cpu_hotplug.o > In file included from /linux-2.6/drivers/xen/cpu_hotplug.c:5: > /linux-2.6/include/asm-x86/xen/hypervisor.h:44:22: error: asm/desc.h: No such file or directory > /linux-2.6/include/asm-x86/xen/hypervisor.h:66:1: warning: "MULTI_UVMFLAGS_INDEX" redefined > In file included from /linux-2.6/include/asm-x86/xen/hypervisor.h:52, > from /linux-2.6/drivers/xen/cpu_hotplug.c:5: > /linux-2.6/arch/ia64/include/asm/xen/hypercall.h:233:1: warning: this is the location of the previous definition > /linux-2.6/drivers/xen/cpu_hotplug.c: In function 'setup_vcpu_hotplug_event': > /linux-2.6/drivers/xen/cpu_hotplug.c:81: error: implicit declaration of function 'is_running_on_xen' > make[4]: *** [drivers/xen/cpu_hotplug.o] Error 1 > make[4]: *** Waiting for unfinished jobs.... Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar commit 85192bdb6221a5b8ba457f6e3ce4d9729220efb0 Author: Isaku Yamahata Date: Tue Oct 14 17:50:41 2008 -0700 xen: portability clean up and some minor clean up for xencomm.c clean up of xencomm.c. is_phys_contiguous() is arch dependent function that depends on how virtual memory are laid out. So split out the function into arch specific code. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar Cc: "Luck, Tony" commit 5c653fd2257bb736e8bd0ff8acf6dac6081744e2 Author: Jeremy Fitzhardinge Date: Tue Oct 14 17:50:40 2008 -0700 xen: don't reload cr3 on suspend It isn't necessary, and it makes the code needlessly non-portable. Signed-off-by: Jeremy Fitzhardinge Cc: Isaku Yamahata Signed-off-by: Ingo Molnar commit 871d3779cba18b028e34d0d2f6cc6caae76a97b6 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:14 2008 +0200 i386, dumpstack: unify die() Make i386's die() equal to x86_64's version. Whitespace-only changes on x86_64, to make it equal to i386's version. (user_mode and user_mode_vm are equal on x86_64.) Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit e06ca430c3d0fddbd1c901ab3fb3e1f0bc8a786b Author: Alexander van Heukelum Date: Wed Oct 22 12:00:13 2008 +0200 i386, dumpstack: use oops_begin/oops_end in die_nmi Use oops_begin and oops_end in die_nmi. Whitespace-only changes on x86_64, to make it equal to i386's version. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit e4955cfd2f5c81eb708f55769aa60173f207fd63 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:12 2008 +0200 i386, dumpstack: use x86_64's method to account die_nest_count oops_begin/oops_end should always be used in pairs. On x86_64 oops_begin increments die_nest_count, and oops_end decrements die_nest_count. Doing this makes oops_begin and oops_end equal to the x86_64 versions. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit 10b14cb7eb7dd5bff8023f76a55c8ac20e586128 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:11 2008 +0200 x86, dumpstack: always call oops_exit from oops_end Always call oops_exit from oops_end, even if signr==0. Also, move add_taint(TAINT_DIE) from __die to oops_end on x86_64 and interchange two lines to make oops_end more similar to the i386-version. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit 0ed7a498f416dcfa1cca478a559238a2a3396240 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:10 2008 +0200 x86_64, dumpstack: move kexec_crash from __die to oops_end oops_end is preceded by either a call to __die, or a conditional call to crash_kexec. Move the conditional call to crash_kexec from the end of __die to the start of oops_end and remove the superfluous call to crash_kexec in die_nmi. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit 874d93d11823b2b861addac6a5dc31162e924ab2 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:09 2008 +0200 x86, dumpstack: let signr=0 signal no do_exit Change oops_end such that signr=0 signals that do_exit is not to be called. Currently, each use of __die is soon followed by a call to oops_end and 'regs' is set to NULL if oops_end is expected not to call do_exit. Change all such pairs to set signr=0 instead. On x86_64 oops_end is used 'bare' in die_nmi; use signr=0 instead of regs=NULL there, too. Signed-off-by: Alexander van Heukelum Acked-by: Neil Horman Signed-off-by: Ingo Molnar commit b4b8f87bf4958cbad620654efc0882ac46c19846 Author: Alexander van Heukelum Date: Wed Oct 22 12:00:08 2008 +0200 i386, dumpstack: move crash_kexec before bust_spinlocks(0) in oops_end crash_kexec should not be called with console_sem held. Move the call before bust_spinlocks(0) in oops_end to avoid the problem. Signed-off-by: Alexander van Heukelum Acked-by: "Neil Horman" Signed-off-by: Ingo Molnar commit 9e899816d126cc6f7d405c349f65363214fe7399 Author: Nick Piggin Date: Wed Oct 22 12:33:16 2008 +0200 x86, mm: enable GBPAGES option by default DIRECT_GBPAGES was under DEBUG_KERNEL && EXPERIMENTAL and disabled by default. Turn it on by default and put it under EMBEDDED. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar commit b0f209898f1a177bd503d49215b8c6628797a81c Author: Russ Anderson Date: Tue Oct 21 14:09:51 2008 -0500 x86, uv: use consistent names for region size and conherence id on x86 and ia64 Use consistent names for region size and conherence id on x86 and ia64. The SGI xp drivers are used on both ia64 and x86. Using the same names (sn_coherency_id, sn_region_size) simplies the driver code. Signed-off-by: Russ Anderson Signed-off-by: Ingo Molnar commit 718a2594b6a8c1c050fea85abbb4932b11105c17 Author: Vedran Miletic Date: Tue Oct 21 21:31:27 2008 +0200 ALSA: emu10k1: fix faulty commit 18c71092 Commit 18c7109289625106cdc810b20b628cd13b46d6dd had #endif leftoff from compilation. This patch fixes it. Also, I replaced a misplaced comment by a useful one, that explains why are here #ifdef and #endif added in compilation. Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai commit 18c7109289625106cdc810b20b628cd13b46d6dd Author: Vedran Miletic Date: Tue Oct 21 17:42:54 2008 +0200 ALSA: emu10k1: fix device names for Live!/Audigy1/2/4/E-mu * added missing SBxxxx, CTxxxx, PCxxx and MAEMxxxx where they were missing, and fixed some of them which were wrong (according to kx.inf, which is pretty accurate compared to anything out there) * fixed device names to make them more consistent across various cards * fixed order of devices where appropriate Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai commit 1083206ff44af4baa03573b4a6bac430d9d70404 Author: Takashi Iwai Date: Mon Aug 11 10:18:39 2008 +0200 ALSA: ice1724 - Fix TX IRQ lockup MPU TX causes IRQ floods on VT172x devices mysteriously. Disable TX IRQ if the IRQ flood is detected. Signed-off-by: Takashi Iwai commit c7e78cff6b7518212247fb20b1dc6411540dc9af Author: Peter Zijlstra Date: Thu Oct 16 23:17:09 2008 +0200 lockstat: contend with points We currently only provide points that have to wait on contention, also lists the points we have to wait for. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c872e8cab5b7cab0696bcf09c6f03c972edc1c49 Author: Takashi Iwai Date: Tue Aug 12 13:39:01 2008 +0200 ALSA: Enable SPDIF output on ALC655 Some hardwares with ALC655 codec don't indicate the proper ext id bit for SPDIF output although it supports. Force to enable the bit. Signed-off-by: Takashi Iwai commit 96c7d478efad594e483ee8a826395b1342404885 Author: Takashi Iwai Date: Mon Aug 11 10:18:39 2008 +0200 ALSA: pcsp - Fix locking messes in snd-pcsp snd-pcsp driver takes chip->substream_lock together with PCM substream lock. These are even mixed up with hrtimer's lock, resulting in messy lock depencies. Right now, snd-pcsp driver resolves the deadlock by using HRTIMER_CB_SOFTIRQ. However, this isn't nice for a really fast path like bit-flipping. This patch introduces a tasklet for PCM period handling so that the hrtimer callback can be handled fast. This also reduce the use of chip->substream_lock to avoid deadlocks. It's still used in pointer callback, but even this could be removed with a proper barrier. Another good solution is to introduce async trigger callback. But, this will involve with a major rewrite of the PCM core code, so I take first this easy fix. Signed-off-by: Takashi Iwai commit bb93d802ae5c1949977cc6da247b218240677f11 Author: David Brownell Date: Sat Oct 18 20:27:47 2008 -0700 rtc-cmos: export second NVRAM bank Teach rtc-cmos about the second bank of registers found on most modern x86 systems, giving access to 128 bytes more NVRAM. This version only sees that extra NVRAM when both register banks are provided as part of *one* PNP resource. Since BIOS on some systems presents them using two IO resources, and nothing merges them, this can't always show all the NVRAM. (We're supposed to be able to use PNP id PNP0b01 too, but BIOS tables doesn't often seem to use that particular option.) Signed-off-by: David Brownell Cc: torvalds@linux-foundation.org Cc: Ingo Molnar Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit ebaa0470586eec83627fa03dcd0a1107f54258f8 Author: Takashi Iwai Date: Thu Oct 16 16:39:56 2008 +0200 ALSA: hda - Release jack instance for dynamic reconfigure The jack instance has to be release manually in free callback in patch_sigmatel.c for dynamic reconfiguration. Signed-off-by: Takashi Iwai commit dd125b28c1523a857b7657b5d8aa774ed1563687 Merge: 45a6ac1... 1e1be43... Author: Takashi Iwai Date: Thu Oct 16 16:39:46 2008 +0200 Merge branch 'topic/hda-reconfig' into topic/hda-next commit 76a4d10e522bfc238ddf70f35272088d420d2dcf Author: Takashi Iwai Date: Thu Oct 16 16:17:30 2008 +0200 ALSA: Print function symbol in the error messages Use the new %pF for error messages in snd_device_*() functions to give more understandable results. Signed-off-by: Takashi Iwai commit 6b9331165e9827e055389e22d1cbdb5fe3cff835 Author: Mark Brown Date: Thu Oct 16 11:00:07 2008 +0100 ALSA: ASoC: Remove snd_soc_dapm_connect_input() This was marked as deprecated in 2.6.27 and all users except for playpaq_wm8510 fixed in that release. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 8ae6a5523f4188dbe2b98a9385f5860df6ee47a3 Author: Jean Delvare Date: Wed Oct 15 19:58:12 2008 +0200 ALSA: ASoC: Convert wm8900 to a new-style i2c driver Convert the wm8900 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 17be5522f6de1d4920e7d9235bfb0e0c682c6f8f Author: Jean Delvare Date: Wed Oct 15 19:57:12 2008 +0200 ALSA: ASoC: Convert wm8580 to a new-style i2c driver Convert the wm8580 codec driver to the new (standard) device driver binding model. Signed-off-by: Jean Delvare Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 45a6ac16c2136e4b902b09bf0b6192b940e8d732 Author: Matthew Ranostay Date: Wed Oct 15 14:45:38 2008 -0400 ALSA: hda: add support for jack detection on IDT/Sigmatel Added support for jack detection reporting to userspace for IDT/Sigmatel codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 1e1be4329f2aec6a8ec63737a69258fedf34c55d Author: Takashi Iwai Date: Wed Jul 30 15:01:46 2008 +0200 ALSA: hda - Add hints for reconfig This patch adds the "hints" for reconfiguring codecs. The hints are simply string arrays and can be freely used/parsed by the codec patch. The hints can be input via hwdep sysfs files. Signed-off-by: Takashi Iwai commit 11aeff082ad9bd00e8475bf1630c3264344d3764 Author: Takashi Iwai Date: Wed Jul 30 15:01:46 2008 +0200 ALSA: hda - Add init_verbs entries This patch enables the additional init verbs for each codec. The verbs can be entered via hwdep sysfs file. These verbs are executed at reconfiguring the codec for non-standard setups like overriding the pin-defcfg. Signed-off-by: Takashi Iwai commit d7ffba19ce4c1b153d502a89d829400bf76d6c11 Author: Takashi Iwai Date: Wed Jul 30 15:01:46 2008 +0200 ALSA: hda - Add sysfs entries to hwdep devices Added the sysfs entries to hwdep devices so that the new features like reconfiguration can be done via sysfs. Signed-off-by: Takashi Iwai commit 6c1f45ea89b59ad2cdbfa6779e23d77b274da0a7 Author: Takashi Iwai Date: Wed Jul 30 15:01:45 2008 +0200 ALSA: hda - Add codec reconfiguration feature Added the reconfiguration feature of any individual codec. Via the reconfiguration, the old resources are released and the patch is called again to recreate the PCM and mixers in addition to the re-initialization. Signed-off-by: Takashi Iwai commit d13bd412dce23eed8bc35a2499d7d88cb39a1581 Author: Takashi Iwai Date: Wed Jul 30 15:01:45 2008 +0200 ALSA: hda - Manage kcontrol lists Manage all kcontrol elements created in the hda-intel driver. This makes it possible to remove and reconfigure the controls of each codec. Signed-off-by: Takashi Iwai commit f44ac8378d3d84b912b34f08afaff64182ee1b41 Author: Takashi Iwai Date: Wed Jul 30 15:01:45 2008 +0200 ALSA: hda - Allocate name string of each codec Allocate dynamically the name string of each codec instead of pointing to a static string. Signed-off-by: Takashi Iwai commit 603c40199252f0c3b91fca02fd3283c4f8e55179 Author: Takashi Iwai Date: Wed Jul 30 15:01:44 2008 +0200 ALSA: hda - Use generic array helpers Use generic array helpers to simplify array handling in snd-hda-intel. Signed-off-by: Takashi Iwai commit b2e1859745b783922533d29e3b03af29378a23f0 Author: Takashi Iwai Date: Wed Jul 30 15:01:44 2008 +0200 ALSA: hda - Add generic arrays Added helper functions to handle generic arrays. Signed-off-by: Takashi Iwai commit 176d5335fe66f379a339b0ab99cc7566e90ff1a9 Author: Takashi Iwai Date: Wed Jul 30 15:01:44 2008 +0200 ALSA: hda - Add infrastructure for dynamic stream allocation Added the infrastructure for dynamic stream allocation on HD-audio. Signed-off-by: Takashi Iwai commit 7317d7b87edb41a9135e30be1ec3f7ef817c53dd Author: Nick Piggin Date: Tue Sep 30 20:50:27 2008 +1000 sched: improve preempt debugging This patch helped me out with a problem I recently had.... Basically, when the kernel lock is held, then preempt_count underflow does not get detected until it is released which may be a long time (and arbitrarily, eg at different points it may be rescheduled). If the bkl is released at schedule, the resulting output is actually fairly cryptic... With any other lock that elevates preempt_count, it is illegal to schedule under it (which would get found pretty quickly). bkl allows scheduling with preempt_count elevated, which makes underflows hard to debug. Signed-off-by: Ingo Molnar commit 42569c39917a08e8de1e8b5685463be7b74baebd Author: Peter Zijlstra Date: Tue Sep 30 12:33:07 2008 +0200 futex: fixup get_futex_key() for private futexes With the get_user_pages_fast() patches we made get_futex_key() obtain a reference on the returned key, but failed to do so for private futexes. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit c2f9f20154bfb137ccdf8c9159992429a40dfe20 Author: Peter Zijlstra Date: Fri Sep 26 19:32:23 2008 +0200 futex: cleanup fshared fshared doesn't need to be a rw_sem pointer anymore, so clean that up. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit 734b05b10e51d4ba38c8fc3ee02e846aab09eedf Author: Peter Zijlstra Date: Fri Sep 26 19:32:22 2008 +0200 futex: use fast_gup() Change the get_user_pages() call with fast_gup() which doesn't require holding the mmap_sem thereby removing the mmap_sem from all fast paths. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit 61270708ecf1cda148e84fbf6e0703ee5aa81814 Author: Peter Zijlstra Date: Fri Sep 26 19:32:21 2008 +0200 futex: reduce mmap_sem usage now that we rely on get_user_pages() for the shared key handling move all the mmap_sem stuff closely around the slow paths. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit 38d47c1b7075bd7ec3881141bb3629da58f88dab Author: Peter Zijlstra Date: Fri Sep 26 19:32:20 2008 +0200 futex: rely on get_user_pages() for shared futexes On the way of getting rid of the mmap_sem requirement for shared futexes, start by relying on get_user_pages(). Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit 6918bc5c830e890681eabb3c6cb6b8d117a52d14 Author: Peter Zijlstra Date: Tue Sep 23 15:33:41 2008 +0200 lockstat: fixup signed division Some recent modification to this code made me notice the little todo mark. Now that we have more elaborate 64-bit division functions this isn't hard. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9b9b181ce53ef387dfe3df9316bbc641fca13d51 Merge: fb71e45... 72d3105... Author: Ingo Molnar Date: Tue Sep 23 16:19:26 2008 +0200 Merge commit 'v2.6.27-rc7' into core/locking commit fb71e45338453698bd7460f7e8f171ea0304d218 Author: Hiroshi Shimamoto Date: Mon Sep 15 18:04:26 2008 -0700 uaccess: fix parameters inversion for __copy_from_user_inatomic() The following patch changes to use __copy_from_user_inatomic(), but the passing parameters incorrect: x86: some lock annotations for user copy paths, v3 This fixes the netfilter crash reported by Steven Noonan. Reported-by: Steven Noonan Signed-off-by: Hiroshi Shimamoto Tested-by: Steven Noonan Signed-off-by: Ingo Molnar commit 30742d5c2277c325fb0e9d2d817d55a19995fe8f Author: Ingo Molnar Date: Sun Sep 14 14:43:39 2008 +0200 Revert "lockdep: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set" This reverts commit bd8fbdee6562ee526f3c2582a3b373ef195015dd. This broke the powerpc build - more fixes are needed before we can undo this revert. commit 53b9d87f41a3d8838210ad7cdef02d814817ce85 Author: Andrew Morton Date: Thu Sep 11 17:02:58 2008 -0700 lock debug: sit tight when we are already in a panic in: > http://bugzilla.kernel.org/show_bug.cgi?id=11543 The panic code called the kexec code which called mutex_trylock() which called spin_lock_mutex() which then stupidly went and blurted a load of debug stuff because of in_interrupt(). Keep the lock debug code from escallating an already crappy situation. Signed-off-by: Ingo Molnar commit 1d18ef489509314506328b9e464dd47c24c1d68f Author: Ingo Molnar Date: Thu Sep 11 20:53:21 2008 +0200 x86: some lock annotations for user copy paths, v3 - add annotation back to clear_user() - change probe_kernel_address() to _inatomic*() method Signed-off-by: Ingo Molnar commit 3ee1afa308f2a38e5d1e2ad3752ad7abcf480da1 Author: Nick Piggin Date: Wed Sep 10 13:37:17 2008 +0200 x86: some lock annotations for user copy paths, v2 - introduce might_fault() - handle the atomic user copy paths correctly [ mingo@elte.hu: move might_sleep() outside of in_atomic(). ] Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c10d38dda1774ed4540380333cabd229eff37094 Author: Nick Piggin Date: Wed Sep 10 13:37:17 2008 +0200 x86: some lock annotations for user copy paths copy_to/from_user and all its variants (except the atomic ones) can take a page fault and perform non-trivial work like taking mmap_sem and entering the filesyste/pagecache. Unfortunately, this often escapes lockdep because a common pattern is to use it to read in some arguments just set up from userspace, or write data back to a hot buffer. In those cases, it will be unlikely for page reclaim to get a window in to cause copy_*_user to fault. With the new might_lock primitives, add some annotations to x86. I don't know if I caught all possible faulting points (it's a bit of a maze, and I didn't really look at 32-bit). But this is a starting point. Boots and runs OK so far. Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 76b189e91845eab3a9d52bb97f971d312d25652d Author: Peter Zijlstra Date: Wed Sep 10 09:57:35 2008 +0200 lockdep: add might_lock() / might_lock_read() useful to establish a lock dependency in case the actual dependency is rare or hard to trigger. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Ingo Molnar commit f648972e017659c741bdd3be6b4aeb2d73672031 Merge: 8c56250... adee14b... Author: Ingo Molnar Date: Wed Sep 10 13:48:17 2008 +0200 Merge commit 'v2.6.27-rc6' into core/locking commit 6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b Merge: ab7476c... adee14b... Author: Ingo Molnar Date: Wed Sep 10 09:09:51 2008 +0200 Merge branch 'linus' into core/debug Conflicts: lib/vsprintf.c Manual merge: include/linux/kernel.h Signed-off-by: Ingo Molnar commit ab7476cf76e560f0efda2a631a70aabe93009025 Author: Arjan van de Ven Date: Fri Aug 15 15:29:38 2008 -0700 debug: add notifier chain debugging, v2 - unbreak ia64 (and powerpc) where function pointers dont point at code but at data (reported by Tony Luck) [ mingo@elte.hu: various cleanups ] Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit fb822db465bd9fd4208eef1af4490539b236c54e Author: Ingo Molnar Date: Wed Aug 20 11:17:40 2008 +0200 softlockup: increase hung tasks check from 2 minutes to 8 minutes Andrew says: > Seems that about 100% of the reports we get of this warning triggering > are sys_sync, transaction commit, etc. increase the timeout. If it still triggers for people, we can kill it. Signed-off-by: Ingo Molnar commit 1b2439dbb703ae8d95a9ce7ece6b7800b80f41f0 Author: Arjan van de Ven Date: Fri Aug 15 15:29:38 2008 -0700 debug: add notifier chain debugging during some development we suspected a case where we left something in a notifier chain that was from a module that was unloaded already... and that sort of thing is rather hard to track down. This patch adds a very simple sanity check (which isn't all that expensive) to make sure the notifier we're about to call is actually from either the kernel itself of from a still-loaded module, avoiding a hard-to-chase-down crash. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 8c56250f48347750c82ab18d98d647dcf99ca674 Author: Rui Sousa Date: Thu Sep 4 19:47:53 2008 +0200 lockdep, UML: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set Hiroshi Shimamoto reported: > > !TRACE_IRQFLAGS_SUPPORT mode of build for future work, it can be > > restored via a simple revert. > > Hi, it seems that this patch breaks uml build. > > kernel/printk.c: In function 'vprintk': > kernel/printk.c:674: error: implicit declaration of function > 'raw_local_irq_save' kernel/printk.c:772: error: implicit declaration of > function 'raw_local_irq_restore' With the patch bellow it compiles (make ARCH=um with a x86 host), but I'm really out of my league on this one... Reported-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit cdad72207d164569cb4bf647eb824a7f93e8d388 Author: Peter Zijlstra Date: Wed Sep 3 16:00:57 2008 +0200 lockstat: documentation update Christoph noted that the documentation doesn't tell in what unit the lockstat times are reported, ammend this. Reported-by: Christoph Hellwig Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bd8fbdee6562ee526f3c2582a3b373ef195015dd Author: Rui Sousa Date: Wed Sep 3 17:53:07 2008 +0200 lockdep: fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set This patch fixes compilation if CONFIG_TRACE_IRQFLAGS_SUPPORT is ever disabled (which is currently not allowed by Kconfig). Alternatively we could just remove the option altogether and the associated code paths. Since the compilation error has been in the tree for at least two years and no one noticed it, I guess we don't really have the need for CONFIG_TRACE_IRQFLAGS_SUPPORT=n. Boot tested on x86 UP. Signed-off-by: Rui Sousa Signed-off-by: Ingo Molnar commit 41b9eb264c8407655db57b60b4457fe1b2ec9977 Author: Stefan Assmann Date: Tue Jul 15 13:48:55 2008 +0200 x86, pci: introduce config option for pci reroute quirks (was: [PATCH 0/3] Boot IRQ quirks for Broadcom and AMD/ATI) This is against linux-2.6-tip, branch pci-ioapic-boot-irq-quirks. From: Stefan Assmann Subject: Introduce config option for pci reroute quirks The config option X86_REROUTE_FOR_BROKEN_BOOT_IRQS is introduced to enable (or disable) the redirection of the interrupt handler to the boot interrupt line by default. Depending on the existence of interrupt masking / threaded interrupt handling in the kernel (vanilla, rt, ...) and the maturity of the rerouting patch, users can enable or disable the redirection by default. This means that the reroute quirk can be applied to any kernel without changing it. Interrupt sharing could be increased if this option is enabled. However this option is vital for threaded interrupt handling, as done by the RT kernel. It should simplify the consolidation with the RT kernel. The option can be overridden by either pci=ioapicreroute or pci=noioapicreroute. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Cc: Jesse Barnes Cc: Jon Masters Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit 3e370b29d35fb01bfb92c2814d6f79bf6a2cb970 Merge: 88d1dce... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 19:31:12 2008 +0200 Merge branch 'linus' into x86/pci-ioapic-boot-irq-quirks Conflicts: drivers/pci/quirks.c Signed-off-by: Ingo Molnar commit 88d1dce3a74367291f65a757fbdcaf17f042f30c Author: Olaf Dabrunz Date: Tue Jul 8 15:59:48 2008 +0200 PCI quirks: call boot IRQ quirks at end of device init and during resume It is not necessary to call boot IRQ quirks before the BARs of the bridges are probed. The normal case is to use DECLARE_PCI_FIXUP_FINAL, so we use this instead now. After a resume, we need to call the quirks again. Signed-off-by: Olaf Dabrunz Signed-off-by: Stefan Assmann Cc: Jon Masters Cc: Olaf Dabrunz Cc: Stefan Assmann Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit 542622da899be17250b8cae2ef5203025b91230a Author: Olaf Dabrunz Date: Tue Jul 8 15:59:48 2008 +0200 PCI quirks: disable AMD/ATI legacy boot interrupt generation Add quirks for several AMD/ATI chipsets to prevent generation of legacy boot interrupts. Integrates a separate older quirk to make IO-APIC mode work on AMD 8131 rev. A0 and B0, which was due to an AMD erratum. Signed-off-by: Olaf Dabrunz Signed-off-by: Stefan Assmann Cc: Jon Masters Cc: Olaf Dabrunz Cc: Stefan Assmann Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit 7725118815537bd481a81828fa125ee154ee74fc Author: Olaf Dabrunz Date: Tue Jul 8 15:59:47 2008 +0200 PCI quirks: add quirk to disable boot interrupt generation on broadcom HT1000 Signed-off-by: Olaf Dabrunz Signed-off-by: Stefan Assmann Cc: Jon Masters Cc: Olaf Dabrunz Cc: Stefan Assmann Cc: Ihno Krumreich Cc: Sven Dietrich Cc: Daniel Gollub Cc: Felix Foerster Signed-off-by: Ingo Molnar commit dbbcfb2211761fa69e831a78119c9288fb87eb9d Merge: b0356cd... 9df2fe9... Author: Ingo Molnar Date: Sun Jul 13 22:52:27 2008 +0200 Merge branch 'linus' into x86/pci-ioapic-boot-irq-quirks Conflicts: arch/x86/mm/ioremap.c Signed-off-by: Ingo Molnar commit b0356cd0e7497252a2c45ecb07b79d931390c8b2 Author: Bernhard Walle Date: Fri Jun 20 17:05:33 2008 +0200 pci, acpi: reroute PCI interrupt to legacy boot interrupt equivalent, warning fix This patch just fixes the compiler warning: drivers/pci/quirks.c: In function ‘quirk_reroute_to_boot_interrupts_intel’: drivers/pci/quirks.c:1375: warning: unused variable ‘i’ Signed-off-by: Bernhard Walle Cc: sassmann@suse.de Signed-off-by: Ingo Molnar commit 33be8333421f842789fa7e363ce4142947e094f0 Author: Ingo Molnar Date: Wed Jun 18 14:47:09 2008 +0200 x86: boot IRQ quirks and rerouting, fix fix: init/built-in.o: In function `nosmp': main.c:(.init.text+0x14): undefined reference to `noioapicquirk' main.c:(.init.text+0x1e): undefined reference to `noioapicreroute' init/built-in.o: In function `maxcpus': main.c:(.init.text+0x133): undefined reference to `noioapicquirk' main.c:(.init.text+0x13d): undefined reference to `noioapicreroute' arch/x86/kernel/built-in.o: In function `parse_noapic': io_apic_32.c:(.init.text+0x7836): undefined reference to `noioapicquirk' io_apic_32.c:(.init.text+0x7840): undefined reference to `noioapicreroute' Signed-off-by: Ingo Molnar commit e1d3a90846b40ad3160bf4b648d36c6badad39ac Author: Stefan Assmann Date: Wed Jun 11 16:35:17 2008 +0200 pci, acpi: reroute PCI interrupt to legacy boot interrupt equivalent Some chipsets (e.g. intel 6700PXH) generate a legacy INTx when the IRQ entry in the chipset's IO-APIC is masked (as, e.g. the RT kernel does during interrupt handling). On chipsets where this INTx generation cannot be disabled, we reroute the valid interrupts to their legacy equivalent to get rid of spurious interrupts that might otherwise bring down (vital) interrupt lines through spurious interrupt detection in note_interrupt(). This patch benefited from discussions with Alexander Graf, Torsten Duwe, Ihno Krumreich, Daniel Gollub, Hannes Reinecke. The conclusions we drew and the patch itself are the authors' responsibility alone. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit 426b3b8d535e3e141331dc19c40f457b997c4d6d Author: Stefan Assmann Date: Wed Jun 11 16:35:16 2008 +0200 pci: add quirk to disable boot interrupt generation on intel 6300ESB Add a quirk to disable legacy boot interrupt generation on intel devices that support disabling it. This patch benefited from discussions with Alexander Graf, Torsten Duwe, Ihno Krumreich, Daniel Gollub, Hannes Reinecke. The conclusions we drew and the patch itself are the authors' responsibility alone. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit 9197979b518573999d52d9e85bce1680682ed85c Author: Stefan Assmann Date: Wed Jun 11 16:35:15 2008 +0200 x86, pci: introduce pci=ioapicreroute kernel cmdline option Introduce pci=ioapicreroute kernel cmdline option to enable rerouting of boot interrupts to the primary io-apic. Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit a9322f6488b432ddc1e89be88242c827c633fb63 Author: Stefan Assmann Date: Wed Jun 11 16:35:14 2008 +0200 x86, pci: introduce pci=noioapicquirk kernel cmdline option Introduce pci=noioapicquirk kernel cmdline option to disable all boot interrupt quirks Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar commit 747ada36ee23225d81657e4d633ac93b8ccbea7d Author: Olaf Dabrunz Date: Wed Jun 11 16:35:13 2008 +0200 pci: add PCI IDs for devices that need boot irq quirks Signed-off-by: Stefan Assmann Signed-off-by: Olaf Dabrunz Signed-off-by: Ingo Molnar