commit 2588465badb648a50cd19623f0dd0063c90d4e31 Merge: 18821b0 8c0daee Author: Linus Torvalds Date: Wed Dec 9 08:07:51 2009 -0800 Merge branch 'bkl-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'bkl-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: mn10300: Remove the BKL from sys_execve m68knommu: Remove the BKL from sys_execve m68k: Remove the BKL from sys_execve h83000: Remove BKL from sys_execve frv: Remove the BKL from sys_execve blackfin: Remove the BKL from sys_execve um: Remove BKL from mmapper um: Remove BKL from random s390: Remove BKL from prng commit 18821b0408efc92ec2804128ba9382a3bcebf132 Merge: 3b8ecd2 55e858c Author: Linus Torvalds Date: Wed Dec 9 08:07:38 2009 -0800 Merge branch 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: agp: Remove the BKL from agp_open inifiband: Remove BKL from ipath_open() mips: Remove BKL from tb0219 drivers: Remove BKL from scx200_gpio drivers: Remove BKL from pc8736x_gpio parisc: Remove BKL from eisa_eeprom rtc: Remove BKL from efirtc input: Remove BKL from hp_sdc_rtc hw_random: Remove BKL from core macintosh: Remove BKL from ans-lcd nvram: Drop the bkl from non-generic nvram_llseek() nvram: Drop the bkl from nvram_llseek() mem_class: Drop the bkl from memory_open() spi: Remove BKL from spidev_open drivers: Remove BKL from cs5535_gpio drivers: Remove BKL from misc_open commit 3b8ecd22447c4266500c0bcf97f035310543e494 Merge: a9280fe 6f15fa5 Author: Linus Torvalds Date: Wed Dec 9 08:07:17 2009 -0800 Merge branch 'bkl-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'bkl-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sys: Remove BKL from sys_reboot pm_qos: clean up racy global "name" variable pm_qos: remove BKL commit a9280fed383082da08a40af3f38daccaed6d8d62 Merge: 2b876f9 1d2c6cf Author: Linus Torvalds Date: Wed Dec 9 07:58:15 2009 -0800 Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing * 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: (31 commits) kill-the-bkl/reiserfs: turn GFP_ATOMIC flag to GFP_NOFS in reiserfs_get_block() kill-the-bkl/reiserfs: drop the fs race watchdog from _get_block_create_0() kill-the-bkl/reiserfs: definitely drop the bkl from reiserfs_ioctl() kill-the-bkl/reiserfs: always lock the ioctl path kill-the-bkl/reiserfs: fix reiserfs lock to cpu_add_remove_lock dependency kill-the-bkl/reiserfs: Fix induced mm->mmap_sem to sysfs_mutex dependency kill-the-bkl/reiserfs: panic in case of lock imbalance kill-the-bkl/reiserfs: fix recursive reiserfs write lock in reiserfs_commit_write() kill-the-bkl/reiserfs: fix recursive reiserfs lock in reiserfs_mkdir() kill-the-bkl/reiserfs: fix "reiserfs lock" / "inode mutex" lock inversion dependency kill-the-bkl/reiserfs: move the concurrent tree accesses checks per superblock kill-the-bkl/reiserfs: acquire the inode mutex safely kill-the-bkl/reiserfs: unlock only when needed in search_by_key kill-the-bkl/reiserfs: use mutex_lock in reiserfs_mutex_lock_safe kill-the-bkl/reiserfs: factorize the locking in reiserfs_write_end() kill-the-bkl/reiserfs: reduce number of contentions in search_by_key() kill-the-bkl/reiserfs: don't hold the write recursively in reiserfs_lookup() kill-the-bkl/reiserfs: lock only once on reiserfs_get_block() kill-the-bkl/reiserfs: conditionaly release the write lock on fs_changed() kill-the-BKL/reiserfs: add reiserfs_cond_resched() ... commit 2b876f95d03e226394b5d360c86127cbefaf614b Merge: fbf07ea c95b450 6ce51c4 Author: Linus Torvalds Date: Tue Dec 8 19:30:19 2009 -0800 Merge branches 'timers-for-linus-ntp' and 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ntp: Provide compability defines (You say MOD_NANO, I say ADJ_NANO) * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: do not execute DEBUG_SHIRQ when irq setup failed commit fbf07eac7bf21c262143194181bd97c5d18b8ceb Merge: 60d8ce2 8629ea2 Author: Linus Torvalds Date: Tue Dec 8 19:28:09 2009 -0800 Merge branch 'timers-for-linus-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: Fix /proc/timer_list regression itimers: Fix racy writes to cpu_itimer fields timekeeping: Fix clock_gettime vsyscall time warp commit 60d8ce2cd6c283132928c11f3fd57ff4187287e0 Merge: 849e8de feae320 Author: Linus Torvalds Date: Tue Dec 8 19:27:08 2009 -0800 Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers, init: Limit the number of per cpu calibration bootup messages posix-cpu-timers: optimize and document timer_create callback clockevents: Add missing include to pacify sparse x86: vmiclock: Fix printk format x86: Fix printk format due to variable type change sparc: fix printk for change of variable type clocksource/events: Fix fallout of generic code changes nohz: Allow 32-bit machines to sleep for more than 2.15 seconds nohz: Track last do_timer() cpu nohz: Prevent clocksource wrapping during idle nohz: Type cast printk argument mips: Use generic mult/shift factor calculation for clocks clocksource: Provide a generic mult/shift factor calculation clockevents: Use u32 for mult and shift factors nohz: Introduce arch_needs_cpu nohz: Reuse ktime in sub-functions of tick_check_idle. time: Remove xtime_cache time: Implement logarithmic time accumulation commit 849e8dea099aafa56db9e74b580b0d858b956533 Merge: e069efb 18ed61d Author: Linus Torvalds Date: Tue Dec 8 19:26:55 2009 -0800 Merge branch 'timers-for-linus-hpet' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-hpet' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: hpet: Make WARN_ON understandable x86: arch specific support for remapping HPET MSIs intr-remap: generic support for remapping HPET MSIs x86, hpet: Simplify the HPET code x86, hpet: Disable per-cpu hpet timer if ARAT is supported commit e069efb6bbf8f739a2e084183709b5eb76abf90d Merge: 324889b eed89d0 Author: Linus Torvalds Date: Tue Dec 8 15:55:13 2009 -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: hwrng: core - Prevent too-small buffer sizes hwrng: virtio-rng - Convert to new API hwrng: core - Replace u32 in driver API with byte array crypto: ansi_cprng - Move FIPS functions under CONFIG_CRYPTO_FIPS crypto: testmgr - Add ghash algorithm test before provide to users crypto: ghash-clmulni-intel - Put proper .data section in place crypto: ghash-clmulni-intel - Use gas macro for PCLMULQDQ-NI and PSHUFB crypto: aesni-intel - Use gas macro for AES-NI instructions x86: Generate .byte code for some new instructions via gas macro crypto: ghash-intel - Fix irq_fpu_usable usage crypto: ghash-intel - Add PSHUFB macros crypto: ghash-intel - Hard-code pshufb crypto: ghash-intel - Fix building failure on x86_32 crypto: testmgr - Fix warning crypto: ansi_cprng - Fix test in get_prng_bytes crypto: hash - Remove cra_u.{digest,hash} crypto: api - Remove digest case from procfs show handler crypto: hash - Remove legacy hash/digest code crypto: ansi_cprng - Add FIPS wrapper crypto: ghash - Add PCLMULQDQ accelerated implementation commit 324889b6bd2a89e0d69a2f9d133d6cf24579ab6c Merge: 3ff6a46 cb711a1 Author: Linus Torvalds Date: Tue Dec 8 15:55:00 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] iTCO_wdt.c - cleanup chipset documentation [WATCHDOG] iTCO_wdt: Add support for Intel Ibex Peak [WATCHDOG] CPUFREQ: S3C24XX Watchdog frequency scaling support. commit 3ff6a468b45b5dfeb0e903e56f4eb27d34b2437c Merge: 4646575 d7d3756 Author: Linus Torvalds Date: Tue Dec 8 13:38:33 2009 -0800 Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: cpumask: Use modern cpumask style in Xen commit 4646575daf21f544fc2f7e8d90d8c488948fcc7c Merge: 86ed4aa 581f202 Author: Linus Torvalds Date: Tue Dec 8 13:38:21 2009 -0800 Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: UV RTC: Always enable RTC clocksource x86: UV RTC: Rename generic_interrupt to x86_platform_ipi x86: UV RTC: Clean up error handling x86: UV RTC: Add clocksource only boot option x86: UV RTC: Fix early expiry handling commit 86ed4aa457f9c832856156a2ee6477d108825855 Merge: 830cd2a fe5ed91 Author: Linus Torvalds Date: Tue Dec 8 13:38:11 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: x86, mce: don't restart timer if disabled x86: Use -maccumulate-outgoing-args for sane mcount prologues x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage x86: AMD Northbridge: Verify NB's node is online x86 VSDO: Fix Kconfig help x86: Fix typo in Intel CPU cache size descriptor x86: Add new Intel CPU cache size descriptors commit 830cd2ac6ecce6b027d947fcdc724dd27a33813a Merge: 64227cd b434a68 Author: Linus Torvalds Date: Tue Dec 8 13:35:29 2009 -0800 Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: vgacon: Add support for setting the default cursor state vc: Add support for hiding the cursor when creating VTs x86, setup: Store the boot cursor state commit 64227cd83d5f9d7b7ce5514a693252c2952366f6 Merge: e7522ed 57fea8f Author: Linus Torvalds Date: Tue Dec 8 13:35:18 2009 -0800 Merge branch 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/reboot: Add pci_dev_put in reboot_fixup_32.c for consistency commit e7522ed5c0140486f68bf3351b4e667f570b8c76 Merge: b391738 e634d8f Author: Linus Torvalds Date: Tue Dec 8 13:34:53 2009 -0800 Merge branch 'x86-process-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-process-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64: merge the standard and compat start_thread() functions x86-64: make compat_start_thread() match start_thread() commit b391738bd1c708fe85592410c6a7c9752689481d Merge: e33c019 2fb8f4e Author: Linus Torvalds Date: Tue Dec 8 13:34:17 2009 -0800 Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: pat: Remove ioremap_default() x86: pat: Clean up req_type special case for reserve_memtype() x86: Relegate CONFIG_PAT and CONFIG_MTRR configurability to EMBEDDED commit e33c01972239fee4696679ae5f7d1f340f424999 Merge: 343036c ccef086 Author: Linus Torvalds Date: Tue Dec 8 13:27:33 2009 -0800 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits) x86, mm: Correct the implementation of is_untracked_pat_range() x86/pat: Trivial: don't create debugfs for memtype if pat is disabled x86, mtrr: Fix sorting of mtrr after subtracting x86: Move find_smp_config() earlier and avoid bootmem usage x86, platform: Change is_untracked_pat_range() to bool; cleanup init x86: Change is_ISA_range() into an inline function x86, mm: is_untracked_pat_range() takes a normal semiclosed range x86, mm: Call is_untracked_pat_range() rather than is_ISA_range() x86: UV SGI: Don't track GRU space in PAT x86: SGI UV: Fix BAU initialization x86, numa: Use near(er) online node instead of roundrobin for NUMA x86, numa, bootmem: Only free bootmem on NUMA failure path x86: Change crash kernel to reserve via reserve_early() x86: Eliminate redundant/contradicting cache line size config options x86: When cleaning MTRRs, do not fold WP into UC x86: remove "extern" from function prototypes in x86, mm: Report state of NX protections during boot x86, mm: Clean up and simplify NX enablement x86, pageattr: Make set_memory_(x|nx) aware of NX support x86, sleep: Always save the value of EFER ... Fix up conflicts (added both iommu_shutdown and is_untracked_pat_range) to 'struct x86_platform_ops') in arch/x86/include/asm/x86_init.h arch/x86/kernel/x86_init.c commit 343036cea2854acf8d4b4c930c0063223bc6b8a2 Merge: 4d2a914 8cc2361 Author: Linus Torvalds Date: Tue Dec 8 13:25:10 2009 -0800 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: ucode-amd: Move family check to microcde_amd.c's init function x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle x86: ucode-amd: Convert printk(KERN_*...) to pr_*(...) x86: ucode-amd: Don't warn when no ucode is available for a CPU revision x86: ucode-amd: Load ucode-patches once and not separately of each CPU x86, amd-ucode: Remove needless log messages commit 4d2a914239eee6fcddd12a7c9c32e135dde8f3f1 Merge: 9e9868a 1786bf0 Author: Linus Torvalds Date: Tue Dec 8 13:24:20 2009 -0800 Merge branch 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-entry-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: core: Clean up user return notifers use of per_cpu commit 9e9868a7372afc60615e8e11db246a91a121654d Author: Uwe Kleine-König Date: Thu Dec 3 19:58:00 2009 +0100 sysfs: deprecated features are to help old tools not to confuse them Signed-off-by: Uwe Kleine-König Acked-by: Randy Dunlap Cc: Greg KH Cc: Andrew Morton Cc: Kay Sievers Signed-off-by: Linus Torvalds commit a252e749f1ae17e43ccc5824f7b1b5854417c98b Author: Linus Torvalds Date: Tue Dec 8 12:51:22 2009 -0800 sctp: fix compile error due to sysctl mismerge I messed up the merge in d7fc02c7bae7b1cf69269992cf880a43a350cdaa, where the conflict in question wasn't just about CTL_UNNUMBERED being removed, but the 'strategy' field is too (sysctl handling is now done through the /proc interface, with no duplicate protocols for reading the data). Reported-by: Larry Finger Reported-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 6035ccd8e9e40bb654fbfdef325902ab531679a5 Merge: 23eb3b6 878eadd Author: Linus Torvalds Date: Tue Dec 8 08:19:16 2009 -0800 Merge branch 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block: (113 commits) cfq-iosched: Do not access cfqq after freeing it block: include linux/err.h to use ERR_PTR cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit blkio: Allow CFQ group IO scheduling even when CFQ is a module blkio: Implement dynamic io controlling policy registration blkio: Export some symbols from blkio as its user CFQ can be a module block: Fix io_context leak after failure of clone with CLONE_IO block: Fix io_context leak after clone with CLONE_IO cfq-iosched: make nonrot check logic consistent io controller: quick fix for blk-cgroup and modular CFQ cfq-iosched: move IO controller declerations to a header file cfq-iosched: fix compile problem with !CONFIG_CGROUP blkio: Documentation blkio: Wait on sync-noidle queue even if rq_noidle = 1 blkio: Implement group_isolation tunable blkio: Determine async workload length based on total number of queues blkio: Wait for cfq queue to get backlogged if group is empty blkio: Propagate cgroup weight updation to cfq groups blkio: Drop the reference to queue once the task changes cgroup blkio: Provide some isolation between groups ... commit 23eb3b64b5e44680c867e165fe1cd18e57fba255 Merge: 1c49678 1b52f2a Author: Linus Torvalds Date: Tue Dec 8 08:18:01 2009 -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: (54 commits) Revert "pata_sis: Implement MWDMA for the UDMA 133 capable chips" libata: Clarify ata_set_lba_range_entries function libata: Report zeroed read after TRIM and max discard size pata_hpt3x2n: fix overclocked MWDMA0 timing pata_it8213: MWDMA0 is unsupported [libata] MWDMA0 is unsupported on PIIX-like PATA controllers pata_via: clear UDMA transfer mode bit for PIO and MWDMA pata_sis: Power Management fix pata_rz1000: Power Management fix pata_radisys: fix UDMA handling pata_ns87415: Power Management fix pata_marvell: fix marvell_pre_reset() documentation pata_legacy: add pointers to QDI65x0 documentation pata_legacy: fix access to control register for QDI6580 pata_legacy: fix QDI6580DP support pata_it8213: fix it8213_pre_reset() documentation pata_it8213: fix wrong MWDMA timings being programmed pata_it8213: fix PIO2 underclocking pata_it8213: fix wrong PIO timings being programmed pata_it8213: fix UDMA handling ... commit 1c496784a0d317535f846ddb2c93a08ba936266b Merge: adf9904 9a01609 Author: Linus Torvalds Date: Tue Dec 8 08:15:29 2009 -0800 Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits) arm: omap: Add omap3_defconfig AM35xx: Defconfig for AM3517 EVM board AM35xx: Add support for AM3517 EVM board omap: 3630sdp: defconfig creation omap: 3630sdp: introduce 3630 sdp board support omap3: Add defconfig for IGEP v2 board omap3: Add minimal IGEP v2 support omap3: Add CompuLab CM-T35 defconfig omap3: Add CompuLab CM-T35 board support omap3: rx51: Add wl1251 wlan driver support omap3: rx51: Add SDRAM init omap1: Add default kernel configuration for Herald omap1: Add board support and LCD for HTC Herald omap: zoom2: update defconfig for LL_DEBUG_NONE omap: zoom3: defconfig creation omap3: zoom: Introduce zoom3 board support omap3: zoom: Drop i2c-1 speed to 2400 omap3: zoom: rename zoom2 name to generic zoom omap3: zoom: split board file for software reuse omap3evm: MIgrate to smsc911x ethernet driver ... Fix trivial conflict (two unrelated config options added next to each other) in arch/arm/mach-omap2/Makefile commit adf9904dc774f23f04a5425f0198483ea61f878b Merge: bb592cf 49966ba Author: Linus Torvalds Date: Tue Dec 8 08:13:35 2009 -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: parport_mfc3 - Not makes it a bool before the comparison. m68k: don't export static inline functions fbdev: atafb - add palette register check m68k: Remove the BKL from sys_execve m68k: Cleanup linker scripts using new linker script macros. m68k: Make thread_info.h usable from assembly. m68knommu: define arch_has_single_step() and friends m68k: ptrace fixes m68k: use generic code for ptrace requests rtc: Add an RTC driver for the Ricoh RP5C01 rtc: Add an RTC driver for the Oki MSM6242 commit bb592cf474404e51cbf3c419fb72fda83c4b7d72 Merge: 79c9601 af0940d Author: Linus Torvalds Date: Tue Dec 8 08:13:10 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: Use hweight32 firewire: cdev: reduce stack usage by ioctl_dispatch firewire: ohci: 0 may be a valid DMA address firewire: core: WARN on wrong usage of core transaction functions firewire: core: optimize Topology Map creation firewire: core: clarify generate_config_rom usage firewire: optimize config ROM creation firewire: cdev: normalize variable names firewire: normalize style of queue_work wrappers firewire: cdev: fix memory leak in an error path commit 79c9601c2e0dbbe69895d302de4d19f3a31fbd30 Merge: 41440ff 3d14b5b Author: Linus Torvalds Date: Tue Dec 8 08:12:43 2009 -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: (272 commits) Fix soc_common PCMCIA configuration ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver ARM: 5825/1: SA1100: h3600: update defconfig ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100 ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys ARM: 5822/1: SA1100: h3100/h3600: clean up #includes ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates ARM: 5820/1: SA1100: h3100/h3600: split h3600.c ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h ... commit 41440ffe21f29bdb985cab76b2d0b06d83e63b19 Merge: dad3de7 6471b68 Author: Linus Torvalds Date: Tue Dec 8 08:12:16 2009 -0800 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-stub: Documentation update i2c-stub: Allow user to disable some commands i2c-stub: Implement I2C block support i2c: Refactor for_each callbacks i2c-i801: Retry on lost arbitration i2c: Remove big kernel lock from i2cdev_open ics932s401: Clean up detect function i2c: Simplify i2c_detect_address i2c: Drop probe, ignore and force module parameters i2c: Add missing __devinit markers to old i2c adapter drivers i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR i2c: Prevent priority inversion on top of bus lock i2c-voodoo3: Delete i2c-powermac: Drop temporary name buffer i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus i2c-powermac: Log errors i2c-powermac: Refactor i2c_powermac_smbus_xfer i2c-powermac: Reject unsupported I2C transactions i2c/chips: Move ds1682 to drivers/misc commit dad3de7d0090280f44ff27131ed2878f1ab6ddad Merge: ed9216c 7a1a8eb Author: Linus Torvalds Date: Tue Dec 8 08:07:16 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM: Add flag for devices capable of generating run-time wake-up events PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status() PM / Runtime: Make documentation of runtime_idle() agree with the code PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend() PM / Runtime: Use deferred_resume flag in pm_request_resume PM / Runtime: Export the PM runtime workqueue PM / Runtime: Fix lockdep warning in __pm_runtime_set_status() PM / Hibernate: Swap, use KERN_CONT PM / Hibernate: Shift remaining code from swsusp.c to hibernate.c PM / Hibernate: Move swap functions to kernel/power/swap.c. PM / freezer: Don't get over-anxious while waiting commit ed9216c1717a3f3738a77908aff78995ea69e7ff Merge: d7fc02c d569672 Author: Linus Torvalds Date: Tue Dec 8 08:02:38 2009 -0800 Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (84 commits) KVM: VMX: Fix comparison of guest efer with stale host value KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c KVM: Drop user return notifier when disabling virtualization on a cpu KVM: VMX: Disable unrestricted guest when EPT disabled KVM: x86 emulator: limit instructions to 15 bytes KVM: s390: Make psw available on all exits, not just a subset KVM: x86: Add KVM_GET/SET_VCPU_EVENTS KVM: VMX: Report unexpected simultaneous exceptions as internal errors KVM: Allow internal errors reported to userspace to carry extra data KVM: Reorder IOCTLs in main kvm.h KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG KVM: only clear irq_source_id if irqchip is present KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic KVM: x86: disallow multiple KVM_CREATE_IRQCHIP KVM: VMX: Remove vmx->msr_offset_efer KVM: MMU: update invlpg handler comment KVM: VMX: move CR3/PDPTR update to vmx_set_cr3 KVM: remove duplicated task_switch check KVM: powerpc: Fix BUILD_BUG_ON condition KVM: VMX: Use shared msr infrastructure ... Trivial conflicts due to new Kconfig options in arch/Kconfig and kernel/Makefile commit d7fc02c7bae7b1cf69269992cf880a43a350cdaa Merge: ee1262d 28b4d5c Author: Linus Torvalds Date: Tue Dec 8 07:55:01 2009 -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: (1815 commits) mac80211: fix reorder buffer release iwmc3200wifi: Enable wimax core through module parameter iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter iwmc3200wifi: Coex table command does not expect a response iwmc3200wifi: Update wiwi priority table iwlwifi: driver version track kernel version iwlwifi: indicate uCode type when fail dump error/event log iwl3945: remove duplicated event logging code b43: fix two warnings ipw2100: fix rebooting hang with driver loaded cfg80211: indent regulatory messages with spaces iwmc3200wifi: fix NULL pointer dereference in pmkid update mac80211: Fix TX status reporting for injected data frames ath9k: enable 2GHz band only if the device supports it airo: Fix integer overflow warning rt2x00: Fix padding bug on L2PAD devices. WE: Fix set events not propagated b43legacy: avoid PPC fault during resume b43: avoid PPC fault during resume tcp: fix a timewait refcnt race ... Fix up conflicts due to sysctl cleanups (dead sysctl_check code and CTL_UNNUMBERED removed) in kernel/sysctl_check.c net/ipv4/sysctl_net_ipv4.c net/ipv6/addrconf.c net/sctp/sysctl.c commit ee1262dbc65ce0b6234a915d8432171e8d77f518 Merge: a421018 7f5620a Author: Linus Torvalds Date: Tue Dec 8 07:48:23 2009 -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: sparc: Set UTS_MACHINE correctly. sparc,leon: init_leon srmmu cleanup sparc32: Remove early interrupt enable. sparc, leon: Added Aeroflex Gaisler entry in manufacturer_info structure sparc64: Faster early-boot framebuffer console. Revert "sparc: Make atomic locks raw" sparc: remove unused nfsd #includes sparc: Fixup last users of irq_chip->typename Added sparc_leon3_snooping_enabled() and converted extern inline to static inline No auxio on LEON apbuart: Use of_find_node_by_path to find root node. sparc: Replace old style lock initializer sparc: Make atomic locks raw apbuart: Fix build and missing driver unregister. apbuart: Kill dependency on deprecated Sparc-only PROM interfaces. apbuart: Fix build warning. sparc: Support for GRLIB APBUART serial port watchdog: Remove BKL from rio watchdog driver sparc: Remove BKL from apc sparc,leon: Sparc-Leon SMP support commit a421018e8c10e5593a1fee076af72a66c3fe8ca3 Merge: 3ad1f3b 86e1d57 Author: Linus Torvalds Date: Tue Dec 8 07:47:46 2009 -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: (294 commits) S3C64XX: Staticise platform data for PCM devices ASoC: Rename controls with a / in wm_hubs snd-fm801: autodetect SF64-PCR (tuner-only) card ALSA: tea575x-tuner: fix mute ASoC: au1x: dbdma2: plug memleak in pcm device creation error path ASoC: au1x: dbdma2: fix oops on soc device removal. ALSA: hda - Fix memory leaks in the previous patch ALSA: hda - Add ALC661/259, ALC892/888VD support ALSA: opti9xx: remove snd_opti9xx fields ALSA: aaci - Clean up duplicate code ALSA: usb - Fix mixer map for Hercules Gamesurround Muse Pocket LT ALSA: hda - Add position_fix quirk for HP dv3 ALSA: hda - Add a pin-fix for FSC Amilo Pi1505 ALSA: hda - Fix Cxt5047 test mode ASoC: pxa/raumfeld: adopt new snd_soc_dai_set_pll() API ASoC: sh: fsi: Add runtime PM support sh: ms7724se: Add runtime PM support for FSI ALSA: hda - Add a position_fix quirk for MSI Wind U115 ALSA: opti-miro: add PnP detection ALSA: opti-miro: separate comon probing code ... commit 3ad1f3b35e8309ec93454dbf89beaafcdb5312da Merge: 1557d33 e91edcf Author: Linus Torvalds Date: Tue Dec 8 07:46:56 2009 -0800 Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: of: merge of_find_all_nodes() implementations of: merge other miscellaneous prototypes of: merge of_*_flat_dt*() functions of: merge of_node_get(), of_node_put() and of_find_all_nodes() of: merge of_read_number() an of_read_ulong() of: merge of_node_*_flag() and set_node_proc_entry() of: merge struct boot_param_header from Microblaze and PowerPC of: add common header for flattened device tree representation of: Move OF_IS_DYNAMIC and OF_MARK_DYNAMIC macros to of.h of: merge struct device_node of: merge phandle, ihandle and struct property of: Rework linux/of.h and asm/prom.h include ordering commit 1557d33007f63dd96e5d15f33af389378e5f2e54 Merge: 6ec22f9 c656ae9 Author: Linus Torvalds Date: Tue Dec 8 07:38:50 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits) security/tomoyo: Remove now unnecessary handling of security_sysctl. security/tomoyo: Add a special case to handle accesses through the internal proc mount. sysctl: Drop & in front of every proc_handler. sysctl: Remove CTL_NONE and CTL_UNNUMBERED sysctl: kill dead ctl_handler definitions. sysctl: Remove the last of the generic binary sysctl support sysctl net: Remove unused binary sysctl code sysctl security/tomoyo: Don't look at ctl_name sysctl arm: Remove binary sysctl support sysctl x86: Remove dead binary sysctl support sysctl sh: Remove dead binary sysctl support sysctl powerpc: Remove dead binary sysctl support sysctl ia64: Remove dead binary sysctl support sysctl s390: Remove dead sysctl binary support sysctl frv: Remove dead binary sysctl support sysctl mips/lasat: Remove dead binary sysctl support sysctl drivers: Remove dead binary sysctl support sysctl crypto: Remove dead binary sysctl support sysctl security/keys: Remove dead binary sysctl support sysctl kernel: Remove binary sysctl logic ... commit 878eaddd05d251cefa9632c2b8046833c5eead66 Author: Vivek Goyal Date: Mon Dec 7 19:37:15 2009 +0100 cfq-iosched: Do not access cfqq after freeing it Fix a crash during boot reported by Jeff Moyer. Fix the issue of accessing cfqq after freeing it. Reported-by: Jeff Moyer Signed-off-by: Vivek Goyal Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit 1b52f2a41c41052d2a7c78af0bd9b8b11d70f49a Author: Jeff Garzik Date: Mon Dec 7 11:41:25 2009 -0500 Revert "pata_sis: Implement MWDMA for the UDMA 133 capable chips" This reverts commit f20941f334d8fdb6b598658979709b4e94cd034b. Sergei Shtylyov notes "You call min() on uncomparables [in mwdma_clip_to_pio()], i.e. mwdma_to_pio[] contains XFER_PIO_* and adev->pio_mode - XFER_PIO_0 yields you a mode number. Thus the second argument will always "win" as a minimal one" Bartlomiej Zolnierkiewicz adds "There are more issues with the patch related to mwdma_clip_to_pio(). The function can return values between 0 and 4 which obviously won't work well for the new code below for values >2 (i.e. resulting in out-of-bounds array access for the common-case of dev->pio_mode == XFER_PIO_4)." Bartlomiej Zolnierkiewicz also notes the patch is incomplete, failing to update MWDMA mode masks. Signed-off-by: Jeff Garzik commit accee7854b378a8ab5995d8f5dc5d8abc3b3d23a Author: Stephen Rothwell Date: Mon Dec 7 19:29:39 2009 +1100 block: include linux/err.h to use ERR_PTR Signed-off-by: Stephen Rothwell Signed-off-by: Jens Axboe commit 3d14b5beba35250c548d3851a2b84fce742d8311 Merge: 0719dc3 1bf8e62 Author: Russell King Date: Sun Dec 6 17:00:33 2009 +0000 Merge branch 'sa1100' into devel commit 1bf8e6219552d5dd27012d567ec8c4bb9c2d86b4 Author: Russell King Date: Sun Dec 6 16:58:50 2009 +0000 Fix soc_common PCMCIA configuration Jonathan Cameron reports that building PCMCIA as modules doesn't work: As module get a load of undefined symbols: ERROR: "soc_pcmcia_request_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_free_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_enable_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_disable_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined! ERROR: "soc_pcmcia_add_one" [drivers/pcmcia/pxa2xx_base.ko] undefined! ERROR: "soc_common_pcmcia_get_timing" [drivers/pcmcia/pxa2xx_base.ko] undefined! ERROR: "soc_pcmcia_remove_one" [drivers/pcmcia/pxa2xx_base.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 This is because soc_common tries to be built-in, but it should be a module. Allow soc_common to be a module. Reported-by: Jonathan Cameron Signed-off-by: Russell King commit ba71e17269633ea36e776d744d5cc0fcb5a41f93 Merge: 729fae4 9823b2d Author: Russell King Date: Sun Dec 6 16:53:09 2009 +0000 Merge branch 'for-lak' of git://git.linuxtogo.org/home/thesing/collie into sa1100 commit 729fae44dd8332cbf5b9d05a9af17a7455e165b2 Author: Dmitry Artamonow Date: Fri Nov 27 12:22:32 2009 +0100 ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit a53c876dc111bb7507ecef3962b9cc17eb43364b Author: Dmitry Artamonow Date: Fri Nov 27 12:18:43 2009 +0100 ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver Many features of h3100/h3600 (LCD, PCMCIA, Flash write, etc.) depend on correct functioning of GPIO expander handled by htc-egpio driver, so force its building in Kconfig. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit ebdb56409d4a65571ca3933b056c5c9e20bb34f5 Author: Dmitry Artamonow Date: Fri Nov 27 12:15:01 2009 +0100 ARM: 5825/1: SA1100: h3600: update defconfig Update defconfig to current kernel, enable support for iPAQ H3100 and following drivers: gpio-keys, htc-egpio, ide_cs. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit e7435f866f86a9a1843dcdc2945f833b26761786 Author: Dmitry Artamonow Date: Fri Nov 27 12:13:47 2009 +0100 ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100 Both iPAQs h3600 and h3100 share the same control GPIOs for PCMCIA, so driver can be reused. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit c463eb62ac5bd8c26578cae42e1d5bb397aed100 Author: Dmitry Artamonow Date: Fri Nov 27 12:13:01 2009 +0100 ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys Add support for "Power" and "Action" (joystick center) buttons - the only buttons on iPaq h3100/h3600 connected to GPIOs (other buttons are controlled by microcontroller) Also remove setting PWER for wakeup on Power button press - gpio-keys driver will handle it. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 4aa9755580650c7135c154bd4276411739e8fb60 Author: Dmitry Artamonow Date: Fri Nov 27 12:12:25 2009 +0100 ARM: 5822/1: SA1100: h3100/h3600: clean up #includes After a code reorganization and following split, there's some #includes now unused. Clean them up and sort remaining alphabetticaly where possible. Compile tested. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 6e23fcb3bdee99468ff16d050b63a0c7fe103992 Author: Dmitry Artamonow Date: Fri Nov 27 12:11:48 2009 +0100 ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates Correct boilerplates after files split. Also shorten them a bit - use standart GPL wording (as per http://lkml.org/lkml/2007/5/1/220) and drop changelog, which only entry about h3800 support and abstracted EGPIOs is just confusing now, as both of these features are gone. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 86e5e38c46b1d188c897f131d3f015ca73677f03 Author: Dmitry Artamonow Date: Fri Nov 27 12:10:55 2009 +0100 ARM: 5820/1: SA1100: h3100/h3600: split h3600.c Split common h3600.c into three separate files: h3100.c, h3600.c and h3xxx.c (the latter contains common code for h3100/h3600) Copyright boilerplates and #includes are copied intact and will be cleaned up later. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 8715b29db2787f7c70f662b7b4d5b01017c61948 Author: Dmitry Artamonow Date: Fri Nov 27 12:09:25 2009 +0100 ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h Combine both headers into one, rename to h3xxx.h and change all users accordingly. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 4c88a5c20f59c07afc4536c219a9c1f196cec36d Author: Dmitry Artamonow Date: Fri Nov 27 12:07:47 2009 +0100 ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions As all existing code was converted to gpiolib, drop no more used pre-gpiolib (bit-shifted) GPIO definintions. Supply new gpiolib-friendly definitions for GPIOs which don't have them yet. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 51834901faee2850e55865589cefd7588202cbf7 Author: Dmitry Artamonow Date: Fri Nov 27 12:07:11 2009 +0100 ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs After conversion to gpiolib there's still some GPIOs left, that get configured in *_mach_init() as outputs (using direct operations on GPCR/GPDR registers), but otherwise unused. These GPIOs are mainly sound related and should be configured by corresponding driver once it is written. Drop this initialisation and configure all GPIOs as input. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit ca912b17c0af886d9090449d5933ac6ca9a7a20f Author: Dmitry Artamonow Date: Fri Nov 27 12:05:28 2009 +0100 ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions As all the remaining users of these definitions (in pcmcia/sa1100_h3600 driver) were converted to gpio_to_irq(), they can be safely removed. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 766f0378a745596eae0bb625b9e3f05a7e7be476 Author: Dmitry Artamonow Date: Fri Nov 27 12:03:52 2009 +0100 ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers As all users of assign_h3600_egpio now converted to gpiolib, we can safely remove all assign_h3600_egpio handling code and definitions. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 22f9740552b89c9f458f972f881d222b298ab165 Author: Dmitry Artamonow Date: Fri Nov 27 12:02:28 2009 +0100 ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib Use of gpio_request/gpio_free in some callbacks may look ugly, but corresponding drivers (sa1100_serial and sa1100_fb) don't provide (yet) init/exit hooks and registering these gpios in *_mach_init is also not possible, because htc-gpio driver starts a bit later... Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 2eec62d7dbaa8ed05f318d88f938a86fcf274b34 Author: Dmitry Artamonow Date: Fri Nov 27 12:00:00 2009 +0100 ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver It will be used for future conversion of assign_h3600_egpio calls to gpiolib. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit cf5a87d80a70958b0622042b0b447f61aca1caf8 Author: Dmitry Artamonow Date: Fri Nov 27 11:58:35 2009 +0100 ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers h3100 and h3600 have different sets of LCD-controlling gpios, which mapped to the same "abstracted" EGPIO. As we plan to get rid of those abstracted egpios completely, we need to separate these helper functions. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 2a83709199adf4e89254e03981c0f9ff6558691f Author: Dmitry Artamonow Date: Sun Dec 6 17:12:49 2009 +0100 ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib Convert all operations with GPLR/GPCR/GPSR to gpiolibs calls. Also change all IRQ_GPIO* to gpio_to_irq(*GPIO*) Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit d0e6041efdcbde53a325d0cf0b5bd09931524146 Author: Dmitry Artamonow Date: Fri Nov 27 11:11:00 2009 +0100 ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins sa1100_fb driver handles this Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 382c14a52d87f50111967f758fcb2d1f188f4415 Author: Dmitry Artamonow Date: Fri Nov 27 11:10:59 2009 +0100 ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h PM_SUSPEND, PM_RESUME and machine_is_h3xxx() are not used anywhere in kernel (checked with git grep), so it's safe to remove them. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 2a151a0f12b136d28f0501fa294462f8e9e310a1 Author: Dmitry Artamonow Date: Fri Nov 27 11:10:58 2009 +0100 ARM: 5796/1: SA1100: h3600: remove IRDA bits from serial PM callback IRDA is handled by separate sa1100-ir driver and has nothing to do with sa1100_serial Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 1e23221e98deff9ef9adad5f2f991723f080b1ee Author: Dmitry Artamonow Date: Fri Nov 27 11:10:57 2009 +0100 ARM: 5797/1: SA1100: h3100/h3600: remove dead links from Kconfig help text Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit e55b20e81d5c40bd04f1747450ca622b105c97a3 Author: Dmitry Artamonow Date: Fri Nov 27 11:06:46 2009 +0100 ARM: 5795/1: SA1100: h3100/h3600: mark *_mach_init functions as __init Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 0fb85a5aa0958b2118eab8e035731051b05775bb Author: Russell King Date: Tue Oct 6 16:40:24 2009 +0100 ARM: iPAQ: no need to set PWER_RTC The rtc-sa1100 driver takes care of this. Signed-off-by: Russell King commit 6e21ee6aa76df6297e6dcea22d6583cafdb669f7 Author: Russell King Date: Tue Oct 6 15:16:27 2009 +0100 ARM: iPAQ: move serial port support functions No point calling sa1100_register_uart_fns early - these aren't used until late in the boot sequence. Also convert to gpiolib support. Signed-off-by: Russell King commit 9c196f0f8db928ef9a2a935d86d75a218a7131b1 Author: Russell King Date: Tue Oct 6 14:36:05 2009 +0100 ARM: iPAQ: convert H3100 IrDA to use generic gpio support Signed-off-by: Russell King commit 0831e3e4cf8abcbb772c0cb1eb4406ffcdb974df Author: Russell King Date: Tue Oct 6 14:35:16 2009 +0100 ARM: iPAQ: provide a way to setup platform-controlled GPIOs Signed-off-by: Russell King commit a5d176a19138eef45e4c7c80a8d3a7c14c8aec53 Author: Russell King Date: Tue Oct 6 14:22:23 2009 +0100 ARM: iPAQ: separate IrDA machine specifics Signed-off-by: Russell King commit 898e810eadb16670c800b3279800bda3a822c6d7 Author: Russell King Date: Tue Oct 6 14:19:44 2009 +0100 ARM: h3600: provide each iPAQ machine type with own init function Signed-off-by: Russell King commit 7a5b4e16c880f8350d255dc188f81622905618c1 Author: Russell King Date: Tue Oct 6 14:55:53 2009 +0100 ARM: sa11x0: convert set_xxx_data() to register_xxx() Only register devices if we have platform data for those which require platform data. Signed-off-by: Russell King commit 6471b68982d3bb1a593c3e183c804ecf830125d3 Author: Jean Delvare Date: Sun Dec 6 17:06:30 2009 +0100 i2c-stub: Documentation update There is nothing sensors-specific to i2c-stub. Signed-off-by: Jean Delvare commit 38f41f282f1f88b4038f019de51cb95984e569d5 Author: Jean Delvare Date: Sun Dec 6 17:06:29 2009 +0100 i2c-stub: Allow user to disable some commands Add a module parameter to override the functionality bitfield. This lets the user disable some commands. This can be used to force a chip driver to take different code paths. Signed-off-by: Jean Delvare commit 4710317891e4824ce1510a6b5066abbd3e917750 Author: Jean Delvare Date: Sun Dec 6 17:06:28 2009 +0100 i2c-stub: Implement I2C block support This is required to test some drivers, for example at24. Signed-off-by: Jean Delvare commit 69b0089a6750a0435570df3ba8456c77b352af55 Author: Jean Delvare Date: Sun Dec 6 17:06:27 2009 +0100 i2c: Refactor for_each callbacks Functions i2c_do_add_adapter() and __attach_adapter() do essentially the same thing, differing only in how the parameters are passed. Same for i2c_do_add_adapter() and __detach_adapter(). Introduce wrappers to normalize the parameters, so that we do not have to duplicate the code. Signed-off-by: Jean Delvare Cc: David Brownell commit 7e2193a8f942a80eef4ae87e3850615450966d0a Author: Jean Delvare Date: Sun Dec 6 17:06:27 2009 +0100 i2c-i801: Retry on lost arbitration The Intel 82801 is sometimes used on systems with a BMC connected. The BMC can access the SMBus, resulting in lost arbitration for the 82801. We should let i2c-core retry transactions for us in this case. Signed-off-by: Jean Delvare commit 9669f54194b4df34c96478d696d9ba2b977545f5 Author: Vincent Sanders Date: Sun Dec 6 17:06:26 2009 +0100 i2c: Remove big kernel lock from i2cdev_open The BKL is held over a kmalloc so cannot protect anything beyond that. The two calls before the kmalloc have their own locking. Improve device open function by removing the now unnecessary ret variable Signed-off-by: Vincent Sanders Signed-off-by: Thomas Gleixner Signed-off-by: Jean Delvare commit c2e90e9b6835d71cbadd42fe5b38704acaccf8aa Author: Jean Delvare Date: Sun Dec 6 17:06:26 2009 +0100 ics932s401: Clean up detect function As kind is now hard-coded to -1, there is room for code clean-ups. Signed-off-by: Jean Delvare Acked-by: "Darrick J. Wong" commit ccfbbd082a1c71667bead7124591ccd09f08ac90 Author: Jean Delvare Date: Sun Dec 6 17:06:25 2009 +0100 i2c: Simplify i2c_detect_address The kind parameter of i2c_detect_address() always has value -1, so we can get rid of it. Next step is to update all i2c detect callback functions to get rid of this now useless parameter. Signed-off-by: Jean Delvare commit c7b25a9e96dc89954ae8d8f473f56fae62030f84 Author: Jean Delvare Date: Sun Dec 6 17:06:24 2009 +0100 i2c: Drop probe, ignore and force module parameters The legacy probe and force module parameters are obsolete now, the same can be achieved using the new_device sysfs interface, which is both more flexible and cheaper (it is implemented by i2c-core rather than replicated in every driver module.) The legacy ignore module parameters can be dropped as well. Ignoring can be done by instantiating a "dummy" device at the problematic address. This is the first step of a huge cleanup to i2c-core's i2c_detect function, i2c.h's I2C_CLIENT_INSMOD* macros, and all drivers that made use of them. Signed-off-by: Jean Delvare commit abe38388e50f4d89726fd0c0cceea61563c7026b Author: Jean Delvare Date: Sun Dec 6 17:06:23 2009 +0100 i2c: Add missing __devinit markers to old i2c adapter drivers These _setup functions are called from _probe so they can be marked __devinit. Signed-off-by: Jean Delvare commit da44bdeb95ea75eec263f42f7703bbf14f004f6a Author: Jean Delvare Date: Sun Dec 6 17:06:22 2009 +0100 i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR I2C bus drivers don't have to support I2C_M_REV_DIR_ADDR. It is a deviation from the I2C specification, which only makes sense to implement when really needed. Signed-off-by: Jean Delvare Cc: Ben Dooks commit 194684e596af4bdaebb424166d94a8aa528edfda Author: Mika Kuoppala Date: Sun Dec 6 17:06:22 2009 +0100 i2c: Prevent priority inversion on top of bus lock Low priority thread holding the i2c bus mutex could block higher priority threads to access the bus resulting in unacceptable latencies. Change the mutex type to rt_mutex preventing priority inversion. Tested-by: Peter Ujfalusi Signed-off-by: Mika Kuoppala Signed-off-by: Jean Delvare commit a0c11cdd6a1975fd8d6d186f2e2865a82f3e9bbf Author: Jean Delvare Date: Sun Dec 6 17:06:21 2009 +0100 i2c-voodoo3: Delete Superseded by tdfxfb. I2C/DDC support used to live in a separate driver but this caused driver conflicts. Signed-off-by: Jean Delvare Cc: Krzysztof Helt commit bc6286e50b4a34d8af52132d6e22f85c6c8853a7 Author: Jean Delvare Date: Sun Dec 6 17:06:20 2009 +0100 i2c-powermac: Drop temporary name buffer We no longer need to write the adapter name to a temporary buffer. We can write it directly to the i2c_adapter's name field. This is more efficient. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt commit 6dfa5ca3c9a35cb395ab1f51e0e500106c85dff4 Author: Jean Delvare Date: Sun Dec 6 17:06:19 2009 +0100 i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus Include the i2c_adapter in struct pmac_i2c_bus. This avoids memory fragmentation and allows for several code cleanups. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt commit d7d838a6ebbab6e786148133b6cf9617144603b4 Author: Jean Delvare Date: Sun Dec 6 17:06:18 2009 +0100 i2c-powermac: Log errors Log errors when they happen, otherwise we have no idea what went wrong. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt Cc: Paul Mackerras commit 02864d58ce102804b148c92e44726d9571d65d1e Author: Jean Delvare Date: Sun Dec 6 17:06:17 2009 +0100 i2c-powermac: Refactor i2c_powermac_smbus_xfer I wanted to add some error logging to the i2c-powermac driver, but found that it was very difficult due to the way the i2c_powermac_smbus_xfer function is organized. Refactor the code in this function so that each low-level function is only called once. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Cc: Benjamin Herrenschmidt Cc: Paul Mackerras commit 6f7e549f873e9ff10a4a27241db568bf7988ee0c Author: Jean Delvare Date: Sun Dec 6 17:06:17 2009 +0100 i2c-powermac: Reject unsupported I2C transactions The i2c-powermac driver doesn't support arbitrary multi-message I2C transactions, only SMBus ones. Make it clear by returning an error if a multi-message I2C transaction is attempted. This is better than only processing the first message, because most callers won't recover from the short transaction. Anyone wishing to issue multi-message transactions should use the SMBus API instead of the raw I2C API. Signed-off-by: Jean Delvare Tested-by: Michel Daenzer Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras commit dddc66ffa048fbc842f5de385031f1826649ffc2 Author: Wolfram Sang Date: Sun Dec 6 17:06:16 2009 +0100 i2c/chips: Move ds1682 to drivers/misc As i2c/chips is deprecated, move ds1682 to a more apropriate location. Build tested. Signed-off-by: Wolfram Sang Acked-by: Grant Likely Signed-off-by: Jean Delvare commit 7a1a8eb58a2c6cd819d17332c5a2c369203635d5 Author: Rafael J. Wysocki Date: Thu Dec 3 21:19:18 2009 +0100 PM: Add flag for devices capable of generating run-time wake-up events Apparently, there are devices that can wake up the system from sleep states and yet are incapable of generating wake-up events at run time. Thus, introduce a flag indicating if given device is capable of generating run-time wake-up events. Signed-off-by: Rafael J. Wysocki commit 965c4ac0613b071d6f035334c5d9d942013df4f9 Author: Rafael J. Wysocki Date: Thu Dec 3 21:04:41 2009 +0100 PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status() Some braces in __pm_runtime_set_status() are not necessary, so remove them. Signed-off-by: Rafael J. Wysocki commit e1b1903eee71c5fa6063bbf713cfc947e76c4e04 Author: Rafael J. Wysocki Date: Thu Dec 3 21:04:08 2009 +0100 PM / Runtime: Make documentation of runtime_idle() agree with the code Currently the ->runtime_idle() callback is documented as having no return value, but in fact it returns int. Although its return value is ignored at the PM core level, it may be used by bus type routines executing the drivers' ->runtime_idle() callbacks. Signed-off-by: Rafael J. Wysocki Reported-by: Alan Stern commit 0ddf0ed1d47e2d4170fa2989273886a1df66a862 Author: Rafael J. Wysocki Date: Thu Dec 3 21:03:57 2009 +0100 PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend() The runtime PM core code assumes that dev->power.timer_expires is nonzero when the timer is scheduled, but it may become zero incidentally in pm_schedule_suspend(). Prevent this from happening by bumping dev->power.timer_expires up to 1 if it's 0 before calling mod_timer(). Signed-off-by: Rafael J. Wysocki Reported-by: Alan Stern commit 63c94801701abfea21570d3302687ec027ed33e8 Author: Alan Stern Date: Thu Dec 3 20:22:34 2009 +0100 PM / Runtime: Use deferred_resume flag in pm_request_resume This patch (as1307) adds a small optimization to __pm_request_resume(). If the device is currently being suspended, there's no need to queue a work routine to resume it. Setting the deferred_resume flag will suffice. (There's also a minor improvement to the function's code layout: An unnecessary "else" is removed.) Also, the patch clarifies the usage of the deferred_resume flag. It is meaningful only while a suspend is in progress, so it should be cleared just before a suspend starts, not just after one ends. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 7b199ca2025f4756daceec8802f07da636c524c9 Author: Alan Stern Date: Thu Dec 3 20:22:21 2009 +0100 PM / Runtime: Export the PM runtime workqueue This patch (as1306) exports the PM runtime workqueue for use by loadable modules. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit bab636b921017f0db6e0c2979438f50b898a9808 Author: Rafael J. Wysocki Date: Thu Dec 3 20:21:21 2009 +0100 PM / Runtime: Fix lockdep warning in __pm_runtime_set_status() Lockdep complains about taking the parent lock in __pm_runtime_set_status(), so mark it as nested. Signed-off-by: Rafael J. Wysocki Reported-by: Alan Stern Cc: stable@kernel.org commit 66d0ae4d6ffa45b8e6d8bdbf85f8f1b285c8152d Author: Jiri Slaby Date: Sun Dec 6 16:16:24 2009 +0100 PM / Hibernate: Swap, use KERN_CONT Use KERN_CONT in save_image() for printks, so that anybody won't try to add a loglevel. Signed-off-by: Jiri Slaby Signed-off-by: Rafael J. Wysocki commit 8e60c6a1348e17e68ad73589a52a03876e7059be Author: Nigel Cunningham Date: Sun Dec 6 16:16:07 2009 +0100 PM / Hibernate: Shift remaining code from swsusp.c to hibernate.c Shift the remaining declaration of the variable in_suspend and the function swsusp_show_speed from swsusp.c to hibernate.c, and delete swsusp.c. Signed-off-by: Nigel Cunningham Signed-off-by: Rafael J. Wysocki commit 0414f2ec03d72dc4e569627e6112fa6dafc99a79 Author: Nigel Cunningham Date: Sun Dec 6 16:15:53 2009 +0100 PM / Hibernate: Move swap functions to kernel/power/swap.c. Move hibernation code's functions for allocating and freeing swap from swsusp.c to swap.c, which is where you'd expect to find them. Signed-off-by: Nigel Cunningham Signed-off-by: Rafael J. Wysocki commit 64357ed468025614d48daa6cc87674ae5616f8fb Merge: be404f0 6ec22f9 Author: Rafael J. Wysocki Date: Sun Dec 6 16:06:11 2009 +0100 Merge branch 'master' into for-linus commit 49966bae8446f5ba7e8afbd01bde82af4e00628a Author: Roel Kluin Date: Wed Nov 18 23:54:12 2009 +0100 m68k: parport_mfc3 - Not makes it a bool before the comparison. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Geert Uytterhoeven commit f699b7f351dceb754d58a836c8c16cf3de749cfc Author: Stephen Rothwell Date: Sat Nov 14 18:20:28 2009 +1100 m68k: don't export static inline functions These now cause errors due to changes present in linux-next: (__ksymtab_sorted+0x1258): undefined reference to `dio_dev_driver' (__ksymtab_sorted+0x4d48): undefined reference to `zorro_dev_driver' Signed-off-by: Stephen Rothwell Signed-off-by: Geert Uytterhoeven commit 8546e3ce6e37c359979b69862442f94e0ef0e03b Author: Krzysztof Helt Date: Sat Oct 24 17:18:23 2009 +0200 fbdev: atafb - add palette register check Add check if palette register number is in correct range for few drivers which miss it. The regno value comes indirectly from user space. Signed-off-by: Krzysztof Helt Signed-off-by: Geert Uytterhoeven commit 87fbaf6aea142b01756bbea09461daee41d93c0b Author: John Kacur Date: Mon Oct 12 23:09:24 2009 +0200 m68k: Remove the BKL from sys_execve This seems like a copy-and-paste from code that no-longer needs the BKL Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Signed-off-by: Geert Uytterhoeven commit 7c5fd5619dc89fb52d2c2cf144fc6e4365427b86 Author: Tim Abbott Date: Sun Sep 27 13:57:55 2009 -0400 m68k: Cleanup linker scripts using new linker script macros. Signed-off-by: Tim Abbott Tested-by: Andreas Schwab Cc: Roman Zippel Cc: Sam Ravnborg Signed-off-by: Geert Uytterhoeven commit 5cdef24b2ab44ca587d46d212468b0cfb5b83a59 Author: Tim Abbott Date: Wed Sep 16 12:44:25 2009 -0400 m68k: Make thread_info.h usable from assembly. [Geert] pulls in , which contains C only. So the include must be moved inside #ifndef __ASSEMBLY__. Signed-off-by: Tim Abbott Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: linux-m68k@lists.linux-m68k.org Cc: Sam Ravnborg Signed-off-by: Geert Uytterhoeven commit f60a5572679ef8508b62bd82063b05ffbe838716 Author: Greg Ungerer Date: Tue Jul 7 15:54:54 2009 +1000 m68knommu: define arch_has_single_step() and friends Towards adding CONFIG_UTRACE support for non-mmu m68k add arch_has_single_step, and its support functions user_enable_single_step() and user_disable_single_step(). [Geert] m68k conflict resolution from linux-next Signed-off-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit bb729bc98c0f3e6a898d8730df3e2830bf68751a Author: Jens Axboe Date: Sun Dec 6 09:54:19 2009 +0100 cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit After the merge of the IO controller patches, booting on my megaraid box ran much slower. Vivek Goyal traced it down to megaraid discovery creating tons of devices, each suffering a grace period when they later kill that queue (if no device is found). So lets use call_rcu() to batch these deferred frees, instead of taking the grace period hit for each one. Signed-off-by: Jens Axboe commit 7f5620a5fcd658f219e85831d3691908f1eccbde Author: David S. Miller Date: Sat Dec 5 17:17:55 2009 -0800 sparc: Set UTS_MACHINE correctly. "ARCH" can be just about anything, so we shouldn't end up with UTS_MACHINE of "sparc" in a 64-bit kernel build just because someone set the personality using 'sparc32' or similar. CONFIG_SPARC64 drives the compilation and therefore provides the definitive value, not "ARCH". This mirrors commit 8c6531f7a99f29ba8817ffb12cc9ecf190049bd6 (x86: correctly set UTS_MACHINE for "make ARCH=x86") Signed-off-by: David S. Miller commit 6ec22f9b037fc0c2e00ddb7023fad279c365324d Merge: 83be7d7 9b3660a Author: Linus Torvalds Date: Sat Dec 5 15:33:27 2009 -0800 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Limit number of per cpu TSC sync messages x86: dumpstack, 64-bit: Disable preemption when walking the IRQ/exception stacks x86: dumpstack: Clean up the x86_stack_ids[][] initalization and other details x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes x86: Suppress stack overrun message for init_task x86: Fix cpu_devs[] initialization in early_cpu_init() x86: Remove CPU cache size output for non-Intel too x86: Minimise printk spew from per-vendor init code x86: Remove the CPU cache size printk's cpumask: Avoid cpumask_t in arch/x86/kernel/apic/nmi.c x86: Make sure we also print a Code: line for show_regs() commit 83be7d764dc4b860712e392197ec27645f9d74a8 Merge: c2ed69c 0d0fbbd Author: Linus Torvalds Date: Sat Dec 5 15:32:35 2009 -0800 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, msr, cpumask: Use struct cpumask rather than the deprecated cpumask_t x86, cpuid: Simplify the code in cpuid_open x86, cpuid: Remove the bkl from cpuid_open() x86, msr: Remove the bkl from msr_open() x86: AMD Geode LX optimizations x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus commit c2ed69cdc9da49a8d2d7b4212fd225abf902ceaa Merge: ef26b16 9eaa192 Author: Linus Torvalds Date: Sat Dec 5 15:32:18 2009 -0800 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix a section mismatch in arch/x86/kernel/setup.c x86: Fixup last users of irq_chip->typename x86: Remove BKL from apm_32 x86: Remove BKL from microcode x86: use kernel_stack_pointer() in kprobes.c x86: use kernel_stack_pointer() in kgdb.c x86: use kernel_stack_pointer() in dumpstack.c x86: use kernel_stack_pointer() in process_32.c commit ef26b1691d11e17af205a4ff9c91458d931d11db Merge: a77d2e0 7cff7ce Author: Linus Torvalds Date: Sat Dec 5 15:32:03 2009 -0800 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: include/linux/compiler-gcc4.h: Fix build bug - gcc-4.0.2 doesn't understand __builtin_object_size x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h x86/alternatives: Check replacementlen <= instrlen at build time x86, 64-bit: Set data segments to null after switching to 64-bit mode x86: Clean up the loadsegment() macro x86: Optimize loadsegment() x86: Add missing might_fault() checks to copy_{to,from}_user() x86-64: __copy_from_user_inatomic() adjustments x86: Remove unused thread_return label from switch_to() x86, 64-bit: Fix bstep_iret jump x86: Don't use the strict copy checks when branch profiling is in use x86, 64-bit: Move K8 B step iret fixup to fault entry asm x86: Generate cmpxchg build failures x86: Add a Kconfig option to turn the copy_from_user warnings into errors x86: Turn the copy_from_user check into an (optional) compile time warning x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy x86: Use __builtin_object_size() to validate the buffer size for copy_from_user() commit a77d2e081bbbccb38f42da45500dd089756efdfb Merge: 897e81b 7d1849a Author: Linus Torvalds Date: Sat Dec 5 15:31:25 2009 -0800 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits) x86, apic: Enable lapic nmi watchdog on AMD Family 11h x86: Remove unnecessary mdelay() from cpu_disable_common() x86, ioapic: Document another case when level irq is seen as an edge x86, ioapic: Fix the EOI register detection mechanism x86, io-apic: Move the effort of clearing remoteIRR explicitly before migrating the irq x86: SGI UV: Map low MMR ranges x86: apic: Print out SRAT table APIC id in hex x86: Re-get cfg_new in case reuse/move irq_desc x86: apic: Remove not needed #ifdef x86: io-apic: IO-APIC MMIO should not fail on resource insertion x86: Remove asm/apicnum.h x86: apic: Do not use stacked physid_mask_t x86, apic: Get rid of apicid_to_cpu_present assign on 64-bit x86, ioapic: Use snrpintf while set names for IO-APIC resourses x86, apic: Use PAGE_SIZE instead of numbers x86: Remove local_irq_enable()/local_irq_disable() in fixup_irqs() x86: Use EOI register in io-apic on intel platforms x86: Force irq complete move during cpu offline x86: Remove move_cleanup_count from irq_cfg x86, intr-remap: Avoid irq_chip mask/unmask in fixup_irqs() for intr-remapping ... commit 897e81bea1fcfcd2c5cdb720c9efdb25da9ff374 Merge: c3fa27d 0cf55e1 Author: Linus Torvalds Date: Sat Dec 5 15:30:49 2009 -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: (35 commits) sched, cputime: Introduce thread_group_times() sched, cputime: Cleanups related to task_times() Revert "sched, x86: Optimize branch hint in __switch_to()" sched: Fix isolcpus boot option sched: Revert 498657a478c60be092208422fefa9c7b248729c2 sched, time: Define nsecs_to_jiffies() sched: Remove task_{u,s,g}time() sched: Introduce task_times() to replace task_{u,s}time() pair sched: Limit the number of scheduler debug messages sched.c: Call debug_show_all_locks() when dumping all tasks sched, x86: Optimize branch hint in __switch_to() sched: Optimize branch hint in context_switch() sched: Optimize branch hint in pick_next_task_fair() sched_feat_write(): Update ppos instead of file->f_pos sched: Sched_rt_periodic_timer vs cpu hotplug sched, kvm: Fix race condition involving sched_in_preempt_notifers sched: More generic WAKE_AFFINE vs select_idle_sibling() sched: Cleanup select_task_rq_fair() sched: Fix granularity of task_u/stime() sched: Fix/add missing update_rq_clock() calls ... commit c3fa27d1367fac63ac8533d6f20ea851d0d70a10 Merge: 96fa2b5 d103d01 Author: Linus Torvalds Date: Sat Dec 5 15:30:21 2009 -0800 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (470 commits) x86: Fix comments of register/stack access functions perf tools: Replace %m with %a in sscanf hw-breakpoints: Keep track of user disabled breakpoints tracing/syscalls: Make syscall events print callbacks static tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook perf: Don't free perf_mmap_data until work has been done perf_event: Fix compile error perf tools: Fix _GNU_SOURCE macro related strndup() build error trace_syscalls: Remove unused syscall_name_to_nr() trace_syscalls: Simplify syscall profile trace_syscalls: Remove duplicate init_enter_##sname() trace_syscalls: Add syscall_nr field to struct syscall_metadata trace_syscalls: Remove enter_id exit_id trace_syscalls: Set event_enter_##sname->data to its metadata trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit perf_event: Initialize data.period in perf_swevent_hrtimer() perf probe: Simplify event naming perf probe: Add --list option for listing current probe events perf probe: Add argv_split() from lib/argv_split.c perf probe: Move probe event utility functions to probe-event.c ... commit 28b4d5cc17c20786848cdc07b7ea237a309776bb Merge: d29cecd 96fa2b5 Author: David S. Miller Date: Sat Dec 5 15:22:26 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: drivers/net/pcmcia/fmvj18x_cs.c drivers/net/pcmcia/nmclan_cs.c drivers/net/pcmcia/xirc2ps_cs.c drivers/net/wireless/ray_cs.c commit 96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1 Merge: 7a797cd b8007ef Author: Linus Torvalds Date: Sat Dec 5 09:53:36 2009 -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: (40 commits) tracing: Separate raw syscall from syscall tracer ring-buffer-benchmark: Add parameters to set produce/consumer priorities tracing, function tracer: Clean up strstrip() usage ring-buffer benchmark: Run producer/consumer threads at nice +19 tracing: Remove the stale include/trace/power.h tracing: Only print objcopy version warning once from recordmcount tracing: Prevent build warning: 'ftrace_graph_buf' defined but not used ring-buffer: Move access to commit_page up into function used tracing: do not disable interrupts for trace_clock_local ring-buffer: Add multiple iterations between benchmark timestamps kprobes: Sanitize struct kretprobe_instance allocations tracing: Fix to use __always_unused attribute compiler: Introduce __always_unused tracing: Exit with error if a weak function is used in recordmcount.pl tracing: Move conditional into update_funcs() in recordmcount.pl tracing: Add regex for weak functions in recordmcount.pl tracing: Move mcount section search to front of loop in recordmcount.pl tracing: Fix objcopy revision check in recordmcount.pl tracing: Check absolute path of input file in recordmcount.pl tracing: Correct the check for number of arguments in recordmcount.pl ... commit 7a797cdcca2b3c0031e580203f18d6c9483aaec5 Merge: bb2166c c13d2f7 Author: Linus Torvalds Date: Sat Dec 5 09:53:21 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix trace_marker output tracing: Fix event format export tracing: Fix return value of tracing_stats_read() commit bb2166c898adb5fe29bc450004926802d2a16035 Merge: 0bf7969 3476994 Author: Linus Torvalds Date: Sat Dec 5 09:53:08 2009 -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: genirq: Fix spurious irq seqfile conversion genirq: switch /proc/irq/*/spurious to seq_file irq: Do not attempt to create subdirectories if /proc/irq/ failed irq: Remove unused debug_poll_all_shared_irqs() irq: Fix docbook comments irq: trivial: Fix typo in comment for #endif commit 0bf7969feae831ede7276f7cc73b586ce0902374 Merge: 69f061e e5af022 Author: Linus Torvalds Date: Sat Dec 5 09:52:46 2009 -0800 Merge branch 'core-softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-softlockup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softlockup: Fix hung_task_check_count sysctl commit 69f061e0c2ed47304b3eeac7fb7bd5268652dc50 Merge: 6077817 f84d49b Author: Linus Torvalds Date: Sat Dec 5 09:52:33 2009 -0800 Merge branch 'core-signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: signal: Print warning message when dropping signals signal: Fix alternate signal stack check commit 607781762e7aae9c976f0a9a8829d4ba3e2da4ab Merge: d0b093a 8bfb2f8 Author: Linus Torvalds Date: Sat Dec 5 09:52:14 2009 -0800 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits) rcu: Make RCU's CPU-stall detector be default rcu: Add expedited grace-period support for preemptible RCU rcu: Enable fourth level of TREE_RCU hierarchy rcu: Rename "quiet" functions rcu: Re-arrange code to reduce #ifdef pain rcu: Eliminate unneeded function wrapping rcu: Fix grace-period-stall bug on large systems with CPU hotplug rcu: Eliminate __rcu_pending() false positives rcu: Further cleanups of use of lastcomp rcu: Simplify association of forced quiescent states with grace periods rcu: Accelerate callback processing on CPUs not detecting GP end rcu: Mark init-time-only rcu_bootup_announce() as __init rcu: Simplify association of quiescent states with grace periods rcu: Rename dynticks_completed to completed_fqs rcu: Enable synchronize_sched_expedited() fastpath rcu: Remove inline from forward-referenced functions rcu: Fix note_new_gpnum() uses of ->gpnum rcu: Fix synchronization for rcu_process_gp_end() uses of ->completed counter rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of ->completed counter rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls ... commit d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5 Merge: 3e72b81 5c82871 Author: Linus Torvalds Date: Sat Dec 5 09:50:22 2009 -0800 Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ratelimit: Make suppressed output messages more useful printk: Remove ratelimit.h from kernel.h ratelimit: Fix/allow use in atomic contexts ratelimit: Use per ratelimit context locking commit 3e72b810e30cdf4655279dd767eb798ac7a8fe5e Merge: 9b269d4 c08f782 Author: Linus Torvalds Date: Sat Dec 5 09:49:59 2009 -0800 Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: mutex: Fix missing conditions to build mutex_spin_on_owner() mutex: Better control mutex adaptive spinning config locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init() locking: Remove unused prototype locking: Reduce ifdefs in kernel/spinlock.c locking: Make inlining decision Kconfig based commit 9b269d4034c7855ac34f0985cc55ee29bd80e80a Merge: 7b626ac 2ea6dec Author: Linus Torvalds Date: Sat Dec 5 09:49:46 2009 -0800 Merge branch 'core-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: generic-ipi: Add smp_call_function_any() generic-ipi: Fix misleading smp_call_function*() description commit 7b626acb8f983eb83b396ab96cc24b18d635d487 Merge: 1ebb275 4528752 Author: Linus Torvalds Date: Sat Dec 5 09:49:07 2009 -0800 Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits) x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree x86/amd-iommu: Remove amd_iommu_pd_table x86/amd-iommu: Move reset_iommu_command_buffer out of locked code x86/amd-iommu: Cleanup DTE flushing code x86/amd-iommu: Introduce iommu_flush_device() function x86/amd-iommu: Cleanup attach/detach_device code x86/amd-iommu: Keep devices per domain in a list x86/amd-iommu: Add device bind reference counting x86/amd-iommu: Use dev->arch->iommu to store iommu related information x86/amd-iommu: Remove support for domain sharing x86/amd-iommu: Rearrange dma_ops related functions x86/amd-iommu: Move some pte allocation functions in the right section x86/amd-iommu: Remove iommu parameter from dma_ops_domain_alloc x86/amd-iommu: Use get_device_id and check_device where appropriate x86/amd-iommu: Move find_protection_domain to helper functions x86/amd-iommu: Simplify get_device_resources() x86/amd-iommu: Let domain_for_device handle aliases x86/amd-iommu: Remove iommu specific handling from dma_ops path x86/amd-iommu: Remove iommu parameter from __(un)map_single x86/amd-iommu: Make alloc_new_range aware of multiple IOMMUs ... commit 1ebb275afcf5a47092e995541d6c604eef96062a Merge: 83fdbfb 26bb750 Author: Linus Torvalds Date: Sat Dec 5 09:47:17 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (31 commits) GFS2: Fix glock refcount issues writeback: remove unused nonblocking and congestion checks (gfs2) GFS2: drop rindex glock to refresh rindex list GFS2: Tag all metadata with jid GFS2: Locking order fix in gfs2_check_blk_state GFS2: Remove dirent_first() function GFS2: Display nobarrier option in /proc/mounts GFS2: add barrier/nobarrier mount options GFS2: remove division from new statfs code GFS2: Improve statfs and quota usability GFS2: Use dquot_send_warning() VFS: Export dquot_send_warning GFS2: Add set_xquota support GFS2: Add get_xquota support GFS2: Clean up gfs2_adjust_quota() and do_glock() GFS2: Remove constant argument from qd_get() GFS2: Remove constant argument from qdsb_get() GFS2: Add proper error reporting to quota sync via sysfs GFS2: Add get_xstate quota function GFS2: Remove obsolete code in quota.c ... commit 83fdbfbfe6e7e8906e3a3f8f6bc074d887e92109 Merge: d9b2c4d c84d6ef Author: Linus Torvalds Date: Sat Dec 5 09:44:57 2009 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (30 commits) TOMOYO: Add recursive directory matching operator support. remove CONFIG_SECURITY_FILE_CAPABILITIES compile option SELinux: print denials for buggy kernel with unknown perms Silence the existing API for capability version compatibility check. LSM: Move security_path_chmod()/security_path_chown() to after mutex_lock(). SELinux: header generation may hit infinite loop selinux: Fix warnings security: report the module name to security_module_request Config option to set a default LSM sysctl: require CAP_SYS_RAWIO to set mmap_min_addr tpm: autoload tpm_tis based on system PnP IDs tpm_tis: TPM_STS_DATA_EXPECT workaround define convenient securebits masks for prctl users (v2) tpm: fix header for modular build tomoyo: improve hash bucket dispersion tpm add default function definitions LSM: imbed ima calls in the security hooks SELinux: add .gitignore files for dynamic classes security: remove root_plug SELinux: fix locking issue introduced with c6d3aaa4e35c71a3 ... commit d9b2c4d0b03c721808c0d259e43a27f1e80205bc Merge: 27d16d0 5fa9167 Author: Linus Torvalds Date: Sat Dec 5 09:42:59 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (50 commits) pcmcia: rework the irq_req_t typedef pcmcia: remove deprecated handle_to_dev() macro pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer pcmcia: remove unused "window_t" typedef pcmcia: move some window-related code to pcmcia_ioctl.c pcmcia: Change window_handle_t logic to unsigned long pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page() pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page() pcmcia: Pass struct pcmcia_device to pcmcia_release_window() drivers/pcmcia: remove unnecessary kzalloc pcmcia: correct handling for Zoomed Video registers in topic.h pcmcia: fix printk formats pcmcia: autoload module pcmcia pcmcia/staging: update comedi drivers PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket PCMCIA: ss: allow PCI IRQs > 255 PCMCIA: soc_common: remove 'dev' member from soc_pcmcia_socket PCMCIA: soc_common: constify soc_pcmcia_socket ops member PCMCIA: sa1111: remove duplicated initializers PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data ... commit 27d16d08717faeaa8afd1b736a096dbaab90f08e Author: David Daney Date: Fri Dec 4 17:44:54 2009 -0800 avr32: Convert BUG() to use unreachable() Use the new unreachable() macro instead of for(;;); Signed-off-by: David Daney Acked-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit 5506e68975c346e55f786b554e28e368cdede444 Author: David Daney Date: Fri Dec 4 17:44:53 2009 -0800 s390: Convert BUG() to use unreachable() Use the new unreachable() macro instead of for(;;); Signed-off-by: David Daney Acked-by: Martin Schwidefsky CC: Heiko Carstens CC: linux390@de.ibm.com CC: linux-s390@vger.kernel.org Signed-off-by: Linus Torvalds commit 4ef5651e85589e3aaca704c6d2d7ae7e794e5d25 Author: David Daney Date: Fri Dec 4 17:44:52 2009 -0800 MIPS: Convert BUG() to use unreachable() Use the new unreachable() macro instead of while(1); Signed-off-by: David Daney Acked-by: Ralf Baechle CC: linux-mips@linux-mips.org Signed-off-by: Linus Torvalds commit a5fc5eba4dfcc284e6adcd7fdcd5b43182230d2b Author: David Daney Date: Fri Dec 4 17:44:51 2009 -0800 x86: Convert BUG() to use unreachable() Use the new unreachable() macro instead of for(;;);. When allyesconfig is built with a GCC-4.5 snapshot on i686 the size of the text segment is reduced by 3987 bytes (from 6827019 to 6823032). Signed-off-by: David Daney Acked-by: "H. Peter Anvin" CC: Thomas Gleixner CC: Ingo Molnar CC: x86@kernel.org Signed-off-by: Linus Torvalds commit 38938c879eb0c39edf85d5164aa0cffe2874304c Author: David Daney Date: Fri Dec 4 17:44:50 2009 -0800 Add support for GCC-4.5's __builtin_unreachable() to compiler.h (v2) Starting with version 4.5, GCC has a new built-in function __builtin_unreachable() that can be used in places like the kernel's BUG() where inline assembly is used to transfer control flow. This eliminated the need for an endless loop in these places. The patch adds a new macro 'unreachable()' that will expand to either __builtin_unreachable() or an endless loop depending on the compiler version. Change from v1: Simplify unreachable() for non-GCC 4.5 case. Signed-off-by: David Daney Acked-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 0719dc341389882cc834ed18fc9b7fc6006b2b85 Merge: e28edb7 677f4f6 Author: Russell King Date: Sat Dec 5 10:35:33 2009 +0000 Merge branch 'devel-stable' into devel commit e28edb723e64200554194da17617ee6e82de6690 Merge: 2fc4281 01c62c9 43234b1 183bd50 50dcfa0 045868d 6635529 870725d Author: Russell King Date: Sat Dec 5 10:35:18 2009 +0000 Merge branches 'at91', 'ep93xx', 'etm', 'ks8695', 'nuc', 'u300' and 'u8500' into devel commit d29cecda036f251aee4947f47eea0fe9ed8cc931 Author: Johannes Berg Date: Fri Dec 4 14:25:43 2009 -0800 mac80211: fix reorder buffer release My patch "mac80211: correctly place aMPDU RX reorder code" uses an skb queue for MPDUs that were released from the buffer. I intentially didn't initialise and use the skb queue's spinlock, but in this place forgot that the code variant that doesn't touch the spinlock is needed. Thanks to Christian Lamparter for quickly spotting the bug in the backtrace Reinette reported. Reported-by: Reinette Chatre Bug-identified-by: Christian Lamparter Tested-by: Reinette Chatre Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8f56874bd7e8bee73ed6a1cf80dcec2753616262 Merge: 47e1c32 159bcfe Author: David S. Miller Date: Fri Dec 4 13:25:15 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit f195e2bff3000b8bc251ee6f685e0f027eec6f25 Author: Andreas Schwab Date: Tue May 19 15:38:01 2009 +0200 m68k: ptrace fixes This fixes the following issues in ptrace: - when single stepping into the signal handler stop at the first insn of the handler - handle non-zero stkadj when accessing pc and sr in ptregs - correctly handle PT_SR in PTRACE_POKEUSR - report -EIO when trying to read unknown offset in PTRACE_PEEKUSR Additionally, the handling of the special case that PT_SR accesses a 16 bit word instead of a 32 bit word has been moved into get_reg/put_reg. Signed-off-by: Andreas Schwab Signed-off-by: Geert Uytterhoeven commit faa47b466935e73251b18b17d51455b06ed65764 Author: Andreas Schwab Date: Sun May 10 21:14:52 2009 +0200 m68k: use generic code for ptrace requests Remove all but PTRACE_{PEEK,POKE}USR and PTRACE_{GET,SET}{REGS,FPREGS} from arch_ptrace and let the rest be handled by generic code. Define PTRACE_SINGLEBLOCK to enable singleblock tracing. [Geert] Not yet applicable for m68knommu Signed-off-by: Andreas Schwab Signed-off-by: Geert Uytterhoeven commit 4f672ce298e1b53a2f16571ef87810d0f73bfb1f Author: Geert Uytterhoeven Date: Wed Mar 18 23:29:27 2009 +0100 rtc: Add an RTC driver for the Ricoh RP5C01 Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo commit 4f9b9bba1dd1489909f4cb339233ced979663297 Author: Geert Uytterhoeven Date: Wed Mar 18 23:29:27 2009 +0100 rtc: Add an RTC driver for the Oki MSM6242 Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo commit 159bcfeb9123c91f0dc885a42b6387a98192f896 Author: Samuel Ortiz Date: Thu Dec 3 11:40:18 2009 +0100 iwmc3200wifi: Enable wimax core through module parameter When debugging the wifi firmware, we need to disable the wimax core to gain some memory space. The default value will keep the wimax core enabled. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 43b5ffe1162a7fbaa89f1c392a28ac54c2e932f7 Author: Samuel Ortiz Date: Thu Dec 3 11:40:17 2009 +0100 iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter Wifi and wimax coexistence mode is set by wifi at boot time. There can be several modes, defined by priority tables. User space components can decide which one to select by writing to /sys/module/iwmc3200wifi/parameters/wiwi with this patch, before bringing the interface up. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 1ee9d426ff8ae8312137fc9407eff23ca81cef26 Author: Samuel Ortiz Date: Thu Dec 3 11:40:16 2009 +0100 iwmc3200wifi: Coex table command does not expect a response When sending the wiwi coexistence priority table, we should not tell the LMAC that we want a response. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit f330d4f9dfd50c1870a3c4b4b3f855e78eb9ceaa Author: Samuel Ortiz Date: Thu Dec 3 11:40:15 2009 +0100 iwmc3200wifi: Update wiwi priority table This update follows the firmware engineers recommendations. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 250cce26d5d03337aec4ff8405121f026adb4a89 Author: Reinette Chatre Date: Wed Dec 2 12:53:01 2009 -0800 iwlwifi: driver version track kernel version The driver version number is a remnant from when there was an out-of-tree iwlwifi driver. Now that the driver forms part of kernel source we do not need a separate driver version. Instead, we now use the kernel version as driver version. We maintain the previous tags used to indicate which components the driver has been compiled with. Signed-off-by: Reinette Chatre Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 212fb57519a65c8e15bd3f5db87c3328fcde88de Author: Wey-Yi Guy Date: Wed Dec 2 12:53:00 2009 -0800 iwlwifi: indicate uCode type when fail dump error/event log error_event_table_ptr is only set upon receipt of REPLY_ALIVE. Until then both event log and error log will fail. Add information to indicate which uCode encounter the failure case. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bd3709b546f0113b41f0ecceaf3452a073739bbc Author: Wey-Yi Guy Date: Wed Dec 2 12:52:59 2009 -0800 iwl3945: remove duplicated event logging code In the process of improving uCode event logging capability, the new implementation was introduced without removing the existing implementation. The event log will be dumped to dmesg twice. Remove the old implementation to only log the event once upon sys assert or request by user. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit df98a4967002d0df88d92f89662261e3a7867cf7 Author: Johannes Berg Date: Wed Dec 2 11:20:36 2009 +0100 b43: fix two warnings My gcc appears to be able to see past the function boundary and notices that the variable 'behaviour' could be used uninitialised: drivers/net/wireless/b43/leds.c: In function ‘b43_leds_register’: drivers/net/wireless/b43/leds.c:339: warning: ‘behaviour’ may be used uninitialized in this function drivers/net/wireless/b43/leds.c: In function ‘b43_leds_init’: drivers/net/wireless/b43/leds.c:262: warning: ‘behaviour’ may be used uninitialized in this function because b43_led_get_sprominfo() didn't initialise it in all cases. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 52ce3e9a7db754b78cf2cbabc87013f921b25b28 Author: Zhu Yi Date: Wed Dec 2 14:24:37 2009 +0800 ipw2100: fix rebooting hang with driver loaded Add PCI .shutdown method so that we can disable the device during shutdown or reboot. Without this, the reboot doesn't work well on some platforms. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2124 Tested-by: pablo Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 269ac5fd2d75b118d76a2291e28796527db2f3f8 Author: Kalle Valo Date: Tue Dec 1 10:47:15 2009 +0200 cfg80211: indent regulatory messages with spaces The regulatory messages in syslog look weird: kernel: cfg80211: Regulatory domain: US kernel: ^I(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) kernel: ^I(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm) kernel: ^I(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm) kernel: ^I(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm) Indent them with four spaces instead of the tab character to get prettier output. Signed-off-by: Kalle Valo Acked: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6646a664e3b60bf3e5db676e0626e6ccd71b3363 Author: Zhu Yi Date: Tue Dec 1 11:48:50 2009 +0800 iwmc3200wifi: fix NULL pointer dereference in pmkid update When handling IWM_CMD_PMKID_FLUSH command, the bssid and pmkid in pmksa are all NULL. Check it before memcpy. Signed-off-by: Zhu Yi Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit 914828fad09269292be1bfa3dfbe78d064f76068 Author: Jouni Malinen Date: Sun Nov 29 14:29:42 2009 +0200 mac80211: Fix TX status reporting for injected data frames An earlier optimization on removing unnecessary traffic on cooked monitor interfaces ("mac80211: reduce the amount of unnecessary traffic on cooked monitor interfaces ") ended up removing quite a bit more than just unnecessary traffic. It was not supposed to remove TX status reporting for injected frames, but ended up doing it by checking the injected flag in skb->cb only after that field had been cleared with memset.. Fix this by taking a local copy of the injected flag before skb->cb is cleared. This broke user space applications that depend on getting TX status notifications for injected data frames. For example, STA inactivity poll from hostapd did not work and ended up kicking out stations even if they were still present. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit a9a29ce674ac62e7bfcb6c1404ca86cda4782988 Author: Gabor Juhos Date: Fri Nov 27 12:01:35 2009 +0100 ath9k: enable 2GHz band only if the device supports it Currently, the 2GHz band is enabled unconditionally, even if the device does not support it. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 1f351e3840dcf25aaddec2d908c3ab06ae105ee6 Author: Michael Buesch Date: Wed Nov 25 22:55:11 2009 +0100 airo: Fix integer overflow warning On BigEndian gcc complains: drivers/net/wireless/airo.c: In function ‘sniffing_mode’: drivers/net/wireless/airo.c:4809: warning: integer overflow in expression Fix this by doing the bitwise AND on the host-endian value. Signed-off-by: John W. Linville commit a5186e997524578b4ba91390ad947c767450dac8 Author: Gertjan van Wingerde Date: Tue Nov 24 23:11:32 2009 +0100 rt2x00: Fix padding bug on L2PAD devices. While reviewing the l2pad function to align both the header and the payload on a DMA-capable boundary a bug was discovered where the payload would not be properly aligned. The header_align value was used where the payload_align value should have been used. Signed-off-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1014eb6ec95b18f890101e99385f05539c0c2f01 Author: Jean Tourrilhes Date: Tue Nov 24 10:47:08 2009 -0800 WE: Fix set events not propagated I've just noticed that some events are no longer propagated for some wireless drivers. Basically, SET request with a extra payload for driver without commit handler. The fix is pretty simple, see attached. Actually, a few lines below this line, you will see that the event generation for simple SET (iwpoint-less ?) is done properly, and this other event generation does not need fixing. Signed-off-by: Jean Tourrilhes Signed-off-by: John W. Linville commit 316a4d966cae3c2dec83ebb1ee1a3515f97b30ff Author: Larry Finger Date: Mon Nov 23 18:42:36 2009 -0600 b43legacy: avoid PPC fault during resume For PPC architecture with PHY Revision < 3, a read of the register B43_MMIO_HWENABLED_LO will cause a CPU fault unless b43legacy_status() returns a value of 2 (B43legacy_STAT_STARTED); however, one finds that the driver is unable to associate after resuming from hibernation unless this routine returns 1. To satisfy both conditions, the routine is rewritten to return TRUE whenever b43legacy_status() returns a value < 2. This patch fixes the second problem listed in the postings for Red Hat Bugzilla #538523. Signed-off-by: Larry Finger Cc: Stable Signed-off-by: John W. Linville commit c2ff581acab16c6af56d9e8c1a579bf041ec00b1 Author: Larry Finger Date: Mon Nov 23 18:40:45 2009 -0600 b43: avoid PPC fault during resume The routine b43_is_hw_radio_enabled() has long been a problem. For PPC architecture with PHY Revision < 3, a read of the register B43_MMIO_HWENABLED_LO will cause a CPU fault unless b43_status() returns a value of 2 (B43_STAT_STARTED) (BUG 14181). Fixing that results in Bug 14538 in which the driver is unable to reassociate after resuming from hibernation because b43_status() returns 0. The correct fix would be to determine why the status is 0; however, I have not yet found why that happens. The correct value is found for my device, which has PHY revision >= 3. Returning TRUE when the PHY revision < 3 and b43_status() returns 0 fixes the regression for 2.6.32. This patch fixes the problem in Red Hat Bugzilla #538523. Signed-off-by: Larry Finger Tested-by: Christian Casteyde Signed-off-by: John W. Linville commit 677f4f64e4b2336682f0e15c69b206ade6f6b131 Merge: 4567c4a fedea67 Author: Russell King Date: Fri Dec 4 17:34:50 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit 4567c4a89693416ccca02d32109bce967e9c1ade Merge: 602fd7c 19d6c13 Author: Russell King Date: Fri Dec 4 17:34:16 2009 +0000 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable commit 602fd7c36728a04e61a442c9755e7d454501266c Merge: d7931d9 88d2704 Author: Russell King Date: Fri Dec 4 17:33:54 2009 +0000 Merge branch 'for-rmk' of git://git.fluff.org/bjdooks/linux into devel-stable Conflicts: arch/arm/Kconfig commit 846954b0a32f4ae953e082eabd178e7a98dd2efd Author: Vivek Goyal Date: Fri Dec 4 10:36:43 2009 -0500 blkio: Allow CFQ group IO scheduling even when CFQ is a module o Now issues of blkio controller and CFQ in module mode should be fixed. Enable the cfq group scheduling support in module mode. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 3e2520668970aab5a764044a298e987aafc1f63d Author: Vivek Goyal Date: Fri Dec 4 10:36:42 2009 -0500 blkio: Implement dynamic io controlling policy registration o One of the goals of block IO controller is that it should be able to support mulitple io control policies, some of which be operational at higher level in storage hierarchy. o To begin with, we had one io controlling policy implemented by CFQ, and I hard coded the CFQ functions called by blkio. This created issues when CFQ is compiled as module. o This patch implements a basic dynamic io controlling policy registration functionality in blkio. This is similar to elevator functionality where ioschedulers register the functions dynamically. o Now in future, when more IO controlling policies are implemented, these can dynakically register with block IO controller. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 9d6a986c0b276085f7944cd8ad65f4f82aff7536 Author: Vivek Goyal Date: Fri Dec 4 10:36:41 2009 -0500 blkio: Export some symbols from blkio as its user CFQ can be a module o blkio controller is inside the kernel and cfq makes use of interfaces exported by blkio. CFQ can be a module too, hence export symbols used by CFQ. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit b69f2292063d2caf37ca9aec7d63ded203701bf3 Author: Louis Rilling Date: Fri Dec 4 14:52:42 2009 +0100 block: Fix io_context leak after failure of clone with CLONE_IO With CLONE_IO, parent's io_context->nr_tasks is incremented, but never decremented whenever copy_process() fails afterwards, which prevents exit_io_context() from calling IO schedulers exit functions. Give a task_struct to exit_io_context(), and call exit_io_context() instead of put_io_context() in copy_process() cleanup path. Signed-off-by: Louis Rilling Signed-off-by: Jens Axboe commit 61cc74fbb87af6aa551a06a370590c9bc07e29d9 Author: Louis Rilling Date: Fri Dec 4 14:52:41 2009 +0100 block: Fix io_context leak after clone with CLONE_IO With CLONE_IO, copy_io() increments both ioc->refcount and ioc->nr_tasks. However exit_io_context() only decrements ioc->refcount if ioc->nr_tasks reaches 0. Always call put_io_context() in exit_io_context(). Signed-off-by: Louis Rilling Signed-off-by: Jens Axboe commit 86e1d57e4f24ca27ce813bdc2afaac4adafcbaf4 Merge: baf9226 ac2c92e Author: Takashi Iwai Date: Fri Dec 4 16:22:45 2009 +0100 Merge branch 'topic/hda' into for-linus commit baf9226667734579e344f612ed39f727079cad51 Merge: 57648cd 43f0de8 Author: Takashi Iwai Date: Fri Dec 4 16:22:41 2009 +0100 Merge branch 'topic/asoc' into for-linus commit 57648cd52b1848c6885bdbd948d113d52f3ddd43 Merge: 7959832 fb716c0 Author: Takashi Iwai Date: Fri Dec 4 16:22:37 2009 +0100 Merge branch 'topic/misc' into for-linus commit 79598324838a25cc378ecbb8c29dd1e3d3951d35 Merge: 8ee763b b00615d Author: Takashi Iwai Date: Fri Dec 4 16:22:32 2009 +0100 Merge branch 'topic/core-change' into for-linus commit 2fc42814d8a9dd757abc7f80fbf11e9247e97d40 Merge: c6baa19 29cb8d0 Author: Russell King Date: Fri Dec 4 15:00:08 2009 +0000 Merge branch 'pending-dma-streaming' (early part) into devel commit c6baa1963c2a76ffdb157e8b9a5a55b30046b125 Merge: 5cb2faa 26a26d3 Author: Russell King Date: Fri Dec 4 15:00:00 2009 +0000 Merge branch 'pending-dma-coherent' into devel commit 5cb2faa6ede7ada9cb2bffc832c4ce60f53d6834 Merge: e0ee985 6060e8d Author: Russell King Date: Fri Dec 4 14:59:47 2009 +0000 Merge branch 'pending-misc' (early part) into devel commit 6060e8df517847bf445ebc61de7d4d9c7faae990 Author: Russell King Date: Sun Oct 25 14:12:27 2009 +0000 ARM: I-cache: flush executable mappings in flush_cache_range() Dirk Behme reported instability on ARM11 SMP (VIPT non-aliasing cache) caused by the dynamic linker changing protection on text pages to write GOT entries. The problem is due to an interaction between the write faulting code providing new anonymous pages which are incoherent with the I-cache due to write buffering, and the I-cache not having been invalidated. a4db94d plugs the hole with the data cache coherency. This patch provides the other half of the fix by flushing the I-cache in flush_cache_range() for VM_EXEC VMAs (which is what we have when the region is being made executable again.) This ensures that the I-cache will be up to date with the newly COW'd pages. Note: if users are writing instructions, then they still need to use the ARM sys_cacheflush API to ensure that the caches are correctly synchronized. Signed-off-by: Russell King commit ea201dbb78651c71c56e440b8b3132906bc7456d Author: Russell King Date: Sun Oct 25 14:31:40 2009 +0000 ARM: I-cache: avoid flushing in flush_cache_mm() flush_cache_mm() is called in two cases: 1. when a process exits, just before the page tables are torn down. We can allow the stale lines to evict themselves over time without causing any harm. 2. when a process forks, and we've allocated a new ASID. The instruction cache issues are dealt with as pages are brought into the new process address space. Flushing the I-cache here is therefore unnecessary. However, we must keep the VIPT aliasing D-cache flush to ensure that any dirty cache lines are not written back after the pages have been reallocated for some other use - which would result in corruption. Signed-off-by: Russell King commit 9e95922b1016ac941db7edcf6b6088b3c2e916c8 Author: Russell King Date: Sun Oct 25 13:35:13 2009 +0000 ARM: I-cache: Add invalidation for VIVT ASID tagged caches Signed-off-by: Russell King commit 115b22474eb1905da2f606a057da3455833333d3 Author: Catalin Marinas Date: Tue Nov 24 18:54:07 2009 +0100 ARM: 5794/1: Flush the D-cache during copy_user_highpage() The I and D caches for copy-on-write pages on processors with write-allocate caches become incoherent causing problems on application relying on CoW for text pages (dynamic linker relocating symbols in a text page). This patch flushes the D-cache for such pages. Cc: Nicolas Pitre Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f91fb05d826a43063fa0aa2ec30c23d3993a208d Author: Russell King Date: Sat Oct 24 23:05:34 2009 +0100 ARM: Remove __flush_icache_all() from __flush_dcache_page() Both call sites for __flush_dcache_page() end up calling __flush_icache_all() themselves, so having __flush_dcache_page() do this as well is wasteful. Remove the duplicated icache flushing. Signed-off-by: Russell King commit 2df341edf6b8a2db7f414d00faeadccbdd9844ab Author: Russell King Date: Sat Oct 24 22:58:40 2009 +0100 ARM: Move __flush_icache_all() out of flush_pfn_alias() Signed-off-by: Russell King commit 7b0a1003e780193e2a11c27f5059c26b65f60679 Author: Russell King Date: Sat Oct 24 14:11:59 2009 +0100 ARM: Reduce __flush_dcache_page() visibility Signed-off-by: Russell King commit cb711a1931363b8ad4dc98df4a92c262ced8eeb4 Author: Wim Van Sebroeck Date: Sun Nov 15 13:44:54 2009 +0000 [WATCHDOG] iTCO_wdt.c - cleanup chipset documentation Cleanup the documentation about the supported chipsets. Signed-off-by: Wim Van Sebroeck commit 79e8941dda254505bb8af37b3a009165dfb7e98a Author: Seth Heasley Date: Wed Nov 11 02:24:01 2009 +0100 [WATCHDOG] iTCO_wdt: Add support for Intel Ibex Peak Add the Intel Ibex Peak (PCH) Device IDs to iTCO_wdt.c. Signed-off-by: Seth Heasley Signed-off-by: Wim Van Sebroeck commit e02f838eedef1533f7a1bcf21fe724c3c93093f9 Author: Ben Dooks Date: Fri Oct 30 00:30:25 2009 +0000 [WATCHDOG] CPUFREQ: S3C24XX Watchdog frequency scaling support. Add support for CPU frequency scaling to the S3C24XX Watchdog driver. Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks Signed-off-by: Wim Van Sebroeck commit fedea672a3aab3b99d03e69805ee423c73af1961 Author: Robert Schwebel Date: Thu Dec 3 20:30:34 2009 +0100 mx31moboard: fix typo Currently, linux-next breaks due to a typo introduced in commit 33c4d91928bea4444b067e620496befbeb87029c This patch fixes it. Signed-off-by: Robert Schwebel Cc: Valentin Longchamp Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 3c764b7a654668dd04905841d6024f7b6aa843a5 Author: Shaohua Li Date: Fri Dec 4 13:12:06 2009 +0100 cfq-iosched: make nonrot check logic consistent cfq_arm_slice_timer() has logic to disable idle window for SSD device. The same thing should be done at cfq_select_queue() too, otherwise we will still see idle window. This makes the nonrot check logic consistent in cfq. Tests in a intel SSD with low_latency knob close, below patch can triple disk thoughput for muti-thread sequential read. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe commit 43f0de8d0298e624e6c3bf2185b6003a59b331bd Author: Mark Brown Date: Fri Nov 27 16:43:53 2009 +0000 S3C64XX: Staticise platform data for PCM devices The symbols aren't declared and don't need to be exported, they go along with the device structure. Signed-off-by: Mark Brown Acked-by: Ben Dooks commit 3482594802d80a595ca50b16d3a25bcc1eb480c8 Author: Joonyoung Shim Date: Fri Dec 4 15:12:10 2009 +0900 ASoC: Rename controls with a / in wm_hubs This renames from a character / to : of controls. A / occurs below error messages. ASoC: Failed to create IN2RP/VXRP debugfs file ASoC: Failed to create IN2LP/VXRN debugfs file Signed-off-by: Joonyoung Shim Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 237e5bc4e51813e9d8ba9da0f63e7acc608882d7 Author: Jens Axboe Date: Fri Dec 4 10:07:38 2009 +0100 io controller: quick fix for blk-cgroup and modular CFQ It's currently not an allowed configuration, so express that in Kconfig. Signed-off-by: Jens Axboe commit f2eecb91522686edf8199947b77f435a4031d92f Author: Jens Axboe Date: Fri Dec 4 10:06:35 2009 +0100 cfq-iosched: move IO controller declerations to a header file They should not be declared inside some other file that's not related to CFQ. Signed-off-by: Jens Axboe commit 47e1c323069bcef0acb8a2b48921688573f5ca63 Author: Eric Dumazet Date: Thu Dec 3 00:49:01 2009 +0000 tcp: fix a timewait refcnt race After TCP RCU conversion, tw->tw_refcnt should not be set to 1 in inet_twsk_alloc(). It allows a RCU reader to get this timewait socket, while we not yet stabilized it. Only choice we have is to set tw_refcnt to 0 in inet_twsk_alloc(), then atomic_add() it later, once everything is done. Location of this atomic_add() is tricky, because we dont want another writer to find this timewait in ehash, while tw_refcnt is still zero ! Thanks to Kapil Dakhane tests and reports. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 13475a30b66cdb9250a34052c19ac98847373030 Author: Eric Dumazet Date: Wed Dec 2 22:31:19 2009 +0000 tcp: connect() race with timewait reuse Its currently possible that several threads issuing a connect() find the same timewait socket and try to reuse it, leading to list corruptions. Condition for bug is that these threads bound their socket on same address/port of to-be-find timewait socket, and connected to same target. (SO_REUSEADDR needed) To fix this problem, we could unhash timewait socket while holding ehash lock, to make sure lookups/changes will be serialized. Only first thread finds the timewait socket, other ones find the established socket and return an EADDRNOTAVAIL error. This second version takes into account Evgeniy's review and makes sure inet_twsk_put() is called outside of locked sections. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ff33a6e2ab97f4cde484cdf1a41778af6d6b7cff Author: Suresh R Date: Thu Dec 3 16:15:52 2009 -0800 be2net: Add support for ethtool self test This patch adds support for ethtool selftest. From: Suresh R Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 49d09007879ce7bee36ab453c73e97c00adce884 Author: Eric Dumazet Date: Thu Dec 3 16:06:13 2009 -0800 tcp: diag: Dont report negative values for rx queue Both netlink and /proc/net/tcp interfaces can report transient negative values for rx queue. ss -> State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB -6 6 127.0.0.1:45956 127.0.0.1:3333 netstat -> tcp 4294967290 6 127.0.0.1:37784 127.0.0.1:3333 ESTABLISHED This is because we dont lock socket while computing tp->rcv_nxt - tp->copied_seq, and another CPU can update copied_seq before rcv_next in RX path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3320eae51d6e4c65b4733bf4d87de3b833973a1f Author: Tristram Ha Date: Thu Dec 3 11:06:42 2009 +0000 net: Fix ks8851 snl NULL pointer dereference Oops This fixes the NULL pointer dereference Oops in the ks8851 snl network driver during transmission. All socket buffers from the queue are processed inside the loop, but new workqueues have been scheduled to run. Signed-off-by: Tristram Ha Signed-off-by: David S. Miller commit fc4a7489663250360cd40d5adf06a08d1c5d54df Author: Patrick Mullaney Date: Thu Dec 3 15:59:22 2009 -0800 netdevice: provide common routine for macvlan and vlan operstate management Provide common routine for the transition of operational state for a leaf device during a root device transition. Signed-off-by: Patrick Mullaney Acked-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 012093f6d5d89e6ed6e89c55c383f84b1cff7a78 Author: Michael Chan Date: Thu Dec 3 15:58:00 2009 -0800 bnx2: Refine VPD logic. - Replace magic values with constants - Simplify length calculation and fix a bug Based on valuable feedback from Ben Hutchings Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b471446cb376e2d1a4ceb4695059acfc3437f32 Author: Jesse Brandeburg Date: Thu Dec 3 11:33:54 2009 +0000 ixgbe: use EIAM to automask MSI-X when disabling interrupts, driver was writing with IO, this is no necessary because on ixgbe parts the hardware can "oneshot" disable and clear the interrupt. So on 82598/82599 use of EIAM should avoid one posted write per interrupt when in MSI-X mode. This should improve performance and seems to in my limited testing, reduce CPU utilization VERY slightly. Signed-off-by: Jesse Brandeburg Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7ca3bc582cd24c2e6c0693a2ba2c71f3c2419c8b Author: Jesse Brandeburg Date: Thu Dec 3 11:33:29 2009 +0000 ixgbe: performance tweaks drop variables that had cache lines modified in simultaneous hot paths. keep some variables modified on hot paths but make their storage per queue. cache align DMA data buffer start addresses. cache align (padding) some structures that end within a cacheline. Signed-off-by: Jesse Brandeburg Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6bacb3007928deeb30ddd2a3b6d5011bc7e5a01f Author: Jesse Brandeburg Date: Thu Dec 3 11:33:07 2009 +0000 ixgbe: change default ring size decrease the memory utilization of the tx / rx queue allocation by changing the default ring size to 512 (from 1024). At 1024 rx entries of 2KB each (from 4kB slab) with 16 queues ixgbe was using 64 MB of memory per port, which is not necessary. Users can still change queue lengths with ethtool -k. Signed-off-by: Jesse Brandeburg Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5f715823a0f54ed010af9a27677ff8e992d745e8 Author: Yi Zou Date: Thu Dec 3 11:32:44 2009 +0000 ixgbe: select FCoE Tx queue in ndo_select_queue This removes the Tx queue selection for FCoE traffic from ixgbe_xmit_frame() and does it in the ndo_select_queue() call, moving all Tx queue selection into a single routine. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61a0f421ceccd52d0d893daf743b04c225ba5ef0 Author: Yi Zou Date: Thu Dec 3 11:32:22 2009 +0000 ixgbe: use known user priority for FCoE when DCB is enabled Store the user priority for FCoE and use it directly for outgoing FCoE traffic when DCB is enabled. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 69ee472f2706371ca639de49b06df91615c07d8d Author: Oliver Neukum Date: Thu Dec 3 15:31:18 2009 -0800 usbnet & cdc-ether: Autosuspend for online devices Using remote wakeup and delayed transmission to allow online device to go into usb autosuspend. Minimal alternate support for devices that don't support remote wakeup. Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit 7f515790274d26d710303b7a1f23571ca93a6288 Author: Oliver Neukum Date: Thu Dec 3 11:41:07 2009 +0000 cdc-ether: Implement reset_resume() Normal resume can do double duty as reset_resume() for this driver as it keeps no state in the device Signed-off-by: Oliver Neukum Signed-off-by: David S. Miller commit d0634c4aea0b80447cbdc4c0db285004b860c455 Author: Martin K. Petersen Date: Thu Nov 26 12:00:43 2009 -0500 libata: Clarify ata_set_lba_range_entries function ata_set_lba_range_entries used the variable max for two different things which was confusing. Make the function take a buffer size in bytes as argument and return the used buffer size upon completion. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit e78db4dfb1355a895f7ea50133b702b55b8ed184 Author: Martin K. Petersen Date: Thu Nov 26 22:46:03 2009 -0500 libata: Report zeroed read after TRIM and max discard size Our current TRIM payload is a single sector that can accommodate 64 * 65535 blocks being unmapped. Report this value in the Block Limits Maximum Unmap LBA count field. If a storage device supports TRIM and the DRAT and RZAT bits are set, report TPRZ=1 in Read Capacity(16). Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit d413ff3e2aa09a4ebef718dbc4be4356f879467f Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:09 2009 +0100 pata_hpt3x2n: fix overclocked MWDMA0 timing Remove superfluous timings table entry while at it. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit fd87e792add54a5ab526e91e67107962f160ec70 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:53:27 2009 -0500 pata_it8213: MWDMA0 is unsupported Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 82563232c79c6f0099a02f7d2652ee7aee3fe9ba Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 17:52:16 2009 -0500 [libata] MWDMA0 is unsupported on PIIX-like PATA controllers MWDMA0 timings cannot be met with the PIIX based controller programming interface. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 88d27041cf4d36e499e2c54b6c44d9115ccf124a Author: Mark Brown Date: Fri Nov 27 16:43:54 2009 +0000 ARM: S3C6410: Correct names of IISv4 data output pin definitions The naming of the defines suggests that there are three IISv4 ports with one data line each when in fact there is a single IISv4 port with three data lines. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 009f742bded4cc7c89b901d59452fbfc0eb292c5 Merge: f18ea82 92b118f Author: Ben Dooks Date: Thu Dec 3 21:53:10 2009 +0000 ARM: Merge next-s3c64xx-updates Merge branch 'next-s3c64xx-updates' into for-rmk Conflicts: arch/arm/plat-s3c/dev-hsmmc2.c arch/arm/plat-s3c/include/plat/sdhci.h commit a7fca0ccecd3f5a111e08df8439f0b884099ad59 Merge: 424eff9 2861453 Author: David S. Miller Date: Thu Dec 3 13:51:02 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit f18ea8276bc6b0f8584c442905e9badc2acc8785 Merge: 3d4db84 1a71e4a Author: Ben Dooks Date: Thu Dec 3 21:33:01 2009 +0000 ARM: Merge next-s3c24xx-dev-rtp Merge branch 'next-s3c24xx-dev-rtp' into for-rmk Conflicts: arch/arm/mach-s3c2440/mach-anubis.c commit 3d4db84cee590dbf5b5fa49d8bcd9e1c60f2a4b5 Merge: 0c31862 ccae941 Author: Ben Dooks Date: Thu Dec 3 21:31:20 2009 +0000 ARM: Merge next-s3c24xx-simtec Merge branch 'next-s3c24xx-simtec' into for-rmk commit 424eff975192553a9ea8bfd51bf65039ffb356ef Merge: 55dbabe 3666ed1 Author: David S. Miller Date: Thu Dec 3 13:23:12 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 55dbabee63462a455d8fb57caf08b69db256b012 Author: Michael Chan Date: Thu Dec 3 09:46:35 2009 +0000 bnx2: Update version to 2.0.3. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 76d9906170259b581691c3cec6bc5d4ab3aaaede Author: Michael Chan Date: Thu Dec 3 09:46:34 2009 +0000 bnx2: Read firmware version from VPD. And display it through ethtool -i. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b929e53cb7796a8abe47174dfdfdf90cbb65a8bf Author: Michael Chan Date: Thu Dec 3 09:46:33 2009 +0000 bnx2: Print warning when unable to allocate the full SKB/page ring. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 20175c57f23cde2049c509eb00a2f9d373478107 Author: Michael Chan Date: Thu Dec 3 09:46:32 2009 +0000 bnx2: Dump some state during tx timeout. To help debug the problem. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 51bf6bb424c14bfd3590a0de03fbd07fc800435e Author: Michael Chan Date: Thu Dec 3 09:46:31 2009 +0000 bnx2: Protect tx timeout reset with rtnl_lock(). To prevent race conditions with other reset events. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cceea982ef78cf358b70f3412a6799f153211e14 Author: Matt Carlson Date: Thu Dec 3 08:36:25 2009 +0000 tg3: Update version to 3.105 This patch updates the tg3 version to 3.105. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 026a6c21646cf77ea838f3c121de29cdf948ca71 Author: Matt Carlson Date: Thu Dec 3 08:36:24 2009 +0000 tg3: Clean tg3_init_one() Tg3's firmware is no longer loaded from tg3_init_one(). Remove the error path that releases the firmware back to the system. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 94c982bd9f07b801f03cebe32b20f893b4ad6d27 Author: Matt Carlson Date: Thu Dec 3 08:36:23 2009 +0000 tg3: Use pci_read_vpd() instead of private method If the driver needs to use PCI configuration space to read the VPD data, the accesses could collide with the pci_read_vpd() function. This patch converts the driver to use pci_read_vpd() to avoid any potential collisions. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 141518c95870228da4e050fbe31a8f0c9df82c72 Author: Matt Carlson Date: Thu Dec 3 08:36:22 2009 +0000 tg3: Add some VPD preprocessor constants This patch cleans up the VPD code by creating preprocessor definitions and using them in the place of hardcoded constants. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b703df6f628ab63eaa875232551b1f2f0503b9af Author: Matt Carlson Date: Thu Dec 3 08:36:21 2009 +0000 tg3: Add 57765 asic rev This patch adds the 57765 asic revision. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 19cfaecc094781da273b5cd1411ee46589898d0e Author: Matt Carlson Date: Thu Dec 3 08:36:20 2009 +0000 tg3: Make TSS enable independent of MSI-X enable The 57765 asic rev has MSI-X capability, but does not support TSS. This patch changes the tx paths so that TSS is explicitly mentioned, rather than implied through the ENABLE_MSIX flag. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8e95a2026f3b43f7c3d676adaccd2de9532e8dcc Author: Joe Perches Date: Thu Dec 3 07:58:21 2009 +0000 drivers/net: Move && and || to end of previous line Only files where David Miller is the primary git-signer. wireless, wimax, ixgbe, etc are not modified. Compile tested x86 allyesconfig only Not all files compiled (not x86 compatible) Added a few > 80 column lines, which I ignored. Existing checkpatch complaints ignored. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 3454f835837609d60b29a266e3bd9d701073b060 Author: Ajit Khaparde Date: Thu Dec 3 06:19:08 2009 +0000 be2net: Bump up the driver version number Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit c4d8a20022e617174eb887c82356d3f513e279a7 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_via: clear UDMA transfer mode bit for PIO and MWDMA Fix register naming while at it. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 750c7136ea873255ed0b74e20f0d3ef9ac8984c0 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_sis: Power Management fix Call sis_fixup() on resume. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 0826ef5f6fa28c50b70cfae001fd31531a1656f8 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_rz1000: Power Management fix Fix ->resume method to re-enable & re-init PCI device properly before doing chipset specific setup. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit dd4a43c979d5da7f2cd20e2751dbbd841116cdfe Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:13 2009 +0100 pata_radisys: fix UDMA handling Set correct bits to switch between UDMA2 and UDMA4. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit a809c68752e63312c20fb027cf33da4a5ac384a5 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:12 2009 +0100 pata_ns87415: Power Management fix Fix ->resume method to do chipset specific setup. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 2a2beac928dd5a3a04eb9495e3ab09519f2516f2 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:12 2009 +0100 pata_marvell: fix marvell_pre_reset() documentation Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 9c7e0d22c524afc76f82b942d12da00766ac9101 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_legacy: add pointers to QDI65x0 documentation Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 6809e7301fba4f9fa446ead5167faed115690fc4 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_legacy: fix access to control register for QDI6580 We need to mask out the port offset from the port number cached in ld_qdi->timing. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 43c7d17ee7e03433c57dc4ce457d34110108455a Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_legacy: fix QDI6580DP support Dual port QDI6580 has shared PIO timings for master/slave devices so it needs to use custom ->qc_issue method. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 13a28c15dd08f321cfa82cbb37024dc1bb825bbe Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:11 2009 +0100 pata_it8213: fix it8213_pre_reset() documentation Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit e3f1d5cd114dad010376c78e5c8eb8c5fe114f80 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix wrong MWDMA timings being programmed Clear old MWDMA timings before programming new ones (IT8213 is a single port host so there is no need to check ap->port_no). This change should be safe as this is how we have been doing things in IDE it8213 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit ed869ff0c70d482de0dc97c3138ff42cbf87aed5 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix PIO2 underclocking [ port of Sergei's fixes for pata_efar from commit 5f33b3b ] Fix the PIO mode 2 using mode 0 timings -- this driver should enable the fast timing bank starting with PIO2, just like the PIIX/ICH drivers do. Also, fix/rephrase some comments while at it. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 088ccb53a341b5c0afab67e392b053ebb0bf7b2b Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix wrong PIO timings being programmed * do not clear PIO timings for master when programming slave * program new PIO timings in the correct register nibble Both changes should be safe as this is how we have been doing things in IDE it8213 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit e0ee792b75a5cf1b23acfeae7ce3c386f805b20b Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_it8213: fix UDMA handling Driver should program the cycle timing not the mode number (doing the latter results in wrong timings being used). There shouldn't be any problems with it as IDE it8213 host driver has been doing it this way for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 3915044468217d9c224b824c308e4d112666f58d Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:10 2009 +0100 pata_hpt3x3: Power Management fix Fix ->resume method to re-enable & re-init PCI device properly before doing chipset specific setup. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 940a68de56c1952c29d9f3c1a769a82b1bdd2b67 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:09 2009 +0100 pata_cs5520: remove dead VDMA support It has been dead for the last three years (== since the initial driver merge) and probability that it will ever get fixed is quite low. Since there is no reason to keep this dead code around any longer just remove it (it can still be retrieved from the git history if necessary). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit dd221f9ce97c33e560a63999c74c17d13ef780b4 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:08 2009 +0100 pata_efar: fix wrong MWDMA timings being programmed Do not clear MWDMA timings for device on the other port when programming slave device. This change should be safe as this is how we have been doing things in IDE slc90e66 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit f79ff92649efd5ef17f5267fe6f599c64e74e050 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:08 2009 +0100 pata_efar: fix wrong PIO timings being programmed * do not clear PIO timings for master when programming slave * do not clear PIO timings for device on the other port when programming slave device Both changes should be safe as this is how we have been doing things in IDE slc90e66 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 6938594374ee506e91a4c03117a034ea0ed66783 Author: Bartlomiej Zolnierkiewicz Date: Thu Dec 3 20:32:08 2009 +0100 ata_piix: fix MWDMA handling on PIIX3 Fix erroneous check for ap->udma_mask in do_pata_set_dmamode() resulting in controller not being programmed properly for MWDMA. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 71d8d1b58aa4025ea73a66a130a98d0ed077f9b1 Author: Ajit Khaparde Date: Thu Dec 3 06:16:59 2009 +0000 be2net: Support for WoL using magic packet after suspend. Add support for WOL using Magic Packet after suspend is done. Signed-off-by: Sarveshwar Bandi Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit d744b44e21a2c908aae23a60da1b4ce35cd925ef Author: Ajit Khaparde Date: Thu Dec 3 06:12:06 2009 +0000 be2net: Changes to print fw command opcode when command is failed by controller. When a firmware command fails, only the failure codes are printed. It is difficult to co-relate this to the actual command that has failed. These changes will now print the command code that has failed. Signed-off-by: Sarveshwar Bandi Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit b099ce2602d806deb41caaa578731848995cdb2a Author: Eric W. Biederman Date: Thu Dec 3 02:29:09 2009 +0000 net: Batch inet_twsk_purge This function walks the whole hashtable so there is no point in passing it a network namespace. Instead I purge all timewait sockets from dead network namespaces that I find. If the namespace is one of the once I am trying to purge I am guaranteed no new timewait sockets can be formed so this will get them all. If the namespace is one I am not acting for it might form a few more but I will call inet_twsk_purge again and shortly to get rid of them. In any even if the network namespace is dead timewait sockets are useless. Move the calls of inet_twsk_purge into batch_exit routines so that if I am killing a bunch of namespaces at once I will just call inet_twsk_purge once and save a lot of redundant unnecessary work. My simple 4k network namespace exit test the cleanup time dropped from roughly 8.2s to 1.6s. While the time spent running inet_twsk_purge fell to about 2ms. 1ms for ipv4 and 1ms for ipv6. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 575f4cd5a5b639457747434dbe18d175fa767db4 Author: Eric W. Biederman Date: Thu Dec 3 02:29:08 2009 +0000 net: Use rcu lookups in inet_twsk_purge. While we are looking up entries to free there is no reason to take the lock in inet_twsk_purge. We have to drop locks and restart occassionally anyway so adding a few more in case we get on the wrong list because of a timewait move is no big deal. At the same time not taking the lock for long periods of time is much more polite to the rest of the users of the hash table. In my test configuration of killing 4k network namespaces this change causes 4k back to back runs of inet_twsk_purge on an empty hash table to go from roughly 20.7s to 3.3s, and the total time to destroy 4k network namespaces goes from roughly 44s to 3.3s. Signed-off-by: Eric W. Biederman Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e9c5158ac26affd5d8ce006521bdfb7148090e18 Author: Eric W. Biederman Date: Thu Dec 3 12:22:55 2009 -0800 net: Allow fib_rule_unregister to batch Refactor the code so fib_rules_register always takes a template instead of the actual fib_rules_ops structure that will be used. This is required for network namespace support so 2 out of the 3 callers already do this, it allows the error handling to be made common, and it allows fib_rules_unregister to free the template for hte caller. Modify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu to allw multiple namespaces to be cleaned up in the same rcu grace period. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 3a765edadb28cc736d185f67d1ba6bedcc85f4b9 Author: Eric W. Biederman Date: Thu Dec 3 02:29:06 2009 +0000 netns: Add an explicit rcu_barrier to unregister_pernet_{device|subsys} This allows namespace exit methods to batch work that comes requires an rcu barrier using call_rcu without having to treat the unregister_pernet_operations cases specially. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d79d792ef9f99cca463b6619a93e860d1c833a6e Author: Eric W. Biederman Date: Thu Dec 3 02:29:05 2009 +0000 net: Allow xfrm_user_net_exit to batch efficiently. xfrm.nlsk is provided by the xfrm_user module and is access via rcu from other parts of the xfrm code. Add xfrm.nlsk_stash a copy of xfrm.nlsk that will never be set to NULL. This allows the synchronize_net and netlink_kernel_release to be deferred until a whole batch of xfrm.nlsk sockets have been set to NULL. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 04dc7f6be3a7b308f8545bb45772c9fb75f71aca Author: Eric W. Biederman Date: Thu Dec 3 02:29:04 2009 +0000 net: Move network device exit batching Move network device exit batching from a special case in net_namespace.c to using common mechanisms in dev.c Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 72ad937abd0a43b7cf2c557ba1f2ec75e608c516 Author: Eric W. Biederman Date: Thu Dec 3 02:29:03 2009 +0000 net: Add support for batching network namespace cleanups - Add exit_list to struct net to support building lists of network namespaces to cleanup. - Add exit_batch to pernet_operations to allow running operations only once during a network namespace exit. Instead of once per network namespace. - Factor opt ops_exit_list and ops_exit_free so the logic with cleanup up a network namespace does not need to be duplicated. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 8153a10c08f1312af563bb92532002e46d3f504a Author: Patrick McHardy Date: Thu Dec 3 01:25:58 2009 +0000 ipv4 05/05: add sysctl to accept packets with local source addresses commit 8ec1e0ebe26087bfc5c0394ada5feb5758014fc8 Author: Patrick McHardy Date: Thu Dec 3 12:16:35 2009 +0100 ipv4: add sysctl to accept packets with local source addresses Change fib_validate_source() to accept packets with a local source address when the "accept_local" sysctl is set for the incoming inet device. Combined with the previous patches, this allows to communicate between multiple local interfaces over the wire. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5adef1809147a9c39119ffd5a13a1ca4fe23a411 Author: Patrick McHardy Date: Thu Dec 3 01:25:57 2009 +0000 net 04/05: fib_rules: allow to delete local rule commit d124356ce314fff22a047ea334379d5105b2d834 Author: Patrick McHardy Date: Thu Dec 3 12:16:35 2009 +0100 net: fib_rules: allow to delete local rule Allow to delete the local rule and recreate it with a higher priority. This can be used to force packets with a local destination out on the wire instead of routing them to loopback. Additionally this patch allows to recreate rules with a priority of 0. Combined with the previous patch to allow oif classification, a socket can be bound to the desired interface and packets routed to the wire like this: # move local rule to lower priority ip rule add pref 1000 lookup local ip rule del pref 0 # route packets of sockets bound to eth0 to the wire independant # of the destination address ip rule add pref 100 oif eth0 lookup 100 ip route add default dev eth0 table 100 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1b038a5e60c7812f19818e8a5df96d029e49c38f Author: Patrick McHardy Date: Thu Dec 3 01:25:56 2009 +0000 net 03/05: fib_rules: add oif classification commit 68144d350f4f6c348659c825cde6a82b34c27a91 Author: Patrick McHardy Date: Thu Dec 3 12:05:25 2009 +0100 net: fib_rules: add oif classification Support routing table lookup based on the flow's oif. This is useful to classify packets originating from sockets bound to interfaces differently. The route cache already includes the oif and needs no changes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 491deb24bf5bf7124141287aaf02c3219783ceab Author: Patrick McHardy Date: Thu Dec 3 01:25:54 2009 +0000 net 02/05: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME commit 229e77eec406ad68662f18e49fda8b5d366768c5 Author: Patrick McHardy Date: Thu Dec 3 12:05:23 2009 +0100 net: fib_rules: rename ifindex/ifname/FRA_IFNAME to iifindex/iifname/FRA_IIFNAME The next patch will add oif classification, rename interface related members and attributes to reflect that they're used for iif classification. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d285834001df372f81045bb41092e54943e93c84 Author: Patrick McHardy Date: Thu Dec 3 01:25:53 2009 +0000 net 01/05: fib_rules: rearrange struct fib_rule commit b8952893d5d86f69c4e499d191b98c6658f64b0f Author: Patrick McHardy Date: Thu Dec 3 12:05:22 2009 +0100 net: fib_rules: rearrange struct fib_rule The ifname member is only used to resolve interface names and is not needed during rule lookups. The target and ctarget members however are used during rule lookups and are currently located in a second cacheline. Move ifname further to the end to make sure both target and ctarget are located in the same cacheline as other members used during rule lookups. The layout on 64 bit changes from: struct fib_rule { ... u32 table; /* 56 4 */ u8 action; /* 60 1 */ /* XXX 3 bytes hole, try to pack */ /* --- cacheline 1 boundary (64 bytes) --- */ u32 target; /* 64 4 */ /* XXX 4 bytes hole, try to pack */ struct fib_rule * ctarget; /* 72 8 */ struct rcu_head rcu; /* 80 16 */ struct net * fr_net; /* 96 8 */ }; to: struct fib_rule { ... u32 table; /* 40 4 */ u8 action; /* 44 1 */ /* XXX 3 bytes hole, try to pack */ u32 target; /* 48 4 */ /* XXX 4 bytes hole, try to pack */ struct fib_rule * ctarget; /* 56 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ char ifname[16]; /* 64 16 */ struct rcu_head rcu; /* 80 16 */ struct net * fr_net; /* 96 8 */ }; Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2f5ea47712489a9d2d3cb832eb06062e4e64e0ec Author: Jens Axboe Date: Thu Dec 3 21:06:43 2009 +0100 cfq-iosched: fix compile problem with !CONFIG_CGROUP Signed-off-by: Jens Axboe commit e0ee98513d1a2e24d2ddbdecf4216bcca29d1158 Author: Alessandro Rubini Date: Wed Dec 2 14:01:03 2009 +0100 ARM: 5846/1: MAINTAINERS: Add arm Nomadik support Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 48371cd3f4226275c529bb8675a99572db19cc7c Author: Srinidhi Kasagar Date: Wed Dec 2 06:18:03 2009 +0100 ARM: 5845/1: l2x0: check whether l2x0 already enabled If running in non-secure mode accessing some registers of l2x0 will fault. So check if l2x0 is already enabled, if so do not access those secure registers. Signed-off-by: srinidhi kasagar Acked-by: Catalin Marinas Signed-off-by: Russell King commit 1f739d7643c4cf78b4f2d9d620c4305aafc7d3b9 Author: Leo Chen Date: Fri Nov 20 00:50:07 2009 +0100 ARM: 5792/1: bcmring: clean up mach/io.h removed old macro definition for io access, using the generic macros defined in asm/io.h Signed-off-by: Leo Hao Chen Signed-off-by: Russell King commit 95514fd8ff0f30de7815950edfd84ef1e19fb1c8 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 25 18:12:48 2009 +0100 libata: add private driver field to struct ata_device This brings struct ata_device in-line with struct ata_{port,host}. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 7a02267e0f3938a6e91c0a0a82211e4d7007210e Author: Mark Nelson Date: Sun Nov 22 12:07:41 2009 +1100 ahci: let users know that Promise PDC42819 support is limited to SATA devices ahci can drive the Promise PDC42819, but obviously it can only use SATA disks connected to this controller. The controller can actually support SAS disks as well, but we only know how to use it in it's AHCI mode. Add a message to let users know that because ahci is driving their chip they can only use the SATA disks connected to this controller. Signed-off-by: Mark Nelson Signed-off-by: Jeff Garzik commit 89d3b3603bfb648e0113d8682d4f84dd18a776bd Author: Sergei Shtylyov Date: Tue Nov 24 22:54:49 2009 +0400 ata: use pci_dev->revision Some places were using PCI_CLASS_REVISION instead of PCI_REVISION_ID, so they weren't converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 (PCI: Change all drivers to use pci_device->revision). Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 82beb5d89456a4c8329676985004b93a7ded5b5a Author: Sergei Shtylyov Date: Wed Nov 25 00:17:31 2009 +0400 pata_hpt366: fix timing register documentation The comment in the driver actually describes HPT37x's timing register layout, which is different from HPT36x. Fix it and reformat the comment, while at it. Bump the driver version, accounting for several patches that forgot to do it. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 9cd13bdbae5d83399c375b34ee1eb35e16c10568 Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 26 17:11:16 2009 +0100 libata: add comment documenting PIO latency issues on UP Based on: http://lkml.indiana.edu/hypermail/linux/kernel/0908.2/01420.html Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 5600c70e576199a7552e1c0fff43f3fe16f5566e Author: Sergei Shtylyov Date: Fri Nov 27 22:29:02 2009 +0400 pata_hpt{37x|3x2n}: fix timing register masks (take 2) These drivers inherited from the older 'hpt366' IDE driver the buggy timing register masks in their set_piomode() metods. As a result, too low command cycle active time is programmed for slow PIO modes. Quite fortunately, it's later "fixed up" by the set_dmamode() methods which also "helpfully" reprogram the command timings, usually to PIO mode 4; unfortunately, setting an UltraDMA mode #N also reprograms already set PIO data timings, usually to MWDMA mode # max(N, 2) timings... However, the drivers added some breakage of their own too: the bit that they set/clear to control the FIFO is sometimes wrong -- it's actually the MSB of the command cycle setup time; also, setting it in DMA mode is wrong as this bit is only for PIO actually and clearing it for PIO modes is not needed as no mode in any timing table has it set... Fix all this, inverting the masks while at it, like in the 'hpt366' and 'pata_hpt366' drivers; bump the drivers' versions, accounting for recent patches that forgot to do it... Signed-off-by: Sergei Shtylyov Cc: stable@kernel.org Signed-off-by: Jeff Garzik commit 8e182a90f91456335756d2ce304ad470795d98e1 Author: Alan Cox Date: Mon Nov 30 13:23:11 2009 +0000 pata_piccolo: Driver for old Toshiba chipsets We were never able to get docs for this out of Toshiba for years. Dave Barnes produced a NetBSD driver however and from that we can fill in the needed tables. As we correct the PCI identifiers a bit also update the old ide generic driver at the same time so it stays compiling. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d103d01e4b19f185d3c85f77402b605534c32e89 Merge: 26fb20d 6f5f672 Author: Ingo Molnar Date: Thu Dec 3 20:11:37 2009 +0100 Merge branch 'perf/probes' into perf/core Merge reason: add these fixes to 'perf probe'. Signed-off-by: Ingo Molnar commit 26fb20d008d841268545c25bb183f21ed16db891 Merge: 23ba90e 767df1b Author: Ingo Molnar Date: Thu Dec 3 20:10:59 2009 +0100 Merge branch 'perf/mce' into perf/core Merge reason: It's ready for v2.6.33. Signed-off-by: Ingo Molnar commit 23ba90e328fd2326378447cafafa47defdfc83c2 Merge: e859cf8 8ea339a Author: Ingo Molnar Date: Thu Dec 3 20:10:35 2009 +0100 Merge branch 'perf/scripting' into perf/core Merge reason: it's ready for v2.6.33. Signed-off-by: Ingo Molnar commit 2861453b1b5e022fd5e1294b8fbf39254440b661 Author: Ben Hutchings Date: Sat Nov 7 21:41:18 2009 +0000 Bluetooth: Declare MODULE_FIRMWARE for Marvell SDIO driver Signed-off-by: Ben Hutchings Signed-off-by: Marcel Holtmann commit eae38eede2e5f70d65f09327297bd698b0d3ea7e Author: Marcel Holtmann Date: Mon Oct 5 12:23:48 2009 +0200 Bluetooth: Add RFCOMM option to use L2CAP ERTM mode By default the RFCOMM layer would still use L2CAP basic mode. For testing purposes this option enables RFCOMM to select enhanced retransmission mode. Signed-off-by: Marcel Holtmann commit 5fbcd3d1a07e234583e17830e8aef47282c22141 Author: Marcel Holtmann Date: Mon Oct 5 11:35:43 2009 +0200 Bluetooth: Add L2CAP option for max transmit value For testing purposes it is important to modify the max transmit value. Signed-off-by: Marcel Holtmann commit 32fd63981ed453bd882f22e3e9b0ccbc11fb47e5 Author: Amitkumar Karwar Date: Wed Sep 30 11:18:30 2009 -0700 Bluetooth: Enable auto sleep mode for btmrvl driver The auto sleep mode for btmrvl driver is not enabled by default. This patch enables auto sleep mode when card is probed. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 2ab25cdd7b54473dd42dcffc9872737de2517466 Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:40 2009 -0300 Bluetooth: Fix 'SendRRorRNR' to send the ReqSeq value SendRRorRNR needs to acknowledge received I-frames (actually every packet needs to acknowledge received I-frames by sending the proper packet sequence number), so ReqSeq is set to the next I-frame number sequence to be pulled by the reassembly function. SendRRorRNR tells the remote side about local busy conditions, it sends a Receiver Ready frame if local busy is false or a Receiver Not Ready if local busy is true. ReqSeq is the packet's field to send the number of the acknowledged packets. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 4ec10d9720ef78cd81d8bcc30a3238665744569f Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:39 2009 -0300 Bluetooth: Implement RejActioned flag RejActioned is used to prevent retransmission when a entity is on the WAIT_F state, i.e., waiting for a frame with F-bit set due local busy condition or a expired retransmission timer. (When these two events raise they send a frame with the Poll bit set and enters in the WAIT_F state to wait for a frame with the Final bit set.) The local entity doesn't send I-frames(the data frames) until the receipt of a frame with F-bit set. When that happens it also set RejActioned to false. RejActioned is a mandatory feature of ERTM spec. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 9f121a5a80b4417c6db5a35e26d2e79c29c3fc0d Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:38 2009 -0300 Bluetooth: Fix sending ReqSeq on I-frames As specified by ERTM spec an ERTM channel can acknowledge received I-frames(the data frames) by sending an I-frame with the proper ReqSeq value (i.e. ReqSeq is set to BufferSeq). Until now we aren't setting the ReqSeq value on I-frame control bits. That way we can save sending S-frames(Supervise frames) only to acknowledge receipt of I-frames. It is very helpful to the full-duplex channel. ReqSeq is the packet sequence number sent in an acknowledgement frame to acknowledge receipt of frames up to (ReqSeq - 1). BufferSeq controls the receiver buffer, it is used to delay acknowledgement of new frames to not cause buffer overflow. BufferSeq value is not increased until frames are pulled by reassembly function. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 889a3ca466018ab68363c3168993793bc2d984f1 Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:37 2009 -0300 Bluetooth: Fix unset of SrejActioned flag SrejActioned is a flag that when set prevents local side to retransmit a I-frame(the data frame) already retransmitted. The local entity can retransmit again only when it receives a SREJ frame with the F-bit set. SREJ frame - Selective Reject frame - is sent when an entity wants the retransmission of a specific I-frame that was lost or corrupted. This bug can put ERTM in an unknown state once the entity can't retransmit. A frame with the Final bit set is expected when the local side sends a frame with the Poll bit set due to a local busy condition or a retransmission timer expired. (Receipt of P-bit shall always be replied by a frame with the F-bit set). pi->conn_state keeps informations about many ERTM flags including SrejActioned. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 0565c1c24af94130b891f989fa608faddfadc52c Author: Gustavo F. Padovan Date: Sat Oct 3 02:34:36 2009 -0300 Bluetooth: Initialize variables and timers for both channel's sides Fix ERTM's full-duplex channel to work as specified by ERTM spec. ERTM needs to handle state vars, timers and counters to send and receive I-frames(the data frames), i.e., for both sides of data communication. We initialize all of them to the default values here. Full-duplex channel is a mandatory feature of ERTM spec. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit cde9f807f003676862178a6f28b52c7d431511ed Author: Vikram Kandukuri Date: Thu Dec 3 15:12:51 2009 +0530 Bluetooth: Fix handling of BNEP setup connection requests According to BNEP test specification the proper response should be sent for a setup connection request message after the BNEP connection setup has been completed. Signed-off-by: Vikram Kandukuri Signed-off-by: Marcel Holtmann commit c78ae283145d3a8799b2fb01650166a66af3bff8 Author: Marcel Holtmann Date: Wed Nov 18 01:02:54 2009 +0100 Bluetooth: Unobfuscate tasklet_schedule usage The tasklet schedule function helpers are just an obfuscation. So remove them and call the schedule functions directly. Signed-off-by: Marcel Holtmann commit 76bca88012e1d27de794f32cc551d6314d38b6d9 Author: Marcel Holtmann Date: Wed Nov 18 00:40:39 2009 +0100 Bluetooth: Turn hci_recv_frame into an exported function For future simplification it is important that the hci_recv_frame function is no longer an inline function. So move it into the module itself and export it. Signed-off-by: Marcel Holtmann commit 7e21addcd0ad87696c17409399e56e874931da57 Author: Marcel Holtmann Date: Wed Nov 18 01:05:00 2009 +0100 Bluetooth: Return ENETDOWN when interface is down Sending commands to a down interface results in a timeout while clearly it should just return ENETDOWN. When using the ioctls this works fine, but not when using the HCI sockets sendmsg interface. Signed-off-by: Marcel Holtmann commit 2da31939a42f7a676a0bc5155d6a0a39ed8451f2 Author: Jiri Kosina Date: Thu Nov 26 16:20:56 2009 +0100 Bluetooth: Implement raw output support for HIDP layer Implement raw output callback which is used by hidraw to send raw data to the underlying device. Without this patch, the userspace hidraw-based applications can't send output reports to HID Bluetooth devices. Reported-and-tested-by: Brian Gunn Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann commit fed4c2508b7419d0a55958fead6151b32def1683 Author: Marcel Holtmann Date: Thu Dec 3 18:07:28 2009 +0100 Bluetooth: Fix miscdev ops owner for virtual driver The /dev/vhci ops don't refer to the module and so it is possible to unload the module while the file descriptor is in use. This was an accidental removal after the cleanup. Signed-off-by: Marcel Holtmann commit 329ab1b3e6ceac3f77ab400206a97cc402624259 Author: Marcel Holtmann Date: Thu Dec 3 18:05:16 2009 +0100 Bluetooth: Remove unused global minor variable After the removal of the module parameter for setting the minor number, this variable became unused. So just remove it. Signed-off-by: Marcel Holtmann commit 5990108cfcd3eb2d365c9ea6f82318be80c4e9d3 Author: Thomas Gleixner Date: Thu Oct 15 20:28:53 2009 +0000 Bluetooth: Remove stub ioctl in hci_vhci Remove the empty ioctl which just returns -EINVAL. vfs_ioctl() will return -ENOTTY instead, but I doubt that any application will notice the difference :) Signed-off-by: Thomas Gleixner Signed-off-by: Marcel Holtmann commit b3cf652afb5404685e3d7ed6780a8d1fa10e21da Author: Rahul Tank Date: Mon Sep 28 19:43:35 2009 -0700 Bluetooth: Removal of unused variable in btmrvl driver This patch removes unused variable "drvdbg" from btmrvl_debugfs_data structure. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 72f924f62a6eb375c7c237ecc911f95be0531d1a Author: Vivek Goyal Date: Thu Dec 3 12:59:57 2009 -0500 blkio: Documentation Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit c04645e592d4dd60c58def40c913699d4c806727 Author: Vivek Goyal Date: Thu Dec 3 12:59:56 2009 -0500 blkio: Wait on sync-noidle queue even if rq_noidle = 1 o rq_noidle() is supposed to tell cfq that do not expect a request after this one, hence don't idle. But this does not seem to work very well. For example for direct random readers, rq_noidle = 1 but there is next request coming after this. Not idling, leads to a group not getting its share even if group_isolation=1. o The right solution for this issue is to scan the higher layers and set right flag (WRITE_SYNC or WRITE_ODIRECT). For the time being, this single line fix helps. This should not have any significant impact when we are not using cgroups. I will later figure out IO paths in higher layer and fix it. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit ae30c286553c91c49af5cbc0265a05a6543d0c52 Author: Vivek Goyal Date: Thu Dec 3 12:59:55 2009 -0500 blkio: Implement group_isolation tunable o If a group is running only a random reader, then it will not have enough traffic to keep disk busy and we will reduce overall throughput. This should result in better latencies for random reader though. If we don't idle on random reader service tree, then this random reader will experience large latencies if there are other groups present in system with sequential readers running in these. o One solution suggested by corrado is that by default keep the random readers or sync-noidle workload in root group so that during one dispatch round we idle only once on sync-noidle tree. This means that all the sync-idle workload queues will be in their respective group and we will see service differentiation in those but not on sync-noidle workload. o Provide a tunable group_isolation. If set, this will make sure that even sync-noidle queues go in their respective group and we wait on these. This provides stronger isolation between groups but at the expense of throughput if group does not have enough traffic to keep the disk busy. o By default group_isolation = 0 Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f26bd1f0a3a31bc5e16d285f5e1b00a56abf6238 Author: Vivek Goyal Date: Thu Dec 3 12:59:54 2009 -0500 blkio: Determine async workload length based on total number of queues o Async queues are not per group. Instead these are system wide and maintained in root group. Hence their workload slice length should be calculated based on total number of queues in the system and not just queues in the root group. o As root group's default weight is 1000, make sure to charge async queue more in terms of vtime so that it does not get more time on disk because root group has higher weight. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f75edf2dc828802d358393be80a6c89e919f8273 Author: Vivek Goyal Date: Thu Dec 3 12:59:53 2009 -0500 blkio: Wait for cfq queue to get backlogged if group is empty o If a queue consumes its slice and then gets deleted from service tree, its associated group will also get deleted from service tree if this was the only queue in the group. That will make group loose its share. o For the queues on which we have idling on and if these have used their slice, wait a bit for these queues to get backlogged again and then expire these queues so that group does not loose its share. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f8d461d692c341add957fb973fb5ee1f62039dc7 Author: Vivek Goyal Date: Thu Dec 3 12:59:52 2009 -0500 blkio: Propagate cgroup weight updation to cfq groups o Propagate blkio cgroup weight updation to associated cfq groups. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 24610333d578478d354144ab4709a203684afc5f Author: Vivek Goyal Date: Thu Dec 3 12:59:51 2009 -0500 blkio: Drop the reference to queue once the task changes cgroup o If a task changes cgroup, drop reference to the cfqq associated with io context and set cfqq pointer stored in ioc to NULL so that upon next request arrival we will allocate a new queue in new group. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 8682e1f15f26dae9a9e8af794d179055fbd81166 Author: Vivek Goyal Date: Thu Dec 3 12:59:50 2009 -0500 blkio: Provide some isolation between groups o Do not allow following three operations across groups for isolation. - selection of co-operating queues - preemtpions across groups - request merging across groups. o Async queues are currently global and not per group. Allow preemption of an async queue if a sync queue in other group gets backlogged. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 220841906fccafaf4094e87bdb6d252e20cf8c7c Author: Vivek Goyal Date: Thu Dec 3 12:59:49 2009 -0500 blkio: Export disk time and sectors used by a group to user space o Export disk time and sector used by a group to user space through cgroup interface. o Also export a "dequeue" interface to cgroup which keeps track of how many a times a group was deleted from service tree. Helps in debugging. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 2868ef7b39490e6b41c2c61cd9a5cd891e778b54 Author: Vivek Goyal Date: Thu Dec 3 12:59:48 2009 -0500 blkio: Some debugging aids for CFQ o Some debugging aids for CFQ. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit b1c3576961847da26c91b1e97f226bb66be5fa3f Author: Vivek Goyal Date: Thu Dec 3 12:59:47 2009 -0500 blkio: Take care of cgroup deletion and cfq group reference counting o One can choose to change elevator or delete a cgroup. Implement group reference counting so that both elevator exit and cgroup deletion can take place gracefully. Signed-off-by: Vivek Goyal Signed-off-by: Nauman Rafique Signed-off-by: Jens Axboe commit 25fb5169d4c9d4255107abbb7c08ab712434efc8 Author: Vivek Goyal Date: Thu Dec 3 12:59:46 2009 -0500 blkio: Dynamic cfq group creation based on cgroup tasks belongs to o Determine the cgroup IO submitting task belongs to and create the cfq group if it does not exist already. o Also link cfqq and associated cfq group. o Currently all async IO is mapped to root group. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit dae739ebc4c590630039533a5bbd05865966094f Author: Vivek Goyal Date: Thu Dec 3 12:59:45 2009 -0500 blkio: Group time used accounting and workload context save restore o This patch introduces the functionality to do the accounting of group time when a queue expires. This time used decides which is the group to go next. o Also introduce the functionlity to save and restore the workload type context with-in group. It might happen that once we expire the cfq queue and group, a different group will schedule in and we will lose the context of the workload type. Hence save and restore it upon queue expiry. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 58ff82f34cded3812af5b6c69b6aa626b6be2490 Author: Vivek Goyal Date: Thu Dec 3 12:59:44 2009 -0500 blkio: Implement per cfq group latency target and busy queue avg o So far we had 300ms soft target latency system wide. Now with the introduction of cfq groups, divide that latency by number of groups so that one can come up with group target latency which will be helpful in determining the workload slice with-in group and also the dynamic slice length of the cfq queue. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 25bc6b07767fe77422312eda2af99c9477f76191 Author: Vivek Goyal Date: Thu Dec 3 12:59:43 2009 -0500 blkio: Introduce per cfq group weights and vdisktime calculations o Bring in the per cfq group weight and how vdisktime is calculated for the group. Also bring in the functionality of updating the min_vdisktime of the group service tree. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 31e4c28d95e64f2d5d3c497a3ecf37c62de635b4 Author: Vivek Goyal Date: Thu Dec 3 12:59:42 2009 -0500 blkio: Introduce blkio controller cgroup interface o This is basic implementation of blkio controller cgroup interface. This is the common interface visible to user space and should be used by different IO control policies as we implement those. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 1fa8f6d68b5c8ca0a608fd8d296c5f07ac788cd6 Author: Vivek Goyal Date: Thu Dec 3 12:59:41 2009 -0500 blkio: Introduce the root service tree for cfq groups o So far we just had one cfq_group in cfq_data. To create space for more than one cfq_group, we need to have a service tree of groups where all the groups can be queued if they have active cfq queues backlogged in these. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit f04a64246344ad50e4b4b4186174a0912d07f30b Author: Vivek Goyal Date: Thu Dec 3 12:59:40 2009 -0500 blkio: Keep queue on service tree until we expire it o Currently cfqq deletes a queue from service tree if it is empty (even if we might idle on the queue). This patch keeps the queue on service tree hence associated group remains on the service tree until we decide that we are not going to idle on the queue and expire it. o This just helps in time accounting for queue/group and in implementation of rest of the patches. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 615f0259e6940293359a189f4881bb28c2fea40b Author: Vivek Goyal Date: Thu Dec 3 12:59:39 2009 -0500 blkio: Implement macro to traverse each service tree in group o Implement a macro to traverse each service tree in the group. This avoids usage of double for loop and special condition for idle tree 4 times. o Macro is little twisted because of special handling of idle class service tree. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit cdb16e8f739985b8a5c9f4569b026583bbcd01a5 Author: Vivek Goyal Date: Thu Dec 3 12:59:38 2009 -0500 blkio: Introduce the notion of cfq groups o This patch introduce the notion of cfq groups. Soon we will can have multiple groups of different weights in the system. o Various service trees (prioclass and workload type trees), will become per cfq group. So hierarchy looks as follows. cfq_groups | workload type | cfq queue o When an scheduling decision has to be taken, first we select the cfq group then workload with-in the group and then cfq queue with-in the workload type. o This patch just makes various workload service tree per cfq group and introduce the function to be able to choose a group for scheduling. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit bf7919371025412978268efca4b09dd847acb395 Author: Vivek Goyal Date: Thu Dec 3 12:59:37 2009 -0500 blkio: Set must_dispatch only if we decided to not dispatch the request o must_dispatch flag should be set only if we decided not to run the queue and dispatch the request. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit fb716c0b7bed36064cd41d800c8f339f41adf084 Author: Ondrej Zary Date: Fri Nov 27 18:18:33 2009 +0100 snd-fm801: autodetect SF64-PCR (tuner-only) card When primary AC97 is not found, don't fail with tons of AC97 errors. Assume that the card is SF64-PCR (tuner-only). This makes the SF64-PCR radio card work "out of the box". Also fixes a bug that can cause an oops here:         if (tea575x_tuner > 0 && (tea575x_tuner & 0x000f) < 4) { when tea575x_tuner == 16, it passes this check and causes problems a couple lines below:         chip->tea.ops = &snd_fm801_tea_ops[(tea575x_tuner & 0x000f) - 1]; Tested with SF64-PCR, but I don't have any of those sound or sound+radio cards to test if I didn't break anything. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 1233faa891451dee9eaddd7f8a616ba1ddd77919 Author: Ondrej Zary Date: Fri Nov 27 18:19:28 2009 +0100 ALSA: tea575x-tuner: fix mute Fix mute state reporting in tea575x-tuner. This fixes mute function in kradio on SF64-PCR radio card. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 753c89130c52b96e66e5ceff19bd1336de9a5ce8 Author: Philipp Reisner Date: Wed Nov 18 15:52:51 2009 +0100 drbd_req.c: use part_[inc|dec]_in_flight() Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 7d1849aff6687a135a8da3a75e32a00e3137a5e2 Author: Mikael Pettersson Date: Thu Dec 3 15:52:44 2009 +0100 x86, apic: Enable lapic nmi watchdog on AMD Family 11h The x86 lapic nmi watchdog does not recognize AMD Family 11h, resulting in: NMI watchdog: CPU not supported As far as I can see from available documentation (the BKDM), family 11h looks identical to family 10h as far as the PMU is concerned. Extending the check to accept family 11h results in: Testing NMI watchdog ... OK. I've been running with this change on a Turion X2 Ultra ZM-82 laptop for a couple of weeks now without problems. Signed-off-by: Mikael Pettersson Cc: Andreas Herrmann Cc: Joerg Roedel Cc: LKML-Reference: <19223.53436.931768.278021@pilspetsen.it.uu.se> Signed-off-by: Ingo Molnar commit 0d99519efef15fd0cf84a849492c7b1deee1e4b7 Author: Wu Fengguang Date: Thu Dec 3 13:54:25 2009 +0100 writeback: remove unused nonblocking and congestion checks - no one is calling wb_writeback and write_cache_pages with wbc.nonblocking=1 any more - lumpy pageout will want to do nonblocking writeback without the congestion wait So remove the congestion checks as suggested by Chris. Signed-off-by: Wu Fengguang Cc: Chris Mason Cc: Jens Axboe Cc: Trond Myklebust Cc: Christoph Hellwig Cc: Dave Chinner Cc: Evgeniy Polyakov Cc: Alex Elder Signed-off-by: Jens Axboe commit b17621fed6aa039387e35f9b4d34d98f213e5673 Author: Wu Fengguang Date: Thu Dec 3 13:54:25 2009 +0100 writeback: introduce wbc.for_background It will lower the flush priority for NFS, and maybe more in future. Signed-off-by: Wu Fengguang Cc: Trond Myklebust Cc: Jens Axboe Cc: Christoph Hellwig Signed-off-by: Jens Axboe commit 951c30d135390a108f102b0f6e3cfa6241f2a1aa Author: Wu Fengguang Date: Thu Dec 3 13:54:25 2009 +0100 writeback: remove the always false bdi_cap_writeback_dirty() test This is dead code because no bdi flush thread will be started for !bdi_cap_writeback_dirty bdi. Signed-off-by: Wu Fengguang Cc: Jens Axboe Cc: Trond Myklebust Cc: Christoph Hellwig Signed-off-by: Jens Axboe commit bf7ec5bb6114b2f086e536e24486fdacd1c0d339 Author: OGAWA Hirofumi Date: Thu Dec 3 13:49:43 2009 +0100 flusher: Fix PF_FROZEN race To touch task->flags directly is racy. thaw_process() still has race (changing non_current->flags, but this is another issue) though, I think it's much better off. So, use thaw_process() instead. Signed-off-by: OGAWA Hirofumi Signed-off-by: Jens Axboe commit 220d0b1dbf78c6417a658c96e571415552d3abac Merge: 474b18c 22763c5 Author: Jens Axboe Date: Thu Dec 3 13:49:39 2009 +0100 Merge branch 'master' into for-2.6.33 commit 26bb7505cf7db3560286be9f6384b6d3911f78b5 Author: Steven Whitehouse Date: Fri Nov 27 10:31:11 2009 +0000 GFS2: Fix glock refcount issues This patch fixes some ref counting issues. Firstly by moving the point at which we drop the ref count after a dlm lock operation has completed we ensure that we never call gfs2_glock_hold() on a lock with a zero ref count. Secondly, by using atomic_dec_and_lock() in gfs2_glock_put() we ensure that at no time will a glock with zero ref count appear on the lru_list. That means that we can remove the check for this in our shrinker (which was racy). Signed-off-by: Steven Whitehouse commit c29cd9004e72acb5a6cb8caf08508f1c5edee686 Author: Wu Fengguang Date: Wed Nov 18 18:09:41 2009 +0800 writeback: remove unused nonblocking and congestion checks (gfs2) No one is calling wb_writeback and write_cache_pages with wbc.nonblocking=1 any more. And lumpy pageout will want to do nonblocking writeback without the congestion wait. Signed-off-by: Wu Fengguang Signed-off-by: Steven Whitehouse commit 9ae3c6de6981a1e8765b5d029f94555fc0f0fea0 Author: Benjamin Marzinski Date: Tue Nov 10 12:54:56 2009 -0600 GFS2: drop rindex glock to refresh rindex list When a gfs2 filesystem is grown, it needs to rebuild the rindex list to be able to use the new space. gfs2 does this when the rindex is marked not uptodate, which happens when the rindex glock is dropped. However, on a single node setup, there is never any reason to drop the rindex glock, so gfs2 never invalidates the the rindex. This patch makes gfs2 automatically drop the rindex glock after filesystem grows, so it can refresh the rindex list. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 0ab7d13fcbd7ce1658c563e345990ba453719deb Author: Steven Whitehouse Date: Fri Nov 6 16:20:51 2009 +0000 GFS2: Tag all metadata with jid There are two spare field in the header common to all GFS2 metadata. One is just the right size to fit a journal id in it, and this patch updates the journal code so that each time a metadata block is modified, we tag it with the journal id of the node which is performing the modification. The reason for this is that it should make it much easier to debug issues which arise if we can tell which node was the last to modify a particular metadata block. Since the field is updated before the block is written into the journal, each journal should only contain metadata which is tagged with its own journal id. The one exception to this is the journal header block, which might have a different node's id in it, if that journal was recovered by another node in the cluster. Thus each journal will contain a record of which nodes recovered it, via the journal header. The other field in the metadata header could potentially be used to hold information about what kind of operation was performed, but for the time being we just zero it on each transaction so that if we use it for that in future, we'll know that the information (where it exists) is reliable. I did consider using the other field to hold the journal sequence number, however since in GFS2's journaling we write the modified data into the journal and not the original data, this gives no information as to what action caused the modification, so I think we can probably come up with a better use for those 64 bits in the future. Signed-off-by: Steven Whitehouse commit 474b18ccc264c472abeec50f48469b6477202699 Author: Shaohua Li Date: Thu Dec 3 12:58:05 2009 +0100 cfq-iosched: no dispatch limit for single queue Since commit 2f5cb7381b737e24c8046fd4aeab571fb71315f5, each queue can send up to 4 * 4 requests if only one queue exists. I wonder why we have such limit. Device supports tag can send more requests. For example, AHCI can send 31 requests. Test (direct aio randread) shows the limits reduce about 4% disk thoughput. On the other hand, since we send one request one time, if other queue pop when current is sending more than cfq_quantum requests, current queue will stop send requests soon after one request, so sounds there is no big latency. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe commit 2c77634965ee28c8b4790ffb5e83dd5ff7ac8988 Author: Steven Whitehouse Date: Fri Nov 6 11:10:51 2009 +0000 GFS2: Locking order fix in gfs2_check_blk_state In some cases we already have the rindex lock when we enter this function. Signed-off-by: Steven Whitehouse commit 1579343a73e32b5886e186e8f3e4db85e420ed3f Author: Steven Whitehouse Date: Fri Nov 6 11:06:37 2009 +0000 GFS2: Remove dirent_first() function This function only had one caller left, and that caller only called it for leaf blocks, hence one branch of the "if" was never taken. In addition the call to get_left had already verified the metadata type, so the function can be reduced to a single line of code in its caller. Signed-off-by: Steven Whitehouse commit cdcfde62dac64c86ff34e483c595d568a252c433 Author: Steven Whitehouse Date: Fri Oct 30 10:48:53 2009 +0000 GFS2: Display nobarrier option in /proc/mounts Since the default is barriers on, this only displays the nobarrier option when that is active. Signed-off-by: Steven Whitehouse commit f25934c5f88655a8d5c3c40a540daed1f0e6dedc Author: Christoph Hellwig Date: Fri Oct 30 08:03:27 2009 +0100 GFS2: add barrier/nobarrier mount options Currently gfs2 issues barrier unconditionally. There are various reasons to disable them, be that just for testing or for stupid devices flushing large battert backed caches. Add a nobarrier option that matches xfs and btrfs for this. Also add a symmetric barrier option to turn it back on at remount time. Signed-off-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit c14f5735e724cb5338ca8298d42b1658008a10d7 Author: Benjamin Marzinski Date: Mon Oct 26 13:29:47 2009 -0500 GFS2: remove division from new statfs code It's not necessary to do any 64bit division for the statfs sync code, so remove it. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 3d3c10f2ce80d2a19e5e02023c2b7ab7086c36d5 Author: Benjamin Marzinski Date: Tue Oct 20 02:39:44 2009 -0500 GFS2: Improve statfs and quota usability GFS2 now has three new mount options, statfs_quantum, quota_quantum and statfs_percent. statfs_quantum and quota_quantum simply allow you to set the tunables of the same name. Setting setting statfs_quantum to 0 will also turn on the statfs_slow tunable. statfs_percent accepts an integer between 0 and 100. Numbers between 1 and 100 will cause GFS2 to do any early sync when the local number of blocks free changes by at least statfs_percent from the totoal number of blocks free. Setting statfs_percent to 0 disables this. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 2ec4650526c5a94d96bb760001fe0685b15988de Author: Steven Whitehouse Date: Mon Sep 28 12:49:15 2009 +0100 GFS2: Use dquot_send_warning() This adds support to GFS2 to send quota warnings via netlink. Also it removes a stray \r which was left over from when the code used to print warnings on the console. Signed-off-by: Steven Whitehouse commit 86e931a35e93d94e6e91b57cc76456e16d188ea9 Author: Steven Whitehouse Date: Mon Sep 28 12:35:17 2009 +0100 VFS: Export dquot_send_warning Sending a message to userspace in a generic format to warn of events (e.g. quota exceeded) in the quota subsystem is a generically useful feature. This patch makes some minor changes to the send_message function from dquot.c renaming it quota_send_message, moving it to quota.c and exporting it for use by filesystems which do not use the dquot code. Signed-off-by: Steven Whitehouse commit e285c100362762f7440643be637dd332460fdc75 Author: Steven Whitehouse Date: Wed Sep 23 13:50:49 2009 +0100 GFS2: Add set_xquota support This patch adds the ability to set GFS2 quota limit and warning levels via the XFS quota API. Signed-off-by: Steven Whitehouse commit 113d6b3c99bf30d8083068d00e3c7304d91d4845 Author: Steven Whitehouse Date: Mon Sep 28 11:52:16 2009 +0100 GFS2: Add get_xquota support This adds support for viewing the current GFS2 quota settings via the XFS quota API. The setting of quotas will be addressed in a later patch. Fields which are not supported here are left set to zero. Signed-off-by: Steven Whitehouse Reviewed-by: Bob Peterson commit 1e72c0f7c40e665d2ed40014750fdd2fa9968bcf Author: Steven Whitehouse Date: Tue Sep 15 20:42:56 2009 +0100 GFS2: Clean up gfs2_adjust_quota() and do_glock() Both of these functions contained confusing and in one case duplicate code. This patch adds a new check in do_glock() so that we report -ENOENT if we are asked to sync a quota entry which doesn't exist. Due to the previous patch this is now reported correctly to userspace. Also there are a few new comments, and I hope that the code is easier to understand now. Signed-off-by: Steven Whitehouse commit 6a6ada81e4ffc222bf7e54ea7503c7cc98b4f0d8 Author: Steven Whitehouse Date: Tue Sep 15 16:30:38 2009 +0100 GFS2: Remove constant argument from qd_get() This function was only ever called with the "create" argument set to true, so we can remove it. Signed-off-by: Steven Whitehouse commit 33a82529e7007ed7beceebc6b3f3cddadb5b67f0 Author: Steven Whitehouse Date: Tue Sep 15 16:25:40 2009 +0100 GFS2: Remove constant argument from qdsb_get() The "create" argument to qdsb_get() was only ever set to true, so this patch removes that argument. Signed-off-by: Steven Whitehouse commit ea7623385930c63e2a35749cff9db72094cd06ad Author: Steven Whitehouse Date: Tue Sep 15 16:20:30 2009 +0100 GFS2: Add proper error reporting to quota sync via sysfs For some reason, the errors were not making it to userspace. Signed-off-by: Steven Whitehouse commit 1d371b5e179d943491a5fddad211cb317f38a142 Author: Steven Whitehouse Date: Fri Sep 11 15:57:27 2009 +0100 GFS2: Add get_xstate quota function This allows querying of the quota state via the XFS quota API. Signed-off-by: Steven Whitehouse commit 91094d0fb650decd8bf48b85d86c892d7ca913ee Author: Steven Whitehouse Date: Fri Sep 11 15:21:56 2009 +0100 GFS2: Remove obsolete code in quota.c There is no point in testing for GLF_DEMOTE here, we might as well always release the glock at that point. Signed-off-by: Steven Whitehouse commit cc632e7f93465597896862cf9e50baefb1999215 Author: Steven Whitehouse Date: Tue Sep 15 09:59:02 2009 +0100 GFS2: Hook gfs2_quota_sync into VFS via gfs2_quotactl_ops The plan is to add further operations to the gfs2_quotactl_ops in future patches. The sync operation is easy, so we start with that one. We plan to use the XFS quota control functions because they more closely match the GFS2 ones. Signed-off-by: Steven Whitehouse commit 8c42d637f6f2859e0fb28b78d5add7f0dc6d0973 Author: Steven Whitehouse Date: Fri Sep 11 14:36:44 2009 +0100 GFS2: Alter arguments of gfs2_quota/statfs_sync These two functions are altered so that gfs2_quota_sync may in future be called directly from the VFS. The GFS2 superblock changes to a VFS super block and there is an addition of an int argument which is currently ignored. Signed-off-by: Steven Whitehouse commit ab201832f75f58c8f5093436363f80ffa4a4c9a8 Author: Steven Whitehouse Date: Tue Sep 29 16:31:03 2009 +0100 VFS: Use GFP_NOFS in posix_acl_from_xattr() GFS2 needs to call this from under a glock, so we need GFP_NOFS and I suspect that other filesystems might require this too. Signed-off-by: Steven Whitehouse commit 106381bfba997b83b64f68f2210e154162fc38e6 Author: Steven Whitehouse Date: Tue Sep 29 16:26:23 2009 +0100 GFS2: Add cached ACLs support The other patches in this series have been building towards being able to support cached ACLs like other filesystems. The only real difference with GFS2 is that we have to invalidate the cache when we drop a glock, but that is dealt with in earlier patches. Signed-off-by: Steven Whitehouse commit 479c427dd60fe1aadbbf2e6cbf2f84942baeb210 Author: Steven Whitehouse Date: Fri Oct 2 12:00:00 2009 +0100 GFS2: Clean up ACLs To prepare for support for caching of ACLs, this cleans up the GFS2 ACL support by pushing the xattr code back into xattr.c and changing the acl_get function into one which only returns ACLs so that we can drop the caching function into it shortly. Signed-off-by: Steven Whitehouse commit 69dca42464962d8d0989b7e09877ba644c9cba66 Author: Steven Whitehouse Date: Tue Sep 29 12:40:19 2009 +0100 GFS2: Use gfs2_set_mode() instead of munge_mode() These two functions do the same thing, so lets only use one of them. Signed-off-by: Steven Whitehouse commit c65f7fb5342ecb8cb85e9b676327b3a43a5a4735 Author: Steven Whitehouse Date: Fri Oct 2 11:54:39 2009 +0100 GFS2: Use forget_all_cached_acls() Invalidate all the cached ACLs when we drop the glock. Signed-off-by: Steven Whitehouse commit 796bd9524731850967d437b7f47a86acc776ea89 Author: Steven Whitehouse Date: Tue Sep 29 12:27:23 2009 +0100 VFS: Add forget_all_cached_acls() This is required for cluster filesystems which want to use cached ACLs so that they can invalidate the cache when required. Signed-off-by: Steven Whitehouse Cc: Alexander Viro Cc: Christoph Hellwig commit 2646a1f61a3b5525914757f10fa12b5b94713648 Author: Steven Whitehouse Date: Fri Oct 2 11:50:54 2009 +0100 GFS2: Fix up system xattrs This code has been shamelessly stolen from XFS at the suggestion of Christoph Hellwig. I've not added support for cached ACLs so far... watch for that in a later patch, although this is designed in such a way that they should be easy to add. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig commit f55073ff1eaf99f6b3bc62134a456638bca043a3 Author: Steven Whitehouse Date: Mon Sep 28 10:30:49 2009 +0100 GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one) We have a long term plan to use the "-o meta" flag to GFS2 mounts to access the alternate root which is used to store metadata for a GFS2 filesystem. This will allow us to eventually remove support for the gfs2meta filesystem type (which is in any case just a "front end" to the gfs2 filesystem type with the meta/master root). Currently the "-o meta" option is only taken into account on the initial mount of the filesystem. Subsequent mounts of the same filesystem (i.e. on the same device) result in basically the same as bind mounting the root of the original mount. This patch changes that by using what is more or less a copy of get_sb_bdev() and extending it so that it will take into account the alternate root in all cases. The main difference is that we have to parse the mount options a bit earlier. We can then use them to select the appropriate root towards the end of the function. In addition this also fixes a bug where it was possible (but certainly not desirable) to set different ro/rw options for the meta root when mounted via the gfs2meta fs compared with the original mount. Signed-off-by: Steven Whitehouse Cc: Alexander Viro commit 7e71c55ee73988d0cb61045660b899eaac23bf8f Author: Steven Whitehouse Date: Tue Sep 22 10:56:16 2009 +0100 GFS2: Fix potential race in glock code We need to be careful of the ordering between clearing the GLF_LOCK bit and scheduling the workqueue. Signed-off-by: Steven Whitehouse commit 57fea8f7ab67ef42b7f84999e49e47f8717a2d5b Author: Xiaotian Feng Date: Thu Dec 3 19:06:40 2009 +0800 x86/reboot: Add pci_dev_put in reboot_fixup_32.c for consistency pci_get_device will increase the ref count of found device. Although we're going to reset soon, we should use pci_dev_put to decrease the ref count for consistency. Signed-off-by: Xiaotian Feng Acked-by: H. Peter Anvin Cc: Yinghai Lu LKML-Reference: <1259838400-23833-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit c08f782985eed9959438368e84ce1d7f2ed03d95 Author: Frederic Weisbecker Date: Wed Dec 2 20:49:17 2009 +0100 mutex: Fix missing conditions to build mutex_spin_on_owner() We don't need to build mutex_spin_on_owner() if we have CONFIG_DEBUG_MUTEXES or CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES as it won't be used under such configs. Use CONFIG_MUTEX_SPIN_ON_OWNER as it gathers all the necessary checks before building it. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra LKML-Reference: <1259783357-8542-2-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra commit c02260277e472095ffb3ad893be5eeab9dcefde3 Author: Frederic Weisbecker Date: Wed Dec 2 20:49:16 2009 +0100 mutex: Better control mutex adaptive spinning config Introduce CONFIG_MUTEX_SPIN_ON_OWNER so that we can centralize in a single place the conditions that determine its definition and use. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra LKML-Reference: <1259783357-8542-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra commit efd9eb96d5604c2c133e500f7b8c7b3f3fbdece8 Author: Manuel Lauss Date: Tue Dec 1 18:10:35 2009 +0100 ASoC: au1x: dbdma2: plug memleak in pcm device creation error path free the allocated pcm platform device in the error path. Signed-off-by: Manuel Lauss Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1bc8079879e8edfff451b62b7550bdd18523f963 Author: Manuel Lauss Date: Tue Dec 1 18:10:34 2009 +0100 ASoC: au1x: dbdma2: fix oops on soc device removal. platform_device_unregister() frees resources for us, no need to do it explicitly. Fixes an oops when machine code removes the soc-audio device. Signed-off-by: Manuel Lauss Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 4528752f49c1f4025473d12bc5fa9181085c3f22 Author: Darrick J. Wong Date: Wed Dec 2 15:05:56 2009 -0800 x86, Calgary IOMMU quirk: Find nearest matching Calgary while walking up the PCI tree On a multi-node x3950M2 system, there's a slight oddity in the PCI device tree for all secondary nodes: 30:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) \-33:00.0 PCI bridge: IBM CalIOC2 PCI-E Root Port (rev 01) \-34:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04) ...as compared to the primary node: 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) \-01:00.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02) 03:00.0 PCI bridge: IBM CalIOC2 PCI-E Root Port (rev 01) \-04:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04) In both nodes, the LSI RAID controller hangs off a CalIOC2 device, but on the secondary nodes, the BIOS hides the VGA device and substitutes the device tree ending with the disk controller. It would seem that Calgary devices don't necessarily appear at the top of the PCI tree, which means that the current code to find the Calgary IOMMU that goes with a particular device is buggy. Rather than walk all the way to the top of the PCI device tree and try to match bus number with Calgary descriptor, the code needs to examine each parent of the particular device; if it encounters a Calgary with a matching bus number, simply use that. Otherwise, we BUG() when the bus number of the Calgary doesn't match the bus number of whatever's at the top of the device tree. Extra note: This patch appears to work correctly for the x3950 that came before the x3950 M2. Signed-off-by: Darrick J. Wong Acked-by: Muli Ben-Yehuda Cc: FUJITA Tomonori Cc: Joerg Roedel Cc: Yinghai Lu Cc: Jon D. Mason Cc: Corinna Schultz Cc: LKML-Reference: <20091202230556.GG10295@tux1.beaverton.ibm.com> Signed-off-by: Ingo Molnar commit 8bfb2f8e655b9d0c45fde679fcd5fd97e34513db Author: Paul E. McKenney Date: Wed Dec 2 12:10:16 2009 -0800 rcu: Make RCU's CPU-stall detector be default The RCU_CPU_STALL_DETECTOR costs almost nothing and has located some bugs that might otherwise have been difficult to track down. Make it be default for the TREE RCU implementations. The vmlinux size impact is limited (on 64-bit x86 defconfig): text data bss dec hex filename 8440248 1260076 995588 10695912 a334e8 vmlinux.before 8440774 1260060 995588 10696422 a336e6 vmlinux.after +526 bytes - acceptable default cost. For RAM starved systems, TINY_RCU does not support CPU-stall detection and is much smaller, but then again it is a uniprocessor... Signed-off-by: Paul E. McKenney Acked-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12597846162906-git-send-email-> [ v2: added image size calculations to the changelog ] Signed-off-by: Ingo Molnar commit d9a3da0699b24a589b27a61e1a5b5bd30d9db669 Author: Paul E. McKenney Date: Wed Dec 2 12:10:15 2009 -0800 rcu: Add expedited grace-period support for preemptible RCU Implement an synchronize_rcu_expedited() for preemptible RCU that actually is expedited. This uses synchronize_sched_expedited() to force all threads currently running in a preemptible-RCU read-side critical section onto the appropriate ->blocked_tasks[] list, then takes a snapshot of all of these lists and waits for them to drain. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1259784616158-git-send-email-> Signed-off-by: Ingo Molnar commit cf244dc01bf68e1ad338b82447f8686d24ea4435 Author: Paul E. McKenney Date: Wed Dec 2 12:10:14 2009 -0800 rcu: Enable fourth level of TREE_RCU hierarchy Enable a fourth level of rcu_node hierarchy for TREE_RCU and TREE_PREEMPT_RCU. This is for stress-testing and experiemental purposes only, although in theory this would enable 16,777,216 CPUs on 64-bit systems, though only 1,048,576 CPUs on 32-bit systems. Normal experimental use of this fourth level will normally set CONFIG_RCU_FANOUT=2, requiring a 16-CPU system, though the more adventurous (and more fortunate) experimenters may wish to chose CONFIG_RCU_FANOUT=3 for 81-CPU systems or even CONFIG_RCU_FANOUT=4 for 256-CPU systems. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Acked-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12597846161257-git-send-email-> Signed-off-by: Ingo Molnar commit d3f6bad3911736e44ba11f3f3f6ac4e8c837fdfc Author: Paul E. McKenney Date: Wed Dec 2 12:10:13 2009 -0800 rcu: Rename "quiet" functions The number of "quiet" functions has grown recently, and the names are no longer very descriptive. The point of all of these functions is to do some portion of the task of reporting a quiescent state, so rename them accordingly: o cpu_quiet() becomes rcu_report_qs_rdp(), which reports a quiescent state to the per-CPU rcu_data structure. If this turns out to be a new quiescent state for this grace period, then rcu_report_qs_rnp() will be invoked to propagate the quiescent state up the rcu_node hierarchy. o cpu_quiet_msk() becomes rcu_report_qs_rnp(), which reports a quiescent state for a given CPU (or possibly a set of CPUs) up the rcu_node hierarchy. o cpu_quiet_msk_finish() becomes rcu_report_qs_rsp(), which reports a full set of quiescent states to the global rcu_state structure. o task_quiet() becomes rcu_report_unblock_qs_rnp(), which reports a quiescent state due to a task exiting an RCU read-side critical section that had previously blocked in that same critical section. As indicated by the new name, this type of quiescent state is reported up the rcu_node hierarchy (using rcu_report_qs_rnp() to do so). Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Acked-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12597846163698-git-send-email-> Signed-off-by: Ingo Molnar commit ac2c92e0cd06387ecee8115f5fa385fba6413c42 Author: Takashi Iwai Date: Thu Dec 3 10:14:10 2009 +0100 ALSA: hda - Fix memory leaks in the previous patch The previous hack for replacing the codec name give memory leaks at error paths. This patch fixes them. Signed-off-by: Takashi Iwai commit 274693f37090ada2cadd09944ab883f05ea6ebe6 Author: Kailang Yang Date: Thu Dec 3 10:07:50 2009 +0100 ALSA: hda - Add ALC661/259, ALC892/888VD support Fixed List: 1. Add alc_read_coef_idx function 2. Add ALC661 ALC259 3. Add ALC892 ALC888VD Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit b16533d3331e3b5905f31b00399933f956936c97 Author: Uwe Kleine-König Date: Mon Nov 30 16:53:24 2009 +0100 MAINTAINERS: add tree and file pattern for ARM IMX Signed-off-by: Uwe Kleine-König Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 98262f2762f0067375f83824d81ea929e37e6bfe Author: Martin K. Petersen Date: Thu Dec 3 09:24:48 2009 +0100 block: Allow devices to indicate whether discarded blocks are zeroed The discard ioctl is used by mkfs utilities to clear a block device prior to putting metadata down. However, not all devices return zeroed blocks after a discard. Some drives return stale data, potentially containing old superblocks. It is therefore important to know whether discarded blocks are properly zeroed. Both ATA and SCSI drives have configuration bits that indicate whether zeroes are returned after a discard operation. Implement a block level interface that allows this information to be bubbled up the stack and queried via a new block device ioctl. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit d6250a03fa736c1bff4df4601f5af2dc21f2bf9e Author: Alan Cox Date: Mon Nov 30 13:23:05 2009 +0000 pata_ali: Fix regression with old devices Making the new stuff work broke some of the old chipsets. We need to go back to the old set up values for these it seems. Unfortunately even with documentation this is basically a mix of cargoculting and guesswork. Chased down to the exact line by Gianluca. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit be315d46156b3db3f4d7eddd1f85549a8a70e962 Author: Alan Cox Date: Mon Nov 30 13:23:00 2009 +0000 [libata] PATA: Update experimental tags Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d43744390e460dce6626fb8de2c02a24ff650005 Author: Alan Cox Date: Mon Nov 30 13:22:54 2009 +0000 pata_cmd64x: implement serialization as per notes Daniela Engert pointed out that there are some implementation notes for the 643 and 646 that deal with certain serialization rules. In theory we don't need them because they apply when the motherboard decides not to retry PCI requests for long enough and the chip is busy doing a DMA transfer on the other channel. The rule basically is "don't touch the taskfile of the other channel while a DMA is in progress". To implement that we need to - not issue a command on a channel when there is a DMA command queued - not issue a DMA command on a channel when there are PIO commands queued - use the alternative access to the interrupt source so that we do not touch altstatus or status on shared IRQ. Updated to remote extra conditional check Bartlomiej noted and to remove the variables for irq checks as the CMD648 doesn't have the underlying problem. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f20941f334d8fdb6b598658979709b4e94cd034b Author: Alan Cox Date: Mon Nov 30 13:22:49 2009 +0000 pata_sis: Implement MWDMA for the UDMA 133 capable chips Bartlomiej pointed out that while this got fixed in the old driver whoever did it didn't port it across. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 10734fc8d5fbf89e88519d72e58cce83be21941a Author: Alan Cox Date: Mon Nov 30 13:22:43 2009 +0000 pata_via: Blacklist some combinations of Transcend Flash and via Reported by Mikulas Patocka. VIA VT82C586B + Transcend TS64GSSD25-M v0826 does not work in UDMA mode Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 294264a94215f5a16a92e8e6b05252ed22fed249 Author: Benjamin Herrenschmidt Date: Wed Dec 2 11:36:28 2009 +1100 libata/sff: Use ops->bmdma_stop instead of ata_bmdma_stop() In libata-sff, ata_sff_post_internal_cmd() directly calls ata_bmdma_stop() instead of ap->ops->bmdma_stop(). This can be a problem for controllers that use their own bmdma_stop for which the generic sff one isn't suitable Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 18f0f97850059303ed73b1f02084f55ca330a80c Author: Christoph Hellwig Date: Tue Nov 17 10:00:47 2009 -0500 libata: add translation for SCSI WRITE SAME (aka TRIM support) Add support for the ATA TRIM command in libata. We translate a WRITE SAME 16 command with the unmap bit set into an ATA TRIM command and export enough information in READ CAPACITY 16 and the block limits EVPD page so that the new SCSI layer discard support will driver this for us. Note that I hardcode the WRITE_SAME_16 opcode for now as the patch to introduce the symbolic is not in 2.6.32 yet but only in the SCSI tree - as soon as it is merged we can fix it up to properly use the symbolic name. Signed-off-by: Christoph Hellwig Signed-off-by: Jeff Garzik commit 6013efd8860bf15c1f86f365332642cfe557152f Author: Tejun Heo Date: Thu Nov 19 15:36:45 2009 +0900 libata: retry failed FLUSH if device didn't fail it If ATA device failed FLUSH, it means that the device failed to write out some amount of data and the error needs to be reported to upper layers. As retries can't recover the lost data, FLUSH failures need to be reported immediately in general. However, if FLUSH fails due to transmission errors, the FLUSH needs to be retried; otherwise, filesystems may switch to RO mode and/or raid array may drop a drive for a random transmission glitch. This condition can be rather easily reproduced on certain ahci controllers which go through a PHY event after powersave mode switch + ext4 combination. Powersave mode switch is often closely followed by flush from the filesystem failing the FLUSH with ATA bus error which makes the filesystem code believe that data is lost and drop to RO mode. This was reported in the following bugzilla bug. http://bugzilla.kernel.org/show_bug.cgi?id=14543 This patch makes libata EH retry FLUSH if it wasn't failed by the device. Signed-off-by: Tejun Heo Reported-by: Andrey Vihrov Signed-off-by: Jeff Garzik commit fd6c29e3dec9e44ecbcba3c57efa08af70a10f1e Author: ashish kalra Date: Wed Jul 1 20:59:43 2009 +0530 sata_fsl: Add asynchronous notification support Enable device hot-plug support on Port multiplier fan-out ports Signed-off-by: Ashish Kalra Signed-off-by: Jeff Garzik commit 10a9c969222de5302cff0bb41dd7f114f9aa8e5d Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 20:31:31 2009 +0100 pata_hpt{37x,3x2n}: add debounce delay to cable detection methods Alan Cox reported that cable detection sometimes works unreliably for HPT3xxN and that the issue is fixed by adding debounce delay as used by the vendor driver. Sergei Shtylyov also noticed that debounce delay is needed for all HPT37x and HPT3xxN chipsets according to vendor drivers. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit f3b1cf40d4012351d793793b2965aca57cc9fdd5 Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 18:38:11 2009 +0100 pata_hpt3x2n: fix cable detection The detection was reversed between primary and secondary ports. Fix it to match hpt366 and the vendor driver. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 6a74463798bde03f849d8d82d97e4f8e4cf160f3 Author: Matthew Garrett Date: Tue Nov 17 11:09:03 2009 -0500 ata: Don't require newlines for link_power_management_policy sysfs attributes shouldn't require newlines. Make it possible to set the link power management policy without a trailing newline. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit 4192be64026dd8bfe94970846e4a135e531bd116 Author: Otavio Salvador Date: Tue Nov 17 11:11:16 2009 -0200 pata-it821x: use PCI_DEVICE_ID_RDC_D1010 define Signed-off-by: Otavio Salvador Signed-off-by: Jeff Garzik commit ab81a505ae6be069be5b67acd7e1bab3cfb53968 Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 19:12:24 2009 +0100 pata_hpt37x: unify ->pre_reset methods We can use the same ->pre_reset method for all HPT37x chipsets now. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 9e87be9edd9114b65a9cf4f93a60b5d9134a972e Author: Bartlomiej Zolnierkiewicz Date: Thu Nov 19 19:10:44 2009 +0100 pata_hpt37x: add proper cable detection methods Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 1b677afda44f7882b7e257d6f025d006ec5d14f9 Author: Shaohua Li Date: Mon Nov 16 09:56:05 2009 +0800 ahci: disable SNotification capability for ich8 I obseved there is a sata_async_notification() for every ahci interrupt. But the async notification does nothing (this is hard disk drive and no pmp). This cause cpu wastes some time on sntf register access. It appears ICH AHCI doesn't support SNotification register, but the controller reports it does. After quirking it, the async notification disappears. PS. it appears all ICH don't support SNotification register from ICH manual, don't know if we need quirk all ICH. I don't have machines with all kinds of ICH. Signed-off-by: Shaohua Li Signed-off-by: Jeff Garzik commit dae77214fa71898b84514e43721fb7bf260b026a Author: Vivek Mahajan Date: Mon Nov 16 11:49:22 2009 +0530 sata_sil24: MSI support, disabled by default The following patch adds MSI support. Some platforms may have broken MSI, so those are defaulted to use legacy PCI interrupts. Signed-off-by: Vivek Mahajan Signed-off-by: Jeff Garzik commit 097dac91837b35947fffb0e303bcf71e4e4a789f Author: Robert Hancock Date: Thu Nov 12 20:13:40 2009 -0600 libata: remove experimental tag on PATA drivers Remove the experimental tag on Parallel ATA drivers. Though some of the individual PATA drivers are still marked as experimental, as a group they can hardly be considered to be, given they've been used in various distros for some time. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 4c4a90fd2b9d1f5c0d33df3fcfaa8a3dae9abc53 Author: Thiago Farina Date: Sun Nov 8 14:30:57 2009 -0500 sata_mv: Clean up hard coded array size calculation. Use ARRAY_SIZE macro of kernel api instead. Signed-off-by: Thiago Farina Signed-off-by: Jeff Garzik commit 7095e3eb49869051594b33f6110edd65aff6be50 Author: Jiri Slaby Date: Wed Nov 4 17:11:03 2009 +0100 pata_via: fix double put on isa bridge In via_init_one, when via_isa_bridges iterator reaches PCI_DEVICE_ID_VIA_ANON and last but one via_isa_bridges bridge is found but rev doesn't match, pci_dev_put(isa) is called twice. Do pci_dev_put only once. Signed-off-by: Jiri Slaby Signed-off-by: Jeff Garzik commit ba3a221ce2ec0b636a15e12c23c97af68b9b1114 Author: Krzysztof Halasa Date: Wed Nov 11 00:58:16 2009 +0100 pata_cs5536: use 32-bit BM DMA template instead of 16-bit. Tested on IXP425 + CS5536. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit f2406770a2f62a3d3c0a6f45c2f397b368af668d Author: Tejun Heo Date: Wed Nov 18 22:24:21 2009 +0900 libata-acpi: missing _SDD is not an error Missing _SDD is not an error. Don't treat it as one. Signed-off-by: Tejun Heo Reported-by: Takashi Iwai Signed-off-by: Jeff Garzik commit d5696725b2a4c59503f5e0bc33adeee7f30cd45b Author: Avi Kivity Date: Wed Dec 2 12:28:47 2009 +0200 KVM: VMX: Fix comparison of guest efer with stale host value update_transition_efer() masks out some efer bits when deciding whether to switch the msr during guest entry; for example, NX is emulated using the mmu so we don't need to disable it, and LMA/LME are handled by the hardware. However, with shared msrs, the comparison is made against a stale value; at the time of the guest switch we may be running with another guest's efer. Fix by deferring the mask/compare to the actual point of guest entry. Noted by Marcelo. Signed-off-by: Avi Kivity commit f50146bd7bdb75435638e60d4960edd9bcdf88b8 Author: Carsten Otte Date: Mon Nov 30 17:14:41 2009 +0100 KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c This patch corrects the checking of the new address for the prefix register. On s390, the prefix register is used to address the cpu's lowcore (address 0...8k). This check is supposed to verify that the memory is readable and present. copy_from_guest is a helper function, that can be used to read from guest memory. It applies prefixing, adds the start address of the guest memory in user, and then calls copy_from_user. Previous code was obviously broken for two reasons: - prefixing should not be applied here. The current prefix register is going to be updated soon, and the address we're looking for will be 0..8k after we've updated the register - we're adding the guest origin (gmsor) twice: once in subject code and once in copy_from_guest With kuli, we did not hit this problem because (a) we were lucky with previous prefix register content, and (b) our guest memory was mmaped very low into user address space. Cc: stable@kernel.org Signed-off-by: Carsten Otte Reported-by: Alexander Graf Signed-off-by: Avi Kivity commit 3548bab501887a698a887639b54d5ecaf35c387b Author: Avi Kivity Date: Sat Nov 28 14:18:47 2009 +0200 KVM: Drop user return notifier when disabling virtualization on a cpu This way, we don't leave a dangling notifier on cpu hotunplug or module unload. In particular, module unload leaves the notifier pointing into freed memory. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 046d87103addc117f0d397196e85189722d4d7de Author: Sheng Yang Date: Fri Nov 27 16:46:26 2009 +0800 KVM: VMX: Disable unrestricted guest when EPT disabled Otherwise would cause VMEntry failure when using ept=0 on unrestricted guest supported processors. Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit eb3c79e64a70fb8f7473e30fa07e89c1ecc2c9bb Author: Avi Kivity Date: Tue Nov 24 15:20:15 2009 +0200 KVM: x86 emulator: limit instructions to 15 bytes While we are never normally passed an instruction that exceeds 15 bytes, smp games can cause us to attempt to interpret one, which will cause large latencies in non-preempt hosts. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit d7b0b5eb3000c6fb902f08c619fcd673a23d8fab Author: Carsten Otte Date: Thu Nov 19 14:21:16 2009 +0100 KVM: s390: Make psw available on all exits, not just a subset This patch moves s390 processor status word into the base kvm_run struct and keeps it up-to date on all userspace exits. The userspace ABI is broken by this, however there are no applications in the wild using this. A capability check is provided so users can verify the updated API exists. Cc: stable@kernel.org Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 3cfc3092f40bc37c57ba556cfd8de4218f2135ab Author: Jan Kiszka Date: Thu Nov 12 01:04:25 2009 +0100 KVM: x86: Add KVM_GET/SET_VCPU_EVENTS This new IOCTL exports all yet user-invisible states related to exceptions, interrupts, and NMIs. Together with appropriate user space changes, this fixes sporadic problems of vmsave/restore, live migration and system reset. [avi: future-proof abi by adding a flags field] Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 65ac7264043740572ba804edca03c374d70427c9 Author: Avi Kivity Date: Wed Nov 4 11:59:01 2009 +0200 KVM: VMX: Report unexpected simultaneous exceptions as internal errors These happen when we trap an exception when another exception is being delivered; we only expect these with MCEs and page faults. If something unexpected happens, things probably went south and we're better off reporting an internal error and freezing. Signed-off-by: Avi Kivity commit a9c7399d6cda0a092b347f8ee49bbe44f6e1fe66 Author: Avi Kivity Date: Wed Nov 4 11:54:59 2009 +0200 KVM: Allow internal errors reported to userspace to carry extra data Usually userspace will freeze the guest so we can inspect it, but some internal state is not available. Add extra data to internal error reporting so we can expose it to the debugger. Extra data is specific to the suberror. Signed-off-by: Avi Kivity commit c54d2aba27f0c505d61700d656c5943e96982e60 Author: Jan Kiszka Date: Mon Nov 2 17:20:28 2009 +0100 KVM: Reorder IOCTLs in main kvm.h Obviously, people tend to extend this header at the bottom - more or less blindly. Ensure that deprecated stuff gets its own corner again by moving things to the top. Also add some comments and reindent IOCTLs to make them more readable and reduce the risk of number collisions. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 4f926bf291863c237188bd2e27222ed801f12094 Author: Jan Kiszka Date: Fri Oct 30 12:46:59 2009 +0100 KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG Decouple KVM_GUESTDBG_INJECT_DB and KVM_GUESTDBG_INJECT_BP from KVM_GUESTDBG_ENABLE, their are actually orthogonal. At this chance, avoid triggering the WARN_ON in kvm_queue_exception if there is already an exception pending and reject such invalid requests. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit e50212bb51356f0df48d6cce0aae5acf41df336d Author: Marcelo Tosatti Date: Thu Oct 29 13:44:17 2009 -0200 KVM: only clear irq_source_id if irqchip is present Otherwise kvm might attempt to dereference a NULL pointer. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2204ae3c96e9a1fed50f7ee19ce092e69d7dfe82 Author: Marcelo Tosatti Date: Thu Oct 29 13:44:16 2009 -0200 KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic Otherwise kvm might attempt to dereference a NULL pointer. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3ddea128ad75bd33e88780fe44f44c3717369b98 Author: Marcelo Tosatti Date: Thu Oct 29 13:44:15 2009 -0200 KVM: x86: disallow multiple KVM_CREATE_IRQCHIP Otherwise kvm will leak memory on multiple KVM_CREATE_IRQCHIP. Also serialize multiple accesses with kvm->lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 92c0d900159a4fa582e1c8ebcc1c4a8020defff5 Author: Avi Kivity Date: Thu Oct 29 11:00:16 2009 +0200 KVM: VMX: Remove vmx->msr_offset_efer This variable is used to communicate between a caller and a callee; switch to a function argument instead. Signed-off-by: Avi Kivity commit 5f5c35aad5ccaa8f1bd5d9e12f9f5251f3180093 Author: Marcelo Tosatti Date: Mon Oct 26 16:50:14 2009 -0200 KVM: MMU: update invlpg handler comment Large page translations are always synchronized (either in level 3 or level 2), so its not necessary to properly deal with them in the invlpg handler. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 7c93be44a4790b0fd9dddf29c5503cf86c105304 Author: Marcelo Tosatti Date: Mon Oct 26 16:48:33 2009 -0200 KVM: VMX: move CR3/PDPTR update to vmx_set_cr3 GUEST_CR3 is updated via kvm_set_cr3 whenever CR3 is modified from outside guest context. Similarly pdptrs are updated via load_pdptrs. Let kvm_set_cr3 perform the update, removing it from the vcpu_run fast path. Signed-off-by: Marcelo Tosatti Acked-by: Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 1655e3a3dc16e21b60d9950e201b38a9894f1bcf Author: Gleb Natapov Date: Sun Oct 25 17:45:07 2009 +0200 KVM: remove duplicated task_switch check Probably introduced by a bad merge. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c0a187e12d48235cb8af4cdeff283117ab42bbb2 Author: Hollis Blanchard Date: Fri Oct 23 00:35:30 2009 +0000 KVM: powerpc: Fix BUILD_BUG_ON condition The old BUILD_BUG_ON implementation didn't work with __builtin_constant_p(). Fixing that revealed this test had been inverted for a long time without anybody noticing... Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 26bb0981b3ff00b9177d61fe55806db978862b3c Author: Avi Kivity Date: Mon Sep 7 11:14:12 2009 +0300 KVM: VMX: Use shared msr infrastructure Instead of reloading syscall MSRs on every preemption, use the new shared msr infrastructure to reload them at the last possible minute (just before exit to userspace). Improves vcpu/idle/vcpu switches by about 2000 cycles (when EFER needs to be reloaded as well). [jan: fix slot index missing indirection] Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 18863bdd60f895f3b3ba16b15e8331aee781e8ec Author: Avi Kivity Date: Mon Sep 7 11:12:18 2009 +0300 KVM: x86 shared msr infrastructure The various syscall-related MSRs are fairly expensive to switch. Currently we switch them on every vcpu preemption, which is far too often: - if we're switching to a kernel thread (idle task, threaded interrupt, kernel-mode virtio server (vhost-net), for example) and back, then there's no need to switch those MSRs since kernel threasd won't be exiting to userspace. - if we're switching to another guest running an identical OS, most likely those MSRs will have the same value, so there's little point in reloading them. - if we're running the same OS on the guest and host, the MSRs will have identical values and reloading is unnecessary. This patch uses the new user return notifiers to implement last-minute switching, and checks the msr values to avoid unnecessary reloading. Signed-off-by: Avi Kivity commit 44ea2b1758d88ad822e65b1c4c21ca6164494e27 Author: Avi Kivity Date: Sun Sep 6 15:55:37 2009 +0300 KVM: VMX: Move MSR_KERNEL_GS_BASE out of the vmx autoload msr area Currently MSR_KERNEL_GS_BASE is saved and restored as part of the guest/host msr reloading. Since we wish to lazy-restore all the other msrs, save and reload MSR_KERNEL_GS_BASE explicitly instead of using the common code. Signed-off-by: Avi Kivity commit 3ce672d48400e0112fec7a3cb6bb2120493c6e11 Author: Eduardo Habkost Date: Sat Oct 24 02:50:00 2009 -0200 KVM: SVM: init_vmcb(): remove redundant save->cr0 initialization The svm_set_cr0() call will initialize save->cr0 properly even when npt is enabled, clearing the NW and CD bits as expected, so we don't need to initialize it manually for npt_enabled anymore. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 18fa000ae453767b59ab97477925895a3f0c46ea Author: Eduardo Habkost Date: Sat Oct 24 02:49:59 2009 -0200 KVM: SVM: Reset cr0 properly on vcpu reset svm_vcpu_reset() was not properly resetting the contents of the guest-visible cr0 register, causing the following issue: https://bugzilla.redhat.com/show_bug.cgi?id=525699 Without resetting cr0 properly, the vcpu was running the SIPI bootstrap routine with paging enabled, making the vcpu get a pagefault exception while trying to run it. Instead of setting vmcb->save.cr0 directly, the new code just resets kvm->arch.cr0 and calls kvm_set_cr0(). The bits that were set/cleared on vmcb->save.cr0 (PG, WP, !CD, !NW) will be set properly by svm_set_cr0(). kvm_set_cr0() is used instead of calling svm_set_cr0() directly to make sure kvm_mmu_reset_context() is called to reset the mmu to nonpaging mode. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit fa40052ca04bdbbeb20b839cc8ffe9fa7beefbe9 Author: Eduardo Habkost Date: Sat Oct 24 02:49:58 2009 -0200 KVM: VMX: Use macros instead of hex value on cr0 initialization This should have no effect, it is just to make the code clearer. Signed-off-by: Eduardo Habkost Signed-off-by: Avi Kivity commit 6ff5894cdfe7103083bd15b31002434ccd351039 Author: Arnd Bergmann Date: Thu Oct 22 14:19:27 2009 +0200 KVM: Enable 32bit dirty log pointers on 64bit host With big endian userspace, we can't quite figure out if a pointer is 32 bit (shifted >> 32) or 64 bit when we read a 64 bit pointer. This is what happens with dirty logging. To get the pointer interpreted correctly, we thus need Arnd's patch to implement a compat layer for the ioctl: A better way to do this is to add a separate compat_ioctl() method that converts this for you. Based on initial patch from Arnd Bergmann. Signed-off-by: Arnd Bergmann Signed-off-by: Alexander Graf Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit afbcf7ab8d1bc8c2d04792f6d9e786e0adeb328d Author: Glauber Costa Date: Fri Oct 16 15:28:36 2009 -0400 KVM: allow userspace to adjust kvmclock offset When we migrate a kvm guest that uses pvclock between two hosts, we may suffer a large skew. This is because there can be significant differences between the monotonic clock of the hosts involved. When a new host with a much larger monotonic time starts running the guest, the view of time will be significantly impacted. Situation is much worse when we do the opposite, and migrate to a host with a smaller monotonic clock. This proposed ioctl will allow userspace to inform us what is the monotonic clock value in the source host, so we can keep the time skew short, and more importantly, never goes backwards. Userspace may also need to trigger the current data, since from the first migration onwards, it won't be reflected by a simple call to clock_gettime() anymore. [marcelo: future-proof abi with a flags field] [jan: fix KVM_GET_CLOCK by clearing flags field instead of checking it] Signed-off-by: Glauber Costa Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit cd5a2685de4a642fd0bd763e8c19711ef08dbe27 Author: Marcelo Tosatti Date: Sat Oct 17 22:47:23 2009 -0300 KVM: fix irq_source_id size verification find_first_zero_bit works with bit numbers, not bytes. Fixes https://sourceforge.net/tracker/?func=detail&aid=2847560&group_id=180599&atid=893831 Reported-by: "Xu, Jiajun" Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti commit 6be7d3062b59af891be7e40c6802350de5f78cef Author: Jan Kiszka Date: Sun Oct 18 13:24:54 2009 +0200 KVM: SVM: Cleanup NMI singlestep Push the NMI-related singlestep variable into vcpu_svm. It's dealing with an AMD-specific deficit, nothing generic for x86. Acked-by: Gleb Natapov Signed-off-by: Jan Kiszka arch/x86/include/asm/kvm_host.h | 1 - arch/x86/kvm/svm.c | 12 +++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) Signed-off-by: Marcelo Tosatti commit 94fe45da48f921d01d8ff02a0ad54ee9c326d7f0 Author: Jan Kiszka Date: Sun Oct 18 13:24:44 2009 +0200 KVM: x86: Fix guest single-stepping while interruptible Commit 705c5323 opened the doors of hell by unconditionally injecting single-step flags as long as guest_debug signaled this. This doesn't work when the guest branches into some interrupt or exception handler and triggers a vmexit with flag reloading. Fix it by saving cs:rip when user space requests single-stepping and restricting the trace flag injection to this guest code position. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit ffde22ac53b6d6b1d7206f1172176a667eead778 Author: Ed Swierk Date: Thu Oct 15 15:21:43 2009 -0700 KVM: Xen PV-on-HVM guest support Support for Xen PV-on-HVM guests can be implemented almost entirely in userspace, except for handling one annoying MSR that maps a Xen hypercall blob into guest address space. A generic mechanism to delegate MSR writes to userspace seems overkill and risks encouraging similar MSR abuse in the future. Thus this patch adds special support for the Xen HVM MSR. I implemented a new ioctl, KVM_XEN_HVM_CONFIG, that lets userspace tell KVM which MSR the guest will write to, as well as the starting address and size of the hypercall blobs (one each for 32-bit and 64-bit) that userspace has loaded from files. When the guest writes to the MSR, KVM copies one page of the blob from userspace to the guest. I've tested this patch with a hacked-up version of Gerd's userspace code, booting a number of guests (CentOS 5.3 i386 and x86_64, and FreeBSD 8.0-RC1 amd64) and exercising PV network and block devices. [jan: fix i386 build warning] [avi: future proof abi with a flags field] Signed-off-by: Ed Swierk Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 94c30d9ca6fd00a69e367b91b6e13572c41938c5 Author: Jan Kiszka Date: Mon Oct 12 08:51:40 2009 +0200 KVM: x86: Drop unneeded CONFIG_HAS_IOMEM check This (broken) check dates back to the days when this code was shared across architectures. x86 has IOMEM, so drop it. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit 9fb41ba8962b18159e16cac81e7d57e897964038 Author: Marcelo Tosatti Date: Mon Oct 12 19:37:31 2009 -0300 KVM: VMX: fix handle_pause declaration There's no kvm_run argument anymore. Signed-off-by: Marcelo Tosatti commit 6b7d7e762b238f908fe4c3345c2c6eb5c3fdbd59 Author: Zachary Amsden Date: Fri Oct 9 16:26:08 2009 -1000 KVM: x86: Harden against cpufreq If cpufreq can't determine the CPU khz, or cpufreq is not compiled in, we should fallback to the measured TSC khz. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 565d0998ecac8373b9a9ecd5991abe74318cd235 Author: Mark Langsdorf Date: Tue Oct 6 14:25:02 2009 -0500 KVM: SVM: Support Pause Filter in AMD processors New AMD processors (Family 0x10 models 8+) support the Pause Filter Feature. This feature creates a new field in the VMCB called Pause Filter Count. If Pause Filter Count is greater than 0 and intercepting PAUSEs is enabled, the processor will increment an internal counter when a PAUSE instruction occurs instead of intercepting. When the internal counter reaches the Pause Filter Count value, a PAUSE intercept will occur. This feature can be used to detect contended spinlocks, especially when the lock holding VCPU is not scheduled. Rescheduling another VCPU prevents the VCPU seeking the lock from wasting its quantum by spinning idly. Experimental results show that most spinlocks are held for less than 1000 PAUSE cycles or more than a few thousand. Default the Pause Filter Counter to 3000 to detect the contended spinlocks. Processor support for this feature is indicated by a CPUID bit. On a 24 core system running 4 guests each with 16 VCPUs, this patch improved overall performance of each guest's 32 job kernbench by approximately 3-5% when combined with a scheduler algorithm thati caused the VCPU to sleep for a brief period. Further performance improvement may be possible with a more sophisticated yield algorithm. Signed-off-by: Mark Langsdorf Signed-off-by: Marcelo Tosatti commit 4b8d54f9726f1159330201c5ed2ea30bce7e63ea Author: Zhai, Edwin Date: Fri Oct 9 18:03:20 2009 +0800 KVM: VMX: Add support for Pause-Loop Exiting New NHM processors will support Pause-Loop Exiting by adding 2 VM-execution control fields: PLE_Gap - upper bound on the amount of time between two successive executions of PAUSE in a loop. PLE_Window - upper bound on the amount of time a guest is allowed to execute in a PAUSE loop If the time, between this execution of PAUSE and previous one, exceeds the PLE_Gap, processor consider this PAUSE belongs to a new loop. Otherwise, processor determins the the total execution time of this loop(since 1st PAUSE in this loop), and triggers a VM exit if total time exceeds the PLE_Window. * Refer SDM volume 3b section 21.6.13 & 22.1.3. Pause-Loop Exiting can be used to detect Lock-Holder Preemption, where one VP is sched-out after hold a spinlock, then other VPs for same lock are sched-in to waste the CPU time. Our tests indicate that most spinlocks are held for less than 212 cycles. Performance tests show that with 2X LP over-commitment we can get +2% perf improvement for kernel build(Even more perf gain with more LPs). Signed-off-by: Zhai Edwin Signed-off-by: Marcelo Tosatti commit d255f4f2bac81eb798fcf76938147f1f6c756ae2 Author: Zhai, Edwin Date: Fri Oct 9 18:03:20 2009 +0800 KVM: introduce kvm_vcpu_on_spin Introduce kvm_vcpu_on_spin, to be used by VMX/SVM to yield processing once the cpu detects pause-based looping. Signed-off-by: "Zhai, Edwin" Signed-off-by: Marcelo Tosatti commit d36f19e9ecd22dc035ef4cc6361b564be650f8e7 Author: Joerg Roedel Date: Fri Oct 9 16:08:33 2009 +0200 KVM: SVM: Remove nsvm_printk debugging code With all important informations now delivered through tracepoints we can savely remove the nsvm_printk debugging code for nested svm. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 532a46b98963f110e9425a251e127d6537915dde Author: Joerg Roedel Date: Fri Oct 9 16:08:32 2009 +0200 KVM: SVM: Add tracepoint for skinit instruction This patch adds a tracepoint for the event that the guest executed the SKINIT instruction. This information is important because SKINIT is an SVM extenstion not yet implemented by nested SVM and we may need this information for debugging hypervisors that do not yet run on nested SVM. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit ec1ff79084fccdae0dca9b04b89dcdf3235bbfa1 Author: Joerg Roedel Date: Fri Oct 9 16:08:31 2009 +0200 KVM: SVM: Add tracepoint for invlpga instruction This patch adds a tracepoint for the event that the guest executed the INVLPGA instruction. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 236649de3360916ef85f95c82723af17a25b9179 Author: Joerg Roedel Date: Fri Oct 9 16:08:30 2009 +0200 KVM: SVM: Add tracepoint for #vmexit because intr pending This patch adds a special tracepoint for the event that a nested #vmexit is injected because kvm wants to inject an interrupt into the guest. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 17897f366847a9ef8a13e3671a0eb1c15422abed Author: Joerg Roedel Date: Fri Oct 9 16:08:29 2009 +0200 KVM: SVM: Add tracepoint for injected #vmexit This patch adds a tracepoint for a nested #vmexit that gets re-injected to the guest. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit d8cabddf7e8fbdced2dd668c98d7762c7ef75245 Author: Joerg Roedel Date: Fri Oct 9 16:08:28 2009 +0200 KVM: SVM: Add tracepoint for nested #vmexit This patch adds a tracepoint for every #vmexit we get from a nested guest. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 0ac406de8f3780c8e0801d5719e1ec531d4a6ec4 Author: Joerg Roedel Date: Fri Oct 9 16:08:27 2009 +0200 KVM: SVM: Add tracepoint for nested vmrun This patch adds a dedicated kvm tracepoint for a nested vmrun. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit cd3ff653ae0b45bac7a19208e9c75034fcacc85f Author: Joerg Roedel Date: Fri Oct 9 16:08:26 2009 +0200 KVM: SVM: Move INTR vmexit out of atomic code The nested SVM code emulates a #vmexit caused by a request to open the irq window right in the request function. This is a bug because the request function runs with preemption and interrupts disabled but the #vmexit emulation might sleep. This can cause a schedule()-while-atomic bug and is fixed with this patch. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 8d23c4662427507f432c96ac4fa3b76f0a8360cd Author: Alexander Graf Date: Fri Oct 9 16:08:25 2009 +0200 KVM: SVM: Notify nested hypervisor of lost event injections If event_inj is valid on a #vmexit the host CPU would write the contents to exit_int_info, so the hypervisor knows that the event wasn't injected. We don't do this in nested SVM by now which is a bug and fixed by this patch. Signed-off-by: Alexander Graf Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit e3267cbbbfbcbe9c18833e89b10beabb1117cb55 Author: Glauber Costa Date: Tue Oct 6 13:24:50 2009 -0400 KVM: x86: include pvclock MSRs in msrs_to_save For a while now, we are issuing a rdmsr instruction to find out which msrs in our save list are really supported by the underlying machine. However, it fails to account for kvm-specific msrs, such as the pvclock ones. This patch moves then to the beginning of the list, and skip testing them. Cc: stable@kernel.org Signed-off-by: Glauber Costa Signed-off-by: Marcelo Tosatti commit 91586a3b7d79432772a3cdcb81473cd08a237c79 Author: Jan Kiszka Date: Mon Oct 5 13:07:21 2009 +0200 KVM: x86: Rework guest single-step flag injection and filtering Push TF and RF injection and filtering on guest single-stepping into the vender get/set_rflags callbacks. This makes the whole mechanism more robust wrt user space IOCTL order and instruction emulations. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit a68a6a7282373bedba8a2ed751b6384edb983a64 Author: Marcelo Tosatti Date: Thu Oct 1 19:28:39 2009 -0300 KVM: x86: disable paravirt mmu reporting Disable paravirt MMU capability reporting, so that new (or rebooted) guests switch to native operation. Paravirt MMU is a burden to maintain and does not bring significant advantages compared to shadow anymore. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 355be0b9300579e02275d7d19374806a974ce622 Author: Jan Kiszka Date: Sat Oct 3 00:31:21 2009 +0200 KVM: x86: Refactor guest debug IOCTL handling Much of so far vendor-specific code for setting up guest debug can actually be handled by the generic code. This also fixes a minor deficit in the SVM part /wrt processing KVM_GUESTDBG_ENABLE. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 201d945bcfb0d53e67c9c081f7c28532eb4669c7 Author: Juan Quintela Date: Wed Sep 30 17:39:07 2009 +0200 KVM: remove pre_task_link setting in save_state_to_tss16 Now, also remove pre_task_link setting in save_state_to_tss16. commit b237ac37a149e8b56436fabf093532483bff13b0 Author: Gleb Natapov Date: Mon Mar 30 16:03:24 2009 +0300 KVM: Fix task switch back link handling. CC: Gleb Natapov Signed-off-by: Juan Quintela Signed-off-by: Marcelo Tosatti commit 3230bb4707278dba25e24cd0a11ea7b2337678ee Author: Zachary Amsden Date: Tue Sep 29 11:38:37 2009 -1000 KVM: Fix hotplug of CPUs Both VMX and SVM require per-cpu memory allocation, which is done at module init time, for only online cpus. Backend was not allocating enough structure for all possible CPUs, so new CPUs coming online could not be hardware enabled. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit e6732a5af9dfcc87078706a1598df0efe5010f73 Author: Zachary Amsden Date: Tue Sep 29 11:38:36 2009 -1000 KVM: Fix printk name error in svm.c Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 0cca790753bf0cab4b070801a46df8e1297c17f6 Author: Zachary Amsden Date: Tue Sep 29 11:38:35 2009 -1000 KVM: Kill the confusing tsc_ref_khz and ref_freq variables They are globals, not clearly protected by any ordering or locking, and vulnerable to various startup races. Instead, for variable TSC machines, register the cpufreq notifier and get the TSC frequency directly from the cpufreq machinery. Not only is it always right, it is also perfectly accurate, as no error prone measurement is required. On such machines, when a new CPU online is brought online, it isn't clear what frequency it will start with, and it may not correspond to the reference, thus in hardware_enable we clear the cpu_tsc_khz variable to zero and make sure it is set before running on a VCPU. Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit b820cc0ca20fdcf8014d8e57421cf29095e39392 Author: Zachary Amsden Date: Tue Sep 29 11:38:34 2009 -1000 KVM: Separate timer intialization into an indepedent function Signed-off-by: Zachary Amsden Signed-off-by: Marcelo Tosatti commit 0c6ddcebd8303ada6faefa6f72ac18b6230320c4 Author: Jiri Slaby Date: Fri Sep 25 09:33:38 2009 +0200 KVM: fix lock imbalance in kvm_*_irq_source_id() Stanse found 2 lock imbalances in kvm_request_irq_source_id and kvm_free_irq_source_id. They omit to unlock kvm->irq_lock on fail paths. Fix that by adding unlock labels at the end of the functions and jump there from the fail paths. Signed-off-by: Jiri Slaby Cc: Marcelo Tosatti Signed-off-by: Avi Kivity commit e935d48e1b49451490218e1181d9834176200955 Author: Joerg Roedel Date: Wed Sep 16 15:24:19 2009 +0200 KVM: SVM: Remove remaining occurences of rdtscll This patch replaces them with native_read_tsc() which can also be used in expressions and saves a variable on the stack in this case. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 33527ad7e12a5cb50b39165945464600ab2f7632 Author: Joerg Roedel Date: Wed Sep 16 15:24:16 2009 +0200 KVM: SVM: don't copy exit_int_info on nested vmrun The exit_int_info field is only written by the hardware and never read. So it does not need to be copied on a vmrun emulation. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 7fcdb5103d10d2eb75876637a2efa9679cce14d3 Author: Joerg Roedel Date: Wed Sep 16 15:24:15 2009 +0200 KVM: SVM: reorganize svm_interrupt_allowed This patch reorganizes the logic in svm_interrupt_allowed to make it better to read. This is important because the logic is a lot more complicated with Nested SVM. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit bfc33beaed3ecf0f92612dc7fb7095029ae7722e Author: Huang Weiyi Date: Wed Sep 16 21:09:39 2009 +0800 KVM: remove duplicated #include Remove duplicated #include('s) in arch/x86/kvm/lapic.c Signed-off-by: Huang Weiyi Signed-off-by: Marcelo Tosatti commit 10474ae8945ce08622fd1f3464e55bd817bf2376 Author: Alexander Graf Date: Tue Sep 15 11:37:46 2009 +0200 KVM: Activate Virtualization On Demand X86 CPUs need to have some magic happening to enable the virtualization extensions on them. This magic can result in unpleasant results for users, like blocking other VMMs from working (vmx) or using invalid TLB entries (svm). Currently KVM activates virtualization when the respective kernel module is loaded. This blocks us from autoloading KVM modules without breaking other VMMs. To circumvent this problem at least a bit, this patch introduces on demand activation of virtualization. This means, that instead virtualization is enabled on creation of the first virtual machine and disabled on destruction of the last one. So using this, KVM can be easily autoloaded, while keeping other hypervisors usable. Signed-off-by: Alexander Graf Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e8b3433a5c062e94e34cadb6144c10689a497bc3 Author: Marcelo Tosatti Date: Tue Sep 8 14:47:38 2009 -0300 KVM: SVM: remove needless mmap_sem acquision from nested_svm_map nested_svm_map unnecessarily takes mmap_sem around gfn_to_page, since gfn_to_page / get_user_pages are responsible for it. Signed-off-by: Marcelo Tosatti Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 80ced186d1761d2a66163d9eeb468ddb1f7e0697 Author: Mohammed Gamal Date: Tue Sep 1 12:48:18 2009 +0200 KVM: VMX: Enhance invalid guest state emulation - Change returned handle_invalid_guest_state() to return relevant exit codes - Move triggering the emulation from vmx_vcpu_run() to vmx_handle_exit() - Return to userspace instead of repeatedly trying to emulate instructions that have already failed Signed-off-by: Mohammed Gamal Signed-off-by: Marcelo Tosatti commit abcf14b560a4ba62c659e6f5aafc8f9934d8c130 Author: Mohammed Gamal Date: Tue Sep 1 15:28:11 2009 +0200 KVM: x86 emulator: Add pusha and popa instructions This adds pusha and popa instructions (opcodes 0x60-0x61), this enables booting MINIX with invalid guest state emulation on. [marcelo: remove unused variable] Signed-off-by: Mohammed Gamal Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 94677e61fdcf4cdae11a1b7c8974d7034ef9bd1b Author: Mohammed Gamal Date: Fri Aug 28 16:41:44 2009 +0200 KVM: x86 emulator: Add missing decoder flags for 'or' instructions Add missing decoder flags for or instructions (0xc-0xd). Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit bfd99ff5d483b11c32bca49fbff7a5ac59038b0a Author: Avi Kivity Date: Wed Aug 26 14:57:50 2009 +0300 KVM: Move assigned device code to own file Signed-off-by: Avi Kivity commit 367e1319b229110a27c53221c2fa32a6aa86d4a9 Author: Avi Kivity Date: Wed Aug 26 14:57:07 2009 +0300 KVM: Return -ENOTTY on unrecognized ioctls Not the incorrect -EINVAL. Signed-off-by: Avi Kivity commit 680b3648ba89c44ac8d0316f78a0d6e147b88809 Author: Gleb Natapov Date: Mon Aug 24 11:54:26 2009 +0300 KVM: Drop kvm->irq_lock lock from irq injection path The only thing it protects now is interrupt injection into lapic and this can work lockless. Even now with kvm->irq_lock in place access to lapic is not entirely serialized since vcpu access doesn't take kvm->irq_lock. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit eba0226bdfffe262e72b8360e4d0d12070e9a0f0 Author: Gleb Natapov Date: Mon Aug 24 11:54:25 2009 +0300 KVM: Move IO APIC to its own lock The allows removal of irq_lock from the injection path. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 280aa177dcd1edc718d8a92f17f235b783ec6307 Author: Gleb Natapov Date: Mon Aug 24 11:54:24 2009 +0300 KVM: Convert irq notifiers lists to RCU locking Use RCU locking for mask/ack notifiers lists. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 136bdfeee7b5bc986fc94af3a40d7d13ea37bb95 Author: Gleb Natapov Date: Mon Aug 24 11:54:23 2009 +0300 KVM: Move irq ack notifier list to arch independent code Mask irq notifier list is already there. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit e42bba90bfe724e32fc66ab1b6cb283c51d064b1 Author: Gleb Natapov Date: Mon Aug 24 11:54:22 2009 +0300 KVM: Move irq routing data structure to rcu locking Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3e71f88bc90792a187703860cf22fbed7c12cbd9 Author: Gleb Natapov Date: Mon Aug 24 11:54:21 2009 +0300 KVM: Maintain back mapping from irqchip/pin to gsi Maintain back mapping from irqchip/pin to gsi to speedup interrupt acknowledgment notifications. [avi: build fix on non-x86/ia64] Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 46e624b95c36d729bdf24010fff11d16f6fe94fa Author: Gleb Natapov Date: Mon Aug 24 11:54:20 2009 +0300 KVM: Change irq routing table to use gsi indexed array Use gsi indexed array instead of scanning all entries on each interrupt injection. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1a6e4a8c276e122dbeb6f9c610f29735e4236bfd Author: Gleb Natapov Date: Mon Aug 24 11:54:19 2009 +0300 KVM: Move irq sharing information to irqchip level This removes assumptions that max GSIs is smaller than number of pins. Sharing is tracked on pin level not GSI level. [avi: no PIC on ia64] Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 79c727d4371aa9af47b0cdbcad53742b5a7919ea Author: Gleb Natapov Date: Mon Aug 24 11:54:18 2009 +0300 KVM: Call pic_clear_isr() on pic reset to reuse logic there Also move call of ack notifiers after pic state change. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 851ba6922ac575b749f63dee0ae072808163ba6a Author: Avi Kivity Date: Mon Aug 24 11:10:17 2009 +0300 KVM: Don't pass kvm_run arguments They're just copies of vcpu->run, which is readily accessible. Signed-off-by: Avi Kivity commit d8769fedd4e8323d8afea9a1b2bdebff4f1d2d37 Author: Mohammed Gamal Date: Sun Aug 23 14:24:25 2009 +0300 KVM: x86 emulator: Introduce No64 decode option Introduces a new decode option "No64", which is used for instructions that are invalid in long mode. Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 0934ac9d135021bec7f877340a039104af233bf3 Author: Mohammed Gamal Date: Sun Aug 23 14:24:24 2009 +0300 KVM: x86 emulator: Add 'push/pop sreg' instructions [avi: avoid buffer overflow] Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit 45ec431c52f89218ac01d87663e54de30458edf0 Author: Avi Kivity Date: Sun Aug 23 17:46:21 2009 +0300 KVM: Don't wrap schedule() with vcpu_put()/vcpu_load() Preemption notifiers will do that for us automatically. Signed-off-by: Avi Kivity commit 58988b07cfe2ebe9f9b39d973fd8a083390e749f Merge: 22763c5 8e7cac7 Author: Avi Kivity Date: Thu Dec 3 09:30:06 2009 +0200 Merge remote branch 'tip/x86/entry' into kvm-updates/2.6.33 Signed-off-by: Avi Kivity commit c84d6efd363a3948eb32ec40d46bab6338580454 Merge: 7539cf4 22763c5 Author: James Morris Date: Thu Dec 3 12:03:40 2009 +0530 Merge branch 'master' into next commit 7cff7ce94a7df2ccf5ac76b48ee0995fee2060df Author: Andrew Morton Date: Fri Oct 9 00:01:39 2009 -0700 include/linux/compiler-gcc4.h: Fix build bug - gcc-4.0.2 doesn't understand __builtin_object_size Maybe 4.1.0 doesn't too, but this fixed it for me. Caused by: 4a31276: x86: Turn the copy_from_user check into an (optional) compile time warning 9f0cf4a: x86: Use __builtin_object_size() to validate the buffer size for copy_from_user() Signed-off-by: Andrew Morton Cc: Arjan van de Ven LKML-Reference: <200910090724.n997OQl6013538@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit c803ba901718c313c469b3510fa93b0011482736 Author: Kristoffer Glembo Date: Wed Dec 2 04:30:22 2009 +0000 sparc,leon: init_leon srmmu cleanup Removed unused assignment and capitalized srmmu name for sparc_leon Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit fdd98ac96e88962d99a469bae6cc500f83ad5a17 Author: Kristoffer Glembo Date: Wed Dec 2 04:30:21 2009 +0000 sparc32: Remove early interrupt enable. Enabling interrupts at this points causes the warning "start_kernel(): bug: interrupts were enabled early" to be printed in start_kernel(). Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit 3560f788fe207de25c96ea547c56fc8a750e37a5 Author: Kristoffer Glembo Date: Wed Dec 2 04:30:20 2009 +0000 sparc, leon: Added Aeroflex Gaisler entry in manufacturer_info structure Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit ff236f7af82fae0818d7cbb5a0717d3218d00bdd Author: Mikulas Patocka Date: Wed Dec 2 22:26:38 2009 -0800 sunhme: fix dma warning in Sun HME Fix dma-api-checking warnings in Sun HME Sun HME driver is mapping the first fragment with dma_map_single and subsequent fragments with dma_map_page. It is unmapping all fragments with dma_unmap_single and that produces the warning. This patch changes it so that it unmaps only the first fragment with dma_unmap_single and subsequent fragments are unmapped with dma_unmap_page. WARNING: at lib/dma-debug.c:816 check_unmap+0x3ac/0x780() hme 0000:01:01.1: DMA-API: device driver frees DMA memory with wrong function [device address=0x00000000c1082000] [size=32 bytes] [mapped as page] [unmapped as single] Modules linked in: nbd sunhme openpromfs sermouse unix Call Trace: [0000000000456910] warn_slowpath_common+0x50/0xa0 [0000000000571f4c] check_unmap+0x3ac/0x780 [0000000000572570] debug_dma_unmap_page+0x50/0x60 [000000001002f5fc] happy_meal_tx+0x11c/0x260 [sunhme] [000000001002fc4c] happy_meal_interrupt+0xcc/0xe0 [sunhme] [0000000000492d94] handle_fasteoi_irq+0x74/0x100 [000000000042ac0c] handler_irq+0xcc/0x100 [0000000000426a54] valid_addr_bitmap_patch+0x14/0x1c0 [0000000000665de0] _spin_unlock_irqrestore+0x40/0x60 [0000000000462bb8] mod_timer+0x118/0x1a0 [00000000005ec254] sk_reset_timer+0x14/0x40 [0000000000635e4c] tcp_event_new_data_sent+0x8c/0xc0 [0000000000639374] __tcp_push_pending_frames+0x34/0xc0 ---[ end trace 73d5c42c1e9f11c4 ]--- Mapped at: [<000000001002f148>] happy_meal_start_xmit+0x308/0x480 [sunhme] [<00000000005fc858>] dev_hard_start_xmit+0x318/0x3c0 [<000000000060fec4>] sch_direct_xmit+0x1a4/0x200 [<00000000005fced0>] dev_queue_xmit+0x410/0x560 [<0000000000604a1c>] neigh_resolve_output+0xfc/0x300 Signed-off-by: Mikulas Patocka Signed-off-by: David S. Miller commit 8818a9d884e3a589899be3303958fff182e98e55 Author: Ilpo Järvinen Date: Wed Dec 2 22:24:02 2009 -0800 tcp: clear hints to avoid a stale one (nfs only affected?) Eric Dumazet mentioned in a context of another problem: "Well, it seems NFS reuses its socket, so maybe we miss some cleaning as spotted in this old patch" I've not check under which conditions that actually happens but if true, we need to make sure we don't accidently leave stale hints behind when the write queue had to be purged (whether reusing with NFS can actually happen if purging took place is something I'm not sure of). ...At least it compiles. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e6b09ccada2e4ab8ee25a7c3ac72fcd1bc7101c4 Author: David S. Miller Date: Wed Dec 2 22:18:58 2009 -0800 tcp: sysctl_tcp_cookie_size needs to be exported to modules. Otherwise: ERROR: "sysctl_tcp_cookie_size" [net/ipv6/ipv6.ko] undefined! make[1]: *** [__modpost] Error 1 Signed-off-by: David S. Miller commit f9a2e69e8bb77fe6c8e7da6380ebd4330c00a29e Author: David S. Miller Date: Wed Dec 2 22:12:04 2009 -0800 tcp: Fix warning on 64-bit. net/ipv4/tcp_output.c: In function ‘tcp_make_synack’: net/ipv4/tcp_output.c:2488: warning: cast from pointer to integer of different size Signed-off-by: David S. Miller commit 91e2ff3528ac90b9dbcb04b76488e8ad74e3d3d9 Author: Eric W. Biederman Date: Wed Dec 2 13:19:08 2009 +0000 net: Teach vlans to cleanup as a pernet subsystem Take advantage of the fact that an explicit rtnl_kill_links is unnecessary (and skipping it improves batching), as network namespace exit calls dellink on all remaining virtual devices, and rtnl_link_unregister calls dellink on all outstanding devices in that network namespace. To do this we need to leave the vlan proc directories in place until after network device exit time, which is done by using register_pernet_subsys instead of register_pernet_device. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 650de8de16aa7c168c34d1b6a3191e4a5e2648c8 Author: Ben Hutchings Date: Tue Dec 1 19:10:18 2009 +0000 atl1e: Remove non-implementation of ethtool set_msglevel() operation Unimplemented operations should not silently fail. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 95fec16869f22e94ff13dc5731aeba36bc47bbe6 Author: Ben Hutchings Date: Tue Dec 1 19:10:03 2009 +0000 atl1e: Remove redundant definitions of ethtool operations These functions provide the default behaviour and do not need to be set in struct ethtool_ops. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ac936929092dc6a5409b627c4c67305ab9b626b3 Author: Ben Hutchings Date: Tue Dec 1 19:09:52 2009 +0000 atl1e: Allow TX checksum offload and TSO to be disabled and reenabled Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4957faade11b3a278c3b3cade3411ddc20afa791 Author: William Allen Simpson Date: Wed Dec 2 18:25:27 2009 +0000 TCPCT part 1g: Responder Cookie => Initiator Parse incoming TCP_COOKIE option(s). Calculate TCP_COOKIE option. Send optional data. This is a significantly revised implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 Requires: TCPCT part 1a: add request_values parameter for sending SYNACK TCPCT part 1b: generate Responder Cookie secret TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1d: define TCP cookie option, extend existing struct's TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1f: Initiator Cookie => Responder Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit bd0388ae77075026d6a9f9eb6026dfd1d52ce0e9 Author: William Allen Simpson Date: Wed Dec 2 18:23:05 2009 +0000 TCPCT part 1f: Initiator Cookie => Responder Calculate and format TCP_COOKIE option. This is a significantly revised implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 Requires: TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1d: define TCP cookie option, extend existing struct's Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit e56fb50f2b7958b931c8a2fc0966061b3f3c8f3a Author: William Allen Simpson Date: Wed Dec 2 18:19:30 2009 +0000 TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS Provide per socket control of the TCP cookie option and SYN/SYNACK data. This is a straightforward re-implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 The principle difference is using a TCP option to carry the cookie nonce, instead of a user configured offset in the data. Allocations have been rearranged to avoid requiring GFP_ATOMIC. Requires: net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS TCPCT part 1d: define TCP cookie option, extend existing struct's Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit 435cf559f02ea3a3159eb316f97dc88bdebe9432 Author: William Allen Simpson Date: Wed Dec 2 18:17:05 2009 +0000 TCPCT part 1d: define TCP cookie option, extend existing struct's Data structures are carefully composed to require minimal additions. For example, the struct tcp_options_received cookie_plus variable fits between existing 16-bit and 8-bit variables, requiring no additional space (taking alignment into consideration). There are no additions to tcp_request_sock, and only 1 pointer in tcp_sock. This is a significantly revised implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 The principle difference is using a TCP option to carry the cookie nonce, instead of a user configured offset in the data. This is more flexible and less subject to user configuration error. Such a cookie option has been suggested for many years, and is also useful without SYN data, allowing several related concepts to use the same extension option. "Re: SYN floods (was: does history repeat itself?)", September 9, 1996. http://www.merit.net/mail.archives/nanog/1996-09/msg00235.html "Re: what a new TCP header might look like", May 12, 1998. ftp://ftp.isi.edu/end2end/end2end-interest-1998.mail These functions will also be used in subsequent patches that implement additional features. Requires: TCPCT part 1a: add request_values parameter for sending SYNACK TCPCT part 1b: generate Responder Cookie secret TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit 519855c508b9a17878c0977a3cdefc09b59b30df Author: William Allen Simpson Date: Wed Dec 2 18:14:19 2009 +0000 TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS Define sysctl (tcp_cookie_size) to turn on and off the cookie option default globally, instead of a compiled configuration option. Define per socket option (TCP_COOKIE_TRANSACTIONS) for setting constant data values, retrieving variable cookie values, and other facilities. Move inline tcp_clear_options() unchanged from net/tcp.h to linux/tcp.h, near its corresponding struct tcp_options_received (prior to changes). This is a straightforward re-implementation of an earlier (year-old) patch that no longer applies cleanly, with permission of the original author (Adam Langley): http://thread.gmane.org/gmane.linux.network/102586 These functions will also be used in subsequent patches that implement additional features. Requires: net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED Signed-off-by: William.Allen.Simpson@gmail.com Signed-off-by: David S. Miller commit da5c78c82629a167794436e4306b4cf1faddea90 Author: William Allen Simpson Date: Wed Dec 2 18:12:09 2009 +0000 TCPCT part 1b: generate Responder Cookie secret Define (missing) hash message size for SHA1. Define hashing size constants specific to TCP cookies. Add new function: tcp_cookie_generator(). Maintain global secret values for tcp_cookie_generator(). This is a significantly revised implementation of earlier (15-year-old) Photuris [RFC-2522] code for the KA9Q cooperative multitasking platform. Linux RCU technique appears to be well-suited to this application, though neither of the circular queue items are freed. These functions will also be used in subsequent patches that implement additional features. Signed-off-by: William.Allen.Simpson@gmail.com Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e6b4d11367519bc71729c09d05a126b133c755be Author: William Allen Simpson Date: Wed Dec 2 18:07:39 2009 +0000 TCPCT part 1a: add request_values parameter for sending SYNACK Add optional function parameters associated with sending SYNACK. These parameters are not needed after sending SYNACK, and are not used for retransmission. Avoids extending struct tcp_request_sock, and avoids allocating kernel memory. Also affects DCCP as it uses common struct request_sock_ops, but this parameter is currently reserved for future use. Signed-off-by: William.Allen.Simpson@gmail.com Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e00484023ebe94dce03fdd1270edf3e191c2bc79 Merge: 3248e16 1f5865e Author: David S. Miller Date: Wed Dec 2 22:00:34 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit eed89d0f9d3383851cec634565a6414fae70fe91 Author: Ian Molton Date: Thu Dec 3 13:50:42 2009 +0800 hwrng: core - Prevent too-small buffer sizes This patch prevents the hw_random core using too small of a buffer on machines with small cacheline sizes. Signed-off-by: Ian Molton Signed-off-by: Herbert Xu commit fe5ed91ddce85a0ed0e4f92c10b099873ef62167 Author: Hidetoshi Seto Date: Thu Dec 3 11:33:08 2009 +0900 x86, mce: don't restart timer if disabled Even it is in error path unlikely taken, add_timer_on() at CPU_DOWN_FAILED* needs to be skipped if mce_timer is disabled. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Cc: Huang Ying Cc: Jan Beulich Cc: Signed-off-by: H. Peter Anvin commit 3248e1682035eef6774c280cd7be19984feb78bb Author: Michael Chan Date: Wed Dec 2 15:15:39 2009 +0000 cnic: Use dma_alloc_coherent(). Replace pci_alloc_consistent() with dma_alloc_coherent() so that appropriate GFP flags can be used. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 15971c3ce3caf9a92b603a61b07e0be8c9b9d276 Author: Michael Chan Date: Wed Dec 2 15:15:38 2009 +0000 cnic: Fix rq_page_table DMA address. The old code mistakenly zeroed out the upper 32-bit of the DMA address. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit dd2e4dbce32a2802088f6d0132046afec9bfb2ad Author: Michael Chan Date: Wed Dec 2 15:15:37 2009 +0000 cnic: Fix bogus iSCSI MAC address Fix code to read the proper iSCSI MAC address for bnx2x devices. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 8b065b671d3096bfe0dbc9a833cb592f84642436 Author: Michael Chan Date: Wed Dec 2 15:15:36 2009 +0000 cnic: Fix bnx2x ring shutdown. Need to send a HALT command to the firmware to fully shutdown the bnx2x rings. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit c7596b79feb3d15bea64007254f77233bda811f4 Author: Michael Chan Date: Wed Dec 2 15:15:35 2009 +0000 cnic: Fix ring I/O address for bnx2x devices. Old code was initializing the ring producers using an incorrect I/O address. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 8f9b3f69944ab7eacb9273b4723087c42b5f4046 Author: Amit Kumar Salecha Date: Wed Dec 2 15:46:19 2009 +0000 netxen: fix failure cases for fw hang recovery Handle few corner cases in firmware hang detection and recovery: o Don't mark device state as READY, till handshake with firmware is done. o During probe, if start_firmware fails, restore reference count. o Don't increment refernce count, if start_firmware fails during firmware reset. o Clear __NX_RESETTING bit, incase of fatal error or tempeature reaches critical limit so that pci remove() doesn't poll on this bit. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit f58dbd7320e148b25cc0088ef37f524c99c6790f Author: Narender Kumar Date: Wed Dec 2 15:46:18 2009 +0000 netxen : fix debug tools access for NX2031 Driver maps only some part of the MMIO bar 0 in case of NX2031. This is sufficient for tx and rx by the driver. When debug tools need to access resources in unmapped regions, driver needs to map these on the fly in order to complete read/write request. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 0be8401051c716be4533272e983b7eed3d83946d Author: Bruce Allan Date: Wed Dec 2 17:03:18 2009 +0000 e1000e: correct ICH/PCH PHY operations function pointers Some function pointers for a few PHY operations (for 82578 and 82567) and were set incorrectly causing functions to be executed that were accessing incorrect PHY register offsets for that particular device. This patch also moves a few PHY-specific functions from ich8lan.c to the more appropriate phy.c. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5eb6f3c70fcc0fb19b9087863e6e29f96a76f3bd Author: Bruce Allan Date: Wed Dec 2 17:02:43 2009 +0000 e1000e: refactor PHY ID detection workaround The workaround that detects the correct PHY ID when an initial read of the PHY ID registers returns an invalid one should retry up to ten times with a small delay between attempts using a single PHY address and then repeat using the remaining possible PHY addresses. Do this instead of trying each possible PHY address repeating that up to 100 times. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 94e5b651595a8eb77665787f7559a6a7c916c195 Author: Bruce Allan Date: Wed Dec 2 17:02:14 2009 +0000 e1000e: check_polarity function pointers not set for 8257x The function pointers for 8257x devices are not set. This is not really a problem now because there is nothing in the driver that references the pointers for this particular MAC-family (the appropriate functions are called directly), but the pointers should be set in case they are used in the future. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c81c2d95449cd218c2022ce6014c52fef1eb1f66 Author: Alexander Duyck Date: Wed Dec 2 16:49:02 2009 +0000 skbuff: remove skb_dma_map/unmap The two functions skb_dma_map/unmap are unsafe to use as they cause problems when packets are cloned and sent to multiple devices while a HW IOMMU is enabled. Due to this it is best to remove the code so it is not used by any other network driver maintainters. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4188d8affc8267a0f0f1b587a4d0a4b9b7f2999 Author: Alexander Duyck Date: Wed Dec 2 16:48:38 2009 +0000 tg3: remove use of skb_dma_map/unmap Due to the fact that skb_dma_map/unmap do not work correctly when a HW IOMMU is enabled it has been recommended to go about removing the calls from the network device drivers. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher CC: Matt Carlson CC: Michael Chan Signed-off-by: David S. Miller commit a73b796ed85483a2b999d74d197f31f887ffa82d Author: Alexander Duyck Date: Wed Dec 2 16:48:18 2009 +0000 be2net: remove use of skb_dma_map/unmap Due to the fact that skb_dma_map/unmap do not work correctly when a HW IOMMU is enabled it has been recommended to go about removing the calls from the network device drivers. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher CC: Eilon Greenstein Signed-off-by: David S. Miller commit e95524a726904a1d2b91552f0577838f67d53c6c Author: Alexander Duyck Date: Wed Dec 2 16:47:57 2009 +0000 bnx2: remove skb_dma_map/unmap calls from driver Due to the fact that skb_dma_map/unmap do not work correctly when a HW IOMMU is enabled it has been recommended to go about removing the calls from the network device drivers. [ Fix bnx2_free_tx_skbs() ring indexing and use NETDEV_TX_OK return code in bnx2_start_xmit() after cleaning up DMA mapping errors. -Mchan ] Signed-off-by: Alexander Duyck Signed-off-by: Michael Chan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a7d5ca40ff56e2cd4e30bbe91f2d0deab6bfc006 Author: Alexander Duyck Date: Wed Dec 2 16:47:37 2009 +0000 igbvf: remove skb_dma_map/unmap call from drivers This patch removes the skb_dma_map/unmap calls from the igbvf driver due to the fact that it does not play well with HW IOMMU when combined with transmitting cloned skbs. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6366ad331f436388129dfc044db871de79604e4d Author: Alexander Duyck Date: Wed Dec 2 16:47:18 2009 +0000 igb: remove use of skb_dma_map from driver This change removes skb_dma_map/unmap calls from the igb driver due to the fact that the call is incompatible with iommu enabled kernels. In order to prevent warnings about using the wrong unmap call I have added a mapped_as_page value to the buffer_info structure to track if the mapped region is a page or a buffer. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e5a43549f7a58509a91b299a51337d386697b92c Author: Alexander Duyck Date: Wed Dec 2 16:46:56 2009 +0000 ixgbe: remove skb_dma_map/unmap calls from driver This patch removes skb_dma_map/unmap calls from the ixgbe driver due to the fact that the calls don't work with HW IOMMU enabled systems. The problem is that multiple mappings will give different results when HW IOMMU is enabled and the skb_dma_map/unmap calls only have one location to store mappings. Signed-off-by: Alexander Duyck Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit adeaa9086399780688679f2a7de4243bdbf77295 Author: Alexander Duyck Date: Wed Dec 2 16:46:31 2009 +0000 ixgb: remove use of skb_dma_map from ixgb skb_dma_map is incompatible with HW iommu due to the fact that multiple mappings can result in different results each time. For this reason it is best to just remove use of these function calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 602c0554d7b00c9703e1a0bc584e9c583f577642 Author: Alexander Duyck Date: Wed Dec 2 16:46:00 2009 +0000 e1000: remove use of skb_dma_map from e1000 driver Remove the use of skb_dma_map from the e1000 driver in order to avoid issues when HW iommu are in use. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 03b1320dfceeb093890cdd7433e910dca6225ddb Author: Alexander Duyck Date: Wed Dec 2 16:45:31 2009 +0000 e1000e: remove use of skb_dma_map from e1000e driver In testing we have found that skb_dma_map/unmap is incompatible with HW IOMMU due to the fact that multiple mappings will return different results. In order to correct this we need to remove skb_dma_map/unmap calls from the e1000e driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9a01609e1885b827b979d6d9dd86f43208a9e5fc Author: Olof Johansson Date: Tue Dec 1 20:09:26 2009 +0000 arm: omap: Add omap3_defconfig Having one combined defconfig that is the superset of the individual defconfigs for OMAP3 platforms is useful for easily finding build errors. Not to mention convenient as a base if you want to boot several platforms with a single kernel image. Signed-off-by: Olof Johansson Signed-off-by: Tony Lindgren commit 1f5865e73fb18834f52bd6e1d27bce86ff372089 Author: Shan Wei Date: Wed Dec 2 15:39:04 2009 -0800 ip: update the description of rp_filter in ip-sysctl.txt The commit 27fed4175acf81ddd91d9a4ee2fd298981f60295 (ip: fix logic of reverse path filter sysctl) has changed the logic of rp_filter. The document about rp_filter is out of date. Now, setting conf/all/rp_filte with 0 can also enable source validation. Update the document according to the commit. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit 529fab67d78747ddc3a8a2bbd0d1aab1d059439f Author: Breno Leitao Date: Thu Nov 26 07:31:49 2009 +0000 bnx2: EEH is failing with timeout bnx2 is failing when a PCI error is detected. The error is the following: bnx2: Chip not in correct endian mode bnx2: fw sync timeout, reset code = 404001d This error was caused because the way pci_restore_state() is working after commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear saved_state after the state has been restored"). Signed-off-by: Breno Leitao Acked-by: Michael Chan Signed-off-by: David S. Miller commit d8ea23931ce83b56801976e6f1fa893462c1c477 Author: Krzysztof Helt Date: Wed Dec 2 23:27:12 2009 +0100 ALSA: opti9xx: remove snd_opti9xx fields Remove snd_opti9xx fields which are indirect arguments to the snd_opti9xx_configure(). Pass these values as function arguments. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 0cf55e1ec08bb5a22e068309e2d8ba1180ab4239 Author: Hidetoshi Seto Date: Wed Dec 2 17:28:07 2009 +0900 sched, cputime: Introduce thread_group_times() This is a real fix for problem of utime/stime values decreasing described in the thread: http://lkml.org/lkml/2009/11/3/522 Now cputime is accounted in the following way: - {u,s}time in task_struct are increased every time when the thread is interrupted by a tick (timer interrupt). - When a thread exits, its {u,s}time are added to signal->{u,s}time, after adjusted by task_times(). - When all threads in a thread_group exits, accumulated {u,s}time (and also c{u,s}time) in signal struct are added to c{u,s}time in signal struct of the group's parent. So {u,s}time in task struct are "raw" tick count, while {u,s}time and c{u,s}time in signal struct are "adjusted" values. And accounted values are used by: - task_times(), to get cputime of a thread: This function returns adjusted values that originates from raw {u,s}time and scaled by sum_exec_runtime that accounted by CFS. - thread_group_cputime(), to get cputime of a thread group: This function returns sum of all {u,s}time of living threads in the group, plus {u,s}time in the signal struct that is sum of adjusted cputimes of all exited threads belonged to the group. The problem is the return value of thread_group_cputime(), because it is mixed sum of "raw" value and "adjusted" value: group's {u,s}time = foreach(thread){{u,s}time} + exited({u,s}time) This misbehavior can break {u,s}time monotonicity. Assume that if there is a thread that have raw values greater than adjusted values (e.g. interrupted by 1000Hz ticks 50 times but only runs 45ms) and if it exits, cputime will decrease (e.g. -5ms). To fix this, we could do: group's {u,s}time = foreach(t){task_times(t)} + exited({u,s}time) But task_times() contains hard divisions, so applying it for every thread should be avoided. This patch fixes the above problem in the following way: - Modify thread's exit (= __exit_signal()) not to use task_times(). It means {u,s}time in signal struct accumulates raw values instead of adjusted values. As the result it makes thread_group_cputime() to return pure sum of "raw" values. - Introduce a new function thread_group_times(*task, *utime, *stime) that converts "raw" values of thread_group_cputime() to "adjusted" values, in same calculation procedure as task_times(). - Modify group's exit (= wait_task_zombie()) to use this introduced thread_group_times(). It make c{u,s}time in signal struct to have adjusted values like before this patch. - Replace some thread_group_cputime() by thread_group_times(). This replacements are only applied where conveys the "adjusted" cputime to users, and where already uses task_times() near by it. (i.e. sys_times(), getrusage(), and /proc//stat.) This patch have a positive side effect: - Before this patch, if a group contains many short-life threads (e.g. runs 0.9ms and not interrupted by ticks), the group's cputime could be invisible since thread's cputime was accumulated after adjusted: imagine adjustment function as adj(ticks, runtime), {adj(0, 0.9) + adj(0, 0.9) + ....} = {0 + 0 + ....} = 0. After this patch it will not happen because the adjustment is applied after accumulated. v2: - remove if()s, put new variables into signal_struct. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Spencer Candland Cc: Americo Wang Cc: Oleg Nesterov Cc: Balbir Singh Cc: Stanislaw Gruszka LKML-Reference: <4B162517.8040909@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit d99ca3b977fc5a93141304f571475c2af9e6c1c5 Author: Hidetoshi Seto Date: Wed Dec 2 17:26:47 2009 +0900 sched, cputime: Cleanups related to task_times() - Remove if({u,s}t)s because no one call it with NULL now. - Use cputime_{add,sub}(). - Add ifndef-endif for prev_{u,s}time since they are used only when !VIRT_CPU_ACCOUNTING. Signed-off-by: Hidetoshi Seto Cc: Peter Zijlstra Cc: Spencer Candland Cc: Americo Wang Cc: Oleg Nesterov Cc: Balbir Singh Cc: Stanislaw Gruszka LKML-Reference: <4B1624C7.7040302@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit be8147e68625a1adb111acfd6b98a492be4b74d0 Author: Tim Blechmann Date: Wed Dec 2 12:32:10 2009 +0100 Revert "sched, x86: Optimize branch hint in __switch_to()" This reverts commit a3a1de0c34de6f5f8332cd6151c46af7813c0fcb. Commit 8ec6993d9f7d961014af970ded57542961fe9ad9 cleared the es and ds selectors, so the original branch hints are correct now. Therefore the branch hint doesn't need to be removed. Signed-off-by: Tim Blechmann LKML-Reference: <4B16503A.8030508@klingt.org> Signed-off-by: Ingo Molnar commit 4c8b581dd28588940a328632e406baab574e0ce5 Author: Sascha Hauer Date: Mon Nov 30 13:31:29 2009 +0100 i.MX27 audmux: Fix register offsets We have two holes in the register space. The driver did not handle this. Fix it. Signed-off-by: Sascha Hauer commit 9e3e7afe9bd73cc3fe0d742ba3391e864e234923 Author: Alan Carvalho de Assis Date: Fri Nov 27 14:09:54 2009 -0200 mx27: mxt_td60: Add support to SD/MMC This patch configures iomux and i2c io expander in order to add support to SD/MMC cards on i-MXT TD60. Signed-off-by: Alan Carvalho de Assis Signed-off-by: Sascha Hauer commit 99063c0bcebcc913165a5d168050326eba3e0996 Author: Jan Beulich Date: Fri Nov 27 15:06:16 2009 +0000 x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h This at once also gets the alignment specification right for x86-64. Signed-off-by: Jan Beulich LKML-Reference: <4B0FF8F80200007800022708@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 01be50a308be466e122c3a8b3d535f1b673ecbd2 Author: Jan Beulich Date: Fri Nov 27 15:04:58 2009 +0000 x86/alternatives: Check replacementlen <= instrlen at build time Having run into the run-(boot-)time check a couple of times lately, I finally took time to find a build-time check so that one doesn't need to analyze the register/stack dump and resolve this (through manual lookup in vmlinux) to the offending construct. The assembler will emit a message like "Error: value of too large for field of 1 bytes at ", which while not pointing out the source location still makes analysis quite a bit easier. Signed-off-by: Jan Beulich LKML-Reference: <4B0FF8AA0200007800022703@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 183bd50f4fe6cd49c1790a90163e3d1ece80f344 Author: Alexander Shishkin Date: Tue Dec 1 14:03:31 2009 +0100 ARM: 5843/1: OMAP3: add AMBA devices for ETM and ETB This enables on-chip tracing components found in omap3xxx. Signed-off-by: Alexander Shishkin Acked-by: Tony Lindgren Signed-off-by: Russell King commit c5d6c7708c3e58015b2e4e13e6cea02c8567a94e Author: Alexander Shishkin Date: Tue Dec 1 14:00:51 2009 +0100 ARM: 5841/1: a driver for on-chip ETM and ETB This driver implements support for on-chip Embedded Tracing Macrocell and Embedded Trace Buffer. It allows to trigger tracing of kernel execution flow and exporting trace output to userspace via character device and a sysrq combo. Trace output can then be decoded by a fairly simple open source tool [1] which is already sufficient to get the idea of what the kernel is doing. [1]: http://github.com/virtuoso/etm2human Signed-off-by: Alexander Shishkin Signed-off-by: Russell King commit bdddd2963c0264c56f18043f6fa829d3c1d3d1c0 Author: Rusty Russell Date: Wed Dec 2 14:09:16 2009 +1030 sched: Fix isolcpus boot option Anton Blanchard wrote: > We allocate and zero cpu_isolated_map after the isolcpus > __setup option has run. This means cpu_isolated_map always > ends up empty and if CPUMASK_OFFSTACK is enabled we write to a > cpumask that hasn't been allocated. I introduced this regression in 49557e620339cb13 (sched: Fix boot crash by zalloc()ing most of the cpu masks). Use the bootmem allocator if they set isolcpus=, otherwise allocate and zero like normal. Reported-by: Anton Blanchard Signed-off-by: Rusty Russell Cc: peterz@infradead.org Cc: Linus Torvalds Cc: LKML-Reference: <200912021409.17013.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar Tested-by: Anton Blanchard commit 614c12a1581687501f1b0fc721feff69b47abd92 Author: Rudy Matela Date: Wed Dec 2 01:26:01 2009 -0800 net: Coding style corrections on Sealevel Systems 4021 driver. Changed braces position on some statements. Inserted a space between an "if" keyword and a parenthesis. Signed-off-by: Rudy Matela Signed-off-by: David S. Miller commit fa1452e808732ae10e8b1267fd75fc2d028d634b Author: Hiroshi Shimamoto Date: Mon Nov 30 14:59:44 2009 +0900 locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit Reorder task_struct field for TRACE_IRQFLAGS to remove padding on 64-bit. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4B135F50.8070302@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 5b23136bcf766a58160a319677b366c90f0cd223 Author: Jean-Mickael Guerin Date: Tue Dec 1 07:52:16 2009 +0000 net: compat_sys_recvmmsg user timespec arg can be NULL We must test if user timespec is non-NULL before copying from userpace, same as sys_recvmmsg(). Commiter note: changed it so that we have just one branch. Signed-off-by: Jean-Mickael Guerin Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d7256d0eb4c82b789125f610fea11c6e82b1bcff Author: Jean-Mickael Guerin Date: Tue Dec 1 08:47:26 2009 +0000 net: compat_mmsghdr must be used in sys_recvmmsg Both to traverse the entries and to set the msg_len field. Commiter note: folded two patches and avoided one branch repeating the compat test. Signed-off-by: Jean-Mickael Guerin Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1786bf009f18f722afbb62143c8541e7e60a4e92 Author: Avi Kivity Date: Mon Nov 30 12:54:51 2009 +0200 core: Clean up user return notifers use of per_cpu Instead of using per_cpu(..., raw_smp_processor_id()), use __get_cpu_var(...). Signed-off-by: Avi Kivity LKML-Reference: <1259578491-4589-1-git-send-email-avi@redhat.com> Signed-off-by: Ingo Molnar commit e859cf8656043f158b4004ccc8cbbf1ba4f97177 Author: Masami Hiramatsu Date: Mon Nov 30 19:02:22 2009 -0500 x86: Fix comments of register/stack access functions Fix typos and some redundant comments of register/stack access functions in asm/ptrace.h. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Roland McGrath Cc: Oleg Nesterov Cc: Wenji Huang Cc: Mahesh J Salgaonkar LKML-Reference: <20091201000222.7669.7477.stgit@harusame> Signed-off-by: Ingo Molnar Suggested-by: Wenji Huang commit 810c07194f6ef541625e65b53392e9f605611a1a Author: Andrei Pelinescu-Onciul Date: Wed Dec 2 01:16:49 2009 -0800 sctp: fix sctp_setsockopt_autoclose compile warning Fix the following warning, when building on 64 bits: net/sctp/socket.c:2091: warning: large integer implicitly truncated to unsigned type Signed-off-by: Andrei Pelinescu-Onciul Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit acb3cecdf89f9a9f30bf493f07dc5af333b45f8e Author: Eric Dumazet Date: Wed Dec 2 01:13:11 2009 -0800 ieee802154: merge cleanup A small cleanup after last net-2.6 merge into net-next-2.6 As we are going to free skb, no need to set skb->skb_iif or skb->dev Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 93aaa45a6ad3f983180223601fc663cc551ad499 Author: Liming Wang Date: Wed Dec 2 16:42:54 2009 +0800 perf tools: Replace %m with %a in sscanf Not all glibc support %m and it results in a compile error if %m not supported. Replace it with %a and (float *) casts. Signed-off-by: Liming Wang Acked-by: Frederic Weisbecker Cc: peterz@infradead.org Cc: mhiramat@redhat.com LKML-Reference: <1259743374-9950-1-git-send-email-liming.wang@windriver.com> Signed-off-by: Ingo Molnar commit 6d20792e85187b27ae3d1b76678a2dd7025e8bc2 Author: Suresh Siddha Date: Tue Dec 1 15:31:18 2009 -0800 x86: Remove unnecessary mdelay() from cpu_disable_common() fixup_irqs() already has a mdelay(). Remove the extra and unnecessary mdelay() from cpu_disable_common(). Signed-off-by: Suresh Siddha Cc: Maciej W. Rozycki Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233335.232177348@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 1c83995b6c7c6bb795bce80f75fbffb15f78db2d Author: Suresh Siddha Date: Tue Dec 1 15:31:17 2009 -0800 x86, ioapic: Document another case when level irq is seen as an edge In the case when cpu goes offline, fixup_irqs() will forward any unhandled interrupt on the offlined cpu to the new cpu destination that is handling the corresponding interrupt. This interrupt forwarding is done via IPI's. Hence, in this case also level-triggered io-apic interrupt will be seen as an edge interrupt in the cpu's APIC IRR. Document this scenario in the code which handles this case by doing an explicit EOI to the io-apic to clear remote IRR of the io-apic RTE. Requested-by: Maciej W. Rozycki Signed-off-by: Suresh Siddha Cc: Maciej W. Rozycki Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233335.143970505@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit c29d9db338db606c3335a03f337e1d4b7f6bb727 Author: Suresh Siddha Date: Tue Dec 1 15:31:16 2009 -0800 x86, ioapic: Fix the EOI register detection mechanism Maciej W. Rozycki reported: > 82093AA I/O APIC has its version set to 0x11 and it > does not support the EOI register. Similarly I/O APICs > integrated into the 82379AB south bridge and the 82374EB/SB > EISA component. IO-APIC versions below 0x20 don't support EOI register. Some of the Intel ICH Specs (ICH2 to ICH5) documents the io-apic version as 0x2. This is an error with documentation and these ICH chips use io-apic's of version 0x20 and indeed has a working EOI register for the io-apic. Fix the EOI register detection mechanism to check for version 0x20 and beyond. And also, a platform can potentially have io-apic's with different versions. Make the EOI register check per io-apic. Reported-by: Maciej W. Rozycki Signed-off-by: Suresh Siddha Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233335.065361533@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit ca64c47cecd0321b2e0dcbd7aaff44b68ce20654 Author: Maciej W. Rozycki Date: Tue Dec 1 15:31:15 2009 -0800 x86, io-apic: Move the effort of clearing remoteIRR explicitly before migrating the irq When the level-triggered interrupt is seen as an edge interrupt, we try to clear the remoteIRR explicitly (using either an io-apic eoi register when present or through the idea of changing trigger mode of the io-apic RTE to edge and then back to level). But this explicit try also needs to happen before we try to migrate the irq. Otherwise irq migration attempt will fail anyhow, as it postpones the irq migration to a later attempt when it sees the remoteIRR in the io-apic RTE still set. Signed-off-by: "Maciej W. Rozycki" Reviewed-by: Suresh Siddha Cc: ebiederm@xmission.com Cc: garyhade@us.ibm.com LKML-Reference: <20091201233334.975416130@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 1cedae72904b85462082dbcfd5190309ba37f8bd Author: Frederic Weisbecker Date: Wed Dec 2 07:32:16 2009 +0100 hw-breakpoints: Keep track of user disabled breakpoints When we disable a breakpoint through dr7, we unregister it right away, making us lose track of its corresponding address register value. It means that the following sequence would be unsupported: - set address in dr0 - enable it through dr7 - disable it through dr7 - enable it through dr7 because we lost the address register value when we disabled the breakpoint. Don't unregister the disabled breakpoints but rather disable them. Reported-by: "K.Prasad" Signed-off-by: Frederic Weisbecker LKML-Reference: <1259735536-9236-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6b62fe019e39edfd1dbe3f224ecd0a87d9365223 Author: Frederic Weisbecker Date: Wed Dec 2 07:23:10 2009 +0100 tracing/syscalls: Make syscall events print callbacks static enter_syscall_print_##sname and exit_syscall_print_##sname don't need to have a global scope. Make them static. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jason Baron Cc: Lai Jiangshan LKML-Reference: <1259734990-9034-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3a9089fd78367e2c6c815129030b790a0f5c2715 Author: Jason Baron Date: Tue Dec 1 12:18:49 2009 -0500 tracing: Add DEFINE_EVENT(), DEFINE_SINGLE_EVENT() support to docbook The introduction of the new 'DECLARE_EVENT_CLASS()' obviates the need for the 'TRACE_EVENT()' macro in some cases. Thus, docbook style comments that used to live with 'TRACE_EVENT()' are now moved to 'DEFINE_EVENT()'. Thus, we need to make the docbook system understand the new 'DEFINE_EVENT()' macro. In addition I've tried to futureproof the patch, by also adding support for 'DEFINE_SINGLE_EVENT()', since there has been discussion about renaming: TRACE_EVENT() -> DEFINE_SINGLE_EVENT(). Without this patch the tracepoint docbook fails to build. I've verified that this patch correctly builds the tracepoint docbook which currently covers signals, and irqs. Changes in v2: - properly indent perl 'if' statements Signed-off-by: Jason Baron Acked-by: Steven Rostedt Acked-by: Randy Dunlap Cc: William Cohen Cc: Frederic Weisbecker Cc: Mathieu Desnoyers Cc: Masami Hiramatsu LKML-Reference: <200912011718.nB1HIn7t011371@int-mx04.intmail.prod.int.phx2.redhat.com> Signed-off-by: Ingo Molnar commit 8592e6486a177a02f048567cb928bc3a1f9a86c3 Author: Tejun Heo Date: Wed Dec 2 12:56:46 2009 +0900 sched: Revert 498657a478c60be092208422fefa9c7b248729c2 498657a478c60be092208422fefa9c7b248729c2 incorrectly assumed that preempt wasn't disabled around context_switch() and thus was fixing imaginary problem. It also broke KVM because it depended on ->sched_in() to be called with irq enabled so that it can do smp calls from there. Revert the incorrect commit and add comment describing different contexts under with the two callbacks are invoked. Avi: spotted transposed in/out in the added comment. Signed-off-by: Tejun Heo Acked-by: Avi Kivity Cc: peterz@infradead.org Cc: efault@gmx.de Cc: rusty@rustcorp.com.au LKML-Reference: <1259726212-30259-2-git-send-email-tj@kernel.org> Signed-off-by: Ingo Molnar commit 55873ed87fe6d34bd6f3a303c2d2ec6632c14525 Author: Hideyuki Sasaki Date: Tue Dec 1 12:15:58 2009 +0000 net/ps3: Add support for gelic link negotiation Add ethtool_ops.set_settings support to the PS3 gelic network driver. Allows manual setting of ethernet link speed. Signed-off-by: Hideyuki Sasaki Signed-off-by: Geoff Levand Signed-off-by: David S. Miller commit d4d7f1f9116089a4ae5102dcda35e8120308a515 Author: Geoff Levand Date: Tue Dec 1 12:15:53 2009 +0000 net/ps3: Cleanup gelic enums Cleanup of the gelic driver enumerations: o Add some missing commas. o Add an Ether port post fix (PS3 currently only supports PORT_0). o Add a new enum gelic_lv1_phy to use when interacting with the PHY. Signed-off-by: Geoff Levand Signed-off-by: David S. Miller commit 0dffc83e5b831df1df83dfe32a0c267347f9950b Author: Ajit Khaparde Date: Sun Nov 29 17:57:46 2009 +0000 be2net: fix unnecessary access to hardware to get link, port info Every time while doing ethtool->get_settings we are accessing the hardware to get link status and port information. This is not necessary. We now use the cached copy for this info and update it when the link status changes. From: Suresh R Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit b7b83ac39a177741a378d728d82e87de9b0a01a5 Author: Ajit Khaparde Date: Sun Nov 29 17:57:22 2009 +0000 be2net: Add be_rx_polls counter Add be_rx_polls to count number of times NAPI called rx poll function. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit ca66ef500b874de4bf58e05f9d18ccdce64eabbc Author: Ajit Khaparde Date: Sun Nov 29 17:56:56 2009 +0000 be2net: fix to allow port beacon when device is closed port identification/beaconing is failing if device open has not been done. Fixing it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit ca9e4988ccbde3b11116679f1b023eb75df8017e Author: Ajit Khaparde Date: Sun Nov 29 17:56:26 2009 +0000 be2net: check for valid ether address Allow only valid ether addresses to be assigned and used for the interface. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 35a652859ad76d8bd989025952ecb80d7c5304a4 Author: Ajit Khaparde Date: Sun Nov 29 17:55:39 2009 +0000 be2net: initialize netdev->perm_addr patch to initialize netdev->perm_addr Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 51c59870f324805ed30eaa2c0089b4cb5f9f7c71 Author: Ajit Khaparde Date: Sun Nov 29 17:54:54 2009 +0000 be2net: set netdev->vlan_features appropriately patch to initialize netdev->vlan_features appropriately. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 7c7afb083675b3d4d012a2aacec3a958ba484ab0 Author: Jie Yang Date: Tue Dec 1 17:18:34 2009 +0000 atl1e:disable NETIF_F_TSO6 for hardware limit For hardware limit to support TSOV6, just disable this feature Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit 8528b016d64a7c1c97ba6540ab53a538348d5026 Author: Roel Kluin Date: Tue Dec 1 15:54:24 2009 +0000 e1000e: Use sizeof struct rather than pointer in e1000_get_eeprom() Don't use the sizeof the pointer to clear the result Signed-off-by: Roel Kluin Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 07f025e6bad7292af3904b8f49cd33e7b5fe3467 Author: Bruce Allan Date: Tue Dec 1 15:53:48 2009 +0000 e1000e: PHY type cleanups in e1000e_check_downshift() Remove the case for 82577 because it does not support the ability to check for downshift. Add case for e1000_phy_bm which can do this. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9b71b419a60d200f553658a97c9f49a46f58e8bb Author: Bruce Allan Date: Tue Dec 1 15:53:07 2009 +0000 e1000e: add debug messages Add some helpful debug messages. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5ff5b664351a94754031c1e5783f0cea6b3000ed Author: Bruce Allan Date: Tue Dec 1 15:51:11 2009 +0000 e1000e: comment corrections Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9e135a2e6266eba276f33c404a2478499bc07ff5 Author: Bruce Allan Date: Tue Dec 1 15:50:31 2009 +0000 e1000e: enable new 82567V-3 device This new PCI device ID is for a new combination of MAC and PHY both of which already have supporting code in the driver, just not yet in this combination. During validation of the device, an intermittent issue was discovered with waking it from a suspended state which can be resolved with the pre-existing workaround to disable gigabit speed prior to suspending. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1a40d5c170f472d541844cb5b4292efbe02ef89c Author: Bruce Allan Date: Tue Dec 1 15:49:51 2009 +0000 e1000e: ensure the link state is correct for serdes links This patch ensures that the link state (as reported in mac->serdes_has_link) will transition to false when autoneg fails to complete but valid codewords were detected. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 17f208deb9bf88315aa72c08c866a235c399fb9a Author: Bruce Allan Date: Tue Dec 1 15:47:22 2009 +0000 e1000e: provide family-specific PHY power up/down operations The different families (80003es2lan, 8257x, ICHx/PCH) supported by the driver each have their own conditions when the PHY can be powered down. This patch rewrites the PHY power up/down code to fit with the family- specific style used in the driver. All pre-existing calls to power up or down the PHY remain untouched. A new call to power down the PHY when removing the driver when the interface is down replaces the current call to reset the PHY in order to reduce power consumption. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit eb656d4552a6c9de5fdcee4a376b171f57b8a4a2 Author: Bruce Allan Date: Tue Dec 1 15:47:02 2009 +0000 e1000e: guard against buffer overflow in cable length tables Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit caaddaf83501c79fe11b183c8972e60d8b7d5d56 Author: Bruce Allan Date: Tue Dec 1 15:46:43 2009 +0000 e1000e: provide family-specific functions to manage VLAN filter arrays The two MAC-families that have VLAN filter table register arrays manage each a bit differently from one another, so provide family-specific functions for managing the register arrays and function pointers to access the appropriate function. Also make sure attempts to access these register arrays are not done on parts not supporting that feature. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ec70ccd806111ba3caf596def91a8580138b12db Author: Kristian Høgsberg Date: Tue Dec 1 15:05:01 2009 -0500 perf: Don't free perf_mmap_data until work has been done In the CONFIG_PERF_USE_VMALLOC case, perf_mmap_data_free() only schedules the cleanup of the perf_mmap_data struct. In that case we have to wait until the work has been done before we free data. Signed-off-by: Kristian Høgsberg Cc: David S. Miller Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: LKML-Reference: <1259697901-1747-1-git-send-email-krh@bitplanet.net> Signed-off-by: Ingo Molnar commit bdad0db7dbdb37d0bb3c7d0f65cd3ff599ea6ecb Author: Xiao Guangrong Date: Wed Dec 2 16:08:41 2009 +0800 perf_event: Fix compile error Fix: cc1: warnings being treated as errors builtin-probe.c: In function 'cmd_probe': builtin-probe.c:163: error: unused variable 'fd' Signed-off-by: Xiao Guangrong Cc: Masami Hiramatsu Cc: Peter Zijlstra LKML-Reference: <4B162089.8000907@cn.fujitsu.com> [ v2: use NO_LIBDWARF instead of __used ] Signed-off-by: Ingo Molnar commit c19e33aa840e9202ef8d4c93056b59f3edc2208d Author: Liming Wang Date: Wed Dec 2 14:11:46 2009 +0800 perf tools: Fix _GNU_SOURCE macro related strndup() build error strndup is a GNU extension. So dont include string.h without defining _GNU_SOURCE (it results in a compile error otherwise). Remove these includes as util.h does it already. Signed-off-by: Liming Wang Acked-by: Frederic Weisbecker Acked-by: Xiao Guangrong Cc: peterz@infradead.org Cc: mhiramat@redhat.com LKML-Reference: <1259734306-26323-1-git-send-email-liming.wang@windriver.com> Signed-off-by: Ingo Molnar commit ff9c38bba37937adb909cceb2a6521f2e92e17c6 Merge: 65c0cfa b2722b1 Author: David S. Miller Date: Tue Dec 1 22:13:38 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/mac80211/ht.c commit 65c0cfafce9575319fb6f70080fbe226e5617e3b Author: Eric W. Biederman Date: Sun Nov 29 15:46:17 2009 +0000 net: remove [un]register_pernet_gen_... and update the docs. No that all of the callers have been updated to set fields in struct pernet_operations, and simplified to let the network namespace core handle the allocation and freeing of the storage for them, remove the surpurpflous methods and update the docs to the new style. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 671011720baa222b6de667cd688aed4dc8908924 Author: Eric W. Biederman Date: Sun Nov 29 15:46:16 2009 +0000 net: Simplify ipip6 aka sit pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ac31cd3cbadc45d6ed2a0ae5d116918b15bb6c22 Author: Eric W. Biederman Date: Sun Nov 29 15:46:15 2009 +0000 net: Simplify ip6_tunnel pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 86de8a631e90a96d136ffd877719471a0b8d8b6d Author: Eric W. Biederman Date: Sun Nov 29 15:46:14 2009 +0000 net: Simplify ipip pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859 Author: Eric W. Biederman Date: Sun Nov 29 15:46:13 2009 +0000 net: Simplify ip_gre pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d2b3eb630767f0b0ae21566b1b88cb512f40c647 Author: Eric W. Biederman Date: Sun Nov 29 15:46:12 2009 +0000 net: Simplify phonet pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit aaab3405e03e91d0e8d30c9d327a2265a7121854 Author: Eric W. Biederman Date: Sun Nov 29 15:46:11 2009 +0000 net: Simplify pppol2tp pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit c879a6fcd6382415015e246b443dc2a1eab604dc Author: Eric W. Biederman Date: Sun Nov 29 15:46:10 2009 +0000 net: Simplify pppoe pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 741a6fa210c5c8828af3819134f644842e0e9c09 Author: Eric W. Biederman Date: Sun Nov 29 15:46:09 2009 +0000 net: Simplify ppp_generic pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e8d02885997081f09272af6b9a27061a142da4c5 Author: Eric W. Biederman Date: Sun Nov 29 15:46:08 2009 +0000 net: Simplify conntrack_proto_gre pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 32b51f92d858dd3002ec2240960b772518a6803b Author: Eric W. Biederman Date: Sun Nov 29 15:46:07 2009 +0000 net: Simplify conntrack_proto_dccp pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 23c049ca92548483d5e12c94cc983afb3040f626 Author: Eric W. Biederman Date: Sun Nov 29 15:46:06 2009 +0000 net: Simplify af_key pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 946d1a9298c9e592b189a168326603c92d782b5f Author: Eric W. Biederman Date: Sun Nov 29 15:46:05 2009 +0000 net: Simplify vlan pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 15449745e5d181ae214ceaf0880350bb4e63512a Author: Eric W. Biederman Date: Sun Nov 29 15:46:04 2009 +0000 net: Simplify the bond drivers pernet operations. Take advantage of the new pernet automatic storage management, and stop using compatibility network namespace functions. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e008b5fc8dc7f46d9904001c7a2155eb1e7d35ab Author: Eric W. Biederman Date: Sun Nov 29 22:25:30 2009 +0000 net: Simplfy default_device_exit and improve batching. - Defer dellink to net_cleanup() allowing for batching. - Fix comment. - Use for_each_netdev_safe again as dev_change_net_namespace touches at most one network device (unlike veth dellink). Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 999b6d39abb4fc446f3465ca4e0a7ac747f49aec Author: Eric W. Biederman Date: Sun Nov 29 22:25:29 2009 +0000 net: Simplify loopback and improve batching. Defer calling unregister_netdevice_queue to cleanup_net. It's simpler and it allows the loopback device to land in the same batch as other network devices. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit f875bae065334907796da12523f9df85c89f5712 Author: Eric W. Biederman Date: Sun Nov 29 22:25:28 2009 +0000 net: Automatically allocate per namespace data. To get the full benefit of batched network namespace cleanup netowrk device deletion needs to be performed by the generic code. When using register_pernet_gen_device and freeing the data in exit_net it is impossible to delay allocation until after exit_net has called as the device uninit methods are no longer safe. To correct this, and to simplify working with per network namespace data I have moved allocation and deletion of per network namespace data into the network namespace core. The core now frees the data only after all of the network namespace exit routines have run. Now it is only required to set the new fields .id and .size in the pernet_operations structure if you want network namespace data to be managed for you automatically. This makes the current register_pernet_gen_device and register_pernet_gen_subsys routines unnecessary. For the moment I have left them as compatibility wrappers in net_namespace.h They will be removed once all of the users have been updated. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 2b035b39970740722598f7a9d548835f9bdd730f Author: Eric W. Biederman Date: Sun Nov 29 22:25:27 2009 +0000 net: Batch network namespace destruction. It is fairly common to kill several network namespaces at once. Either because they are nested one inside the other or because they are cooperating in multiple machine networking experiments. As the network stack control logic does not parallelize easily batch up multiple network namespaces existing together. To get the full benefit of batching the virtual network devices to be removed must be all removed in one batch. For that purpose I have added a loop after the last network device operations have run that batches up all remaining network devices and deletes them. An extra benefit is that the reorganization slightly shrinks the size of the per network namespace data structures replaceing a work_struct with a list_head. In a trivial test with 4K namespaces this change reduced the cost of a destroying 4K namespaces from 7+ minutes (at 12% cpu) to 44 seconds (at 60% cpu). The bulk of that 44s was spent in inet_twsk_purge. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit dcbccbd4f1f6ad0f0e169d4b2e816e42bde06f82 Author: Eric W. Biederman Date: Sun Nov 29 22:25:26 2009 +0000 net: Implement for_each_netdev_reverse. I will need this shortly to implement network namespace shutdown batching. For sanity sake network devices should be removed in the reverse order they were created in. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit a5ee155136b4a8f4ab0e4c9c064b661da475e298 Author: Eric W. Biederman Date: Sun Nov 29 15:45:58 2009 +0000 net: NETDEV_UNREGISTER_PERNET -> NETDEV_UNREGISTER_BATCH The motivation for an additional notifier in batched netdevice notification (rt_do_flush) only needs to be called once per batch not once per namespace. For further batching improvements I need a guarantee that the netdevices are unregistered in order allowing me to unregister an all of the network devices in a network namespace at the same time with the guarantee that the loopback device is really and truly unregistered last. Additionally it appears that we moved the route cache flush after the final synchronize_net, which seems wrong and there was no explanation. So I have restored the original location of the final synchronize_net. Cc: Octavian Purdila Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5a5b6f6f62ac684a5856121d8cffd3c3253dc890 Author: Arnaldo Carvalho de Melo Date: Mon Nov 30 13:02:23 2009 -0800 MIPS: Wire up recvmmsg syscall Reported-by: Jean-Mickael Guerin Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Ralf Baechle Signed-off-by: David S. Miller commit b2722b1c3a893ec6021508da15b32282ec79f4da Author: Patrick McHardy Date: Tue Dec 1 15:53:57 2009 -0800 ip_fragment: also adjust skb->truesize for packets not owned by a socket When a large packet gets reassembled by ip_defrag(), the head skb accounts for all the fragments in skb->truesize. If this packet is refragmented again, skb->truesize is not re-adjusted to reflect only the head size since its not owned by a socket. If the head fragment then gets recycled and reused for another received fragment, it might exceed the defragmentation limits due to its large truesize value. skb_recycle_check() explicitly checks for linear skbs, so any recycled skb should reflect its true size in skb->truesize. Change ip_fragment() to also adjust the truesize value of skbs not owned by a socket. Reported-and-tested-by: Ben Menchaca Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7e8f44f8d4fa9bb35e32c161fbcdbd6b9e6400e3 Merge: 138f3c8 2127816 Author: David S. Miller Date: Tue Dec 1 15:46:35 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 138f3c8518976953563a1316d7e0420c72d4ab96 Author: Li Yewang Date: Tue Dec 1 15:35:05 2009 -0800 ipsec: can not add camellia cipher algorithm when using "ip xfrm state" command can not add camellia cipher algorithm when using "ip xfrm state" command. Signed-off-by: Li Yewang Signed-off-by: David S. Miller commit 045868df2c5eee2330c052f8237b428afa9394fd Author: wanzongshun Date: Tue Dec 1 14:08:47 2009 +0100 ARM: 5844/1: rename w90p910_defconfig to n uc910_defconfig rename w90p910_defconfig Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 39986ca6bd8a8584d6bc9a52dcdf4653a905c611 Author: wanzongshun Date: Tue Dec 1 14:01:55 2009 +0100 ARM: 5842/1: add spi resource support for nuc900 add spi resource support Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 6aeb4e4a9d3e5c53ebaaeee6bd9cce41a3b8eb09 Author: wanzongshun Date: Tue Dec 1 13:57:28 2009 +0100 ARM: 5839/1: add nuc960_defconfig add nuc960_defconfig Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 9b5b495281821167f67ca82070a631fbde46ce61 Author: wanzongshun Date: Tue Dec 1 13:55:19 2009 +0100 ARM: 5838/1: add nuc950_defconfig add nuc950_defconfig Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit d7931d9f7ab9de9158c6905caae979999134ad4d Merge: fb37046 da43243 Author: Russell King Date: Tue Dec 1 18:22:54 2009 +0000 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable commit 421fe93cc4b06b2f5e875cbe0f692800d4862ee5 Author: Russell King Date: Sun Oct 25 10:23:04 2009 +0000 ARM: ZERO_PAGE: Avoid flush_dcache_page() for zero page The zero page is read-only, and has its cache state cleared during boot. No further maintanence for this page is required. Signed-off-by: Russell King commit b7dc0b2cfc6e9bc7270915c642a8a8e999b6095e Author: Russell King Date: Sun Oct 25 11:25:50 2009 +0000 ARM: Avoid evaluating page_address() multiple times page_address() is a function call rather than a macro, and so: if (page_address(page)) do_something(page_address(page)); results in two calls to this function. This is unnecessary; remove the duplication. Signed-off-by: Russell King commit 2f0b192633f1fbf253b21c90938733491549edae Author: Russell King Date: Sun Oct 25 10:40:02 2009 +0000 ARM: Avoid duplicated implementation for VIVT cache flushing We had two copies of the wrapper code for VIVT cache flushing - one in asm/cacheflush.h and one in arch/arm/mm/flush.c. Reduce this down to one common copy. Signed-off-by: Russell King commit 7be077f56370cd52c48c08272b0867132f87bc48 Author: Lai Jiangshan Date: Tue Dec 1 16:24:06 2009 +0800 trace_syscalls: Remove unused syscall_name_to_nr() After duplications are removed, syscall_name_to_nr() is unused. Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D2A6.6060803@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 3bbe84e9d385205d638035ee9dcc4db1b486ea08 Author: Lai Jiangshan Date: Tue Dec 1 16:24:01 2009 +0800 trace_syscalls: Simplify syscall profile use only one prof_sysenter_enable() instead of prof_sysenter_enable_##sname() use only one prof_sysenter_disable() instead of prof_sysenter_disable_##sname() use only one prof_sysexit_enable() instead of prof_sysexit_enable_##sname() use only one prof_sysexit_disable() instead of prof_sysexit_disable_##sname() Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D2A1.8060304@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit a1301da0997bf73c44dbe584e9070a13adc89672 Author: Lai Jiangshan Date: Tue Dec 1 16:23:55 2009 +0800 trace_syscalls: Remove duplicate init_enter_##sname() use only one init_syscall_trace instead of many init_enter_##sname()/init_exit_##sname() Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D29B.6090708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c252f65793874b56d50395ab604db465ce688665 Author: Lai Jiangshan Date: Tue Dec 1 16:23:47 2009 +0800 trace_syscalls: Add syscall_nr field to struct syscall_metadata Add syscall_nr field to struct syscall_metadata, it helps us to get syscall number easier. Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D293.6090800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fcc19438dda38dacc8c144e2db3ebc6b9fd4f8b8 Author: Lai Jiangshan Date: Tue Dec 1 16:23:36 2009 +0800 trace_syscalls: Remove enter_id exit_id use ->enter_event->id instead of ->enter_id use ->exit_event->id instead of ->exit_id Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D288.7030001@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 31c16b13349970b2684248c7d8608d2a96ae135d Author: Lai Jiangshan Date: Tue Dec 1 16:23:30 2009 +0800 trace_syscalls: Set event_enter_##sname->data to its metadata Set event_enter_##sname->data to its metadata, it makes codes simpler. Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D282.7050709@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit bf56a4ea9f1683c5b223fd3a5dbea23f1fa91c34 Author: Lai Jiangshan Date: Tue Dec 1 16:23:20 2009 +0800 trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit fix event_enter_##sname->event fix event_exit_##sname->event remove unused event_syscall_enter and event_syscall_exit Signed-off-by: Lai Jiangshan Acked-by: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B14D278.4090209@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit cf5bd652c384cf58544f43bea097bbc9cf14e4f5 Author: Takashi Iwai Date: Tue Dec 1 16:36:56 2009 +0100 ALSA: aaci - Clean up duplicate code Now snd_ac97_pcm_open() is called with the exactly same arguments for both playback and capture directions. Remove the unneeded check. Signed-off-by: Takashi Iwai commit e0feefc70c1bb3f51aa9bb42acfd22cd7472a5d9 Author: Alexey Fisher Date: Tue Dec 1 13:40:53 2009 +0100 ALSA: usb - Fix mixer map for Hercules Gamesurround Muse Pocket LT Muse Pocket use brocken mixer names, so alsamixer and PA can't use it correctly This patch add quirk to overwirte default mixers. Signed-off-by: Alexey Fisher Signed-off-by: Takashi Iwai commit b00615d163cd24fa98d155acfc1f9d81d6fe1103 Merge: 75639e7 d679732 Author: Takashi Iwai Date: Tue Dec 1 15:58:15 2009 +0100 Merge branch 'topic/pcm-dma-fix' into topic/core-change commit 75639e7ee1401b3876c7a00ffe96ea8027668690 Merge: 7584af1 ad1cd74 Author: Takashi Iwai Date: Tue Dec 1 15:58:10 2009 +0100 Merge branch 'topic/beep-rename' into topic/core-change commit 980f31c46b3c7895ad926fbb43c8edac6ce193ff Merge: 9e298f4 6ef8070 Author: Takashi Iwai Date: Tue Dec 1 15:57:01 2009 +0100 Merge branch 'topic/ice1724-quartet' into topic/hda commit 9e298f449e667833c4cafad040ce8025a8ba1eed Merge: 2f703e7 62428f7 Author: Takashi Iwai Date: Tue Dec 1 15:56:52 2009 +0100 Merge branch 'topic/oxygen' into topic/hda commit 2f703e7a2ea5f6d5ea14a7b2cd0d31be07839ac6 Author: Takashi Iwai Date: Tue Dec 1 14:17:37 2009 +0100 ALSA: hda - Add position_fix quirk for HP dv3 HP dv3 requires position_fix=1. Reference: Novell bnc#555935 https://bugzilla.novell.com/show_bug.cgi?id=555935 Signed-off-by: Takashi Iwai commit 870725d9fcdecb23eab696d405fa90df46151865 Author: Srinidhi Kasagar Date: Tue Dec 1 13:41:24 2009 +0100 ARM: 5836/1: add MAINTAINERS entry Add MAINTAINERS entry for U8500 SoC Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit 71abe6f5cea3be6819f93907b37bb4ec826720ae Author: Srinidhi Kasagar Date: Tue Dec 1 05:43:53 2009 +0100 ARM: 5835/1: ARM U8500: add defconfig Add defconfig file for mop500 board Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit cfc9b06f0befe50ef02253f72b76946363549031 Author: Takashi Iwai Date: Tue Dec 1 12:19:37 2009 +0100 ALSA: hda - Add a pin-fix for FSC Amilo Pi1505 FSC Amilo Pi 1505 has a buggy BIOS and doesn't set up the HP and speaker pins properly. Add the pinfix entry for that. Reference: Novell bnc#557403 https://bugzilla.novell.com/show_bug.cgi?id=557403 Signed-off-by: Takashi Iwai commit 59d069eb5ae9b033ed1c124c92e1532c4a958991 Author: Xiao Guangrong Date: Tue Dec 1 17:30:08 2009 +0800 perf_event: Initialize data.period in perf_swevent_hrtimer() In current code in perf_swevent_hrtimer(), data.period is not initialized, The result is obvious wrong: # ./perf record -f -e cpu-clock make # ./perf report # Samples: 1740 # # Overhead Command ...... # ........ ........ .......................................... # 1025422183050275328.00% sh libc-2.9.90.so ... 1025422183050275328.00% perl libperl.so ... 1025422168240043264.00% perl [kernel] ... 1025422030011210752.00% perl [kernel] ... Signed-off-by: Xiao Guangrong Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: LKML-Reference: <4B14E220.2050107@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit ef47bf386e2042c2e483b4ea0259233202ad3ebf Merge: 306ecee 8ee763b Author: Takashi Iwai Date: Tue Dec 1 08:36:05 2009 +0100 Merge branch 'fix/misc' into topic/misc commit bb347d98079a547e80bd4722dee1de61e4dca0e8 Author: Ian Molton Date: Tue Dec 1 15:26:33 2009 +0800 hwrng: virtio-rng - Convert to new API This patch converts virtio-rng to the new hw_rng API. In the process it fixes a previously untriggered buffering bug where the buffer is not drained correctly if it has a non-multiple-of-4 length. Performance has improved under qemu-kvm testing also. Signed-off-by: Ian Molton Acked-by: Matt Mackall Acked-by: Rusty Russell Signed-off-by: Herbert Xu commit b498ce1f2753b9724b2fc05d2057f7d1490cfa93 Author: Masami Hiramatsu Date: Mon Nov 30 19:20:25 2009 -0500 perf probe: Simplify event naming Simplify event naming as _. Each event name is globally unique (group name is not checked). So, if there is schedule_0, next probe event on schedule() will be schedule_1. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201002024.10235.2353.stgit@harusame> Signed-off-by: Ingo Molnar commit 4de189fe6e5ad8241f6f8709d2e2ba4c3aeae33a Author: Masami Hiramatsu Date: Mon Nov 30 19:20:17 2009 -0500 perf probe: Add --list option for listing current probe events Add --list option for listing currently defined probe events in the kernel. This shows events in below format; [group:event] for example: [probe:schedule_0] schedule+30 cpu Note that source file/line information is not supported yet. So even if you added a probe by line, it will be shown in . Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201002017.10235.76575.stgit@harusame> Signed-off-by: Ingo Molnar commit e1c01d61a98703fcc80d15b8068ec36d5a215f7e Author: Masami Hiramatsu Date: Mon Nov 30 19:20:05 2009 -0500 perf probe: Add argv_split() from lib/argv_split.c Add argv_split() ported from lib/argv_split.c to string.c and use it in util/probe-event.c. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201002005.10235.55602.stgit@harusame> Signed-off-by: Ingo Molnar commit 50656eec82684d03add0f4f4b4875a20bd8f9755 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:58 2009 -0500 perf probe: Move probe event utility functions to probe-event.c Split probe event (kprobe-events and perf probe events) utility functions from builtin-probe.c to probe-event.c. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001958.10235.90243.stgit@harusame> Signed-off-by: Ingo Molnar commit 934b1f5fd0c9a2ddde5a4487695c126243d9a42b Author: Masami Hiramatsu Date: Mon Nov 30 19:19:51 2009 -0500 perf probe: Fix probe array index for multiple probe points Fix the index of formatted probe array for multiple probe points, which should be probes[i] instead of probes[0]. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001950.10235.54781.stgit@harusame> Signed-off-by: Ingo Molnar commit 74ca4c0ece52a2d19dae1bcbfc24fcfc5facfeb4 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:43 2009 -0500 perf probe: Fix argv array size in probe parser Since the syntax has been changed, probe definition needs parameters less than MAX_PROBE_ARGS + 1 (probe-point + arguments). Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001943.10235.80367.stgit@harusame> Signed-off-by: Ingo Molnar commit 57d250df7deb3e1742fbf3cc3230119731109552 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:34 2009 -0500 perf probe: Add probe-finder.h without libdwarf Add probe-finder.h as LIB_H without libdwarf, because that header is included even if no libdwarf. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001934.10235.44656.stgit@harusame> Signed-off-by: Ingo Molnar commit f41b1e43c41e99c39a2222578a7806032c045c79 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:27 2009 -0500 perf probe: Change a debugging message from pr_info to pr_debug Change annoying debug-info using notice from pr_info() to pr_debug(), since the message always printed when user adds a probe point which requires debug-info. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001927.10235.63645.stgit@harusame> Signed-off-by: Ingo Molnar commit ba8665d7dd95eb6093ee06f8f624b6acb1e73206 Author: Masami Hiramatsu Date: Mon Nov 30 19:19:20 2009 -0500 trace_kprobes: Fix a memory leak bug and check kstrdup() return value Fix a memory leak case in create_trace_probe(). When an argument is too long (> MAX_ARGSTR_LEN), it just jumps to error path. In that case tp->args[i].name is not released. This also fixes a bug to check kstrdup()'s return value. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091201001919.10235.56455.stgit@harusame> Signed-off-by: Ingo Molnar commit 838632438145ac6863377eb12d8b8eef9c55d288 Merge: 9996508 29e5536 Author: Herbert Xu Date: Tue Dec 1 15:16:22 2009 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 5cbd08056142dcb2aea0dca7261afcb810a63c55 Author: Li Zefan Date: Tue Dec 1 14:05:16 2009 +0800 perf timechart: Remove open-coded event parsing code Convert builtin-timechart.c to mmap_dispatch_perf_file() + perf_file_handler. Signed-off-by: Li Zefan Acked-by: Arjan van de Ven Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <4B14B21C.2040406@cn.fujitsu.com> [ v2: cleaned up the printout, fixed a whitespace detail ] Signed-off-by: Ingo Molnar commit bab81b624e970f1138535a465ad2b26b6bb0dd6c Author: Li Zefan Date: Tue Dec 1 14:04:49 2009 +0800 perf annotate: Fix perf data parsing perf-annotate doesn't parse perf.data correctly in that it doesn't read perf header. Fix this by using mmap_dispatch_perf_file(). Before: TOTAL events: 17565 MMAP events: 3221 LOST events: 10 COMM events: 235 EXIT events: 2 THROTTLE events: 1 UNTHROTTLE events: 2 FORK events: 10 READ events: 1 SAMPLE events: 14083 After: TOTAL events: 17290 MMAP events: 3203 LOST events: 0 COMM events: 234 EXIT events: 1 THROTTLE events: 0 UNTHROTTLE events: 0 FORK events: 0 READ events: 0 SAMPLE events: 13852 Signed-off-by: Li Zefan Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Arjan van de Ven LKML-Reference: <4B14B201.9030708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9996508b3353063f2d6c48c1a28a84543d72d70b Author: Ian Molton Date: Tue Dec 1 14:47:32 2009 +0800 hwrng: core - Replace u32 in driver API with byte array This patch implements a new method by which hw_random hardware drivers can pass data to the core more efficiently, using a shared buffer. The old methods have been retained as a compatability layer until all the drivers have been updated. Signed-off-by: Ian Molton Acked-by: Matt Mackall Acked-by: Rusty Russell Signed-off-by: Herbert Xu commit ccef086454d4c97e7b722e9303390207d681cb4c Author: H. Peter Anvin Date: Mon Nov 30 21:33:51 2009 -0800 x86, mm: Correct the implementation of is_untracked_pat_range() The semantics the PAT code expect of is_untracked_pat_range() is "is this range completely contained inside the untracked region." This means that checkin 8a27138924f64d2f30c1022f909f74480046bc3f was technically wrong, because the implementation needlessly confusing. The sane interface is for it to take a semiclosed range like just about everything else (as evidenced by the sheer number of "- 1"'s removed by that patch) so change the actual implementation to match. Reported-by: Suresh Siddha Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Jack Steiner Signed-off-by: H. Peter Anvin LKML-Reference: <20091119202341.GA4420@sgi.com> commit 92b118f6968ae0788ac659af47b464acd9a754a1 Author: Maurus Cuelenaere Date: Mon Nov 23 13:34:46 2009 +0100 ARM: S3C64XX: add HSMMC2 support This adds support for the third SDHCI controller. Signed-off-by: Maurus Cuelenaere Signed-off-by: Ben Dooks commit 6a88e9838fdc9ede136e3bb76a5c19413bd6cddb Author: Maurus Cuelenaere Date: Fri Nov 20 13:04:13 2009 +0100 ARM: S3C64XX: add support for all group 0 external interrupts Signed-off-by: Maurus Cuelenaere Signed-off-by: Ben Dooks commit 23196a42a691012ac9710677f711bb6dca0a1cde Author: Maurus Cuelenaere Date: Fri Nov 20 13:04:08 2009 +0100 ARM: S3C64XX: fix USB OTG compilation This adds the S3C_VA_USB_HSPHY mapping. Signed-off-by: Maurus Cuelenaere Signed-off-by: Ben Dooks commit e9c08f0d5737a988e735f7371bc0bffb343c485c Author: Mark Brown Date: Tue Nov 3 14:42:12 2009 +0000 ARM: S3C64XX: Redo voltage ranges for cpufreq The documentation for the S3C6410 CPU voltage scaling is rather unclear, with omitted values for several speed settings. Originally the code was using only quoted values, resulting in some fairly odd settings. The S3C6410 is also unusual in that the both the maximum and minimum voltages quoted scale as the frequency rises, rather than just the minimum voltage. Clean this up a bit by always using the specified typical settings as the minimum voltage (ignoring any specified minimum voltage) in order to avoid running near the edge of the processor capabilities. Also use the next quoted maximum voltages rather than the typical voltages where no maximum voltage is quoted, allowing operation on a greater range of systems. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 43f1069ef9af9a0b1fa1a1d6b49b2b05e1efc998 Author: Mark Brown Date: Tue Nov 3 14:42:11 2009 +0000 ARM: S3C64XX: Separate out regulator and frequency latencies Currently the transition latency reported by the S3C64xx cpufreq driver includes both the time for the CPU to reclock itself and the time for a regulator to change voltage. This means that if a regulator is not in use then the transition latency reported is excessively high. In future the regulator API will be extended to report latencies so the driver will be able to query the performance of a given regulator. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 383af9c2586e0c51e27ed4f186a2f23f8e889054 Author: Mark Brown Date: Tue Nov 3 14:42:07 2009 +0000 ARM: S3C64XX: Provide logging when CPU frequencies are eliminated due to clocks This provides symmetry with the voltage based checks done for the regulator. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 42015c133b74f2f483798d58683ac17b587f7bbb Author: Mark Brown Date: Tue Nov 3 14:42:06 2009 +0000 ARM: SMDK6410: Hook up regulator supplies for WM8580 DVDD is supplied by supplies derived from the PMIC, AVDD and PVDD are supplied from the main wall supply on the base board which runs at 5V. No option is currently supported for running without a PMIC card, the assumption is that the regulator API will be built out when no soft PMIC card is in use. To ease merge issues since this uses the newly added dev_name supply configuration from the regulator API (currently in -next only) the fixed voltage regulator is ifdefed out when the regulator API is not enabled. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 1a71e4ade19d51bab03b6837d4d33a953e4e1206 Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:59 2009 +0100 ARM: H1940: Convert h1940 bluetooth driver to rfkill Better using standard interfaces to enable/disable bluetooth Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks commit 22e649ff2e162d3c6ce2a78c377863aab826a8b8 Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:58 2009 +0100 ARM: H1940: add lcd/backlight device definition Add lcd and backlight device definition. The pwm backlight stuff does not allow to really set maximum pwm as with my custom driver but it's better to use standard driver instead of out of tree driver. Signed-off-by: Arnaud Patard [ben-linux@fluff.org: tidy header] Signed-off-by: Ben Dooks commit 13733d524daadb6127b24b8672a9d47639bf1edf Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:57 2009 +0100 ARM: H1940: enable rtc Enable S3C2410 rtc on h1940 Signed-off-by: Arnaud Patard [ben-linux@fluff.org: tidy header] Signed-off-by: Ben Dooks commit 3909b9f7a3d7271539db491d3a83d47363a1f855 Author: arnaud.patard@rtp-net.org Date: Tue Nov 17 14:54:56 2009 +0100 ARM: H1940: add mmc device Add mmc host support to h1940 Signed-off-by: Arnaud Patard [ben-linux@fluff.org: tidy description] Signed-off-by: Ben Dooks commit 7bcb7eda99f1091055d547aee1a1d8e65b59c592 Author: Ben Dooks Date: Mon Sep 28 16:29:48 2009 +0100 ARM: N30: Use s3c_i2c0_set_platdata() to set I2C platform data Fix mach-n30.c to use the s3c_i2c0_set_platdata() call to register the platform data with the system to get rid of any reliance on having a real device structure available in memory. Since s3c_i2c0_set_platdata() copies the data, mark the original as __initdata so it is thrown away. Signed-off-by: Ben Dooks commit 372359eca4569f9321c820d6e5259e19eb4e63ad Author: Ben Dooks Date: Mon Sep 28 16:20:32 2009 +0100 ARM: AT2440EVB: Remove duplicated s3c_device_sdi.name set The AT2440EVB should not be changing the s3c_device_sdi.name as this is part of the initialisation process done by the CPU detection process and actually present in arch/arm/plat-s3c24xx/s3c24xx.c. Signed-off-by: Ben Dooks commit 2a3a18045b136487b22733d57410e6dccd34ac84 Author: Ben Dooks Date: Mon Sep 28 13:59:49 2009 +0300 ARM: S3C: Add NAND device platform data set call commit ff34aaa9535afc46b017f7a9b553dbf3e0ad5084 Author: Ben Dooks Date: Mon Sep 28 12:45:47 2009 +0900 ARM: H1940: Correct name of the local platform devices for LED and Bluetooth The mach-h1940.c file was using s3c_device_ where it really should be calling these local definitions h1940_device to ensure they are not mistaken for real s3c_devices when the device change is done. Signed-off-by: Ben Dooks commit ccae941ee2de58b9391f4e166b1bad33fcbfc119 Author: Ben Dooks Date: Fri Nov 13 22:54:14 2009 +0000 ARM: S3C: Update Simtec copyright statements from , to - [2] There are a number of statements of the form A, B or A, B, C where the numbers A,B,C are not consecutive. However, referencing [1] it is the correct thing to replace these with A-B or A-C as apropriate. [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4iii 'Year of publication' Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit e02f866456ec31d20649670e3af048ddc2a3892b Author: Ben Dooks Date: Fri Nov 13 22:54:13 2009 +0000 ARM: S3C: Update Simtec copyright statements from , to - There are a number of statements of the form A, B or A, B, C where the numbers A,B,C are consecutive. Tidy these up to be A-B or A-C as appropriate and to comply better with copyright standards [1] [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4iii 'Year of publication' Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 50f430e3ad22191744e61a4d6ff72af583a379c0 Author: Ben Dooks Date: Fri Nov 13 22:54:12 2009 +0000 ARM: S3C: Fix Simtec copyright statements in Documentation/S3C24XX The (c) alone is not a sufficient copyright statement, nor is it a good replacement for the proper encircled © symbol [1]. Add the word copyright to the apropriate places and remove the (c) symbol. [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4 'What does a notice consist of?' Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 95eb56965cb85a5bd357540eaad4d3f722371b91 Author: Ben Dooks Date: Fri Nov 13 22:34:22 2009 +0000 ARM: S3C24XX: Add documentation for arch/arm/plat-s3c24xx/include/plat/mci.h Add documentation for the platform data structure in the SD/MMC driver header file arch/arm/plat-s3c24xx/include/plat/mci.h. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 4fa084af28ca905e91895ae237e6cc4a31d2ff4d Author: Ben Dooks Date: Fri Nov 13 22:34:21 2009 +0000 ARM: OSIRIS: DVS (Dynamic Voltage Scaling) supoort. Add a driver to provide DVS for the Simtec Osiris module to reduce the power consumption whilst idling. The DVS driver alters the voltage supplied to the ARM core depending on the frequency it is running at. The driver itself does not do any of the frequency alteration, which is left up to the cpufreq driver. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 4d3a3469dbabbcff4dab225bc3be0b247b36401c Author: Ben Dooks Date: Fri Nov 13 22:34:20 2009 +0000 ARM: S3C24XX: machine support for Simtec Audio Add the platform/machine support for the audio devices fitted to the Simtec range of boards since the move to ASoC. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks commit 0c31862880c4f8d4a36d3a208e76d45066aeeb88 Author: Kyungmin Park Date: Tue Nov 17 08:41:24 2009 +0100 SMDKC100: add SDHCI controllers 0, 1 and 2 support Add required machine definitions for SDHCI controller 0, 1 and 2. SMDKC100 has 2 SDHCI/MMC ports. Port 1 is directly connected to controller 0. Port 1 can be conntected to controler 1 or 2, depending on jumper setup. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 86cd4f5f83acbfa481c513c74666ad360b49d73b Author: Kyungmin Park Date: Tue Nov 17 08:41:23 2009 +0100 ARM: S5PC1xx: add platform helpers for SDHCI host controllers Samsung S5PC100 has 3 SDHCI controllers compatible with the one known from previous SoCs series. Add required platform setup and support code that the devices can be used with sdhci-s3c driver. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 067f131d09d89bd56864f1f4b3144cc778024b33 Author: Kyungmin Park Date: Tue Nov 17 08:41:22 2009 +0100 SMDKC100: add I2C0 and I2C1 buses support Add required machine definitions for I2C 0 and 1 bus controllers. Currently no I2C device are defined yet. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 5eda288fa96cac0b0f25c90249f5347c6c62da0e Author: Kyungmin Park Date: Tue Nov 17 08:41:21 2009 +0100 ARM: S5PC1xx: add platform helpers for i2c adapter devices Samsung S5PC100 has I2C bus controller compatible with the one known from previous SoCs series. Add required platform setup and support code that it can be used with s3c2410-i2c driver. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 079b03241765f0a31c4bfdefd277452399dbafc9 Author: Kyungmin Park Date: Tue Nov 17 08:41:20 2009 +0100 SMDKC100: enable S3C FrameBuffer Add required machine definitions for s3c-fb device. A 800x480 lcd device (simmilar to the one known from SMDK6410 boards) has been defined. The lcd controller is attached to GPIO lines and can be enabled/disabled with platform-lcd driver. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit edd6e3f89d7fe245149669400bd213140c16d6e4 Author: Pawel Osciak Date: Tue Nov 17 08:41:19 2009 +0100 ARM: S5PC1xx: add platform helpers for s3c-fb device Samsung S5PC100 has LCD-controller compatible with the one known from previous SoCs series. Add required platform setup and support code that it can be used with s3c-fb driver. Signed-off-by: Pawel Osciak Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit d7ab33a0b3511e3d738a7b52f20ee83daede4465 Author: Pawel Osciak Date: Tue Nov 17 08:41:18 2009 +0100 ARM: S3C: Prepare s3c64xx-specific s3c-fb register definition for reuse S5PC1xx Samsung SOC series has very similar frame buffer hardware, so a lot of the code can be shared. Moved s3c64xx-specific s3c-fb register definitions from mach-s3c6400 to common platform directory as regs-fb-v4.h. The new v4 file will be common for S3C6400, S3C6410, S5PC100 and possibly others. Some s3c64xx series specific defines (palette handling) were left in s3c-6400/mach/regs-fb.h, because it is handled differently in S5PC1xx series. Signed-off-by: Pawel Osciak Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit c3fcf5d1a43cc27393f77d07b1323232095173de Author: Kyungmin Park Date: Tue Nov 17 08:41:17 2009 +0100 ARM: S5PC1XX: add cpu idle and system reset support Add CPU idle support by a call to SoC build-in power management core. Add system reset support by a simple write to system controll register. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit b0d5217cfb0a2357ac076977400c648cccff6154 Author: Kyungmin Park Date: Tue Nov 17 08:41:16 2009 +0100 ARM: S5PC1xx: add gpiolib and external/gpio interrupt support Add support for gpiolib calls. This is based on the gpiolib implementation from plat-s3c64xx tree. Add support for external interrupts for GPIO H banks. Add support for GPIO interrupts for all banks. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit d7b9ace51d949e1bfec7f32d21d094cf2c683ca0 Author: Kyungmin Park Date: Tue Nov 17 08:41:15 2009 +0100 ARM: S5PC1XX: GPIO registers rename S5PC100 and S5PC110 GPIO registers differs in many places, rename all previously defined registers to be S5PC100 specific. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 91e7d96e1f1781165a7df97e0dee1d007d3918f8 Author: Kyungmin Park Date: Tue Nov 17 08:41:14 2009 +0100 ARM: S5PC1XX: add GPIO L banks to register definition Add GPIO L0-L4 banks to register definition. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit ff916f25b2890403a9e6c02c98391daeb71ae92a Author: Kyungmin Park Date: Tue Nov 17 08:41:13 2009 +0100 ARM: S5PC1XX: clocks reimplementation Clocks hierarchy has been completely reimplemented to match the S5PC100 specification. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 9ebaf2f4e7090a8c3b0c99419924b1e8f99a07a3 Author: Kyungmin Park Date: Tue Nov 17 08:41:12 2009 +0100 ARM: S5PC1XX: clock registers rename S5PC100 and S5PC110 clock registers differs in many places, rename all previously defined registers to be S5PC100 specific. Remove all power management registers. They will be added later to a separate file. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit b0cc3031ffe1800aa6fe8ab0f55a75939bb265b7 Author: Kyungmin Park Date: Tue Nov 17 08:41:11 2009 +0100 ARM: S5PC1XX: registers rename S5PC110 and S5PC100 register maps differs in many places, rename all defined registers to be S5PC100 specific. PA_SYS register known from S3C64XX series has been renamed to more adequate PA_CLK. Also system map has been also updated to cover more integrated peripherals. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit cf383678242eacd6f92a48314922598ed3408355 Author: Ben Dooks Date: Tue Nov 10 00:14:58 2009 +0000 ARM: SAMSUNG: Add plat-samsung as starting point for plat-s3c* moves We inted to re-organise the plat-s3c/plat-s3c24xx/plat-s3c64xx into a more generic plat-samsung with less code in the other plat- directories to make it easier to port new devices and try and clear up some of the naming issues with newer devices. Start by creating a small arch/arm/plat-samsung with no actuall code in so we can move items in as we process them. Add this to arch/arm to allow it to build things once support is added. Signed-off-by: Ben Dooks commit 19d6c13b56a78b3757e747f469285c2a546d634a Author: Dmitry Artamonow Date: Wed Nov 25 14:33:15 2009 +0300 [ARM] pxa/hx4700: actually use platform_lcd driver Commit e2c509c7e6 ([ARM] pxa/hx4700: use platform_lcd driver) missed to actually register platform device for LCD. It causes following GCC warning: arch/arm/mach-pxa/hx4700.c:553: warning: 'hx4700_lcd' defined but not used Signed-off-by: Dmitry Artamonow Acked-by: Philipp Zabel Signed-off-by: Eric Miao commit 0e85190755f5f336fbd5af01bbffe1f4aacf765a Author: Antonio Ospite Date: Fri Nov 27 21:31:36 2009 +0100 [ARM] pxa/pcm990: don't use pxa_camera init() callback pxa_camera init() is ambiguous, it's better to configure PXA CIF pins statically in machine init function. Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit a7f2bdb39ed67c039ebef49e216e0fa543d6642e Author: Antonio Ospite Date: Fri Nov 27 21:30:23 2009 +0100 [ARM] pxa/em-x270: don't use pxa_camera init() callback pxa_camera init() is ambiguous, it's better to statically configure the sensor. Signed-off-by: Antonio Ospite Acked-by: Mike Rapoport Signed-off-by: Eric Miao commit db205463fd24c0972ad2c4e4fafb1c76e51b4380 Author: Igor Grinberg Date: Tue Nov 10 14:18:41 2009 +0200 [ARM] pxa/cm-x300: add PWM backlight support Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 5fa46fca1c209b9fd1dbfd5bc680a236d9f78d54 Author: Igor Grinberg Date: Wed Oct 14 09:20:27 2009 +0200 [ARM] pxa/cm-x300: update defconfig Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 14fd9e00538fa0271602bb529f094285c6e596d6 Author: Igor Grinberg Date: Wed Oct 14 09:20:25 2009 +0200 [ARM] pxa/cm-x300: update authors and copyright Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 9c017ca1a0782ccfe26bfb36f03a9ba09370d7f7 Author: Igor Grinberg Date: Wed Oct 14 09:20:24 2009 +0200 [ARM] pxa/cm-x300: add da9030 support Register DA9030 PMIC. Use only backlight sub-device for now. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit edaa64c906f1e977396d0bd868079ee632583149 Author: Igor Grinberg Date: Wed Oct 14 09:20:23 2009 +0200 [ARM] pxa/cm-x300: enable USB port 2 for PXA300 Port 2 requires setting of UP2OCR register to function as USB host. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit def8252ddb9bc52434b2ac1d560a609c61849638 Author: Igor Grinberg Date: Wed Oct 14 09:20:22 2009 +0200 [ARM] pxa/cm-x300: add support for PXA310 cpu CM-X300 can be assembled with PXA300 and PXA310 CPU. Provide support for both CPU variants. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit b3d01da66d45504f8bdc6fbc9c0c1f1705ebc251 Author: Igor Grinberg Date: Wed Oct 14 09:20:21 2009 +0200 [ARM] pxa/cm-x300: add Wi2Wi chip (Bluetooth and WiFi) initialization Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 74e74defd6c471fc7ec108e64cb953164940a122 Author: Igor Grinberg Date: Wed Oct 14 09:20:20 2009 +0200 [ARM] pxa/cm-x300: add ac97 controller registration Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 83e560eee12b3215c193338496090838e5f6d1cb Author: Igor Grinberg Date: Wed Oct 14 09:20:19 2009 +0200 [ARM] pxa/cm-x300: add TDO35S lcd support Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 55052ea23d09ebe71ebeadc054e828b37d4e0356 Author: Igor Grinberg Date: Wed Oct 14 09:20:18 2009 +0200 [ARM] pxa/cm-x300: add revision difference handling Different revisions of CM-X300 use different pins for several functions. Make the kernel aware of it. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 3fe6ccffcbc6c79512fe9bea5c10de75ae0c497e Author: Marc Zyngier Date: Sat Nov 14 15:53:14 2009 +0100 [ARM] pxa/viper: convert to use plat_serial8250_port irqflags field Use .irqflags in the plat_serial8250_port structure to set IRQ polarity, and get rid of the corresponding set_irq_type(). Signed-off-by: Marc Zyngier Signed-off-by: Eric Miao commit 2fd8e55e13daecc729e893636a06b5133d872852 Author: Antonio Ospite Date: Wed Nov 4 22:35:01 2009 +0100 [ARM] pxa/ezx: update ezx_defconfig now that ezx-pcap is in Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit 87303b8a9e162e6c9746e3b9dacb40cf3e3e5e62 Author: Antonio Ospite Date: Tue Nov 3 17:45:33 2009 +0100 [ARM] pxa/ezx: add leds-lp3944 support for A910 EZX phone Signed-off-by: Antonio Ospite Signed-off-by: Eric Miao commit 405ac4015a92904b6366db7c6ef21491bdb7e771 Author: Antonio Ospite Date: Thu Nov 12 15:47:04 2009 +0100 [ARM] pxa/ezx: add camera support for A780 and A910 EZX phones Signed-off-by: Bart Visscher Signed-off-by: Antonio Ospite Acked-by: Guennadi Liakhovetski Signed-off-by: Eric Miao commit 0ba01ebcb39aeb27c5a861c80e0b38634d0cb457 Author: Pavel Machek Date: Thu Oct 22 22:16:34 2009 +0200 [ARM] pxa/zaurus: rename spitz_battery_levels_* to sharpsl_* Battery power levels are shared between spitz and corgi, rename variable to reflect it. Signed-off-by: Pavel Machek Signed-off-by: Eric Miao commit b64b0b76cd90406f5411dc29308b9bb83180bfd6 Author: Pavel Machek Date: Thu Oct 22 21:35:33 2009 +0200 [ARM] pxa/zaurus: cleanup sharpsl_pm.c This fixes checkpatch/style problems in sharpsl_pm.c, allowing me to submit real fixes next. Signed-off-by: Pavel Machek Signed-off-by: Eric Miao commit 61333c63005e5708977e309da32c952057ee445b Author: Haojian Zhuang Date: Wed Nov 4 21:58:16 2009 -0500 [ARM] pxa: rename macro from pxa9xx to pxa93x Because original macro can only judge whether current CPU is pxa93x, rename the macro to correct name. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit bf293aec15fb223fd81c0cdfd1829edff95a325b Author: Mike Rapoport Date: Wed Nov 11 11:36:59 2009 +0200 [ARM] pxa: add EXT_WAKEUP interrupts handling for pxa3xx Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 15cc7112abb66e7e1c956135ba2390638acf3416 Author: Eric Miao Date: Mon Nov 9 14:37:59 2009 +0800 [ARM] pxa: make CPU_PXA* to be selectable hidden options CONFIG_CPU_PXA{300,310,320,930,935,950} are really platform dependent and should be made into selectable hidden options. Signed-off-by: Eric Miao commit 9035a9ece9819155ed6a12654ab5d5293d3f2545 Author: Eric Miao Date: Mon Nov 9 14:40:47 2009 +0800 [ARM] pxa: select CPU_PXA310 for MACH_COLIBRI300 MACH_COLIBRI300 is supposed to support both PXA300 and PXA310, select the missing CPU_PXA310. Signed-off-by: Eric Miao Acked-by: Daniel Mack commit 1493df7319e06fb6ae6daa7e0d28355e6e8be1c9 Author: Eric Miao Date: Mon Nov 9 14:25:52 2009 +0800 [ARM] pxa: introduce CONFIG_MACH_ZYLONITE{300,320} for CPU_PXA* removing Signed-off-by: Eric Miao commit cc155c6f2cc705cb082ed676044368424e4b9121 Author: Russell King Date: Mon Nov 9 13:34:08 2009 +0800 [ARM] pxa: allow platforms to control which uarts are registered For some platforms, it is inappropriate to register all PXA UARTs. In some cases, the UARTs may not be used, and in others we may want to avoid registering the UARTs to allow other drivers (eg, FICP) to make use of the UART. In addition, a while back there was a request to be able to pass platform data to the UART driver. This patch enables all of this by providing functions platforms can call to register each individual UART. Signed-off-by: Russell King Acked-by: Mike Rapoport Acked-by: Robert Jarzmik Signed-off-by: Eric Miao commit 7c6ccbf0ddce6d5a1e13e7f50befd864f289e108 Author: Igor Grinberg Date: Wed Nov 4 14:14:40 2009 +0200 [ARM] pxa: add U2D registers and bits definitions This should be eventually moved to somewhere closer to the U2D driver, but is kept here atm so it's easier for USB configuration code to work. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit e68750aea06756bb7dd8d00ef85d3d51c7fd6bc4 Author: Igor Grinberg Date: Wed Nov 4 14:14:39 2009 +0200 [ARM] pxa: register U2D clock for pxa3xx Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 6427d45068dd4357c44a5a623e5efb6990eb43c9 Author: Eric Miao Date: Fri Oct 23 00:09:47 2009 +0800 [ARM] pxa: use platform_device_id table for SSP driver Signed-off-by: Eric Miao commit 4092855d9634fd0cce879b0f47a7e128f86d869e Author: Haojian Zhuang Date: Thu Sep 10 14:01:22 2009 +0800 [ARM] pxa: add apmu clock support in mmp Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 68bef3a7859ebee8bf79a8e6e36369cbbe5903ca Author: Haojian Zhuang Date: Fri Sep 4 17:33:23 2009 +0800 [ARM] pxa: add missing irq events for pxa168 Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit de0710aa81a4663feb4a039973f96cb7a7661496 Author: Eric Miao Date: Mon Oct 12 09:32:07 2009 +0800 [ARM] pxa: re-order platforms in Kconfig and Makefile Due to the naming mess in Kconfig and Makefile, I'd like to get them sorted in the following order: 1. By category: Intel/Marvell Dev Platforms, followed by 3rd party platforms, followed by end-user products (this is to ensure the commonly referenced platforms will appear first) 2. By vendor name in alphabetic within each category (this is to ensure code reuse and similar platforms can be grouped as much as possible) VENDOR BOARD Intel/Marvell Lubbock Intel/Marvell Mainstone Intel/Marvell Zylonite Intel/Marvell Littleton Intel/Marvell TavorEVB Intel/Marvell SAAR Accelent IDP Arcom/Eurotech VIPER Community Balloon3 Cogent CSB726 CompuLab EM_X270 CompuLab EXEDA CompuLab ARMCORE CompuLab CM_X300 Gumstix Gumstix Intel Research MOTE2 Intel research Stargate2 Iskratel XCEP Keith and Koep Trizeps4 LogicPD LPD270 Phytec PCM027 Toradex Colibri HP HX4700 HP H5000 HTC Himalaya HTC Magician Mitac MioA701 Motorola EZX NEC MP900C Palm Palm PDA Palm Palm GSM Sharp Zaurus Toshiba E-Series Signed-off-by: Eric Miao commit d0a92fd3b84bf707f6b32f31d0f09d2b7bb1ad67 Author: Tomáš Čech Date: Fri Sep 11 13:57:02 2009 +0200 [ARM] pxa/treo: add Palm Centro 685 support Signed-off-by: Tomáš Čech Signed-off-by: Eric Miao commit bb2ae8f0325221a2dfd9eb31554f42e9c24abdf2 Author: Tomáš Čech Date: Fri Sep 11 13:57:01 2009 +0200 [ARM] pxa/treo: generalisation of Treo680 code Signed-off-by: Tomáš Čech Acked-by: Marek Vasut Signed-off-by: Eric Miao commit d62238711a0a917ddc6bb47390c7502806c963b1 Author: Haojian Zhuang Date: Fri Nov 20 10:57:16 2009 -0500 [ARM] pxa: update flash structure in onenand info Since flash structure is changed from flash_platform_data to onenand_platform_data in generic driver. Update the struct in saar and ttc platform driver. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit b1e3719e655a74065bdc5ddc58d6f1566dfe8138 Author: Haojian Zhuang Date: Fri Sep 25 13:15:28 2009 -0400 [ARM] pxa: add onenand support for SAAR Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit d6587c34a6de8e2e577dfc149f2d4352752dafdf Author: Haojian Zhuang Date: Wed Sep 23 01:57:35 2009 +0800 [ARM] pxa: add onenand support for TTC-DKB Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit ef559def40cd5861ba2da747747c42c2f7331057 Author: Haojian Zhuang Date: Thu Sep 10 14:37:48 2009 +0800 [ARM] pxa: add nand support in aspensite board Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit a0f266c1fa040e1fe61b51e3de75b6a11e32ceb1 Author: Haojian Zhuang Date: Tue Oct 13 15:24:55 2009 +0800 [ARM] pxa: add nand device and clock for pxa168/pxa910 Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 82b95ecb96122896fd5b7b75001fdda3e047ef38 Author: Haojian Zhuang Date: Thu Sep 10 13:55:23 2009 +0800 pxa3xx_nand: move pxa3xx_nand.h common into plat directory Since the same nand controller is shared between ARCH_PXA and ARCH_MMP. Move the pxa3xx_nand.h from mach directory to plat directoy. Signed-off-by: Haojian Zhuang Cc: David Woodhouse Signed-off-by: Eric Miao commit 171d0fbee2b80cd21ff590449a05a48c1dc917b8 Author: Haojian Zhuang Date: Thu Sep 10 13:49:45 2009 +0800 pxa3xx_nand: update dependancy to support ARCH_MMP MTD_NAND_PXA3xx module is shared between ARCH_PXA and ARCH_MMP. Update this configuration according to it. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit d3490dfdbc453a16bc7f3cff731c9f7851735ab3 Author: Haojian Zhuang Date: Thu Sep 10 14:33:30 2009 +0800 pxa3xx_nand: add new nand chip support Support samsung 2GbX8 and 32GbX8 nand flash. Support micron 4GbX8 and 4GbX16 nand flash. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 346e125967c39fc25263f3071dfc88224ae843f4 Author: Haojian Zhuang Date: Thu Sep 10 14:27:23 2009 +0800 pxa3xx_nand: disable nand irq in initialization In some bootloader, IRQ is enabled. Writing nand triggers unexpected interrupts. So disable nand irq in initialization. After nand initialized and in working state, irq is controlled by nand driver. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit dbf5986aed62620d3dde54e1b63889821c857675 Author: Haojian Zhuang Date: Thu Sep 10 14:22:55 2009 +0800 pxa3xx_nand: remove hardcode irq number Nand driver uses IRQ_NAND as hardcode irq number. In ARCH_MMP, the irq number is different. So get irq resource from platform device structure and use it in initialization and deinitialization code. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 8638fac849c181176324f26b4b82e3b96f378dde Author: Haojian Zhuang Date: Thu Sep 10 14:11:44 2009 +0800 pxa3xx_nand: remove hardcode register address Although nand controller is same between PXA3xx and MMP, the register space is different. Remove the hardcode register address setting in pxa3xx_nand.h. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 726de6e16d88986db3102ebe6ae277f73df63eaf Author: Haojian Zhuang Date: Wed Oct 14 15:47:01 2009 +0800 pxa3xx_nand: adjust timing of Micron NAND flash Slow down the tRp of Micron NAND flash timing. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 7ce33aff68f653769ba16108834ed212788bcbb6 Author: Haojian Zhuang Date: Mon Sep 14 20:21:01 2009 +0800 pxa3xx_nand: reset read buffer before reading Initialize the read buffer content to 0xFF. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit a88bdbb54a9352b916877bfc5e316c44ec1b2d8f Author: Haojian Zhuang Date: Fri Sep 11 19:33:58 2009 +0800 pxa3xx_nand: fix memory out of bound When fetch nand data with non-DMA mode, we should align info->data_size to 32bit, not 8bit. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 70c7d2dd276dfb6aa802186a2be4efe80d380d15 Author: Haojian Zhuang Date: Thu Nov 5 10:31:01 2009 -0500 [ARM] pxa/saar: set default WLED output current Set default WLED output current in saar. Otherwise, LCD backlight won't be effective. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit b3a8549593696f5f3efcdbf280e2c8e0fe894855 Author: Haojian Zhuang Date: Thu Nov 5 10:27:13 2009 -0500 backlight: da903x_bl: control WLED output current in da9034 Update WLED output current source before changing brightness. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit f64dcac0b1247842db2530959cbe3df1cb1947c4 Author: Mike Rapoport Date: Tue Nov 24 10:25:33 2009 +0200 backlight: tdo24m: ensure chip select changes between transfers Some SPI host drivers do not change chip select betwen transfers unless .cs_chnage field is explicitly set. The LCD spec requires chip select change between consecuitive transfers, so ensure it at the SPI driver level. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit fa3f99384c20751c66962848807403ff171dc02f Author: Haojian Zhuang Date: Mon Aug 31 21:52:53 2009 +0800 pxamci: introduce mmc_has_26mhz() and include pxa935 Along with more processor supporting 26MHz mode (including pxa935), introduce an individual macro mmc_has_26mhz() for this. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit c41562b1626b578e9ce2aae5b3363ee2f142c635 Author: Jun Nie Date: Tue Nov 10 15:11:36 2009 +0800 pxa168fb: remove useless vsync/hsync invert flag fb_var_screeninfo.var has already encoded this information. Signed-off-by: Jun Nie Signed-off-by: Eric Miao commit a291ea217ca88dc6f0343f6bea9bb4a35bb08848 Author: Jun Nie Date: Tue Nov 10 09:33:49 2009 +0800 pxa168fb: fix offset setting at initialization Signed-off-by: Jun Nie Signed-off-by: Eric Miao commit 049ad833b1e52f6edeb675c744547167bf76ab2c Author: Pieter Grimmerink Date: Fri Nov 13 10:28:54 2009 +0100 pxafb: add transparency field to pxafb_mode_info struct This allows to select either RGB565 (transparency 0) or RGBT555 (transparency 1) from the mode info Signed-off-by: Pieter Grimmerink Signed-off-by: Eric Miao commit 448ac479768d6c242338ecf13569dc297f8908ce Author: Sven Neumann Date: Thu Oct 22 08:34:34 2009 +0200 pxafb: use passed fb_var_screeninfo struct in pxafb_pan_display() pxafb_pan_display() used to ignore the fb_var_screeninfo parameter. Now pass it to setup_base_frame() instead of pulling default values out of fb_info. And the original patch has an issue of pxafb_pan_display() paying only attention to the 'var' parameter passed in, and Ville Syrjälä pointed out, this is potentially dangerous as user could pass in any other screeninfo parameters as well, and not only such that are relevant for display panning. This is fixed by limiting the arguments actually used to .xoffset, .yoffset and .vmode & FB_VMODE_YWRAP. Signed-off-by: Sven Neumann Cc: Ville Syrjälä Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 1fdf475aa141a669af8db6ccc7015f0b725087de Author: Eric Dumazet Date: Mon Nov 30 12:53:30 2009 -0800 tcp: tcp_disconnect() should clear window_clamp NFS can reuse its TCP socket after calling tcp_disconnect(). We noticed window scaling was not negotiated in SYN packet of next connection request. Fix is to clear tp->window_clamp in tcp_disconnect(). Reported-by: Krzysztof Oledzki Tested-by: Krzysztof Oledzki Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9eaa192d8988d621217a9e6071cd403fd6010496 Author: Helight.Xu Date: Mon Nov 30 18:33:51 2009 +0800 x86: Fix a section mismatch in arch/x86/kernel/setup.c copy_edd() should be __init. warning msg: WARNING: vmlinux.o(.text+0x7759): Section mismatch in reference from the function copy_edd() to the variable .init.data:boot_params The function copy_edd() references the variable __initdata boot_params. This is often because copy_edd lacks a __initdata annotation or the annotation of boot_params is wrong. Signed-off-by: ZhenwenXu LKML-Reference: <4B139F8F.4000907@gmail.com> Signed-off-by: H. Peter Anvin commit 854206b074581957e7b5c955001c329f94986b4c Author: Takashi Iwai Date: Mon Nov 30 18:22:04 2009 +0100 ALSA: hda - Fix Cxt5047 test mode The NID 0x1a of Conexant 5047 chip is a mic boost volume only with the output amp unlike 5045 chip. Signed-off-by: Takashi Iwai commit a649d1fcc9bd2299cb06b6594fabb429fa50f174 Author: Daniel Mack Date: Mon Nov 30 14:06:37 2009 +0100 ASoC: pxa/raumfeld: adopt new snd_soc_dai_set_pll() API ALSA's for-2.6.33 branch has a new source argument to snd_soc_dai_set_pll(). Signed-off-by: Daniel Mack Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 785d1c45ce11820d5838eb6399caa0ac98c836cf Author: Kuninori Morimoto Date: Mon Nov 30 20:24:48 2009 +0900 ASoC: sh: fsi: Add runtime PM support This patch add support runtime PM. Driver callbacks for Runtime PM are empty because the device registers are always re-initialized after pm_runtime_get_sync(). The Runtime PM functions replaces the clock framework module stop bit handling in this driver. Signed-off-by: Kuninori Morimoto Acked-by: Paul Mundt Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d53bd80cb32d917e224b19925bb8f500941a3659 Author: Kuninori Morimoto Date: Mon Nov 9 11:12:49 2009 +0900 sh: ms7724se: Add runtime PM support for FSI Signed-off-by: Kuninori Morimoto Acked-by: Paul Mundt Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 45d4ebf1a6255f2234a041685789cbecac3453f1 Author: Takashi Iwai Date: Mon Nov 30 11:58:30 2009 +0100 ALSA: hda - Add a position_fix quirk for MSI Wind U115 MSI Wind U115 seems to require position_fix=1 explicitly. Otherwise it screws up PulseAudio. Signed-off-by: Takashi Iwai commit 306ecee926cf79f1b3b5f6035be09ef3d83f1b76 Author: Krzysztof Helt Date: Mon Nov 30 07:46:56 2009 +0100 ALSA: opti-miro: add PnP detection The PCM12 and PCM20 can be set into the ISA PnP mode. The PCM12 PnP was sold as the PnP device. Add code to handle detection of these cards using ISA PnP framework. Tested on the PCM20 in PnP mode. The PCM12 PnP has the same MS Windows INF file except for a card name displayed for user. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 70a5f1187bcb3fac93a7d5c5fcfc5fc76b9c3f55 Author: Krzysztof Helt Date: Mon Nov 30 07:45:47 2009 +0100 ALSA: opti-miro: separate comon probing code Separate common probing code in order to use it for PnP probing. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9c2daf15ac5aba3c7897540c3b606e54550d9c8f Author: Harro Haan Date: Fri Nov 27 11:44:36 2009 +0100 mx35: add usb gadget support in mx35pdk.c Signed-off-by: Harro Haan Signed-off-by: Sascha Hauer commit 3e9a23dbaf581978d6e3eb8c92329ea622fce8ba Author: Harro Haan Date: Fri Nov 27 11:44:35 2009 +0100 mx35: register usb_ahb clock in clock-imx35.c Signed-off-by: Harro Haan Signed-off-by: Sascha Hauer commit 464191c65b85a8ec68a6e1a6293af625287c807e Author: Jens Axboe Date: Mon Nov 30 09:38:13 2009 +0100 Revert "cfq: Make use of service count to estimate the rb_key offset" This reverts commit 3586e917f2c7df769d173c4ec99554cb40a911e5. Corrado Zoccolo correctly points out, that we need consistency of rb_key offset across groups. This means we cannot properly use the per-service_tree service count. Revert this change. Signed-off-by: Jens Axboe commit 8ea339adc0a48236008e59dd21564d71c37b331c Author: Tom Zanussi Date: Mon Nov 30 01:18:49 2009 -0600 perf trace/scripting: Add Fedora libperl install note to doc Fedora needs perl-ExtUtils-Embed for Perl scripting, which also brings along libperl-devel; note this info for the convenience of Fedora users. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-5-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 61381de0504181368672a83d2e14c38dbaf3c136 Author: Tom Zanussi Date: Mon Nov 30 01:18:48 2009 -0600 perf trace/scripting: Fix Perl common_* access functions The common_* functions (e.g. common_pc(), etc) are exported as common_* but named get_common_*, resulting in unresolved subroutine errors when executing scripts. Make the internal and external names match. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-4-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit e136323c5a8a7d91d17c5b7b340758bb9dd33739 Author: Tom Zanussi Date: Mon Nov 30 01:18:47 2009 -0600 perf trace/scripting: Ignore shadowed variable warning for perf-trace-perl.c The debugging versions of the ENTER and LEAVE internal perl macros, used when embedding perl, define a local block with a my_perl perl variable that shadows a global variable of the same name, which is also the name expected by the embedding API for the embedded interpreter. Since we don't have control over the code generated in this case (it's an externality) and can't get rid of the warning, ignore it. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit f8be4231f82ab56a87ce74906671afbe1aa9ec75 Author: Tom Zanussi Date: Mon Nov 30 01:18:46 2009 -0600 perf trace/scripting: Silence PERL_EMBED_* backtick errors The backtick shell substitutions for PERL_EMBED_LDOPT/CCOPT make a lot of noise on stderr if Embed.pm isn't installed - this silences them. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259565529-6407-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 6f7ad1e3a24a64923538557b686d24c37b26f9d8 Author: Rudy Matela Date: Sun Nov 29 23:42:42 2009 -0800 wan: Coding style correction in HDLC/Frame Relay support routines Added a space separating some if keywords from the following parenthesis to conform to the CodingStyle. Signed-off-by: Rudy Matela Signed-off-by: David S. Miller commit 48b3d3efbd200ede1a4170bbcd81c062306a1907 Author: Rudy Matela Date: Sun Nov 29 23:42:14 2009 -0800 wan: Frame Relay/DLCI coding style corrections. Added a space separating some keywords (if/while) from the following parenthesis to conform to the CodingStyle. Signed-off-by: Rudy Matela Signed-off-by: David S. Miller commit e7473f12be7712aafe6df163222f26caadee1175 Author: Amit Kumar Salecha Date: Sun Nov 29 21:54:55 2009 -0800 netxen: fix merge 9b963e5d0e01461099a Patch "fix memory initialization:5d521fd36de4e61" didn't got merge. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 7f49a7f7011f3a59b51dd6003714d7aed72d7718 Author: Jonathan Cameron Date: Thu Oct 15 16:39:30 2009 +0100 MAINTAINERS: Add entries for IMote 2 and Stargate 2 Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 906bb26c0624d87df74e6642f2d74cde176fcc12 Author: Ben Hutchings Date: Sun Nov 29 15:16:19 2009 +0000 sfc: Update version, copyright dates, authors This driver has been mostly rewritten since Michael Brown's initial work, so swap the order of the authors. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 738a8f4b0c0e6ce7260e1514d41c764f334982e4 Author: Ben Hutchings Date: Sun Nov 29 15:16:05 2009 +0000 sfc: Implement TSO for TCP/IPv6 Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8880f4ec21e668dcab3c6d387524a887e5bcbf73 Author: Ben Hutchings Date: Sun Nov 29 15:15:41 2009 +0000 sfc: Add support for SFC9000 family (2) This integrates support for the SFC9000 family of 10G Ethernet controllers and LAN-on-motherboard chips, starting with the SFL9021 'Siena' and SFC9020 'Bethpage'. Credit for this code is largely due to my colleagues at Solarflare: Guido Barzini Steve Hodgson Kieran Mansley Matthew Slattery Neil Turton Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit afd4aea03f597f29421dc5767e7d1f754730ec23 Author: Ben Hutchings Date: Sun Nov 29 15:15:25 2009 +0000 sfc: Add support for SFC9000 family (1) This adds support for the SFC9000 family of 10G Ethernet controllers and LAN-on-motherboard chips, starting with the SFL9021 'Siena' and SFC9020 'Bethpage'. The SFC9000 family is based on the SFC4000 'Falcon' architecture, but with some significant changes: - Two ports are associated with two independent PCI functions (except SFC9010) - Integrated 10GBASE-T PHY(s) (SFL9021/9022) - MAC, PHY and board peripherals are managed by firmware - Driver does not require board-specific code - Firmware supports wake-on-LAN and lights-out management through NC-SI - IPv6 checksum offload and RSS - Filtering by MAC address and VLAN (not included in this code) - PCI SR-IOV (not included in this code) Credit for this code is largely due to my colleagues at Solarflare: Guido Barzini Steve Hodgson Kieran Mansley Matthew Slattery Neil Turton Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f0d37f4228e440597d5d56c31292e2e1639c7539 Author: Steve Hodgson Date: Sun Nov 29 15:15:07 2009 +0000 sfc: Add firmware protocol definitions (MCDI) Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8e730c15e1560415f33d7301b617be26050ffb86 Author: Ben Hutchings Date: Sun Nov 29 15:14:45 2009 +0000 sfc: Move shared NIC code from falcon.c to new source file nic.c Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 744093c98363f8a65853aed39708c9effc80f8ff Author: Ben Hutchings Date: Sun Nov 29 15:12:08 2009 +0000 sfc: Rename falcon.h to nic.h nic.h is no longer specific to Falcon. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c383b53729a9bbbceee132a85955d084ba00ca3a Author: Ben Hutchings Date: Sun Nov 29 15:11:02 2009 +0000 sfc: Allow for additional checksum offload features Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 76884835684411264cda2f15585261eb02183541 Author: Ben Hutchings Date: Sun Nov 29 15:10:44 2009 +0000 sfc: Extend MTD driver for use with new NICs In new NICs flash is managed by firmware and we will use high-level operations on partitions rather than direct SPI commands. Add support for multiple MTD partitions per flash device and remove the direct link between MTD and SPI devices. Maintain a list of MTD partitions in struct efx_nic. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c1c4f453b61463df4df16f7aa5782fc0cfe05b9e Author: Ben Hutchings Date: Sun Nov 29 15:08:55 2009 +0000 sfc: Remove static PHY data and enumerations New NICs have firmware managing the PHY, and we will discover the PHY capabilities at run-time. Replace the static data with probe() and test_name() operations. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e58f69f4082f60076885798fae8f3a17ea713bf6 Author: Ben Hutchings Date: Sun Nov 29 15:08:41 2009 +0000 sfc: Extend loopback mode enumeration New NICs and PHYs support a wider variety of loopback modes. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5784946068f81c5f1cce2906a7655652e34f44f3 Author: Ben Hutchings Date: Sun Nov 29 15:08:21 2009 +0000 sfc: Fold falcon_probe_nic_variant() into falcon_probe_nic() falcon_probe_nic_variant() does a lot less than it used to, and a lot less than it claims to. Fold the remainder into its caller. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0ccfe64d3f177a61a071b7a6fa363f0a292158c4 Author: Denis Kirjanov Date: Sun Nov 29 17:04:31 2009 -0800 mv643xx: convert to netdev_tx_t Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller commit f64f9e719261a87818dd192a3a2352e5b20fbd0f Author: Joe Perches Date: Sun Nov 29 16:55:45 2009 -0800 net: Move && and || to end of previous line Not including net/atm/ Compiled tested x86 allyesconfig only Added a > 80 column line or two, which I ignored. Existing checkpatch plaints willfully, cheerfully ignored. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 152b6a62aea2d43359dd37004e9c218bf7bdeb3b Author: Ben Hutchings Date: Sun Nov 29 03:43:56 2009 +0000 sfc: Separate shared NIC code from Falcon-specific and rename accordingly Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 06629f07248b259e08a6e4089fbe6aa3f98dfbe6 Author: Ben Hutchings Date: Sun Nov 29 03:43:43 2009 +0000 sfc: Add efx_nic_type operation for identity LED control Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0aa3fbaa3f2d29a14231ebb0c8e521c23701d41f Author: Ben Hutchings Date: Sun Nov 29 03:43:33 2009 +0000 sfc: Add efx_nic_type operation for NVRAM self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9bfc4bb1f9b5863b177752b88e8bfa364e83a4fa Author: Ben Hutchings Date: Sun Nov 29 03:43:23 2009 +0000 sfc: Add efx_nic_type operation for register self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit eb9f6744cbfa97674c13263802259b5aa0034594 Author: Ben Hutchings Date: Sun Nov 29 03:43:15 2009 +0000 sfc: Implement ethtool reset operation Refactor efx_reset_down() and efx_reset_up() accordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 89c758fa47b54d8ce10d2b39ed09de6da0ba4324 Author: Ben Hutchings Date: Sun Nov 29 03:43:07 2009 +0000 sfc: Add power-management and wake-on-LAN support Wake-on-LAN is a stub for Falcon, but will be implemented fully for new NICs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 78c1f0a06551f6ff61bfd7c1a9302115a8135a62 Author: Steve Hodgson Date: Sun Nov 29 03:43:00 2009 +0000 sfc: Generalise link state monitoring Use the efx_nic_type::monitor operation or event handling as appropriate. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d3245b28ef2a45ec4e115062a38100bd06229289 Author: Ben Hutchings Date: Sun Nov 29 03:42:41 2009 +0000 sfc: Refactor link configuration Refactor PHY, MAC and NIC configuration operations so that the existing link configuration can be re-pushed with: efx->phy_op->reconfigure(efx); efx->mac_op->reconfigure(efx); and a new configuration with: efx->nic_op->reconfigure_port(efx); (plus locking and error-checking). We have not held the link settings in software (aside from flow control), and have relied on asking the hardware what they are. This is a problem because in some cases the hardware may no longer be in a state to tell us. In particular, if an entire multi-port board is reset through one port, the driver bindings to other ports have no chance to save settings before recovering. We only actually need to keep track of the autonegotiation settings, so add an ethtool advertising mask to struct efx_nic, initialise it in PHY init and update it as necessary. Remove now-unneeded uses of efx_phy_op::{get,set}_settings() and struct ethtool_cmd. Much of this was done by Steve Hodgson . Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ef2b90ee4dba7a3d9001f1f0003b860b39a4aaae Author: Ben Hutchings Date: Sun Nov 29 03:42:31 2009 +0000 sfc: Move Falcon NIC operations to efx_nic_type This is preparation for adding differing implementations for new NICs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4b0d29dcfca9eafbf6e940862ab022df3ef2dd6f Author: Ben Hutchings Date: Sun Nov 29 03:42:18 2009 +0000 sfc: Turn pause frame generation on and off at the MAC, not the RX FIFO Pause frame generation is gated by both RX_XOFF_MAC_EN and an enable bit in each MAC. RX_XOFF_MAC_EN bit always reads back as 0 so we need to set it correctly every time we modify RX_CFG_REG. Simplify this by always setting it to 1 and only changing the enable bits in the MACs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 674979d33566ab7e524e25fdc227923e27a3fb78 Author: Ben Hutchings Date: Sun Nov 29 03:42:10 2009 +0000 sfc: Remove duplicate hardware structure definitions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 39e60212087a36a53daca3904563012ccaf6e92d Author: Ben Hutchings Date: Sun Nov 29 03:42:03 2009 +0000 sfc: Remove redundant writes to INT_ADR_KER This register only needs to be written after reset, not each time we enable interrupts. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8e7cac79808b62f242069a6ac88d364d35621371 Author: Avi Kivity Date: Sun Nov 29 16:34:48 2009 +0200 core: Fix user return notifier on fork() fork() clones all thread_info flags, including TIF_USER_RETURN_NOTIFY; if the new task is first scheduled on a cpu which doesn't have user return notifiers set, this causes user return notifiers to trigger without any way of clearing itself. This is easy to trigger with a forky workload on the host in parallel with kvm, resulting in a cpu in an endless loop on the verge of returning to userspace. Fix by dropping the TIF_USER_RETURN_NOTIFY immediately after fork. Signed-off-by: Avi Kivity LKML-Reference: <1259505288-16559-1-git-send-email-avi@redhat.com> Signed-off-by: Ingo Molnar commit 3291b9db567e1ec38362024049cbd02987b1e277 Author: Eric Dumazet Date: Sun Nov 29 00:44:33 2009 -0800 pktgen: NUMA aware pktgen threads are bound to given CPU, we can allocate memory for these threads in a NUMA aware way. After a pktgen session on two threads, we can check flows memory was allocated on right node, instead of a not related one. # grep pktgen_thread_write /proc/vmallocinfo 0xffffc90007204000-0xffffc90007385000 1576960 pktgen_thread_write+0x3a4/0x6b0 [pktgen] pages=384 vmalloc N0=384 0xffffc90007386000-0xffffc90007507000 1576960 pktgen_thread_write+0x3a4/0x6b0 [pktgen] pages=384 vmalloc N1=384 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9b963e5d0e01461099a40117b05480f24b63381f Merge: 3b8626b 5fdd4ba Author: David S. Miller Date: Sun Nov 29 00:57:15 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/ieee802154/fakehard.c drivers/net/e1000e/ich8lan.c drivers/net/e1000e/phy.c drivers/net/netxen/netxen_nic_init.c drivers/net/wireless/ath/ath9k/main.c commit 3b8626ba01a8a745a3fdf22dd347edd708b0af13 Author: PJ Waskiewicz Date: Wed Nov 25 00:11:54 2009 +0000 ixgbe: Display currently attached PHY through ethtool This patch extends the ethtool interface to display what PHY is currently connected to a NIC. The results can be viewed in ethtool ethX output. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5789d290cda6854b03986031df02b965572279df Author: PJ Waskiewicz Date: Wed Nov 25 00:11:30 2009 +0000 ethtool: Add Direct Attach support to connector port reporting This patch allows a base driver to specify Direct Attach as the type of port through the ethtool interface. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 91152c3242f32d3b68396c26c638250d2a00eb05 Author: Shannon Nelson Date: Tue Nov 24 18:52:10 2009 +0000 ixgbe: Fix Receive Address Register (RAR) cleaning and accounting This fixes an issue when clearing out the RAR entries. If RAR[0] is the only address in use, don't clear the others. Signed-off-by: Shannon Nelson Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 000c486ddae850106a29e45a5d660dff49ad566a Author: Don Skidmore Date: Tue Nov 24 18:51:48 2009 +0000 ixgbe: LINKS2 is not a valid register for 82598 82598 shouldn't try and access LINKS2 while configuring link and flow control. This is an 82599-only register. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9bbe3a570b4984ff2e90014074ba3a06a05384a0 Author: PJ Waskiewicz Date: Tue Nov 24 18:51:28 2009 +0000 ixgbe: Disable Flow Control for certain devices Flow Control autoneg should be disabled for certain adapters that don't support autonegotiation of Flow Control at 10 gigabit. These interfaces are the 10GBASE-T devices, CX4, and SFP+, all running at 10 gigabit only. 1 gigabit is fine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cfb3f91af49dff9b50de6929dc4de06100c4cfa8 Author: Shannon Nelson Date: Tue Nov 24 18:51:06 2009 +0000 ixgbe: handle parameters for tx and rx EITR, no div0 The driver was doing a divide by zero when adjusting tx-usecs. This patch removes the divide by zero code and changes the logic slightly to ignore tx-usecs in the case of shared TxRx vectors. Cc: Jesse Brandeburg Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 429d33ace5ce6122817f8abe9d170eaa55dc3af9 Author: andrew hendry Date: Tue Nov 24 15:16:05 2009 +0000 X25: Fix oops and refcnt problems from x25_dev_get Calls to x25_dev_get check for dev = NULL which was not set. It allowed x25 to set routes and ioctls on down interfaces. This caused oopses and refcnt problems on device_unregister. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 1fd975a0520cdb27681855d5a18526e328d36b5c Author: andrew hendry Date: Tue Nov 24 15:15:42 2009 +0000 X25: Check for errors in x25_init Adds error checking to x25_init. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 2f5517aefcfbdd7fdf0f03b13d292a10d445887f Author: andrew hendry Date: Tue Nov 24 15:15:26 2009 +0000 X25: Move SYSCTL ifdefs into header Moves the CONFIG_SYSCTL ifdefs in x25_init into header. Signed-off-by: Andrew Hendry Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 9f950f72e57fe4bf9b16ace67e4cc5ffcee79d00 Author: Kevin Hilman Date: Tue Nov 24 12:57:47 2009 +0000 NET: smc91x: convert to dev_pm_ops Convert smc91x driver from legacy PM hooks over to using dev_pm_ops. Tested on OMAP3 platform. Signed-off-by: Kevin Hilman Acked-by: Nicolas Pitre Signed-off-by: David S. Miller commit 5656b6ca19c602a7074effae360e5a4dcfdc8170 Merge: c1ac403 4814326 Author: David S. Miller Date: Sun Nov 29 00:16:22 2009 -0800 Merge branch 'net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev commit c1ac403bfa240617da2bce861ea5c3a907a65612 Author: Ben Hutchings Date: Sat Nov 28 05:36:29 2009 +0000 sfc: Clean up RX event handling Add 'likely' hint to test of rx_checksum_enabled. Don't count IP fragments; the IP stack can do that. Do count non-matching multicast packets. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0228f5cdb03f6656247cf2876f9f4f8fc213ffd6 Author: Ben Hutchings Date: Sat Nov 28 05:36:12 2009 +0000 sfc: Move descriptor cache base addresses to struct efx_nic_type Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit daeda6309e1382819a8f8bab548560742ac26cc2 Author: Ben Hutchings Date: Sat Nov 28 05:36:04 2009 +0000 sfc: Decouple NIC revision number from Falcon PCI revision number Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 299f8d69f3590fdbd7b22880234196de3b39ceca Author: Ben Hutchings Date: Sat Nov 28 05:35:36 2009 +0000 sfc: Remove some redundant whitespace Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 45d03e59b39ceef9f05b8622a94aa7235003a2c9 Author: Ben Hutchings Date: Sat Nov 28 05:35:30 2009 +0000 sfc: Remove another unused workaround macro Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0589ece031e31a238e60057ef2abfa1ff18d46d0 Author: Matthew Slattery Date: Sat Nov 28 05:35:24 2009 +0000 sfc: Remove EFX_WORKAROUND_9141 macro The "bug9141 workaround" of setting TX_FLUSH_MIN_LEN_EN should really be considered as a normal bit of configuration rather than a workaround. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fb45f2c154be470ad950bcf16f3662ec0ca48695 Author: Ben Hutchings Date: Sat Nov 28 05:35:09 2009 +0000 sfc: Limit some hardware workarounds to Falcon Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b895d73e9836fccc402e48a8f63e6805d2edc87b Author: Steve Hodgson Date: Sat Nov 28 05:35:00 2009 +0000 sfc: Always start Falcon using the XMAC The strap bits are only important on Falcon A and all production boards using it have fixed-speed 10G PHYs. Replace dummy MAC operations with default MAC operations. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ab86746175a5e1379abb9c7c38522af4d3176f57 Author: Steve Hodgson Date: Sat Nov 28 05:34:44 2009 +0000 sfc: Replace MDIO spinlock with mutex We never use MDIO in atomic context, so we don't need to spin. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 47c3d19f60da7cc018781744b1ffb3b557373e7f Author: Steve Hodgson Date: Sat Nov 28 05:34:29 2009 +0000 sfc: QT202x: Reset before reading PHY id Reading standard registers on the QT2025C before its firmware has booted may cause the boot process to fail. Therefore, follow the recommended reset sequence before reading its id registers. Either order works for the QT2022C2, so don't differentiate. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fdaa9aed21c8c8b529f3c94a5ffa138bf3360b75 Author: Steve Hodgson Date: Sat Nov 28 05:34:05 2009 +0000 sfc: Simplify PHY polling Falcon can generate events for LASI interrupts from the PHY, but in practice we have never implemented this in reference designs. Instead we have polled, inserted the appropriate events, and then handled the events later. This is a waste of time and code. Instead, make PHY poll functions update the link state synchronously and report whether it changed. We can still make use of the LASI registers as a shortcut on the SFT9001. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9bf22f2c4607dbb68beb26153d83fa52b82e2d2f Author: Samuel Ortiz Date: Wed Nov 25 00:02:26 2009 +0100 iwmc3200wifi: Implement cfg80211 PMKSA API We need to implement the PMKSA API for proper WPA2 pre-auth and fast re-association. Our fullmac device generates all (re-)assoc IEs, and thus it needs the right PMKIDs. With this implementation we now get them from wpa_supplicant. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 2944b2c2d2dd884c550163c698577132588277d8 Author: Samuel Ortiz Date: Wed Nov 25 00:01:01 2009 +0100 cfg80211: Add PMKSA wext compatibility handler With the addition of the *_pmksa cfg80211 ops, we can now add the corresponding wireless extensions compatibility handler. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 67fbb16be69d138a3b6645ec5395b487cb915c58 Author: Samuel Ortiz Date: Tue Nov 24 23:59:15 2009 +0100 nl80211: PMKSA caching support This is an interface to set, delete and flush PMKIDs through nl80211. Main users would be fullmac devices which firmwares are capable of generating the RSN IEs for the re-association requests, e.g. iwmc3200wifi. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit a830df0714117574fd0d5fe98477059b3e9fd5bf Author: Felix Fietkau Date: Mon Nov 23 22:33:27 2009 +0100 ath9k: separate debugfs support from CONFIG_ATH_DEBUG In my setups, ath9k's debugfs files are most of the time much more useful than the messages generated by enabling CONFIG_ATH_DEBUG along with the right debug flags. Since CONFIG_ATH_DEBUG comes with a noticeable overhead on embedded systems, this patch makes it possible to use the debugfs files without that option. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f911ab83a2c07118dc605d643545647cef6f2322 Author: Johannes Berg Date: Wed Nov 25 19:07:20 2009 +0100 mac80211: log more data when tracing Enable logging of more configuration data when tracing is enabled. Except for the channel frequency this is only useful with the binary trace format, but that can be recorded and replayed with trace-cmd and I will be working on a plugin that reports all the information. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2569a826de16ff82302a8a091228275be1aa911c Author: Johannes Berg Date: Wed Nov 25 17:46:17 2009 +0100 mac80211: correctly place aMPDU RX reorder code As indicated by the comment, the aMPDU RX reorder code should logically be after ieee80211_rx_h_check(). The previous patch moved the code there, and this patch now hooks it up in that place by introducing a list of skbs that are then processed by the remaining handlers. The list may be empty if the function is buffering the skb to release it later. The only change needed to the RX data is that the crypto handler needs to clear the key that may be set from a previous loop iteration, and that not everything can be in the rx flags now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1edfb1afba2f6e4114ff09f2e3bc948fcae0c419 Author: Johannes Berg Date: Wed Nov 25 17:46:16 2009 +0100 mac80211: move aMPDU RX reorder code This code should be part of RX handlers, so move it to the place where it belongs without changing it. A follow-up patch will do the changes to hook it up. The sole purpose of this code move is to make the other patch readable, it doesn't change the code at all except that it now requires a different static function declaration (which will go away too). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8c0c709eea5cbab97fb464cd68b06f24acc58ee1 Author: Johannes Berg Date: Wed Nov 25 17:46:15 2009 +0100 mac80211: move cmntr flag out of rx flags The RX flags should soon be used only for flags that cannot change within an a-MPDU, so move the cooked monitor flag into the RX status flags. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e60d7443e00a72a2c056950cdaab79c7b077f3d4 Author: Alban Browaeys Date: Wed Nov 25 15:13:00 2009 +0100 wireless : use a dedicated workqueue for cfg80211. This patch moves the works cleanup, scan and events to a cfg80211 dedicated workqueue. Platform driver like eeepc-laptop ought to use works to rfkill (as new rfkill does lock in rfkill_unregister and the platform driver is called from rfkill_switch_all which also lock the same mutex). This raise a new issue in itself that the work scheduled by the platform driver to the global worqueue calls wiphy_unregister which flush_work scan and event works (which thus flush works on the global workqueue inside a work on the global workqueue) and also put on hold the wdev_cleanup_work (which prevents the dev_put on netdev thus indefinite Usage count error on wifi device). Signed-off-by: Johannes Berg Signed-off-by: Alban Browaeys Signed-off-by: John W. Linville commit ece1e3c61e59ba184150e5aff57bbc6355613e3e Author: Holger Schurig Date: Wed Nov 25 13:11:16 2009 +0100 libertas: move mesh command handling into mesh.c Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c7fe64cf4a08561a9e8f57e6018a504881236e34 Author: Holger Schurig Date: Wed Nov 25 13:10:49 2009 +0100 libertas: move mesh-only ethtool operations into mesh.c Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e0e42da3a4df6f487b59dad608db56e25001bcdb Author: Holger Schurig Date: Wed Nov 25 13:10:15 2009 +0100 libertas: moveing mesh-related functions into mesh.c This moves mesh initialization, start/stop and rx/tx handling from into mesh.c. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 5e8e8b5759566b76bdf36046ae015796676a423c Author: Holger Schurig Date: Wed Nov 25 13:09:32 2009 +0100 libertas: introduce mesh.h Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 76bae570899be34317510d8006d490572152bdfb Author: Holger Schurig Date: Wed Nov 25 13:08:55 2009 +0100 libertas: rename persistcfg.c -> mesh.c mesh.c will be the file where we concentrate all mesh-related code. This allows us to either add a KConfig entry for mesh and makes matters easier for the cfg80211 transition. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b8d83392980b65ea548cbf2b1c7c542b51961166 Author: Alexey Dobriyan Date: Wed Nov 25 10:14:12 2009 +0300 ipw2x00: convert to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: John W. Linville commit 83daee06adeed7b294802c998d5e03ea7d856aa1 Author: Alexey Dobriyan Date: Wed Nov 25 10:12:20 2009 +0300 ray_cs: convert to proc_fops Signed-off-by: Alexey Dobriyan Signed-off-by: John W. Linville commit 94db29368a658b13a088db87c7b0bf59b1a7492d Author: Vivek Natarajan Date: Wed Nov 25 12:01:54 2009 +0530 ath9k: Ensure a fair beacon distribution in IBSS mode. Update the beacon queue parameters with best effort queue parameters for IBSS mode. This reduces the number of beacons generated by ath9k and ensures a fair beacon distribution when there are multiple IBSS stations. Also CWmin is quadrupled to achieve the expected percentage of distribution. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit f4709fdf683e1ed37b321c258b614ebe39752bf3 Author: Luis R. Rodriguez Date: Tue Nov 24 21:37:57 2009 -0500 ath9k: Fix maximum tx fifo settings for single stream devices Atheros single stream AR9285 and AR9271 have half the PCU TX FIFO buffer size of that of dual stream devices. Dual stream devices have a max PCU TX FIFO size of 8 KB while single stream devices have 4 KB. Single stream devices have an issue though and require hardware only to use half of the amount of its capable PCU TX FIFO size, 2 KB and this requires a change in software. Technically a change would not have been required (except for frame burst considerations of 128 bytes) if these devices would have been able to use the full 4 KB of the PCU TX FIFO size but our systems engineers recommend 2 KB to be used only. We enforce this through software by reducing the max frame triggger level to 2 KB. Fixing the max frame trigger level should then have a few benefits: * The PER will now be adjusted as designed for underruns when the max trigger level is reached. This should help alleviate the bus as the rate control algorithm chooses a slower rate which should ensure frames are transmitted properly under high system bus load. * The poll we use on our TX queues should now trigger and work as designed for single stream devices. The hardware passes data from each TX queue on the PCU TX FIFO queue respecting each queue's priority. The new trigger level ensures this seeding of the PCU TX FIFO queue occurs as designed which could mean avoiding false resets and actually reseting hw correctly when a TX queue is indeed stuck. * Some undocumented / unsupported behaviour could have been triggered when the max trigger level level was being set to 4 KB on single stream devices. Its not clear what this issue was to me yet. Cc: Kyungwan Nam Cc: Bennyam Malavazi Cc: Stephen Chen Cc: Shan Palanisamy Cc: Paul Shaw Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1bc1488067ee2c295b933ef6decd6035230f1a1c Author: Benoit Papillault Date: Tue Nov 24 15:49:18 2009 +0100 ath9k: Proper padding/unpadding for the TX/RX path. Software padding is done on the TX path and software unpadding is done on the RX path. This patch corrects the position where the padding occurs. A specific function computes the pad position and this function is used in the TX and RX path. This patch has been tested by generating every possible 802.11 frames with every possible frame_control field and a varying length. This patch is useful for analyzing non standard 802.11 frames going over the air Signed-off-by: Benoit Papillault Signed-off-by: John W. Linville commit e7824a50662f7f79b1a739f705b4d906c31cf221 Author: Luis R. Rodriguez Date: Tue Nov 24 02:53:25 2009 -0500 ath9k: fix processing of TX PS null data frames When mac80211 was telling us to go into Powersave we listened and immediately turned RX off. This meant hardware would not see the ACKs from the AP we're associated with and hardware we'd end up retransmiting the null data frame in a loop helplessly. Fix this by keeping track of the transmitted nullfunc frames and only when we are sure the AP has sent back an ACK do we go ahead and shut RX off. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6b65b6ad016f048547127946d1afe4ba41c74296 Author: Samuel Ortiz Date: Tue Nov 24 11:33:33 2009 +0800 iwmc3200wifi: Remove tx concatenation option The tx concatenation option works fine now, we no longer need the debugging option of disabling concatenation. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b136b3a2c1867172cd3de6e7286c600b04543b30 Author: Samuel Ortiz Date: Tue Nov 24 11:33:32 2009 +0800 iwmc3200wifi: Add stopped queue to debugfs We add the stopped queue count and display to the tx queue debugfs entry. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a7af530d45969a63e20708417b70c547596ce3a9 Author: Samuel Ortiz Date: Tue Nov 24 11:33:31 2009 +0800 iwmc3200wifi: 802.11n Tx aggregation support To support 802.11n Tx aggregation support with iwmc3200 wifi, we have to handle the UMAC_CMD_OPCODE_STOP_RESUME_STA_TX notification from the UMAC. Before sending an AddBA, the UMAC synchronizes with the host in order to know what is the last Tx frame it's supposed to receive before it will be able to start the actual aggregation session. We thus have to keep track of the last sequence number that is scheduled for transmission on a particular RAxTID, send an answer to the UMAC with this sequence number. The UMAC then does the BA negociation and once it's done with it sends a new UMAC_CMD_OPCODE_STOP_RESUME_STA_TX notification to let us know that we can resume the Tx flow on the specified RAxTID. Signed-off-by: Samuel Ortiz Reviewed-by: Zhu Yi Signed-off-by: John W. Linville commit 2351178c52fedf1846c84b35418f4102487ec00e Author: Zhu Yi Date: Tue Nov 24 11:33:30 2009 +0800 iwmc3200wifi: Set wireless mode correctly Set the wireless mode with regard to both the driver's configuration and the device's EEPROM result. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0bed08de91c41b21447d704995a438d4536586ba Author: Samuel Ortiz Date: Tue Nov 24 11:33:29 2009 +0800 iwmc3200wifi: Update wireless_mode with eeprom values The iwmc3200wifi eeprom contains information about the available PHYs on the chip. We should update our wireless_mode setting and profile according to it. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fe19176ea46db572f0dc2df8bfe1dc5d8751ab9e Author: Samuel Ortiz Date: Tue Nov 24 11:33:28 2009 +0800 iwmc3200wifi: Dont set the UMAC power limit when interface is down When we're down, we shouldnt try to set the UMAC power limit. We just return 0 instead, and cfg80211 toggles the soft rfkill state. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 902b6667d3d17ac53ec62c036cd2bcf713c29d86 Author: Samuel Ortiz Date: Tue Nov 24 11:33:27 2009 +0800 iwmc3200wifi: Parse HT channels EEPROM entries The fat channels eeprom entries let us know if 11n is enabled or not. We update our wiphy supported bands based on that. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f6cd53c6a4204a3d4a274546449a70a766a99b6e Author: Samuel Ortiz Date: Tue Nov 24 11:33:26 2009 +0800 MAINTAINERS: Add iwmc3200wifi entry Update MAINTAINERS with the Intel supported iwmc3200wifi entry. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e6218cc47bd54710dc523e8c983ceddba625e3ae Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:52 2009 +0100 rt2x00: Centralize setting of extra TX headroom requested by rt2x00. Set the value of extra_tx_headroom in a central place, rather than in each of the drivers. This is preparatory for taking alignment space into account in the TX headroom requested by rt2x00. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 04d0362e2fa9d5f1ab560d0d59d04a535b4f3973 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:51 2009 +0100 rt2x00: Whitespace cleanup. Clean up the use of whitespace in the initialization of the rt2x00_ops structures. This is preparatory for a later patch that adds members to that structure, which require different whitespace alignment. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 95d69aa046f75c750f18119810b6f58d397fb576 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:50 2009 +0100 rt2x00: Fix typo (lengt --> length) in rt2x00queue.c Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit ee303e543e7d5f0d38197298adf0c4fb079094e9 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:49 2009 +0100 rt2x00: Clean up use of rt2x00_intf_is_pci. RT chipsets are unique across both PCI and USB busses, and don't overlap. Therefore there is no need to test for bus type when only checking for chipset type. Remove the redundant checks. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6a6f455ca4120ae0c6a1bb77d58ba2f5e3e96afd Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:48 2009 +0100 rt2x00: Remove unused variable frame_control from rt2x00mac_tx. As additional fallout also remove the also unused variable ieee80211hdr. Reported-by: Johannes Stezenbach Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 38a522e6bc0fcd9848b91366ec899f1c2cb23609 Author: Gertjan van Wingerde Date: Mon Nov 23 22:44:47 2009 +0100 rt2x00: Only initialize HT on rt2800 devices that support it. Some RT28xx/RT30xx devices don't support 802.11n, when they are combined with the RF2020 chipset. Ensure that HT is disabled for these devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit c7c8adb53ff3e8fa3cf7a5144bd2791c4da2c07d Author: Luciano Coelho Date: Mon Nov 23 23:22:19 2009 +0200 wl1271: Remove REF_CLK hack This hack was totally wrong and was "needed" because of a problem in the way we were sending the GENERAL_PARMS command to the firmware. Now that that problem has been fixed, this hack can be removed. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 4a90406b876cade9bb8d9c95b048d60fb979ba6b Author: Luciano Coelho Date: Mon Nov 23 23:22:18 2009 +0200 wl1271: remove workaround to ignore -EIO from radio and general params We were ignoring the -EIO return value from wl1271_cmd_radio_params() and wl1271_cmd_general_params(), because they were always returning an error and we didn't know why. Now this has been fixed, so the workaround can be removed. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 98b5dd5ded8cb59b598b2c0c396100054779eda7 Author: Luciano Coelho Date: Mon Nov 23 23:22:17 2009 +0200 wl1271: fix radio and general parameters commands We were missing the command header in the radio and general parameters commands. This was causing them to fail, resulting in problems in the power levels and other PLT-related commands. Also reorganized the command functions, moving from wl1271_init.c to wl1271_cmd.c where it fits better. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit cc7defa366ea770efb25add8711defe88862197b Author: Luciano Coelho Date: Mon Nov 23 23:22:16 2009 +0200 wl1271: set radio and general params also for PLT We need to set the radio and general parameters when starting PLT mode. This patch adds calls to TEST_CMD_INI_RADIO_PARAMS and TEST_CMD_INIT_GENERAL_PARAMS when initializing PLT mode. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 17d7265c7582af77357bd31884cef26f9f802313 Author: Luciano Coelho Date: Mon Nov 23 23:22:15 2009 +0200 wl1271: fix the inetdev notifier callback return values The wl1271_dev_notify() was returning 0 or -ENODEV, when it should return NOTIFY_* instead. Now we use NOTIFY_DONE when we didn't handle the event or NOTIFY_OK when we have handled it. For inetdev notifications, it doesn't matter whether we use NOTIFY_DONE or NOTIFY_OK, because it ignores the return value of the call to blocking_notifier_call_chain(). But the notify.h header says that NOTIFY_DONE is "Don't care" and NOTIFY_OK is "Suits me", so that seems to be the right way to do it. Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 03442a33174b1d9f6f8eb8c3c2e8a9cf4b75fffe Author: Juuso Oikarinen Date: Mon Nov 23 23:22:14 2009 +0200 wl1271: Set PSM support flags in driver configuration Set the PSM support flag in the device configuration for the mac80211 stack. This will enable usage of powersave. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 461fa136bb120f5b6b7d5814888a7211dbbd211b Author: Juuso Oikarinen Date: Mon Nov 23 23:22:13 2009 +0200 wl1271: Prevent PSM-entry retry loop if PSM cancelled Prevent endless PSM-entry retry loops, if PSM has already been cancelled while PSM entry was attempted. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 845025634549850879d30f00e20bc8bfe63980b4 Author: Juuso Oikarinen Date: Mon Nov 23 23:22:12 2009 +0200 wl1271: Decrease BET consecutive terminated beacons value to 10 Decrease the consecutive terminated beacons value for BET from 100 to 10. According to the vendor, 10 will give a more reliable connection and more reliable detection of connection problems. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1fe8234a376e341c378a6e1c5de65db0fb49189a Author: Felix Fietkau Date: Mon Nov 23 22:22:27 2009 +0100 ath9k: clean up rc rate table Remove some fields from struct ath_rate_table that are now unused. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 545750d36fa78203e28acefb4bab61ebb7c4d197 Author: Felix Fietkau Date: Mon Nov 23 22:21:01 2009 +0100 ath9k: properly use the mac80211 rate control api This patch changes ath9k to pass proper MCS indexes and flags between the RC and the rest of the driver code. sc->cur_rate_table remains, as it's used by the RC code internally, but the rest of the driver code no longer uses it, so a potential new RC for ath9k would not have to update it. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5fa9167a1bf5f5a4b7282f5e7ac56a4a5a1fa044 Author: Dominik Brodowski Date: Sun Nov 8 17:24:46 2009 +0100 pcmcia: rework the irq_req_t typedef Most of the irq_req_t typedef'd struct can be re-worked quite easily: (1) IRQInfo2 was unused in any case, so drop it. (2) IRQInfo1 was used write-only, so drop it. (3) Instance (private data to be passed to the IRQ handler): Most PCMCIA drivers using pcmcia_request_irq() to actually register an IRQ handler set the "dev_id" to the same pointer as the "priv" pointer in struct pcmcia_device. Modify the two exceptions (ipwireless, ibmtr_cs) to also work this waym and set the IRQ handler's "dev_id" to p_dev->priv unconditionally. (4) Handler is to be of type irq_handler_t. (5) Handler != NULL already tells whether an IRQ handler is present. Therefore, we do not need the IRQ_HANDLER_PRESENT flag in irq_req_t.Attributes. CC: netdev@vger.kernel.org CC: linux-bluetooth@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: alsa-devel@alsa-project.org CC: Jaroslav Kysela CC: Jiri Kosina CC: Karsten Keil for the Bluetooth parts: Acked-by: Marcel Holtmann Signed-off-by: Dominik Brodowski commit dd2e5a156525f11754d9b1e0583f6bb49c253d62 Author: Dominik Brodowski Date: Tue Nov 3 10:27:34 2009 +0100 pcmcia: remove deprecated handle_to_dev() macro Update remaining users and remove deprecated handle_to_dev() macro CC: Harald Welte CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org Signed-off-by: Dominik Brodowski commit 6838b03fc6564ea07d0cd87ea6e198d90ab1fc3e Author: Dominik Brodowski Date: Tue Nov 3 01:31:52 2009 +0100 pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer pcmcia_request_window() only needs a pointer to struct pcmcia_device, not a pointer to a pointer. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: Jiri Kosina Acked-by: Karsten Keil (for ISDN) Signed-off-by: Dominik Brodowski commit 82f88e36004162f49a9340ffbbaebe89016e4835 Author: Dominik Brodowski Date: Tue Nov 3 01:16:12 2009 +0100 pcmcia: remove unused "window_t" typedef Signed-off-by: Dominik Brodowski commit d7b0364bfc71c4abc97dfc47f85bb32363266e4e Author: Dominik Brodowski Date: Tue Nov 3 01:05:33 2009 +0100 pcmcia: move some window-related code to pcmcia_ioctl.c pcmcia_get_window() and pcmcia_get_mem_page() were only called from pcmcia_ioctl.c. Therefore, move these functions to that file, and remove the useless EXPORTs. Signed-off-by: Dominik Brodowski commit 0bdf9b3dd3cfa5cbd5d55172c19f5dd166208e17 Author: Magnus Damm Date: Wed Dec 13 19:46:53 2006 +0900 pcmcia: Change window_handle_t logic to unsigned long Logic changes based on top of the other patches: This set of patches changed window_handle_t from being a pointer to an unsigned long. The unsigned long is now a simple index into socket->win[]. Going from a pointer to unsigned long should leave the user space interface unchanged unless I'm mistaken. This change results in code that is less error prone and a user space interface which is much cleaner and safer. A nice side effect is that we are also are able to remove all members except one from window_t. [ linux@dominikbrodowski.net: Update to 2.6.31. Also, a plain "index" to socket->win[] does not work, as several codepaths rely on "window_handle_t" being non-zero if used. Therefore, set the window_handle_t to the socket->win[] index + 1. ] CC: netdev@vger.kernel.org Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit 16456ebabfec3f8f509fc18b45f256d066a1b360 Author: Magnus Damm Date: Wed Dec 13 19:46:48 2006 +0900 pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page() No logic changes, just pass struct pcmcia_socket to pcmcia_get_mem_page() [linux@dominikbrodowski.net: update to 2.6.31] Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit 868575d1e87ff2091800aea816972ddb46de60d5 Author: Magnus Damm Date: Wed Dec 13 19:46:43 2006 +0900 pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page() No logic changes, just pass struct pcmcia_device to pcmcia_map_mem_page() [linux@dominikbrodowski.net: update to 2.6.31] CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: Jiri Kosina Acked-by: Karsten Keil (for ISDN) Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit f5560da549ea2e32dd41e36548c0e7dee3d4aabb Author: Magnus Damm Date: Wed Dec 13 19:46:38 2006 +0900 pcmcia: Pass struct pcmcia_device to pcmcia_release_window() No logic changes, just pass struct pcmcia_device to pcmcia_release_window(). [linux@dominikbrodowski.net: update to 2.6.31] CC: netdev@vger.kernel.org CC: Jiri Kosina Signed-off-by: Magnus Damm Signed-off-by: Dominik Brodowski commit b8b7d791a8ff01d2380089279a69afa99115fb23 Author: Thomas Gleixner Date: Sat Nov 28 15:03:03 2009 +0100 x86: Use -maccumulate-outgoing-args for sane mcount prologues commit 746357d (x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage) uses -mtune=generic to work around the function prologue problem with mcount on -march=pentium-mmx and others. Jakub pointed out that we can use -maccumulate-outgoing-args instead which is selected by -mtune=generic and prevents the problem without losing the -march specific optimizations. Pointed-out-by: Jakub Jelinek Signed-off-by: Thomas Gleixner Cc: Linus Torvalds Cc: stable@kernel.org commit 850265e84d1040e769d8762640e4e5f34ae2f45d Author: Srinidhi Kasagar Date: Sat Nov 28 08:24:47 2009 +0100 ARM: 5834/1: ARM: U8500 integrate to ARM architecture This hooks the U8500 support into the ARM kbuild system. This integration also enables SMP and its helper functions for U8500 platform Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit e3fd17458e4721d4ae0f0aab1c79b039575ac9c6 Author: Srinidhi Kasagar Date: Sat Nov 28 08:22:58 2009 +0100 ARM: 5833/1: ARM nomadik: enable U8500 for common platform Enable U8500 architecture to get access to the common code shared across various ST-Ericsson's machines like nomadik. Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit 4e4eb42999ae155c3ac1cdb5dacbd419184064fb Author: Srinidhi Kasagar Date: Sat Nov 28 08:19:07 2009 +0100 ARM: 5832/1: ARM: U8500 Makefile.boot The Makefile.boot for the U8500 platform Signed-off-by: srinidhi kasagar Signed-off-by: Russell King commit aa44ef4d43b200c0e318ade2a3c24d00a6fd942a Author: Srinidhi Kasagar Date: Sat Nov 28 08:17:18 2009 +0100 ARM: 5831/1: ARM: U8500 core machine support Adds core support for the ST-Ericsson U8500 platform. It supports memory mappings, binds to the existing modules like GIC, SCU, TWD and local timers and sets up the infrastructure for the secondary core. Reviewed-by: Alessandro Rubini Reviewed-by: Linus Walleij Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit c6b503caef9abefb2e90ac83f672b75dc14bacd0 Author: Srinidhi Kasagar Date: Sat Nov 28 08:15:01 2009 +0100 ARM: 5830/1: ARM: U8500 clock framework Adds basic clock framework to the U8500 platform. Currently it just uses the clock lookup table and add the each entry to the clkdevice. More complex clock management to follow soon Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit ffae4e014a4bff7b904e4b5ace2ae453b9d93519 Author: Srinidhi Kasagar Date: Sat Nov 28 08:10:40 2009 +0100 ARM: 5829/1: ARM: U8500 register definitions Adds register definitions, shared peripheral interrupt numbers (SHPI) and IO mappings for the U8500 core support. SHPI are assigned to [160:32] where first 32 interrupts are reserved. Reviewed-by: Alessandro Rubin Signed-off-by: srinidhi kasagar Acked-by: Andrea Gallo Signed-off-by: Russell King commit 59b559d7a39b590aecef583af58d123ff5876570 Author: Srinidhi Kasagar Date: Thu Nov 12 06:20:54 2009 +0100 ARM: 5786/1: Introduce plat-nomadik, MTU code re-organization Introduce the plat-nomadik folder for ST-Ericsson machines including the existing nomadik 8815 architecture. This also moves the existing MTU (MultiTimerUnit) of nomadik 8815 to the proposed plat-nomadik and adds HAS_MTU. The patch has been re-based to 2.6.32-rc6 Signed-off-by: srinidhi kasagar Acked-by: Alessandro Rubini Signed-off-by: Russell King commit cf72344d1ad7b33805ef8d65e758b267e6f4cb8d Author: Ingo Molnar Date: Sat Nov 28 10:11:00 2009 +0100 perf scripting: Fix build Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1ae4a971250c55e473ca53c78011fcf73809885d Author: Tom Zanussi Date: Wed Nov 25 01:15:52 2009 -0600 perf trace: Add a scripts/perl/bin for perf trace shell scripts To capture the relevant events for a given Perl script and to avoid having to continually remember and type in long command-lines, add a scripts/perl/bin directory containing two simple shell scripts for each Perl script, one for recording and one for processing/display. For example, to record perf data for the rw-by-pid.pl script, run scripts/perl/bin/rw-by-pid-record and to actually run the script and display the output run scripts/perl/bin/rw-by-pid-report. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-8-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 89fbf0b8a021cbf60abeacfb6b538e97c83afada Author: Tom Zanussi Date: Wed Nov 25 01:15:51 2009 -0600 perf trace: Add Documentation for perf trace Perl support Adds perf-trace-perl Documentation and a link to it from the perf-trace page. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-7-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit d1b93772be78486397693fc39d3ddea3fda90105 Author: Tom Zanussi Date: Wed Nov 25 01:15:50 2009 -0600 perf trace: Add interface to access perf data from Perl handlers The Perl scripting support for perf trace allows most of a trace event's data to be accessed directly as handler arguments, but not all of it e.g. the less common fields aren't passed in. To give scripts access to the other fields and/or any other data or metadata in the main perf executable that might be useful, a way to access the C data in perf from Perl is needed; this patch uses the Perl XS facility to do it for the common_xxx event fields not passed to handler functions. Context.pm exports three functions to Perl scripts that access fields for the current event by calling back into perf: common_pc(), common_flags() and common_lock_depth(). Support for common_flags() field values was added to Core.pm and a script used to sanity check these and other basic scripting features, check-perf-trace.pl, was also added. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-6-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit bcefe12eff5dca6fdfa94ed85e5bee66380d5cd9 Author: Tom Zanussi Date: Wed Nov 25 01:15:49 2009 -0600 perf trace: Add perf trace scripting support modules for Perl Add Perf-Trace-Util Perl module and some scripts that use it. Core.pm contains Perl code to define and access flag and symbolic fields. Util.pm contains general-purpose utility functions. Also adds some makefile bits to install them in libexec/perf-core/scripts/perl (or wherever perfexec_instdir points). Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-5-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 16c632de64a74644a46e7636db26b2cfb530ca13 Author: Tom Zanussi Date: Wed Nov 25 01:15:48 2009 -0600 perf trace: Add Perl scripting support Implement trace_scripting_ops to make Perl a supported perf trace scripting language. Additionally adds code that allows Perl trace scripts to access the 'flag' and 'symbolic' (__print_flags(), __print_symbolic()) field information parsed from the trace format files. Also adds the Perl implementation of the generate_script() trace_scripting_op, which creates a ready-to-run perf trace Perl script based on existing trace data. Scripts generated by this implementation print out all the fields for each event mentioned in perf.data (and will detect and generate the proper scripting code for 'flag' and 'symbolic' fields), and will additionally generate handlers for the special 'trace_unhandled', 'trace_begin' and 'trace_end' handlers. Script authors can simply remove the printing code to implement their own custom event handling. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-4-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit eb9a42caa7a926beb935a22bc59d981b35f0b652 Author: Tom Zanussi Date: Wed Nov 25 01:15:47 2009 -0600 perf trace: Add flag/symbolic format_flags It's useful to know whether a field is a flag or symbolic field for e.g. when generating scripts - it allows us to translate those fields specially rather than literally as plain numeric values. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 956ffd027bedc4106b901eb6a50f0a6c6de4113d Author: Tom Zanussi Date: Wed Nov 25 01:15:46 2009 -0600 perf trace: Add scripting ops Adds an interface, scripting_ops, that when implemented for a particular scripting language enables built-in support for trace stream processing using that language. The interface is designed to enable full-fledged language interpreters to be embedded inside the perf executable and thereby make the full capabilities of the supported languages available for trace processing. See below for details on the interface. This patch also adds a couple command-line options to 'perf trace': The -s option option is used to specify the script to be run. Script names that can be used with -s take the form: [language spec:]scriptname[.ext] Scripting languages register a set of 'language specs' that can be used to specify scripts for the registered languages. The specs can be used either as prefixes or extensions. If [language spec:] is used, the script is taken as a script of the matching language regardless of any extension it might have. If [language spec:] is not used, [.ext] is used to look up the language it corresponds to. Language specs are case insensitive. e.g. Perl scripts can be specified in the following ways: Perl:scriptname pl:scriptname.py # extension ignored PL:scriptname scriptname.pl scriptname.perl The -g [language spec] option gives users an easy starting point for writing scripts in the specified language. Scripting support for a particular language can implement a generate_script() scripting op that outputs an empty (or near-empty) set of handlers for all the events contained in a given perf.data trace file - this option gives users a direct way to access that. Adding support for a scripting language --------------------------------------- The main thing that needs to be done do add support for a new language is to implement the scripting_ops interface: It consists of the following four functions: start_script() stop_script() process_event() generate_script() start_script() is called before any events are processed, and is meant to give the scripting language support an opportunity to set things up to receive events e.g. create and initialize an instance of a language interpreter. stop_script() is called after all events are processed, and is meant to give the scripting language support an opportunity to clean up e.g. destroy the interpreter instance, etc. process_event() is called once for each event and takes as its main parameter a pointer to the binary trace event record to be processed. The implementation is responsible for picking out the binary fields from the event record and sending them to the script handler function associated with that event e.g. a function derived from the event name it's meant to handle e.g. 'sched::sched_switch()'. The 'format' information for trace events can be used to parse the binary data and map it into a form usable by a given scripting language; see the Perl implemention in subsequent patches for one possible way to leverage the existing trace format parsing code in perf and map that info into specific scripting language types. generate_script() should generate a ready-to-run script for the current set of events in the trace, preferably with bodies that print out every field for each event. Again, look at the Perl implementation for clues as to how that can be done. This is an optional, but very useful op. Support for a given language should also add a language-specific setup function and call it from setup_scripting(). The language-specific setup function associates the the scripting ops for that language with one or more 'language specifiers' (see below) using script_spec_register(). When a script name is specified on the command line, the scripting ops associated with the specified language are used to instantiate and use the appropriate interpreter to process the trace stream. In general, it should be relatively easy to add support for a new language, especially if the language implementation supports an interface allowing an interpreter to be 'embedded' inside another program (in this case the containing program will be 'perf trace'). If so, it should be relatively straightforward to translate trace events into invocations of user-defined script functions where e.g. the function name corresponds to the event type and the function parameters correspond to the event fields. The event and field type information exported by the event tracing infrastructure (via the event 'format' files) should be enough to parse and send any piece of trace data to the user script. The easiest way to see how this can be done would be to look at the Perl implementation contained in perf/util/trace-event-perl.c/.h. There are a couple of other things that aren't covered by the scripting_ops or setup interface and are technically optional, but should be implemented if possible. One of these is support for 'flag' and 'symbolic' fields e.g. being able to use more human-readable values such as 'GFP_KERNEL' or HI/BLOCK_IOPOLL/TASKLET in place of raw flag values. See the Perl implementation to see how this can be done. The other thing is support for 'calling back' into the perf executable to access e.g. uncommon fields not passed by default into handler functions, or any metadata the implementation might want to make available to users via the language interface. Again, see the Perl implementation for examples. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit c57ec52f2647e53709c3ce8d86b28876c2f32de0 Author: David S. Miller Date: Fri Nov 27 17:33:43 2009 -0800 sparc64: Faster early-boot framebuffer console. Borrow the powerpc bootx text console driver. Signed-off-by: David S. Miller commit da43243e765908d2ce6d22b2be995edf3218457d Author: Saeed Bishara Date: Tue Nov 24 19:33:53 2009 +0200 RTC: let Dove soc select the rtc-mv driver. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 573a652fb0da50a1ff3fca2c67afd81138fd06d2 Author: Lennert Buytenhek Date: Tue Nov 24 19:33:52 2009 +0200 ARM: Add Tauros2 L2 cache controller support Support for the Tauros2 L2 cache controller as used with the PJ1 and PJ4 CPUs. Signed-off-by: Lennert Buytenhek Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit edabd38e1a017e922e3e3b485ee3ddb4df433aa4 Author: Saeed Bishara Date: Thu Aug 6 15:12:43 2009 +0300 ARM: add base support for Marvell Dove SoC The Marvell Dove (88AP510) is a high-performance, highly integrated, low power SoC with high-end ARM-compatible processor (known as PJ4), graphics processing unit, high-definition video decoding acceleration hardware, and a broad range of peripherals. Signed-off-by: Lennert Buytenhek Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit 9823b2d0f9547742fc40857f9ef153d6956266f2 Author: Thomas Kunze Date: Tue Feb 10 13:48:32 2009 +0100 collie: support pda_power driver This add the pda-power platform device to collie. commit f1fce597e68c91f04381ad869579fd2fe6064101 Author: Thomas Kunze Date: Tue Feb 10 14:12:29 2009 +0100 collie: add battery driver This driver is based on tosa_battery.c. commit f7177c8452618df34ecdcd7b6f2cb941aec0ffc3 Author: Thomas Kunze Date: Tue Feb 10 14:12:02 2009 +0100 collie: convert to gpiolib for ucb1x00 Only the parts used for collie_battery are converted. The rest will be cleaned up later. commit 9ca3dc805cd0d89c44f88b9a399061946781323a Author: Thomas Kunze Date: Tue Feb 10 14:50:56 2009 +0100 add gpiolib support to ucb1x00 The old access methods to the gpios will be removed when all users has been converted. (mainly ucb1x00-ts) commit cc647172795713e013f8de4bcdf91860e9e87bff Author: Thomas Kunze Date: Mon Feb 9 23:14:44 2009 +0100 SA1100: make gpio_to_irq and reverse a macro The function can't be used for static initialisations so convert them to macros. commit 167c55ef80d26679b8b4b4ffba9da208a7c1875d Author: Thomas Kunze Date: Tue Feb 10 13:21:42 2009 +0100 collie: locomo-led change default trigger Collie uses now the powersupply framework. Change the default led-trigger of locomo-led to reflect that. commit c8602edf3f9471466755329b78d309f2a01dd449 Author: Thomas Kunze Date: Tue Feb 10 14:54:57 2009 +0100 move drivers/mfd/*.h to include/linux/mfd So drivers like collie_battery driver can use those files easier. commit 1d0ad843b08f7655b8ac011bca1e3e0c69a554de Author: Thomas Kunze Date: Mon Oct 5 22:05:38 2009 +0200 collie: prepare for gpiolib use prefix gpio definitions for direct register access with '_' so we can use the other names for gpio_request & co commit f151ccf76b38d2ffdfe9e44fa01fe2fc0a754637 Author: Thomas Kunze Date: Tue Oct 28 21:41:39 2008 +0300 collie: fix scoop convesion to new api commit 18ed61da985c57eea3fe8038b13fa2837c9b3c3f Author: Thomas Gleixner Date: Fri Nov 27 15:24:44 2009 +0100 x86: hpet: Make WARN_ON understandable Andrew complained rightly that the WARN_ON in hpet_next_event() is confusing and the code comment not really helpful. Change it to WARN_ONCE and print the reason in clear text. Change the comment to explain what kind of hardware wreckage we deal with. Pointed-out-by: Andrew Morton Signed-off-by: Thomas Gleixner Cc: Venki Pallipadi commit 1ed091c45ae33b2179d387573c3fe3f3b4adf60a Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:23 2009 -0200 perf tools: Consolidate symbol resolving across all tools Now we have a very high level routine for simple tools to process IP sample events: int event__preprocess_sample(const event_t *self, struct addr_location *al, symbol_filter_t filter) It receives the event itself and will insert new threads in the global threads list and resolve the map and symbol, filling all this info into the new addr_location struct, so that tools like annotate and report can further process the event by creating hist_entries in their specific way (with or without callgraphs, etc). It in turn uses the new next layer function: void thread__find_addr_location(struct thread *self, u8 cpumode, enum map_type type, u64 addr, struct addr_location *al, symbol_filter_t filter) This one will, given a thread (userspace or the kernel kthread one), will find the given type (MAP__FUNCTION now, MAP__VARIABLE too in the near future) at the given cpumode, taking vdsos into account (userspace hit, but kernel symbol) and will fill all these details in the addr_location given. Tools that need a more compact API for plain function resolution, like 'kmem', can use this other one: struct symbol *thread__find_function(struct thread *self, u64 addr, symbol_filter_t filter) So, to resolve a kernel symbol, that is all the 'kmem' tool needs, its just a matter of calling: sym = thread__find_function(kthread, addr, NULL); The 'filter' parameter is needed because we do lazy parsing/loading of ELF symtabs or /proc/kallsyms. With this we remove more code duplication all around, which is always good, huh? :-) Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: John Kacur Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-12-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 62daacb51a2bf8480e6f6b3696b03f102fc15eb0 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:22 2009 -0200 perf tools: Reorganize event processing routines, lotsa dups killed While implementing event__preprocess_sample, that will do all of the symbol lookup in one convenient function, I noticed that util/process_event.[ch] were not being used at all, then started looking if there were other functions that could be shared and... All those functions really don't need to receive offset + head, the only thing they did was common to all of them, so do it at one place instead. Stats about number of each type of event processed now is done in a central place. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: John Kacur Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-11-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1de8e24520ffdcf2a90c842eed937f59079a2abd Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:21 2009 -0200 perf symbols: When not using modules, discard its symbols Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-10-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 95011c600740837288a3b34b411244a4d9157c4e Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:20 2009 -0200 perf symbols: Support multiple symtabs in struct thread Making the routines that were so far specific to the kernel maps useful for all threads. This is done by making the kernel maps be contained in a kernel "thread". This gets the kernel specific routines closer to the userspace counterparts, which will help in reducing the boilerplate for resolving a symbol, as will be demonstrated in the next patches. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-9-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 23ea4a3fadc6b1692dec935397ea15e2affc1cba Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:19 2009 -0200 perf symbols: Kernel_maps should be an array of MAP__NR_TYPES entries So that we can support multiple symbol table types. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-8-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4e06255f5cf2acf6a5abfe7df8c9690463259dea Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:18 2009 -0200 perf symbols: Make the kallsyms loading routines part of the dso class So that the kallsyms loading routines are the direct counterpart of the vmlinux loading ones, i.e. dso__load_kallsyms is the counterpart of dso__load_vmlinux. In the process make them also use the symbols rb tree indexed by map->type, paving the way for supporting other types of symtabs, such as the next one to be supported: variables. This also allowed removal of yet another global variable: kernel_map__functions. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-7-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 6a4694a433a218c729d336b348a01bfc720da095 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:17 2009 -0200 perf symbols: Better support for multiple symbol tables per dso By using an array of rb_roots in struct dso we can, from a struct map instance to get the right symbol rb_tree more easily. This way we can have just one symbol lookup method for struct map instances, map__find_symbol, instead of one per symtab type (functions, variables). Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 3610583c29563e23dd038d2870f59c88438bf7a3 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:16 2009 -0200 perf symbols: Add a 'type' field to struct map That way we will be able to check if the right symtab is loaded in the underlying DSO. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 605ca4ba017455d39ac6991c58eb1e80fb8af48d Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:15 2009 -0200 perf symbols: Unexport kernel_map__functions perf annotate was the only user, and it doesn't really need it. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b0da954a4759ac19fb80a959e53b613fe376bc12 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:14 2009 -0200 perf symbols: Split the dsos list into kernel and user parts We don't need to look at modules in dsos__findnew because the kernel events come only with user DSOs. Also we need a way to list just the module DSOs so that we can create multiple sets of maps, now that we will support maps for the variables in a symtab. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 61f37a824d6782503ff66bf653f2e07902b641a1 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:13 2009 -0200 perf symbols: Rename kernel_mapto kernel_map[s]__functions As we'll have kernel_map[s]__variables too. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 3f5ee186f615a720fe78eb33662ae4da57a1eee3 Author: Arnaldo Carvalho de Melo Date: Fri Nov 27 16:29:12 2009 -0200 perf symbols: Avoid annoying message about loading symbols This should be properly fixed when we remove the XXX comment in 'perf report', function resolve_symbol. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259346563-12568-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 5c5452f703cd9660c4f2549458d9fd0008e1a100 Merge: 49af574 e9ff5eb Author: Mark Brown Date: Fri Nov 27 16:56:22 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 49af574b60669a58a2e96960ac694ce953119083 Author: Daniel Mack Date: Fri Nov 27 13:47:10 2009 +0100 ALSA: ARM: add Raumfeld audio support Signed-off-by: Daniel Mack Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit a22eaf4ce106404f6c5283da30b4d514ede964c1 Author: Takashi Iwai Date: Fri Nov 27 15:14:09 2009 +0100 ASoC: Revert missing reset_err in wm97*.c The commit fe3e78e073d25308756f38019956061153267769 ASoC: Factor out snd_soc_init_card() removed the error paths that are still valid for wm97* codecs, causing the compile errors like sound/soc/codecs/wm9705.c:399: error: label 'reset_err' used but not defined sound/soc/codecs/wm9712.c:687: error: label 'reset_err' used but not defined sound/soc/codecs/wm9713.c:1237: error: label 'reset_err' used but not defined Revert the removed error path codes. Signed-off-by: Takashi Iwai commit efd44318157009274fa5962d60167ecfb954e246 Merge: 492667d 4f65ae3 Author: Joerg Roedel Date: Fri Nov 27 14:27:30 2009 +0100 Merge branch 'gart/fixes' into amd-iommu/2.6.33 commit 492667dacc0ac9763969155482b1261b34ccf450 Author: Joerg Roedel Date: Fri Nov 27 13:25:47 2009 +0100 x86/amd-iommu: Remove amd_iommu_pd_table The data that was stored in this table is now available in dev->archdata.iommu. So this table is not longer necessary. This patch removes the remaining uses of that variable and removes it from the code. Signed-off-by: Joerg Roedel commit 8eed9833346781dd15e3bef35a91b0a40787ea3c Author: Joerg Roedel Date: Thu Nov 26 15:45:41 2009 +0100 x86/amd-iommu: Move reset_iommu_command_buffer out of locked code This patch removes the ugly contruct where the iommu->lock must be released while before calling the reset_iommu_command_buffer function. Signed-off-by: Joerg Roedel commit b00d3bcff4d996f65e337d404b0df5dc201a01ab Author: Joerg Roedel Date: Thu Nov 26 15:35:33 2009 +0100 x86/amd-iommu: Cleanup DTE flushing code This patch cleans up the code to flush device table entries in the IOMMU. With this chance the driver can get rid of the iommu_queue_inv_dev_entry() function. Signed-off-by: Joerg Roedel commit 3fa43655d81d471d47c44b0db4e2be1f8af32207 Author: Joerg Roedel Date: Thu Nov 26 15:04:38 2009 +0100 x86/amd-iommu: Introduce iommu_flush_device() function This patch adds a function to flush a DTE entry for a given struct device and replaces iommu_queue_inv_dev_entry calls with this function where appropriate. Signed-off-by: Joerg Roedel commit 7f760ddd702d162d693bc79f62c3bdd7fe55bd9d Author: Joerg Roedel Date: Thu Nov 26 14:49:59 2009 +0100 x86/amd-iommu: Cleanup attach/detach_device code This patch cleans up the attach_device and detach_device paths and fixes reference counting while at it. Signed-off-by: Joerg Roedel commit 7c392cbe984d904f7c89a6a75b2ac245254e8da5 Author: Joerg Roedel Date: Thu Nov 26 11:13:32 2009 +0100 x86/amd-iommu: Keep devices per domain in a list This patch introduces a list to each protection domain which keeps all devices associated with the domain. This can be used later to optimize certain functions and to completly remove the amd_iommu_pd_table. Signed-off-by: Joerg Roedel commit 241000556f751dacd332df6ab2e903a23746e51e Author: Joerg Roedel Date: Wed Nov 25 15:59:57 2009 +0100 x86/amd-iommu: Add device bind reference counting This patch adds a reference count to each device to count how often the device was bound to that domain. This is important for single devices that act as an alias for a number of others. These devices must stay bound to their domains until all devices that alias to it are unbound from the same domain. Signed-off-by: Joerg Roedel commit 657cbb6b6cba0f9c98c5299e0c803b2c0e67ea0a Author: Joerg Roedel Date: Mon Nov 23 15:26:46 2009 +0100 x86/amd-iommu: Use dev->arch->iommu to store iommu related information This patch changes IOMMU code to use dev->archdata->iommu to store information about the alias device and the domain the device is attached to. This allows the driver to get rid of the amd_iommu_pd_table in the future. Signed-off-by: Joerg Roedel commit 8793abeb783c12cc37f92f6133fd6468152b98df Author: Joerg Roedel Date: Fri Nov 27 11:40:33 2009 +0100 x86/amd-iommu: Remove support for domain sharing This patch makes device isolation mandatory and removes support for the amd_iommu=share option. This simplifies the code in several places. Signed-off-by: Joerg Roedel commit 171e7b3739e175eea7b32eca9dbe189589e14a28 Author: Joerg Roedel Date: Tue Nov 24 17:47:56 2009 +0100 x86/amd-iommu: Rearrange dma_ops related functions This patch rearranges two dma_ops related functions so that their forward declarations are not longer necessary. Signed-off-by: Joerg Roedel commit 308973d3b958b9328a1051642c81ee6dbc5021a4 Author: Joerg Roedel Date: Tue Nov 24 17:43:32 2009 +0100 x86/amd-iommu: Move some pte allocation functions in the right section This patch moves alloc_pte() and fetch_pte() into the page table handling code section so that the forward declarations for them could be removed. Signed-off-by: Joerg Roedel commit 87a64d523825351a23743e69949c2a8c2077cecf Author: Joerg Roedel Date: Tue Nov 24 17:26:43 2009 +0100 x86/amd-iommu: Remove iommu parameter from dma_ops_domain_alloc This function doesn't use the parameter anymore so it can be removed. Signed-off-by: Joerg Roedel commit 98fc5a693bbdda498a556654c70d1e31a186c988 Author: Joerg Roedel Date: Tue Nov 24 17:19:23 2009 +0100 x86/amd-iommu: Use get_device_id and check_device where appropriate The logic of these two functions is reimplemented (at least in parts) in places in the code. This patch removes these code duplications and uses the functions instead. As a side effect it moves check_device() to the helper function code section. Signed-off-by: Joerg Roedel commit 71c70984e5afc20d304fbb523f1c8bb42c4ceb36 Author: Joerg Roedel Date: Tue Nov 24 16:43:06 2009 +0100 x86/amd-iommu: Move find_protection_domain to helper functions This is a helper function and when its placed in the helper function section we can remove its forward declaration. Signed-off-by: Joerg Roedel commit 94f6d190eeed91cb2bb901aa7816edd1e2405347 Author: Joerg Roedel Date: Tue Nov 24 16:40:02 2009 +0100 x86/amd-iommu: Simplify get_device_resources() With the previous changes the get_device_resources function can be simplified even more. The only important information for the callers is the protection domain. This patch renames the function to get_domain() and let it only return the protection domain for a device. Signed-off-by: Joerg Roedel commit 15898bbcb48fc86c2baff156163df0941ecb6a15 Author: Joerg Roedel Date: Tue Nov 24 15:39:42 2009 +0100 x86/amd-iommu: Let domain_for_device handle aliases If there is no domain associated to a device yet and the device has an alias device which already has a domain, the original device needs to have the same domain as the alias device. This patch changes domain_for_device to handle this situation and directly assigns the alias device domain to the device in this situation. Signed-off-by: Joerg Roedel commit f3be07da531ceef1b51295e5becc9bc07670b671 Author: Joerg Roedel Date: Mon Nov 23 19:43:14 2009 +0100 x86/amd-iommu: Remove iommu specific handling from dma_ops path This patch finishes the removal of all iommu specific handling code in the dma_ops path. Signed-off-by: Joerg Roedel commit cd8c82e875c27ee0d8b59fb76bc12aa9db6a70c2 Author: Joerg Roedel Date: Mon Nov 23 19:33:56 2009 +0100 x86/amd-iommu: Remove iommu parameter from __(un)map_single With the prior changes this parameter is not longer required. This patch removes it from the function and all callers. Signed-off-by: Joerg Roedel commit 576175c2503ae9b0f930ee9a6a0abaf7ef8956ad Author: Joerg Roedel Date: Mon Nov 23 19:08:46 2009 +0100 x86/amd-iommu: Make alloc_new_range aware of multiple IOMMUs Since the assumption that an dma_ops domain is only bound to one IOMMU was given up we need to make alloc_new_range aware of it. Signed-off-by: Joerg Roedel commit 680525e06ddccda8c51bdddf532cd5b7d950c411 Author: Joerg Roedel Date: Mon Nov 23 18:44:42 2009 +0100 x86/amd-iommu: Remove iommu parameter from dma_ops_domain_(un)map The parameter is unused in these function so remove it from the parameter list. Signed-off-by: Joerg Roedel commit f99c0f1c75f75924a6f19cb40a21ccefc6e8754d Author: Joerg Roedel Date: Mon Nov 23 16:52:56 2009 +0100 x86/amd-iommu: Use check_device in get_device_resources Every call-place of get_device_resources calls check_device before it. So call it from get_device_resources directly and simplify the code. Signed-off-by: Joerg Roedel commit 420aef8a3acfc3e75427107e23d5a9bafd17c477 Author: Joerg Roedel Date: Mon Nov 23 16:14:57 2009 +0100 x86/amd-iommu: Use check_device for amd_iommu_dma_supported The check_device logic needs to include the dma_supported checks to be really sure. Merge the dma_supported logic into check_device and use it to implement dma_supported. Signed-off-by: Joerg Roedel commit 318afd41d2eca3224de3fd85a3b9a27a3010a98d Author: Joerg Roedel Date: Mon Nov 23 18:32:38 2009 +0100 x86/amd-iommu: Make np-cache a global flag The non-present cache flag was IOMMU local until now which doesn't make sense. Make this a global flag so we can remove the lase user of 'struct iommu' in the map/unmap path. Signed-off-by: Joerg Roedel commit 09b4280439ef6fdc55f1353a9135034336eb5d26 Author: Joerg Roedel Date: Fri Nov 20 17:02:44 2009 +0100 x86/amd-iommu: Reimplement flush_all_domains_on_iommu() This patch reimplements the function flush_all_domains_on_iommu to use the global protection domain list. Signed-off-by: Joerg Roedel commit e3306664eb307ae4cc93211cd9f12d0dbd49de65 Author: Joerg Roedel Date: Fri Nov 20 16:48:58 2009 +0100 x86/amd-iommu: Reimplement amd_iommu_flush_all_domains() This patch reimplementes the amd_iommu_flush_all_domains function to use the global protection domain list instead of flushing every domain on every IOMMU. Signed-off-by: Joerg Roedel commit aeb26f55337d4310840c8adc3ec7d6aebb714472 Author: Joerg Roedel Date: Fri Nov 20 16:44:01 2009 +0100 x86/amd-iommu: Implement protection domain list This patch adds code to keep a global list of all protection domains. This allows to simplify the resume code. Signed-off-by: Joerg Roedel commit 601367d76bd19b7eea2286ae99e5b1cb5d74f38d Author: Joerg Roedel Date: Fri Nov 20 16:08:55 2009 +0100 x86/amd-iommu: Remove iommu_flush_domain function This iommu_flush_tlb_pde function does essentially the same. So the iommu_flush_domain function is redundant and can be removed. Signed-off-by: Joerg Roedel commit dcd1e92e405449ecc5e8bd8fcfebf3b2a13d3d37 Author: Joerg Roedel Date: Fri Nov 20 15:30:58 2009 +0100 x86/amd-iommu: Use __iommu_flush_pages for tlb flushes This patch re-implements iommu_flush_tlb functions to use the __iommu_flush_pages logic. Signed-off-by: Joerg Roedel commit 6de8ad9b9ee0ec5b52ec8ec41401833e5e89186f Author: Joerg Roedel Date: Mon Nov 23 18:30:32 2009 +0100 x86/amd-iommu: Make iommu_flush_pages aware of multiple IOMMUs This patch extends the iommu_flush_pages function to flush the TLB entries on all IOMMUs the domain has devices on. This basically gives up the former assumption that dma_ops domains are only bound to one IOMMU in the system. For dma_ops domains this is still true but not for IOMMU-API managed domains. Giving this assumption up for dma_ops domains too allows code simplification. Further it splits out the main logic into a generic function which can be used by iommu_flush_tlb too. Signed-off-by: Joerg Roedel commit abe6becb7c603991b925c0d2dd908e31dd6611f5 Merge: bbb3c64 8366fc3 Author: Takashi Iwai Date: Fri Nov 27 13:27:03 2009 +0100 Merge branch 'next/isa' into topic/misc commit 8366fc390865bfb1497fe19a518fe5713f96ba3b Author: Krzysztof Helt Date: Fri Nov 27 11:24:13 2009 +0100 media/radio: New driver for the radio FM module on Miro PCM20 sound card This is recreated driver for the FM module found on Miro PCM20 sound cards. This driver was removed around the 2.6.2x kernels because it relied on the removed OSS module. Now, it uses a current ALSA module (snd-miro) and is adapted to v4l2 layer. It provides only basic functionality: frequency changing and FM module muting. Signed-off-by: Krzysztof Helt Reviewed-by: Hans Verkuil Acked-by: Mauro Carvalho Chehab Signed-off-by: Takashi Iwai commit bfc9902599549736b9c6445e1e2235b8542f64a6 Author: Takashi Iwai Date: Fri Nov 27 12:22:44 2009 +0100 ALSA: hda - Don't trigger pin-sense for STAC/IDT codecs STAC/IDT codecs seem to behave weird when SET_PIN_SENSE verb is issued before reading the jack-detection although the TRIG_REQ pin capability is given by the hardware. Since snd_hda_jack_detect() issues the SET_PIN_SENSE verb simply judging from the pincap, we have to revert the change in the commit d56757abc11a21996d9839c0d4e3b2c3666cd318 ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() to plain GET_PIN_SENSE verb without triggering. Reported-by: Jiri Slaby Signed-off-by: Takashi Iwai commit 0518a3a4585cb3eeeaf14ca57131f11d252130c6 Author: Joerg Roedel Date: Fri Nov 20 16:00:05 2009 +0100 x86/amd-iommu: Add function to complete a tlb flush This patch adds a function to the AMD IOMMU driver which completes all queued commands an all IOMMUs a specific domain has devices attached on. This is required in a later patch when per-domain flushing is implemented. Signed-off-by: Joerg Roedel commit c459611424d8b8396060eb766e23bd0c70c993bc Author: Joerg Roedel Date: Fri Nov 20 14:57:32 2009 +0100 x86/amd-iommu: Add per IOMMU reference counting This patch adds reference counting for protection domains per IOMMU. This allows a smarter TLB flushing strategy. Signed-off-by: Joerg Roedel commit bb52777ec4d736c2d7c4f037b32d4eeeb172ed89 Author: Joerg Roedel Date: Fri Nov 20 14:31:51 2009 +0100 x86/amd-iommu: Add an index field to struct amd_iommu This patch adds an index field to struct amd_iommu which can be used to lookup it up in an array. This index will be used in struct protection_domain to keep track which protection domain has devices behind which IOMMU. Signed-off-by: Joerg Roedel commit bf3118c1276d27fe9e84aa42382da25ee0750777 Author: Joerg Roedel Date: Fri Nov 20 13:39:19 2009 +0100 x86/amd-iommu: Update copyright headers This patch updates the copyright headers in the relevant AMD IOMMU driver files to match the date of the latest changes. Signed-off-by: Joerg Roedel commit 6a9401a7ac13e62ef2baf4d46e022d303edc3050 Author: Joerg Roedel Date: Fri Nov 20 13:22:21 2009 +0100 x86/amd-iommu: Separate internal interface definitions This patch moves all function declarations which are only used inside the driver code to a seperate header file. Signed-off-by: Joerg Roedel commit 8700055e0a30b3f67c1474b09200b59c32dd3796 Author: Krzysztof Helt Date: Fri Nov 27 11:20:56 2009 +0100 ALSA: opti-miro: fix OOPS if hardware is not detected If a hardware is not detected there is a kernel crash due to not initialized snd_miro->aci pointer. This pointer is initialized after detection of the opti (miro) chip. This bug was introduced by patches to expose ACI mikser outside the snd-miro driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit d6797322231af98b9bb4afb175dd614cf511e5f7 Author: Takashi Iwai Date: Thu Nov 26 15:08:54 2009 +0100 ALSA: Remove old DMA-mmap code from arm/devdma.c The call of dma_mmap_coherent() is done in the PCM core now. Signed-off-by: Takashi Iwai commit 6985c8877a711c7c307af05203858cb7c3c89d0d Author: Takashi Iwai Date: Thu Nov 26 15:04:24 2009 +0100 ALSA: pcm - fix page conversion on non-coherent PPC arch The non-cohernet PPC arch doesn't give the correct address by a simple virt_to_page() for pages allocated via dma_alloc_coherent(). This patch adds a hack to fix the conversion similarly like MIPS. Note that this doesn't fix perfectly: the pages should be marked with proper pgprot value. This will be done in a future implementation like the conversion to dma_mmap_coherent(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Takashi Iwai commit 66b6cfacfc5aa2fda37b0d40cd54931ca5ef8cd7 Author: Takashi Iwai Date: Thu Nov 26 12:50:01 2009 +0100 ALSA: pcm - fix page conversion on non-coherent MIPS arch The non-coherent MIPS arch doesn't give the correct address by a simple virt_to_page() for pages allocated via dma_alloc_coherent(). Original patch by Wu Zhangjin . [Ralf mentioned: "The origins of this patch go back far further. The oldest patch I could find which is a superset of this was written by Atsushi Nemoto and various incarnations of it have been sumitted to and reject by me a number of times through the years."] A proper check of the buffer allocation type was added to avoid the wrong conversion. Note that this doesn't fix perfectly: the pages should be marked with proper pgprot value. This will be done in a future implementation like the conversion to dma_mmap_coherent(). Acked-by: Ralf Baechle Signed-off-by: Takashi Iwai commit 415c7d26d28fa10edb46503a8dd5b6440d479c0b Author: Yoichi Yuasa Date: Mon Nov 2 11:37:36 2009 +0900 Add KZM-ARM11-01 support Signed-off-by: Yoichi Yuasa Signed-off-by: Sascha Hauer commit 143a179d6cafe939c881ee918574e3943157ef01 Author: Alan Carvalho de Assis Date: Wed Nov 25 15:24:50 2009 -0200 mx27: Add basic support for Maxtrack i-MXT TD60 Signed-off-by: Alan Carvalho de Assis Signed-off-by: Sascha Hauer commit 97adeda043d4c2e11dcaca64a7e5fd0c4574c3fe Author: Uwe Kleine-König Date: Thu Nov 12 22:56:29 2009 +0100 IMX: don't disable the uart clock if DEBUG_LL uses it Before the clock was left enabled only for DEBUG_LL_CONSOLE which requires an additional patch to exist at all. With this patch applied DEBUG_LL_CONSOLE depends on DEBUG_LL, so this doesn't break. Signed-off-by: Uwe Kleine-König Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 52a11f354970e7301e1d1a029b87535be45abec9 Author: Lai Jiangshan Date: Wed Nov 25 16:33:15 2009 +0800 trace_kprobes: Don't output zero offset "symbol_name+0" is not so friendly. It makes the output longer. Signed-off-by: Lai Jiangshan Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0CEBCB.7080309@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 3d9b2e1ddf42dd3df38af7794fa5e39cce760f3b Author: Lai Jiangshan Date: Wed Nov 25 16:32:47 2009 +0800 trace_kprobes: Always show group name Sometimes the group name is not "kprobes", It'll be better if we can read it from tracing/kprobe_events. # echo 'r:laijs/vfs_read vfs_read %ax' > kprobe_events # cat kprobe_events r:laijs/vfs_read vfs_read %ax=%ax Signed-off-by: Lai Jiangshan Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0CEBAF.6000104@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit abab9d37d2a826fcf588c5f30152dbe05c40111c Author: Lai Jiangshan Date: Wed Nov 25 16:32:21 2009 +0800 trace_kprobes: Fix memory leak tp->nr_args is not set before we "goto error", it causes memory leak for free_trace_probe() use tp->nr_args to free memory of args. Signed-off-by: Lai Jiangshan Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0CEB95.2060107@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 0f1ef51d244809f417bdf45cdb00109fb6005672 Author: Lai Jiangshan Date: Thu Nov 26 15:49:33 2009 +0800 trace_syscalls: Add syscall nr field Field syscall number is missed in syscall_enter_define_fields()/ syscall_exit_define_fields(). Syscall number is also needed for event filter or other users. Signed-off-by: Lai Jiangshan Acked-by: Frederic Weisbecker Cc: Jason Baron Cc: Steven Rostedt LKML-Reference: <4B0E330D.1070206@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit dd1853c3f493f6d22d9e5390b192a07b73d2ac0a Author: Frederic Weisbecker Date: Fri Nov 27 04:55:54 2009 +0100 hw-breakpoints: Use struct perf_event_attr to define kernel breakpoints Kernel breakpoints are created using functions in which we pass breakpoint parameters as individual variables: address, length and type. Although it fits well for x86, this just does not scale across architectures that may support this api later as these may have more or different needs. Pass in a perf_event_attr structure instead because it is meant to evolve as much as possible into a generic hardware breakpoint parameter structure. Reported-by: K.Prasad Signed-off-by: Frederic Weisbecker LKML-Reference: <1259294154-5197-2-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5fa10b28e57f94a90535cfeafe89dcee9f47d540 Author: Frederic Weisbecker Date: Fri Nov 27 04:55:53 2009 +0100 hw-breakpoints: Use struct perf_event_attr to define user breakpoints In-kernel user breakpoints are created using functions in which we pass breakpoint parameters as individual variables: address, length and type. Although it fits well for x86, this just does not scale across archictectures that may support this api later as these may have more or different needs. Pass in a perf_event_attr structure instead because it is meant to evolve as much as possible into a generic hardware breakpoint parameter structure. Reported-by: K.Prasad Signed-off-by: Frederic Weisbecker LKML-Reference: <1259294154-5197-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e5af02261668350b43eb7381648930bde8e872f7 Author: Anton Blanchard Date: Fri Nov 27 13:28:20 2009 +1100 softlockup: Fix hung_task_check_count sysctl I'm seeing spikes of up to 0.5ms in khungtaskd on a large machine. To reduce this source of jitter I tried setting hung_task_check_count to 0: # echo 0 > /proc/sys/kernel/hung_task_check_count which didn't have the intended response. Change to a post increment of max_count, so a value of 0 means check 0 tasks. Signed-off-by: Anton Blanchard Acked-by: Frederic Weisbecker Cc: msb@google.com LKML-Reference: <20091127022820.GU32182@kryten> Signed-off-by: Ingo Molnar commit 5e7565930524410f097f5b04f8aba663089a6ffc Author: Patrick McHardy Date: Wed Nov 25 07:54:54 2009 +0000 vlan: support "loose binding" to the underlying network device Currently the UP/DOWN state of VLANs is synchronized to the state of the underlying device, meaning all VLANs are set down once the underlying device is set down. This causes all routes to the VLAN devices to vanish. Add a flag to specify a "loose binding" mode, in which only the operstate is transfered, but the VLAN device state is independant. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cc83f6d6922018a1b762f67af539867a6b05398e Author: Ben Hutchings Date: Wed Nov 25 16:12:31 2009 +0000 sfc: Do not set net_device::trans_start in self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f30eb23ea50a6be7ea282a2dc3909119892ebc79 Author: Ben Hutchings Date: Wed Nov 25 16:12:24 2009 +0000 sfc: Move inline comment into kernel-doc Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8be4f3e6f7b670529bd67aa1f0319bec1e29ebcf Author: Ben Hutchings Date: Wed Nov 25 16:12:16 2009 +0000 sfc: Change MAC promiscuity and multicast hash at the same time From: Steve Hodgson Currently we can set multicast hash immediately (in atomic context) but must delay setting MAC promiscuity. There is not that much point in deferring one but not the other, and setting the multicast hash on Siena will involve a firmware request. So process them both in efx_mac_work(). Also, set the broadcast bit in the multicast hash in efx_set_multicast_list(), since this is required for both Falcon and Siena. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9007b9fa368b172e6b9a985899080fbebb7d3204 Author: Ben Hutchings Date: Wed Nov 25 16:12:01 2009 +0000 sfc: Simplify XMAC link polling From: Steve Hodgson Only the XMAC on Falcon needs help from the driver to poll and reset the MAC-PHY link (XAUI); GMII is a simple parallel bus and on later NICs firmware takes care of the XAUI link. Also, an XMAC interrupt currently schedules a work item which simply clears a flag (efx_nic::mac_up) to be checked by the regular monitor (or the next link reconfiguration, if that is sooner). Rename the flag to xmac_poll_required, changing its sense. Remove the needless indirection and just set the flag immediately. Call falcon_xmac_poll() directly where required. Add a new generic operation mac_op::check_fault to check the link outside of regular monitoring, as required during self-tests. (Note that this leaves us with an unused work item, but we will immediately have another use for it.) Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fe75820b99ff2de713de23252432f0f9d0ca1d35 Author: Ben Hutchings Date: Wed Nov 25 16:11:45 2009 +0000 sfc: Move Falcon board/PHY/MAC monitoring code to falcon.c Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 55edc6e6ff728681ebc10d418222740705376664 Author: Ben Hutchings Date: Wed Nov 25 16:11:35 2009 +0000 sfc: Split MAC stats DMA initiation and completion From: Steve Hodgson Currently we initiate MAC stats DMA and busy-wait for completion when stats are requested. We can improve on this with a periodic timer to initiate and poll for stats, and opportunistically poll when stats are requested. Since efx_nic::stats_disable_count and efx_stats_{disable,enable}() are Falcon-specific, rename them and move them accordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1dfc5ceacd00365a9089e98643f4b26253d5a6aa Author: Ben Hutchings Date: Wed Nov 25 16:11:19 2009 +0000 sfc: Hold MAC lock for longer in efx_init_port() Although efx_init_port() is only called at probe time and so cannot race with port reconfiguration, most of the functions it calls can expect to be called with the MAC lock held. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 26deba501371c215f95624ede81ab5b611fd7d95 Author: Steve Hodgson Date: Wed Nov 25 16:11:03 2009 +0000 sfc: Only switch Falcon MAC clocks as necessary Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1338344a84f5ea60a6689127d2717845e8564b1a Author: Ben Hutchings Date: Wed Nov 25 16:10:05 2009 +0000 sfc: Remove unused function efx_flush_queues() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 127e6e10ad17585c48cba8e1dcf30d98b90ee583 Author: Ben Hutchings Date: Wed Nov 25 16:09:55 2009 +0000 sfc: Fix bugs in RX queue flushing Avoid overrunning the hardware limit of 4 concurrent RX queue flushes. Expand the queue flush state to support this. Make similar changes to TX flushing to keep the code symmetric. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 44838a447de3b1541cbf845853c4f8999310b0dd Author: Ben Hutchings Date: Wed Nov 25 16:09:41 2009 +0000 sfc: Clean up struct falcon_board and struct falcon_board_data Put all static information in struct falcon_board_type and replace it with a pointer in struct falcon_board. Simplify probing aocordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 734a350a6ccee59647f064fd49cd6cebc5dda48b Author: Ben Hutchings Date: Wed Nov 25 16:09:13 2009 +0000 sfc: Remove unused constant Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8986352a32485f9dd9069e370ffa6d5b0737a854 Author: Ben Hutchings Date: Wed Nov 25 16:09:04 2009 +0000 sfc: Comment corrections Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 332c1ce9e7b0f9285cba0cf3d32bad87a4f8e40a Author: Ben Hutchings Date: Wed Nov 25 16:08:52 2009 +0000 sfc: Strengthen EFX_ASSERT_RESET_SERIALISED Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 80cb9a0f7f381e1c0e9f6dabec6e67db0dd3a0d9 Author: Ben Hutchings Date: Wed Nov 25 16:08:41 2009 +0000 sfc: Treat all MAC registers as 128-bit Although all the defined fields in these registers are within 32 bits, they are architecturally defined as 128-bit like most other Falcon registers. In particular, we must use efx_reado() to ensure proper locking when reading MD_STAT_REG. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 46e1ac0f42c7ff20a7e47c172e4835273b0e6899 Author: Ben Hutchings Date: Wed Nov 25 16:08:30 2009 +0000 sfc: Fix descriptor cache sizes These were accidentally undersized by a factor of 2, which limited performance. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 27c0b1a850cdea6298f573d835782f3337be913c Author: Arnd Bergmann Date: Thu Nov 26 06:07:11 2009 +0000 macvlan: export macvlan mode through netlink In order to support all three modes of macvlan at runtime, extend the existing netlink protocol to allow choosing the mode per macvlan slave interface. This depends on a matching patch to iproute2 in order to become accessible in user land. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 618e1b7482f7a8a4c6c6e8ccbe140e4c331df4e9 Author: Arnd Bergmann Date: Thu Nov 26 06:07:10 2009 +0000 macvlan: implement bridge, VEPA and private mode This allows each macvlan slave device to be in one of three modes, depending on the use case: MACVLAN_PRIVATE: The device never communicates with any other device on the same upper_dev. This even includes frames coming back from a reflective relay, where supported by the adjacent bridge. MACVLAN_VEPA: The new Virtual Ethernet Port Aggregator (VEPA) mode, we assume that the adjacent bridge returns all frames where both source and destination are local to the macvlan port, i.e. the bridge is set up as a reflective relay. Broadcast frames coming in from the upper_dev get flooded to all macvlan interfaces in VEPA mode. We never deliver any frames locally. MACVLAN_BRIDGE: We provide the behavior of a simple bridge between different macvlan interfaces on the same port. Frames from one interface to another one get delivered directly and are not sent out externally. Broadcast frames get flooded to all other bridge ports and to the external interface, but when they come back from a reflective relay, we don't deliver them again. Since we know all the MAC addresses, the macvlan bridge mode does not require learning or STP like the bridge module does. Based on an earlier patch "macvlan: Reflect macvlan packets meant for other macvlan devices" by Eric Biederman. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Cc: Eric Biederman Signed-off-by: David S. Miller commit a1e514c5d0397b5581721aad9b303f7df83b103d Author: Arnd Bergmann Date: Thu Nov 26 06:07:09 2009 +0000 macvlan: cleanup rx statistics We have very similar code for rx statistics in two places in the macvlan driver, with a third one being added in the next patch. Consolidate them into one function to improve overall readability of the driver. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 445409602c09219767c06497c0dc2285eac244ed Author: Arnd Bergmann Date: Thu Nov 26 06:07:08 2009 +0000 veth: move loopback logic to common location The veth driver contains code to forward an skb from the start_xmit function of one network device into the receive path of another device. Moving that code into a common location lets us reuse the code for direct forwarding of data between macvlan ports, and possibly in other drivers. Signed-off-by: Arnd Bergmann Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 1bda8aa86b89d4c9b668000127ff87172f2daa10 Author: Simon Kagstrom Date: Wed Nov 25 22:10:59 2009 +0000 via-velocity: Bump version Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit b06f78f4d06988aca2353fba6376c25726d7e236 Author: Simon Kagstrom Date: Wed Nov 25 22:10:52 2009 +0000 via-velocity: Set tx checksum from ethtool instead of module parameter Defaults to on (as before). Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit c79992fddee28bbd31b35ac297e1068d32930179 Author: Simon Kagstrom Date: Wed Nov 25 22:10:43 2009 +0000 via-velocity: Re-enable transmit scatter-gather support The velocity hardware can handle up to 7 memory segments. This can be turned on and off via ethtool. The support was removed in commit 83c98a8cd04dd0f848574370594886ba3bf56750 but is re-enabled and cleaned up here. It's off by default. Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit 2a5774f7d8b79243542d932a3a476f496d03f0ba Author: Simon Kagstrom Date: Wed Nov 25 22:10:34 2009 +0000 via-velocity: Change DMA_LENGTH_DEF (from the VIA driver) The VIA driver has changed the default for the DMA_LENGTH_DEF parameter. Together with adaptive interrupt supression and NAPI support, this improves performance quite a bit Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit dfff7144b14bab3d8baaeba8926fab371fa4a01e Author: Simon Kagstrom Date: Wed Nov 25 22:10:26 2009 +0000 via-velocity: Implement NAPI support This patch adds NAPI support for VIA velocity. The new velocity_poll function also pairs tx/rx handling twice which improves perforamance on some workloads (e.g., netperf UDP_STREAM) significantly (that part is from the VIA driver). Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit 6dfc4b95b29d89dbdb45de04b1b1ff493ec8016d Author: Simon Kagstrom Date: Wed Nov 25 22:10:12 2009 +0000 via-velocity: Add ethtool interrupt coalescing support (Partially from the upstream VIA driver). Tweaking the number of frames-per-interrupt and timer-until-interrupt can reduce the amount of CPU work quite a lot. Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit da95b2d422b6eb2b76789bbdbfafb7e07c493e7a Author: Simon Kagstrom Date: Wed Nov 25 22:09:53 2009 +0000 via-velocity: Correct 64-byte alignment for rx buffers (From the VIA driver). The current code does not guarantee 64-byte alignment since it simply does int add = skb->data & 63; skb->data += add; (via skb_reserve). So for example, if the skb->data address would be 0x10, this would result in 32-byte alignment (0x10 + 0x10). Correct by adding 64 - (skb->data & 63) instead. Signed-off-by: Simon Kagstrom Signed-off-by: David S. Miller commit 55f532ec3e84410a9393d1a21b1f58518a0958bc Author: David S. Miller Date: Thu Nov 26 15:28:13 2009 -0800 Revert "sparc: Make atomic locks raw" This reverts commit 4df286e52917c95c415400367cfd523dfbb0f93a. Breaks the build as reported by Stephen Rothwell. Signed-off-by: David S. Miller commit b2e74a265ded1a185f762ebaab967e9e0d008dd8 Author: Stephane Eranian Date: Thu Nov 26 09:24:30 2009 -0800 perf_events: Fix read() bogus counts when in error state When a pinned group cannot be scheduled it goes into error state. Normally a group cannot go out of error state without being explicitly re-enabled or disabled. There was a bug in per-thread mode, whereby upon termination of the thread, the group would transition from error to off leading to bogus counts and timing information returned by read(). Fix it by clearing the error state. Signed-off-by: Stephane Eranian Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: perfmon2-devel@lists.sourceforge.net LKML-Reference: <4b0eb9ce.0508d00a.573b.ffffeab6@mx.google.com> Signed-off-by: Ingo Molnar commit 74ea23aa6c9a8bece71b35ddeeb7ad6ae6782cd9 Author: Peter Ujfalusi Date: Thu Nov 26 13:55:11 2009 +0200 ASoC: tlv320dac33: Change RT wq to singlethread wq RT workqueue is going away in the near future, replace it with singlethread wq for now, which is still supported. Signed-off-by: Peter Ujfalusi Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 9eb4a06788a598573c751af1a7e46639afc89513 Author: Takashi Iwai Date: Thu Nov 26 12:43:39 2009 +0100 ALSA: pcm - define snd_pcm_default_page_ops() Add a helper (inline) function as the default page ops. Any hacks wrt the page address conversion will be applied in this function. Signed-off-by: Takashi Iwai commit 657b1989dacf58e83e7a76bca6d4a91a9f294cf6 Author: Takashi Iwai Date: Thu Nov 26 12:40:21 2009 +0100 ALSA: pcm - Use dma_mmap_coherent() if available Use dma_mmap_coherent() for mmapping the buffers allocated via dma_alloc_coherent() if available. Currently, only ARM has this function, so we do temporarily have an ifdef pcm_native.c. This should be handled better globally in future. Signed-off-by: Takashi Iwai commit dd4377b02d9f028006beed1b7b1695ee5d1498b6 Author: Xiaotian Feng Date: Thu Nov 26 19:53:48 2009 +0800 x86/pat: Trivial: don't create debugfs for memtype if pat is disabled If pat is disabled (boot with nopat), there's no need to create debugfs for it, it's empty all the time. Signed-off-by: Xiaotian Feng Cc: Suresh Siddha Cc: Venkatesh Pallipadi Cc: H. Peter Anvin LKML-Reference: <1259236428-16329-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit 4d795fb17a02a87e35782773b88b7a63acfbeaae Author: Ingo Molnar Date: Thu Nov 26 13:11:46 2009 +0100 tracing: Fix kmem event exports Commit 53d0422 ("tracing: Convert some kmem events to DEFINE_EVENT") moved the kmem tracepoint creation from util.c to page_alloc.c, but forgot to move the exports. Move them back. Cc: Li Zefan Cc: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Mel Gorman LKML-Reference: <4B0E286A.2000405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b7b20df91d43d5e59578b8fc16e895c0c8cbd9b5 Author: Hidetoshi Seto Date: Thu Nov 26 14:49:27 2009 +0900 sched, time: Define nsecs_to_jiffies() Use of msecs_to_jiffies() for nsecs_to_cputime() have some problems: - The type of msecs_to_jiffies()'s argument is unsigned int, so it cannot convert msecs greater than UINT_MAX = about 49.7 days. - msecs_to_jiffies() returns MAX_JIFFY_OFFSET if MSB of argument is set, assuming that input was negative value. So it cannot convert msecs greater than INT_MAX = about 24.8 days too. This patch defines a new function nsecs_to_jiffies() that can deal greater values, and that can deal all incoming values as unsigned. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Stanislaw Gruszka Cc: Spencer Candland Cc: Oleg Nesterov Cc: Balbir Singh Cc: Amrico Wang Cc: Thomas Gleixner Cc: John Stultz LKML-Reference: <4B0E16E7.5070307@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit d5b7c78e975302a1bab28263266c39ecb71acad4 Author: Hidetoshi Seto Date: Thu Nov 26 14:49:05 2009 +0900 sched: Remove task_{u,s,g}time() Now all task_{u,s}time() pairs are replaced by task_times(). And task_gtime() is too simple to be an inline function. Cleanup them all. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Stanislaw Gruszka Cc: Spencer Candland Cc: Oleg Nesterov Cc: Balbir Singh Cc: Americo Wang LKML-Reference: <4B0E16D1.70902@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit d180c5bccec02612256fd8076ff3c1fac3429553 Author: Hidetoshi Seto Date: Thu Nov 26 14:48:30 2009 +0900 sched: Introduce task_times() to replace task_{u,s}time() pair Functions task_{u,s}time() are called in pair in almost all cases. However task_stime() is implemented to call task_utime() from its inside, so such paired calls run task_utime() twice. It means we do heavy divisions (div_u64 + do_div) twice to get utime and stime which can be obtained at same time by one set of divisions. This patch introduces a function task_times(*tsk, *utime, *stime) to retrieve utime and stime at once in better, optimized way. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: Stanislaw Gruszka Cc: Spencer Candland Cc: Oleg Nesterov Cc: Balbir Singh Cc: Americo Wang LKML-Reference: <4B0E16AE.906@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit fb3704663058ebb8ec05236f9c984b702550bac5 Author: Uwe Kleine-König Date: Thu Nov 26 11:55:19 2009 +0000 ARM: fix "offest" -> "offset" typo Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina Signed-off-by: Russell King commit ba005e1f417295d28cd1563ab82bc33af07fb16a Author: Masami Hiramatsu Date: Tue Nov 24 16:56:58 2009 -0500 tracepoint: Add signal loss events Add signal_overflow_fail and signal_lose_info tracepoints for signal-lost events. Changes in v3: - Add docbook style comments Changes in v2: - Use siginfo string macro Suggested-by: Roland McGrath Reviewed-by: Jason Baron Signed-off-by: Masami Hiramatsu Acked-by: Roland McGrath Cc: systemtap Cc: DLE Cc: Oleg Nesterov LKML-Reference: <20091124215658.30449.9934.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit f9d4257e01d266e67420cc99d456b6d4c8464f54 Author: Masami Hiramatsu Date: Tue Nov 24 16:56:51 2009 -0500 tracepoint: Add signal deliver event Add a tracepoint where a process gets a signal. This tracepoint shows signal-number, sa-handler and sa-flag. Changes in v3: - Add docbook style comments Changes in v2: - Add siginfo argument - Fix comment Signed-off-by: Masami Hiramatsu Reviewed-by: Jason Baron Acked-by: Roland McGrath Cc: systemtap Cc: DLE Cc: Oleg Nesterov LKML-Reference: <20091124215651.30449.20926.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit d1eb650ff4130972fa21462fa49cd35a2865403b Author: Masami Hiramatsu Date: Tue Nov 24 16:56:45 2009 -0500 tracepoint: Move signal sending tracepoint to events/signal.h Move signal sending event to events/signal.h. This patch also renames sched_signal_send event to signal_generate. Changes in v4: - Fix a typo of task_struct pointer. Changes in v3: - Add docbook style comments Changes in v2: - Add siginfo argument - Add siginfo storing macro Signed-off-by: Masami Hiramatsu Reviewed-by: Jason Baron Acked-by: Roland McGrath Cc: systemtap Cc: DLE Cc: Oleg Nesterov LKML-Reference: <20091124215645.30449.60208.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 918bc960dc630b1a79c0d2991a81985812ff69f5 Author: Jack Steiner Date: Wed Nov 25 10:20:19 2009 -0600 x86: SGI UV: Map low MMR ranges Explicitly mmap the UV chipset MMR address ranges used to access blade-local registers. Although these same MMRs are also mmaped at higher addresses, the low range is more convenient when accessing blade-local registers. The low range addresses always alias to the local blade regardless of the blade id. Signed-off-by: Jack Steiner LKML-Reference: <20091125162018.GA25445@sgi.com> Signed-off-by: Ingo Molnar commit 16bc67edeb49b531940b2ba6c183780a1b5c472d Merge: f663011 047106a Author: Ingo Molnar Date: Thu Nov 26 10:50:39 2009 +0100 Merge branch 'sched/urgent' into sched/core Merge reason: Pick up fixes that did not make it into .32.0 Signed-off-by: Ingo Molnar commit 8ec6993d9f7d961014af970ded57542961fe9ad9 Author: Brian Gerst Date: Wed Nov 25 11:17:36 2009 -0500 x86, 64-bit: Set data segments to null after switching to 64-bit mode This prevents kernel threads from inheriting non-null segment selectors, and causing optimizations in __switch_to() to be ineffective. Signed-off-by: Brian Gerst Cc: Tim Blechmann Cc: Linus Torvalds Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Jan Beulich LKML-Reference: <1259165856-3512-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 80bbf6b641c8843b9d751a1f299aa7ee073ab9d4 Author: Frederic Weisbecker Date: Wed Nov 25 21:20:53 2009 +0100 hw-breakpoints: Fix unused function in off-case bp_perf_event_destroy() is unused in its off-case version, let's remove it to fix the following warning reported by Stephen Rothwell in linux-next: kernel/perf_event.c:4306: warning: 'bp_perf_event_destroy' defined but not used Reported-by: Stephen Rothwell Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: <1259180453-5813-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8e550632cccae34e265cb066691945515eaa7fb5 Author: Corrado Zoccolo Date: Thu Nov 26 10:02:58 2009 +0100 cfq-iosched: fix corner cases in idling logic Idling logic was disabled in some corner cases, leading to unfair share for noidle queues. * the idle timer was not armed if there were other requests in the driver. unfortunately, those requests could come from other workloads, or queues for which we don't enable idling. So we will check only pending requests from the active queue * rq_noidle check on no-idle queue could disable the end of tree idle if the last completed request was rq_noidle. Now, we will disable that idle only if all the queues served in the no-idle tree had rq_noidle requests. Reported-by: Vivek Goyal Signed-off-by: Corrado Zoccolo Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit 76280aff1c7e9ae761cac4b48591c43cd7d69159 Author: Corrado Zoccolo Date: Thu Nov 26 10:02:58 2009 +0100 cfq-iosched: idling on deep seeky sync queues Seeky sync queues with large depth can gain unfairly big share of disk time, at the expense of other seeky queues. This patch ensures that idling will be enabled for queues with I/O depth at least 4, and small think time. The decision to enable idling is sticky, until an idle window times out without seeing a new request. The reasoning behind the decision is that, if an application is using large I/O depth, it is already optimized to make full utilization of the hardware, and therefore we reserve a slice of exclusive use for it. Reported-by: Vivek Goyal Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit e4a229196a7c676514c78f6783f8994f64bf681c Author: Corrado Zoccolo Date: Thu Nov 26 10:02:58 2009 +0100 cfq-iosched: fix no-idle preemption logic An incoming no-idle queue should preempt the active no-idle queue only if the active queue is idling due to service tree empty. Previous code was buggy in two ways: * it relied on service_tree field to be set on the active queue, while it is not set when the code is idling for a new request * it didn't check for the service tree empty condition, so could lead to LIFO behaviour if multiple queues with depth > 1 were preempting each other on an non-NCQ device. Reported-by: Vivek Goyal Signed-off-by: Corrado Zoccolo Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit 64b028b22616946a05bf9580f7f7f7ee2ac070b4 Author: Ingo Molnar Date: Thu Nov 26 10:37:55 2009 +0100 x86: Clean up the loadsegment() macro Make it readable in the source too, not just in the assembly output. No change in functionality. Cc: Brian Gerst LKML-Reference: <1259176706-5908-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 79b0379cee09b00ef309384aff652e328e438c79 Author: Brian Gerst Date: Wed Nov 25 14:18:26 2009 -0500 x86: Optimize loadsegment() Zero the input register in the exception handler instead of using an extra register to pass in a zero value. Signed-off-by: Brian Gerst LKML-Reference: <1259176706-5908-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 767df1bdd8cbff2c8c40c9ac8295bbdaa5fb24c4 Author: Hidetoshi Seto Date: Thu Nov 26 17:29:02 2009 +0900 x86, mce: Add __cpuinit to hotplug callback functions The mce_disable_cpu() and mce_reenable_cpu() are called only from mce_cpu_callback() which is marked as __cpuinit. So these functions can be __cpuinit too. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen LKML-Reference: <4B0E3C4E.4090809@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit feae3203d711db0a9965300ee6d592257fdaae4f Author: Mike Travis Date: Tue Nov 17 18:22:13 2009 -0600 timers, init: Limit the number of per cpu calibration bootup messages Limit the number of per cpu calibration messages by only printing out results for the first cpu to boot. Also, don't print "CPUx is down" as this is expected, and we don't need 4096 reminders... ;-) Signed-off-by: Mike Travis Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Andi Kleen Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091118002219.889552000@alcatraz.americas.sgi.com> Signed-off-by: Ingo Molnar commit 9b3660a55a9052518c91cc7c62d89e22f3f6f490 Author: Mike Travis Date: Tue Nov 17 18:22:16 2009 -0600 x86: Limit number of per cpu TSC sync messages Limit the number of per cpu TSC sync messages by only printing to the console if an error occurs, otherwise print as a DEBUG message. The info message "Skipping synchronization ..." is only printed after the last cpu has booted. Signed-off-by: Mike Travis Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Andi Kleen Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091118002222.181053000@alcatraz.americas.sgi.com> Signed-off-by: Ingo Molnar commit f6630114d9198aa959ac95c131334c020038f253 Author: Mike Travis Date: Tue Nov 17 18:22:15 2009 -0600 sched: Limit the number of scheduler debug messages Remove the verbose scheduler debug messages unless kernel parameter "sched_debug" set. /proc/sched_debug unchanged. Signed-off-by: Mike Travis Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Andi Kleen Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091118002221.489305000@alcatraz.americas.sgi.com> Signed-off-by: Ingo Molnar commit 0b587fc4d35afb1bc0fc3d890084bb14c78372dc Author: Daniel T Chen Date: Wed Nov 25 18:27:20 2009 -0500 ALSA: hda: Fix max PCM level to 0 dB for Fujitsu-Siemens laptops using CX20549 (Venice) BugLink: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4792 Cristian reported that these models have really bad sound above 6 dB and proposed the original patch. I've updated the comment to reflect this change. Signed-off-by: Daniel T Chen Reported-by: Cristian Klein Signed-off-by: Takashi Iwai commit e459dd08f45d2aa68abb0c02f8ab045cf8a598b8 Author: Corrado Zoccolo Date: Thu Nov 26 10:02:57 2009 +0100 cfq-iosched: fix ncq detection code CFQ's detection of queueing devices initially assumes a queuing device and detects if the queue depth reaches a certain threshold. However, it will reconsider this choice periodically. Unfortunately, if device is considered not queuing, CFQ will force a unit queue depth for some workloads, thus defeating the detection logic. This leads to poor performance on queuing hardware, since the idle window remains enabled. Given this premise, switching to hw_tag = 0 after we have proved at least once that the device is NCQ capable is not a good choice. The new detection code starts in an indeterminate state, in which CFQ behaves as if hw_tag = 1, and then, if for a long observation period we never saw large depth, we switch to hw_tag = 0, otherwise we stick to hw_tag = 1, without reconsidering it again. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 75e7b634309ef4eabf8a93d36e58863f727fa209 Merge: d9449ce 35a8a3f Author: Jens Axboe Date: Thu Nov 26 09:46:51 2009 +0100 Merge branch 'for-jens' of git://git.drbd.org/linux-2.6-drbd into for-2.6.33 commit d9449ce35a1e8fb58dd2d419f9215562a14ecca0 Author: Vivek Goyal Date: Thu Nov 26 09:45:40 2009 +0100 Fix regression in direct writes performance due to WRITE_ODIRECT flag removal There seems to be a regression in direct write path due to following commit in for-2.6.33 branch of block tree. commit 1af60fbd759d31f565552fea315c2033947cfbe6 Author: Jeff Moyer Date: Fri Oct 2 18:56:53 2009 -0400 block: get rid of the WRITE_ODIRECT flag Marking direct writes as WRITE_SYNC_PLUG instead of WRITE_ODIRECT, sets the NOIDLE flag in bio and hence in request. This tells CFQ to not expect more request from the queue and not idle on it (despite the fact that queue's think time is less and it is not seeky). So direct writers lose big time when competing with sequential readers. Using fio, I have run one direct writer and two sequential readers and following are the results with 2.6.32-rc7 kernel and with for-2.6.33 branch. Test ==== 1 direct writer and 2 sequential reader running simultaneously. [global] directory=/mnt/sdc/fio/ runtime=10 [seqwrite] rw=write size=4G direct=1 [seqread] rw=read size=2G numjobs=2 2.6.32-rc7 ========== direct writes: aggrb=2,968KB/s readers : aggrb=101MB/s for-2.6.33 branch ================= direct write: aggrb=19KB/s readers aggrb=137MB/s This patch brings back the WRITE_ODIRECT flag, with the difference that we don't set the BIO_RW_UNPLUG flag so that device is not unplugged after submission of request and an explicit unplug from submitter is required. That way we fix the jeff's issue of not enough merging taking place in aio path as well as make sure direct writes get their fair share. After the fix ============= for-2.6.33 + fix ---------------- direct writes: aggrb=2,728KB/s reads: aggrb=103MB/s Thanks Vivek Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit c16632bab1a17e357cec66920ceb3f0630009360 Author: Corrado Zoccolo Date: Thu Nov 26 09:41:21 2009 +0100 cfq-iosched: cleanup unreachable code cfq_should_idle returns false for no-idle queues that are not the last, so the control flow will never reach the removed code in a state that satisfies the if condition. The unreachable code was added to emulate previous cfq behaviour for non-NCQ rotational devices. My tests show that even without it, the performances and fairness are comparable with previous cfq, thanks to the fact that all seeky queues are grouped together, and that we idle at the end of the tree. Signed-off-by: Corrado Zoccolo Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit 11e6635763bdc0e24b39a38876574660755acffc Author: Andrew Morton Date: Wed Nov 25 23:01:50 2009 -0800 kernel/hw_breakpoint.c: Fix local/global shadowing If the new percpu tree is combined with the perf events tree the following new warning triggers: kernel/hw_breakpoint.c: In function 'toggle_bp_task_slot': kernel/hw_breakpoint.c:151: warning: 'task_bp_pinned' is used uninitialized in this function Because it's not valid anymore to define a local variable and a percpu variable (even if it's file scope local) with the same name. Rename the local variable to resolve this. Signed-off-by: Andrew Morton Cc: Frederic Weisbecker Cc: K.Prasad Cc: Tejun Heo Cc: Linus Torvalds LKML-Reference: <200911260701.nAQ71owx016356@imap1.linux-foundation.org> [ v2: added changelog ] Signed-off-by: Ingo Molnar commit 2c31b7958fd21df9fa04e5c36cda0f063ac70b27 Author: Frederic Weisbecker Date: Thu Nov 26 06:04:38 2009 +0100 x86/hw-breakpoints: Don't lose GE flag while disabling a breakpoint When we schedule out a breakpoint from the cpu, we also incidentally remove the "Global exact breakpoint" flag from the breakpoint control register. It makes us losing the fine grained precision about the origin of the instructions that may trigger breakpoint exceptions for the other breakpoints running in this cpu. Reported-by: Prasad Signed-off-by: Frederic Weisbecker LKML-Reference: <1259211878-6013-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 605bfaee9078cd0b01d83402315389839ee4bb5c Author: Frederic Weisbecker Date: Thu Nov 26 05:35:42 2009 +0100 hw-breakpoints: Simplify error handling in breakpoint creation requests This simplifies the error handling when we create a breakpoint. We don't need to check the NULL return value corner case anymore since we have improved perf_event_create_kernel_counter() to always return an error code in the failure case. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Prasad LKML-Reference: <1259210142-5714-3-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c6567f642e20bcc79abed030f44be5b0d6da2ded Author: Frederic Weisbecker Date: Thu Nov 26 05:35:41 2009 +0100 hw-breakpoints: Improve in-kernel event creation error granularity In fail case, perf_event_create_kernel_counter() returns NULL instead of an error, which doesn't help us to inform the user about the origin of the problem from the outer most callers. Often we can just return -EINVAL, which doesn't help anyone when it's eventually about a memory allocation failure. Then, this patch makes perf_event_create_kernel_counter() always return a detailed error code. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1259210142-5714-2-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit d99be40aff88722ab03ee295e4f6c13a4cca9a3d Author: Frederic Weisbecker Date: Thu Nov 26 05:35:40 2009 +0100 ksym_tracer: Fix breakpoint removal after modification The error path of a breakpoint modification is broken in the ksym tracer. A modified breakpoint hlist node is immediately released after its removal. Also we leak a breakpoint in this case. Fix the path. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Prasad LKML-Reference: <1259210142-5714-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2d4dc890b5c8fabd818a8586607e6843c4375e62 Author: Ilya Loginov Date: Thu Nov 26 09:16:19 2009 +0100 block: add helpers to run flush_dcache_page() against a bio and a request's pages Mtdblock driver doesn't call flush_dcache_page for pages in request. So, this causes problems on architectures where the icache doesn't fill from the dcache or with dcache aliases. The patch fixes this. The ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid pointless empty cache-thrashing loops on architectures for which flush_dcache_page() is a no-op. Every architecture was provided with this flush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is equal 1 or do nothing otherwise. See "fix mtd_blkdevs problem with caches on some architectures" discussion on LKML for more information. Signed-off-by: Ilya Loginov Cc: Ingo Molnar Cc: David Woodhouse Cc: Peter Horton Cc: "Ed L. Cashin" Signed-off-by: Jens Axboe commit 3586e917f2c7df769d173c4ec99554cb40a911e5 Author: Gui Jianfeng Date: Thu Nov 26 09:14:11 2009 +0100 cfq: Make use of service count to estimate the rb_key offset For the moment, different workload cfq queues are put into different service trees. But CFQ still uses "busy_queues" to estimate rb_key offset when inserting a cfq queue into a service tree. I think this isn't appropriate, and it should make use of service tree count to do this estimation. This patch is for for-2.6.33 branch. Signed-off-by: Gui Jianfeng Signed-off-by: Jens Axboe commit 470dda7417f284b9cfc96560b2acd98df63798a2 Author: Li Zefan Date: Thu Nov 26 15:08:01 2009 +0800 tracing: Restore original format of sched events The original format for sched_stat_iowait and sched_stat_sleep: $ cat events/sched/sched_stat_iowait/format ... print fmt: "comm=%s pid=%d delay=%Lu [ns]", ... $ cat events/sched/sched_stat_sleep/format ... print fmt: "comm=%s pid=%d delay=%Lu [ns]", ... But commit commit 75ec29ab848a7e92a41aaafaeb33d1afbc839be4 ("tracing: Convert some sched trace events to DEFINE_EVENT and _PRINT") broke the format: $ cat events/sched/sched_stat_iowait/format print fmt: "task: %s:%d iowait: %Lu [ns]", ... $ cat events/sched/sched_stat_sleep/format print fmt: "task: %s:%d sleep: %Lu [ns]", ... No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E2951.9050800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b5eb34c3592545c756e50d882c08417eb60740a7 Author: Li Zefan Date: Thu Nov 26 15:07:36 2009 +0800 tracing: Convert some ext4 events to DEFINE_TRACE Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 294695 6104 340 301139 49853 fs/ext4/ext4.o.old 289983 6104 324 296411 485db fs/ext4/ext4.o 5 events are convertd: ext4__write_begin: ext4_write_begin, ext4_da_write_begin ext4__write_end: ext4_{ordered, writeback, journalled}_write_end No change in functionality. Signed-off-by: Li Zefan Cc: Theodore Ts'o Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E2938.2040708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 071688f36e7eba3e37b2fc48e35bfdab99b80b4d Author: Li Zefan Date: Thu Nov 26 15:06:55 2009 +0800 tracing: Convert some jbd2 events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 34903 1693 448 37044 90b4 fs/jbd2/journal.o.old 31931 1693 416 34040 84f8 fs/jbd2/journal.o Four events are converted: jbd2_commit: jbd2_start_commit, jbd2_commit_{locking, flushing, logging} No change in functionality. Signed-off-by: Li Zefan Cc: Theodore Ts'o Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E290F.7030909@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 77ca1e0294f25fc26053ba14353e703158acef26 Author: Li Zefan Date: Thu Nov 26 15:06:14 2009 +0800 tracing: Convert some block events to DEFINE_EVENT use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 53570 3284 184 57038 dece block/blk-core.o.old 43702 3284 144 47130 b81a block/blk-core.o 12 events are converted: block_rq: block_rq_insert, block_rq_issue block_rq_with_error: block_rq_{abort, requeue, complete} block_bio: block_bio_{backmerge, frontmerge, queue} block_get_rq: block_getrq, block_sleeprq block_unplug: block_unplug_timer, block_unplug_io No change in functionality. Signed-off-by: Li Zefan Cc: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E28E6.7060609@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7703466b4c0a21b88d701882bef0d45bcb0a0281 Author: Li Zefan Date: Thu Nov 26 15:05:38 2009 +0800 tracing: Convert some power events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 4312 524 12 4848 12f0 kernel/trace/power-traces.o.old 3455 524 8 3987 f93 kernel/trace/power-traces.o Two events are converted: power: power_start, power_frequency No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arjan van de Ven LKML-Reference: <4B0E28C2.1090906@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 382ece710bf88b08440b598731361e5a47582b62 Author: Li Zefan Date: Thu Nov 26 15:05:03 2009 +0800 tracing: Convert some workqueue events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 13171 800 72 14043 36db kernel/workqueue.o.old 12243 800 68 13111 3337 kernel/workqueue.o Two events are converted: workqueue: workqueue_insertion, workqueue_execution No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E289F.5010104@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c467307c1a812c3150b27a68c2b2d3397bb40a4f Author: Li Zefan Date: Thu Nov 26 15:04:31 2009 +0800 tracing: Convert softirq events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 12781 952 36 13769 35c9 kernel/softirq.o.old 11981 952 32 12965 32a5 kernel/softirq.o Two events are converted: softirq: softirq_entry, softirq_exit No change in functionality. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E287F.4030708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 53d0422c2d10808fddb2c30859193bfea164c7e3 Author: Li Zefan Date: Thu Nov 26 15:04:10 2009 +0800 tracing: Convert some kmem events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 333987 69800 27228 431015 693a7 mm/built-in.o.old 330030 69800 27228 427058 68432 mm/built-in.o 8 events are converted: kmem_alloc: kmalloc, kmem_cache_alloc kmem_alloc_node: kmalloc_node, kmem_cache_alloc_node kmem_free: kfree, kmem_cache_free mm_page: mm_page_alloc_zone_locked, mm_page_pcpu_drain No change in functionality. Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Mel Gorman LKML-Reference: <4B0E286A.2000405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 925684d6d589e40e41007edf47c69e729d911263 Author: Li Zefan Date: Thu Nov 26 15:03:23 2009 +0800 tracing: Convert module refcnt events to DEFINE_EVENT Use DECLARE_EVENT_CLASS to remove duplicate code: text data bss dec hex filename 29854 1980 128 31962 7cda kernel/module.o.old 28750 1980 128 30858 788a kernel/module.o Two events are converted: module_refcnt: module_get, module_put No change in functionality. Signed-off-by: Li Zefan Cc: Rusty Russell Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E283B.3010508@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 091ad3658e3c76c5fb05f65bfb64a0246f8f31b5 Author: Ingo Molnar Date: Thu Nov 26 09:04:55 2009 +0100 events: Rename TRACE_EVENT_TEMPLATE() to DECLARE_EVENT_CLASS() It is not quite obvious at first sight what TRACE_EVENT_TEMPLATE does: does it define an event as well beyond defining a template? To clarify this, rename it to DECLARE_EVENT_CLASS, which follows the various 'DECLARE_*()' idioms we already have in the kernel: DECLARE_EVENT_CLASS(class) DEFINE_EVENT(class, event1) DEFINE_EVENT(class, event2) DEFINE_EVENT(class, event3) To complete this logic we should also rename TRACE_EVENT() to: DEFINE_SINGLE_EVENT(single_event) ... but in a more quiet moment of the kernel cycle. Cc: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B0E286A.2000405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 67f2de0bf9141dd9fe9189d0caaa28d7ad21a523 Author: Ingo Molnar Date: Thu Nov 26 08:29:10 2009 +0100 x86: dumpstack, 64-bit: Disable preemption when walking the IRQ/exception stacks This warning: [ 847.140022] rb_producer D 0000000000000000 5928 519 2 0x00000000 [ 847.203627] BUG: using smp_processor_id() in preemptible [00000000] code: khungtaskd/517 [ 847.207360] caller is show_stack_log_lvl+0x2e/0x241 [ 847.210364] Pid: 517, comm: khungtaskd Not tainted 2.6.32-rc8-tip+ #13761 [ 847.213395] Call Trace: [ 847.215847] [] debug_smp_processor_id+0x1f0/0x20a [ 847.216809] [] show_stack_log_lvl+0x2e/0x241 [ 847.220027] [] show_stack+0x1c/0x1e [ 847.223365] [] sched_show_task+0xe4/0xe9 [ 847.226694] [] check_hung_task+0x140/0x199 [ 847.230261] [] check_hung_uninterruptible_tasks+0x1b7/0x20f [ 847.233371] [] ? watchdog+0x0/0x50 [ 847.236683] [] watchdog+0x4e/0x50 [ 847.240034] [] kthread+0x97/0x9f [ 847.243372] [] child_rip+0xa/0x20 [ 847.246690] [] ? restore_args+0x0/0x30 [ 847.250019] [] ? _spin_lock+0xe/0x10 [ 847.253351] [] ? kthread+0x0/0x9f [ 847.256833] [] ? child_rip+0x0/0x20 Happens because on preempt-RCU, khungd calls show_stack() with preemption enabled. Make sure we are not preemptible while walking the IRQ and exception stacks on 64-bit. (32-bit stack dumping is preemption safe.) Signed-off-by: Ingo Molnar commit b803090615ccec669681ff85ce28671e7bfefa3d Author: Ingo Molnar Date: Thu Nov 26 08:17:31 2009 +0100 x86: dumpstack: Clean up the x86_stack_ids[][] initalization and other details Make the initialization more readable, plus tidy up a few small visual details as well. No change in functionality. LKML-Reference: Signed-off-by: Ingo Molnar commit 350f75960c8ba317935b4274c56c16412e085b08 Author: Alexey Dobriyan Date: Wed Nov 25 15:54:21 2009 -0800 r8169: move PHY regs tables to .rodata As side effect, consume less stack. -rtl8169_get_mac_version [vmlinux]: 432 -rtl8169_init_one [vmlinux]: 376 +rtl8169_init_one [vmlinux]: 136 Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit bc74b0c8af17458ecae77f725e507ab5fd100105 Author: Martin Willi Date: Wed Nov 25 00:58:39 2009 +0000 xfrm: Add SHA384 and SHA512 HMAC authentication algorithms to XFRM These algorithms use a truncation of 192/256 bits, as specified in RFC4868. Signed-off-by: Martin Willi Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 8f8a088c2127c729638da8f2d33860e346c01eda Author: Martin Willi Date: Wed Nov 25 00:29:53 2009 +0000 xfrm: Use the user specified truncation length in ESP and AH Instead of using the hardcoded truncation for authentication algorithms, use the truncation length specified on xfrm_state. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit 4447bb33f09444920a8f1d89e1540137429351b6 Author: Martin Willi Date: Wed Nov 25 00:29:52 2009 +0000 xfrm: Store aalg in xfrm_state with a user specified truncation length Adding a xfrm_state requires an authentication algorithm specified either as xfrm_algo or as xfrm_algo_auth with a specific truncation length. For compatibility, both attributes are dumped to userspace, and we also accept both attributes, but prefer the new syntax. If no truncation length is specified, or the authentication algorithm is specified using xfrm_algo, the truncation length from the algorithm description in the kernel is used. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit 4e242d1616781f9f1f0b01abf878700b259cd8b5 Author: Martin Willi Date: Wed Nov 25 00:29:51 2009 +0000 xfrm: Define new XFRM netlink auth attribute with specified truncation bits The new XFRMA_ALG_AUTH_TRUNC attribute taking a xfrm_algo_auth as argument allows the installation of authentication algorithms with a truncation length specified in userspace, i.e. SHA256 with 128 bit instead of 96 bit truncation. Signed-off-by: Martin Willi Signed-off-by: David S. Miller commit a661c4199b300503dae694efa21f1354f763b97c Author: Alexey Dobriyan Date: Wed Nov 25 15:40:35 2009 -0800 net: convert /proc/net/rt_acct to seq_file Rewrite statistics accumulation to be in terms of structure fields, not raw u32 additions. Keep them in same order, though. This is the last user of create_proc_read_entry() in net/, please NAK all new ones as well as all new ->write_proc, ->read_proc and create_proc_entry() users. Cc me if there are problems. :-) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0448f5e88443667d6a2e809eb470960bdbb07657 Author: Boaz Harrosh Date: Wed Nov 25 15:19:17 2009 -0800 sparc: remove unused nfsd #includes Some unused includes removed. In an effort to cleanup nfsd headers and move private definitions to source directory. Signed-off-by: Boaz Harrosh Signed-off-by: David S. Miller commit 09ad9bc752519cc167d0a573e1acf69b5c707c67 Author: Octavian Purdila Date: Wed Nov 25 15:14:13 2009 -0800 net: use net_eq to compare nets Generated with the following semantic patch @@ struct net *n1; struct net *n2; @@ - n1 == n2 + net_eq(n1, n2) @@ struct net *n1; struct net *n2; @@ - n1 != n2 + !net_eq(n1, n2) applied over {include,net,drivers/net}. Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 4421752e331cfb1d942b47ffdb26e451a8da58a0 Author: Ranjith Lohithakshan Date: Wed Nov 18 18:41:09 2009 -0800 AM35xx: Defconfig for AM3517 EVM board This patch adds a minimal defconfig for AM3517 EVM board. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Tony Lindgren commit c625327e2f5a506a89563e14ed837c82fa61548f Author: Ranjith Lohithakshan Date: Wed Nov 18 18:41:09 2009 -0800 AM35xx: Add support for AM3517 EVM board This patch creates a minimal AM3517 EVM board support. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Tony Lindgren commit 62002e8f82c00a4efdbdc69ebfc540fddf28aae0 Author: vikram pandita Date: Wed Nov 18 18:41:08 2009 -0800 omap: 3630sdp: defconfig creation Create 3630sdp defconfig file Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 34c9ac2376fbd04399be92312e4fa1e19a638eaa Author: vikram pandita Date: Wed Nov 18 18:41:08 2009 -0800 omap: 3630sdp: introduce 3630 sdp board support Add 3630SDP board support The board shares the same peripherals as a zoom2 main. So reuse the peripheral file of zoom platform. Peripheral zoom2 zoom3 sdp3630 --------------------------------------- Ethernet smsc smsc smc NOR n/a n/a B Onenand n/a n/a B HDMI A A B (persent on different i2c) NAND A A A (same nand) SDRAM A A A (same sdram) Keypad A A A (same twl) Camera A A A (same sensor can be mounted) LCD Display A A A (same wvga display) OPPs A A A (same chip feature) Audio A A A (same audio via twl5030) OMAP3630 details can be found here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606 Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 9d9e5027252f7a610bad928bcba906fbb838e3ba Author: Enric Balletbo i Serra Date: Wed Nov 18 18:41:08 2009 -0800 omap3: Add defconfig for IGEP v2 board Add defconfig for IGEP v2 board Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 58e111621d402d41cb0cabae7c532d6194b7d943 Author: Enric Balletbo i Serra Date: Wed Nov 18 18:41:07 2009 -0800 omap3: Add minimal IGEP v2 support The IGEP v2 board is a low-cost, fan-less and industrial temperature range single board computer that unleashes laptop-like performance and expandability without the bulk, expense, or noise of typical desktop machines. Its architecture shares much in common with other OMAP3 boards. Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 35ca0d1e4292d1bf4a0d50de4c71dbaf73db0a31 Author: Mike Rapoport Date: Wed Nov 18 18:41:07 2009 -0800 omap3: Add CompuLab CM-T35 defconfig Add CompuLab CM-T35 defconfig Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit 2886d128d8ff83af88b9cbe6dbf7f0d2bbee8d76 Author: Mike Rapoport Date: Wed Nov 18 18:41:07 2009 -0800 omap3: Add CompuLab CM-T35 board support This patch adds basic support for CompuLab CM-T35 module. Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit 04658fba2314d6d70d5fa05c0b5995e6428aacc3 Author: John W. Linville Date: Fri Nov 13 13:12:59 2009 -0500 ath9k: remove warnings related to signed/unsigned type mismatch CC [M] drivers/net/wireless/ath/ath9k/recv.o drivers/net/wireless/ath/ath9k/recv.c: In function `ath_rx_prepare': drivers/net/wireless/ath/ath9k/recv.c:208: warning: comparison is always true due to limited range of data type drivers/net/wireless/ath/ath9k/recv.c:220: warning: comparison is always false due to limited range of data type Signed-off-by: John W. Linville commit c0fa59df7214e546f8a37bc677867ac7b67b5c93 Author: Mark Brown Date: Thu Nov 19 11:36:10 2009 +0000 ASoC: Add BCLK calculation utility for TDM mode too Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit b8007ef7422270864eae523cb38d7522a53a94d3 Author: Lai Jiangshan Date: Tue Nov 3 13:45:32 2009 +0800 tracing: Separate raw syscall from syscall tracer The current syscall tracer mixes raw syscalls and real syscalls. echo 1 > events/syscalls/enable And we get these from the output: (XXXX insteads " grep-20914 [001] 588211.446347" .. etc) XXXX: sys_read(fd: 3, buf: 80609a8, count: 7000) XXXX: sys_enter: NR 3 (3, 80609a8, 7000, a, 1000, bfce8ef8) XXXX: sys_read -> 0x138 XXXX: sys_exit: NR 3 = 312 XXXX: sys_read(fd: 3, buf: 8060ae0, count: 7000) XXXX: sys_enter: NR 3 (3, 8060ae0, 7000, a, 1000, bfce8ef8) XXXX: sys_read -> 0x138 XXXX: sys_exit: NR 3 = 312 There are 2 drawbacks here. A) two almost identical records are saved in ringbuffer when a syscall enters or exits. (4 records for every syscall) This wastes precious space in the ring buffer. B) the lines including "sys_enter/sys_exit" produces hardly any useful information for the output (no labels). The user can use this method to prevent these drawbacks: echo 1 > events/syscalls/enable echo 0 > events/syscalls/sys_enter/enable echo 0 > events/syscalls/sys_exit/enable But this is not user friendly. So we separate raw syscall from syscall tracer. After this fix applied: syscall tracer's output (echo 1 > events/syscalls/enable): XXXX: sys_read(fd: 3, buf: bfe87d88, count: 200) XXXX: sys_read -> 0x200 XXXX: sys_fstat64(fd: 3, statbuf: bfe87c98) XXXX: sys_fstat64 -> 0x0 XXXX: sys_close(fd: 3) raw syscall tracer's output (echo 1 > events/raw_syscalls/enable): XXXX: sys_enter: NR 175 (0, bf92bf18, bf92bf98, 8, b748cff4, bf92bef8) XXXX: sys_exit: NR 175 = 0 XXXX: sys_enter: NR 175 (2, bf92bf98, 0, 8, b748cff4, bf92bef8) XXXX: sys_exit: NR 175 = 0 XXXX: sys_enter: NR 3 (9, bf927f9c, 4000, b77e2518, b77dce60, bf92bff8) Signed-off-by: Lai Jiangshan LKML-Reference: <4AEFC37C.5080609@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 7ac074340480018681a0d72b324d4487543bdc0e Author: Steven Rostedt Date: Wed Nov 25 13:22:21 2009 -0500 ring-buffer-benchmark: Add parameters to set produce/consumer priorities Running the ring-buffer-benchmark's threads at the lowest priority may work well for keeping it in the background, but it is not appropriate for the benchmarks. This patch adds 4 parameters to the module: consumer_fifo consumer_nice producer_fifo producer_nice By default the consumer and producer still run at nice +19. If the *_fifo options are set, they will override the *_nice values. modprobe ring_buffer_benchmark consumer_nice=0 producer_fifo=10 The above will set the consumer thread to a nice value of 0, and the producer thread to a RT SCHED_FIFO priority of 10. Note, this patch also fixes a bug where calling set_user_nice on the consumer thread would oops the kernel when the parameter "disable_reader" is set. Signed-off-by: Steven Rostedt commit efe117ab8114f47f317b4803e5bc0104420bcba2 Author: Eric Dumazet Date: Thu Nov 5 11:06:40 2009 +0100 mac80211: Speedup ieee80211_remove_interfaces() Speedup ieee80211_remove_interfaces() by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 35a8a3fdcd4f973a5430e868f2f2a5c363803a5b Author: Philipp Reisner Date: Wed Nov 25 17:50:00 2009 +0100 drbd: moved CN_IDX_DRBD and CN_VAL_DRBD to the right file Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 2449ae85e3c88ef27853aef0d19772149e269ae7 Merge: 97cef58 b5e102c Author: Mark Brown Date: Wed Nov 25 14:25:36 2009 +0000 Merge branch 'twl4030-mfd' into for-2.6.33 commit b5e102cdcfb4a5d4349a9628eb5ad11bd65a1f3b Author: Daniel J Blueman Date: Wed Nov 25 12:12:59 2009 +0000 mfd: twl4030: fix ELF section mismatch... Since twl4030_probe is only called from functions in the init ELF section, annotate it so. Signed-off-by: Daniel J Blueman Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 28b4e0d86acf59ae3bc422921138a4958458326e Author: Tejun Heo Date: Wed Nov 25 22:24:44 2009 +0900 x86: Rename global percpu symbol dr7 to cpu_dr7 Percpu symbols now occupy the same namespace as other global symbols and as such short global symbols without subsystem prefix tend to collide with local variables. dr7 percpu variable used by x86 was hit by this. Rename it to cpu_dr7. The rename also makes it more consistent with its fellow cpu_debugreg percpu variable. Signed-off-by: Tejun Heo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Rusty Russell Cc: Christoph Lameter Cc: Linus Torvalds , Cc: Andrew Morton LKML-Reference: <20091125115856.GA17856@elte.hu> Signed-off-by: Ingo Molnar Reported-by: Stephen Rothwell commit 93335a21557e80f6a99bc2812c634e488139043c Author: Shmulik Ladkani Date: Wed Nov 25 15:23:41 2009 +0200 sched.c: Call debug_show_all_locks() when dumping all tasks In commit v2.6.21-691-g39bc89f ("make SysRq-T show all tasks again") the interface of show_state_filter() was changed: zero valued 'state_filter' specifies "dump all tasks" (instead of -1). However, the condition for calling debug_show_all_locks() ("show locks if all tasks are dumped") was not updated accordingly. Signed-off-by: Shmulik Ladkani Cc: peterz@infradead.org LKML-Reference: <4b0d2fe4.0ab6660a.6437.3cfc@mx.google.com> Signed-off-by: Ingo Molnar commit 273bee27fa9f79d94b78c83506016f2e41e78983 Author: FUJITA Tomonori Date: Wed Nov 25 08:46:28 2009 +0900 x86: Fix iommu=soft boot option iommu=soft boot option forces the kernel to use swiotlb. ( This has the side-effect of enabling the swiotlb over the GART if this boot option is provided. This is the desired behavior of the swiotlb boot option and works like that for all other hw-IOMMU drivers. ) Signed-off-by: FUJITA Tomonori Cc: yinghai@kernel.org LKML-Reference: <20091125084611O.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit bbb3c644bd9967753ce8c214c5e64b27c361d2a4 Author: Daniel T Chen Date: Tue Nov 24 22:51:05 2009 -0500 ALSA: intel8x0: Mute External Amplifier by default for Gateway 4525GZ BugLink: https://bugs.launchpad.net/bugs/487884 This Gateway model needs External Amplifier muted for audible playback, so set the inv_eapd quirk for it. Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 99df5a6a215f026e62287083de2b44b22edd3623 Author: Tom Zanussi Date: Wed Nov 25 01:14:59 2009 -0600 trace/syscalls: Change ret param in struct syscall_trace_exit to long Commit ee949a86b3aef15845ea677aa60231008de62672 ("tracing/syscalls: Use long for syscall ret format and field definitions") changed the syscall exit return type to long, but forgot to change it in the struct. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1259133299-23594-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 0d0bea5ea4a0e91feff22ac5e32e14ff3a682247 Author: Tom Zanussi Date: Wed Nov 25 01:14:58 2009 -0600 perf tools: Add 'signed' flag setting back into trace-event-parse.c Commit 13999e59343b042b0807be2df6ae5895d29782a0 (perf tools: Handle the case with and without the "signed" trace field) removed code to set the FIELD_IS_SIGNED flag that was originally added by commit 26a50744b21fff65bd754874072857bee8967f4d (tracing/events: Add 'signed' field to format files). This adds it back. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1259133299-23594-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 9533ac6291d78cd16c4b11a15bfbb055affd76c3 Merge: fe61267 75ec29a Author: Ingo Molnar Date: Wed Nov 25 09:03:15 2009 +0100 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 7539cf4b92be4aecc573ea962135f246a7a33401 Author: Tetsuo Handa Date: Tue Nov 24 22:00:05 2009 +0900 TOMOYO: Add recursive directory matching operator support. TOMOYO 1.7.1 has recursive directory matching operator support. I want to add it to TOMOYO for Linux 2.6.33 . ---------- [PATCH] TOMOYO: Add recursive directory matching operator support. This patch introduces new operator /\{dir\}/ which matches '/' + 'One or more repetitions of dir/' (e.g. /dir/ /dir/dir/ /dir/dir/dir/ ). Signed-off-by: Tetsuo Handa Acked-by: John Johansen Signed-off-by: James Morris commit 75ec29ab848a7e92a41aaafaeb33d1afbc839be4 Author: Steven Rostedt Date: Wed Nov 18 20:48:08 2009 -0500 tracing: Convert some sched trace events to DEFINE_EVENT and _PRINT Converting some of the scheduler trace events to use the TRACE_EVENT_TEMPLATE, DEFINE_EVENT and DEFINE_EVENT_PRINT helped to save some space: $ size kernel/sched.o-* text data bss dec hex filename 79299 6776 2520 88595 15a13 kernel/sched.o-notrace 101941 11896 2584 116421 1c6c5 kernel/sched.o-templ 104779 11896 2584 119259 1d1db kernel/sched.o-trace sched.o-notrace is without any tracepoints compiled sched.o-templ is with this patch sched.o-trace is the tracepoints before this patch The trace events converted to DEFINE_EVENT: sched_wakeup, sched_wakeup_new, sched_process_free, sched_process_exit, and sched_stat_wait. The trace events converted to DEFINE_EVENT_PRINT: sched_stat_sleep and sched_stat_iowait. Note, since the TRACE_EVENT_TEMPLATE always uses a print, the sched_stat_wait print format is defined in the template and this template is used by sched_stat_sleep and sched_stat_iowait. But the later two override the print format. Signed-off-by: Steven Rostedt commit e5bc9721684e9412f3e0465222f317c362a8ab47 Author: Steven Rostedt Date: Wed Nov 18 20:36:26 2009 -0500 tracing: Create new DEFINE_EVENT_PRINT After creating the TRACE_EVENT_TEMPLATE I started to look at other trace points to see what duplication was made. I noticed that there are several trace points where they are almost identical except for the name and the output format. Since TRACE_EVENT_TEMPLATE was successful in bringing down the size of trace events, I added a DEFINE_EVENT_PRINT. DEFINE_EVENT_PRINT is used just like DEFINE_EVENT is. That is, the DEFINE_EVENT_PRINT also uses a TRACE_EVENT_TEMPLATE, but it allows the developer to overwrite the print format. If there are two or more TRACE_EVENTS that are identical except for the name and print, then they can be converted to use a TRACE_EVENT_TEMPLATE. Since the TRACE_EVENT_TEMPLATE already does the print output, the first trace event would have its print format held in the TRACE_EVENT_TEMPLATE and be defined with a DEFINE_EVENT. The rest will use the DEFINE_EVENT_PRINT and override the print format. Converting the sched trace points to both DEFINE_EVENT and DEFINE_EVENT_PRINT. Five were converted to DEFINE_EVENT and two were converted to DEFINE_EVENT_PRINT. I was able to get the following: $ size kernel/sched.o-* text data bss dec hex filename 79299 6776 2520 88595 15a13 kernel/sched.o-notrace 101941 11896 2584 116421 1c6c5 kernel/sched.o-templ 104779 11896 2584 119259 1d1db kernel/sched.o-trace sched.o-notrace is the scheduler compiled with no trace points. sched.o-templ is with the use of DEFINE_EVENT and DEFINE_EVENT_PRINT sched.o-trace is the current trace events. Signed-off-by: Steven Rostedt commit 4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905 Merge: 3570021 18b6c9a Author: David S. Miller Date: Tue Nov 24 15:01:29 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 35700212b45ea9f98fa682cfc1bc1a67c9ccc34b Author: Joe Perches Date: Tue Nov 24 14:52:52 2009 -0800 net/ipv6: Move && and || to end of previous line Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit ff038f5c37c2070829004a0678372766c2b32180 Author: Steven Rostedt Date: Wed Nov 18 20:27:27 2009 -0500 tracing: Create new TRACE_EVENT_TEMPLATE There are some places in the kernel that define several tracepoints and they are all identical besides the name. The code to enable, disable and record is created for every trace point even if most of the code is identical. This patch adds TRACE_EVENT_TEMPLATE that lets the developer create a template TRACE_EVENT and create trace points with DEFINE_EVENT, which is based off of a given template. Each trace point used by this will share most of the code, and bring down the size of the kernel when there are several duplicate events. Usage is: TRACE_EVENT_TEMPLATE(name, proto, args, tstruct, assign, print); Which would be the same as defining a normal TRACE_EVENT. To create the trace events that the trace points will use: DEFINE_EVENT(template, name, proto, args) is done. The template is the name of the TRACE_EVENT_TEMPLATE to use. The name is the name of the trace point. The parameters proto and args must be the same as the proto and args of the template. If they are not the same, then a compile error will result. I tried hard removing this duplication but the C preprocessor is not powerful enough (or my CPP magic experience points is not at a high enough level) to not need them. A lot of trace events are coming in with new XFS development. Most of the trace points are identical except for the name. The following shows the advantage of having TRACE_EVENT_TEMPLATE: $ size fs/xfs/xfs.o.* text data bss dec hex filename 452114 2788 3520 458422 6feb6 fs/xfs/xfs.o.old 638482 38116 3744 680342 a6196 fs/xfs/xfs.o.template 996954 38116 4480 1039550 fdcbe fs/xfs/xfs.o.trace xfs.o.old is without any tracepoints. xfs.o.template uses the new TRACE_EVENT_TEMPLATE. xfs.o.trace uses the current TRACE_EVENT macros. Requested-by: Christoph Hellwig Signed-off-by: Steven Rostedt commit 5bf65b9ba67226eae9ffc398a0369fc4da35c259 Author: Yinghai Lu Date: Tue Nov 24 02:46:59 2009 -0800 x86, mtrr: Fix sorting of mtrr after subtracting In some cases we can coalesce MTRR entries after cleanup; this may allow us to have more entries. As such, introduce clean_sort_range to to sort and coaelsce the MTRR entries. Signed-off-by: Yinghai Lu LKML-Reference: <4B0BB9A3.5020908@kernel.org> Signed-off-by: H. Peter Anvin commit fe6126722718e51fba4879517c11ac12d9775bcc Author: Frederic Weisbecker Date: Tue Nov 24 20:38:22 2009 +0100 perf_events: Fix bad software/trace event recursion counting Commit 4ed7c92d68a5387ba5f7030dc76eab03558e27f5 (perf_events: Undo some recursion damage) has introduced a bad reference counting of the recursion context. putting the context behaves like getting it, dropping every software/trace events after the first one in a context. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Arjan van de Ven Cc: Li Zefan Cc: Steven Rostedt LKML-Reference: <1259091502-5171-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c459302db655c1a7fd05fd4266b18990854e8386 Author: Ben Hutchings Date: Mon Nov 23 16:08:17 2009 +0000 sfc: Log interrupt and reset type names, not numbers Define name tables for these enumerations in a similar way as for loopback. Move the loopback name table together with them. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f5e7adc3d4aa8edab63bb63f0ce5fe92c3dd7604 Author: Ben Hutchings Date: Mon Nov 23 16:07:30 2009 +0000 sfc: Combine high-level header files All files that include ethtool.h, rx.h or tx.h are also including efx.h, and there is no good reason to separate out the few declarations they contain. Therefore fold them into efx.h. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 497f5ba3236425dbcf20b55452a013f1d3695ebb Author: Ben Hutchings Date: Mon Nov 23 16:07:05 2009 +0000 sfc: Remove redundant efx_xmit() function Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9bc183d7f90793e5e72f4dfd21a5877c6cd4da78 Author: Ben Hutchings Date: Mon Nov 23 16:06:47 2009 +0000 sfc: Remove unnecessary casts to struct sk_buff * At some point these casts were used to remove const qualification, but they are now unneeded. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit eb50c0d67fe3c5513c717c2dee6d9771c51be703 Author: Ben Hutchings Date: Mon Nov 23 16:06:30 2009 +0000 sfc: Gather link state fields in struct efx_nic into new struct efx_link_state Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e775fb93a880d218ce0b3fd405278dd78f86c405 Author: Ben Hutchings Date: Mon Nov 23 16:06:02 2009 +0000 sfc: Move all I2C stuff into struct falcon_board Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3759433db2f7340ddec3abd55ebb1178600d014e Author: Ben Hutchings Date: Mon Nov 23 16:05:45 2009 +0000 sfc: Move struct falcon_board into struct falcon_nic_data Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5c16a96c4f31a0be287c5db3f36d1099dea9b2bd Author: Ben Hutchings Date: Mon Nov 23 16:05:28 2009 +0000 sfc: Move definition of struct falcon_nic_data into falcon.h This is preparation for moving Falcon-specific state required by other Falcon-specific code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 278c0621fbc4ef52177969edb6f07352da816fdb Author: Ben Hutchings Date: Mon Nov 23 16:05:12 2009 +0000 sfc: Make board information explicitly Falcon-specific Rename struct efx_board to struct falcon_board. Introduce and use inline function to look up board info from struct efx_nic, in preparation for moving it. Move board init and fini calls into NIC probe and remove functions. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 981fc1b4b8cc6bfe8c6f0c07052e25738d959c68 Author: Ben Hutchings Date: Mon Nov 23 16:04:23 2009 +0000 sfc: Rename efx_board::init_leds to init_phy and use for SFN4111T efx_board::init_leds was introduced as a second stage of initialisation because of the inter-dependency between the board and PHY. We want to move board initialisation into NIC probing, which is too early to use MDIO, so SFN4111T initialisation also needs to be split. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 398468ed1b5c61fe8bcbc8cc1ed323e3c23b58ef Author: Ben Hutchings Date: Mon Nov 23 16:03:45 2009 +0000 sfc: Use a single blink implementation Only some PHYs have firmware support for a LED blink mode, so we currently blink the others in a timer function. Since all PHYs have simple on and off modes, we don't gain anything by using multiple blink implementations. Also, since we have a process context there is no need to use a timer. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit dcf477b2d205abb8ccdb3b1cb668a0db2de202c0 Author: Ben Hutchings Date: Mon Nov 23 16:02:49 2009 +0000 sfc: SFT9001: Reset LED configuration correctly after blinking Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee Author: Ben Hutchings Date: Mon Nov 23 16:02:40 2009 +0000 sfc: Record RX queue number on GRO path Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1241e951af060c16cd851a83a045ca3a80288383 Author: Ben Hutchings Date: Mon Nov 23 16:02:25 2009 +0000 sfc: Move assertions and buffer cleanup earlier in efx_rx_packet_lro() This removes the need to use a label and goto, and makes the two branches mirror each other more closely. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3139e62827b9f2b9b553816de664edfe4573c954 Author: Ben Hutchings Date: Mon Nov 23 16:01:55 2009 +0000 sfc: Remove ridiculously paranoid assertions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d96d7dc9f19aafe4dd5f2f84d09653e14d2e8d8b Author: Ben Hutchings Date: Mon Nov 23 16:01:44 2009 +0000 sfc: Remove redundant gotos from __efx_rx_packet() This function no longer has any common cleanup code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9e0c8a5bab7190a31d6f2cba28999457dd4d9b7c Author: Ben Hutchings Date: Mon Nov 23 16:01:33 2009 +0000 sfc: Remove pointless abstraction of memory BAR number (2) Finish the job by removing the structure member. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1261a02a0c0ab8e643125705f0d1d83e5090e4d1 Author: Stephane Eranian Date: Tue Nov 24 05:27:18 2009 -0800 perf_events, x86: Fix validate_event bug The validate_event() was failing on valid event combinations. The function was assuming that if x86_schedule_event() returned 0, it meant error. But x86_schedule_event() returns the counter index and 0 is a perfectly valid value. An error is returned if the function returns a negative value. Furthermore, validate_event() was also failing for event groups because the event->pmu was not set until after hw_perf_event_init(). Signed-off-by: Stephane Eranian Cc: peterz@infradead.org Cc: paulus@samba.org Cc: perfmon2-devel@lists.sourceforge.net Cc: eranian@gmail.com LKML-Reference: <4b0bdf36.1818d00a.07cc.25ae@mx.google.com> Signed-off-by: Ingo Molnar -- arch/x86/kernel/cpu/perf_event.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 26a26d329688ab018e068b412b03d43d7c299f0a Author: Russell King Date: Fri Nov 20 21:06:43 2009 +0000 ARM: dma-mapping: switch ARMv7 DMA mappings to retain 'memory' attribute On ARMv7, it is invalid to map the same physical address multiple times with different memory types. Since system RAM is already mapped as 'memory', subsequent remapping of it must retain this attribute. However, DMA memory maps it as "strongly ordered". Fix this by introducing 'pgprot_dmacoherent()' which provides the necessary page table bits for DMA mappings. Signed-off-by: Russell King Acked-by: Greg Ungerer Reviewed-by: Catalin Marinas commit acaac256b3a14a09ab278409a72d119f2d75b02b Author: Russell King Date: Fri Nov 20 18:19:52 2009 +0000 ARM: dma-mapping: get rid of setting/clearing the reserved page bit It's unnecessary; x86 doesn't do it, and ALSA doesn't require it anymore. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 31ebf94435f74294523683867fe0b89000e61521 Author: Russell King Date: Thu Nov 19 21:12:17 2009 +0000 ARM: dma-mapping: Factor out noMMU dma buffer allocation code This entirely separates the DMA coherent buffer remapping code from the allocation code, and gets rid of the duplicate copy in the !MMU section. Signed-off-by: Russell King Acked-by: Greg Ungerer commit ebd7a845fa4332da3ebcbe8cf1b09bb43413420e Author: Russell King Date: Thu Nov 19 20:58:31 2009 +0000 ARM: dma-mapping: clean up coherent arch dma allocation IXP23xx added support for dma_alloc_coherent() for DMA arches with an exception in dma_alloc_coherent(). This is a subset of what goes on in __dma_alloc(), and there is no reason why dma_alloc_writecombine() should not be given the same treatment (except, maybe, that IXP23xx doesn't use it.) We can better deal with this by moving the arch_is_coherent() test inside __dma_alloc() and killing the code duplication. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 88c58f3b92bc7c26439802c300d39b6377739d81 Author: Russell King Date: Thu Nov 19 16:46:02 2009 +0000 ARM: dma-mapping: move consistent_init into CONFIG_MMU section No point wrapping the contents of this function with #ifdef CONFIG_MMU when we can place it and the core_initcall() entirely within the existing conditional block. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 695ae0af5a52df09dffcc2ce2d625d56ef36ce14 Author: Russell King Date: Thu Nov 19 16:31:39 2009 +0000 ARM: dma-mapping: factor dma_free_coherent() common code We effectively have three implementations of dma_free_coherent() mixed up in the code; the incoherent MMU, coherent MMU and noMMU versions. The coherent MMU and noMMU versions are actually functionally identical. The incoherent MMU version is almost the same, but with the additional step of unmapping the secondary mapping. Separate out this additional step into __dma_free_remap() and simplify the resulting dma_free_coherent() code. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 04da56943b416dd9fe7058abf8d5b9153164b3e9 Author: Russell King Date: Thu Nov 19 15:54:45 2009 +0000 ARM: dma-mapping: fix nommu dma_alloc_coherent() The nommu version of dma_alloc_coherent was using kmalloc/kfree to manage the memory. dma_alloc_coherent() is expected to work with a granularity of a page, so this is wrong. Fix it by using the helper functions now provided. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 3e82d012e9281a0b6388ff2356e8396b9d781e1c Author: Russell King Date: Thu Nov 19 15:38:12 2009 +0000 ARM: dma-mapping: fix coherent arch dma_alloc_coherent() The coherent architecture dma_alloc_coherent was using kmalloc/kfree to manage the memory. dma_alloc_coherent() is expected to work with a granularity of a page, so this is wrong. Fix it by using the helper functions now provided. Signed-off-by: Russell King Acked-by: Greg Ungerer commit 7a9a32a9533fa01de911e1d056142ddd27360782 Author: Russell King Date: Thu Nov 19 15:31:07 2009 +0000 ARM: dma-mapping: functions to allocate/free a coherent buffer Signed-off-by: Russell King Acked-by: Greg Ungerer commit 13ccf3ad99a45052664f2c1a6c64899f9d778152 Author: Russell King Date: Thu Nov 19 15:07:04 2009 +0000 ARM: dma-mapping: split out vmregion code from dma coherent mapping code Signed-off-by: Russell King Acked-by: Greg Ungerer commit ad85dfe67bbf13d5fa20764e4ce801a1e6e526d8 Author: Philipp Reisner Date: Wed Nov 18 15:52:51 2009 +0100 DRBD: Now the code is 8.3.6 + 3 fixes (without compat crap) Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d8c2a36b774defd4e230353d91f0f609c128bd78 Author: Philipp Reisner Date: Wed Nov 18 15:52:51 2009 +0100 Fixed a regression in resync decission code drbd_uuid_compare() [Bugz 260] Since 8.3.3 we fail to do the resync when a partial resynch is not possible, but a full synch is necessary. This regression was introduced with 7101539930c0a89146959e7a39c09ad9c3516434 Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0b33a9164aca6332bf4a117af5528dea9675d782 Author: Lars Ellenberg Date: Mon Nov 16 15:58:04 2009 +0100 add missing state change on corrupt packet header in drbd_recv_header Otherwise the 'state fixup' in the receiver will change to Unconnected, but the receiver will terminate itself, and any attempt at 'down'ing that drbd later will block forever. see also Bugz. #259 Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 6c6c7951be7652f86109f2193651b78d90907c0d Author: Lars Ellenberg Date: Mon Nov 16 15:48:54 2009 +0100 fix in-kernel configuration serialization this is uncritical, as we still also serialize in userland, but to correctly serialize on the CONFIG_PENDING bit, it must be wait_event(state_wait, \!test_and_set_bit) Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit fcf1203a919c3a3d212c0ed01f5240fd592bf5ae Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 13:01:52 2009 -0200 perf symbols: Rename find_symbol routines to find_function Paving the way for supporting variable in adition to function symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259074912-5924-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 727dad10c17cbaade3cb6a56bd4863a4630f4d13 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:17 2009 -0200 perf tools: Remove unused wrapper routines And also make xrealloc and xmalloc weak symbols so that we don't have this problem: /usr/lib/gcc/x86_64-redhat-linux/4.4.1/../../../../lib64/libiberty.a(xmalloc.o): In function `xrealloc': (.text+0xc0): multiple definition of `xrealloc' libperf.a(wrapper.o):/home/acme_unencrypted/git/linux-2.6-tip/tools/perf/util/wrapper.c:67: first defined here collect2: ld returned 1 exit status Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259071517-3242-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 364794845cbc49e638b83d7ef739524291e1e961 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:16 2009 -0200 perf tools: Introduce zalloc() for the common calloc(1, N) case This way we type less characters and it looks more like the kzalloc kernel counterpart. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259071517-3242-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b32d133aec5dc882cf783a293f393bfb3f4379e1 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:15 2009 -0200 perf symbols: Simplify symbol machinery setup And also express its configuration toggles via a struct. Now all one has to do is to call symbol__init(NULL) if the defaults are OK, or pass a struct symbol_conf pointer with the desired configuration. If a tool uses kernel_maps__find_symbol() to look at the kernel and modules mappings for a symbol but didn't call symbol__init() first, that will generate a one time warning too, alerting the subcommand developer that symbol__init() must be called. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259071517-3242-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 7cc017edb9459193d3b581155a14029e4bef0c49 Author: Arnaldo Carvalho de Melo Date: Tue Nov 24 12:05:14 2009 -0200 perf top: Always show the DSO column, even if its all the same Ingo found it confusing, and I agree with that, for 'perf report' its OK because it is static, but for a tool refreshing it the eventual switch from column to summary at the top may seem confusing. Suggested-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259071517-3242-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit e74328d3a17ed75ffdf72b86f289965823a47240 Author: John Kacur Date: Tue Nov 24 15:35:01 2009 +0100 perf tools: Use common process_event functions for annotate and report Prevent bit-rot in perf-annotate by using common functions where possible. Here we create process_events.[ch] to hold the common functions. Signed-off-by: John Kacur Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: acme@redhat.com LKML-Reference: <1259073301-11506-3-git-send-email-jkacur@redhat.com> Signed-off-by: Ingo Molnar commit c9c7ccaf3a2686ed3a44d69bb1f8b55eeead8a4e Author: John Kacur Date: Tue Nov 24 15:35:00 2009 +0100 perf tools: Add perf.data to .gitignore Signed-off-by: John Kacur Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: acme@redhat.com LKML-Reference: <1259073301-11506-2-git-send-email-jkacur@redhat.com> Signed-off-by: Ingo Molnar commit 1263d736a9031f3d943819662d4bad727d64bf24 Merge: 184d3da 12eac0b Author: Ingo Molnar Date: Tue Nov 24 16:36:03 2009 +0100 Merge branch 'perf/bench' into perf/core Merge reason: Looks mergable - ready it for the merge window. Signed-off-by: Ingo Molnar commit a49ed0bf427a8328a3296eebedc7697fe5098dbf Author: Thomas Gleixner Date: Mon Nov 16 19:57:50 2009 +0100 locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init() SPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED are deprecated. Replace them with the __*_LOCK_UNLOCKED variants. Signed-off-by: Thomas Gleixner commit c9286b7e293a1ea054e857ff3f5a23d0ad8d4f36 Author: Thomas Gleixner Date: Mon Nov 16 19:50:38 2009 +0100 locking: Remove unused prototype commit 910067d1(remove generic__raw_read_trylock()) removed the implementation but left the prototype around. Remove it. Signed-off-by: Thomas Gleixner commit a3a1de0c34de6f5f8332cd6151c46af7813c0fcb Author: Tim Blechmann Date: Tue Nov 24 11:55:15 2009 +0100 sched, x86: Optimize branch hint in __switch_to() Branch hint profiling on my nehalem machine showed 96% incorrect branch hints: 6548732 174664120 96 __switch_to process_64.c 406 6548745 174565593 96 __switch_to process_64.c 410 Signed-off-by: Tim Blechmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4B0BBB93.3080307@klingt.org> Signed-off-by: Ingo Molnar commit 710390d90f143a9ebb87a475215140f426792efd Author: Tim Blechmann Date: Tue Nov 24 11:55:27 2009 +0100 sched: Optimize branch hint in context_switch() Branch hint profiling on my nehalem machine showed over 90% incorrect branch hints: 10420275 170645395 94 context_switch sched.c 3043 10408421 171098521 94 context_switch sched.c 3050 Signed-off-by: Tim Blechmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4B0BBB9F.6080304@klingt.org> Signed-off-by: Ingo Molnar commit 36ace27e3e60d44ea69ce394b2e45386ae98d9d9 Author: Tim Blechmann Date: Tue Nov 24 11:55:45 2009 +0100 sched: Optimize branch hint in pick_next_task_fair() Branch hint profiling on my nehalem machine showed 90% incorrect branch hints: 15728471 158903754 90 pick_next_task_fair sched_fair.c 1555 Signed-off-by: Tim Blechmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4B0BBBB1.2050100@klingt.org> Signed-off-by: Ingo Molnar commit b24c2a925a9837cccf54d50aeac22ba0cbc15455 Author: Yinghai Lu Date: Tue Nov 24 02:48:18 2009 -0800 x86: Move find_smp_config() earlier and avoid bootmem usage Move the find_smp_config() call to before bootmem is initialized. Use reserve_early() instead of reserve_bootmem() in it. This simplifies the code, we only need to call find_smp_config() once and can remove the now unneeded reserve parameter from x86_init_mpparse::find_smp_config. We thus also reduce x86's dependency on bootmem allocations. Signed-off-by: Yinghai Lu LKML-Reference: <4B0BB9F2.70907@kernel.org> Signed-off-by: Ingo Molnar commit 394168389c5770accf1d255fdfe45846ec121585 Author: Marek Szyprowski Date: Thu Nov 19 11:30:30 2009 +0100 ARM: 5791/1: ARM: MM: use 64bytes of L1 cache on plat S5PC1xx Samsung S5PC1xx SoCs are based on ARM Coretex8, which has 64 bytes of L1 cache line size. Enable proper handling of L1 cache on these SoCs. Signed-off-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Russell King commit b43149c168ce4069ce8828b1ceb8f7eb42bc4b82 Author: Linus Walleij Date: Tue Nov 10 08:33:01 2009 +0100 ARM: 5785/1: Use ST vendor enum instead of numeral This fixes a leftover instance of using the 0x80 numeral instead of the new AMBA_VENDOR_ST enum in the MMCI/PL180 driver. Signed-off-by: Linus Walleij Acked-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Russell King commit 43234b1ef630388c2cffb34eeeaa84dd731602cc Author: Hubert Feurstein Date: Tue Nov 17 18:10:48 2009 +0100 ARM: 5790/1: ep93xx: add missing newline between file header and code Just for the sake of consistency across the ep93xx-tree. Signed-off-by: Hubert Feurstein Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 5b642b4def8b963bb852b45c50653cd43c919f51 Author: Hubert Feurstein Date: Tue Nov 17 18:08:53 2009 +0100 ARM: 5789/1: ep93xx: add missing file headers Just for the sake of consistency across the ep93xx-tree. Signed-off-by: Hubert Feurstein Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 12f56c6889b02453fe050268e9c676e0f8678560 Author: Hartley Sweeten Date: Wed Oct 28 21:04:46 2009 +0100 ARM: 5775/1: ep93xx: add keypad core support Add the core support needed by the ep93xx matrix keypad driver. The keypad driver unfortunately was merged early and the core support is missing. The clkdev support has been resolved and is now merged. This adds the platform device to the ep93xx core and supplies the functions needed to acquire/free the gpio pins and actually enable/disable the controller peripheral. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit d5b7d8c22678a76f2855e0c1fe94bc3886859061 Merge: 78d7530 4998f1a Author: Russell King Date: Tue Nov 24 10:00:10 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit a014bbadb53121e243cac254593e79e3ca89742d Author: Clemens Ladisch Date: Mon Nov 16 12:26:30 2009 +0100 sound: usxxx: cleanup chip field The chip field is no longer needed. Move those of its fields that are actually used to the device structure itself. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit d82af9f9aab69e82b86450272588c861364f8879 Author: Clemens Ladisch Date: Mon Nov 16 12:23:46 2009 +0100 sound: usb: make the USB MIDI module more independent Remove the dependecy from the USB MIDI code on the snd_usb_audio structure. This allows using the USB MIDI module from another driver without having to pretend to be the generic USB audio driver. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 96f61d9ade82f3e9503df36809175325e8f5eaca Author: Clemens Ladisch Date: Thu Oct 22 09:06:19 2009 +0200 sound: usb-audio: allow switching altsetting on Roland USB MIDI devices Add a mixer control to select between the two altsettings on Roland USB MIDI devices where the input endpoint is either bulk or interrupt. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 95a618bdac29c7b0f1a516aec9fc37626dec1af9 Author: Einar Rünkaru Date: Mon Nov 23 22:23:49 2009 +0200 ALSA: hda - Make Dell Vostro 1015n mic and speaker switching work Dell Vostro 1015n uses Conexant CX20583-10Z (0x14f1:5067). Patch is based on "olpc-xo-1_5" branch. Dell uses digital mic. Signed-off-by: Einar Rünkaru Signed-off-by: Takashi Iwai commit 83dd7408b59c1945069199d712df8c7c64a76e1f Author: Takashi Iwai Date: Tue Nov 24 08:57:53 2009 +0100 Revert "ALSA: hda - Change quirk for Acer Aspire 5930G" This reverts commit f2624791a0c2a2d7664b12d75ca327917141fd3b. Łukasz Wojniłowicz reported that the change causes both internal and external mics not working any more. The headphone jacking issue was fixed by his previous patch, it's better to revert to acer-aspire-4930g model. Reported-by: Łukasz Wojniłowicz Signed-off-by: Takashi Iwai commit 184d3da8ef0ca552dffa0fdd35c046e058a2cf9a Author: Stephane Eranian Date: Mon Nov 23 21:40:49 2009 -0800 perf_events: Fix bogus copy_to_user() in perf_event_read_group() When using an event group, the value and id for non leaders events were wrong due to invalid offset into the outgoing buffer. Signed-off-by: Stephane Eranian Acked-by: Peter Zijlstra Cc: paulus@samba.org Cc: perfmon2-devel@lists.sourceforge.net LKML-Reference: <4b0b71e1.0508d00a.075e.ffff84a3@mx.google.com> Signed-off-by: Ingo Molnar commit b23d5767a5818caec8547d0bce1588b02bdecd30 Author: Li Zefan Date: Tue Nov 24 13:27:11 2009 +0800 perf kmem: Add help file Add Documentation/perf-kmem.txt Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6EAF.80802@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 079d3f653134e2f2ac99dae28b08c0cc64268103 Author: Li Zefan Date: Tue Nov 24 13:26:55 2009 +0800 perf kmem: Measure kmalloc/kfree CPU ping-pong call-sites Show statistics for allocations and frees on different cpus: ------------------------------------------------------------------------------------------------------ Callsite | Total_alloc/Per | Total_req/Per | Hit | Ping-pong | Frag ------------------------------------------------------------------------------------------------------ perf_event_alloc.clone.0+0 | 7504/682 | 7128/648 | 11 | 0 | 5.011% alloc_buffer_head+16 | 288/57 | 280/56 | 5 | 0 | 2.778% radix_tree_preload+51 | 296/296 | 288/288 | 1 | 0 | 2.703% tracepoint_add_probe+32e | 157/31 | 154/30 | 5 | 0 | 1.911% do_maps_open+0 | 796/12 | 792/12 | 66 | 0 | 0.503% sock_alloc_send_pskb+16e | 23780/495 | 23744/494 | 48 | 38 | 0.151% anon_vma_prepare+9a | 3744/44 | 3740/44 | 85 | 0 | 0.107% d_alloc+21 | 64948/164 | 64944/164 | 396 | 0 | 0.006% proc_alloc_inode+23 | 262292/676 | 262288/676 | 388 | 0 | 0.002% create_object+28 | 459600/200 | 459600/200 | 2298 | 71 | 0.000% journal_start+67 | 14440/40 | 14440/40 | 361 | 0 | 0.000% get_empty_filp+df | 53504/256 | 53504/256 | 209 | 0 | 0.000% getname+2a | 823296/4096 | 823296/4096 | 201 | 0 | 0.000% seq_read+2b0 | 544768/4096 | 544768/4096 | 133 | 0 | 0.000% seq_open+6d | 17024/128 | 17024/128 | 133 | 0 | 0.000% mmap_region+2e6 | 11704/88 | 11704/88 | 133 | 0 | 0.000% single_open+0 | 1072/16 | 1072/16 | 67 | 0 | 0.000% __alloc_skb+2e | 12544/256 | 12544/256 | 49 | 38 | 0.000% __sigqueue_alloc+4a | 1296/144 | 1296/144 | 9 | 8 | 0.000% tracepoint_add_probe+6f | 80/16 | 80/16 | 5 | 0 | 0.000% ------------------------------------------------------------------------------------------------------ ... Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E9F.6020309@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7d0d39459dab20bf60cac30a1a7d50b286c60cc1 Author: Li Zefan Date: Tue Nov 24 13:26:31 2009 +0800 perf kmem: Collect cross node allocation statistics Show cross node memory allocations: # ./perf kmem SUMMARY ======= ... Cross node allocations: 0/3633 Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E87.10906@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 29b3e15289eb66788a0bf5ea4903f9fbeb1ec751 Author: Li Zefan Date: Tue Nov 24 13:26:10 2009 +0800 perf kmem: Default to sort by fragmentation Make the output sort by fragmentation by default. Also make the usage of "--sort" option consistent with other perf tools. That is, we support multi keys: "--sort key1[,key2]...". # ./perf kmem --stat caller ------------------------------------------------------------------------------ Callsite |Total_alloc/Per | Total_req/Per | Hit | Frag ------------------------------------------------------------------------------ __netdev_alloc_skb+23 | 5048/1682 | 4564/1521 | 3| 9.588% perf_event_alloc.clone.0+0 | 7504/682 | 7128/648 | 11| 5.011% tracepoint_add_probe+32e | 157/31 | 154/30 | 5| 1.911% alloc_buffer_head+16 | 456/57 | 448/56 | 8| 1.754% radix_tree_preload+51 | 584/292 | 576/288 | 2| 1.370% ... TODO: - Extract duplicate code in builtin-kmem.c and builtin-sched.c into util/sort.c. Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E72.7010200@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7707b6b6f8d9188b612f9fc88c65411264b1ed57 Author: Li Zefan Date: Tue Nov 24 13:25:48 2009 +0800 perf kmem: Add new option to show raw ip Add option "--raw-ip" to show raw ip instead of symbols: # ./perf kmem --stat caller --raw-ip ------------------------------------------------------------------------------ Callsite |Total_alloc/Per | Total_req/Per | Hit | Frag ------------------------------------------------------------------------------ 0xc05301aa | 733184/4096 | 733184/4096 | 179| 0.000% 0xc0542ba0 | 483328/4096 | 483328/4096 | 118| 0.000% ... Also show symbols with format sym+offset instead of sym/offset. Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: linux-mm@kvack.org LKML-Reference: <4B0B6E5C.4080900@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 4998f1a30cf8e21c5bc0766fde4fa58e1adabd72 Author: Sascha Hauer Date: Wed Nov 18 15:21:44 2009 +0100 mxc: mx1/mx2 DMA: add a possibility to create an endless DMA transfer This is useful for audio where we do not want to setup a new scatterlist after playing 4GB of audio data. This would cause skips in the playback. Signed-off-by: Sascha Hauer commit 74b2a70e34c69687f82b1319a358b21afeea497c Author: Sascha Hauer Date: Thu Nov 12 14:09:39 2009 +0100 i.MX31 clock: rename SSI clocks to driver name Signed-off-by: Sascha Hauer commit 654166d6879ed1e4df9815d04e6a358adf1259a6 Author: Sascha Hauer Date: Thu Oct 29 17:18:02 2009 +0100 mxc: iomux v3: remove resource handling The current model does not allow to put a pad into different modes once a pins is allocated. Remove the resource handling. Signed-off-by: Sascha Hauer commit c6e7c0e20d0ece2825389f5e24684490a440c427 Author: Sascha Hauer Date: Thu Nov 12 14:02:22 2009 +0100 mx3: Add SSI pins to iomux table Signed-off-by: Sascha Hauer commit d67d107586fa2c6fe4237292d58fb3787c75c6d1 Author: Valentin Longchamp Date: Mon Nov 23 19:16:37 2009 +0100 mx31moboard: support for usbh1 and usbh2 Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 33c4d91928bea4444b067e620496befbeb87029c Author: Valentin Longchamp Date: Mon Nov 23 19:16:36 2009 +0100 mx31moboard: SPI corrections Adds requirement for ADC on mc13783 and moves the spidev declaration to marxbot file. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit ee3d250446f1c1be4eceab48f3a23794d9a6564c Author: Paul Mackerras Date: Tue Nov 24 15:19:43 2009 +1100 perf tools: Fix compilation on powerpc Currently, perf fails to compile on powerpc with this error: CC util/header.o In file included from util/../perf.h:17, from util/header.c:9: util/../../../arch/powerpc/include/asm/unistd.h:360:27: error: linux/linkage.h: No such file or directory make: *** [util/header.o] Error 1 The reason is that we still have a #define __KERNEL__ in effect at the point where gets included, which means we get extra stuff that we don't need or want. This fixes the problem by undefining __KERNEL__ once we have included the file for which we need __KERNEL__ defined. Signed-off-by: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <19211.24287.453183.78836@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 9e554540f8686d546639d1594a8259896c39633d Author: Valentin Longchamp Date: Mon Nov 23 19:16:35 2009 +0100 mx31: pins used for mx31moboard USB Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit b3a222e52e4d4be77cc4520a57af1a4a0d8222d1 Author: Serge E. Hallyn Date: Mon Nov 23 16:21:30 2009 -0600 remove CONFIG_SECURITY_FILE_CAPABILITIES compile option As far as I know, all distros currently ship kernels with default CONFIG_SECURITY_FILE_CAPABILITIES=y. Since having the option on leaves a 'no_file_caps' option to boot without file capabilities, the main reason to keep the option is that turning it off saves you (on my s390x partition) 5k. In particular, vmlinux sizes came to: without patch fscaps=n: 53598392 without patch fscaps=y: 53603406 with this patch applied: 53603342 with the security-next tree. Against this we must weigh the fact that there is no simple way for userspace to figure out whether file capabilities are supported, while things like per-process securebits, capability bounding sets, and adding bits to pI if CAP_SETPCAP is in pE are not supported with SECURITY_FILE_CAPABILITIES=n, leaving a bit of a problem for applications wanting to know whether they can use them and/or why something failed. It also adds another subtly different set of semantics which we must maintain at the risk of severe security regressions. So this patch removes the SECURITY_FILE_CAPABILITIES compile option. It drops the kernel size by about 50k over the stock SECURITY_FILE_CAPABILITIES=y kernel, by removing the cap_limit_ptraced_target() function. Changelog: Nov 20: remove cap_limit_ptraced_target() as it's logic was ifndef'ed. Signed-off-by: Serge E. Hallyn Acked-by: Andrew G. Morgan" Signed-off-by: James Morris commit 0bce95279909aa4cc401a2e3140b4295ca22e72a Author: Eric Paris Date: Mon Nov 23 16:47:23 2009 -0500 SELinux: print denials for buggy kernel with unknown perms Historically we've seen cases where permissions are requested for classes where they do not exist. In particular we have seen CIFS forget to set i_mode to indicate it is a directory so when we later check something like remove_name we have problems since it wasn't defined in tclass file. This used to result in a avc which included the permission 0x2000 or something. Currently the kernel will deny the operations (good thing) but will not print ANY information (bad thing). First the auditdeny field is no extended to include unknown permissions. After that is fixed the logic in avc_dump_query to output this information isn't right since it will remove the permission from the av and print the phrase "". This takes us back to the behavior before the classmap rewrite. Signed-off-by: Eric Paris Signed-off-by: James Morris commit eb41c8be89dbe079f49202774e04a79ccac48a09 Author: H. Peter Anvin Date: Mon Nov 23 14:46:07 2009 -0800 x86, platform: Change is_untracked_pat_range() to bool; cleanup init - Change is_untracked_pat_range() to return bool. - Clean up the initialization of is_untracked_pat_range() -- by default, we simply point it at is_ISA_range() directly. - Move is_untracked_pat_range to the end of struct x86_platform, since it is the newest field. Signed-off-by: H. Peter Anvin Acked-by: Thomas Gleixner Cc: Jack Steiner LKML-Reference: <20091119202341.GA4420@sgi.com> commit 65f116f5f16dc3371fce24fb24bc4843b5380ba5 Author: H. Peter Anvin Date: Mon Nov 23 14:44:39 2009 -0800 x86: Change is_ISA_range() into an inline function Change is_ISA_range() from a macro to an inline function. This makes it type safe, and also allows it to be assigned to a function pointer if necessary. Signed-off-by: H. Peter Anvin Acked-by: Thomas Gleixner LKML-Reference: <20091119202341.GA4420@sgi.com> commit 8a27138924f64d2f30c1022f909f74480046bc3f Author: H. Peter Anvin Date: Mon Nov 23 14:49:20 2009 -0800 x86, mm: is_untracked_pat_range() takes a normal semiclosed range is_untracked_pat_range() -- like its components, is_ISA_range() and is_GRU_range(), takes a normal semiclosed interval (>=, <) whereas the PAT code called it as if it took a closed range (>=, <=). Fix. Although this is a bug, I believe it is non-manifest, simply because none of the callers will call this with non-page-aligned addresses. Signed-off-by: H. Peter Anvin Acked-by: Thomas Gleixner Acked-by: Suresh Siddha LKML-Reference: <20091119202341.GA4420@sgi.com> commit 55a6ca25472ee01574bfc24d23b7f5fa09cc38cf Author: H. Peter Anvin Date: Mon Nov 23 15:12:07 2009 -0800 x86, mm: Call is_untracked_pat_range() rather than is_ISA_range() Checkin fd12a0d69aee6d90fa9b9890db24368a897f8423 made the PAT untracked range a platform configurable, but missed on occurrence of is_ISA_range() which still refers to PAT-untracked memory, and therefore should be using the configurable. Signed-off-by: H. Peter Anvin Cc: Jack Steiner Cc: Suresh Siddha LKML-Reference: <20091119202341.GA4420@sgi.com> commit fa7c27ee9394fc0d52404b2a89882e95868a60b9 Author: Frederic Weisbecker Date: Mon Nov 23 22:30:12 2009 +0100 hw-breakpoints: Fix misordered ifdef Fix a misplaced ifdef. We need the perf event headers also in off-case to avoid the following build error: include/linux/hw_breakpoint.h:94: error: expected declaration specifiers or '...' before 'perf_callback_t' include/linux/hw_breakpoint.h:102: error: expected declaration specifiers or '...' before 'perf_callback_t' include/linux/hw_breakpoint.h:109: error: expected declaration specifiers or '...' before 'perf_callback_t' include/linux/hw_breakpoint.h:116: error: expected declaration specifiers or '...' before 'perf_callback_t' Reported-by: Kisskb-bot by Michael Ellerman Signed-off-by: Frederic Weisbecker Cc: Prasad LKML-Reference: <1259011812-8093-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3666ed1c4837fd6906da0224c5373d7a2186a193 Author: Joe Perches Date: Mon Nov 23 23:17:06 2009 +0100 netfilter: net/ipv[46]/netfilter: Move && and || to end of previous line Compile tested only. Signed-off-by: Joe Perches Signed-off-by: Patrick McHardy commit 18b6c9a2213d3b6e0212e8b225abf95f7564206a Author: John W. Linville Date: Mon Nov 23 16:15:19 2009 -0500 ath9k: set ps_default as false Copied from original one-line patch here: http://bugzilla.kernel.org/show_bug.cgi?id=14267#c26 (This is for 2.6.33 and beyond, where the bool was changed to a flag by "cfg80211: convert bools into flags". -- JWL) Signed-off-by: John W. Linville commit e33761e6f23881de9f3ee77cc2204ab2e26f3d9a Author: Michael Buesch Date: Mon Nov 23 20:58:06 2009 +0100 ssb: Fix range check in sprom write The range check in the sprom image parser hex2sprom() is broken. One sprom word is 4 hex characters. This fixes the check and also adds much better sanity checks to the code. We better make sure the image is OK by doing some sanity checks to avoid bricking the device by accident. Signed-off-by: Michael Buesch Cc: stable@kernel.org Signed-off-by: John W. Linville commit 3ba6018aa314559c5867138a8173b068268a70db Author: Michael Buesch Date: Mon Nov 23 20:12:13 2009 +0100 ssb: Fix SPROM writing The SPROM writing routines were broken since we rewrote the suspend handling on wireless devices, because SPROM writing depended on suspend. This patch changes it and freezes devices with the driver remove(), probe() callbacks instead. This also simplifies the whole logics a lot. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 77593ae28c4c134eaf28ef34ecac3cd4464ecd6e Author: Jussi Kivilinna Date: Sun Nov 22 20:16:47 2009 +0200 rndis_wlan: disable stall workaround Stall workaround doesn't work with bcm4320a devices like with bcm4320b. This workaround actually causes more stalls/device freeze on bcm4320a. Therefore disable stall workaround by default. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c1f8ca1d837148bf061d6ffa2038366e3cf0e4d7 Author: Jussi Kivilinna Date: Sun Nov 22 20:16:42 2009 +0200 rndis_wlan: fix buffer overflow in rndis_query_oid rndis_query_oid overwrites *len which stores buffer size to return full size of received command and then uses *len with memcpy to fill buffer with command. Ofcourse memcpy should be done before replacing buffer size. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 841507f5c1a5d2f196afb12e95eb11914f029832 Author: Jaswinder Singh Rajput Date: Sun Nov 22 13:47:58 2009 +0530 mac80211: Fix missing kernel-doc notation Fix the following htmldocs warnings: Warning(net/mac80211/sta_info.h:322): No description found for parameter 'drv_unblock_wk' Warning(net/mac80211/sta_info.h:322): No description found for parameter 'drv_unblock_wk' Signed-off-by: Jaswinder Singh Rajput Cc: Johannes Berg Cc: John W. Linville Cc: Randy Dunlap Cc: David Miller Signed-off-by: John W. Linville commit 3681165235aae95a2e6d5407bb4e9426d68a37dd Author: Wey-Yi Guy Date: Fri Nov 20 12:05:09 2009 -0800 iwlwifi: remove reset led_tpt from iwl_leds_init() Current blinking rate is calculated based on the difference between current tx/rx byte counts and priv->led_tpt. priv->led_tpt should not get reset in iwl_leds_init(), this function can be called by bring interface "up" or "down", or when uCode sysassert occurred. resetting the led_tpt parameter will introduce incorrect led blinking behavior. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2d237f71b00bdc9044b5853d79f8cbef6c8df3ed Author: Wey-Yi Guy Date: Fri Nov 20 12:05:08 2009 -0800 iwlwifi: change message for cmd queue full error Change error message for command queue full Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c341ddb283b9e1a6d217e73fa36738629ca8f4fb Author: Wey-Yi Guy Date: Fri Nov 20 12:05:07 2009 -0800 iwlwifi: print limited number of event log when uCode error To help iwlagn uCode debugging, event log will dump to syslog when driver detect uCode error occurred, but this only happen when compile with CONFIG_IWLWIFI_DEBUG and debug flag is enabled; which is not always the case. Also, there is another problem, if the flag is set, the entire event log buffer will be dump to syslog, it can flood the syslog and make it very difficult to debug the problem. Change the default to only dump last 20 entries of event log to syslog unless the following condition meets: 1. both compile with CONFIG_IWLWIFI_DEBUG and debug flag is enabled, and then dump the entire event buffer to syslog. 2. dump event log request from debugfs Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 644c77f0cfa333e58fd4a09450434e89a52d8931 Author: Jay Sternberg Date: Fri Nov 20 12:05:06 2009 -0800 iwlwifi: Tell the ucode immediately when association state changes When we get a state change of associated or not, we need to tell the ucode via the RX_ON command using the filter flags. This will prevent the ucode from sending any packets when not associated, specifically not sending NULL QOS packets after a deauthentication which causes the AP to repeatedly send deauth's in some situations. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a3ff72c18085563ce64f7456ae3afff3a83397e Author: Wey-Yi Guy Date: Fri Nov 20 12:05:05 2009 -0800 iwlwifi: dump error log when uCode error occurred uCode error log contain information as to what the error was and where it occurred necessary to debug any uCode issues. Always log the information without special debug flag, this can help to capture the important information when error happened. Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ade1e4dd1df436c3a441d17321c24aac8497306 Author: Wey-Yi Guy Date: Fri Nov 20 12:05:04 2009 -0800 iwlwifi: by default, dump entire sram data portion For "sram" debugfs file, if user did not specify the offset and length, dump the entire data portion of sram by default. Data portion is 0x800000 - 0x80ffff, but the actual data size is known to the driver from the ucode file. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ac592574a577162183b5c1dd040a188caa068a29 Author: Wey-Yi Guy Date: Fri Nov 20 12:05:03 2009 -0800 iwlwifi: update supported PCI_ID list for 5xx0 series Update the PCI_ID list for 5xx0 series. Remove all the PCI_IDs which never made into production or not longer in production. Also make sure the supported bands(a/b/g/n) match specified PCI_IDs Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0fd95afc7b8ae19045dc03ffeafb3afda78cb681 Author: Johannes Berg Date: Fri Nov 20 12:05:02 2009 -0800 iwlwifi: separate IO tracing Since IO tracing is usually not needed and generates a lot of data, separate it into its own trace system so that we can always enable iwlwifi:* and not have to worry about getting too much data. If IO tracing is then really needed we can enable iwlwifi_io:* in addition and get that data. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6262408392aa66083c9d5db101755fe753c97d4e Author: Wey-Yi Guy Date: Fri Nov 20 12:05:01 2009 -0800 iwlwifi: fix reserved2 field in iwl4965_addsta reserved2 field in "struct iwl4965_addsta_cmd" is __le16. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2943f136ffe29adb08162197b129bf8106e8191c Author: Wey-Yi Guy Date: Fri Nov 20 12:05:00 2009 -0800 iwlwifi: dynamically allocate buffer for sram debugfs file Dynamically allocate memory for dumping SRAM based on the length of memory to be displayed. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d23db556819c00d297c0f447bdd75b282d563122 Author: Wey-Yi Guy Date: Fri Nov 20 12:04:59 2009 -0800 iwlwifi: increase tx_queue debugfs buffer size For tx_queue, need to increase the buffer size allocated for it, so all the queues information can be displayed Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 43e851157adb966dd633e983b24040f72877737e Author: Wey-Yi Guy Date: Fri Nov 20 12:04:58 2009 -0800 iwlwifi: set read/write permission for debugfs files Set the correct Read/Write file permission for iwlwifi debugfs files based on the functionality of the files Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bc6c94f609d2f63347d4a05f28993792ae38caad Author: Reinette Chatre Date: Fri Nov 20 12:04:57 2009 -0800 iwl3945: removed unused struct and definitions Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7163b8a4ec995dabda3e92c6fed7b8600060618c Author: Wey-Yi Guy Date: Fri Nov 20 12:04:56 2009 -0800 iwlwifi: reset led_tpt when clear tx/rx traffic byte counts LED blink rate is based on the traffic load, when tx/rx traffic counts got reset, we also need to reset the led_tpt to prevent incorrect blink rate being calculated. Merge both clear_tx_statistics() and clear_rx_statistics() into single clear_traffic_statistics() function, when reset the traffic byte counts, both tx and rx need to be reset at the same time, to make sure calculated the correct led blink rate. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c15d20c1d19616f73b6fee4befd254d0c37b4d87 Author: Wey-Yi Guy Date: Fri Nov 20 12:04:55 2009 -0800 iwlwifi: set sm_ps_mode as part of cfg parameters Setting "Spatial multiplexing Power Save" as part of per device configuration parameter. Report to uCode based on priv->conf setting, so driver can have more control of how different devices should operate in power save mode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d5f4cf71f7b70e13f96cc8aac65b390707d5d80b Author: Wey-Yi Guy Date: Fri Nov 20 12:04:54 2009 -0800 iwlwifi: control led while update tx/rx bytes counts LED blinking rate is based on tx/rx traffic, the most reasonable place to do it is after update the traffic byte counts This fixes the recent LED blinking breakage on 3945 introduced by "iwlwifi: separate led function from statistic notification" Signed-off-by: Wey-Yi Guy Tested-by: Maxim Levitsky Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 74ba67edfcb235c0415a62d37493866c8380dc1d Author: Ben Cahill Date: Fri Nov 20 12:04:53 2009 -0800 iwlagn: Use iwl_write8() for CSR_INT_COALESCING register CSR_INT_COALESCING previously had only one, but now has two single-byte fields. With only one single-byte field (lowest order byte) it was okay to write via iwl_write32(), but now with two, an iwl_write32() to the lower order field clobbers the other field (odd-address CSR_INT_PERIODIC_REG, offset 0x5), and an iwl_write32() to CSR_INT_PERIODIC_REG could clobber the lowest byte of the next-higher register (CSR_INT, offset 0x8). Fortunately, no bad side effects have been produced by the iwl_write32() usage, due to order of execution (low order byte was always written before higher order byte), and the fact that writing "0" to the low byte of the next higher register has no effect (only action is when writing "1"s). Nonetheless, this cleans up the accesses so no bad side effects might occur in the future, if execution order changes, or more bit fields get added to CSR_INT_COALESCING. Add some comments regarding periodic interrupt usage. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e03185fb8e85d5624d3a68feced70cc9c9e2136 Author: Ben Cahill Date: Fri Nov 20 12:04:52 2009 -0800 iwlwifi: Add iwl_write8() To support byte writes to CSR_INT_COALESCING and CSR_INT_PERIODIC registers, add iwl_write8(), including debug/trace support. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3305443c968b98902199bea0abbd9443c6a2bb8d Author: Johannes Berg Date: Fri Nov 20 10:09:14 2009 +0100 mac80211: fix rcu locking Add a missing rcu_read_unlock() before jumping out of the ieee80211_change_station() function in the error case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f1cf2dbd0f798b71b1590e7aca6647f2caef1649 Author: Lukáš Turek <8an@praha12.net> Date: Thu Nov 19 23:02:02 2009 +0100 ath5k: Fix I/Q calibration The sign of correction coefficients was lost in the calculations, which caused high packetloss in 802.11a mode after the results were applied. Fixed by removing unneccesary and broken AND with a bit mask. Signed-off-by: Lukas Turek <8an@praha12.net> Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 98e3ac99e25601c3fb83dc91367d76f864496847 Author: Johannes Berg Date: Thu Nov 19 22:42:16 2009 +0100 mac80211: remove dead struct member ieee80211_local.wstats is a remnant from the days when we still had to worry about wireless extensions in mac80211 -- it can be removed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 07681e211d736ba2394ab7f29f77e93adecd22c5 Author: Michael Buesch Date: Thu Nov 19 22:24:29 2009 +0100 b43: Rewrite DMA Tx status handling sanity checks This rewrites the error handling policies in the TX status handler. It tries to be error-tolerant as in "try hard to not crash the machine". It won't recover from errors (that are bugs in the firmware or driver), because that's impossible. However, it will return a more or less useful error message and bail out. It also tries hard to use rate-limited messages to not flood the syslog in case of a failure. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8c35024aa65c079f800df7778869a8dbda074182 Author: Benoit PAPILLAULT Date: Thu Nov 19 22:19:26 2009 +0100 ath9k: This patch fix RX unpadding for any received frame. It has been tested with a 802.11 frame generator and by checking the FCS field of each received frame with the value reported by the Atheros hardware. This patch is useful if you are trying to analyze non standard 802.11 frame going over the air. Signed-off-by: Benoit PAPILLAULT Signed-off-by: John W. Linville commit ac2752c145c6dd25b8ed26bfede1c9177c91a7ef Author: Larry Finger Date: Thu Nov 19 14:40:46 2009 -0600 ssb: Unconditionally log results of core scans At present, the results of an SSB core scan are only logged when CONFIG_SSB_DEBUG is "y". As this may not be set in a distro kernel, it is difficult interpret many problems posted in bug reports or in help forums. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 25f94aeaa3b20e804efbea0fe74d75bb15ecde4a Author: Matthew Garrett Date: Wed Nov 11 14:36:31 2009 -0500 ipw2200: Set core hw rfkill status when hardware changes state ipw2200 is able to detect when it's been hard-killed, but doesn't update the core rfkill state or update userspace. Ensure that the state is updated, allowing the rfkill core to notify userspace. Signed-off-by: Matthew Garrett Signed-off-by: John W. Linville commit c26409a919e2a338f0cff6ea0e1a96e658a3bfaa Author: Matthew Garrett Date: Wed Nov 11 14:36:30 2009 -0500 ipw2100: Register the wiphy device libipw unconditionally calls wiphy_unregister, but it's up to the driver to register it in the first place. ipw2100 fails to do so. Add the necessary glue code, and also ensure that rfkill statuses get set up appropriately. (Augmented for proper wiphy_unregister placement. -- JWL) Signed-off-by: Matthew Garrett Signed-off-by: John W. Linville commit a3caa99e6c68f466c13cfea74097f6fb01b45e25 Author: John W. Linville Date: Tue Aug 25 14:12:25 2009 -0400 libipw: initiate cfg80211 API conversion (v2) Initiate the conversion of libipw to the new cfg80211 configuration API. For now, leave CONFIG_IPW2200_PROMISCUOUS stuff alone. Eventually migrate it to cfg80211 when the add/del/change_virtual_intf methods are implemented. (v2: Fix unconditional wiphy_unregister in libipw which was causing problems for ipw2100, somewhat based on prior attempted fix by Zhu Yi . Previously both original version of this patch and Zhu Yi's fix attempt were reverted due to discovery of regressions. -- JWL) Signed-off-by: John W. Linville commit c4a5af54c8ef277a59189fc9358e190f3c1b8206 Author: Andrew G. Morgan Date: Mon Nov 23 04:57:52 2009 +0000 Silence the existing API for capability version compatibility check. When libcap, or other libraries attempt to confirm/determine the supported capability version magic, they generally supply a NULL dataptr to capget(). In this case, while returning the supported/preferred magic (via a modified header content), the return code of this system call may be 0, -EINVAL, or -EFAULT. No libcap code depends on the previous -EINVAL etc. return code, and all of the above three return codes can accompany a valid (successful) attempt to determine the requested magic value. This patch cleans up the system call to return 0, if the call is successfully being used to determine the supported/preferred capability magic value. Signed-off-by: Andrew G. Morgan Acked-by: Steve Grubb Acked-by: Serge Hallyn Signed-off-by: James Morris commit fe542cf59bf0b31afe72b9e9749c0f6645419fa0 Author: Tetsuo Handa Date: Sun Nov 22 11:49:55 2009 +0900 LSM: Move security_path_chmod()/security_path_chown() to after mutex_lock(). We should call security_path_chmod()/security_path_chown() after mutex_lock() in order to avoid races. Signed-off-by: Tetsuo Handa Acked-by: John Johansen Signed-off-by: James Morris commit 1b145ae58035f30353d78d25bea665091df9b438 Author: Arnaldo Carvalho de Melo Date: Mon Nov 23 17:51:09 2009 -0200 perf kmem: Resolve symbols E.g.: [root@doppio linux-2.6-tip]# perf kmem record sleep 3s [ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ] [root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10 ------------------------------------------------------------------------------ Callsite |Total_alloc/Per | Total_req/Per | Hit | Frag ------------------------------------------------------------------------------ getname/40 | 1519616/4096 | 1519616/4096 | 371| 0.000% seq_read/a2 | 987136/4096 | 987136/4096 | 241| 0.000% __netdev_alloc_skb/43 | 260368/1049 | 259968/1048 | 248| 0.154% __alloc_skb/5a | 77312/256 | 77312/256 | 302| 0.000% proc_alloc_inode/33 | 76480/632 | 76472/632 | 121| 0.010% get_empty_filp/8d | 70272/192 | 70272/192 | 366| 0.000% split_vma/8e | 42064/176 | 42064/176 | 239| 0.000% [root@doppio linux-2.6-tip]# Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Frédéric Weisbecker Cc: linux-mm@kvack.org Cc: Li Zefan Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Steven Rostedt LKML-Reference: <1259005869-13487-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 2890284bcf5c13c10fae8a0c20ad2f575118a092 Author: Arnaldo Carvalho de Melo Date: Mon Nov 23 17:51:08 2009 -0200 perf tools: Move graph_line and graph_dotted_line from top So that they can be used in other tools. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259005869-13487-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4814326b59db0cfd18ac652626d955ad3f57fb0f Author: Vlad Yasevich Date: Mon Nov 23 15:54:01 2009 -0500 sctp: prevent too-fast association id reuse We use the idr subsystem and always ask for an id at or above 1. This results in a id reuse when one association is terminated while another is created. To prevent re-use, we keep track of the last id returned and ask for that id + 1 as a base for each query. We let the idr spin lock protect this base id as well. Signed-off-by: Vlad Yasevich commit da85b7396f3b6cb3fea7d77091498bfa1051ef7c Author: Andrei Pelinescu-Onciul Date: Mon Nov 23 15:54:01 2009 -0500 sctp: fix integer overflow when setting the autoclose timer When setting the autoclose timeout in jiffies there is a possible integer overflow if the value in seconds is very large (e.g. for 2^22 s with HZ=1024). The problem appears even on 64-bit due to the integer promotion rules. The fix is just a cast to unsigned long. Signed-off-by: Andrei Pelinescu-Onciul Signed-off-by: Vlad Yasevich commit f6778aab6ccc4b510b4dcfa770d9949b696b4545 Author: Andrei Pelinescu-Onciul Date: Mon Nov 23 15:54:01 2009 -0500 sctp: limit maximum autoclose setsockopt value To avoid overflowing the maximum timer interval when transforming the autoclose interval from seconds to jiffies, limit the maximum autoclose value to MAX_SCHEDULE_TIMEOUT/HZ. Signed-off-by: Andrei Pelinescu-Onciul Signed-off-by: Vlad Yasevich commit d8dd15781dd621c5ceab79083f4c5112787863f5 Author: Neil Horman Date: Mon Nov 23 15:54:00 2009 -0500 sctp: Fix mis-ordering of user space data when multihoming in use Recently had a bug reported to me, in which the user was sending packets with a payload containing a sequence number. The packets were getting delivered in order according the chunk TSN values, but the sequence values in the payload were arriving out of order. At first I thought it must be an application error, but we eventually found it to be a problem on the transmit side in the sctp stack. The conditions for the error are that multihoming must be in use, and it helps if each transport has a different pmtu. The problem occurs in sctp_outq_flush. Basically we dequeue packets from the data queue, and attempt to append them to the orrered packet for a given transport. After we append a data chunk we add the trasport to the end of a list of transports to have their packets sent at the end of sctp_outq_flush. The problem occurs when a data chunks fills up a offered packet on a transport. The function that does the appending (sctp_packet_transmit_chunk), will try to call sctp_packet_transmit on the full packet, and then append the chunk to a new packet. This call to sctp_packet_transmit, sends that packet ahead of the others that may be queued in the transport_list in sctp_outq_flush. The result is that frames that were sent in one order from the user space sending application get re-ordered prior to tsn assignment in sctp_packet_transmit, resulting in mis-sequencing of data payloads, even though tsn ordering is correct. The fix is to change where we assign a tsn. By doing this earlier, we are then free to place chunks in packets, whatever way we see fit and the protocol will make sure to do all the appropriate re-ordering on receive as is needed. Signed-off-by: Neil Horman Reported-by: William Reich Signed-off-by: Vlad Yasevich commit 46d5a808558181e03a4760d2188cc9879445738a Author: Vlad Yasevich Date: Mon Nov 23 15:54:00 2009 -0500 sctp: Update max.burst implementation Current implementation of max.burst ends up limiting new data during cwnd decay period. The decay is happening becuase the connection is idle and we are allowed to fill the congestion window. The point of max.burst is to limit micro-bursts in response to large acks. This still happens, as max.burst is still applied to each transmit opportunity. It will also apply if a very large send is made (greater then allowed by burst). Tested-by: Florian Niederbacher Signed-off-by: Vlad Yasevich commit a5b03ad2143c5bc9ae76533e8321fe66258b4f35 Author: Vlad Yasevich Date: Mon Nov 23 15:53:59 2009 -0500 sctp: Turn the enum socket options into defines Recent attempt to remove deprecated socket options demonstrated that removing options from the enum space will have severe binary compatibility issues. The reason is that it changes the subsequent enum space and causes option values to be redefined. To solve this, and to get rid of the ugly double statements for every option, we simply convert to the #define scheme. Signed-off-by: Vlad Yasevich commit 245cba7e55929dc2b10b7d915bfba0168eeeed17 Author: Vlad Yasevich Date: Mon Nov 23 15:53:58 2009 -0500 sctp: Remove useless last_time_used variable The transport last_time_used variable is rather useless. It was only used when determining if CWND needs to be updated due to idle transport. However, idle transport detection was based on a Heartbeat timer and last_time_used was not incremented when sending Heartbeats. As a result the check for cwnd reduction was always true. We can get rid of the variable and just base our cwnd manipulation on the HB timer (like the code comment sais). We also have to call into the cwnd manipulation function regardless of whether HBs are enabled or not. That way we will detect idle transports if the user has disabled Heartbeats. Signed-off-by: Vlad Yasevich commit a242b41dedfe0fd51ab1c906daa703c09b196744 Author: Amerigo Wang Date: Mon Nov 23 15:53:58 2009 -0500 sctp: remove deprecated SCTP_GET_*_OLD stuffs SCTP_GET_*_OLD stuffs are schedlued to be removed. Cc: Vlad Yasevich Signed-off-by: WANG Cong Signed-off-by: Vlad Yasevich commit 37051f73862d15862aecc08b887b2884137af327 Author: Andrei Pelinescu-Onciul Date: Mon Nov 23 15:53:57 2009 -0500 sctp: allow setting path_maxrxt independent of SPP_PMTUD_ENABLE Since draft-ietf-tsvwg-sctpsocket-15.txt, setting the SPP_MTUD_ENABLE flag when changing pathmaxrxt via the SCTP_PEER_ADDR_PARAMS setsockopt is not required any longer. Signed-off-by: Andrei Pelinescu-Onciul Signed-off-by: Vlad Yasevich commit 90f2f5318b3a5b0898fef0fec9b91376c7de7a2c Author: Vlad Yasevich Date: Mon Nov 23 15:53:57 2009 -0500 sctp: Update SWS avaoidance receiver side algorithm We currently send window update SACKs every time we free up 1 PMTU worth of data. That a lot more SACKs then necessary. Instead, we'll now send back the actuall window every time we send a sack, and do window-update SACKs when a fraction of the receive buffer has been opened. The fraction is controlled with a sysctl. Signed-off-by: Vlad Yasevich commit e0e9db178a5ba4dbb5f16f958f1affbdc63d2cc4 Author: Vlad Yasevich Date: Mon Nov 23 15:53:57 2009 -0500 sctp: Select a working primary during sctp_connectx() When sctp_connectx() is used, we pick the first address as primary, even though it may not have worked. This results in excessive retransmits and poor performance. We should select the address that the association was established with. Reported-by: Thomas Dreibholz Signed-off-by: Vlad Yasevich commit 6383cfb3ed3c5c0bea06da0099c219ef4237ecf5 Author: Vlad Yasevich Date: Mon Nov 23 15:53:56 2009 -0500 sctp: Fix malformed "Invalid Stream Identifier" error The "Invalid Stream Identifier" error has a 16 bit reserved field at the end, thus making the parameter length be 8 bytes. We've never supplied that reserved field making wireshark tag the packet as malformed. Reported-by: Chris Dischino Signed-off-by: Vlad Yasevich commit b93d6471748de2ce02cc24774b774deb306a57a8 Author: Wei Yongjun Date: Mon Nov 23 15:53:56 2009 -0500 sctp: implement the sender side for SACK-IMMEDIATELY extension This patch implement the sender side for SACK-IMMEDIATELY extension. Section 4.1. Sender Side Considerations Whenever the sender of a DATA chunk can benefit from the corresponding SACK chunk being sent back without delay, the sender MAY set the I-bit in the DATA chunk header. Reasons for setting the I-bit include o The sender is in the SHUTDOWN-PENDING state. o The application requests to set the I-bit of the last DATA chunk of a user message when providing the user message to the SCTP implementation. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 6dc7694f9df20f148076d82d00cb3663afb0b000 Author: Wei Yongjun Date: Mon Nov 23 15:53:53 2009 -0500 sctp: implement the receiver side for SACK-IMMEDIATELY extension This patch implement the receiver side for SACK-IMMEDIATELY extension: Section 4.2. Receiver Side Considerations On reception of an SCTP packet containing a DATA chunk with the I-bit set, the receiver SHOULD NOT delay the sending of the corresponding SACK chunk and SHOULD send it back immediately. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 475cba4ec8ee6b427cc3567692e6f48dd483c069 Author: Wei Yongjun Date: Mon Nov 23 15:53:52 2009 -0500 sctp: implement definition for SACK-IMMEDIATELY extension This patch implement the definition for SACK-IMMEDIATELY extension. Section 3. The I-bit in the DATA Chunk Header The following Figure 1 shows the extended DATA chunk. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0 | Res |I|U|B|E| Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TSN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Stream Identifier | Stream Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Protocol Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ \ / User Data / \ \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1 The only difference between the DATA chunk in Figure 1 and the DATA chunk defined in [RFC4960] is the addition of the I-bit in the flags field of the chunk header. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 78d7530ac338e458fa513527ee7bb4278d0d8017 Author: Nelson Elhage Date: Fri Oct 2 16:32:47 2009 -0400 ARM: Clean up linker script using new linker script macros. This patch is mostly a straightforward translation. The primary side effect to the resulting vmlinux should be to increase the alignment on the initramfs to the standard PAGE_SIZE from 32 bytes. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg Signed-off-by: Russell King commit 2abc1c50b6be81233e0b79478dc04d8fec737ed5 Author: Tim Abbott Date: Fri Oct 2 16:32:46 2009 -0400 ARM: convert to use __HEAD and HEAD_TEXT macros. This has the consequence of changing the section name used for head code from ".text.head" to ".head.text". Since this commit changes all users in the architecture, this change should be harmless. The .text.head output section is eliminated and the head text code is included at the start of the .init output section. Signed-off-by: Tim Abbott Cc: Linus Torvalds Acked-by: Sam Ravnborg Signed-off-by: Russell King commit 27c13ecec4d8856687b50b959e1146845b478f95 Author: Borislav Petkov Date: Sat Nov 21 14:01:45 2009 +0100 x86, cpu: mv display_cacheinfo -> cpu_detect_cache_sizes display_cacheinfo() doesn't display anything anymore and it is used to detect CPU cache sizes. Rename it accordingly. Signed-off-by: Borislav Petkov LKML-Reference: <20091121130145.GA31357@liondog.tnic> Signed-off-by: H. Peter Anvin commit cc612d8199089413719397c9d92e5823da578eac Author: Arnaldo Carvalho de Melo Date: Mon Nov 23 16:39:10 2009 -0200 perf symbols: Look for vmlinux in more places Now that we can check the buildid to see if it really matches, this can be done safely: vmlinux /boot/vmlinux /boot/vmlinux- /lib/modules//build/vmlinux /usr/lib/debug/lib/modules/%s/vmlinux More can be added - if you know about distros that put the vmlinux somewhere else please let us know. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1259001550-8194-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fd12a0d69aee6d90fa9b9890db24368a897f8423 Author: Jack Steiner Date: Thu Nov 19 14:23:41 2009 -0600 x86: UV SGI: Don't track GRU space in PAT GRU space is always mapped as WB in the page table. There is no need to track the mappings in the PAT. This also eliminates the "freeing invalid memtype" messages when the GRU space is unmapped. Signed-off-by: Jack Steiner LKML-Reference: <20091119202341.GA4420@sgi.com> [ v2: fix build failure ] Signed-off-by: Ingo Molnar commit dc63d3771cc6492220f53caf5fded6090d45d9ce Author: Alexander Duyck Date: Mon Nov 23 06:32:57 2009 +0000 ixgbe: Only set/clear VFE in ixgbe_set_rx_mode There appears to be a stray setting of the VFE bit when registering vlans. This should not be done as vlan filtering should be enabled any time the interface is not in promiscous mode Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit edd2ea5559737e5239d5c80fa1a55b8bc440470b Author: Mallikarjuna R Chilakala Date: Mon Nov 23 10:45:11 2009 -0800 ixgbe: Use rx buffer length from rx ring for configuring rscctl While configuring rscctl use rx buffer length from rx ring structure instead of passing rx_buf_len to ixgbe_configure_rscctl Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 94b982b2e4be9661fe1c3893aa780a711b09cd30 Author: Mallikarjuna R Chilakala Date: Mon Nov 23 06:32:06 2009 +0000 ixgbe: Modify 82599 HWRSC statistics counters Divide 82599 HWRSC counters into aggregated and flushed to count number of packets getting coalesced per TCP connection. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 713d039426a80ed78e71294cfb5d0a009bb20b42 Author: Sathya Perla Date: Sun Nov 22 22:02:45 2009 +0000 be2net: remove BUG_ON() when be2net runs out of mccq wrbs The driver can run out of mccq wrbs when completions don't arrive due to an unresponsive card. This must not hit a BUG_ON(); instead log a msg and return an error. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 8d56ff11708e5809c644a6d687a5dff4551043b4 Author: Sathya Perla Date: Sun Nov 22 22:02:26 2009 +0000 be2net: Fix cleanup path in be_probe() Disabling msix was missing when probe fails after enabling msix. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 2243e2e95e24f4c4b1c6575b874ebe0b837d2208 Author: Sathya Perla Date: Sun Nov 22 22:02:03 2009 +0000 be2net: Issue fw_init/clean cmds to fw These cmds are issued to the fw in probe/resume and remove/suspend paths to help fw execute some initialization and cleanup code. This change needed the be_hw_up() code to be refactored as be_get_config(). Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 01ed30da5d2e718df458f1680fd97751a769c1a2 Author: Sathya Perla Date: Sun Nov 22 22:01:31 2009 +0000 be2net: Fix rx_drops_no_fragments stat being incorrectly indexed Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit e7b909a68cfb83e4bafdadac39534969ce260518 Author: Sathya Perla Date: Sun Nov 22 22:01:10 2009 +0000 be2net: support configuration of 64 multicast addresses instead of 32 To send upto 64 addresses in the multicast-set cmd, the non-embeeded cmd format that provides for a bigger buffer is used instead of an embedded format. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 581f202bcd60acbc3af1f5faa429e570c512f8a3 Author: Dimitri Sivanich Date: Fri Nov 20 15:48:26 2009 -0600 x86: UV RTC: Always enable RTC clocksource Always enable the RTC clocksource on UV systems. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091120214826.GA20016@sgi.com> Signed-off-by: Ingo Molnar commit 9d4fb27db90043cd2640e4bc778f9c755d3c17c1 Author: Joe Perches Date: Mon Nov 23 10:41:23 2009 -0800 net/ipv4: Move && and || to end of previous line On Sun, 2009-11-22 at 16:31 -0800, David Miller wrote: > It should be of the form: > if (x && > y) > > or: > if (x && y) > > Fix patches, rather than complaints, for existing cases where things > do not follow this pattern are certainly welcome. Also collapsed some multiple tabs to single space. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 0444c9bd0cf4e0eb946a7fcaf34765accfa9404a Author: Jan Beulich Date: Fri Nov 20 14:03:05 2009 +0000 x86: Tighten conditionals on MCE related statistics irq_thermal_count is only being maintained when X86_THERMAL_VECTOR, and both X86_THERMAL_VECTOR and X86_MCE_THRESHOLD don't need extra wrapping in X86_MCE conditionals. Signed-off-by: Jan Beulich Cc: Hidetoshi Seto Cc: Yong Wang Cc: Suresh Siddha Cc: Andi Kleen Cc: Borislav Petkov Cc: Arjan van de Ven LKML-Reference: <4B06AFA902000078000211F8@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 429947248f814e90f416ab4f68a871ab628000c3 Author: Jan Blunck Date: Fri Nov 20 17:40:37 2009 +0100 sched_feat_write(): Update ppos instead of file->f_pos sched_feat_write() should update ppos instead of file->f_pos. (This reduces some BKL dependencies of this code.) Signed-off-by: Jan Blunck Cc: jkacur@redhat.com Cc: Arnd Bergmann Cc: Frederic Weisbecker Cc: Jamie Lokier Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Alan Cox LKML-Reference: <1258735245-25826-8-git-send-email-jblunck@suse.de> Signed-off-by: Ingo Molnar commit e38e2af1c57c3eb5211331a5b4fcaae0c4a2a918 Author: Cliff Wickman Date: Thu Nov 19 17:12:43 2009 -0600 x86: SGI UV: Fix BAU initialization A memory mapped register that affects the SGI UV Broadcast Assist Unit's interrupt handling may sometimes be unintialized. Remove the condition on its initialization, as that condition can be randomly satisfied by a hardware reset. Signed-off-by: Cliff Wickman Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit 1b290d670ffa883b7e062177463a8efd00eaa2c1 Author: Frederic Weisbecker Date: Mon Nov 23 15:42:35 2009 +0100 perf tools: Add support for breakpoint events in perf tools Add the breakpoint events support with this new sysnopsis: mem:addr[:access] Where addr is a raw addr value in the kernel and access can be either [r][w][x] Example to profile tasklist_lock: $ grep tasklist_lock /proc/kallsyms ffffffff8189c000 D tasklist_lock $ perf record -e mem:0xffffffff8189c000:rw -a -f -c 1 $ perf report # Samples: 62 # # Overhead Command Shared Object Symbol # ........ ............... ............. ...... # 29.03% swapper [kernel] [k] _raw_read_trylock 29.03% swapper [kernel] [k] _raw_read_unlock 19.35% init [kernel] [k] _raw_read_trylock 19.35% init [kernel] [k] _raw_read_unlock 1.61% events/0 [kernel] [k] _raw_read_trylock 1.61% events/0 [kernel] [k] _raw_read_unlock Coming soon: - Support for symbols in the event definition. - Default period to 1 for breakpoint events because these are not high frequency events. The same thing is needed for trace events. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad commit f5ffe02e5046003ae7e2ce70d3d1c2a73331268b Author: Frederic Weisbecker Date: Mon Nov 23 15:42:34 2009 +0100 perf: Add kernel side syscall events support for breakpoints Add the remaining necessary bits to support breakpoints created through perf syscall. We don't use the software counter interface as: - We don't need to check against recursion, this is already done in hardware breakpoints arch level. - We already know the perf event we are dealing with when the event is to be committed. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit fdf6bc95229821e3d9405eba28925b76e92b74d0 Author: Frederic Weisbecker Date: Mon Nov 23 15:42:33 2009 +0100 hw-breakpoints: Check the breakpoint params from perf tools Perf tools create perf events as disabled in the beginning. Breakpoints are then considered like ptrace temporary breakpoints, only meant to reserve a breakpoint slot until we get all the necessary informations from the user. In this case, we don't check the address that is breakpointed as it is NULL in the ptrace case. But perf tools don't have the same purpose, events are created disabled to wait for all events to be created before enabling all of them. We want to check the breakpoint parameters in this case. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e6db4876575f3fdd5b1df2cbff826df95ab9af6a Author: Frederic Weisbecker Date: Mon Nov 23 15:42:32 2009 +0100 hw-breakpoints: Include only linux/perf_event.h from kernel part of bp headers As userspace only needs the breakpoints enum types from the breakpoints headers. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258987355-8751-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ba6909b719a5ccc0c8100d2895bb7ff557b2eeae Author: K.Prasad Date: Mon Nov 23 21:17:13 2009 +0530 hw-breakpoint: Attribute authorship of hw-breakpoint related files Attribute authorship to developers of hw-breakpoint related files. Signed-off-by: K.Prasad Cc: Alan Stern Cc: Frederic Weisbecker LKML-Reference: <20091123154713.GA5593@in.ibm.com> [ v2: moved it to latest -tip ] Signed-off-by: Ingo Molnar commit acd1d7c1f8f3d848a3c5327dc09f8c1efb971678 Author: Peter Zijlstra Date: Mon Nov 23 15:00:36 2009 +0100 perf_events: Restore sanity to scaling land It is quite possible to call update_event_times() on a context that isn't actually running and thereby confuse the thing. perf stat was reporting !100% scale values for software counters (2e2af50b perf_events: Disable events when we detach them, solved the worst of that, but there was still some left). The thing that happens is that because we are not self-reaping (we have a caring parent) there is a time between the last schedule (out) and having do_exit() called which will detach the events. This period would be accounted as enabled,!running because the event->state==INACTIVE, even though !event->ctx->is_active. Similar issues could have been observed by calling read() on a event while the attached task was not scheduled in. Solve this by teaching update_event_times() about ctx->is_active. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1258984836.4531.480.camel@laptop> Signed-off-by: Ingo Molnar commit 97cef58521288ade8d957e4d568a3d409dea7d64 Merge: dcdec63 50b6bce Author: Mark Brown Date: Mon Nov 23 13:37:04 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 29cb8d0d249f6b8fa33683cc17622ff16ada834c Author: Russell King Date: Sat Oct 31 16:10:10 2009 +0000 ARM: dma-mapping: split dma_unmap_page() from dma_unmap_single() We will need to treat dma_unmap_page() differently from dma_unmap_single() Signed-off-by: Russell King Tested-By: Jamie Iles commit ef1baed8870d1eebb0c08d9a466e703f1a21b484 Author: Russell King Date: Sat Oct 31 16:07:16 2009 +0000 ARM: dma-mapping: provide dma_to_page() Signed-off-by: Russell King Tested-By: Jamie Iles commit 1c4a4f48a14861a567c8861355bc8252da3a003f Author: Russell King Date: Sat Oct 31 15:58:30 2009 +0000 ARM: dma-mapping: simplify page_to_dma() and __pfn_to_bus() The non-highmem() and the __pfn_to_bus() based page_to_dma() both compile to the same code, so its pointless having these two different approaches. Use the __pfn_to_bus() based version. Signed-off-by: Russell King Tested-By: Jamie Iles Reviewed-by: Catalin Marinas commit 719301ff1c77b6da7b1b6f78a1e51af64a678619 Author: Russell King Date: Sat Oct 31 17:51:57 2009 +0000 ARM: provide phys_to_page() to complement page_to_phys() Signed-off-by: Russell King Tested-By: Jamie Iles Reviewed-by: Catalin Marinas commit 2f32bfd834d5d7eb230bcbf39aaacccd2a01d767 Author: Jaswinder Singh Rajput Date: Mon Nov 23 20:25:50 2009 +0800 crypto: ansi_cprng - Move FIPS functions under CONFIG_CRYPTO_FIPS fips_cprng_get_random and fips_cprng_reset is used only by CONFIG_CRYPTO_FIPS. This also fixes compilation warnings: crypto/ansi_cprng.c:360: warning: ‘fips_cprng_get_random’ defined but not used crypto/ansi_cprng.c:393: warning: ‘fips_cprng_reset’ defined but not used Signed-off-by: Jaswinder Singh Rajput Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 507069c91e36786b3fa5d9515c35ed6bb0ce469b Author: Youquan, Song Date: Mon Nov 23 20:23:04 2009 +0800 crypto: testmgr - Add ghash algorithm test before provide to users Add ghash algorithm test before provide it to users Signed-off-by: Youquan, Song Signed-off-by: Herbert Xu commit 68ee87164e73f68cf09070043c97e7f61e6966d4 Author: Jiri Kosina Date: Mon Nov 23 20:19:47 2009 +0800 crypto: ghash-clmulni-intel - Put proper .data section in place Lbswap_mask, Lpoly and Ltwo_one should clearly belong to .data section, not .text. Signed-off-by: Jiri Kosina Signed-off-by: Herbert Xu commit 564ec0ec05ac6ee409bde81f7ef27a3dadbf3a6a Author: Huang Ying Date: Mon Nov 23 19:55:22 2009 +0800 crypto: ghash-clmulni-intel - Use gas macro for PCLMULQDQ-NI and PSHUFB Old binutils do not support PCLMULQDQ-NI and PSHUFB, to make kernel can be compiled by them, .byte code is used instead of assembly instructions. But the readability and flexibility of raw .byte code is not good. So corresponding assembly instruction like gas macro is used instead. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit be831297716036de5b24308447ecb69f1706a846 Author: Joerg Roedel Date: Mon Nov 23 12:50:00 2009 +0100 x86/amd-iommu: attach devices to pre-allocated domains early For some devices the ACPI table may define unity map requirements which must me met when the IOMMU is enabled. So we need to attach devices to their domains as early as possible so that these mappings are in place when needed. This patch assigns the domains right after they are allocated. Otherwise this can result in I/O page faults before a driver binds to a device and BIOS is still using it. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit b369e521237d6ef21c453f3ac4f4b8577ec14f87 Author: Huang Ying Date: Mon Nov 23 19:54:06 2009 +0800 crypto: aesni-intel - Use gas macro for AES-NI instructions Old binutils do not support AES-NI instructions, to make kernel can be compiled by them, .byte code is used instead of AES-NI assembly instructions. But the readability and flexibility of raw .byte code is not good. So corresponding assembly instruction like gas macro is used instead. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 9f800de38b05d84809e89f16671d636a140eede7 Author: Joerg Roedel Date: Mon Nov 23 12:45:25 2009 +0100 x86/amd-iommu: un__init iommu_setup_msi This function may be called on the resume path and can not be dropped after booting. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit 52939c03e53b151848da9e83fd839bddfda29e78 Author: Daniel Mack Date: Sat Nov 21 20:17:18 2009 +0100 ARM: MX3: fix CPU revision number detection The macro mx31_revision() used to take the global variable system_rev to determine the CPU revision number. However, this number is expected to be set by the bootloader and is usually zero (at least on my MX31 based boards here). More than that, it is usually taken to identify the board's revision, not the CPU's. Fix that by reading the the CPU's SREV register instead. Right now, mx31_read_cpu_rev() is called from mx31_clocks_init() which is admittedly not a good place for it. However, we need to enable the IIM clock first, and the clock code also has conditional code that depends on mx31_revision() returning the right thing. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 2cc326833f616ee49f73be94d4bf0ab1bc9a72d9 Author: Daniel Mack Date: Sat Nov 21 18:40:40 2009 +0100 ARM: MX3: lilly1131: move MC13783 device registration Register the MC13783 device in the module code. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 4ed7c92d68a5387ba5f7030dc76eab03558e27f5 Author: Peter Zijlstra Date: Mon Nov 23 11:37:29 2009 +0100 perf_events: Undo some recursion damage Make perf_swevent_get_recursion_context return a context number and disable preemption. This could be used to remove the IRQ disable from the trace bit and index the per-cpu buffer with. Signed-off-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras LKML-Reference: <20091123103819.993226816@chello.nl> Signed-off-by: Ingo Molnar commit f67218c3e93abaf0f480bb94b53d234853ffe4de Author: Peter Zijlstra Date: Mon Nov 23 11:37:27 2009 +0100 perf_events: Fix __perf_event_exit_task() vs. update_event_times() locking Move the update_event_times() call in __perf_event_exit_task() into list_del_event() because that holds the proper lock (ctx->lock) and seems a more natural place to do the last time update. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.842455480@chello.nl> Signed-off-by: Ingo Molnar commit 5e942bb33371254a474653123cd9e13a4c89ee44 Author: Peter Zijlstra Date: Mon Nov 23 11:37:26 2009 +0100 perf_events: Update the context time on exit It appeared we did call update_event_times() on exit, but we failed to update the context time, which renders the former moot. Locking is a bit iffy, we call update_event_times under ctx->mutex instead of ctx->lock - the next patch fixes this. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.764207355@chello.nl> Signed-off-by: Ingo Molnar commit 2e2af50b1fab3c40636839a7f439c167ae559533 Author: Peter Zijlstra Date: Mon Nov 23 11:37:25 2009 +0100 perf_events: Disable events when we detach them If we leave the event in STATE_INACTIVE, any read of the event after the detach will increase the running count but not the enabled count and cause funny scaling artefacts. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.689055515@chello.nl> Signed-off-by: Ingo Molnar commit 6c2bfcbe58e0dd39554be88940149f5aa11e17d1 Author: Peter Zijlstra Date: Mon Nov 23 11:37:24 2009 +0100 perf_events: Fix style nits Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.613427378@chello.nl> Signed-off-by: Ingo Molnar commit a66a3052e2d4c5815d7ad26887b1d4193206e691 Author: Peter Zijlstra Date: Mon Nov 23 11:37:23 2009 +0100 perf_events: Undo copy/paste damage We had two almost identical functions, avoid the duplication. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091123103819.537537928@chello.nl> Signed-off-by: Ingo Molnar commit a4234bfcf4d72a10a99176cdef007345e9c3b4aa Author: Ingo Molnar Date: Mon Nov 23 10:57:59 2009 +0100 perf_events: Optimize the swcounter hotpath The structure init creates a bit memcpy, which shows up big time in perf annotate output: : ffffffff810a859d <__perf_sw_event>: 1.68 : ffffffff810a859d: 55 push %rbp 1.69 : ffffffff810a859e: 41 89 fa mov %edi,%r10d 0.01 : ffffffff810a85a1: 49 89 c9 mov %rcx,%r9 0.00 : ffffffff810a85a4: 31 c0 xor %eax,%eax 1.71 : ffffffff810a85a6: b9 16 00 00 00 mov $0x16,%ecx 0.00 : ffffffff810a85ab: 48 89 e5 mov %rsp,%rbp 0.00 : ffffffff810a85ae: 48 83 ec 60 sub $0x60,%rsp 1.52 : ffffffff810a85b2: 48 8d 7d a0 lea -0x60(%rbp),%rdi 85.20 : ffffffff810a85b6: f3 ab rep stos %eax,%es:(%rdi) None of the callees depends on the structure being pre-initialized, so only initialize ->addr. This gets rid of the memcpy overhead. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 0e7810be30f66e9f430c4ce2cd3b14634211690f Author: Jan Beulich Date: Fri Nov 20 14:00:14 2009 +0000 x86: Suppress stack overrun message for init_task init_task doesn't get its stack end location set to STACK_END_MAGIC, and hence the message is confusing rather than helpful in this case. Signed-off-by: Jan Beulich LKML-Reference: <4B06AEFE02000078000211F4@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 457dc928f586f3f4b930206965e6db270034e97e Author: Ingo Molnar Date: Mon Nov 23 11:03:28 2009 +0100 tracing, function tracer: Clean up strstrip() usage Clean up strstrip() usage - which also addresses this build warning: kernel/trace/ftrace.c: In function 'ftrace_pid_write': kernel/trace/ftrace.c:3004: warning: ignoring return value of 'strstrip', declared with attribute warn_unused_result Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3a0429292daa0e1ec848bd26479f5e48b0d54a42 Author: Florian Westphal Date: Mon Nov 23 10:43:57 2009 +0100 netfilter: xtables: fix conntrack match v1 ipt-save output commit d6d3f08b0fd998b647a05540cedd11a067b72867 (netfilter: xtables: conntrack match revision 2) does break the v1 conntrack match iptables-save output in a subtle way. Problem is as follows: up = kmalloc(sizeof(*up), GFP_KERNEL); [..] /* * The strategy here is to minimize the overhead of v1 matching, * by prebuilding a v2 struct and putting the pointer into the * v1 dataspace. */ memcpy(up, info, offsetof(typeof(*info), state_mask)); [..] *(void **)info = up; As the v2 struct pointer is saved in the match data space, it clobbers the first structure member (->origsrc_addr). Because the _v1 match function grabs this pointer and does not actually look at the v1 origsrc, run time functionality does not break. But iptables -nvL (or iptables-save) cannot know that v1 origsrc_addr has been overloaded in this way: $ iptables -p tcp -A OUTPUT -m conntrack --ctorigsrc 10.0.0.1 -j ACCEPT $ iptables-save -A OUTPUT -p tcp -m conntrack --ctorigsrc 128.173.134.206 -j ACCEPT (128.173... is the address to the v2 match structure). To fix this, we take advantage of the fact that the v1 and v2 structures are identical with exception of the last two structure members (u8 in v1, u16 in v2). We extract them as early as possible and prevent the v2 matching function from looking at those two members directly. Previously reported by Michel Messerschmidt via Ben Hutchings, also see Debian Bug tracker #556587. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit c4832c7bbc3f7a4813347e871d7238651bf437d3 Author: Pablo Neira Ayuso Date: Mon Nov 23 10:34:39 2009 +0100 netfilter: nf_ct_tcp: improve out-of-sync situation in TCP tracking Without this patch, if we receive a SYN packet from the client while the firewall is out-of-sync, we let it go through. Then, if we see the SYN/ACK reply coming from the server, we destroy the conntrack entry and drop the packet to trigger a new retransmission. Then, the retransmision from the client is used to start a new clean session. This patch improves the current handling. Basically, if we see an unexpected SYN packet, we annotate the TCP options. Then, if we see the reply SYN/ACK, this means that the firewall was indeed out-of-sync. Therefore, we set a clean new session from the existing entry based on the annotated values. This patch adds two new 8-bits fields that fit in a 16-bits gap of the ip_ct_tcp structure. This patch is particularly useful for conntrackd since the asynchronous nature of the state-synchronization allows to have backup nodes that are not perfect copies of the master. This helps to improve the recovery under some worst-case scenarios. I have tested this by creating lots of conntrack entries in wrong state: for ((i=1024;i<65535;i++)); do conntrack -I -p tcp -s 192.168.2.101 -d 192.168.2.2 --sport $i --dport 80 -t 800 --state ESTABLISHED -u ASSURED,SEEN_REPLY; done Then, I make some TCP connections: $ echo GET / | nc 192.168.2.2 80 The events show the result: [UPDATE] tcp 6 60 SYN_RECV src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 432000 ESTABLISHED src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 120 FIN_WAIT src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 30 LAST_ACK src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] [UPDATE] tcp 6 120 TIME_WAIT src=192.168.2.101 dst=192.168.2.2 sport=33220 dport=80 src=192.168.2.2 dst=192.168.2.101 sport=80 dport=33220 [ASSURED] and tcpdump shows no retransmissions: 20:47:57.271951 IP 192.168.2.101.33221 > 192.168.2.2.www: S 435402517:435402517(0) win 5840 20:47:57.273538 IP 192.168.2.2.www > 192.168.2.101.33221: S 3509927945:3509927945(0) ack 435402518 win 5792 20:47:57.273608 IP 192.168.2.101.33221 > 192.168.2.2.www: . ack 3509927946 win 92 20:47:57.273693 IP 192.168.2.101.33221 > 192.168.2.2.www: P 435402518:435402524(6) ack 3509927946 win 92 20:47:57.275492 IP 192.168.2.2.www > 192.168.2.101.33221: . ack 435402524 win 362 20:47:57.276492 IP 192.168.2.2.www > 192.168.2.101.33221: P 3509927946:3509928082(136) ack 435402524 win 362 20:47:57.276515 IP 192.168.2.101.33221 > 192.168.2.2.www: . ack 3509928082 win 108 20:47:57.276521 IP 192.168.2.2.www > 192.168.2.101.33221: F 3509928082:3509928082(0) ack 435402524 win 362 20:47:57.277369 IP 192.168.2.101.33221 > 192.168.2.2.www: F 435402524:435402524(0) ack 3509928083 win 108 20:47:57.279491 IP 192.168.2.2.www > 192.168.2.101.33221: . ack 435402525 win 362 I also added a rule to log invalid packets, with no occurrences :-) . Signed-off-by: Pablo Neira Ayuso Acked-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 6e3d8330ae2c4b2c11a9577a0130d2ecda1c610d Author: Ingo Molnar Date: Mon Nov 23 10:19:20 2009 +0100 perf events: Do not generate function trace entries in perf code Decreases perf overhead when function tracing is enabled, by about 50%. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit d9c2d5ac6af87b4491bff107113aaf16f6c2b2d9 Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86, numa: Use near(er) online node instead of roundrobin for NUMA CPU to node mapping is set via the following sequence: 1. numa_init_array(): Set up roundrobin from cpu to online node 2. init_cpu_to_node(): Set that according to apicid_to_node[] according to srat only handle the node that is online, and leave other cpu on node without ram (aka not online) to still roundrobin. 3. later call srat_detect_node for Intel/AMD, will use first_online node or nearby node. Problem is that setup_per_cpu_areas() is not called between 2 and 3, the per_cpu for cpu on node with ram is on different node, and could put that on node with two hops away. So try to optimize this and add find_near_online_node() and call init_cpu_to_node(). Signed-off-by: Yinghai Lu Cc: Tejun Heo Cc: Linus Torvalds Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Rusty Russell Cc: David Rientjes Cc: Andrew Morton LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 021428ad1418cf3c386a1a0157140c3ea29b17ef Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86, numa, bootmem: Only free bootmem on NUMA failure path In the NUMA bootmem setup failure path we freed nodedata_phys incorrectly. Signed-off-by: Yinghai Lu Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Rusty Russell Cc: David Rientjes Cc: Andrew Morton LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 163d3866cfa79aa5945f1ee5e43fb3ed1455f75c Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86: apic: Print out SRAT table APIC id in hex Make it consistent with APIC MADT print out, for big systems APIC id in hex is more readable. Signed-off-by: Yinghai Lu LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 37ef2a3029fde884808ff1b369677abc7dd9a79a Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86: Re-get cfg_new in case reuse/move irq_desc When irq_desc is moved, we need to make sure to use the right cfg_new. Signed-off-by: Yinghai Lu LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit e670761f12f4069d204f433bf547d9c679a4fd05 Author: Yinghai Lu Date: Sat Nov 21 00:23:37 2009 -0800 x86: apic: Remove not needed #ifdef Suresh made dmar_table_init() already have that protection. Signed-off-by: Yinghai Lu LKML-Reference: <4B07A739.3030104@kernel.org> Signed-off-by: Ingo Molnar commit 88cdca9c7376f2220171d09dfc2f9e41b4834435 Author: Russell King Date: Mon Nov 23 09:44:10 2009 +0100 ALSA: AACI cleanup Fix the buffer size calculation to use the size which ALSA is expecting. Signed-off-by: Russell King Signed-off-by: Takashi Iwai commit 9dc9120c774e1d7e3d939542200bd44829c0059d Author: Krzysztof Helt Date: Sun Nov 22 17:26:34 2009 +0100 ALSA: opti-miro: expose ACI mixer to outside drivers The ACI mixer is used to control the radio FM module installed on the Miro PCM20 sound card. Expose ACI mixer outside the sound card driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9aeba6297151abcb1b34f3237e4c028aae500ce4 Author: Krzysztof Helt Date: Sun Nov 22 17:23:45 2009 +0100 ALSA: opti-miro: make miro.h header available outside the alsa directory Move the miro.h header to the include/sound directory. It can be used in the Miro PCM20 radio driver (v4l). Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit bfd451184d80301d1ae970b1ebffde1e9c6240f9 Author: Simon Kaempflein Date: Mon Nov 16 15:25:53 2009 +1000 perf record, x86: Print more intelligent error message when sampling fails Print more accurate error message when "perf record" fails because there is no APIC support, on x86. Signed-off-by: Ingo Molnar commit 32a87c0114f37871aefb12a30de3e0c3300e3646 Author: Alex Chiang Date: Mon Nov 23 09:35:06 2009 +0100 cciss: change Cmd_sg_list.sg_chain_dma type to dma_addr_t A recent commit broke the ia64 build: Author: Don Brace Date: Thu Nov 12 12:50:01 2009 -0600 cciss: Add enhanced scatter-gather support. because of this hunk: --- a/drivers/block/cciss.h +++ b/drivers/block/cciss.h +struct Cmd_sg_list { + SGDescriptor_struct *sgchain; + dma64_addr_t sg_chain_dma; + int chain_block_size; +}; The issue is that dma64_addr_t isn't #define'd on ia64. The way that we're using Cmd_sg_list.sg_chain_dma is to hold an address returned from pci_map_single(). + temp64.val = pci_map_single(h->pdev, + h->cmd_sg_list[c->cmdindex]->sgchain, + len, dir); + + h->cmd_sg_list[c->cmdindex]->sg_chain_dma = temp64.val; pci_map_single() returns a dma_addr_t too. This code will still work even on a 32-bit x86 build, where dma_addr_t is defined to be a u32 because it will simply be promoted to the __u64 that temp64.val is defined as. Thus, declaring Cmd_sg_list.sg_chain_dma as dma_addr_t is safe. Cc: Don Brace Cc: Stephen M. Cameron Signed-off-by: Alex Chiang Signed-off-by: Jens Axboe commit d61c42690c6e2ff093a3d01338dad49f35b1e27b Author: Stephen M. Cameron Date: Mon Nov 23 09:31:48 2009 +0100 cciss: fix scatter gather cleanup problems On driver unload, only free up the extra scatter gather data if they were allocated in the first place (the controller supports it) and don't forget to free up the sg_cmd_list array of pointers. Signed-off-by: Don Brace Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 87038c2d5bda2418fda8b1456a0ae81cc3ff5bd8 Author: Karel Zak Date: Mon Nov 23 09:29:58 2009 +0100 partitions: read whole sector with EFI GPT header The size of EFI GPT header is not static, but whole sector is allocated for the header. The HeaderSize field must be greater than 92 (= sizeof(struct gpt_header) and must be less than or equal to the logical block size. It means we have to read whole sector with the header, because the header crc32 checksum is calculated according to HeaderSize. For more details see UEFI standard (version 2.3, May 2009): - 5.3.1 GUID Format overview, page 93 - Table 13. GUID Partition Table Header, page 96 Signed-off-by: Karel Zak Signed-off-by: Jens Axboe commit 7d13af3279985f554784a45cc961f706dbcdbdd1 Author: Karel Zak Date: Mon Nov 23 09:29:13 2009 +0100 partitions: use sector size for EFI GPT Currently, kernel uses strictly 512-byte sectors for EFI GPT parsing. That's wrong. UEFI standard (version 2.3, May 2009, 5.3.1 GUID Format overview, page 95) defines that LBA is always based on the logical block size. It means bdev_logical_block_size() (aka BLKSSZGET) for Linux. This patch removes static sector size from EFI GPT parser. The problem is reproducible with the latest GNU Parted: # modprobe scsi_debug dev_size_mb=50 sector_size=4096 # ./parted /dev/sdb print Model: Linux scsi_debug (scsi) Disk /dev/sdb: 52.4MB Sector size (logical/physical): 4096B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 24.6kB 3002kB 2978kB primary 2 3002kB 6001kB 2998kB primary 3 6001kB 9003kB 3002kB primary # blockdev --rereadpt /dev/sdb # dmesg | tail -1 sdb: unknown partition table <---- !!! with this patch: # blockdev --rereadpt /dev/sdb # dmesg | tail -1 sdb: sdb1 sdb2 sdb3 Signed-off-by: Karel Zak Signed-off-by: Jens Axboe commit 44280733e71ad15377735b42d8538c109c94d7e3 Author: Yinghai Lu Date: Sun Nov 22 17:18:49 2009 -0800 x86: Change crash kernel to reserve via reserve_early() use find_e820_area()/reserve_early() instead. -v2: address Eric's request, to restore original semantics. will fail, if the provided address can not be used. Signed-off-by: Yinghai Lu Acked-by: Eric W. Biederman LKML-Reference: <4B09E2F9.7040403@kernel.org> Signed-off-by: Ingo Molnar commit 98e4833ba3c314c99dc364012fba6ac894230ad0 Author: Ingo Molnar Date: Mon Nov 23 08:03:09 2009 +0100 ring-buffer benchmark: Run producer/consumer threads at nice +19 The ring-buffer benchmark threads run on nice 0 by default, using up a lot of CPU time and slowing down the system: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1024 root 20 0 0 0 0 D 95.3 0.0 4:01.67 rb_producer 1023 root 20 0 0 0 0 R 93.5 0.0 2:54.33 rb_consumer 21569 mingo 40 0 14852 1048 772 R 3.6 0.1 0:00.05 top 1 root 40 0 4080 928 668 S 0.0 0.0 0:23.98 init Renice them to +19 to make them less intrusive. Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 81516c5fc83a13a1d12f466aa7e14f5fd62a63ce Author: Michael S. Tsirkin Date: Sun Nov 22 14:13:35 2009 +0200 perf: Use default compiler mode by default gcc with no flags typically is a sane default for systems to use, and looking at the running kernel is probably broken for cross-builds anyway, so let's not do this. Add EXTRA_CFLAGS so that users can override default gcc mode if they want to. Signed-off-by: Michael S. Tsirkin Acked-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091122121335.GA24254@redhat.com> Signed-off-by: Ingo Molnar commit 6ebfbc065624790772398f5b327ac33a7ae3880b Author: Jaswinder Singh Rajput Date: Sun Nov 22 20:43:13 2009 -0800 net: Fix missing kernel-doc notation Fix the following htmldocs warning: Warning(net/core/dev.c:5378): bad line: Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 85c3b529f8ad4d65ba86b982ef050212ae7dd976 Author: Eric Paris Date: Fri Nov 20 11:00:12 2009 -0500 SELinux: header generation may hit infinite loop If a permission name is long enough the selinux class definition generation tool will go into a infinite loop. This is because it's macro max() is fooled into thinking it is dealing with unsigned numbers. This patch makes sure the macro always uses signed number so 1 > -1. Signed-off-by: Eric Paris Signed-off-by: James Morris commit a24e61a9ce6ac6b02356ee6678fa53c74c2fc080 Author: Kalle Valo Date: Wed Nov 18 18:41:06 2009 -0800 omap3: rx51: Add wl1251 wlan driver support wl1251 is connected to the SPI bus in rx51, add support for this. Signed-off-by: Kalle Valo Signed-off-by: Tony Lindgren commit 2000655ee7b44ef2816d565c62ae03de74333204 Author: Tero Kristo Date: Sun Nov 22 10:11:36 2009 -0800 omap3: rx51: Add SDRAM init This patch adds board specific SDRAM init for RX51. This patch is a collaboration of work from following people: Juha Yrjola: Original code Lauri Leukkunen: Port to RX51 Tero Kristo: Support for multiple OPP:s, merge of patches Samu Onkalo: Fixed SDRAM parameters according to specs Kalle Jokiniemi: A fix for rounding error Signed-off-by: Tero Kristo Cc: Samu Onkalo Cc: Kalle Jokiniemi Cc: Lauri Leukkunen Cc: Juha Yrjola Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 58c54e156c80ce8d4dd740ad5f414b03b71ff0b7 Author: Cory Maccarrone Date: Sun Nov 22 10:11:35 2009 -0800 omap1: Add default kernel configuration for Herald This adds a new defconfig for the HTC Herald series of devices. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 9c2816f7bd445c5eb152babff4d6fb3f8f556610 Author: Cory Maccarrone Date: Sun Nov 22 10:11:34 2009 -0800 omap1: Add board support and LCD for HTC Herald This patch introduces support for the HTC Herald (T-Mobile Wing, etc.) series of smart phones -- board support and LCD panel settings. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 1ced4532c0fc8cba1776e237b8c7fda6edc19330 Author: vikram pandita Date: Sun Nov 22 10:11:34 2009 -0800 omap: zoom2: update defconfig for LL_DEBUG_NONE Update DEBUG_LL for zoom2 board as CONFIG_OMAP_LL_DEBUG_NONE Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit d516aad1c3ebc468dc042da86530278d3a1a2c09 Author: vikram pandita Date: Sun Nov 22 10:11:33 2009 -0800 omap: zoom3: defconfig creation Create zoom3 defconfig file Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 5f35fbe8b8a05743fb9686e33194a126cd4273f6 Author: vikram pandita Date: Sun Nov 22 10:11:32 2009 -0800 omap3: zoom: Introduce zoom3 board support Zoom3 is the next version of Zoom2 board. There has been a silicon update from zoom2 to zoom3. Zoom2 has OMAP34xx Zoom3 has OMAP3630 [1] Zoom3 = OMAP3630 SOM board [2] + same zoom2 main board [3] + same debugboard Zoom3 has a SDRAM part from Hynix Zoom2 had SDRAM part from micron Hynix memory timings are contributed by: Chalhoub, Nicole and Bour, Vincent Reuse the zoom2 files as much for zoom3, as at board level, there is no change at all. References: (courtesy Nishant Menon) [1] OMAP3630 http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606 [2] SOM boards http://logicpd.com/products/system-modules/texas-instruments-omap35x-som-lv [3] Zoom2 boards http://logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp OMAP3630: Signed-off-by: Vikram Pandita Cc: Nicole Chalhoub Cc: Vincent Bour Signed-off-by: Tony Lindgren commit 6b61a83b31744d143b0e7bc92f463d831319eabc Author: vikram pandita Date: Sun Nov 22 10:11:31 2009 -0800 omap3: zoom: Drop i2c-1 speed to 2400 The I2C-1 bus frequency on zoom2/zoom3/sdp3630 should be 2.4 MHz. The speed is limited by TWL5030/GAIA; a higher speed could lead to errors on the interface. The maximum I2C speed depends on the system clock for GAIA: 2.2 MHz (sys-clk = 19.2 MHz) 2.4 MHz (sys-clk = 26 MHz) 2.9 MHz (sys-clk = 38.4 MHz) For Zoom2/Zoom3/SDP3630 the system clock is 26Mhz and hence choose 2.4Mhz for I2C1 bus speed Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 62d0b336d4b00bde6e3f0f155009975351823c54 Author: vikram pandita Date: Sun Nov 22 10:11:31 2009 -0800 omap3: zoom: rename zoom2 name to generic zoom Replace zoom2 with zoom name in board-zoom-peripherals.c file and board-zoom-debugboard.c. Create mach/board-zoom.h. This file has functions reused for boards: Zoom2/Zoom3/sdp3630. Hence have all functions commonly named as zoom Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 479f12c9e2743084ace94d8c65b98ec536cae3cf Author: vikram pandita Date: Sun Nov 22 10:11:30 2009 -0800 omap3: zoom: split board file for software reuse Split zoom2 board file into a base board file and a board-zoom-peripherals.c file. That way the same peripherals file can be reused for zoom3 and sdp3630 in addition to zoom2. Also remove unused struct omap_board_config_kernel entry. NOTE: Keep the twl4030_madc_platform_data and twl4030_platform_data entries in board-zoom2.c to avoid merge conflicts with the pending patches in MFD tree. These entries will be removed later as a fix. Following list shows the commonality across the three platforms and hence the case for software reuse: Peripheral zoom2 zoom3 sdp3630 --------------------------------------- Ethernet smsc smsc smc NOR n/a n/a B Onenand n/a n/a B HDMI A A B (present on different i2c) NAND A A A (same nand) SDRAM A A A (same sdram) Keypad A A A (same twl) Camera A A A (same sensor can be mounted) LCD Display A A A (same wvga display) OPPs A A A (same chip feature) Audio A A A (same audio via twl5030) Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 562138a4487191b5bcc0bea591368db7b3d3900a Author: Sriram Date: Sun Nov 22 10:11:30 2009 -0800 omap3evm: MIgrate to smsc911x ethernet driver Migrate to smsc911x ethernet driver instead of smc911x driver. The smsc911x ethernet driver supports NAPI and performs better under heavy traffic. With the smc911x driver we were witnessing very high iowait time for high IO load over NFS. Signed-off-by: Sriramakrishnan Signed-off-by: Tony Lindgren commit 1a7ec135d8b263ee0c3ce692e9372a6e4e85e58f Author: Mike Rapoport Date: Sun Nov 22 10:11:29 2009 -0800 omap3evm: Initialize vmmc and vmmc_aux regulators Initialize vmmc and vmmc_aux regulators Note that the omap3evm_twldata.vmmc1 and omap3evm_twldata.vsim are set in omap3_evm_i2c_init() to avoid a merge conflict with the MFD tree. These will be initialized in omap3evm_i2c_boardinfo as a fix later on. Signed-off-by: Mike Rapoport Signed-off-by: Tony Lindgren commit e8e51d29205b3c507a2e6126e18f76f42b49f5ca Author: Ajay Kumar Gupta Date: Sun Nov 22 10:11:28 2009 -0800 omap3evm: ehci: Update EHCI support on OMAP3EVM (Rev >= E) Added runtime programming for the differences in EHCI interface between OMAP3EVM revisions (Rev >= E) and (Rev < E). Changes: - EHCI PHY reset GPIO pin is 21 on Rev >= E while Rev < E uses GPIO pin 135. - Rev >= E uses EHCI Vbus enable GPIO22 line. - Rev >= E uses GPIO61 to select EHCI port either on main board or on Mistral Daughter Card (MDC). OMAP3EVM Rev < E doesn't have EHCI port on main board. - Currently GPIO61 it programmed to enable EHCI port on main board only. Signed-off-by: Ajay Kumar Gupta commit db408023b85644e1bee80d4004aff1ff188032e9 Author: Ajay Kumar Gupta Date: Sun Nov 22 10:11:27 2009 -0800 omap3evm: Add board revision function Added function to differentiate between the OMAP3EVM revisions. The chip-id of the ethernet PHY is being used for this purpose. Rev A to D : 0x01150000 Rev >= E : 0x92200000 Signed-off-by: Vaibhav Hiremath Signed-off-by: Ajay Kumar Gupta Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 50a1f7bfea7ba9330f984ecb7d35aeb93d326cc3 Author: Anand Gadiyar Date: Sun Nov 22 10:11:27 2009 -0800 omap3: Update 3430SDP defconfig The mainline merge of the 3430SDP support (commit 6fdc29e2) seems to have messed up the 3430 defconfig completely. Update the defconfig using a known good version (SDP defconfig from v2.6.26-omap2 and current beagle defconfig) as reference. The image size is now 1.9 MB down from 2.4 MB earlier, and the number of modules is 8, down from 203. Build time also scales proportionally. Other support (OneNAND, etc) can be enabled as needed. Note that this patch intentionally does not update CONFIG_FB related options to avoid merge conflicts with the pending omap_dss2 patches. Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 6502401d8169f76c6a72849cb55e8302226ca930 Author: vikram pandita Date: Sun Nov 22 10:11:26 2009 -0800 omap3: defconfigs: remove SYSFS_DEPRECATED flag Remove the SYSFS_DEPRECATED flag from OMAP3 board defconfigs This is a deprecated feature no longer needed. Signed-off-by: Vikram Pandita Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 058af1ea98675a672ad2aefca035d2e5a228d2cc Author: Charulatha V Date: Sun Nov 22 10:11:25 2009 -0800 omap: GPIO module enable/disable This patch disables a GPIO module when all pins of a GPIO module are inactive (clock gating forced at module level) and enables the module when any gpio in the module is requested. The module is enabled only when "mod_usage" indicates that no GPIO in that module is currently active and the GPIO being requested is the 1st one to be active in that module. Each module would be disabled in omap_gpio_free() API when all GPIOs in a particular module becomes inactive. The module is re-enabled in omap_gpio_request() API when a GPIO is requested from the module that was previously disabled. Since individual GPIO's bookkeeping is added in this patch via "mod_usage", the same is used in omap_set_gpio_debounce() & omap_set_gpio_debounce_time() APIs to ensure that the gpio being used is actually "requested" prior to being used (Nishant Menon's Acked-by: Nishanth Menon Signed-off-by: Tony Lindgren commit edeae658b282f2d076efb3b3f39ccd8eb0c384fa Author: Felipe Balbi Date: Sun Nov 22 10:11:24 2009 -0800 omap: Cleanup the coding style in id.c Cleanup the coding style in id.c while avoiding unneeded switch() statements. Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 5ed8d32ea39d34dbfea50ada1bee0a33513fc6f3 Author: C A Subramaniam Date: Sun Nov 22 10:11:24 2009 -0800 omap: mailbox: OMAP4 Mailbox-driver Patch to support tasklet implementation This patch uses a tasklet implementation for sending mailbox messages. Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 5e68382592adba993dad6b59655b7ff51a6ed049 Author: C A Subramaniam Date: Sun Nov 22 10:11:23 2009 -0800 omap: mailbox: OMAP4 Mailbox Patch to change the IRQ flag from IRQF_DISABLED to IRQF_SHARED Currently, this facilitates both the tesla and ducati sides to request for the same irq through an omap_mbox_get() call. Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 5f00ec64a38563f1e5d8a852f2279047edecd0b8 Author: C A Subramaniam Date: Sun Nov 22 10:11:22 2009 -0800 omap: mailbox: Adds code changes to support OMAP4 mailbox This patch adds code changes in the mailbox driver module to add support for OMAP4 mailbox. Signed-off-by: Hari Kanigeri Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit eb18858ebda7f4ef3d7de33e1b9bf11ac4cc137b Author: Hiroshi DOYU Date: Sun Nov 22 10:11:22 2009 -0800 omap: mailbox: Expose omap_mbox_enable()/disable_irq() Expose omap_mbox_enable()/disable_irq() Signed-off-by: Hiroshi DOYU commit b2b6362e6c5f744776da633218029e99f1244694 Author: C A Subramaniam Date: Sun Nov 22 10:11:20 2009 -0800 omap: mailbox: remove unnecessary arg for omap_mbox_msg_send Also removed from tx_data Signed-off-by: C A Subramaniam Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 2775e467ff4c60a4b3745b24bb2f75c92a3ecc69 Author: Hiroshi DOYU Date: Sun Nov 22 10:11:20 2009 -0800 omap: mailbox: remove disable_/enable_mbox_irq in isr No need to handle it in isr, since irq won't happen during isr. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit c7c158e57bce6220644f2bcd65d82e1468aa40ec Author: Hiroshi DOYU Date: Sun Nov 22 10:11:19 2009 -0800 omap: mailbox: remove class interface It's not used at present. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit bfe1f6acb0df957e513b7c71c3f1a7ac56b32e4d Author: Hiroshi DOYU Date: Sun Nov 22 10:11:18 2009 -0800 omap: mailbox: remove sequence bit checking Any protocol should be handled in the upper layer and mailbox driver shouldn't care about the contents of messages. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 454bf340c986b798cd4c2fd676caffa2c1e61482 Author: C A Subramaniam Date: Sun Nov 22 10:11:18 2009 -0800 omap: mailbox: Add resources and mailbox register base address for OMAP4 mailbox This patch adds resource information of mailbox driver for OMAP4 mailbox module. Register base address also added Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 59fdc6ebda441a26ec055d61cf9d670a33eeca2d Author: C A Subramaniam Date: Sun Nov 22 10:11:17 2009 -0800 omap: mailbox: Add build specific changes to support omap mailbox This patch adds changes to the build related files of mailbox driver Signed-off-by: C A Subramaniam Signed-off-by: Ramesh Gupta G Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 20e11c2d1c8ca49829ee9e5690adc89488e5da31 Author: Julia Lawall Date: Sun Nov 22 10:11:16 2009 -0800 arch/arm/plat-omap: Drop an unnecessary NULL test map_iovm_area is only called from a context where its second argument is known not to be NULL, so drop the unnecessary test. If new could be NULL, the initialization of da should be moved below the test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall Cc: Russell King Cc: Hiroshi DOYU Signed-off-by: Tony Lindgren Signed-off-by: Andrew Morton commit 13a032295710b49d331bb53086a7de4557243851 Author: Paul Walmsley Date: Sun Nov 22 10:11:15 2009 -0800 omap3: drop all IVA-related address base definitions All of the OMAP3 IVA physical address macros in plat-omap/include/plat/omap34xx.h are wrong[1]: OMAP34XX_IVA_INTC_BASE: The IVA interrupt controller does not appear to be accessible from the L3 interconnect, and in any case is definitely not at 0x40000000; the latter address appears to be the internal IVA physical address base for the OMAP2420's interrupt control[2]. OMAP34XX_DSP_BASE: The section of L3 physical address space mapped to the IVA starts at 0x5c000000, not 0x58000000. OMAP34XX_DSP_MEM_BASE: It's not clear what this refers to, but it's not in the L3 IVA address space. OMAP34XX_DSP_IPI_BASE: The Intrusive Port Interface is a relic from the OMAP2420 days and no longer applies to OMAP3. OMAP34XX_DSP_MMU_BASE: The DSP MMU is mapped at 0x5d000000, not 0x5a000000. Nothing that uses these can possibly be working, so drop them. When future code needs these, correct versions can be added in. 1. OMAP34xx Multimedia Device Silicon Revision 3.1.x Rev. W, Table 2-8: "L3 Interconnect View of the IVA2.2 Subsystem Memory Space." p. 229. 2. OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 (Rev. Q), section 2.2.4.1, "IVA Memory Space Seen by L3", p. 132. 3. ibid., section 4.3.11, "DSP IPI Overview", p. 200. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit cedf900d657e09f060b52f0598fc56aae9fbfba3 Author: Kevin Hilman Date: Sun Nov 22 10:11:13 2009 -0800 omap3: keep SoC features on the same line When listing the various SoC features, print them on the same line. So, instead of this OMAP3430/3530 ES3.1 - l2cache : Y - iva : Y - sgx : Y - neon : Y - isp : Y you get this: OMAP3430/3530 ES3.1 (l2cache iva sgx neon isp ) Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 05574bb27a8a46d354582e72691ff6cb40712da9 Author: Nishanth Menon Date: Sun Nov 22 10:11:12 2009 -0800 omap3: move check_revision above check_features omap3_check_revision() does not depend on omap3_check_features() move this above so that we can add logic based on revision detected in check_features. Signed-off-by: Nishanth Menon Acked-by: Mika Westerberg Signed-off-by: Tony Lindgren commit 839c978794f3d2d0dce4693bbb087f9507bbab9b Author: Sriram Date: Sun Nov 22 10:11:09 2009 -0800 omap3: evm: make HSMMC driver built-in For ease of use it is preferrable to build in HSMMC driver rather than build it as kernel module. This patches updates default configuration for omap3evm to reflect this change. Signed-off-by: Sriramakrishnan Signed-off-by: Tony Lindgren commit 4679232d3a2085fa5080f260d68b4049c14d5b76 Author: Madhu Date: Sun Nov 22 10:11:08 2009 -0800 omap3: HSMMC2 8-bit mux configuration Add support for omap hsmmc2 8-bit mux configuration. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 555d503ff30b3b1292d743bb77b19212b6befb59 Author: Madhu Date: Sun Nov 22 10:11:08 2009 -0800 omap3630: Set omap3630 MMC1 I/O speed to 52Mhz The speed ctrl bit for MMC I/O is part of CONTROL_PROG_IO1 register in omap3630.This patch sets it up accordingly. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 41fd03d66e6ae4430a0fdf7c62692a7b20b6ee6b Author: Madhu Date: Sun Nov 22 10:11:07 2009 -0800 omap3630: Configure HSMMC1 to 4-bit The HSMMC1 controller on omap3630 supprts only 4-bit mode. If cpu is 3630 configure HSMMC1 wires to 4-bit. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit 4596d14ad88bbacc80970cb964b8f3d6ade7e305 Author: Madhu Date: Sun Nov 22 10:11:06 2009 -0800 omap3630: Add HSMMC related checks Change the cpu_is_omap3430() check to cpu_is_omap34xx() to allow HSMMC1/2 mux configuration for omap3630. Signed-off-by: Madhusudhan Chikkature Signed-off-by: Tony Lindgren commit eebfa9f239a21d9663af03b50958d4d0bb7ab1d9 Author: Peter Ujfalusi Date: Sun Nov 22 10:11:05 2009 -0800 omap: McBSP: Do not use extensive spin locks for dma_op_mode The use of the spin lock, which supposed to protect the the dma_op_mode causing "INFO: inconsistent lock state" on playback start. Remove the spin locks around the dma_op_mode, when it's purpuse is to protect the dma_op_mode. Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit a76e9a90e8dc0c8ca641a077780c6e05270d25ff Author: Felipe Contreras Date: Sun Nov 22 10:11:04 2009 -0800 omap: iommu: reorganize This way it's more object oriented and easier to see what is happening. No functional changes. Signed-off-by: Felipe Contreras Signed-off-by: Tony Lindgren commit 5934ba2dc04f5b3be48cb53b6a830885970f7487 Author: Hiroshi DOYU Date: Sun Nov 22 10:11:04 2009 -0800 omap: iovmm: remove cache flush operation Cache flush operation is handled in the upper client layer and iovmm modules doesn't have to care about it. This patch will improve some performance with current camera isp driver. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 935e4739fc4817b1044fdbeed5fe19aee9f03f45 Author: Hiroshi DOYU Date: Sun Nov 22 10:11:02 2009 -0800 omap: iommu: avoid remapping if it's been mapped in MPU side MPU side (v)-(p) mapping is necessary only if IOVMF_MMIO is set in "flags". Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 58a5491c936957011c92f8cc5097fb3231ee3f9c Author: Felipe Balbi Date: Sun Nov 22 10:11:01 2009 -0800 omap: Add platform init code for EHCI driver Add platform init code for EHCI driver. Various fixes to the original patch by Ajay Kumar Gupta and Anand Gadiyar . Overo support added by Olof Johansson Beagle support added by Koen Kooi CM-T32 support added by Mike Rapoport Signed-off-by: Signed-off-by: Olof Johansson Acked-by: Steve Sakoman Signed-off-by: Koen Kooi Signed-off-by: Mike Rapoport Signed-off-by: Ajay Kumar Gupta Signed-off-by: Anand Gadiyar Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 83720a8230f87008deba8619428438f0276b83ca Author: Anand Gadiyar Date: Sun Nov 22 10:11:00 2009 -0800 omap: update plat/usb.h to allow ehci driver to build Add missing declarations to allow the recently introduced ehci-omap driver to build on OMAP3 Signed-off-by: Anand Gadiyar Cc: Felipe Balbi Signed-off-by: Tony Lindgren Signed-off-by: Greg Kroah-Hartman commit 56190b609b9c011363dd761838ce01cd3cd0a24f Author: Ranjith Lohithakshan Date: Sun Nov 22 10:10:59 2009 -0800 omap3: AM35xx: Initialize omap_chip bits AM35xx is functionally similar to OMAP3430 ES3.1 from a powerdomain/clockdomain perspective. This patch initializes the omap_chip bits on AM35xx for use by powerdomain and clockdomain code. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Tony Lindgren commit 4cac60180649b83e094d4ea5c440229814488431 Author: Sanjeev Premi Date: Sun Nov 22 10:10:58 2009 -0800 omap3: AM35xx: Runtime detection of the device Add support to detect AM3505/AM3517 devices at runtime. Also updates the CPU names printed during boot. Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit f18af0a847f9e1a843bcb8ba69697ccbba2d03e9 Author: vikram pandita Date: Sun Nov 22 10:10:57 2009 -0800 omap3: 3630: update is_chip variable 3630 is getting treated like next rev of 3430 omap_chip.oc variable has to be updated for 3630 version Otherwise the Core power domain is not getting registered. This gets used in the registration of power domains in: "arch/arm/mach-omap2/powerdomains34xx.h" core_34xx_es3_1_pwrdm OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES3_1) Core power doman will get registered for 3630 only when .oc is populated correctly. Tested on Zoom3(3630) board Signed-off-by: Vikram Pandita Acked-by: Alexander Shishkin Acked-by: Ari Kauppi Acked-by: Nishanth Menon Signed-off-by: Tony Lindgren commit 2456a10fb3a9b8c9e970b05e6c1370201675da0a Author: Nishanth Menon Date: Sun Nov 22 10:10:56 2009 -0800 omap3: Introduce OMAP3630 OMAP3630 is the latest in the family of OMAP3 devices and among the changes it introduces are: New OPP levels for new voltage and frequency levels. a bunch of Bug fixes to various modules feature additions, notably with ISP, sDMA etc. Details about the chip is available here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606 Strategy used: Strategy to introduce this device into Linux was discussed here: Ref: http://marc.info/?t=125343303400003&r=1&w=2 Two approaches were available: a) Consider 3630 generation of devices as a new family of silicon b) Consider 3630 as an offshoot of 3430 family of devices As a common consensus, (b) seems to be more valid for 3630 as: * There are changes which are easily handled by using "FEATURES" infrastructure. For details how to do this, see thread: http://marc.info/?t=125050998500001&r=1&w=2 * Most of existing 34xx infrastructure can be reused(almost 90%+) - so no ugly if (cpu_is_omap34xx() || cpu_is_omap36xx()) all over the place - lesser chance of bugs due to reuse of proven code flow - 36xx specific handling can still be done where required within the existing infrastructure NOTE: * If additional 34xx series are added, OMAP3430_REV_ESXXXX can be added on top of the existing 3630 ones are renumbered This patch was tested on SDP3430, boot tested on 3630 platform using 3430sdp defconfig Signed-off-by: Madhusudhan Chikkature Rajashekar Signed-off-by: Nishanth Menon Signed-off-by: Vikram Pandita Cc: Allen Pais Cc: Anand Gadiyar Cc: Benoit Cousson Cc: Felipe Balbi Cc: Kevin Hilman Cc: Sanjeev Premi Cc: Santosh Shilimkar Cc: Sergio Alberto Aguirre Rodriguez Signed-off-by: Tony Lindgren commit 048f4bd7607eb714d4831f90dea6fd27eac9e494 Author: Sanjeev Premi Date: Sun Nov 22 10:10:54 2009 -0800 omap3: Runtime detection of OMAP35x devices Add runtime check for these OMAP35x variations based on the detected Si features: OMAP3503, OMAP3515, OMAP3525 and OMA3530. Also, delayed the call to pr_info() into actual variant is detected in omap3_cpuinfo() Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 8384ce071365244332ea05c81112bfffcf48be87 Author: Sanjeev Premi Date: Sun Nov 22 10:10:53 2009 -0800 omap3: Runtime detection of Si features The OMAP35x family has multiple variants differing in the HW features. This patch detects these features at runtime and prints information during the boot. Since most of the code seemed repetitive, macros have been used for readability. Signed-off-by: Sanjeev Premi Signed-off-by: Tony Lindgren commit 45f780a06153544ab84fd1da3a8b28c07f61da1d Author: Cory Maccarrone Date: Sun Nov 22 10:10:52 2009 -0800 omap1: omap_udc: Add clocking and disable vbus sense for omap7xx The l3_ocpi_ck clock is needed on omap7xx processors for USB. Additionally, bit 8 of the SOFT_REQ_REG needs to be enabled for the usb_dc_ck on omap7xx, which is a different bit than that of the omap16xx-defined clock of the same name. I added a provision for the usb_dc_ck and l3_ocpi_ck clocks as dc_clk and hhc_clk, respectively, for omap7xx CPUs. Additionally, I added a check in machine_without_vbus_sense for all omap7xx devices, as presently I know of no omap7xx-based devices that have vbus sense, and it made more sense to me to use a cpu check here than to spell out each machine one at a time. Finally, DMA is disabled for omap7xx, as it causes problems with these chips. Cc: linux-usb@vger.kernel.org Cc: David Brownell Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit 490a56652295825e3006f8703d96da2ef6580318 Author: Cory Maccarrone Date: Sun Nov 22 10:10:50 2009 -0800 omap1: mmc: Add platform init for omap7xx The MMC mux pins normally used by omap chips in devices.c are different from what is needed by omap7xx chips. This change adds a conditional around the mux setup code to enable the correct mux pins. The omap730 and omap850 both use a different clock for the "fck" clock of the MMC interface than other omap processors based on the SOFT_REQ_REG, pin 12. The "ick" clock is the same as that used by other omap processors. * Added the missing clock definition as mmc3_ck to clock.h * Added the clock definition to omap_clks in clock.c * Added CK_7XX to the mmci-omap.0 "ick" clock already in clock.c With these changes, it is now possible to initialize and use MMC cards with omap730 and omap850 devices. Signed-off-by: Cory Maccarrone Signed-off-by: Tony Lindgren commit d9f5007491e3b6693dd00487981676b6b3005d72 Author: vikram pandita Date: Sun Nov 22 10:10:49 2009 -0800 omap: introduce OMAP_LL_DEBUG_NONE DEBUG_LL config Zoom2/Zoom3 kind of boards do not use omap uarts for console. These use external debug board for console. So these boards should not have "Uncompressing Kernel...." log put on omap uarts. By interoducing OMAP_LL_DEBUG_NONE option, unnecessary writes to omap uarts is avoided. In future, the DEBUG_LL interface will be enhanced to use external debug board. Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 9d30b99f352a7f21f93f0f3e2f0eecf8aa7847c1 Author: Alexander Shishkin Date: Sun Nov 22 10:10:47 2009 -0800 omap: Eliminate OMAP_MAX_NR_PORTS Eliminate OMAP_MAX_NR_PORTS Note that also the null terminator entry for omap1 serial_platform_data needs to be now removed to avoid oopsing. Note that mach-omap1 uses struct plat_serial8250_port array, which requires a null terminator at the end, and that's why we need to use ARRAY_SIZE - 1. This is not needed on mach-omap2 as the array used is struct omap_uart_state, and does not use a null terminator. Signed-off-by: Alexander Shishkin Acked-by: Kevin Hilman Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit f014ee320e8779c1798998f75bfc3cef2b46286f Author: Jani Nikula Date: Thu Nov 5 22:59:47 2009 -0800 ARM OMAP3: RX-51 board - add initialization of gpio keys Initialize some of the RX-51 input GPIO lines as gpio keys. Enable gpio keys as a module in rx51_defconfig. Signed-off-by: Jani Nikula Acked-by: Tony Lindgren Signed-off-by: Dmitry Torokhov commit 76b5c84f77c3abc92a3c4e185e7b78f17a0ed204 Author: Jani Nikula Date: Thu Nov 5 22:59:46 2009 -0800 Input: add new keycodes useful in mobile devices Add new codes for camera focus key, and camera lens cover, keypad slide, front proximity switches. Signed-off-by: Jani Nikula Signed-off-by: Dmitry Torokhov commit cfaf6d2c1cb231f77e24109cb1460db429608bd4 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:19 2009 +0200 MFD: twl4030-codec: APLL_INFREQ handling in the MFD driver Configure the APLL_INFREQ field in the APLL_CTL register based on the platform data. Provide also a function for childs to query the audio_mclk frequency. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 6df74efbb8c38c4a057223be564323ff26d44fd3 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:18 2009 +0200 OMAP: Configure audio_mclk for twl4030-codec MFD audio_mclk value is going to be handled by the twl4030-codec MFD driver, configure the correct value for boards, which is using the twl4030 audio. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 26276069d2f51955cf549faab5d3a71a4b37ba23 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:17 2009 +0200 MFD: TWL4030: Add audio_mclk to the codec platform data Add audio_mclk to the platform data struct for the twl4030-codec MFD driver. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit e86fa0b4a3fe0563e492db4c5a52fd37219a4c70 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:46 2009 +0300 OMAP: Platform support for twl4030_codec MFD Add needed platform data for the twl4030_codec MFD on boards, where the audio part of the twl4030 codec is used. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 3066eec68d21cf4d468809c0b7b1fe9ee59c8f32 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:45 2009 +0300 MFD: twl4030: add twl4030_codec MFD as a new child to the core New MFD child to twl4030 MFD device. Reason for the twl4030_codec MFD: the vibra control is actually in the codec part of the twl4030. If both the vibra and the audio functionality is needed from the twl4030 at the same time, than they need to control the codec power and APLL at the same time without breaking the other driver. Also these two has to be able to work without the need for the other driver. This MFD device will be used by the drivers, which needs resources from the twl4030 codec like audio and vibra. The platform specific configuration data is passed along to the child drivers (audio, vibra). Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit a76df42a675c9936e8bf3607226e74c8a5e2d847 Merge: 648f4e3 8171d88 Author: Tony Lindgren Date: Sun Nov 22 10:08:43 2009 -0800 Merge 7xx-iosplit-plat-merge with omap-fixes Merge branch '7xx-iosplit-plat-merge' into omap-for-linus commit 6ebb237bece23275d1da149b61a342f0d4d06a08 Author: Paul E. McKenney Date: Sun Nov 22 08:53:50 2009 -0800 rcu: Re-arrange code to reduce #ifdef pain Remove #ifdefs from kernel/rcupdate.c and include/linux/rcupdate.h by moving code to include/linux/rcutiny.h, include/linux/rcutree.h, and kernel/rcutree.c. Also remove some definitions that are no longer used. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1258908830885-git-send-email-> Signed-off-by: Ingo Molnar commit 9f680ab41485edfdc96331b70afa7513aa0a7720 Author: Paul E. McKenney Date: Sun Nov 22 08:53:49 2009 -0800 rcu: Eliminate unneeded function wrapping The functions rcu_init() is a wrapper for __rcu_init(), and also sets up the CPU-hotplug notifier for rcu_barrier_cpu_hotplug(). But TINY_RCU doesn't need CPU-hotplug notification, and the rcu_barrier_cpu_hotplug() is a simple wrapper for rcu_cpu_notify(). So push rcu_init() out to kernel/rcutree.c and kernel/rcutiny.c and get rid of the wrapper function rcu_barrier_cpu_hotplug(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12589088302320-git-send-email-> Signed-off-by: Ingo Molnar commit b668c9cf3e58739dac54a1d6f42f2b4bdd980b3e Author: Paul E. McKenney Date: Sun Nov 22 08:53:48 2009 -0800 rcu: Fix grace-period-stall bug on large systems with CPU hotplug When the last CPU of a given leaf rcu_node structure goes offline, all of the tasks queued on that leaf rcu_node structure (due to having blocked in their current RCU read-side critical sections) are requeued onto the root rcu_node structure. This requeuing is carried out by rcu_preempt_offline_tasks(). However, it is possible that these queued tasks are the only thing preventing the leaf rcu_node structure from reporting a quiescent state up the rcu_node hierarchy. Unfortunately, the old code would fail to do this reporting, resulting in a grace-period stall given the following sequence of events: 1. Kernel built for more than 32 CPUs on 32-bit systems or for more than 64 CPUs on 64-bit systems, so that there is more than one rcu_node structure. (Or CONFIG_RCU_FANOUT is artificially set to a number smaller than CONFIG_NR_CPUS.) 2. The kernel is built with CONFIG_TREE_PREEMPT_RCU. 3. A task running on a CPU associated with a given leaf rcu_node structure blocks while in an RCU read-side critical section -and- that CPU has not yet passed through a quiescent state for the current RCU grace period. This will cause the task to be queued on the leaf rcu_node's blocked_tasks[] array, in particular, on the element of this array corresponding to the current grace period. 4. Each of the remaining CPUs corresponding to this same leaf rcu_node structure pass through a quiescent state. However, the task is still in its RCU read-side critical section, so these quiescent states cannot be reported further up the rcu_node hierarchy. Nevertheless, all bits in the leaf rcu_node structure's ->qsmask field are now zero. 5. Each of the remaining CPUs go offline. (The events in step #4 and #5 can happen in any order as long as each CPU passes through a quiescent state before going offline.) 6. When the last CPU goes offline, __rcu_offline_cpu() will invoke rcu_preempt_offline_tasks(), which will move the task to the root rcu_node structure, but without reporting a quiescent state up the rcu_node hierarchy (and this failure to report a quiescent state is the bug). But because this leaf rcu_node structure's ->qsmask field is already zero and its ->block_tasks[] entries are all empty, force_quiescent_state() will skip this rcu_node structure. Therefore, grace periods are now hung. This patch abstracts some code out of rcu_read_unlock_special(), calling the result task_quiet() by analogy with cpu_quiet(), and invokes task_quiet() from both rcu_read_lock_special() and __rcu_offline_cpu(). Invoking task_quiet() from __rcu_offline_cpu() reports the quiescent state up the rcu_node hierarchy, fixing the bug. This ends up requiring a separate lock_class_key per level of the rcu_node hierarchy, which this patch also provides. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12589088301770-git-send-email-> Signed-off-by: Ingo Molnar commit 50e5095afa8c2be0f35e5c0e21d5f7912340e8f2 Author: Arnaldo Carvalho de Melo Date: Sun Nov 22 14:59:22 2009 -0200 perf report: Do map lookups in resolve_callchain() Bug introduced in 439d473b4777de510e1322168ac6f2f377ecd5bc, making the initial map be used for all IPs, so that symbols outside this initial map would either be erroneously resolved or not resolve at all. Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258909162-28496-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 87f8ea4cd3680ef7f4da4391aed97abb25eae333 Author: Arnaldo Carvalho de Melo Date: Sun Nov 22 13:21:41 2009 -0200 perf symbols: Show messages about module loading only if verbose >= 1 Suggested-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258903301-20584-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b197c7ef7169bd5f11fb9d803b322d0daef7e256 Author: Michael S. Tsirkin Date: Sun Nov 22 15:13:11 2009 +0200 perf tools: Suggest static libraries as well On error, suggest installing static libraries along with shared libraries. Signed-off-by: Michael S. Tsirkin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091122131311.GA24318@redhat.com> Signed-off-by: Ingo Molnar commit 7baed9af4bf0d7850045e36d19a43a2c76872b62 Author: Michael S. Tsirkin Date: Sun Nov 22 13:27:27 2009 +0200 perf tools: Add V=2 option to help debug config issues Make standard error show up on console when V=2 is set. Signed-off-by: Michael S. Tsirkin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091122112726.GC13644@redhat.com> Signed-off-by: Ingo Molnar commit 78a14e273d93dfbea9673f9b10398c538096302d Author: Julia Lawall Date: Sat Nov 21 12:50:34 2009 +0100 drivers/pcmcia: remove unnecessary kzalloc The result of calling kzalloc is never used or freed. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Dominik Brodowski commit 645e8cc0c9f01f07f384fd522b782e5e6ae9de18 Author: Ingo Molnar Date: Sun Nov 22 12:20:19 2009 +0100 perf_events: Fix modular build Fix: ERROR: "perf_swevent_put_recursion_context" [fs/ext4/ext4.ko] undefined! ERROR: "perf_swevent_get_recursion_context" [fs/ext4/ext4.ko] undefined! Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Jason Baron LKML-Reference: <1258864015-10579-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e57cfcdac6badd846a1cd831de54a1359c2d1eea Author: Pekka Enberg Date: Sun Nov 22 12:29:44 2009 +0200 perf symbols: Fix ELF header errors during "perf kmem record" The write_event() function in builtin-record.c writes out all mmap()'d DSOs including non-ELF files like GNOME resource files and such. Therefore, check for ELF_K_ELF in filename__read_build_id() before attempting to read the ELF header with gelf_getehdr(). Fixes the following error messages when running "perf kmem record": penberg@penberg-laptop:~/src/linux/tools/perf$ perf kmem record ^C[ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 0.753 MB perf.data (~32885 samples) ] filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. filename__read_build_id: cannot get elf header. Signed-off-by: Pekka Enberg Cc: Arnaldo Carvalho de Melo Cc: Li Zefan Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1258885784-11709-1-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit f3ced7cdb24e7968a353d828955fa2daf4167e72 Author: Pekka Enberg Date: Sun Nov 22 11:58:00 2009 +0200 perf kmem: Add --sort hit and --sort frag This patch adds support for "--sort hit" and "--sort frag" to the "perf kmem" tool. The former was already mentioned in the help text and the latter is useful for finding call-sites that exhibit worst case behavior for SLAB allocators. Signed-off-by: Pekka Enberg Cc: Li Zefan Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Eduard - Gabriel Munteanu Cc: linux-mm@kvack.org LKML-Reference: <1258883880-7149-1-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 96b02d78a7e47cd189f6b307c5513fec6b2155dc Author: Márton Németh Date: Sat Nov 21 23:10:15 2009 +0100 perf_event: Remove redundant zero fill The buffer is first zeroed out by memset(). Then strncpy() is used to fill the content. The strncpy() function also pads the string till the end of the specified length, which is redundant. The strncpy() does not ensures that the string will be properly closed with 0. Use strlcpy() instead. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @@ expression buffer; expression size; expression str; @@ memset(buffer, 0, size); ... - strncpy( + strlcpy( buffer, str, sizeof(buffer) ); @@ expression buffer; expression size; expression str; @@ memset(&buffer, 0, size); ... - strncpy( + strlcpy( &buffer, str, sizeof(buffer)); @@ expression buffer; identifier field; expression size; expression str; @@ memset(buffer, 0, size); ... - strncpy( + strlcpy( buffer->field, str, sizeof(buffer->field) ); @@ expression buffer; identifier field; expression size; expression str; @@ memset(&buffer, 0, size); ... - strncpy( + strlcpy( buffer.field, str, sizeof(buffer.field)); // On strncpy() vs strlcpy() see http://www.gratisoft.us/todd/papers/strlcpy.html . Signed-off-by: Márton Németh Cc: Julia Lawall Cc: cocci@diku.dk Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4B086547.5040100@freemail.hu> Signed-off-by: Ingo Molnar commit 12eac0bf0461910ae6dd7f071f156f75461a37cf Author: Hitoshi Mitake Date: Fri Nov 20 12:37:17 2009 +0900 perf bench: Make the mem/memcpy tests more user-friendly mem-memcpy.c uses perf event system calls to obtain CPU clocks. And it suddenly dies with BUG_ON() when it running on Linux doesn't support perf event. Also fail at calloc() can occur easily when too large length is passed. Fail of calloc() causes sudden death with assert(). These behaviours are not friendly. So I fixed the treating of errors. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258688237-3797-1-git-send-email-mitake@dcl.info.waseda.ac.jp> [ v2: improved a few small details ] Signed-off-by: Ingo Molnar commit 5093ebad5f2348076fdc3dac7d2358b1ad7f85f7 Author: Frederic Weisbecker Date: Sun Nov 22 05:21:35 2009 +0100 hw-breakpoints: Separate the kernel part from breakpoint headers So that we can include this header from userspace tools, like perf tools, to get the breakpoint types and len definitions. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Prasad LKML-Reference: <1258863695-10464-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b3a75542d329ce4e1c66b293cefeb4429a2af043 Author: Frederic Weisbecker Date: Sun Nov 22 05:21:34 2009 +0100 hw-breakpoints: Remove x86 specific headers from core file Remove asm/processor.h and asm/debugreg.h as these headers are not used anymore in the hw-breakpoints core file. Signed-off-by: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258863695-10464-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 28889bf9e2db29747d58cd47a92d727f927c3aee Author: Frederic Weisbecker Date: Sun Nov 22 05:21:33 2009 +0100 tracing: Forget about the NMI buffer for syscall events We are never in an NMI context when we commit a syscall trace to perf. So just forget about the nmi buffer there. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Jason Baron LKML-Reference: <1258863695-10464-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ce71b9df8893ec954e56c5979df6da274f20f65e Author: Frederic Weisbecker Date: Sun Nov 22 05:26:55 2009 +0100 tracing: Use the perf recursion protection from trace event When we commit a trace to perf, we first check if we are recursing in the same buffer so that we don't mess-up the buffer with a recursing trace. But later on, we do the same check from perf to avoid commit recursion. The recursion check is desired early before we touch the buffer but we want to do this check only once. Then export the recursion protection from perf and use it from the trace events before submitting a trace. v2: Put appropriate Reported-by tag Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Jason Baron LKML-Reference: <1258864015-10579-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 41cec6f1160c110bd69597c2a5611b46e8287801 Author: Bruce Allan Date: Fri Nov 20 23:28:56 2009 +0000 e1000e: update Tx Unit hang detection message The Tx unit hang detection code in e1000e detects other hangs caused by hardware components (e.g. Rx, DMA units), but it is not possible to detect exactly which component is hung so it has always assumed a Tx unit hang. When dumping a message to the system log because of a hang, this patch adds more data to help narrow the cause of the issue and makes the message non-Tx-specific. Because this new code reads PHY registers which can sleep, move it off to a workqueue. This and all previously existing work tasks in the driver are now cancelled when the driver is removed. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a708dd88a014a8fd78713adbd19bc61046eaac7f Author: Bruce Allan Date: Fri Nov 20 23:28:37 2009 +0000 e1000e: cosmetic - group local variables of the same type Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9b724613c91ce60806ffc689f5032ff258644c6c Author: Bruce Allan Date: Fri Nov 20 23:28:17 2009 +0000 e1000e: remove redundant might_sleep() Now that mutex_lock() calls might_sleep() the driver doesn't have to here. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit de39b7523348640f4c0e662e430c67594d858a08 Author: Bruce Allan Date: Fri Nov 20 23:27:59 2009 +0000 e1000e: do not error out on identification LED init failure A failure to initialize the identification LED is not a fatal condition and should allow the init path to continue. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 53ec5498d107a61b84944351d32324ce52788b74 Author: Bruce Allan Date: Fri Nov 20 23:27:40 2009 +0000 e1000e: set pm_qos DMA latency requirement per interface when needed It was pointed out a pm_qos DMA latency requirement set when the driver is loaded when parts that support early receive of jumbo frames are probed could have that requirement overidden if another part supported by the driver (one that does not support early receive of jumbo frames) is probed later. Change the DMA latency requirement to be per-interface if needed instead of per driver. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 99673d9b5d48c81f2e9fe094c0d9e42815c60b3f Author: Bruce Allan Date: Fri Nov 20 23:27:21 2009 +0000 e1000e: cleanup functions that clear hardware statistics The e1000_clear_hw_cntrs_*() functions read the registers to clear them. There is no reason to save the register contents so the temp variable can be removed. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3d5e33c9783d3e911e9aef0339663e887044f0df Author: Bruce Allan Date: Fri Nov 20 23:27:03 2009 +0000 e1000e: cleanup - shift indentation left by exiting early in e1000_tso Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 564ea9bba1a1380d5474504bcd943ee84075534f Author: Bruce Allan Date: Fri Nov 20 23:26:44 2009 +0000 e1000e: set bools to true/false instead of 1/0 Set booleans to 'true' or 'false' to make it clear it is a boolean. Also change instances of TRUE/FALSE in comments to lowercase true/false. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 84efb7b968ab91d0099620865b3f563eb0ddf5a6 Author: Bruce Allan Date: Fri Nov 20 23:26:24 2009 +0000 e1000e: provide comment for 82571 workaround Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fe4016746d2c0b3b690f5d1921c826d14008b118 Author: Bruce Allan Date: Fri Nov 20 23:26:05 2009 +0000 e1000e: remove comments regarding a non-existent api module Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c7e54b1bf90480ca4bdfd1491ac6c4b7bfe07c03 Author: Bruce Allan Date: Fri Nov 20 23:25:45 2009 +0000 e1000e: update copyright information Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 94d8186a693284344ee5cb9734086c7a2370241a Author: Bruce Allan Date: Fri Nov 20 23:25:26 2009 +0000 e1000e: cleanup ops function pointers The phy and nvm operations structures have function pointers that contain "phy" and "nvm" in the pointer names which are redundant since the structures are already obviously in phy and nvm structures. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3bb99fe226ead584a4db674dab546689f705201f Author: Bruce Allan Date: Fri Nov 20 23:25:07 2009 +0000 e1000e: consolidate two dbug macros into one simpler one This patch depends on a previous one that cleans up redundant #includes. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d8014dbca7f5d2d6f0fdb47e5286bd2d887f7065 Author: Bruce Allan Date: Fri Nov 20 23:24:48 2009 +0000 e1000e: cleanup redundant #include's Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b16a002e3da0357771433aa58a2521da00aa792a Author: Bruce Allan Date: Fri Nov 20 23:24:30 2009 +0000 e1000e: Incorrect MII Link beat reporting. The driver was only updating MII stats when an LSC up was detected and the interface had not already been reported up to netdev. This meant MII stats returned in response to an SIOCGMIIREG ioctl would always show a link up if it had ever been up. This was misleading the networking daemon guessnet, which uses this ioctl, into making improper network port selections. This fix adds a call to e1000_phy_read_status() to actively read the mii stats before responding to the SIOCGMIIREG ioctl. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bb436b20fe0ea4231a233aae7f0f7de3a3f2f5c3 Author: Bruce Allan Date: Fri Nov 20 23:24:11 2009 +0000 e1000e: disable K1 on PCH LOM when in PHY loopback mode When performing the ethtool PHY loopback test on PCH-based LOMs (82577 and 82578), disable K1 (a MAC-PHY interconnect low power mode) otherwise packets might get corrupted. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 98086a954a75152f8b09c131fa443205bae5fde1 Author: Bruce Allan Date: Fri Nov 20 23:23:53 2009 +0000 e1000e: improper return code signage The e1000_get_cable_length_82577() should return a negative value upon error. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7ea9655f8a4ccefcd8fdea7eb4fc5dab98e1a7ba Author: Bruce Allan Date: Fri Nov 20 23:23:34 2009 +0000 e1000e: link reporting problems Copper links with WoL or management enabled (any condition which prevents the phy from being powered down when the interface is taken down) were always reporting link-up when the interface had been taken down. This is because when the interface is taken down (ifconfig ethx down), interrupts are disabled. With no interrupts, there is no LSC interrupt, which is normally required to set "get_link_status", which instructs the driver to query the device for link state. The fix is to force get_link_status to true if the interface is not up. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a68ea775ad24ff403437c967628d2b9ce531ce48 Author: Bruce Allan Date: Fri Nov 20 23:23:16 2009 +0000 e1000e: don't clean Rx ring while resetting When using legacy interrupts, do not clean the Rx ring while resetting otherwise traffic will not pass. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e7d906f714994885b4889d02d6478e7a9418dcbe Author: Bruce Allan Date: Fri Nov 20 23:22:57 2009 +0000 e1000e: function pointers for ethtool set/get offloads Provide missing function pointers for ethtool set/get offloads. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4e2c6db7f4453ed5fb2e4342128d0ee3cfcf6bd Author: Bruce Allan Date: Fri Nov 20 23:22:39 2009 +0000 e1000e: clearing interrupt timers causes descriptors to get flushed Clearing the interrupt timers following an IMS clear has the unwanted side-effect of flushing all descriptors immediately following a partial write when interrupts are disabled. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f89271dda9431b432dad7505ccdcb57666233c1d Author: Bruce Allan Date: Fri Nov 20 23:22:20 2009 +0000 e1000e: add missing tests for 82583 in ethtool functions Add tests for 82583 in a couple ethtool functions that were missed from the initial hardware enablement submission. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1fbfca3211ce50d992d66bcda71fc47bf5e268c9 Author: Bruce Allan Date: Fri Nov 20 23:22:01 2009 +0000 e1000e: check WoL mode is among set of supported modes When setting WoL feature, check the supplied modes are all supported rather than checking for no support. This way, if any new modes are added the driver does not default to not complaining about it if we don't really support it. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e994b7c901ded7200b525a707c6da71f2cf6d4bb Author: David S. Miller Date: Sat Nov 21 11:22:25 2009 -0800 tcp: Don't make syn cookies initial setting depend on CONFIG_SYSCTL That's extremely non-intuitive, noticed by William Allen Simpson. And let's make the default be on, it's been suggested by a lot of people so we'll give it a try. Signed-off-by: David S. Miller commit 616ad593fe37ef265e5cb1282db6ca264197ffb2 Author: Krzysztof Helt Date: Sat Nov 21 01:01:18 2009 +0100 ALSA: opti-miro: remove snd_card pointer from snd_miro structure Remove the snd_card pointer from the snd_miro structure and do some small code improvements. Also, move Opti chipset detection before detection of the ACI mixer, so the mci_base value is set in one place only. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit fc08722510494e8185e176713de8c47238512591 Author: Takashi Iwai Date: Sat Nov 21 19:57:11 2009 +0100 ALSA: hda - Fix input and jack Kconfig depenencies CONFIG_SND_JACK needs to be selected explicitly only when INPUT=y or INPUT_SND. The current way, INPUT=SND_HDA_INTEL isn't strict enough. Reported-by: Randy Dunlap Signed-off-by: Takashi Iwai commit e25613683bd5c46d3e8c8ae6416dccc9f357dcdc Author: Arnaldo Carvalho de Melo Date: Sat Nov 21 14:31:26 2009 -0200 perf trace: Read_tracing_data should die() another day It better propagate errors, also if we do a simple: [root@doppio linux-2.6-tip]# perf record -R -a -f sleep 3s ; perf trace [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.182 MB perf.data (~7972 samples) ] Fatal: not an trace data file [root@doppio linux-2.6-tip]# That is what is expected, right? I.e. as we didn't specify any tracepoint event via -e, it should gracefully bail out and not SEGFAULT. Signed-off-by: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258821086-11521-3-git-send-email-acme@infradead.org> [ Fixed the error messages some more ] Signed-off-by: Ingo Molnar commit c12e15e71d4b32da045e798ffd21cbb6197d1c65 Author: Arnaldo Carvalho de Melo Date: Sat Nov 21 14:31:25 2009 -0200 perf symbols: Old versions of elf.h don't have NT_GNU_BUILD_ID Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258821086-11521-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 90c83218c32d7c474da810cd3c9973a43ecbcb9b Author: Arnaldo Carvalho de Melo Date: Sat Nov 21 14:31:24 2009 -0200 perf symbols: Fixup kernel_maps__fixup_end end map We better call this routine after both the kernel and modules are loaded, because as it was if there weren't modules it would not be called, resulting in kernel_map->end remaining at zero, so no map would be found and consequently the kernel symtab wouldn't get loaded, i.e. no kernel symbols would be resolved. Also this fixes another case, that is when we _have_ modules, but the last map would have its ->end address not set before we loaded its symbols, which would never happen because ->end was not set. Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258821086-11521-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8904b18046c2f050107f6449e887e7c1142b9ab9 Author: Stephane Eranian Date: Fri Nov 20 22:19:57 2009 +0100 perf_events: Fix default watermark calculation This patch fixes the default watermark value for the sampling buffer. With the existing calculation (watermark = max(PAGE_SIZE, max_size / 2)), no notification was ever received when the buffer was exactly 1 page. This was because you would never cross the threshold (there is no partial samples). In certain configuration, there was no possibilty detecting the problem because there was not enough space left to store the LOST record.In fact, there may be a more generic problem here. The kernel should ensure that there is alaways enough space to store one LOST record. This patch sets the default watermark to half the buffer size. With such limit, we are guaranteed to get a notification even with a single page buffer assuming no sample is bigger than a page. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.344964101@chello.nl> Signed-off-by: Ingo Molnar LKML-Reference: <1256302576-6169-1-git-send-email-eranian@gmail.com> commit 6f10581aeaa5543a3b7a8c7a87a064375ec357f8 Author: Peter Zijlstra Date: Fri Nov 20 22:19:56 2009 +0100 perf: Fix locking for PERF_FORMAT_GROUP We should hold event->child_mutex when iterating the inherited counters, we should hold ctx->mutex when iterating siblings. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.251030114@chello.nl> Signed-off-by: Ingo Molnar commit 59ed446f792cc07d37b1536b9c4664d14e25e425 Author: Peter Zijlstra Date: Fri Nov 20 22:19:55 2009 +0100 perf: Fix event scaling for inherited counters Properly account the full hierarchy of counters for both the count (we already did so) and the scale times (new). Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.153379276@chello.nl> Signed-off-by: Ingo Molnar commit 2b8988c9f7defe319cffe0cd362a7cd356c86f62 Author: Peter Zijlstra Date: Fri Nov 20 22:19:54 2009 +0100 perf: Fix time locking Most sites updating ctx->time and event times do so under ctx->lock, make sure they all do. This was made possible by removing the __perf_event_read() call from __perf_event_sync_stat(), which already had this lock taken. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.102316434@chello.nl> Signed-off-by: Ingo Molnar commit 58e5ad1de3d6ad931c84f0cc8ef0655c922f30ad Author: Peter Zijlstra Date: Fri Nov 20 22:19:53 2009 +0100 perf: Simplify __perf_event_read cpuctx is always active, task context is always active for current the previous condition verifies that if its a task context its for current, hence we can assume ctx->is_active. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212509.000272254@chello.nl> Signed-off-by: Ingo Molnar commit 3dbebf15c5d3e265f751eec72c1538a00da4be27 Author: Peter Zijlstra Date: Fri Nov 20 22:19:52 2009 +0100 perf: Simplify __perf_event_sync_stat Removes constraints from __perf_event_read() by leaving it with a single callsite; this callsite had ctx->lock held, the other one does not. Removes some superfluous code from __perf_event_sync_stat(). Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.918544317@chello.nl> Signed-off-by: Ingo Molnar commit f6f83785222b0ee037f7be90731f62a649292b5e Author: Peter Zijlstra Date: Fri Nov 20 22:19:51 2009 +0100 perf: Optimize __perf_event_read() Both callers actually have IRQs disabled, no need doing so again. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.863685796@chello.nl> Signed-off-by: Ingo Molnar commit 02ffdbc866c8b1c8644601e9aa6155700eed4c91 Author: Peter Zijlstra Date: Fri Nov 20 22:19:50 2009 +0100 perf: Optimize perf_event_task_sched_out Remove an update_context_time() call from the perf_event_task_sched_out() path and into the branch its needed. The call was both superfluous, because __perf_event_sched_out() already does it, and wrong, because it was done without holding ctx->lock. Place it in perf_event_sync_stat(), which is the only place it is needed and which does already hold ctx->lock. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.779516394@chello.nl> Signed-off-by: Ingo Molnar commit abf4868b8548cae18d4fe8bbfb4e207443be01be Author: Peter Zijlstra Date: Fri Nov 20 22:19:49 2009 +0100 perf: Fix PERF_FORMAT_GROUP scale info As Corey reported, the total_enabled and total_running times could occasionally be 0, even though there were events counted. It turns out this is because we record the times before reading the counter while the latter updates the times. This patch corrects that. While looking at this code I found that there is a lot of locking iffyness around, the following patches correct most of that. Reported-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.685559857@chello.nl> Signed-off-by: Ingo Molnar commit f6d9dd237da400effb265f3554c64413f8a3e7b4 Author: Peter Zijlstra Date: Fri Nov 20 22:19:48 2009 +0100 perf: Optimize perf_event_mmap_ctx() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.606459548@chello.nl> Signed-off-by: Ingo Molnar commit f6595f3a9680c86b6332f881a7ae2cbbcfdc8619 Author: Peter Zijlstra Date: Fri Nov 20 22:19:47 2009 +0100 perf: Optimize perf_event_comm_ctx() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.527608793@chello.nl> Signed-off-by: Ingo Molnar commit d6ff86cfb50a72df820e7e839836d55d245306fb Author: Peter Zijlstra Date: Fri Nov 20 22:19:46 2009 +0100 perf: Optimize perf_event_task_ctx() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.452227115@chello.nl> Signed-off-by: Ingo Molnar commit 81520183878a8813c71c9372de28bb70913ba549 Author: Peter Zijlstra Date: Fri Nov 20 22:19:45 2009 +0100 perf: Optimize perf_swevent_ctx_event() Remove a rcu_read_{,un}lock() pair and a few conditionals. We can remove the rcu_read_lock() by increasing the scope of one in the calling function. We can do away with the system_state check if the machine still boots after this patch (seems to be the case). We can do away with the list_empty() check because the bare list_for_each_entry_rcu() reduces to that now that we've removed everything else. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.378188589@chello.nl> Signed-off-by: Ingo Molnar commit 0cff784ae41cc125368ae77f1c01328ae2fdc6b3 Author: Peter Zijlstra Date: Fri Nov 20 22:19:44 2009 +0100 perf: Optimize some swcounter attr.sample_period==1 paths Avoid the rather expensive perf_swevent_set_period() if we know we have to sample every single event anyway. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.299508332@chello.nl> Signed-off-by: Ingo Molnar commit 453f19eea7dbad837425e9b07d84568d14898794 Author: Peter Zijlstra Date: Fri Nov 20 22:19:43 2009 +0100 perf: Allow for custom overflow handlers in-kernel perf users might wish to have custom actions on the sample interrupt. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091120212508.222339539@chello.nl> Signed-off-by: Ingo Molnar commit ef6ae724253429ac70d81e65d052f6a346d330bd Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:29 2009 -0200 perf symbols: Change the kernel DSO name if it comes from kallsyms So that the user have a clearer indication about the source of the symbols, as we only state buildid mismatches in verbose mode, because 'perf top' would overwrite such warning anyway. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fbd733b815a5a57d7eb0d904edc49d18fd12df5c Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:28 2009 -0200 perf symbols: Check vmlinux buildid E.g.: [root@doppio linux-2.6-tip]# perf top -v --vmlinux ../build/tip/vmlinux > /dev/null build_id in vmlinux is e96699725a47413a50c231864a8e7a8ced40a31b while expected is 18e7cc53db62a7d35e9d6f6c9ddc23017d38ee9a, ignoring it I.e. perf top was told to use a vmlinux file that is not the one currently running on the machine, it ignores it and falls back to using /proc/kallsyms. This solves many, at first, mysterious results when people have a stale vmlinux file while keeping the default of trying to use the vmlinux file in the current directory in things like 'perf annotate' where the DWARF info is required and thus we can't use just /proc/kallsyms. Modules buildids are already being checked as of the previous changeset in this series, because we are using the default dso__load routine, that will look at a series of places looking for the best file with a matching buildid, starting in the -debuginfo directories. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit c338aee853db197e1855b393e6d6cc667784537f Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:27 2009 -0200 perf symbols: Do lazy symtab loading for the kernel & modules too Just like we do with the other DSOs. This also simplifies the kernel_maps setup process, now all that the tools need to do is to call kernel_maps__init and the maps for the modules and kernel will be created, then, later, when kernel_maps__find_symbol() is used, it will also call maps__find_symbol that already checks if the symtab was loaded, loading it if needed. Now if one does 'perf top --hide_kernel_symbols' we won't pay the price of loading the (many) symbols in /proc/kallsyms or vmlinux. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 78075caad99dc36ec6ef5826b7a5273ea14295fc Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:26 2009 -0200 perf symbols: Introduce dso__build_id_equal Will be used in more places. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fd7a346ea292074e9f6cdb5232a57c56bf98fdc9 Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:25 2009 -0200 perf symbols: Filename__read_build_id should look at .notes section too In the kernel we have more than one notes section, so the linker script combines all and puts them into a ".notes" combined section. So we need to look at both sections and also traverse them looking at multiple GElf_Nhdr entries till we find the one we want, with the build_id. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 6671cb1674e69e2aba3d610714bdd3e97a7b51ff Author: Arnaldo Carvalho de Melo Date: Fri Nov 20 20:51:24 2009 -0200 perf symbols: Remove unrelated actions from dso__load_kernel_sym It should just load kernel symbols, not load the list of modules. There are more stuff to move to other routines, but lets do it in several steps. End goal is to be able to defer symbol table loading till we find a hit for that map address range. So that the kernel & modules are handled just like all the other DSOs in the system. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258757489-5978-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 96200591a34f8ecb98481c626125df43a2463b55 Merge: 7031281 68efa37 Author: Ingo Molnar Date: Sat Nov 21 14:07:23 2009 +0100 Merge branch 'tracing/hw-breakpoints' into perf/core Conflicts: arch/x86/kernel/kprobes.c kernel/trace/Makefile Merge reason: hw-breakpoints perf integration is looking good in testing and in reviews, plus conflicts are mounting up - so merge & resolve. Signed-off-by: Ingo Molnar commit 7031281e02bf951a2259849217193fb9d75a9762 Merge: ba77c9e d62d77f Author: Ingo Molnar Date: Sat Nov 21 13:57:35 2009 +0100 Merge branch 'perf/urgent' into perf/core Conflicts: tools/perf/util/symbol.c Merge reason: this fix will get merged in .33, not .32, plus resolve the conflict. Signed-off-by: Ingo Molnar commit 6f5f67267dc4faecd9cba63894de92ca92a608b8 Author: Masami Hiramatsu Date: Fri Nov 20 12:13:14 2009 -0500 x86: insn decoder test checks objdump version Check objdump version before using it for insn decoder build test, because some older objdump can't decode AVX code correctly. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston LKML-Reference: <20091120171314.6715.30390.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: H. Peter Anvin commit 80509e27e40d7554e576405ed9f5b7966c567112 Author: Masami Hiramatsu Date: Fri Nov 20 12:13:08 2009 -0500 x86: Fix insn decoder test typos Fix postest_verbose to posttest_verbose, and add posttest_64bit option for CONFIG_64BIT != y, since old command just passed '-' instead of '-n' when CONFIG_64BIT is not set. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston LKML-Reference: <20091120171307.6715.66099.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: H. Peter Anvin commit 749f583f3405f93bf56ed5dd0be1d65c06db6f0f Merge: ef1a688 345a322 Author: Russell King Date: Fri Nov 20 23:53:11 2009 +0000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop into devel-stable commit 8964be4a9a5ca8cab1219bb046db2f6d1936227c Author: Eric Dumazet Date: Fri Nov 20 15:35:04 2009 -0800 net: rename skb->iif to skb->skb_iif To help grep games, rename iif to skb_iif Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fa9a6fed87df1b50804405e700f8d30251d3aaf1 Author: Sarveshwar Bandi Date: Fri Nov 20 14:23:47 2009 -0800 be2net: Patch to flash redboot section while firmware update. Please apply patch to update redboot section while firmware update. Code checks if section needs to be updated before actually doing it. Signed-off-by: Sarveshwar Bandi Signed-off-by: David S. Miller commit eb6d02133cf5451fece3a37ccccf2ce7c09a09c1 Author: Amit Kumar Salecha Date: Thu Nov 19 15:08:12 2009 +0000 netxen: remove PCI IDs of CNA device Remove PCI vendor and device IDs for QLE8240 and QLE8242 CNA devices. CNA devices will have separate driver. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 55cac248caa4a5f181a11cd2f269a672bef3d3b5 Author: Alexander Duyck Date: Thu Nov 19 12:42:21 2009 +0000 igb: Add full support for 82580 devices This patch makes use of the 82580 PHY and MAC support added and adds a set of supported device IDs for said hardware. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bb2ac47bcfd47ed9431ff1676ec8d79250c941c9 Author: Alexander Duyck Date: Thu Nov 19 12:42:01 2009 +0000 igb: add support for 82580 MAC This patch adds support for the 82580 MAC. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2909c3f79d933b55bf2485addb1dca762210b6af Author: Alexander Duyck Date: Thu Nov 19 12:41:42 2009 +0000 igb: add support for the 82580 phy This patch adds support for the phy included in the 82580 silicon family. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ef1a68848a968f7347cf7eea24072464059af8f1 Merge: 1508c99 0912e53 Author: Russell King Date: Fri Nov 20 17:51:21 2009 +0000 Merge branch 'for-rmk' of git://github.com/at91linux/linux-2.6-at91 into devel-stable Conflicts: arch/arm/mach-at91/Kconfig commit c656ae95d1c5c8ed5763356263ace2d03087efec Author: Eric W. Biederman Date: Fri Nov 20 09:24:19 2009 -0800 security/tomoyo: Remove now unnecessary handling of security_sysctl. Now that sys_sysctl is an emulation on top of proc sys all sysctl operations look like normal filesystem operations and we don't need to use the special sysctl hook to authenticate them. Acked-by: Tetsuo Handa Signed-off-by: Eric W. Biederman commit 1d2c6cfd40b2dece3bb958cbbc405a2c1536ab75 Author: Frederic Weisbecker Date: Fri Nov 20 04:11:30 2009 +0100 kill-the-bkl/reiserfs: turn GFP_ATOMIC flag to GFP_NOFS in reiserfs_get_block() GFP_ATOMIC was used in reiserfs_get_block to not lose the Bkl so that nobody can modify the tree in the middle of its work. Now that we kicked out the bkl, we can use a more friendly flag. We use GFP_NOFS here because we already hold the reiserfs lock. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit a4054b6b20e9c2cca63715a319759bf8d37d82fc Author: Eric W. Biederman Date: Fri Nov 20 09:12:22 2009 -0800 security/tomoyo: Add a special case to handle accesses through the internal proc mount. With the change of sys_sysctl going through the internal proc mount we no longer need to handle security_sysctl in tomoyo as we have valid pathnames for all sysctl accesses. There is one slight caveat to that in that all of the paths from the internal mount look like "/sys/net/ipv4/ip_local_port_range" instead of "/proc/sys/net/ipv4/ip_local_port_range" so tomoyo needs to add the "/proc" portion manually when resolving to full path names to get what it expects. This change teaches tomoyo perform that modification. Acked-by: Tetsuo Handa Acked-by: John Johansen Signed-off-by: Eric W. Biederman commit dcdec639ad74f20427df82284f98b68f6ac7c0ae Merge: b2a2236 f3d0e82 Author: Mark Brown Date: Fri Nov 20 16:37:10 2009 +0000 Merge branch 'ads117x' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.33 commit 746357d6a526d6da9d89a2ec645b28406e959c2e Author: Thomas Gleixner Date: Fri Nov 20 12:01:43 2009 +0100 x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage When the kernel is compiled with -pg for tracing GCC 4.4.x inserts stack alignment of a function _before_ the mcount prologue if the -march=pentium-mmx is set and -mtune=generic is not set. This breaks the assumption of the function graph tracer which expects that the mcount prologue push %ebp mov %esp, %ebp is the first stack operation in a function because it needs to modify the function return address on the stack to trap into the tracer before returning to the real caller. The generated code is: push %edi lea 0x8(%esp),%edi and $0xfffffff0,%esp pushl -0x4(%edi) push %ebp mov %esp,%ebp so the tracer modifies the copy of the return address which is stored after the stack alignment and therefor does not trap the return which in turn breaks the call chain logic of the tracer and leads to a kernel panic. Aside of the fact that the generated code is horrible for no good reason other -march -mtune options generate the expected: push %ebp mov %esp,%ebp and $0xfffffff0,%esp which does the same and keeps everything intact. After some experimenting we found out that this problem is restricted to gcc4.4.x and to the following -march settings: i586, pentium, pentium-mmx, k6, k6-2, k6-3, winchip-c6, winchip2, c3, geode By adding -mtune=generic the code generator produces always the expected code. So forcing -mtune=generic when CONFIG_FUNCTION_GRAPH_TRACER=y is not pretty, but at the moment the only way to prevent that the kernel trips over gcc-shrooms induced code madness. Most distro kernels have CONFIG_X86_GENERIC=y anyway which forces -mtune=generic as well so it will not impact those. References: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42109 http://lkml.org/lkml/2009/11/19/17 Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Linus Torvalds Cc: Andrew Morton Cc: Ingo Molnar Cc: Peter Zijlstra Cc: H. Peter Anvin Cc: Steven Rostedt Cc: Frederic Weisbecker , Cc: Jeff Law Cc: gcc@gcc.gnu.org Cc: David Daney Cc: Andrew Haley Cc: Richard Guenther Cc: stable@kernel.org commit 7cef4cf1c5e9d81554137f52b96a5ab7f6241cdd Author: Łukasz Wojniłowicz Date: Fri Nov 20 12:14:35 2009 +0100 ALSA: hda - 4930g mute lfe and side when pluging in headphones Fixes first issue from comment 0021423 in bug 0004317 for Acer Aspire 5930g Signed-off-by: Łukasz Wojniłowicz Signed-off-by: Takashi Iwai commit 34769945f7cd9ab470413ffe64426e3ad069f49e Author: Thomas Gleixner Date: Fri Nov 20 11:46:21 2009 +0100 genirq: Fix spurious irq seqfile conversion single_open data argument must be PDE(inode)->data instead of NULL otherwise seq_file->private is always NULL and we always read the spurious data of irq 0. Reported-by: Alexey Dobriyan Signed-off-by: Thomas Gleixner commit 8629ea2eaba8ca0de2e38ce1b4a825e16255976e Author: Feng Tang Date: Thu Sep 3 16:32:53 2009 +0800 hrtimer: Fix /proc/timer_list regression commit 507e1231 (timer stats: Optimize by adding quick check to avoid function calls) introduced a regression in /proc/timer_list. /proc/timer_list shows now #0: , tick_sched_timer, S:01, <(null)>, /-1 instead of #0: , tick_sched_timer, S:01, hrtimer_start, swapper/0 Revert the hrtimer quick check for now. The optimization needs more thought, but this is neither 2.6.32-rc7 nor stable material. [ tglx: - Removed unrelated changes from the original patch - Prevent unneccesary call to timer_stats_update_stats - massaged the changelog ] Signed-off-by: Feng Tang LKML-Reference: Cc: Heiko Carstens Cc: stable@kernel.org Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit ba77c9e11111a172c9e8687fe16a6a173a61916f Author: Li Zefan Date: Fri Nov 20 15:53:25 2009 +0800 perf: Add 'perf kmem' tool This tool is mostly a perf version of kmemtrace-user. The following information is provided by this tool: - the total amount of memory allocated and fragmentation per call-site - the total amount of memory allocated and fragmentation per allocation - total memory allocated and fragmentation in the collected dataset - ... Sample output: # ./perf kmem record ^C # ./perf kmem --stat caller --stat alloc -l 10 ------------------------------------------------------------------------------ Callsite | Total_alloc/Per | Total_req/Per | Hit | Fragmentation ------------------------------------------------------------------------------ 0xc052f37a | 790528/4096 | 790528/4096 | 193 | 0.000% 0xc0541d70 | 524288/4096 | 524288/4096 | 128 | 0.000% 0xc051cc68 | 481600/200 | 481600/200 | 2408 | 0.000% 0xc0572623 | 297444/676 | 297440/676 | 440 | 0.001% 0xc05399f1 | 73476/164 | 73472/164 | 448 | 0.005% 0xc05243bf | 51456/256 | 51456/256 | 201 | 0.000% 0xc0730d0e | 31844/497 | 31808/497 | 64 | 0.113% 0xc0734c4e | 17152/256 | 17152/256 | 67 | 0.000% 0xc0541a6d | 16384/128 | 16384/128 | 128 | 0.000% 0xc059c217 | 13120/40 | 13120/40 | 328 | 0.000% 0xc0501ee6 | 11264/88 | 11264/88 | 128 | 0.000% 0xc04daef0 | 7504/682 | 7128/648 | 11 | 5.011% 0xc04e14a3 | 4216/191 | 4216/191 | 22 | 0.000% 0xc05041ca | 3524/44 | 3520/44 | 80 | 0.114% 0xc0734fa3 | 2104/701 | 1620/540 | 3 | 23.004% 0xc05ec9f1 | 2024/289 | 2016/288 | 7 | 0.395% 0xc06a1999 | 1792/256 | 1792/256 | 7 | 0.000% 0xc0463b9a | 1584/144 | 1584/144 | 11 | 0.000% 0xc0541eb0 | 1024/16 | 1024/16 | 64 | 0.000% 0xc06a19ac | 896/128 | 896/128 | 7 | 0.000% 0xc05721c0 | 772/12 | 768/12 | 64 | 0.518% 0xc054d1e6 | 288/57 | 280/56 | 5 | 2.778% 0xc04b562e | 157/31 | 154/30 | 5 | 1.911% 0xc04b536f | 80/16 | 80/16 | 5 | 0.000% 0xc05855a0 | 64/64 | 36/36 | 1 | 43.750% ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ Alloc Ptr | Total_alloc/Per | Total_req/Per | Hit | Fragmentation ------------------------------------------------------------------------------ 0xda884000 | 1052672/4096 | 1052672/4096 | 257 | 0.000% 0xda886000 | 262144/4096 | 262144/4096 | 64 | 0.000% 0xf60c7c00 | 16512/128 | 16512/128 | 129 | 0.000% 0xf59a4118 | 13120/40 | 13120/40 | 328 | 0.000% 0xdfd4b2c0 | 11264/88 | 11264/88 | 128 | 0.000% 0xf5274600 | 7680/256 | 7680/256 | 30 | 0.000% 0xe8395000 | 5948/594 | 5464/546 | 10 | 8.137% 0xe59c3c00 | 5748/479 | 5712/476 | 12 | 0.626% 0xf4cd1a80 | 3524/44 | 3520/44 | 80 | 0.114% 0xe5bd1600 | 2892/482 | 2856/476 | 6 | 1.245% ... | ... | ... | ... | ... ------------------------------------------------------------------------------ SUMMARY ======= Total bytes requested: 2333626 Total bytes allocated: 2353712 Total bytes wasted on internal fragmentation: 20086 Internal fragmentation: 0.853375% TODO: - show sym+offset in 'callsite' column - show cross node allocation stats - collect more useful stats? - ... Signed-off-by: Li Zefan Acked-by: Pekka Enberg Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Eduard - Gabriel Munteanu Cc: linux-mm@kvack.org LKML-Reference: <4B064AF5.9060208@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fbc543915ffb8ec5c35403f294ab799f1936f42a Author: Akinobu Mita Date: Fri Nov 20 14:56:52 2009 +0900 ALSA: sound: usbmidi: Use hweight16 Use hweight16 instead of Brian Kernighan's/Peter Wegner's method Signed-off-by: Akinobu Mita Signed-off-by: Takashi Iwai commit d867bba94513cf149cb8462a6e006848acb91d38 Author: Clemens Ladisch Date: Thu Nov 19 14:34:33 2009 +0100 sound: usb-audio: add Roland UA-1G support Add support for the Roland UA-1G audio interface. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit ce64c62074d945fe5f8a7f01bdc30125f994ea67 Author: Masami Hiramatsu Date: Mon Nov 16 18:06:31 2009 -0500 x86: Instruction decoder test should generate build warning Since some instructions are not decoded correctly by older versions of objdump, it may cause false positive error in insn decoder posttest. This changes build error of insn decoder test to build warning. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston Cc: Stephen Rothwell LKML-Reference: <20091116230631.5250.41579.stgit@harusame> Signed-off-by: Ingo Molnar commit 164165dad7e607ec359e64b6fae72abbf3640ea6 Author: Joe Perches Date: Thu Nov 19 09:30:10 2009 +0000 drivers/net: tasklet_init - Remove unnecessary leading & from second arg Changed function pointer use from non-majority address-of style to majority short form without & via: (was: 8 with &, 36 without) grep -rPl "\btasklet_init\s*\([^,\)]+,\s*\&" drivers/net | while read file ; do \ perl -i -e 'local $/; while (<>) { s@(\btasklet_init\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\ done Compile tested allyesconfig x86 Signed-off-by: Joe Perches drivers/net/cnic.c | 4 ++-- drivers/net/jme.c | 10 +++++----- drivers/net/skge.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) Signed-off-by: David S. Miller commit 5452fee23eddb5ebb46f13aba50c8930c160e1da Author: Joe Perches Date: Thu Nov 19 09:55:53 2009 +0000 drivers/isdn/gigaset: tasklet_init - Remove unnecessary leading & from second arg Changed function pointer use from non-majority address-of style to majority short form without & via: grep -rPl "\btasklet_init\s*\([^,\)]+,\s*\&" drivers/isdn | while read file ; do \ perl -i -e 'local $/; while (<>) { s@(\btasklet_init\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\ done Compile tested allyesconfig x86 Signed-off-by: Joe Perches drivers/isdn/gigaset/bas-gigaset.c | 4 ++-- drivers/isdn/gigaset/common.c | 2 +- drivers/isdn/gigaset/interface.c | 2 +- drivers/isdn/gigaset/ser-gigaset.c | 2 +- drivers/isdn/gigaset/usb-gigaset.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) Signed-off-by: David S. Miller commit 6b0cb5f9f7033c72b19697c33deab83f0dd9848d Author: Arnaldo Carvalho de Melo Date: Thu Nov 19 14:55:57 2009 -0200 perf tools: Don't die() in mmap_dispatch_perf_file Propagate the error, that, interestingly, are already handled by all callers :-) Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258649757-17554-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d5eed904bb6010b429b82c47e7cdb6a32f0c1343 Author: Arnaldo Carvalho de Melo Date: Thu Nov 19 14:55:56 2009 -0200 perf tools: Eliminate some more die() uses in library functions This time in perf_header__adds_write, propagating the do_write error returns. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258649757-17554-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4dc0a04bb18fe9b80cefa08694f46a3a19ebfe50 Author: Arnaldo Carvalho de Melo Date: Thu Nov 19 14:55:55 2009 -0200 perf tools: perf_header__read() shouldn't die() And also don't call the constructor in it, this way it adheres to the model the other methods follow. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258649757-17554-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 9f13084d52d40dcce5a5f00586410acdb5a3fbff Author: Rui Paulo Date: Thu Nov 19 15:49:10 2009 +0000 mac80211: fix endianess on mesh_path_error_tx() calls Signed-off-by: Rui Paulo Signed-off-by: John W. Linville commit 6d3e6601ba0ff6ca804d3c103164624618cab4a9 Author: Daniel Mack Date: Thu Nov 19 12:02:11 2009 +0100 ARM: MX3: add NOR flash support via physmap mtd driver Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 81057f328618181f87b25571dd9f623c86fe960e Author: Daniel Mack Date: Thu Nov 19 12:02:10 2009 +0100 ARM: MX3: add support for GPIO LEDs on litekit db The names are chosen to match the silkscreen. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit a050c8e9b70b90a3e3b808a12d985a31e19c2f95 Author: Daniel Mack Date: Thu Nov 19 12:02:09 2009 +0100 ARM: MX3: add USB functions for mx31litekit Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 84677d114a7bcba11981a76ee60498a1b41d9d94 Author: Daniel Mack Date: Thu Nov 19 12:02:08 2009 +0100 ARM: MX3: add SPI devices for mx31lite Some header files were reordered while I was at it. The only device currently registered is the ATLAS PMIC (MC13783) chip. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 364cd540f036f106d886a9c51ae05e9a9bacf051 Author: Daniel Mack Date: Thu Nov 19 12:02:07 2009 +0100 ARM: MX3: add MMC/SDHC support to mx31lite-db.c Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit b7d91a62cb402a3d24a15dca9d2b0c309c4227b4 Author: Daniel Mack Date: Thu Nov 19 12:02:06 2009 +0100 ARM: MX3: modularize 'mx31lite' code This commit splits the support code for LogicPD's mx31lite hardware into module and board specific parts. This introduces a new mandatory coreparam called 'mx31lite_baseboard' which specifies the base board support to use. For now, only the LiteKit development board is supported, and developers of own boards are encouraged to use that as reference. The UART support moved to the board code. Some comments were amended along the way. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 64491f0ec8b653560a030022dccfce67ad353d81 Author: Johannes Berg Date: Thu Nov 19 14:26:11 2009 +0100 mac80211: add per-station HT capability file This is sometimes useful to debug HT issues as it shows what exactly the stack thinks the peer supports. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a58ce43f2fb17b728395ff530f019ca53c80145f Author: Johannes Berg Date: Thu Nov 19 12:45:42 2009 +0100 mac80211: avoid spurious deauth frames/messages With WEXT, it happens frequently that the SME requests an authentication but then deauthenticates right away because some new parameters came along. Every time this happens we print a deauth message and send a deauth frame, but both of that is rather confusing. Avoid it by aborting the authentication process silently, and telling cfg80211 about that. The patch looks larger than it really is: __cfg80211_auth_remove() is split out from cfg80211_send_auth_timeout(), there's no new code except __cfg80211_auth_canceled() (a one-liner) and the mac80211 bits (7 new lines of code). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7351c6bd482712e5e3ec9dffc547de0e0863efb0 Author: Johannes Berg Date: Thu Nov 19 01:08:30 2009 +0100 mac80211: request TX status where needed Right now all frames mac80211 hands to the driver have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set to request TX status. This isn't really necessary, only the injected frames need TX status (the latter for hostapd) so move setting this flag. The rate control algorithms also need TX status, but they don't require it. Also, rt2x00 uses that bit for its own purposes and seems to require it being set for all frames, but that can be fixed in rt2x00. This doesn't really change anything for any drivers but in the future drivers using hw-rate control may opt to not report TX status for frames that don't have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set. Signed-off-by: Johannes Berg Acked-by: Ivo van Doorn [rt2x00 bits] Signed-off-by: John W. Linville commit ad4bb6f8883a13bb0f65b194dae36c62a02ac779 Author: Johannes Berg Date: Thu Nov 19 00:56:30 2009 +0100 cfg80211: disallow bridging managed/adhoc interfaces A number of people have tried to add a wireless interface (in managed mode) to a bridge and then complained that it doesn't work. It cannot work, however, because in 802.11 networks all packets need to be acknowledged and as such need to be sent to the right address. Promiscuous doesn't help here. The wireless address format used for these links has only space for three addresses, the * transmitter, which must be equal to the sender (origin) * receiver (on the wireless medium), which is the AP in the case of managed mode * the recipient (destination), which is on the APs local network segment In an IBSS, it is similar, but the receiver and recipient must match and the third address is used as the BSSID. To avoid such mistakes in the future, disallow adding a wireless interface to a bridge. Felix has recently added a four-address mode to the AP and client side that can be used (after negotiating that it is possible, which must happen out-of-band by setting up both sides) for bridging, so allow that case. Signed-off-by: Johannes Berg Acked-by: Stephen Hemminger Signed-off-by: John W. Linville commit 9bc383de37090ba7ca3ff32a12c9d809dc5867f0 Author: Johannes Berg Date: Thu Nov 19 11:55:19 2009 +0100 cfg80211: introduce capability for 4addr mode It's very likely that not many devices will support four-address mode in station or AP mode so introduce capability bits for both modes, set them in mac80211 and check them when userspace tries to use the mode. Also, keep track of 4addr in cfg80211 (wireless_dev) and not in mac80211 any more. mac80211 can also be improved for the VLAN case by not looking at the 4addr flag but maintaining the station pointer for it correctly. However, keep track of use_4addr for station mode in mac80211 to avoid all the derefs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5be83de54c16944dea9c16c6a5a53c1fa75ed304 Author: Johannes Berg Date: Thu Nov 19 00:56:28 2009 +0100 cfg80211: convert bools into flags We've accumulated a number of options for wiphys which make more sense as flags as we keep adding more. Convert the existing ones. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4b28dca86066596721a6243c94611dab41970079 Author: Krzysztof Helt Date: Wed Nov 18 17:29:36 2009 +0100 ALSA: cs4236: add dB scale for all volume controls Use db scale for all volume controls according to Crystal's datasheets. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit f2624791a0c2a2d7664b12d75ca327917141fd3b Author: Takashi Iwai Date: Thu Nov 19 11:48:44 2009 +0100 ALSA: hda - Change quirk for Acer Aspire 5930G Change the quirk for Acer Aspire 5930G from model=acer-aspire-4930g to model=acer-aspre-6530g. The tuba bass gets muted along with the other built-in speakers upon headphones insertion, the internal mic works perfectly etc. Reported-by: Claudio Viano Signed-off-by: Takashi Iwai commit b2a2236d1f5e7c09c8e74b61f13d8ba3fe82f7be Author: Enric Balletbò i Serra Date: Wed Nov 18 15:59:24 2009 +0100 ASoC: Add support for IGEP v2 Signed-off-by: Enric Balletbo i Serra Signed-off-by: Mark Brown commit 2b7b250df74f1f9e15cdf33fa90f6c98a419842d Author: Troy Kisky Date: Wed Nov 18 17:49:54 2009 -0700 ASoC: DaVinci: use edma_pause, edma_resume Use edma_pause and edma_resume to make missing dma_events less likely. This may not be needed, but it looks better. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1e224f322bf22280957a5f76164d848526ed9b08 Author: Troy Kisky Date: Wed Nov 18 17:49:53 2009 -0700 ASoC: DaVinci: pcm, fix underrun by using sram Fix underruns by using dma to copy 1st to sram in a ping/pong buffer style and then copying from the sram to the ASP. This also has the advantage of tolerating very long interrupt latency on dma completion. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1587ea31572e25a0a2c9c491b7f8c937b6c0454e Author: Troy Kisky Date: Wed Nov 18 17:49:52 2009 -0700 ASoC: DaVinci: pcm, rename variables in prep for ping/pong Rename variable master_lch to asp_channel Rename variable slave_lch to asp_link[0] Rename local variables: lch to link count to asp_count src to asp_src dst to asp_dst Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0d6c97742993a00ee2cbfbd6d68fba669c17bf50 Author: Troy Kisky Date: Wed Nov 18 17:49:51 2009 -0700 ASoC: DaVinci: i2s, reduce underruns by combining into 1 element Allow the left and right 16 bit samples to be shifted out as 1 32 bit sample. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 386e50cc7d82b3799ea6f53267f04f123ae05afe Author: Andrew Hendry Date: Wed Nov 18 23:30:41 2009 -0800 X25: Enable setting of cause and diagnostic fields Adds SIOCX25SCAUSEDIAG, allowing X.25 programs to set the cause and diagnostic fields. Normally used to indicate status upon closing connections. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 0e4817470be8d233fb58b5af7b938185dae94d67 Author: Tomas Winkler Date: Wed Nov 18 23:29:57 2009 -0800 iwmc3200top: revamp fw name handling 1. define macro for handling firmware api version 2. add MODULE_FIRMWARE 3. cleanup iwmct_fw_load style Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit a0607fd3a25ba1848a63a0d925e36d914735ab47 Author: Joe Perches Date: Wed Nov 18 23:29:17 2009 -0800 drivers/net: request_irq - Remove unnecessary leading & from second arg Not as fancy as coccinelle. Checkpatch errors ignored. Compile tested allyesconfig x86, not all files compiled. grep -rPl --include=*.[ch] "\brequest_irq\s*\([^,\)]+,\s*\&" drivers/net | while read file ; do \ perl -i -e 'local $/; while (<>) { s@(\brequest_irq\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\ done Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 2446042c93bfc6eeebfc89e88fdef2435d2bb5c4 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:53 2009 -0200 perf symbols: Capture the running kernel buildid too [root@doppio linux-2.6-tip]# perf record -a -f sleep 3s ; perf buildid-list | grep vmlinux [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.171 MB perf.data (~7489 samples) ] 18e7cc53db62a7d35e9d6f6c9ddc23017d38ee9a vmlinux [root@doppio linux-2.6-tip]# Several refactorings were needed so that we can have symmetry between dsos__load_modules() and dsos__load_kernel(), i.e. those functions will respectively create and add to the dsos list the loaded modules and kernel, with its buildids, but not load its symbols. That is something the subcomands that need will have to call dso__load_kernel_sym(), just like we do with modules with dsos__load_module_sym()/dso__load_module_sym(). Next csets will actually use this info to stop producing bogus results using mismatched vmlinux and .ko files. Signed-off-by: Arnaldo Carvalho de Melo Cc: Roland McGrath Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f1617b40596cb341ee6602a9d969c5e4cebe9260 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:52 2009 -0200 perf symbols: Record the build_ids of kernel modules too [root@doppio linux-2.6-tip]# perf record -a sleep 2s;perf buildid-list|tail [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.162 MB perf.data (~7078 samples) ] 881588fa57b3c1696bc91e5e804a11304f093535 [cfg80211] 4d47ce1da9d16bad00c962c072451b7c681e82df [snd_page_alloc] 5146377e89a7caac617f9782f1a02e46263d3a31 [rfkill] 2153b937bff0d345fea83b63a2e1d3138569f83d [i915] 4e6fb1bb97362e3ee4d306988b9ad6912d5fb9ae [drm_kms_helper] f56ef2bf853e3a798f0d8d51f797622e5dc4420e [drm] b0d157a3b5c4e017329ffc07c64623cd6ad65e95 [i2c_algo_bit] 8125374b905ef9fa8b65d98e166b008ad952f198 [i2c_core] fc875c6e5a90e7b915e9d445d0efc859e1b2678c [video] 4b43c5006589f977e9762fdfc7ac1a92b72fca52 [output] [root@doppio linux-2.6-tip]# elfutils libdwfl/linux-kernel-modules.c was used as reference, as suggested by Roland McGrath. Signed-off-by: Arnaldo Carvalho de Melo Cc: Roland McGrath Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit e30a3d12ddf04add3268bfceb0e57ffe47f254c6 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:51 2009 -0200 perf symbols: Kill struct build_id_list and die() another day No need for this struct and its allocations, we can just use the ->build_id member we already have in struct dso, then ask for it to be read, and later traverse the dsos list, writing the buildid table to the perf.data file. As a bonus, one more die() function got killed. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d3379ab9050e5522da2aac53d413651fc06be562 Author: Arnaldo Carvalho de Melo Date: Wed Nov 18 20:20:50 2009 -0200 perf symbols: Fix comparision of build_ids When we read the build_id from the DSO name to then index into /usr/lib/debug/.buildid/DSO_BUILD_ID[0:2]/DSO_BUILD_ID[2:], we were jumping directly to the comparision with the buildid we already have in dso->build_id (that came from the perf.data build_id section, collected at perf record time) unconditionally, even if we didn't had recorded it, and furthermore, comparing a formatted buildid with a rawbuildid, yikes. Fix it by deleting the dso__read_build_id() function, that was really misdesigned anyway, and do the necessary checks and correct comparison of raw buildids. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258582853-8579-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 2939e275994977b6c9eb7fd082b7b0caa35b96b0 Author: Eric Dumazet Date: Wed Nov 18 23:24:41 2009 -0800 netsched: Allow var_sk_bound_if meta to work on all namespaces This fix can probably wait 2.6.33, or should use another patch if needed in 2.6.32 (no get_dev_by_index_rcu() before 2.6.33) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3505d1a9fd65e2d3e00827857b6795d9d8983658 Merge: dfef948 66b00a7 Author: David S. Miller Date: Wed Nov 18 22:19:03 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/sfc/sfe4001.c drivers/net/wireless/libertas/cmd.c drivers/staging/Kconfig drivers/staging/Makefile drivers/staging/rtl8187se/Kconfig drivers/staging/rtl8192e/Kconfig commit 827f3b4974c5db2968d4979fe6a0ae00ab37bdd8 Author: Hitoshi Mitake Date: Wed Nov 18 00:20:09 2009 +0900 perf bench: Add memcpy() benchmark 'perf bench mem memcpy' is a benchmark suite for measuring memcpy() performance. Example on a Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz: | % perf bench mem memcpy -l 1GB | # Running mem/memcpy benchmark... | # Copying 1MB Bytes from 0xb7d98008 to 0xb7e99008 ... | | 726.216412 MB/Sec Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258471212-30281-1-git-send-email-mitake@dcl.info.waseda.ac.jp> [ v2: updated changelog, clarified history of builtin-bench.c ] Signed-off-by: Ingo Molnar commit b269876c8d57fb8c801bea1fc34b461646c5abd0 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 18:38:02 2009 -0200 perf top: Don't allocate the source parsing members upfront Defer to parse_source() time allocating it. Now we use about this much memory: 1724 root 20 0 42104 10m 940 S 0.0 0.4 0:00.23 perf Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258490282-1821-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 5a8e5a3065bf04b7673262fd6c46123e4b888d2b Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 18:38:01 2009 -0200 perf top: Allocate space only for the number of counters used Reducing memory consumption on a typical desktop machine: From: 32710 root 20 0 172m 142m 1056 S 0.0 4.7 0:00.37 perf To: 420 root 20 0 47528 16m 1056 R 0.3 0.5 0:00.24 perf Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258490282-1821-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 51a472decb845e920137284a5cfef51fb7d61206 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 18:38:00 2009 -0200 perf top: Introduce helper function to access symbol from sym_entry Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258490282-1821-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1a105f743d9fa5f7b8eeeca0afb789951164a361 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 15:40:55 2009 -0200 perf top: Suppress DSO column if only one is present E.g. [root@doppio ~]# perf top -U --------------------------------------------------------------------------- PerfTop: 482 irqs/sec kernel:100.0% [1000Hz cycles], (all, 2 CPUs) --------------------------------------------------------------------------- DSO: vmlinux samples pcnt function _______ _____ _________________________ 471.00 47.9% read_hpet 57.00 5.8% acpi_os_read_port 30.00 3.1% hpet_next_event 30.00 3.1% find_busiest_group 22.00 2.2% schedule 18.00 1.8% sched_clock_local 14.00 1.4% _spin_lock_irqsave 14.00 1.4% native_read_tsc 13.00 1.3% trace_hardirqs_off 9.00 0.9% fget_light 9.00 0.9% ioread8 8.00 0.8% do_sys_poll Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258479655-28662-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 13cc5079f235906e60577dbce8da2f9607e67e93 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 15:40:54 2009 -0200 perf top: Auto adjust symbol and dso widths We pre-calculate the symbol name length, then after we sort the entries to print, calculate the biggest one and use that for the symbol name width justification, then use the dso->long_name->len to justificate the DSO name, deciding whether using the short or long name depending on how much space we have on the terminal. IOW give as much info to the user as the terminal width allows. Suggested-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258479655-28662-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit cfc10d3bcc50d70f72c0f43d03eee965c726ccc0 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 15:40:53 2009 -0200 perf symbols: Add a long_name_len member to struct dso Using a two bytes hole we already had and since we also need to calculate this strlen for fetching the buildids. We'll use it in 'perf top' to auto-adjust the output based on the terminal width. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1258479655-28662-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 11ada26c78febe4662a8e848f3bff74e3200c920 Author: Luck, Tony Date: Tue Nov 17 09:05:56 2009 -0800 perf tools: Add ia64 support for tools/perf/ Compiler on ia64 rejects the "-m64" option. Add arch specific pieces to perf.h Signed-off-by: Tony Luck Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4b02d7f43514327a@agluck-desktop.sc.intel.com> Signed-off-by: Ingo Molnar commit 192dcf1d1775736627280a5dd4cb0f605b21857a Author: Josh Stone Date: Wed Nov 18 13:06:55 2009 -0800 tracing: Remove the stale include/trace/power.h Commit 6161352 moved the power tracing to include/trace/events/, but left the old header behind. No one is using the old header, and its declarations are now incorrect, so it should be removed. Signed-off-by: Josh Stone Acked-by: Arjan van de Ven Cc: Frank Ch. Eigler Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258578415-14752-1-git-send-email-jistone@redhat.com> Signed-off-by: Ingo Molnar commit 350f8f5631922c7848ec4b530c111cb8c2ff7caa Author: Jan Beulich Date: Fri Nov 13 11:54:40 2009 +0000 x86: Eliminate redundant/contradicting cache line size config options Rather than having X86_L1_CACHE_BYTES and X86_L1_CACHE_SHIFT (with inconsistent defaults), just having the latter suffices as the former can be easily calculated from it. To be consistent, also change X86_INTERNODE_CACHE_BYTES to X86_INTERNODE_CACHE_SHIFT, and set it to 7 (128 bytes) for NUMA to account for last level cache line size (which here matters more than L1 cache line size). Finally, make sure the default value for X86_L1_CACHE_SHIFT, when X86_GENERIC is selected, is being seen before that for the individual CPU model options (other than on x86-64, where GENERIC_CPU is part of the choice construct, X86_GENERIC is a separate option on ix86). Signed-off-by: Jan Beulich Acked-by: Ravikiran Thirumalai Acked-by: Nick Piggin LKML-Reference: <4AFD5710020000780001F8F0@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 9bd568a50c446433038dec2a5186c5c57c3dbd23 Author: Michael Buesch Date: Wed Nov 18 20:53:05 2009 +0100 b43: Enforce DMA descriptor memory constraints Enforce all device constraints on the descriptor memory region. There are several constraints on the descriptor memory, as documented in the specification. The current code does not enforce them and/or incorrectly enforces them. Those constraints are: - The address limitations on 30/32bit engines, that also apply to the skbs. - The 4k alignment requirement on 30/32bit engines. - The 8k alignment requirement on 64bit engines. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 76aa5e704c80fb7ca8bd3d05593d9a28298c92cd Author: Rui Paulo Date: Wed Nov 18 18:22:59 2009 +0000 mac80211: update cfg80211 scan result code for the updated mesh conf IE Signed-off-by: Rui Paulo Signed-off-by: John W. Linville commit 136cfa28615ccce0f9374811480e0b81c4191ea5 Author: Rui Paulo Date: Wed Nov 18 18:40:00 2009 +0000 mac80211: use a structure to hold the mesh config information element Signed-off-by: Rui Paulo Signed-off-by: John W. Linville commit fe7a5d5c1ad659bf0ec7dc171e122aeefa16ac25 Author: Johannes Berg Date: Wed Nov 18 18:42:47 2009 +0100 mac80211: move TX status handling It's enough code to have its own file, I think. Especially since I'm going to add to it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 62ae67be31c2346b6d74653a148ddbd1b9a94424 Author: Johannes Berg Date: Wed Nov 18 18:42:05 2009 +0100 mac80211: remove encrypt parameter from ieee80211_tx_skb Since the flags moved into skb->cb, there's no longer a need to have the encrypt bool passed into the function, anyone who requires it set to 0 (false) can just set the flag directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 875405a7793e9c35fab33819e7e5df7a98b6064c Author: Marcel Holtmann Date: Wed Nov 18 16:48:01 2009 +0100 rfkill: Add constant for RFKILL_TYPE_FM radio devices Signed-off-by: Marcel Holtmann Signed-off-by: Janakiram Sistla Signed-off-by: John W. Linville commit 0878c3504f92f1bf063d0890a9960d4b9e6c4618 Author: Marcel Holtmann Date: Wed Nov 18 16:48:00 2009 +0100 rfkill: Add missing description for RFKILL_TYPE_GPS Signed-off-by: Marcel Holtmann Signed-off-by: Janakiram Sistla Signed-off-by: John W. Linville commit a2fb0ad30aa52bdfd6e0870702444bae6090520f Author: John W. Linville Date: Wed Nov 18 16:37:22 2009 -0500 wl3501_cs: remove pedantic build warning drivers/net/wireless/wl3501_cs.c: In function ‘wl3501_esbq_exec’: drivers/net/wireless/wl3501_cs.c:387: warning: ‘tmp’ is used uninitialized in this function drivers/net/wireless/wl3501_cs.c:384: note: ‘tmp’ was declared here Signed-off-by: John W. Linville commit 98d3a7ca9232a436c067888936a0133e64ea126a Author: Johannes Berg Date: Wed Nov 18 13:03:43 2009 +0100 cfg80211: re-join IBSS when privacy changes When going from/to a WEP protected IBSS, we need to leave this one and join a new one to take care of the changed capability. Cc: Hong Zhang Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0bc6b1871c111d8f2eb2ac022a705de4cf21f572 Author: Sujith Date: Wed Nov 18 11:42:14 2009 +0530 mac80211: Fix panic in aggregation handling Not assigning the vif pointer causes an oops. This patch fixes it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 24b6b15f7d07d26330f73057d618089976a08792 Author: Jouni Malinen Date: Tue Nov 17 21:35:38 2009 +0200 cfg80211: Allow reassociation in associated state cfg80211 rejects all association requests when in associated state. This prevents clean roaming within an ESS since one would first need to disassociate before being able to request reassociation. Accept the reassociation request and let the old association to be dropped when the new one is completed. This fixes nl80211-based roaming with the current snapshot version of wpa_supplicant (that has code for requesting reassociation explicitly withthe previous BSSID attribute). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit af65cd96dd4ea8ea5adc6ee850e61a407cd1067a Author: Johannes Berg Date: Tue Nov 17 18:18:36 2009 +0100 mac80211: make software rate control optional Some devices implement the entire rate control in firmware in some way, like wl1271 or like iwlwifi which does some things in software but not a lot. Therefore generic software rate control is rather useless for them and just adds avoidable overhead to the transmit path. It's fairly simple to let drivers indicate that they do not need rate control, but they need to fulfil a number of conditions that we encode in WARN_ONs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c95cf3d09adc9afe7816a13a920b6df36062a3fe Author: David-John Willis Date: Tue Nov 17 18:50:09 2009 +0200 wl1251: add NVS in EEPROM support wl1251 supports also that NVS is stored in a separate EEPROM, add support for that. kvalo: use platform data instead Kconfig and use kernel style Signed-off-by: David-John Willis Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 7010193ad8e64dfbc006b167c2ee712d4441292c Author: Kalle Valo Date: Tue Nov 17 18:50:01 2009 +0200 wl1251: remove depcreated qual usage Fixes warnings: drivers/net/wireless/wl12xx/wl1251_rx.c: In function 'wl1251_rx_status': drivers/net/wireless/wl12xx/wl1251_rx.c:75: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:77: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:77: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:77: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:78: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:78: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) drivers/net/wireless/wl12xx/wl1251_rx.c:78: warning: 'qual' is deprecated (declared at include/net/mac80211.h:555) Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 06cc5d3bb01350466f7a1bf64d9afe06870b6480 Author: Vidhya Govindan Date: Tue Nov 17 18:49:54 2009 +0200 wl1251: Send null data packet with "TODS" bit set According to IEEE80211 standard all the data packets have to be sent with TODS bit set. This patch fixes the null data packet format which was sent without TODS bit set. This should fix many problems associated with power save. Janne Ylalehto also found this fix in the same time as mine, for a different bug he was working on. Signed-off-by: Vidhya Govindan Reviewed-by: Janne Ylalehto Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 79553f82c993ed511450748f01e16e4dccdc8c02 Author: Juuso Oikarinen Date: Tue Nov 17 18:49:46 2009 +0200 wl1251: Fix regression in IRQ loop handling In some cases, the IRQ loop handler could acknowledge an interrupt to the chipset, but not service it. Signed-off-by: Juuso Oikarinen Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a1590f2404d1c8d16f8ceed4fccc32ab9831e484 Author: Janne Ylalehto Date: Tue Nov 17 18:49:38 2009 +0200 wl1251: Filter out unwanted events Filter out unwanted events to reduce wakeups. Signed-off-by: Janne Ylalehto Reviewed-by: Vidhya Govindan Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit dcea4dbe54f5bbea2ef0bb265072754ccd934a1e Author: Janne Ylalehto Date: Tue Nov 17 18:49:31 2009 +0200 wl1251: Add IRQ looping support Add support for IRQ looping. Helps in the case that we have e.g. multiple packets coming from the network when we wake up from the ELP. Signed-off-by: Janne Ylalehto Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 33d51facad8360cb9c55fd696431e2a477f16cc1 Author: Vidhya Govindan Date: Tue Nov 17 18:49:23 2009 +0200 wl1251: Increase the beacon loss timeout value and handle regain event This patch increases the number of beacons to be missed before generating SYNC TIMEOUT event. It increases the beacon timeout period to 500 microseconds, which gives enough time for the firmware to receive probe response or beacon. Also handled the regain event from firmware once it receives a probe response or beacon. Signed-off-by: Vidhya Govindan Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 72b57344a2a1f98c6838c2268fdc5ed5fae54cd8 Author: Vidhya Govindan Date: Tue Nov 17 18:49:16 2009 +0200 wl1251: Set the correct dtim period to the firmware This patch sets the dtim period obtained from the mac80211 to firmware. Signed-off-by: Vidhya Govindan Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit d531cf303f765bf3477330e58fbeab75da668931 Author: Vidhya Govindan Date: Tue Nov 17 18:49:08 2009 +0200 wl1251: Add acx command to set tbtt and dtim period The dtim period obtained from the mac80211 is not set to the firmware. This patch implements the acx command to set correct tbtt and dtim value to the firmware. Signed-off-by: Vidhya Govindan Signed-off-by: Kalle Valo Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2410378a4c8e978823354ab3e44cd07c3c18a237 Author: Kalle Valo Date: Tue Nov 17 18:49:00 2009 +0200 wl1251: mask aid bits 14 and 15 in ps-poll template In ps-poll template aid bits 14 and 15 were not masked as required by the standard. Mask them so that aid is sent in correct format. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c74ddfd5ea9c0c67d0aae77eeb5b610188cb8bc4 Author: Kalle Valo Date: Tue Nov 17 18:48:45 2009 +0200 wl1251: allocate space for firmware with vmalloc() Earlier firmware was stored to a memory area allocated with kmalloc() but finding a a contiguous area of memory long enough for the firmware is very difficult in certain cases. better to allocate the memory for firmware with vmalloc() instead and use a small buffer for DMA transfers. Thanks to Eero Tamminen for the idea. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d5da79ac1f5050cccaa68d814ccce292371f25fa Author: Juuso Oikarinen Date: Tue Nov 17 18:48:37 2009 +0200 wl1251: Implement delayed entry into ELP mode Implement (slightly) delayed entry into ELP. This will cure several problems: - It works around a firmware race condition if ELP is entered too fast after commands (resulting in ELP timeout -traces) - It will reduce the number of sleep-wake cycles between already scheduled events such as interrupts and tx, hence improving performance (less delay in switching between RX and TX) Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 6b21a2cd315e2e56a1748bd3ef9d910fe4f2e711 Author: Juuso Oikarinen Date: Tue Nov 17 18:48:30 2009 +0200 wl1251: Configure beacon filtering on if PSM used Enable beacon filtering when PSM is enabled Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 287f6f9672635f4e948c0aa96754a2ce448ebdb2 Author: Juuso Oikarinen Date: Tue Nov 17 18:48:23 2009 +0200 wl1251: Enable beacon filtering with the stack Enable beacon filtering with the mac80211 stack. Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 474c48c9f2118e637477b3b1c70003cb5cbda983 Author: Juuso Oikarinen Date: Tue Nov 17 18:48:14 2009 +0200 wl1251: Add connection monitoring configuration Add configuration for connection monitor (number of allowed beacons, and timeout after last received beacon.) Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 15295380f45aa0d35665f6e5596ac98c081d95b9 Author: Thomas Klute Date: Tue Nov 17 11:58:18 2009 +0100 ar9170: Add support for D-Link DWA 160 A2 At least two revisions of the D-Link DWA 160 exist, called A1 and A2. A1 (USB-ID 07d1:3c10) is already listed in usb.c as D-Link DWA 160A. A2 (USB-ID 07d1:3a09) works if added to ar9170_usb_ids. I didn't do much testing until now, but I was able to connect to APs using WPA or WEP and transmit data. Summary: * Add model revision number to the comment for D-Link DWA 160 A1 (07d1:3c10) * Add support for D-Link DWA 160 A2 (07d1:3a09) Signed-off-by: Thomas Klute Signed-off-by: John W. Linville commit 2edcb7ff8d7d84a3797bcecc7094da0fa9828a16 Author: Xose Vazquez Perez Date: Tue Nov 17 13:43:16 2009 +0100 rt2x00: more ids to rt2800usb.c taken from windows inf file (09/15/2009, 1.04.07.0000) Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 15ff63653e507ec928a4a4386405a82446e096b1 Author: Johannes Berg Date: Tue Nov 17 13:34:04 2009 +0100 mac80211: use fixed broadcast address The netdev broadcast address cannot change from all-ones so there's no need to use it; we can instead hard-code it. Since we already have an instance in tkip.c, which will be shared if it is marked static const, doing this reduces text size at no data/bss cost. The real motivation for this is, of course, the desire to get rid of almost all uses of netdevs in mac80211 so that auditing their use becomes easier. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d84f323477260e773d5317ad7cbe50f76115cb47 Author: Johannes Berg Date: Mon Nov 16 23:20:41 2009 +0100 mac80211: remove dev_hold/put calls If we move the rcu sections a little, there's no need to touch the device refcount. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5f0b7de59fae1e57b2481c9756cd4a0f6308530f Author: Johannes Berg Date: Mon Nov 16 13:58:21 2009 +0100 mac80211: improve rate handling Some code currently assumes that there's a valid rate pointer even in the HT case, but there can't be. To reduce reliance on that, remove the rate pointer from the RX data struct and pass it where it's needed. Also, for now, in radiotap announce HT frames as having a DYN channel type, and remove their rate from cooked monitor radiotap completely (it isn't present in the regular monitor radiotap either.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eb9fb5b8883535c27d2cc5d4e4dbab3532f97b18 Author: Johannes Berg Date: Mon Nov 16 13:58:20 2009 +0100 mac80211: trim RX data The RX data contains the netdev, which is duplicated since we have the sdata, and the RX status pointer, which is duplicate since we have the skb. Remove those two fields to have fewer fields that depend on each other and simply load them as necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a02ae758e8780d737b6d0135d6292bb3043e7eea Author: Johannes Berg Date: Mon Nov 16 12:00:40 2009 +0100 mac80211: cleanup reorder buffer handling The reorder buffer handling is written in a quite peculiar style (especially comments) and also has a quirk where it invokes the entire reorder code in ieee80211_sta_manage_reorder_buf() for just a handful of lines in it with a special argument. Split out ieee80211_release_reorder_frames which can then be invoked from BAR handling and other reordering code, clean up code and comments and remove function arguments that are now unused from ieee80211_sta_manage_reorder_buf(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit af2ced6a32dafb71d21b726c06df57fc574093d7 Author: Johannes Berg Date: Mon Nov 16 12:00:39 2009 +0100 mac80211: push michael MIC report after DA check When we receive a michael MIC failure report from the hardware we currently do not check whether it is actually reported on a frame that is destined to us. It shouldn't be possible to get a michael MIC failure report on other frames, but it also doesn't hurt to verify. Also, since we then don't need the station struct that early, move looking it up a bit later in the RX path. Finally, while at it, a few code cleanups in the area. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c951ad3550ab40071bb0f222ba6125845769c08a Author: Johannes Berg Date: Mon Nov 16 12:00:38 2009 +0100 mac80211: convert aggregation to operate on vifs/stas The entire aggregation code currently operates on the hw pointer and station addresses, but that needs to change to make stations purely per-vif; As one step preparing for that make the aggregation code callable with the station, or by the combination of virtual interface and station address. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b53fde8ac40c4321389def14d7f4a9e14092fd3 Author: Johannes Berg Date: Mon Nov 16 12:00:37 2009 +0100 mac80211: let sta_info_get_by_idx get sta by sdata Instead of filtering by device, directly look up by sdata. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb53a150caa3068ce366b75dd354718145f5e893 Author: Sujith Date: Mon Nov 16 11:40:57 2009 +0530 ath9k: Fix bug in initializing chain masks Check for AR5416 ver 1.0 before calibrating 3 chains for multi-chain. This is a WAR for calibration failure. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 201cd6cce4f67ccead6240eb04ffa2f311661174 Author: Sujith Date: Mon Nov 16 11:40:53 2009 +0530 ath9k: Remove a few unused functions ATH9K_ANT_VARIABLE is the default diversity control used. Consequently ath9k_hw_decrease_chain_power() does nothing. ath9k_hw_setantennaswitch() is unused too. Also, gbeacon_rate is unused. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7c82a186b48882c2a21a3eda25f3dab2d6040a09 Author: Sujith Date: Mon Nov 16 11:40:51 2009 +0530 ath9k: Remove a few unused variables axq_linkbuf, axq_aggr_depth, axq_lastdsWithCTS and axq_gatingds are unused. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c6089ccc22377bcbf055ece6a45b931a02630824 Author: Sujith Date: Mon Nov 16 11:40:48 2009 +0530 ath9k: Cleanup bss_info_changed callback * Remove a code chunk dealing with operating mode changes. As noted, all such policy changes are to be done in add_interface. * Remove pointless check for empty BSSID. Also, remove mode checks - mac80211 does all the needed checks. * Handle enabling/disabling beacon transmission properly. * Handle beacon interval changes for AP mode. The original code depended on config_interface() to update the HW TSF. Since that callback has been removed, handle it properly. * Remove unneeded code dealing with key/privacy. * Set the chainmasks to 1x1 for IBSS when the BSSID is set. This was happening uncondionally before. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 827e69bf6734193d7a6f47f0435db7ebef1b636e Author: Felix Fietkau Date: Sun Nov 15 23:09:25 2009 +0100 ath9k: get rid of tx_info_priv This patch removes the need for separately allocated private tx info data in ath9k and brings the driver one small step closer to using the mac80211 rate control API properly. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 599bf6a4d64d8399e99514e0e1ef02e97e43238f Author: Felix Fietkau Date: Sun Nov 15 23:07:30 2009 +0100 mac80211: add the total ampdu length to tx info Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 3e5b1101f59fb3e17a8eb32cca100ae07fd7100e Author: Felix Fietkau Date: Sat Nov 14 03:29:38 2009 +0100 mac80211: reduce the amount of unnecessary traffic on cooked monitor interfaces In order to handle association and authentication in AP mode, hostapd needs access to the tx status info of its own frames through a cooked monitor interface. Without this patch the cooked monitor interfaces also passed on tx status information for packets from other virtual interfaces. This creates a significant performance issue on embedded system. Hostapd tries to work around this by installing a Linux Socket Filter that only captures the frames it's interested in, however data duplication and socket filter matching still uses up enough CPU cycles to be very noticeable on small systems. This patch ensures that tx status information of non-injected frames does not make it to cooked monitor interfaces. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7d57b73a73040525dfe22c56d823f146711ff971 Author: Christian Lamparter Date: Sat Nov 14 00:57:58 2009 +0100 ar9170: do not discard valuable DUPOFDM frames This patch enables the driver to process all incoming dupofdm-modulated frames when operating in HT40 mode. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9e595d24b13a021ead42bedd5edba8801b0da6cd Author: Ben Cahill Date: Fri Nov 13 11:56:38 2009 -0800 iwlwifi: Add comments about CSR registers Also regroup CSR_EEPROM and CSR_OTP bit field definitions. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6ab10ff8738dfb098fd32132b7ebcf5cdb43ebde Author: Johannes Berg Date: Fri Nov 13 11:56:37 2009 -0800 iwlwifi: handle unicast PS buffering Using the new mac80211 functionality, this makes iwlwifi handle unicast PS buffering correctly. The device works like this: * when a station goes to sleep, the microcode notices this and marks the station as asleep * when the station is marked asleep, the microcode refuses to transmit to the station and rejects all frames queued to it with the failure status code TX_STATUS_FAIL_DEST_PS (a previous patch handled this correctly) * when we need to send frames to the station _although_ it is asleep, we need to tell the ucode how many, and this is asynchronous with sending so we cannot just send the frames, we need to wait for all other frames to be flushed, and then update the counter before sending out the poll response frames. This is handled partially in the driver and partially in mac80211. In order to do all this correctly, we need to * keep track of how many frames are pending for each associated client station (avoid doing it for other stations to avoid the atomic ops) * tell mac80211 that we driver-block the PS status while there are still frames pending on the queues, and once they are all rejected (due to the dest sta being in PS) unblock mac80211 Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9bb487b406692e172b15eba58de7d69358ac2005 Author: Johannes Berg Date: Fri Nov 13 11:56:36 2009 -0800 iwlwifi: add sleep_tx_count ucode station API This field was marked as reserved before since we didn't use it, but is present in all released firmwares afaict. We're going to need it soon, so add it now. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c397bf15a6067ecf39f8a771907f4721a64fd61f Author: Johannes Berg Date: Fri Nov 13 11:56:35 2009 -0800 iwlwifi: report PS filtered status When a frame is sent to a sleeping station, the microcode reports TX_STATUS_FAIL_DEST_PS as its status -- we need to translate that to the flag that mac80211 expects. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f513dfff9622ac72c461770e1fa01d291ba6ba5a Author: Daniel C Halperin Date: Fri Nov 13 11:56:34 2009 -0800 iwlwifi: make iwlwifi send beacons Handle BSS_CHANGED_BEACON_ENABLED to enable the sending of beacons. Also set the correct HT RXON and QoS config. Signed-off-by: Daniel C Halperin Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 47ff65c48748086a5e9cde6032451691a28ab19f Author: Daniel C Halperin Date: Fri Nov 13 11:56:33 2009 -0800 iwlwifi: fix bugs in beacon configuration When sending beacon commands to the uCode, we must inform it of the offset in the beacon frame of the TIM Element so it can transmit packets from the correct queue. This functionality is implemented in iwl_set_beacon_tim(). Fix a bug setting the rate_n_flags for the beacon packet. First, it should not use the station table's rate (it's a management frame), and second it needs to properly configure the TX antennas. Finally, also, clean up and comment relevant functions. Signed-off-by: Daniel C Halperin Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e43ab94d2ea01a74e60c3423334687c2156c39b2 Author: Reinette Chatre Date: Fri Nov 13 11:56:32 2009 -0800 iwlagn: power up device before initializing EEPROM A recent change optimized the power usage by the device by only powering it up during EEPROM load if it is required (for OTP devices). This change causes an error on the 1000 series devices during module load. The error looks as follows: [ 1624.024524] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27kds [ 1624.024527] iwlagn: Copyright(c) 2003-2009 Intel Corporation [ 1624.024711] iwlagn 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [ 1624.024749] iwlagn 0000:01:00.0: setting latency timer to 64 [ 1624.024909] iwlagn 0000:01:00.0: Detected Intel Wireless WiFi Link 1000 Series BGN REV=0x6C [ 1624.081263] iwlagn 0000:01:00.0: MAC is in deep sleep!. CSR_GP_CNTRL = 0x080003D8 [ 1624.092967] iwlagn 0000:01:00.0: OTP is empty [ 1624.092988] iwlagn 0000:01:00.0: Unable to init EEPROM [ 1624.093033] iwlagn 0000:01:00.0: PCI INT A disabled [ 1624.093065] iwlagn: probe of 0000:01:00.0 failed with error -2 Adding a dump_stack() to where that error is printed shows the following: [ 1624.024524] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27kds [ 1624.024527] iwlagn: Copyright(c) 2003-2009 Intel Corporation [ 1624.024711] iwlagn 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [ 1624.024749] iwlagn 0000:01:00.0: setting latency timer to 64 [ 1624.024909] iwlagn 0000:01:00.0: Detected Intel Wireless WiFi Link 1000 Series BGN REV=0x6C [ 1624.081263] iwlagn 0000:01:00.0: MAC is in deep sleep!. CSR_GP_CNTRL = 0x080003D8 [ 1624.081263] Pid: 3073, comm: work_for_cpu Tainted: G W 2.6.31.5 #4 [ 1624.081263] Call Trace: [ 1624.081263] [] T.726+0x22b/0x420 [iwlcore] [ 1624.081263] [] iwlcore_eeprom_acquire_semaphore+0x8a/0x190 [iwlcore] [ 1624.081263] [] ? __kmalloc+0x194/0x1c0 [ 1624.081263] [] ? iwlcore_eeprom_verify_signature+0x25/0xf0 [iwlcore] [ 1624.081263] [] iwl_eeprom_init+0x107/0xf40 [iwlcore] [ 1624.081263] [] ? iwl_prepare_card_hw+0x11c/0x470 [iwlagn] [ 1624.081263] [] ? pci_bus_write_config_byte+0x64/0x80 [ 1624.081263] [] iwl_pci_probe+0x308/0xac0 [iwlagn] [ 1624.081263] [] ? do_work_for_cpu+0x0/0x30 [ 1624.081263] [] local_pci_probe+0x12/0x20 [ 1624.081263] [] do_work_for_cpu+0x13/0x30 [ 1624.081263] [] kthread+0xa6/0xb0 [ 1624.081263] [] child_rip+0xa/0x20 [ 1624.081263] [] ? kthread+0x0/0xb0 [ 1624.081263] [] ? child_rip+0x0/0x20 [ 1624.092967] iwlagn 0000:01:00.0: OTP is empty [ 1624.092988] iwlagn 0000:01:00.0: Unable to init EEPROM [ 1624.093033] iwlagn 0000:01:00.0: PCI INT A disabled [ 1624.093065] iwlagn: probe of 0000:01:00.0 failed with error -2 We know that the routines in this trace, iwlcore_eeprom_acquire_semaphore and iwlcore_eeprom_verify_signature, only access CSR registers and thus do not need the device to be awake if it is EEPROM. But for OTP it is required for the device to be awake to read these registers. Ensure device is awake before accessing these registers. Signed-off-by: Reinette Chatre Acked-by: Ben Cahill Signed-off-by: John W. Linville commit 98a7b43be19faa7b92576c62614c45e38517331c Author: Wey-Yi Guy Date: Fri Nov 13 11:56:31 2009 -0800 iwlwifi: align tx/rx statistics debugfs format Align the format for tx_statistics and rx_statistics debugfs output for better readability Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ae16fc3c3184bf27f0462e1951df918122498829 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:30 2009 -0800 iwlwifi: eliminate the possible 1/2 dBm tx power loss in 6x00 & 6x50 series In both 6x00 and 6x50 series, the enhanced/extended tx power table in EEPROM is used to set the max. tx power limit. This new tx power table is in 1/2 dBm format, which creates an issue of possibility of 1/2 dBm loss when driver set the tx power limit; because of driver keep track and report the tx power in dBm format. In order to prevent the 1/2 dBm loss, keep track of the true max tx power in 1/2 dBm format in driver; do the comparison and adjust the tx power if needed when send tx power command to uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4d6ccbf57ff7653217b7149976aa31e19f996544 Author: Ben Cahill Date: Fri Nov 13 11:56:29 2009 -0800 iwl3945: Reset saved POWER_TABLE_CMD in "up" Power-saving logic will not re-issue a POWER_TABLE_CMD if a new command matches the prior one. This can be bad if we re-start the device due to e.g. uCode error; the new POWER_TABLE_CMD (required to invoke power-saving) may match the prior POWER_TABLE_CMD issued before the uCode error. Ensure the POWER_TABLE_CMD is sent to device when uCode is up. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ef8d5529b015d4c5db7fad1adfc91edfd5abad56 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:28 2009 -0800 iwlwifi: update reply_statistics_cmd with 'clear' parameter When issue REPLY_STATISTICS_CMD to uCode, two possible flag can be set in the configuration flags bit 0: Clear statistics 0: Do not clear Statistics counters 1: Clear to zero Statistics counters Allow "clear" parameter to be set from the caller. Add debugfs file to clear the statistics counters to help monitor and debug the uCode behavior. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7d2ed110a80991849a2824a6dc3c063ffca9dbe4 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:27 2009 -0800 iwlwifi: remove external reference for non-exist data structure Number of data structure for 6000 series no longer in production, the data structure already being removed; also need to remove the external reference define in iwl-dev.h Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8a9a159bf907ef02aca2e316025e427f315e82a Author: Wey-Yi Guy Date: Fri Nov 13 11:56:26 2009 -0800 iwlwifi: drop non-production PCI-IDs for 6x50 series drop the non-production PCI-IDs for 6x50 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d7d144012a2949cf7f8eed758013adadf5e5a82e Author: Wey-Yi Guy Date: Fri Nov 13 11:56:25 2009 -0800 iwlwifi: remove unused parameter from iwl_channel_info Number of HT40 power parameters are not used; remove those from iwl_channel_info data structure Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 85bb174a386850c8a43e8d107af47de3c910be03 Author: Wey-Yi Guy Date: Fri Nov 13 11:56:24 2009 -0800 iwlwifi: disable coex until implementation ready for 6x50 Temporary disable the coex function for wifi/wimax for 6x50 series until the full implementation ready. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 85f0d9e87794818356146996826b829100daa6bc Author: Wey-Yi Guy Date: Fri Nov 13 11:56:23 2009 -0800 iwlwifi: validate enhanced tx power entry Validate enhanced tx power entry read from EEPROM before applying the tx power value. Different versions of EEPROM might contain different size of table; always a good idea to make sure the entry is valid before applying to the targeted channel. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 821d35a56044e522e811f6a1e8632cc230360280 Author: Alan Cox Date: Wed Nov 18 14:39:51 2009 +0000 selinux: Fix warnings scripts/selinux/genheaders/genheaders.c:20: warning: no previous prototype for ?usage? scripts/selinux/genheaders/genheaders.c:26: warning: no previous prototype for ?stoupperx? Signed-off-by: Alan Cox Acked-by: WANG Cong Signed-off-by: James Morris commit af0940dac37545b1e7900b19c464fb6367d3f82f Author: Akinobu Mita Date: Fri Nov 13 12:53:08 2009 +0100 ieee1394: Use hweight32 Use hweight32 instead of counting for each bit Signed-off-by: Akinobu Mita Signed-off-by: Stefan Richter (add required include) commit dfef948ed2ba69cf041840b5e860d6b4e16fa0b1 Merge: ea31ba3 c85e9d7 Author: David S. Miller Date: Wed Nov 18 10:55:32 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit ea31ba359c55e0734ff895692185d4c50cf0c537 Author: Julia Lawall Date: Wed Nov 18 08:26:02 2009 +0000 drivers/net/wireless/rtl818x: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 8fbd90b0612cca7cd9a29df59b69502a841bebf8 Author: Julia Lawall Date: Wed Nov 18 08:25:43 2009 +0000 drivers/net/wireless/p54: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit d20a80f0e6eb9a4f31489a0518a9ba0754eeee12 Author: Julia Lawall Date: Wed Nov 18 08:25:25 2009 +0000 drivers/net/wireless/iwlwifi: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit fe4eb54845fff09ec01b8421f53f92e08b67229c Author: Julia Lawall Date: Wed Nov 18 08:24:50 2009 +0000 drivers/net/adm8211.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit d8bda9f12d5db160b594ce36659434620e19a363 Author: Julia Lawall Date: Wed Nov 18 08:24:30 2009 +0000 drivers/net/wan: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 1ede9b52fa911c9a523cf6bc40b5a2b134db957c Author: Julia Lawall Date: Wed Nov 18 08:24:13 2009 +0000 drivers/net/via-velocity.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 767813828f262679f1d9ed04deefb2e2f0768d7d Author: Julia Lawall Date: Wed Nov 18 08:23:53 2009 +0000 drivers/net/via-rhine.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit aa36ab8edb8a7e7be1f4cf99d0743e58e6249fb0 Author: Julia Lawall Date: Wed Nov 18 08:23:34 2009 +0000 drivers/net/typhoon.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a974a679d252ed9629061b2a29dc639f4557ca70 Author: Julia Lawall Date: Wed Nov 18 08:23:17 2009 +0000 drivers/net/smsc9420.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 91dcbf36f77c3d563e844fe0ed52ae896654ca7c Author: Julia Lawall Date: Wed Nov 18 08:23:00 2009 +0000 drivers/net/r6040.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit c2f379b2f8cf59e6bff4d028949a0273732460aa Author: Julia Lawall Date: Wed Nov 18 08:22:44 2009 +0000 drivers/net/pppol2tp.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 6cc93183eef9ba0eb6e9989c2e3744904287a95e Author: Julia Lawall Date: Wed Nov 18 08:22:05 2009 +0000 drivers/net/irda: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 90145c9cae26002ebfb61f6566f6f15ca448f5d3 Author: Julia Lawall Date: Wed Nov 18 08:21:45 2009 +0000 drivers/net/ipg.c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit dddcb445a33c80bca11a6566364935e681c85809 Author: Julia Lawall Date: Wed Nov 18 08:21:04 2009 +0000 drivers/net: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 4c9ba61e9e0212fd79da9a26f7b3d47de4a56a24 Author: Julia Lawall Date: Wed Nov 18 08:20:44 2009 +0000 drivers/net/can: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 9aff7e922b852036d864d039ce13ae1e38418b73 Author: Julia Lawall Date: Wed Nov 18 10:47:03 2009 -0800 drivers/net/atl1c: remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit eeb74a9d45f781ec6f47b9e0a75a6a427b53f165 Author: Rémi Denis-Courmont Date: Wed Nov 18 10:08:26 2009 -0800 Phonet: convert devices list to RCU Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 6d4561110a3e9fa742aeec6717248a491dfb1878 Author: Eric W. Biederman Date: Mon Nov 16 03:11:48 2009 -0800 sysctl: Drop & in front of every proc_handler. For consistency drop & in front of every proc_handler. Explicity taking the address is unnecessary and it prevents optimizations like stubbing the proc_handlers to NULL. Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Joe Perches Signed-off-by: Eric W. Biederman commit b4e818768d50a5b7aa1635676839682bcf0691b6 Author: Takashi Iwai Date: Wed Nov 18 17:20:24 2009 +0100 ALSA: hda - Fix mute-LED sync on HP laptops with IDT92HD83xxx codecs The mute-LED isn't synchronized with the actual mute state on some HP laptops with IDT 92HD83xxx codecs. A similar hack using check_power_status callback is added for this codec, too. Signed-off-by: Takashi Iwai commit 86926d0096279b9739ceeff40f68d3c33b9119a9 Author: Eric W. Biederman Date: Mon Nov 16 02:40:01 2009 -0800 sysctl: Remove CTL_NONE and CTL_UNNUMBERED Now that the sysctl structures no longer have a ctl_name field there is no reason to retain the definitions for CTL_NONE and CTL_UNNUMBERED, or to explain their historic usage. Signed-off-by: Eric W. Biederman commit 8747d793fc5c4d3e4decd41d55f6dc24498dd5f5 Author: Stanislaw Gruszka Date: Tue Nov 17 14:14:12 2009 -0800 itimers: Fix racy writes to cpu_itimer fields incr_error and error fields of struct cpu_itimer are used when calculating next timer tick in check_cpu_itimers() and should not be modified without tsk->sighand->siglock taken. Signed-off-by: Stanislaw Gruszka LKML-Reference: <1253802903-979-1-git-send-email-sgruszka@redhat.com> Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 60a0a52df149286a25fddf9b2d0cfe77cf0bc516 Author: Eric W. Biederman Date: Mon Nov 16 02:30:16 2009 -0800 sysctl: kill dead ctl_handler definitions. When removing the sysctl strategy routines I overlooked their definitions in sysctl.h. So remove those unnecessary definitions now. Signed-off-by: Eric W. Biederman commit 41b51dd47ea7c406a8d49b97804e8acec9dadaed Merge: 1452556 bab0212 Author: Mark Brown Date: Wed Nov 18 13:54:51 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 2ea6dec4a22a6f66f6633876212fd4d195cf8277 Author: Rusty Russell Date: Tue Nov 17 14:27:27 2009 -0800 generic-ipi: Add smp_call_function_any() Andrew points out that acpi-cpufreq uses cpumask_any, when it really would prefer to use the same CPU if possible (to avoid an IPI). In general, this seems a good idea to offer. [ tglx: Documented selection preference and Inlined the UP case to avoid the copy of smp_call_function_single() and the extra EXPORT ] Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Venkatesh Pallipadi Cc: Len Brown Cc: Zhao Yakui Cc: Dave Jones Cc: Thomas Gleixner Cc: Mike Galbraith Cc: "Zhang, Yanmin" Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 1452556bebc302121eea5dfb3cbd464824406bb8 Merge: 57512c6 f9ede4e Author: Mark Brown Date: Wed Nov 18 13:42:05 2009 +0000 Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.33 commit 57512c6432783c9695ef54f875f705584c65c733 Author: Troy Kisky Date: Mon Nov 16 16:52:31 2009 -0700 ASoC: DaVinci: remove requirement that dma_params is 1st in structure Remove requirement that dma_params is 1st in the structures davinci_audio_dev and davinci_mcbsp_dev. Signed-off-by: Troy Kisky Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 357a1db94ecc5b3d605574b164d288cd7dbf8dbd Author: Jassi Brar Date: Tue Nov 17 16:54:03 2009 +0900 ASoC: Added the CPU driver for PCM controllers Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit acf1aef9ecb289f7ed42b25ed55463b2cbb48ce2 Author: Jassi Brar Date: Tue Nov 17 16:53:56 2009 +0900 ARM: S3C64XX: Defined PCM controller platform devices Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 07e74c0ac8f1fdb197e24bbbd5aadfa0c430a95c Author: Jassi Brar Date: Tue Nov 17 16:53:50 2009 +0900 ARM: S3C64XX: Added platform data header Many SoCs have their I2S pins MUXed with other functions. So we need to pass a callback for driver to configure the pins appropriately. Hence, the need of platform data and this header. As and when needed new callbacks and structure pointers maybe added to this header. Signed-off-by: Jassi Brar Acked-by: Ben Dooks Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 93f85130e1e9b03cded7bfe1383919f421e479b4 Author: Jassi Brar Date: Tue Nov 17 16:53:38 2009 +0900 ARM: S3C64XX: Define PCM Controller base registers Signed-off-by: Jassi Brar Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d3ff5a3e610d62d9cdad5b7d53749c9381e244ed Author: Jassi Brar Date: Tue Nov 17 16:53:31 2009 +0900 ASoC: Rename 's3c24xx-pcm' driver to 's3c-dma' Making room for namespace for the PCM Controller driver the platform driver(s3c24xx-pcm) has been renamed to SoC agnostic name 's3c-dma'. Signed-off-by: Jassi Brar Acked-by: Ben Dooks Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit faa31776e4c799d631d8cd3a13dd50cd95b0875e Author: Jassi Brar Date: Tue Nov 17 16:53:23 2009 +0900 ASoC: Rename s3c24xx_pcm prefix to s3c_dma The s3c24xx_pcm prefix for the soc_platform is inappropriate when some Samsung SoCs have PCM controllers which will eventually have drivers and hence namespace ambiguities. To resolve naming ambiguities in future the following have been renamed in order 1) s3c24xx_pcm_dma_params -> s3c_dma_params 2) s3c24xx_pcm_preallocate_dma_buffer -> s3c_preallocate_dma_buffer 3) s3c24xx_pcm_dmamask -> s3c_dma_mask 4) s3c24xx_pcm_XXX -> s3c_dma_XXX Signed-off-by: Jassi Brar Acked-by: Ben Dooks Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 8af3aeb498197f6fdf5acc913ffe8a392cb921c9 Author: Takashi Iwai Date: Wed Nov 18 14:23:37 2009 +0100 ALSA: hda - Fix detection of dual headphones The dual-headphone mode with STAC/IDT codecs is useful only for machines that have two (or more) built-in headphones. But, some HP laptops give multiple headphone pin configs, one for the built-in and another for the separate (likely a docking station) one. This results in a missing speaker volume control. This patch adds more check for the dual-headphone mode to avoid this problem. Signed-off-by: Takashi Iwai commit 89a7183d088708ac1ebd0bfc2a939c59b24fec44 Author: Thomas Gleixner Date: Tue Nov 17 12:50:40 2009 +0000 sparc: Fixup last users of irq_chip->typename The typename member of struct irq_chip was kept for migration purposes and is obsolete since more than 2 years. Fix up the leftovers. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit d90310243fd750240755e217c5faa13e24f41536 Author: Octavian Purdila Date: Wed Nov 18 02:36:59 2009 +0000 net: device name allocation cleanups Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 7adcdb4c1142dc446ab9d4c51ab09cc87e0749c9 Author: Andrew Morton Date: Tue Nov 17 12:46:44 2009 +0000 drivers/atm/solos-pci.c: fix warning/bug, clean up code drivers/atm/solos-pci.c: In function 'flash_upgrade': drivers/atm/solos-pci.c:528: warning: 'fw_name' may be used uninitialized in this function Cc: Chas Williams Cc: David Woodhouse Cc: Nathan Williams Cc: David S. Miller Signed-off-by: Andrew Morton Acked-By: David Woodhouse Signed-off-by: David S. Miller commit 63ae93a19094d88c8ca62543586b20e3a7ff7637 Author: Ron Mercer Date: Tue Nov 17 11:10:40 2009 +0000 qlge: Bonding fix for mode 6. Allow MAC address to be changed even if device is not up. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit f99189b186f3922ede4fa33c02f6edc735b8c981 Author: Eric Dumazet Date: Tue Nov 17 10:42:49 2009 +0000 netns: net_identifiers should be read_mostly Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 615534bc490606685621d63a40c0670d0f049d86 Author: Christian Pellegrin Date: Tue Nov 17 06:20:44 2009 +0000 can: fix setting mcp251x bit timing on open Signed-off-by: Christian Pellegrin Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 9a4e328eb2bfa23b160558cff96e17ffa65ea5cf Author: Vladislav Zolotarov Date: Tue Nov 17 06:16:35 2009 +0000 bnx2x: Don't set netdev->trans_start Setting dev->trans_start caused spurious watchdog warnings. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e014debecd3ee3832e6476b3a9c948edfcfd1250 Author: Eric Dumazet Date: Tue Nov 17 05:59:21 2009 +0000 linkwatch: linkwatch_forget_dev() to speedup device dismantle Herbert Xu a écrit : > On Tue, Nov 17, 2009 at 04:26:04AM -0800, David Miller wrote: >> Really, the link watch stuff is just due for a redesign. I don't >> think a simple hack is going to cut it this time, sorry Eric :-) > > I have no objections against any redesigns, but since the only > caller of linkwatch_forget_dev runs in process context with the > RTNL, it could also legally emit those events. Thanks guys, here an updated version then, before linkwatch surgery ? In this version, I force the event to be sent synchronously. [PATCH net-next-2.6] linkwatch: linkwatch_forget_dev() to speedup device dismantle time ip link del eth3.103 ; time ip link del eth3.104 ; time ip link del eth3.105 real 0m0.266s user 0m0.000s sys 0m0.001s real 0m0.770s user 0m0.000s sys 0m0.000s real 0m1.022s user 0m0.000s sys 0m0.000s One problem of current schem in vlan dismantle phase is the holding of device done by following chain : vlan_dev_stop() -> netif_carrier_off(dev) -> linkwatch_fire_event(dev) -> dev_hold() ... And __linkwatch_run_queue() runs up to one second later... A generic fix to this problem is to add a linkwatch_forget_dev() method to unlink the device from the list of watched devices. dev->link_watch_next becomes dev->link_watch_list (and use a bit more memory), to be able to unlink device in O(1). After patch : time ip link del eth3.103 ; time ip link del eth3.104 ; time ip link del eth3.105 real 0m0.024s user 0m0.000s sys 0m0.000s real 0m0.032s user 0m0.000s sys 0m0.001s real 0m0.033s user 0m0.000s sys 0m0.000s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e2ce146848c81af2f6d42e67990191c284bf0c33 Author: Octavian Purdila Date: Mon Nov 16 13:49:49 2009 +0000 ipv4: factorize cache clearing for batched unregister operations Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 395264d509aec45149745843d9a737140a1ece16 Author: Octavian Purdila Date: Mon Nov 16 13:49:35 2009 +0000 net: introduce NETDEV_UNREGISTER_PERNET This new event is called once for each unique net namespace in batched unregister operations (with the argument set to a random device from that namespace) and once per device in non-batched unregister operations. It allows us to factorize some device unregister work such as clearing the routing cache. Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit a1afb6371bb5341057056194d1168753f6d77242 Author: Alexey Dobriyan Date: Fri Aug 28 22:19:33 2009 +0400 genirq: switch /proc/irq/*/spurious to seq_file [ tglx: compacted it a bit ] Signed-off-by: Alexey Dobriyan LKML-Reference: <20090828181743.GA14050@x200.localdomain> Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit ba5ea951d0b5e5896180e21fe07f228d2b3b0e63 Author: Stanislaw Gruszka Date: Tue Nov 17 14:14:13 2009 -0800 posix-cpu-timers: optimize and document timer_create callback We have already new_timer initialized to all-zeros hence in function initializations are not needed. Document function expectation about new_timer argument as well. Signed-off-by: Stanislaw Gruszka Cc: johnstul@us.ibm.com Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 8e1a928a2ed7e8d5cad97c8e985294b4caedd168 Author: H Hartley Sweeten Date: Fri Oct 16 18:19:01 2009 -0400 clockevents: Add missing include to pacify sparse Include "tick-internal.h" in order to pick up the extern function prototype for clockevents_shutdown(). This quiets the following sparse build noise: warning: symbol 'clockevents_shutdown' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten LKML-Reference: Reviewed-by: Yong Zhang Cc: johnstul@us.ibm.com Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 070e5c3f9989a72076e83fdd5ede3f0f3eb17264 Author: Thomas Gleixner Date: Wed Nov 18 12:27:47 2009 +0100 x86: vmiclock: Fix printk format clockevents.mult became u32. Fix the printk format. Pointed-out-by: Randy Dunlap Signed-off-by: Thomas Gleixner commit 6dbfe5a57db3564adf7b2a65068e40f1b4a0d2db Author: Thomas Gleixner Date: Tue Nov 17 18:27:18 2009 +0100 x86: Fixup last users of irq_chip->typename The typename member of struct irq_chip was kept for migration purposes and is obsolete since more than 2 years. Fix up the leftovers. Signed-off-by: Thomas Gleixner commit 3f92a8bd5fb13e7e2505c65d1548910eaa843024 Author: Uwe Kleine-König Date: Fri Nov 13 21:25:01 2009 +0100 imx: copy constants from mx3x.h to mx35.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit ebca1a5543c70931eeab91751fe53f67b3d0e9c6 Author: Uwe Kleine-König Date: Fri Nov 13 21:24:48 2009 +0100 imx: copy constants from mx3x.h to mx31.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit 2ae959f420ac656d2c715e074f6494f1230af2ff Author: Uwe Kleine-König Date: Fri Nov 13 21:31:31 2009 +0100 imx: copy constants from mx2x.h to mx27.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit 4c12b3c2e399a8838875e46cbb458ce6488be239 Author: Uwe Kleine-König Date: Fri Nov 13 21:23:04 2009 +0100 imx: copy constants from mx2x.h to mx21.h using the appropriate namespace Signed-off-by: Uwe Kleine-König commit c8e5db0809e51b496f4a6ea11b411352011bda8c Author: Uwe Kleine-König Date: Thu Nov 12 21:51:55 2009 +0100 imx: reformat mx25.h to match the other platform includes Signed-off-by: Uwe Kleine-König commit ae55326a00a6e3cf35e0469b5353aa171aee5407 Author: Uwe Kleine-König Date: Thu Nov 12 21:47:57 2009 +0100 imx: add namespace prefixes for symbols in mx35.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit 4f683a046cb45f74610fb790e6affa7604636a9f Author: Uwe Kleine-König Date: Thu Nov 12 21:43:39 2009 +0100 imx: add namespace prefixes for symbols in mx31.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit e4d0f7c71d60f7a783edd6dcc97423fcc9973aaf Author: Uwe Kleine-König Date: Tue Nov 10 21:31:30 2009 +0100 imx: add namespace prefixes for symbols in mx3x.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit 26b10e744322da31160a81edd4e6462ac581da91 Author: Uwe Kleine-König Date: Tue Nov 10 15:26:21 2009 +0100 imx: add namespace prefixes for symbols in mx27.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit c112931377589d751c012fa5c914c17b5d426be1 Author: Uwe Kleine-König Date: Tue Nov 10 14:59:54 2009 +0100 imx: add namespace prefixes for symbols in mx21.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit b9fc90a48a3d1794443e095d8585dcaeafb2195f Author: Uwe Kleine-König Date: Tue Nov 10 11:34:22 2009 +0100 imx: add namespace prefixes for symbols in mx2x.h The old names are still defined using the new names. Signed-off-by: Uwe Kleine-König commit e676756fa43e04166111e4729c62bb4fdf477255 Author: Uwe Kleine-König Date: Tue Nov 10 10:20:30 2009 +0100 imx: reorder mx3x.h Signed-off-by: Uwe Kleine-König commit f73a42f7054b4ec7fab373789b7dae1e309f81a7 Author: Uwe Kleine-König Date: Tue Nov 10 10:18:08 2009 +0100 imx: reorder mx27.h Signed-off-by: Uwe Kleine-König commit 27085f25184ee5a206706dd5f734ade1d15551fa Author: Uwe Kleine-König Date: Tue Nov 10 10:15:13 2009 +0100 imx: reorder mx21.h Signed-off-by: Uwe Kleine-König commit 104071b6dcc66cd66db83231fd3bd58cd63e680d Author: Uwe Kleine-König Date: Tue Nov 10 10:14:34 2009 +0100 imx: reorder mx2x.h Signed-off-by: Uwe Kleine-König commit bec145ae6f6978f0319e5600a742f45f76ecc4dd Author: Dan Carpenter Date: Wed Nov 18 10:31:57 2009 +0200 ALSA: remove unnecessary null check This function is only called from snd_ctl_ioctl() and the file parameter can never be null so there is no need to check it here. We dereference file at the start of the function: struct snd_card *card = file->card; and it confuses static checkers to dereference a pointer before checking it. Signed-off-by: Dan Carpenter Signed-off-by: Takashi Iwai commit fccaf71011b171883efee5bae321eac4760584d1 Author: Eric Dumazet Date: Tue Nov 17 08:53:49 2009 +0000 macvlan: Precise RX stats accounting With multi queue devices, its possible that several cpus call macvlan RX routines simultaneously for the same macvlan device. We update RX stats counter without any locking, so we can get slightly wrong counters. One possible fix is to use percpu counters, to get precise accounting and also get guarantee of no cache line ping pongs between cpus. Note: this adds 16 bytes (32 bytes on 64bit arches) of percpu data per macvlan device. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9793241fe92f7d9303fb221e43fc598eb065f267 Author: Eric Dumazet Date: Tue Nov 17 04:53:09 2009 +0000 vlan: Precise RX stats accounting With multi queue devices, its possible that several cpus call vlan RX routines simultaneously for the same vlan device. We update RX stats counter without any locking, so we can get slightly wrong counters. One possible fix is to use percpu counters, to get precise accounting and also get guarantee of no cache line ping pongs between cpus. Note: this adds 16 bytes (32 bytes on 64bit arches) of percpu data per vlan device. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d83345adf96bc13a5e360f4649a2e68ef968dec0 Author: Eric Dumazet Date: Mon Nov 16 03:36:51 2009 +0000 net: add dev_txq_stats_fold() helper Some drivers ndo_get_stats() method need to perform txqueue stats folding. Move folding from dev_get_stats() to a new dev_txq_stats_fold() function Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 67f2db24fbfdb63495d995d6fbbbe42980004ee0 Author: Takashi Iwai Date: Wed Nov 18 08:37:59 2009 +0100 ALSA: opti-miro: Fix missing semicolon To fix a build error sound/isa/opti9xx/miro.c:1281: error: expected ';' before '}' token Signed-off-by: Takashi Iwai commit b038b0401f9697ee1d7df40021b96e7de0564938 Author: Stephen Rothwell Date: Tue Nov 17 23:04:59 2009 -0800 vmxnet3: using csum_ipv6_magic requires including net/ip6_checksum.h Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit d56757abc11a21996d9839c0d4e3b2c3666cd318 Author: Takashi Iwai Date: Wed Nov 18 08:00:14 2009 +0100 ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() Signed-off-by: Takashi Iwai commit 83d605fd63e704419ccb92d48b735c6890ce3d6a Author: Wu Fengguang Date: Wed Nov 18 12:38:08 2009 +0800 ALSA: hda - show EPSS capability in proc Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 81bf31e2d0a6a9f5d83da0a757f8ca03db908162 Author: Wu Fengguang Date: Wed Nov 18 12:38:07 2009 +0800 ALSA: intelhdmi - sticky channel count Don't change channel count if not necessary. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 5779191e0efd851fb0d54698c13cb4f5325caca6 Author: Wu Fengguang Date: Wed Nov 18 12:38:06 2009 +0800 ALSA: intelhdmi - sticky stream id and format We tracked down the first-0.5s-hdmi-audio-samples-lost problem to the AC_VERB_SET_CHANNEL_STREAMID command. It is suspected that many HDMI sinks need some time to adapt to the new state. The workaround is to avoid changing stream id/format whenever possible. Proposed by David. Signed-off-by: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 848de598eef9603d6f2c174f90fded4e63ac5e23 Author: Wu Fengguang Date: Wed Nov 18 12:38:05 2009 +0800 ALSA: intelhdmi - sticky infoframe Remember the active infoframe, so as to avoid stop/restart infoframe transmission when switching between audio clips of the same format. Proposed by Shang and David. CC: Shane W CC: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 978be6d711be237e0344eca21c3922ae88a240bc Author: Wu Fengguang Date: Wed Nov 18 12:38:04 2009 +0800 ALSA: intelhdmi - separate out infoframe checksum routine And make it right when called for more than one times. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 3f54aa5091f48e9d8ce6e99b248449d08acccb26 Author: Wu Fengguang Date: Wed Nov 18 12:38:03 2009 +0800 ALSA: intelhdmi - probe for monitor/eld presence at module init time This avoids lost of presence info on module reloading. The presence info used to be only updated at the (rare) hotplug events. Proposed by David, thanks! CC: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 864f92be7e8d4a0ba11d912e3f03d1a92a031dee Author: Wu Fengguang Date: Wed Nov 18 12:38:02 2009 +0800 ALSA: hda - introduce snd_hda_jack_detect() and snd_hda_pin_sense() This helps merge duplicate code. v2: add snd_hda_jack_detect() and comments recommended by Takashi. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 23ccc2bd246a5bdb1ac03dc9040a0585c1890ef3 Author: Wu Fengguang Date: Wed Nov 18 12:38:01 2009 +0800 ALSA: intelhdmi - export monitor-presence and ELD-valid status Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 1e7c10fefadb42d9300305c7de57bea365855e9b Author: Wu Fengguang Date: Wed Nov 18 12:38:00 2009 +0800 ALSA: intelhdmi - fix channel mapping slot mask Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 6f539a98614a014a7d6b64ab62b0dddb14e2d8cc Author: Wu Fengguang Date: Wed Nov 18 12:37:59 2009 +0800 ALSA: intelhdmi - fix audio infoframe fill size Reported-by: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit b67cad932c4e45edca2f4da2ee4f46001ba17363 Author: Krzysztof Helt Date: Tue Nov 17 18:35:41 2009 +0100 ALSA: opti-miro: use variables directly in the probe function Use the fm_port and mpu_port variables directly in a probe function. This completely eliminates a need to copy the fm_port value to the snd_miro structure. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit b753e03e5e7c6ee60e81cd6335c80dc26519f9d0 Author: Krzysztof Helt Date: Tue Nov 17 18:34:54 2009 +0100 ALSA: cs4236: update control names Update control names to be more closer to their meaning. Change the "Mono" name to the "Beep" as this line is usually used to forward the PC beeper signal to sound card's output. Update names for both cs423x and wss. Clean up cs4235 controls according to the cs4235 doc. Rename some of the cs4235 controls to be consistent with the cs4236's ones. Also, delete one misnamed cs4231 register define. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 508d85c2c6bc8cba53d2a54d9a306ad64a0a80bf Author: Yinghai Lu Date: Mon Nov 16 23:04:56 2009 -0800 x86: When cleaning MTRRs, do not fold WP into UC The current MTRR code treats WP as a form of UC. This really isn't desirable behaviour, except possibly in the case of severe MTRR shortage. Disable this, to allow legitimate uses of WP to remain unmolested. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin Cc: Linus Torvalds commit 638adb0561264a3360a53e93def62288c85d8373 Author: Steven Rostedt Date: Tue Nov 17 10:48:25 2009 -0500 tracing: Only print objcopy version warning once from recordmcount If the user has an older version of objcopy, that can not handle converting local symbols to global and vice versa, then some functions will not be part of the dynamic function tracer. The current code in recordmcount.pl will print a warning in this case. Unfortunately, there exists lots of files that may have this issue with older objcopys and this will cause a warning for every file compiled with this issue. This patch solves this overwhelming output by creating a .tmp_quiet_recordmcount file on the first instance the warning is encountered. The warning will not print if this file exists. The temp file is deleted at the beginning of the compile to ensure that the warning will happen once again on new compiles (because the issue is still present). Reported-by: Andrew Morton Cc: Sam Ravnborg Signed-off-by: Steven Rostedt commit f6060f46819f313d34a8c8151390cda509c23389 Author: Lai Jiangshan Date: Thu Nov 5 11:16:17 2009 +0800 tracing: Prevent build warning: 'ftrace_graph_buf' defined but not used Prevent build warning when CONFIG_FUNCTION_GRAPH_TRACER is not set. Signed-off-by: Lai Jiangshan LKML-Reference: <4AF24381.5060307@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit d62d77fd18cc82e839e49b7ef3360e4411f7d2e5 Author: Nick Piggin Date: Tue Nov 17 12:29:38 2009 +0100 perf annotate: Allocate history size correctly Symbol offset history table size does not get updated properly when it is being resized. This leads to garbage results in perf annotate. Signed-off-by: Nick Piggin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit c85e9d7739fc8d879c4293ea020760926d6f87cd Author: John W. Linville Date: Tue Nov 17 10:16:32 2009 -0500 znet: fix build failure from i82593.h relocation znet was including "wireless/i82593.h" (which is a bit wierd), and I missed that when I relocated i82593.h to drivers/staging/wavelan. Since I don't have ISA turned-on in my normal .config, I didn't see the build failures -- mea culpa! Signed-off-by: John W. Linville commit c5b5165ce28099484d5fa733abeae48540680440 Author: Takashi Iwai Date: Tue Nov 17 16:01:58 2009 +0100 ALSA: hda - Disable default quirk for Sony VAIO with ALC262 codec The ALC262 has a quirk entry matching with all Sony Vaio laptops to use model=sony-assamd as default. But, model=auto works much better for new models in the recent driver versions, thus it's safer to disable that default quirk entry. Signed-off-by: Takashi Iwai commit 5a355982993e8eb9f840b81194fbeb4e793221bb Merge: 67d634c 12929ba Author: Takashi Iwai Date: Tue Nov 17 16:00:33 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 302689ac47b563f9d4d8318f399bae225658eec8 Author: Heiko Carstens Date: Tue Nov 17 06:47:02 2009 -0800 net/s390 drivers: add missing 'const' attribute Add missing 'const' attribute to avoid the following compile warnings: drivers/s390/net/ctcm_main.c: In function 'ctcm_init': drivers/s390/net/ctcm_main.c:1864: warning: assignment from incompatible pointer type drivers/s390/net/lcs.c: In function 'lcs_init_module': drivers/s390/net/lcs.c:2468: warning: assignment from incompatible pointer type drivers/s390/net/claw.c: In function 'claw_init': drivers/s390/net/claw.c:3408: warning: assignment from incompatible pointer type Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit c13d2f7c3231e873f30db92b96c8caa48f100f33 Author: Carsten Emde Date: Mon Nov 16 20:56:13 2009 +0100 tracing: Fix trace_marker output When a string was written to /tracing/trace_marker, some strange characters appeared in the trace output instead of the string, since a vprint function erroneously called a vararg print function with a va_list argument. This patch fixes the problem and simplifies the related code. Signed-off-by: Carsten Emde LKML-Reference: <4B01AE5D.1010801@osadl.org> Signed-off-by: Steven Rostedt commit 5a50e33cc916f6a81cb96f0f24f6a88c9ab78b79 Author: Steven Rostedt Date: Tue Nov 17 08:43:01 2009 -0500 ring-buffer: Move access to commit_page up into function used With the change of the way we process commits. Where a commit only happens at the outer most level, and that we don't need to worry about a commit ending after the rb_start_commit() has been called, the code use to grab the commit page before the tail page to prevent a possible race. But this race no longer exists with the rb_start_commit() rb_end_commit() interface. Signed-off-by: Steven Rostedt commit b76965e02bfdd4164c00bf946ff6ca1818ed9fcd Author: Changli Gao Date: Tue Nov 17 04:15:16 2009 -0800 act_mirred: optimization. move checking if eaction is valid in tcf_mirred_init() Signed-off-by: Changli Gao Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit feed1f17241d26261e77ddb5f2fc2a91a3c16739 Author: Changli Gao Date: Tue Nov 17 04:14:00 2009 -0800 act_mirred: cleanup 1. don't let go back using goto. 2. don't call skb_act_clone() until it is necessary. 3. one exit of the critical context. Signed-off-by: Changli Gao Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit b2a5decddbe295d09c29d4a8078cdc47a55346df Author: Rémi Denis-Courmont Date: Mon Nov 16 22:17:24 2009 +0000 Phonet: missing rcu_dereference() Reported-by: Paul E. McKenney Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 115924b6bdc7cc6bf7da5b933b09281e1f4e17a9 Author: Shreyas Bhatewara Date: Mon Nov 16 13:41:33 2009 +0000 net: Getting rid of the x86 dependency to built vmxnet3 This patch removes config dependency on x86 to build vmxnet3 driver. Thus the driver can be built on big endian architectures now. Although vmxnet3 is not supported on VMs other than x86 architecture, all this code goes in to ensure correctness. If the code is not dependent on x86, it should not assume little endian architecture in any of its operations. Signed-off-by: Shreyas Bhatewara Signed-off-by: David S. Miller commit 649300b9278dc9fc9c7dfaaa3719ead70882e726 Author: Johannes Berg Date: Mon Nov 16 12:05:34 2009 +0000 netlink: remove subscriptions check on notifier The netlink URELEASE notifier doesn't notify for sockets that have been used to receive multicast but it should be called for such sockets as well since they might _also_ be used for sending and not solely for receiving multicast. We will need that for nl80211 (generic netlink sockets) in the future. Signed-off-by: Johannes Berg Cc: Patrick McHardy Signed-off-by: David S. Miller commit 54b9ddaa68414fad72ab2e1042be067c902441a6 Author: Vladislav Zolotarov Date: Mon Nov 16 06:05:58 2009 +0000 bnx2x: Handle Rx and Tx together in NAPI Put Tx and Rx DPC to be handled in the NAPI: - Saves status blocks. - Moves the Tx work from hardIRQ to NAPI. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 208f2037ae4a2f23fe5f232d25f4030b3a35c3ed Author: fangxiaozhi Date: Tue Nov 17 04:02:24 2009 -0800 net: PPP buffer too small for higher speed connections 1. This patch is based on the kernel of 2.6.32-rc7 2. In this patch, we enlarge the out buffer size to optimize the upload speed for the ppp connection. Then it can support the upload of HSUPA data cards. Signed-off-by: fangxiaozhi Signed-off-by: David S. Miller commit 24cfbcbabf1faef396ee45b13b25c85d2d17b90d Author: Wolfram Sang Date: Tue Nov 17 03:57:12 2009 -0800 net/can/mscan: improve build - move Kconfig entries to the subdirectory - do remaining renames of mpc52xx to mpc5xxx Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 323907ac72a223ed4e4d67ce8e3589900023a0c8 Author: Wolfram Sang Date: Mon Nov 16 12:57:53 2009 +0000 net/can/mscan: add error path to mscan_open() Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 74ff60b29ec602322178d32cb2a82b24ddb884fc Author: Wolfram Sang Date: Mon Nov 16 12:57:52 2009 +0000 net/can/mscan: replace hardcoded values with defines Not all hardcoded values have been replaced as this made the code quite unreadable. IMHO this compromise serves the purpose of readability. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 81593c1cea7afdcd653c77d626aa186993e39c91 Author: Wolfram Sang Date: Mon Nov 16 12:57:51 2009 +0000 net/can/mpc52xx_can: improve properties and their description Signed-off-by: Wolfram Sang Cc: devicetree-discuss@ozlabs.org Signed-off-by: David S. Miller commit 3f158c253214bb783e7072f6848b61c1999631e7 Author: Wolfram Sang Date: Mon Nov 16 12:57:50 2009 +0000 net/can/mpc52xx_can: refactor clock-get routine Merge two functions into one. The result is smaller as they can now share some variables. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 68bd7422a2e07a4e5502137cd4bddb8c2774a912 Author: Wolfram Sang Date: Mon Nov 16 12:57:49 2009 +0000 net/can/mscan: drop assignment in while-construct As suggested by Wolfgang Grandegger. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 1712fe59415faf23a36c38dbacf18efd4ffe94e0 Author: Wolfram Sang Date: Mon Nov 16 12:57:48 2009 +0000 net/can/mscan: fix function annotations - use extern where apropriate - don't export symbols Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 59179ea60c117fe62b80705a12c1e9e919638120 Author: Wolfram Sang Date: Mon Nov 16 12:57:47 2009 +0000 net/can/mscan: use {clr|set}bits8 macros Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 377a1f0b92819697aa1792f171c305a681fcca5a Author: Wolfram Sang Date: Mon Nov 16 12:57:46 2009 +0000 net/can/mscan: drop support for CAN_MODE_{SLEEP|STOP} The upper layer does not support it yet. Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 0285e7ceaaec9ef2d2e74dd37e2b557c0e017b5c Author: Wolfram Sang Date: Mon Nov 16 12:57:45 2009 +0000 net/can/mscan: trivial fixes - remove whitespaces - use ! and ?: when apropriate - make braces consistent Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 622ed7e9cfa931cefc423562d414cb6cd0b08991 Author: Wolfram Sang Date: Mon Nov 16 12:57:44 2009 +0000 net/can/mscan: move defines into .h file Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 0696b711e4be45fa104c12329f617beb29c03f78 Author: Lin Ming Date: Tue Nov 17 13:49:50 2009 +0800 timekeeping: Fix clock_gettime vsyscall time warp Since commit 0a544198 "timekeeping: Move NTP adjusted clock multiplier to struct timekeeper" the clock multiplier of vsyscall is updated with the unmodified clock multiplier of the clock source and not with the NTP adjusted multiplier of the timekeeper. This causes user space observerable time warps: new CLOCK-warp maximum: 120 nsecs, 00000025c337c537 -> 00000025c337c4bf Add a new argument "mult" to update_vsyscall() and hand in the timekeeping internal NTP adjusted multiplier. Signed-off-by: Lin Ming Cc: "Zhang Yanmin" Cc: Martin Schwidefsky Cc: Benjamin Herrenschmidt Cc: Tony Luck LKML-Reference: <1258436990.17765.83.camel@minggr.sh.intel.com> Signed-off-by: Thomas Gleixner commit 751386507701010831d72c522171753d2cd903d2 Author: Michael S. Tsirkin Date: Thu Oct 29 17:20:02 2009 +0200 perf tools: Support static build This makes it possible to build perf statically, by performing: make LDFLAGS=-static Since static libraries are only searched in the order they are specified, move library list from LDFLAGS to EXTLIBS, so that they are put at the end of linker command line. Signed-off-by: Michael S. Tsirkin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091029152002.GA5406@redhat.com> [ v2: resolved conflicts ] Signed-off-by: Ingo Molnar commit a7b63425a41cd6a8d50f76fef0660c5110f97e91 Merge: 35039eb 3726cc7 Author: Ingo Molnar Date: Tue Nov 17 10:16:43 2009 +0100 Merge branch 'perf/core' into perf/probes Resolved merge conflict in tools/perf/Makefile Merge reason: we want to queue up a dependent patch. Signed-off-by: Ingo Molnar commit 8cc2361bd00e87aab2827a3996a71fe9b2c9f9c4 Author: Andreas Herrmann Date: Tue Nov 17 08:06:38 2009 +0100 x86: ucode-amd: Move family check to microcde_amd.c's init function ... to avoid useless trial to load firmware on systems with unsupported AMD CPUs. Signed-off-by: Andreas Herrmann Cc: Dmitry Adamushko Cc: Mike Travis Cc: Tigran Aivazian Cc: Borislav Petkov Cc: Andreas Mohr Cc: Jack Steiner LKML-Reference: <20091117070638.GA27691@alberich.amd.com> [ v2: changed BUG_ON() to WARN_ON() ] Signed-off-by: Ingo Molnar commit bb9074ff58fe745e4f244f76209241909c82ec9c Merge: 4739a97 156171c Author: Eric W. Biederman Date: Tue Nov 17 01:01:34 2009 -0800 Merge commit 'v2.6.32-rc7' Resolve the conflict between v2.6.32-rc7 where dn_def_dev_handler gets a small bug fix and the sysctl tree where I am removing all sysctl strategy routines. commit a2bfbc072e279ff81e6b336acff612b9bc2e5281 Merge: 5c427ff 82b3cc1 Author: David S. Miller Date: Tue Nov 17 00:05:02 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/can/Kconfig commit f9ede4eca01cc64ce37549c282b6fde727c0ec84 Author: Marin Mitov Date: Mon Nov 16 21:39:26 2009 +0200 ASoC: Use DMA_BIT_MASK(32) instead of deprecated DMA_32BIT_MASK Signed-off-by: Marin Mitov Signed-off-by: Takashi Iwai commit baac805fc591b562f22d8f1cd0b65cdbbe9e9518 Author: Timothy Knoll Date: Mon Nov 16 19:55:46 2009 -0500 sound: Kconfig typo fix Fix a typo in the help text in sound/Kconfig. Signed-off-by: Timothy Knoll Signed-off-by: Takashi Iwai commit 5c427ff9e4cc61625d48172ea082ae99e21eea6a Author: zeal Date: Mon Nov 16 04:58:10 2009 +0000 KS8695: fix ks8695_rx() unreasonable action. ks8695_rx() will call refill_buffers() for every incoming packet. Its not necessary. We just need do it after finishing receiving thing. And the 'RX dma engine' is in the same situation. This blocks our user space application. The following patch may fix it. Signed-off-by: zeal Signed-off-by: David S. Miller commit fa6cae143d58c74d800b8dbdd8b9f058614874f2 Author: zeal Date: Mon Nov 16 04:58:09 2009 +0000 KS8695: fix ks8695_rx_irq() bug. ks8695 rx irq is edge-level. Before arriving at irq handler, the corresponding status bit has been clear(irq's ack). So we should not check it after that. Signed-off-by: zeal Signed-off-by: David S. Miller commit 123bf0e2eddcda36a33bdfc87aa1fb07229f07b5 Author: Ingo Molnar Date: Sun Nov 15 21:19:52 2009 +0900 x86: gart: Clean up the code a bit Clean up various small stylistic details in the GART code. No functionality changed. Cc: FUJITA Tomonori Cc: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 1f7564ca831a00b21bb493ef174c845b2ba9e64d Author: FUJITA Tomonori Date: Sun Nov 15 21:19:54 2009 +0900 x86: Calgary: Remove unnecessary DMA_ERROR_CODE usage This cleans up iommu_alloc() a bit and removes unnecessary DMA_ERROR_CODE usage. Signed-off-by: FUJITA Tomonori Acked-by: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 8fd524b355daef0945692227e726fb444cebcd4f Author: FUJITA Tomonori Date: Sun Nov 15 21:19:53 2009 +0900 x86: Kill bad_dma_address variable This kills bad_dma_address variable, the old mechanism to enable IOMMU drivers to make dma_mapping_error() work in IOMMU's specific way. bad_dma_address variable was introduced to enable IOMMU drivers to make dma_mapping_error() work in IOMMU's specific way. However, it can't handle systems that use both swiotlb and HW IOMMU. SO we introduced dma_map_ops->mapping_error to solve that case. Intel VT-d, GART, and swiotlb already use dma_map_ops->mapping_error. Calgary, AMD IOMMU, and nommu use zero for an error dma address. This adds DMA_ERROR_CODE and converts them to use it (as SPARC and POWER does). Signed-off-by: FUJITA Tomonori Acked-by: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 42109197eb7c01080eea6d9cd48ca23cbc3c566c Author: FUJITA Tomonori Date: Sun Nov 15 21:19:52 2009 +0900 x86: gart: Add own dma_mapping_error function GART IOMMU is the only user of bad_dma_address variable. This patch converts GART to use the newer mechanism, fill in ->mapping_error() in struct dma_map_ops, to make dma_mapping_error() work in IOMMU specific way. Signed-off-by: FUJITA Tomonori Acked-by: Jesse Barnes Cc: muli@il.ibm.com Cc: joerg.roedel@amd.com LKML-Reference: <1258287594-8777-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 99f4c9de2b707795acb215e2e94df7ea266042b5 Merge: 62ad33f 156171c Author: Ingo Molnar Date: Tue Nov 17 07:51:02 2009 +0100 Merge commit 'v2.6.32-rc7' into core/iommu Merge reason: Add fixes we'll depend on. Signed-off-by: Ingo Molnar commit 3726cc75e581c157202da93bb2333cce25c15c98 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:12 2009 -0200 perf tools: Don't die() in do_write() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a9a70bbce7ab0bf3b1cba3ac662c4d502da6305c Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:11 2009 -0200 perf tools: Don't die() in perf_header__new() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 5875412152ce67fb5087157b86ab6597f91d23e8 Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:10 2009 -0200 perf tools: Don't die() in perf_header_attr__add_id() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 11deb1f9f6ca6318fa9470e024b9f0634df48b4c Author: Arnaldo Carvalho de Melo Date: Tue Nov 17 01:18:09 2009 -0200 perf tools: Don't die() in perf_header__add_attr() Propagate the errors instead, the users are the ones to decide what to do if a library call fails. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258427892-16312-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1124ba73be6a758965340bd997593b2996649d60 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 21:45:25 2009 -0200 perf buildid-list: Always show the DSO name Porcelain can ignore it, humans can make more sense of it. Suggested-by: Frederic Weisbecker Suggested-by: Ingo Molnar Suggested-by: Peter Zijlstra Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258415125-15019-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8ffcda17314cfeb698a667567ea63f63362dffbb Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 21:45:24 2009 -0200 perf top: Introduce --hide_{user,kernel}_symbols Default continues to be showing all symbols. 'K' and 'U' can be used to toggle showing kernel and user symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258415125-15019-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 3b6ed98895b0fccd8c387f3fc44016fb922c0658 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 19:30:27 2009 -0200 perf top: Use all the lines in the screen By querying the current number of rows, if the user specifies the number of entries, use that instead. If the user uses the 'e' command to change the number of lines 0 will mean do it automatically, any other number disables the auto resizing. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258407027-384-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit dc79c0fc08a94b857aed446bfb47cdfde529400c Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 19:30:26 2009 -0200 perf tools: Don't die in perf_header_attr__new() We really should propagate such kinds of errors so that users of these library functions decide what to do in such cases instead of exiting in random places like now. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258407027-384-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 35039eb6b199749943547c8572be6604edf00229 Author: Masami Hiramatsu Date: Mon Nov 16 18:06:24 2009 -0500 x86: Show symbol name if insn decoder test failed Show symbol name if insn decoder test find a difference. This will help us to find out where the issue is. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston Cc: Stephen Rothwell LKML-Reference: <20091116230624.5250.49813.stgit@harusame> Signed-off-by: Ingo Molnar commit d65ff75fbe6f8ac7c17f18e4108521898468822c Author: Masami Hiramatsu Date: Mon Nov 16 18:06:18 2009 -0500 x86: Add verbose option to insn decoder test Add verbose option to insn decoder test. This dumps decoded instruction when building kernel with V=1. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Stephen Rothwell Cc: Randy Dunlap Cc: Jim Keniston Cc: Stephen Rothwell LKML-Reference: <20091116230618.5250.18762.stgit@harusame> Signed-off-by: Ingo Molnar commit 5bd085b5fbd8b0b8685a2173cb9263798fc2a44e Author: H. Peter Anvin Date: Mon Nov 16 13:55:31 2009 -0800 x86: remove "extern" from function prototypes in Function prototypes don't need "extern", and it is generally frowned upon to have them. Signed-off-by: H. Peter Anvin commit 4b0f3b81eb33ef18283aa71440cccfede1753ae0 Author: Kees Cook Date: Fri Nov 13 15:28:17 2009 -0800 x86, mm: Report state of NX protections during boot It is possible for x86_64 systems to lack the NX bit either due to the hardware lacking support or the BIOS having turned off the CPU capability, so NX status should be reported. Additionally, anyone booting NX-capable CPUs in 32bit mode without PAE will lack NX functionality, so this change provides feedback for that case as well. Signed-off-by: Kees Cook Signed-off-by: H. Peter Anvin LKML-Reference: <1258154897-6770-6-git-send-email-hpa@zytor.com> commit 4763ed4d45522b876c97e1f7f4b659d211f75571 Author: H. Peter Anvin Date: Fri Nov 13 15:28:16 2009 -0800 x86, mm: Clean up and simplify NX enablement The 32- and 64-bit code used very different mechanisms for enabling NX, but even the 32-bit code was enabling NX in head_32.S if it is available. Furthermore, we had a bewildering collection of tests for the available of NX. This patch: a) merges the 32-bit set_nx() and the 64-bit check_efer() function into a single x86_configure_nx() function. EFER control is left to the head code. b) eliminates the nx_enabled variable entirely. Things that need to test for NX enablement can verify __supported_pte_mask directly, and cpu_has_nx gives the supported status of NX. Signed-off-by: H. Peter Anvin Cc: Tejun Heo Cc: Brian Gerst Cc: Yinghai Lu Cc: Pekka Enberg Cc: Vegard Nossum Cc: Jeremy Fitzhardinge Cc: Chris Wright LKML-Reference: <1258154897-6770-5-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit 583140afb989f24d115e80be5c91e503b58ccfc0 Author: H. Peter Anvin Date: Fri Nov 13 15:28:15 2009 -0800 x86, pageattr: Make set_memory_(x|nx) aware of NX support Make set_memory_x/set_memory_nx directly aware of if NX is supported in the system or not, rather than requiring that every caller assesses that support independently. Signed-off-by: H. Peter Anvin Cc: Huang Ying Cc: Venkatesh Pallipadi Cc: Suresh Siddha Cc: Tejun Heo Cc: Tim Starling Cc: Hannes Eder LKML-Reference: <1258154897-6770-4-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit a7c4c0d934c6cbc58de262d090d4a715445453f0 Author: H. Peter Anvin Date: Fri Nov 13 15:28:14 2009 -0800 x86, sleep: Always save the value of EFER Always save the value of EFER, regardless of the state of NX. Since EFER may not actually exist, use rdmsr_safe() to do so. v2: check the return value from rdmsr_safe() instead of relying on the output values being unchanged on error. Signed-off-by: H. Peter Anvin Acked-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham LKML-Reference: <1258154897-6770-3-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit 8a50e5135af0c243e117e94e27feb8d149c879b4 Author: H. Peter Anvin Date: Fri Nov 13 15:28:13 2009 -0800 x86-32: Use symbolic constants, safer CPUID when enabling EFER.NX Use symbolic constants rather than hard-coded values when setting EFER.NX in head_32.S, and do a more rigorous test for the validity of the response when probing for the extended CPUID range. Signed-off-by: H. Peter Anvin LKML-Reference: <1258154897-6770-2-git-send-email-hpa@zytor.com> Acked-by: Kees Cook commit c34984b2bbc77596c97c333539bffc90d2033178 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:45 2009 -0200 perf buildid-list: New plumbing command With this we can list the buildids in a perf.data file so that we can pipe them to other, distro specific tools that from the buildids can figure out separate packages (foo-debuginfo) where we can find the matching symtabs so that perf report can do its job. E.g: [acme@doppio linux-2.6-tip]$ perf buildid-list | head -5 8e08b117e5458ad3f85da16d42d0fc5cd21c5869 520c2387a587cc5acfcf881e27dba1caaeab4b1f ec8dd400904ddfcac8b1c343263a790f977159dc 7caedbca5a6d8ab39a7fe44bd28c07d3e14a3f3f 379bb828fd08859dbea73279f04abefabc95a6a3 [acme@doppio linux-2.6-tip]$ perf buildid-list -v | head -5 8e08b117e5458ad3f85da16d42d0fc5cd21c5869 /sbin/init 520c2387a587cc5acfcf881e27dba1caaeab4b1f /lib64/ld-2.10.1.so ec8dd400904ddfcac8b1c343263a790f977159dc /lib64/libc-2.10.1.so 7caedbca5a6d8ab39a7fe44bd28c07d3e14a3f3f /sbin/udevd 379bb828fd08859dbea73279f04abefabc95a6a3 /lib64/libdl-2.10.1.so [acme@doppio linux-2.6-tip]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 9e03eb2d512e7f3a1e562d4b922aa8b1891750b6 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:44 2009 -0200 perf tools: Introduce dsos__fprintf_buildid To print the buildids in the list of dsos. Will be used by 'perf buildid-list' Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 37562eac3767c7f07bb1a1329708ff6453e47570 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:43 2009 -0200 perf tools: Generalize perf_header__adds_read() Renaming it to perf_header__process_sections() and passing a callback to handle each feature. The next changesets will introduce 'perf buildid-list' that will handle just the HEADER_BUILD_ID table, ignoring all the other features. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8f41146aedf803856fb6477056e3960cb9ba8f9c Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:42 2009 -0200 perf tools: Debug.h needs to include event.h for event_t Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 84fe8488ade7922afa9f3aa77c22d2d92beb9660 Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 16:32:41 2009 -0200 perf symbols: Pass the offset to perf_header__read_build_ids() Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258396365-29217-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b23709248fc9b6d5877f9c741d639a160ed21ff6 Author: Jouni Malinen Date: Mon Nov 16 19:54:08 2009 +0200 mac80211: Do not queue Probe Request frames for station MLME Cooked monitor interfaces cannot currently receive Probe Request frames when the interface is in station mode. However, we do not process Probe Request frames internally in the station MLME, so there is no point in queueing the frame here. Remove Probe Request frames from the queued frame list to allow cooked monitor interfaces to receive these frames. Signed-off-by: Jouni Malinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 2eb2fa67e5462a36e98172fb92c78bc405b3035f Author: Bob Copeland Date: Mon Nov 16 08:30:29 2009 -0500 ath5k: allow setting txpower to 0 As a holdover from earlier code when we used to set the power limit to '0' after a reset to configure the default transmit power, ath5k interprets txpower=0 as 12.5 dBm. Fix that by just passing 0 through. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=14567 Cc: stable@kernel.org Reported-by: Daniel Folkers Tested-by: Daniel Folkers Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 634a555ce3ee5ea1fdcaee8b4ac9ce7b54f301ac Author: Jussi Kivilinna Date: Mon Nov 16 12:49:43 2009 +0200 rndis_wlan: handle NL80211_AUTHTYPE_AUTOMATIC rndis_wlan didn't know about NL80211_AUTHTYPE_AUTOMATIC and simple setup with 'iwconfig wlan essid no-encrypt' would fail (ENOSUPP). v2: use NDIS_80211_AUTH_AUTO_SWITCH instead of _OPEN. This will make device try shared key auth first, then open. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 6a62e5ef94f754892734f99e87ca3dedd3cef277 Author: Josef Bacik Date: Sun Nov 15 21:33:18 2009 -0500 rt2800: do not enable tbtt unless we are in a beacon mode Please be gentle, I'm a fs developer and this is my first foray into drivers, as I'm tired of building ralinks driver everytime I update my kernel. Whenever I load the rt2800pci driver my box bogs down, and a few printk's later I discovered its because I was getting 10's of thousands of TBTT interrupts a second. I discovered this was because we were setting the beacon timer to 0, which is apparently what TBTT keys off of. It seems to me that we should only be enabling TBTT when we are in a beacon transmitting mode, which from what I can tell is in AD-HOC and other such modes where the mac80211 layer would have given us a proper beacon_int to set the beacon timer to instead of 0. So this is my fix, only enable TBTT if our sync mode is for beacon. This makes it so my box doesn't die everytime I load the rt2800pci driver. Let me know if this is acceptable, I just learned all these terms about 15 minutes ago via wikipedia, so I really am not familiar with how this stuff is supposed to work. Thanks, Signed-off-by: Josef Bacik Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd6ae4f877ce8cde9f57046a8eea4efc46950502 Author: Felix Fietkau Date: Sun Nov 15 22:27:17 2009 +0100 ath9k: fix massive rx packet loss issue This patch fixes a regression introduced in "ath9k: avoid the copy skb->cb on every RX'd skb" With that change, the rx status in skb->cb was left uninitialized Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 31a4cf1f22677ba1ea90be055bc20aac25b8e7c4 Author: Gertjan van Wingerde Date: Sat Nov 14 20:20:36 2009 +0100 rt2x00: Fix BUG on rt2800usb when trying to read eFuse EEPROM. Current tree hits a BUG_ON in rt2x00_regbusy_read, because the eFuse EEPROM reading code of rt2800lib uses the function without the csr_mutex locked. Fix this by locking the csr_mutex for the of the EEPROM reading cycly and using the _lock variants of the register reading and writing functions. This also introcudes the register_read_lock function pointer in the rt2800_ops structure. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 16475b095a9c952f16e626c142b30bc95cfeadb3 Author: Gertjan van Wingerde Date: Sat Nov 14 20:20:35 2009 +0100 rt2x00: Log RT/RF chipset information correctly. Some drivers (rt2800* most notably) cannot set the RF and RT chipset in the correct order to have the information logging in rt2x00_set_chip be correct. Fix this by decoupling the setting of the chipset information from the logging of the chipset information so that drivers can determine themselves when all information is set. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit cce5fc45f9e9570f320009431d033d5a8f6144cc Author: Gertjan van Wingerde Date: Tue Nov 10 22:42:40 2009 +0100 rt2x00: Initialize rf302x RF values properly for rt2800pci. Ensure RF302x and RF2020 chipsets are handled properly in rt2800lib for the rt3090 chipset. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit fa6f632fba300f92d21962ef6e58411345465241 Author: Gertjan van Wingerde Date: Mon Nov 9 22:59:58 2009 +0100 rt2x00: Fix rt2800lib RF chip programming selection. Mirror the legacy Ralink driver with respect to rt2800 RF register programming. Execute rt2800_config_channel_rt3x for all RF2020, RF3020, RF3021 & RF3022 chipsets when operating on RT3070 devices. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 02bb57aeb092cbb0dfdb50c6026dbd0c60af7644 Author: Roel Kluin Date: Mon Nov 16 17:05:02 2009 +0100 sound: OSS: keep index within bounds of midi_devs[] When the {orig,midi}_dev equals num_midis, that's one too large already. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 82164161679c448f33092945ea97cb547a13683a Author: Arnaldo Carvalho de Melo Date: Mon Nov 16 13:48:11 2009 -0200 perf symbols: Call the symbol filter in dso__synthesize_plt_symbols() We need to pass the symbol to the filter so that, for instance, 'perf top' can do filtering and also set the private area it manages, setting the ->map pointer, etc. I found this while running 'perf top' on a machine where hits happened on PLT symbols, where ->map wasn't being set up and segfaults thus happened. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1258386491-20278-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8df89bc35c188e389295eaf7917653f13c83ce70 Author: Mike Rapoport Date: Mon Nov 16 16:19:25 2009 +0200 ASoC: OMAP: enable Overo driver for CM-T35 Signed-off-by: Mike Rapoport Acked-by: Liam Girdwood Acked-by: Steve Sakoman Signed-off-by: Mark Brown commit 0912e5359f89f303f53fd4874dadab77a4949a8a Author: Nicolas Ferre Date: Tue Jun 23 16:30:56 2009 +0200 atmel_lcdfb Kconfig: remove long dependency line Many Atmel SOC are embedding a LCD controller. This patch removes the long dependency line for this Atmel LCD framebuffer driver configuration entry. The HAVE_FB_ATMEL configuration option is located in the video Kconfig file as it may be setup by ARM/AT91 and AVR32 chips. Signed-off-by: Nicolas Ferre Acked-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: Andrew Victor commit 2ef9f59a7a3a0894be63836542f0902a45ffdd22 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Thu Oct 22 18:50:26 2009 +0200 at91: Kconfig simplification Instead of adding "depends on" at config level, introduce HAVE_* config variables. Add them at machine or soc level to specify the ability of a particular support. It will ease new board introduction and readability. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor commit c4e4ab9f23d26498a01316428d710833fb96f214 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Thu Oct 22 18:41:41 2009 +0200 at91: remove not needed depends on Those "depends on" are a double check as all machine entries are surrounded by "if " conditions. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor commit fdcad71cef68529a1f54331f533763ca53814f96 Author: Nicolas Ferre Date: Tue Oct 20 16:32:53 2009 +0200 at91: at91sam9g20ek modify dual slot evaluation kit at91sam9g20ek rev. C and onwards embed two SD/MMC slots. This patch modify the previous dual slot board definition to match the official rev. C board. It also allows the use of at91_mci SD/MMC driver in addition to the atmel-mci one. Some pins have been re-affected from leds or Ethernet phy IRQ to the SD/MMC slot A. This lead to a modification of those definitions. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor commit e79c65a97c01d5da4317f44f9f98b3814e091a43 Author: Cyrill Gorcunov Date: Mon Nov 16 18:14:26 2009 +0300 x86: io-apic: IO-APIC MMIO should not fail on resource insertion If IO-APIC base address is 1K aligned we should not fail on resourse insertion procedure. For this sake we define IO_APIC_SLOT_SIZE constant which should cover all IO-APIC direct accessible registers. An example of a such configuration is there http://marc.info/?l=linux-kernel&m=118114792006520 | | Quoting the message | | IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23 | IOAPIC[1]: apic_id 3, version 32, address 0xfec80000, GSI 24-47 | IOAPIC[2]: apic_id 4, version 32, address 0xfec80400, GSI 48-71 | IOAPIC[3]: apic_id 5, version 32, address 0xfec84000, GSI 72-95 | IOAPIC[4]: apic_id 8, version 32, address 0xfec84400, GSI 96-119 | Reported-by: "Maciej W. Rozycki" Signed-off-by: Cyrill Gorcunov Acked-by: Yinghai Lu LKML-Reference: <20091116151426.GC5653@lenovo> Signed-off-by: Ingo Molnar commit 3c93ca00eeeb774c7dd666cc7286a9e90c53e998 Author: Frederic Weisbecker Date: Mon Nov 16 15:42:18 2009 +0100 x86: Add missing might_fault() checks to copy_{to,from}_user() On x86-64, copy_[to|from]_user() rely on assembly routines that never call might_fault(), making us missing various lockdep checks. This doesn't apply to __copy_from,to_user() that explicitly handle these calls, neither is it a problem in x86-32 where copy_to,from_user() rely on the "__" prefixed versions that also call might_fault(). Signed-off-by: Frederic Weisbecker Cc: Arjan van de Ven Cc: Linus Torvalds Cc: Nick Piggin Cc: Peter Zijlstra LKML-Reference: <1258382538-30979-1-git-send-email-fweisbec@gmail.com> [ v2: fix module export ] Signed-off-by: Ingo Molnar commit 303fc0870f8fbfabe260c5c32b18e53458d597ea Author: Prarit Bhargava Date: Thu Nov 12 13:09:31 2009 -0500 x86: AMD Northbridge: Verify NB's node is online Fix panic seen on some IBM and HP systems on 2.6.32-rc6: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] find_next_bit+0x77/0x9c [...] [] cpumask_next_and+0x2e/0x3b [] pci_device_probe+0x8e/0xf5 [] ? driver_sysfs_add+0x47/0x6c [] driver_probe_device+0xd9/0x1f9 [] __driver_attach+0x58/0x7c [] ? __driver_attach+0x0/0x7c [] bus_for_each_dev+0x54/0x89 [] driver_attach+0x19/0x1b [] bus_add_driver+0xd3/0x23d [] driver_register+0x98/0x109 [] __pci_register_driver+0x63/0xd3 [] ? up_read+0x26/0x2a [] ? k8temp_init+0x0/0x20 [k8temp] [] k8temp_init+0x1e/0x20 [k8temp] [] do_one_initcall+0x6d/0x185 [] sys_init_module+0xd3/0x236 [] system_call_fastpath+0x16/0x1b I put in a printk and commented out the set_dev_node() call when and got this output: quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x0 quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x1 quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x2 quirk_amd_nb_node: current numa_node = 0x0, would set to val & 7 = 0x3 I.e. the issue appears to be that the HW has set val to a valid value, however, the system is only configured for a single node -- 0, the others are offline. Check to see if the node is actually online before setting the numa node for an AMD northbridge in quirk_amd_nb_node(). Signed-off-by: Prarit Bhargava Cc: bhavna.sarathy@amd.com Cc: jbarnes@virtuousgeek.org Cc: andreas.herrmann3@amd.com LKML-Reference: <20091112180933.12532.98685.sendpatchset@prarit.bos.redhat.com> [ v2: clean up the code and add comments ] Signed-off-by: Ingo Molnar commit 67d634c07afd8f70973d925463e775fdb89ad536 Author: Takashi Iwai Date: Mon Nov 16 15:35:59 2009 +0100 ALSA: hda - Fix build errors with CONFIG_SND_HDA_INPUT_BEEP=n Disable beep-related codes when CONFIG_SND_HDA_INPUT_BEEP isn't set. Signed-off-by: Takashi Iwai commit 9bb1fe390de3e1def0dd162dbdaf62e0981105fa Author: Takashi Iwai Date: Mon Nov 16 15:33:49 2009 +0100 ALSA: hda - Fix beep_mode option value The beep_mode option value was wrongly defined: it must be 0 = off and 1 = on. Also, evaluate the beep_mode value at snd_hda_attach_beep_device() properly so that no device is created when beep_mode=0 is given. Signed-off-by: Takashi Iwai commit d5191e50b251594bdde10d4839a952ff1646ef62 Author: Takashi Iwai Date: Mon Nov 16 14:58:17 2009 +0100 ALSA: hda - Update / add kerneldoc comments to exported functions Signed-off-by: Takashi Iwai commit 85dd662ff4d2967084acfc761a33717383297e42 Author: Jaroslav Kysela Date: Wed Nov 11 13:49:07 2009 +0100 ALSA: hda - move snd_hda_pcm_type_name from hda_codec.h to hda_local.h The snd_hda_pcm_type_name array is local only. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 559fdc3c1b624edb1933a875022fe7e27934d11c Author: Peter Zijlstra Date: Mon Nov 16 12:45:14 2009 +0100 perf_event: Optimize perf_output_lock() The purpose of perf_output_{un,}lock() is to: 1) avoid publishing incomplete data [ possible when publishing a head that is ahead of an entry that is still being written ] 2) guarantee fwd progress [ a simple refcount on pending writers doesn't need to drop to 0, making it so would end up implementing something like forced quiecent states of RCU ] To satisfy the above without undue complexity it serializes between CPUs, this means that a pending writer can only be the same cpu in a nested context, and since (under normal operation) a cpu always makes progress we're good -- if the head is only published when the bottom most writer completes. Now we don't need to disable IRQs in order to serialize between CPUs, disabling preemption ought to be sufficient, esp since we already deal with nesting due to NMIs. This avoids potentially expensive (and needless) local IRQ disable/enable ops. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <1258373161.26714.254.camel@laptop> Signed-off-by: Ingo Molnar commit d019361a0802924e2dbcd7313fa3dcfc960222a7 Author: Takashi Iwai Date: Mon Nov 16 12:03:49 2009 +0100 ALSA: hda - Add description of beep_mode in ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit 411462f62a65eeae7f451c6eb7a38b9d8759c61a Author: Thomas Gleixner Date: Mon Nov 16 11:52:39 2009 +0100 x86: Fix printk format due to variable type change clockevents.mult became u32. Fix the printk format. Signed-off-by: Thomas Gleixner commit 621a071f4323a5eb71ea4f289c3d8ce65a4758e4 Author: Stephen Rothwell Date: Mon Nov 16 17:54:47 2009 +1100 sparc: fix printk for change of variable type The clockevent mult field became a u32. Signed-off-by: Stephen Rothwell Cc: "David S. Miller" Cc: Peter Zijlstra LKML-Reference: <20091116180118.aa1bf1e4.sfr@canb.auug.org.au> Signed-off-by: Thomas Gleixner commit 4309e5682dd6cca22f1a5cc364b209bf4a121786 Author: Kristoffer Glembo Date: Sun Nov 15 23:51:06 2009 +0000 Added sparc_leon3_snooping_enabled() and converted extern inline to static inline Signed-off-by: David S. Miller commit c000c71272ddbe3774b624fdef4eae3147877133 Author: Kristoffer Glembo Date: Fri Nov 13 05:21:22 2009 +0000 No auxio on LEON Do not probe for auxio register on SPARC LEON. Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit 3fd434d846a2c87f8f705b6876f81e4053f93749 Author: Frank Blaschka Date: Thu Nov 12 00:11:45 2009 +0000 qeth: allow dynamic change of rx checksumming Technically there is no need to set the card offline to change RX checksumming. Get rid of this stupid limitation. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit c3b4a740db3688b245282ac957a01f3fb8d1186d Author: Frank Blaschka Date: Thu Nov 12 00:11:44 2009 +0000 qeth: rework TSO functions The maximum TSO size OSA can handle is 15 * PAGE_SIZE. This patch reduces gso_max_size to this value and adds some sanity checks and statistics to the TSO implementation. Since only layer 3 is able to do TSO move all TSO related functions to the qeth_l3 module. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit aa90922479513db0d080239324d0d04701418ba5 Author: Ursula Braun Date: Thu Nov 12 00:11:43 2009 +0000 qeth: Recognize return codes of ccw_device_set_online Setting a qeth device online requires to call function ccw_device_set_online() for read-, write-, and data-subchannel. Failures should be detected immediately without an attempt to invoke follow-on activity qeth_qdio_clear_card()., In addition, ccw_device_set_online calls are consolidated in qeth_core_main.c only. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit f20b04597b9f75dce16c898abb487eff06ddf677 Author: Ursula Braun Date: Thu Nov 12 00:11:42 2009 +0000 qeth: remaining EDDP cleanup EDDP code has been removed from qeth in 2009. This patch removes two useless remaining EDDP-references. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit d64ecc22d0a4b175d97cb2b1e297a9c5e3bdb26d Author: Einar Lueck Date: Thu Nov 12 00:11:41 2009 +0000 qeth: Exploit Connection Isolation Isolate data connection to a shared OSA card against other data connections to the same OSA card. Connectivity between isolated data connections sharing the same OSA card is therefore possible only through external network gear (e.g. a router). Signed-off-by: Einar Lueck Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 9c96fa599fe4f0ccc6e3e606df6652335afe28e8 Author: Takashi Iwai Date: Mon Nov 16 11:25:33 2009 +0100 ALSA: hda - Get rid of magic digits for subdev hack Define a proper const for a magic 31bit flag for subdev / NID setup with a brief comment. Signed-off-by: Takashi Iwai commit 4d02d1b638af580ae3d69367248539a8b3893064 Author: Jaroslav Kysela Date: Thu Nov 12 10:15:48 2009 +0100 ALSA: hda - proc - add support for dynamic controls to mixer<->NID mapping This patch adds support for dynamically created controls to proc codec file (Control: lines). Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3911a4c19e927738766003839aa447becbdbaa27 Author: Jaroslav Kysela Date: Wed Nov 11 13:43:01 2009 +0100 ALSA: hda - proc - introduce Control: lines to show mixer<->NID assignment This is an initial patch to show universal control<->NID assigment in proc codec file. The change helps to debug codec related problems. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 2dca0bba70ce3c233be152e384580c134935332d Author: Jaroslav Kysela Date: Fri Nov 13 18:41:52 2009 +0100 ALSA: hda - add beep_mode module parameter The beep_mode parameter for snd-hda-intel module allows to choose among different digital beep device registation to the input layer. 0 = do not register to the input layer 1 = register to the input layer all time 2 = use "Beep Switch" control exported to user space mixer applications Also, introduce CONFIG_SND_HDA_INPUT_BEEP_MODE for default value. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 5f81669750504b1e7e00acde5068d972af466f29 Author: Jaroslav Kysela Date: Wed Nov 4 12:46:49 2009 +0100 ALSA: hda: beep - add missing cancel_delayed_work The unregister work should be also canceled in snd_hda_detach_beep_device() function. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 13dab0808bb41b18888e1758a060a685deee1f30 Author: Jaroslav Kysela Date: Tue Nov 3 14:29:50 2009 +0100 ALSA: hda_intel: Digital PC Beep - delay input device unregistration The massive register/unregister calls for input device layer might be overkill. Delay unregister call by one HZ as workaround. Also, as benefit, beep->enabled variable is changed immediately now (not from workqueue). Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 123c07aeddd71fbb295842a8c19866e780b9a100 Author: Jaroslav Kysela Date: Wed Oct 21 14:48:23 2009 +0200 ALSA: hda_intel: Digital PC Beep - change behaviour for input layer Original implementation was keeping registered input device for SND_BEEP and SND_TONE events all time. This patch changes this behaviour: If digital PC Beep is turned off using universal control switch, the input device is unregistered. Explanation: The kd_mksound() send SND_BEEP and SND_TONE only to last registered device acceping those events. It means that the HDA Intel audio driver blocks also the internal PC Speaker device (pcspkr.c driver) even if the HDA Beep is muted. The user can easy disable all beeps using 'setterm -blength 0' or 'xset b off' command. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit fe705ab1526bc2c8b7756f3a855f040ab2060af2 Merge: 7d1794e ad1cd74 Author: Takashi Iwai Date: Mon Nov 16 11:33:41 2009 +0100 Merge branch 'topic/beep-rename' into topic/hda commit 7d1794e81b5f202c73d7e3e65f0ee7aae4928038 Merge: 01a1796 8ef5837 Author: Takashi Iwai Date: Mon Nov 16 11:33:35 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 047106adcc85e3023da210143a6ab8a55df9e0fc Author: Peter Zijlstra Date: Mon Nov 16 10:28:09 2009 +0100 sched: Sched_rt_periodic_timer vs cpu hotplug Heiko reported a case where a timer interrupt managed to reference a root_domain structure that was already freed by a concurrent hot-un-plug operation. Solve this like the regular sched_domain stuff is also synchronized, by adding a synchronize_sched() stmt to the free path, this ensures that a root_domain stays present for any atomic section that could have observed it. Reported-by: Heiko Carstens Signed-off-by: Peter Zijlstra Acked-by: Heiko Carstens Cc: Gregory Haskins Cc: Siddha Suresh B Cc: Martin Schwidefsky LKML-Reference: <1258363873.26714.83.camel@laptop> Signed-off-by: Ingo Molnar commit 62ad33f67003b9a7b6013f0511579b9805e11626 Author: Hiroshi Shimamoto Date: Mon Nov 16 11:44:30 2009 +0900 x86: Don't put iommu_shutdown_noop() in init section It causes kernel panic on shutdown or reboot. Signed-off-by: Hiroshi Shimamoto Acked-by: FUJITA Tomonori LKML-Reference: <4B00BC8E.50801@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit b9f5d52670c27e71f04c466aee77e3a2eeca8080 Author: Marin Mitov Date: Fri Nov 13 07:58:41 2009 +0000 remove deprecated and not used: print_mac() The function print_mac in net/ethernet/eth.c is marked __deprecated and not used. Remove it. Signed-off-by: Marin Mitov Signed-off-by: David S. Miller commit 2d6682db114cb53bc94991659478756302e6a600 Author: Jay Vosburgh Date: Fri Nov 13 13:13:01 2009 +0000 bonding: fix 802.3ad standards compliance error The language of 802.3ad 43.4.9 requires the "recordPDU" function to, in part, compare the Partner parameter values in a received LACPDU to the stored Actor values. If those match, then the Partner's synchronization state is set to true. The current 802.3ad implementation is performing these steps out of order; first, the synchronization check is done, then the paramters are checked to see if they match (the synch check being done against a match check of a prior LACPDU). This causes delays in establishing aggregators in some circumstances. This patch modifies the 802.3ad code to call __choose_matched, the function that does the "match" comparisions, as the first step of __record_pdu, instead of immediately afterwards. This new behavior is in compliance with the language of the standard. Some additional commentary relating to code vs. standard is also added. Reported by Martin Patterson who also supplied the logic of the fix and verified the patch. Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit b93ab837a2d3eb394082c9eae4ee0a4f83060027 Author: Eric Dumazet Date: Fri Nov 13 06:33:11 2009 +0000 vlan: Use __vlan_hwaccel_put_tag() in rx Commit 05423b241311c9380 (vlan: allow null VLAN ID to be used) forgot to update __vlan_hwaccel_rx() & vlan_gro_common() We need to set VLAN_TAG_PRESENT flag in skb->vlan_tci Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c5d5d1721763842a516529e553433d13b11c3f31 Author: Matt Carlson Date: Fri Nov 13 13:03:52 2009 +0000 tg3: Update version to 3.104 This patch updates the tg3 version to 3.104. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 5001e2f638011859c1351f9fe57ca4e545a15c47 Author: Matt Carlson Date: Fri Nov 13 13:03:51 2009 +0000 tg3: Fix DIDs, Enable 5717 support This patch fixes the 5717 variant device ID enumerations and adds those DIDs to the PCI ID table. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b196c7e45f30cbcd38c83386bc8a04a21477f8d3 Author: Matt Carlson Date: Fri Nov 13 13:03:50 2009 +0000 tg3: Add rx prod ring consolidation This patch adds code to funnel each MSI-X vector's rx packet buffers into a single set of producer rings which will then be submitted to the hardware. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 66711e66639776685aeaad774488be1857abce26 Author: Matt Carlson Date: Fri Nov 13 13:03:49 2009 +0000 tg3: Create aliases for rx producer mailbox regs The rx producer mailbox registers are used in several spots in the code. The addition of TG3_64BIT_REG_LOW makes register references uncomfortably long. This patch creates an alias for the standard and jumbo ring producer index registers to make the code cleaner. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2b2cdb65bec42d38268b2ac115876b066afa7f95 Author: Matt Carlson Date: Fri Nov 13 13:03:48 2009 +0000 tg3: Lay proucer ring handling groundwork The patch increases the number of producer rings available and implements the constructor and destructor code that deals with them. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 4361935afe3abc3e5a93006b99197fac1fabbd50 Author: Matt Carlson Date: Fri Nov 13 13:03:47 2009 +0000 tg3: Consider rx_std_prod_idx a hw mailbox This patch changes how the code uses the rx_std_prod_idx member. In the following patch, the code will be changed so that it will act just like a hardware mailbox. This patch prepares the code so that memory barriers can be more easily inserted. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 411da6407e778bf946911df08bb5afc505422f31 Author: Matt Carlson Date: Fri Nov 13 13:03:46 2009 +0000 tg3: rename rx_[std|jmb]_ptr A later patch is going to add consumer indicies for the producer rings. To keep things readable, this patch renames rx_[std|jmb]_ptr to rx_[std|jmb]_prod_idx. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 86b21e59c9a65c8e46d35ac6c4220f63639828c6 Author: Matt Carlson Date: Fri Nov 13 13:03:45 2009 +0000 tg3: tg3_alloc_rx_skb(tnapi => tp) This patch converts the tnapi argument of tg3_alloc_rx_skb() to tp. The level of indirection is unnecessary. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit a3896167160ce9ad1eadeb88fd2f3971888444ae Author: Matt Carlson Date: Fri Nov 13 13:03:44 2009 +0000 tg3: Add prodring parameter to tg3_alloc_rx_skb() This patch changes the tg3_alloc_rx_skb() implementation to accept the destination producer ring set pointer as a parameter rather than assuming the source and destination producer rings are the same. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit afc081f83c59a7cf2c025a3ed89d011b5db556eb Author: Matt Carlson Date: Fri Nov 13 13:03:43 2009 +0000 tg3: Make tg3_alloc_rx_skb() a dst-only operation This patch removes the source index parameter of tg3_alloc_rx_skb(). A later patch will make it possible for the source and destination producer rings to be different. This patch opts to make tg3_alloc_rx_skb() a destination-only implementation and move the code sensitive to the difference elsewhere. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 78f90dcf184b8225a24217605c4289f1986451a3 Author: Matt Carlson Date: Fri Nov 13 13:03:42 2009 +0000 tg3: Move napi_add calls below tg3_get_invariants tg3_get_invariants(), among other things, discovers whether or not the device is MSI-X capable and how many interrupts it supports. This discovery needs to happen before registering NAPI instances with netdev. This patch moves the code block that calls napi_add later in tg3_init_one() so that tg3_get_invariants() has a chance to run first. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 35f2d7d0d7c222a580da0ed91c8d70c54267620a Author: Matt Carlson Date: Fri Nov 13 13:03:41 2009 +0000 tg3: Create tg3_poll_msix() for non-zero MSIX vecs This patch gives all non-zero MSIX vectors their own NAPI handler. This will make NAPI handling for those vectors slightly more efficient. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit cbf9ca6cf8304beb640a948709c4672bc1d5a55f Author: Matt Carlson Date: Fri Nov 13 13:03:40 2009 +0000 tg3: Allow DMAs to cross cacheline boundaries By default, the 5717 (and future chips) break up PCIe DMA packets across cacheline boundaries. This isn't necessary on x86. This patch selectively loosens the restriction. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 615774fe598f8ee971a8dfeb1f2ec4211241c433 Author: Matt Carlson Date: Fri Nov 13 13:03:39 2009 +0000 tg3: Use tg3_start_xmit_dma_bug for 5717 A0 The A0 revision of the 5717 has problems with short packet fragments. It needs to use the tg3_start_xmit_dma_bug() routine. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit e849cdc309de4a1e49dc3c23c6c36da91b990c9f Author: Matt Carlson Date: Fri Nov 13 13:03:38 2009 +0000 tg3: Add new HW_TSO_3 flag for 5717 The 5717 sets up TSO slightly differently in the transmit path. It looks like this method will be the new way of doing things. This patch defines a flag to indicate this. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 507399f18ea5810de42f0ea228c14305a8f67512 Author: Matt Carlson Date: Fri Nov 13 13:03:37 2009 +0000 tg3: Refine TSO and MSI discovery This patch consolidates the TSO capability discovery code into its own code block. The code that decides whether or not to allow TSO is then cleaned up. Finally, the patch consolidates all MSI and MSIX capability code into a single code block. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f66a29b03a2637ff052f2b8a81a5417fa44e228b Author: Matt Carlson Date: Fri Nov 13 13:03:36 2009 +0000 tg3: Move TG3_FLG2_PROTECTED_NVRAM to tg3_flags3 We need room for another TSO flag and it would be most efficient if it resided in tg3_flags2. This patch moves the TG3_FLG2_PROTECTED_NVRAM to tg3_flags3 to make room. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 24f4efd4e6c89a4093d0b8653d6669e45de45001 Author: Matt Carlson Date: Fri Nov 13 13:03:35 2009 +0000 tg3: Napify tg3_start_xmit_dma_bug() This patch converts tg3_start_xmit_dma_bug() to accomodate multiple NAPI instances. This is prep work for a later patch in this series. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 87668d352aa8d135bd695a050f18bbfc7b50b506 Author: Matt Carlson Date: Fri Nov 13 13:03:34 2009 +0000 tg3: Don't touch RCB nic addresses This patch avoids reprogramming the RCB NIC addresses for all 5755 and later devices. The address is incorrect for 5717 devices and should be correct by default for all other affected devices. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c2060fe1f36565e60e622662a4519babd3b72f68 Author: Matt Carlson Date: Fri Nov 13 13:03:33 2009 +0000 tg3: Add 5717 phy ID This patch adds the 5717 phy ID. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 9a1654ba0b50402a6bd03c7b0fe9b0200a5ea7b1 Author: Jarek Poplawski Date: Sun Nov 15 07:20:12 2009 +0000 net: Optimize hard_start_xmit() return checking Recent changes in the TX error propagation require additional checking and masking of values returned from hard_start_xmit(), mainly to separate cases where skb was consumed. This aim can be simplified by changing the order of NETDEV_TX and NET_XMIT codes, because the latter are treated similarly to negative (ERRNO) values. After this change much simpler dev_xmit_complete() is also used in sch_direct_xmit(), so it is moved to netdevice.h. Additionally NET_RX definitions in netdevice.h are moved up from between TX codes to avoid confusion while reading the TX comment. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit cb43e23435a66d5ed90f804af9efe9096503979f Author: Tomas Winkler Date: Sat Nov 14 08:36:36 2009 +0000 iwmc3200top: simplify the driver version drop the version parts not needed for in-tree driver Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit 11e2521701681452f54f0e98ee2041da07d24c70 Author: Tomas Winkler Date: Sat Nov 14 08:36:35 2009 +0000 iwmc3200top: use prefered style for the device table. Use device id number directly accompany with comment rather then a #define Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit ed04642f753b1240fc65c2978b7365e93209972a Author: Eric Dumazet Date: Fri Nov 13 21:54:04 2009 +0000 net: check the return value of ndo_select_queue() Check the return value of ndo_select_queue(). If the value isn't smaller than the real_num_tx_queues, print a warning message, and reset it to zero. Signed-off-by: Changli Gao Signed-off-by: Eric Dumazet ---- Signed-off-by: David S. Miller commit 9c2b5bdee125d840b2023dcc7625353c8e5bb10c Author: Amit Kumar Salecha Date: Fri Nov 13 16:37:37 2009 +0000 netxen: update MAINTAINERS Changing MAINTAINERS for netxen nic driver. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 07c3c4ee3a4143d0c8bb2e260c089bf012cf2c6e Author: Arnd Bergmann Date: Sun Nov 15 21:13:21 2009 -0800 hamradio/mkiss: fix typo in compat_ioctl My last commit introduced an typo causing the compat_ioctl function to do nothing useful. The obvious way for an ioctl function to work is to look at the command, not the argument first. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 7255fe2a42c612f2b8fe4c347f0a5f0c97d85a46 Author: Lucas De Marchi Date: Sun Nov 15 12:05:08 2009 -0200 perf stat: Do not print ratio when task-clock event is not counted The ratio between the number of events and the time elapsed makes sense only if task-clock event is counted. Otherwise it will be simply a (confusing) # 0.000 M/sec This patch outputs the ratio only if task-clock event is counted. Some test examples of before and after: Before: [lucas@skywalker linux.trees.git]$ sudo perf stat -e branch-misses -a -- sleep 1 Performance counter stats for 'sleep 1': 1367818 branch-misses # 0.000 M/sec 1.001494325 seconds time elapsed After (without task-clock): [lucas@skywalker perf]$ sudo ./perf stat -e branch-misses -a -- sleep 1 Performance counter stats for 'sleep 1': 1135044 branch-misses 1.001370775 seconds time elapsed After (with task-clock): [lucas@skywalker perf]$ sudo ./perf stat -e branch-misses -e task-clock -a -- sleep 1 Performance counter stats for 'sleep 1': 1070111 branch-misses # 0.534 M/sec 2002.730893 task-clock-msecs # 1.999 CPUs 1.001640292 seconds time elapsed Signed-off-by: Lucas De Marchi Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091115140507.GB21561@skywalker.lan> Signed-off-by: Ingo Molnar commit d2fb8b4151a92223da6a84006f8f248ebeb6677d Author: Hitoshi Mitake Date: Sun Nov 15 20:36:53 2009 +0900 perf tools: Add new perf_atoll() function to parse string representing size in bytes This patch modifies util/string.[ch] to add new function: perf_atoll() to parse string representing size in bytes. This function parses (\d+)(b|B|kb|KB|mb|MB|gb|GB) (e.g. "256MB") and returns its numeric value. (e.g. 268435456) Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1258285013-4759-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 498657a478c60be092208422fefa9c7b248729c2 Author: Tejun Heo Date: Fri Nov 13 18:33:53 2009 +0900 sched, kvm: Fix race condition involving sched_in_preempt_notifers In finish_task_switch(), fire_sched_in_preempt_notifiers() is called after finish_lock_switch(). However, depending on architecture, preemption can be enabled after finish_lock_switch() which breaks the semantics of preempt notifiers. So move it before finish_arch_switch(). This also makes the in- notifiers symmetric to out- notifiers in terms of locking - now both are called under rq lock. Signed-off-by: Tejun Heo Acked-by: Avi Kivity Cc: Peter Zijlstra LKML-Reference: <4AFD2801.7020900@kernel.org> Signed-off-by: Ingo Molnar commit 0ffa798d947f5f5e40690cc9d38e678080a34f87 Merge: 39dc78b c86e2ea c5659b7 Author: Ingo Molnar Date: Sun Nov 15 09:51:19 2009 +0100 Merge branches 'perf/powerpc' and 'perf/bench' into perf/core Merge reason: Both 'perf bench' and the pending PowerPC changes are now ready for the next merge window. Signed-off-by: Ingo Molnar commit 39dc78b6510323848e3356452f7dab9499736978 Merge: 4c49b12 156171c Author: Ingo Molnar Date: Sun Nov 15 09:50:38 2009 +0100 Merge commit 'v2.6.32-rc7' into perf/core Merge reason: pick up perf fixlets Signed-off-by: Ingo Molnar commit 14722485830fe6baba738b91d96f06fbd6cf7a18 Author: Jan Beulich Date: Fri Nov 13 11:56:24 2009 +0000 x86-64: __copy_from_user_inatomic() adjustments This v2.6.26 commit: ad2fc2c: x86: fix copy_user on x86 rendered __copy_from_user_inatomic() identical to copy_user_generic(), yet didn't make the former just call the latter from an inline function. Furthermore, this v2.6.19 commit: b885808: [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic converted the return type of __copy_to_user_inatomic() from unsigned long to int, but didn't do the same to __copy_from_user_inatomic(). Signed-off-by: Jan Beulich Cc: Linus Torvalds Cc: Alexander Viro Cc: Arjan van de Ven Cc: Andi Kleen Cc: LKML-Reference: <4AFD5778020000780001F8F4@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit f4131c6259b46bd84dcfcd3bb9ed08e99e2875a4 Author: FUJITA Tomonori Date: Sat Nov 14 21:26:50 2009 +0900 x86: Make calgary_iommu_init() static This makes calgary_iommu_init() static and moves it to remove the forward declaration. Signed-off-by: FUJITA Tomonori Cc: muli@il.ibm.com LKML-Reference: <20091114212603U.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 6959450e567c1f17d3ce8489099fc56c3721d577 Author: FUJITA Tomonori Date: Sat Nov 14 20:46:38 2009 +0900 swiotlb: Remove duplicate swiotlb_force extern declarations Signed-off-by: FUJITA Tomonori Cc: tony.luck@intel.com LKML-Reference: <1258199198-16657-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 94a15564ac63af6bb2ff8d4d04f86d5e7ee0278a Author: FUJITA Tomonori Date: Sat Nov 14 20:46:37 2009 +0900 x86: Move iommu_shutdown_noop to x86_init.c iommu_init_noop() is in arch/x86/kernel/x86_init.c but iommu_shutdown_noop() in arch/x86/include/asm/iommu.h. This moves iommu_shutdown_noop() to x86_init.c for consistency. Signed-off-by: FUJITA Tomonori LKML-Reference: <1258199198-16657-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit a3b28ee1090072092e2be043c24df94230e725b2 Author: FUJITA Tomonori Date: Sat Nov 14 20:46:36 2009 +0900 x86: Set dma_ops to nommu_dma_ops by default We set dma_ops to nommu_dma_ops at two different places for x86_32 and x86_64. This unifies them by setting dma_ops to nommu_dma_ops by default. Signed-off-by: FUJITA Tomonori LKML-Reference: <1258199198-16657-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 958fc41e320e17bd4db22d6da81184654350aaab Merge: 6e17e8b 282a395 Author: David S. Miller Date: Sat Nov 14 20:24:30 2009 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 6e17e8b9fb74b9fb9f6ea331f7f4a049c5b4c4b8 Author: Arnaldo Carvalho de Melo Date: Sat Nov 14 09:02:48 2009 -0800 alpha: Fixup recvmmsg syscall glue Reported-by: Stephen Rothwell Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 68efa37df779b3e04280598e8b5b3a1919b65fee Author: Ingo Molnar Date: Sat Nov 14 01:35:29 2009 +0100 hw-breakpoints, x86: Fix modular KVM build This build error: arch/x86/kvm/x86.c:3655: error: implicit declaration of function 'hw_breakpoint_restore' Happens because in the CONFIG_KVM=m case there's no 'CONFIG_KVM' define in the kernel - it's CONFIG_KVM_MODULE in that case. Make the prototype available unconditionally. Cc: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0c3c35e148dbc03106038dd25816fb9f3a084d86 Merge: 50d40f1 5e08fe5 Author: Takashi Iwai Date: Sat Nov 14 14:38:28 2009 +0100 Merge branch 'fix/misc' into topic/misc commit 50d40f187f9182ee8caa1b83f80a0e11e2226baa Author: Aleksey Kunitskiy Date: Sat Nov 14 15:18:54 2009 +0200 ALSA: ice1724 - Patch for suspend/resume for ESI Juli@ Add proper suspend/resume code for Juli@ cards. Based on ice1724 suspend/resume work of Igor Chernyshev. Fixes bug https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413 Tested on linux-2.6.31.6 Signed-off-by: Aleksey Kunitskiy Signed-off-by: Takashi Iwai commit 31c997cac76e62918858a432fff6e43fd48425f9 Author: Ingo Molnar Date: Sat Nov 14 10:34:41 2009 +0100 x86: Fix cpu_devs[] initialization in early_cpu_init() Yinghai Lu noticed that this commit: 0388423: x86: Minimise printk spew from per-vendor init code mistakenly left out the initialization of cpu_devs[] in the !PROCESSOR_SELECT case. Fix it. Reported-by: Yinghai Lu Cc: Dave Jones LKML-Reference: <20091113203000.GA19160@redhat.com> Signed-off-by: Ingo Molnar commit 2f51f9884f6a36b0fe9636d5a1937e5cbd25723b Author: Paul E. McKenney Date: Fri Nov 13 19:51:39 2009 -0800 rcu: Eliminate __rcu_pending() false positives Now that there are both ->gpnum and ->completed fields in the rcu_node structure, __rcu_pending() should check rdp->gpnum and rdp->completed against rnp->gpnum and rdp->completed, respectively, instead of the prior comparison against the rcu_state fields rsp->gpnum and rsp->completed. Given the old comparison, __rcu_pending() could return 1, resulting in a needless raise_softirq(RCU_SOFTIRQ). This useless work would happen if RCU responded to a scheduling-clock interrupt after the rcu_state fields had been updated, but before the rcu_node fields had been updated. Changing the comparison from the rcu_state fields to the rcu_node fields prevents this useless work from happening. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12581706991966-git-send-email-> Signed-off-by: Ingo Molnar commit 560d4bc0df9a5e63b980432282d8c2bd3559ec74 Author: Paul E. McKenney Date: Fri Nov 13 19:51:38 2009 -0800 rcu: Further cleanups of use of lastcomp Now that a copy of the rsp->completed flag is available in all rcu_node structures, make full use of it. It is still legitimate to access rsp->completed while holding the root rcu_node structure's lock, however. Also, tighten up force_quiescent_state()'s checks for end of current grace period. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1258170699933-git-send-email-> Signed-off-by: Ingo Molnar commit 4dc7be72b5c9d33669cb2b68d16c7588fb36d8df Author: Sascha Hauer Date: Mon Nov 2 09:49:41 2009 +0100 i.MX35: Fix audmux clock Signed-off-by: Sascha Hauer commit 9eedbdf1b4216e286bd660322ae5a52f79eee243 Author: Sascha Hauer Date: Thu Oct 29 17:12:39 2009 +0100 MXC: Add a digital audio multiplexer driver Signed-off-by: Sascha Hauer commit d8d982b1b284370512d5650aadb300d30fd9d4b2 Author: Sascha Hauer Date: Thu Oct 29 17:17:42 2009 +0100 i.MX3: Add sound (ssi) resources Signed-off-by: Sascha Hauer commit 23291df423fd6d656ce9d1189c4a477216d17f7c Author: Sascha Hauer Date: Thu Oct 22 14:50:33 2009 +0200 i.MX2: Add sound (ssi) resources Signed-off-by: Sascha Hauer commit 4f43c2ed21d5902f29c41aeb22728193a8617192 Author: Sascha Hauer Date: Thu Nov 12 11:30:26 2009 +0100 pcm043: Add NAND support Signed-off-by: Sascha Hauer commit f6f1bc64f0408814a835c09424269aabe39b5d38 Author: Sascha Hauer Date: Thu Nov 12 11:30:08 2009 +0100 pca100: use correct irq initialisation function Signed-off-by: Sascha Hauer commit 34499a7cc59061d1bf6d1bb448ae48f935f57c92 Author: Sascha Hauer Date: Thu Nov 12 11:29:43 2009 +0100 pca100: Add board to uncompress.h Signed-off-by: Sascha Hauer commit fcebfc8d9062ec696c5cf84129fa6fb2550de4fd Author: Juergen Beisert Date: Fri Oct 2 11:25:45 2009 +0200 MXC NFC: Fix NFCs address area on i.MX35 The address area of the NFC in the i.MX35 silicon is much larger than 4k. Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 9e0afdf8f32f34f7e67db4d4622cb13e39a0e5db Author: Juergen Beisert Date: Fri Oct 2 11:24:49 2009 +0200 MXC NFC: Add the clock resource to support NFC in i.MX35 Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer commit 060d20d32ae7c6a20a8eac465795ed5bc9b37f7c Author: Uwe Kleine-König Date: Mon Oct 19 22:19:28 2009 +0200 imx/gpio: Use handle_level_irq According to Russell King handle_edge_irq is only useful for "edge-based inputs where the controller does not remember transitions with the input masked." So using handle_edge_irq unconditionally for both edge and level irqs is wrong. Testing showed that the controller does remember transitions while the interrupt is masked. So use handle_level_irq unconditionally. Signed-off-by: Uwe Kleine-König Cc: Russell King Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit f4f8bda2321d5ecbfeef878a50c996e3a32a75e6 Author: Daniel Mack Date: Thu Nov 5 09:44:09 2009 +0100 MXC: Add support for ULPI Viewports The ARC USB OTG Core has support for accessing ULPI tranceivers through so called ULPI viewports. Export a set of function for use with the USB OTG framework. Signed-off-by: Daniel Mack Cc: Greg Kroah-Hartman Cc: David Brownell Cc: linux-usb@vger.kernel.org Signed-off-by: Sascha Hauer commit 04ea3c801905a4562cc89af78eba40dec0f960a9 Author: Valentin Longchamp Date: Tue Nov 3 18:09:51 2009 +0100 mx31moboard: camera support We have two mt9t031 cameras that have a muxed bus on the robot. Only one is currently initialized because of limitations in soc_camera that should be removed later. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4dd7129345be71cb20da99a75ded01ea50615f66 Author: Valentin Longchamp Date: Tue Nov 3 18:09:50 2009 +0100 mx31moboard: initialize ipu device for all the boards Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 65da9791cba6f873c996099e19b29035203a1318 Author: Valentin Longchamp Date: Tue Nov 3 18:09:49 2009 +0100 mx31moboard: SPI and MC13783 voltage regulator support Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 10949fff622e1488f0c534a10bca8edf5df95682 Author: Valentin Longchamp Date: Tue Nov 3 18:09:48 2009 +0100 mx31moboard: support for pin linked for battery presence check Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 421bf82e996826452ebe2011419f846a61950784 Author: Valentin Longchamp Date: Tue Nov 3 18:09:47 2009 +0100 mx31moboard: serial port fix We get rid of CTS/RTS lines on uart0 on our platform. This is the port we use as main kernel console. We do not want it to be blocking because of CTS/RTS signals, not allowing the system to boot or print messages. However we often use it with a bluetooth module needing CTS/RTS lines as backup login in case of trouble. To be able to use it, we assert CTS low so that the module can always send chars. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 8963c49fdba293fbc21aee1bbae9afa99a52755f Author: Valentin Longchamp Date: Tue Nov 3 18:09:46 2009 +0100 mx31: various pins used for mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 2097abcb8c5a1ccd8c126f6680df28ff6b6b96d0 Author: Alberto Panizzo Date: Thu Oct 15 19:33:24 2009 +0200 Armadillo500 Add support for Seiko Instruments S-35390A rtc over i2c. The RTC chip Seiko Instruments S-35390A is connected to the Application Processor over the second bus i2c with the hard coded address 0x30. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit e9a6c5d0c8c3f7f4d4ed5c5b1514327d58b76df3 Author: Alberto Panizzo Date: Thu Oct 15 19:31:07 2009 +0200 Armadillo500 Add i2c second bus support. This add pin allocation an device registration for the second bus i2c. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 07299ca323022be10ccd56055704de3717b8fe69 Author: Alberto Panizzo Date: Thu Oct 15 19:29:05 2009 +0200 Armadillo500 Correct bus length for SMSC9118 on board chip. Armadillo500 Correct bus length for SMSC9118 on board chip. The SMSC9118 network chip is connected to the data bus with a 16 bit interface, not 32 as early suggested. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit e33c049cb540602a2554264652e2c717ab7f5ec3 Author: Alberto Panizzo Date: Thu Oct 15 19:24:51 2009 +0200 Armadillo500 Add support for onboard GPIO Buttons. There are two low active Buttons on boards. This patch connect those to the Input Subsystem over gpio-keys driver. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 115b40c3d7d18d0cb48b4ba306807cc04f259316 Author: Daniel Mack Date: Mon Oct 26 11:55:59 2009 +0100 ARM: MX3: add MX3X_UART1_BASE_ADDR for uncompression on lilly1131 Reported-by: Jörg Knobloch Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 24fb84222e21f413d3541f4fad76495954b3c858 Author: Daniel Mack Date: Mon Oct 26 11:55:58 2009 +0100 ARM: MX3: Add pad config for MMC pins on lilly-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 50f349e9fcd069bfc76f238c0c6069aedbdbc385 Author: Daniel Mack Date: Mon Oct 26 11:55:57 2009 +0100 ARM: MX3: add support for mc13783 on lilly-db The chip is actually located on the module, not on the base board. But other base boards might add more SPI devices, so the spi_board_info struct must be separated from the module code. Signed-off-by: Daniel Mack Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 3ea2e1a4b74e39f3cc665cf84a25eedb3ae70647 Author: Daniel Mack Date: Mon Oct 26 11:55:56 2009 +0100 ARM: MX3: add SPI functions for lilly1131-db This adds support for the two SPI busses found on the lilly1131 module. Signed-off-by: Daniel Mack Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 95b7d4a8ca61da8f7280e10cc4e06823f988c4c8 Author: Daniel Mack Date: Mon Oct 26 11:55:55 2009 +0100 ARM: MX3: remove I2C defintions from mx31lilly.c The module does not use these pins for I2C but for SPI. Signed-off-by: Daniel Mack Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit 4c49b12853fbb5eff4849b7b6a1e895776f027a1 Author: Arjan van de Ven Date: Fri Nov 13 21:47:33 2009 -0800 perf_event: Fix invalid type in ioctl definition u64 is invalid in userspace headers, including ioctl definitions; use __u64 instead Signed-off-by: Arjan van de Ven Cc: LKML-Reference: <20091113214733.7cd76be9@infradead.org> Signed-off-by: Ingo Molnar commit 01a1796bc52f625edc23bf995d200e1556eec544 Author: akpm@linux-foundation.org Date: Fri Nov 13 16:47:10 2009 -0800 sound/pci/hda/patch_via.c: work around gcc-4.0.2 ICE sound/pci/hda/patch_via.c: In function 'via_hp_bind_automute': sound/pci/hda/patch_via.c:2074: internal compiler error: in do_SUBST, at combine.c:462 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. [added a comment by tiwai] Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit afa17a500a3667f66df450100538d06769529bba Author: Wolfram Sang Date: Fri Nov 13 06:14:52 2009 +0000 net/can: add driver for mscan family & mpc52xx_mscan Taken from socketcan-svn, fixed remaining todos, cleaned up, tested with a phyCORE-MPC5200B-IO and a custom board. Signed-off-by: Wolfram Sang Cc: Wolfgang Grandegger Cc: Grant Likely Cc: David Miller Signed-off-by: David S. Miller commit 888801357f240daee5d310327867d834bc05183b Author: Rémi Denis-Courmont Date: Fri Nov 13 05:01:19 2009 +0000 Phonet: convert routing table to RCU Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 7ed0132f232b11ae58b6d868e8d7ada9dfa066d7 Author: Rémi Denis-Courmont Date: Fri Nov 13 05:01:18 2009 +0000 Phonet: put protocols array under RCU Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 998221c26b86a7edd621e66b437628c5ec0f8e9b Author: Ursula Braun Date: Thu Nov 12 21:46:30 2009 +0000 netiucv: displayed TX bytes value much too high tx_bytes value must be updated by skb length before skb is freed. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 0ca8cc6fe7e1acd42a8a3741473ad7540f13893a Author: Ursula Braun Date: Thu Nov 12 21:46:29 2009 +0000 s390: remove cu3088 layer for lcs and ctcm The cu3088-driver used as common base for lcs- and ctcm-devices makes it difficult to assign the appropriate driver to an lcs-device or a ctcm-device. This patch eliminates the cu3088-driver and thus the root device "cu3088". Path /sys/devices/cu3088 is replaced with the pathes /sys/devices/lcs and /sys/devices/ctcm. Patch is based on a proposal from Cornelia Huck. Cc: Cornelia Huck Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 1e1815be87e45ce512f998ab35e9554c25031f4d Author: Frank Blaschka Date: Thu Nov 12 21:46:28 2009 +0000 ctcm: suspend has to wait for outstanding I/O State transition to DEV_STATE_STOPPED indicates all outstanding I/O has finished. Add wait queue to wait for this state. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit b7c2aecc0747f5c86a1959bce6a7ce8170a556b0 Author: Ursula Braun Date: Thu Nov 12 21:46:27 2009 +0000 iucv: add work_queue cleanup for suspend If iucv_work_queue is not empty during kernel freeze, a kernel panic occurs. This suspend-patch adds flushing of the work queue for pending connection requests and severing of remaining pending connections. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 2c1409a0a2b88585ec0c03f1de0aafa178c56313 Author: Eric Dumazet Date: Thu Nov 12 09:33:09 2009 +0000 inetpeer: Optimize inet_getid() While investigating for network latencies, I found inet_getid() was a contention point for some workloads, as inet_peer_idlock is shared by all inet_getid() users regardless of peers. One way to fix this is to make ip_id_count an atomic_t instead of __u16, and use atomic_add_return(). In order to keep sizeof(struct inet_peer) = 64 on 64bit arches tcp_ts_stamp is also converted to __u32 instead of "unsigned long". Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 234b27c3fd58fc0e15c04dd0fbf4337fac9c2a06 Author: Eric Dumazet Date: Thu Nov 12 04:11:50 2009 +0000 ipv6: speedup inet6_dump_addr() When handling large number of netdevices, inet6_dump_addr() is very slow because it has O(N^2) complexity. Instead of scanning one single list, we can use the NETDEV_HASHENTRIES sub lists of the dev_index hash table, and RCU lookups. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5256f2ef3a40d784b8369035bff3f4dc637a9801 Author: Lucian Adrian Grijincu Date: Thu Nov 12 05:07:26 2009 +0000 inet: fix inet_bind_bucket_for_each The first "node" is supposed to be the cursor used in the for_each. The second "node" is ment literally and should not be macro expanded: it's the name of the hlist_node field from the inet_bind_bucket. This currently works because when inet_bind_bucket_for_each is called it's argument is still "node". Signed-off-by: Lucian Adrian Grijincu Signed-off-by: David S. Miller commit eec4df9885f7822cdeca82577a25cac4598fa7cf Author: Eric Dumazet Date: Thu Nov 12 07:44:25 2009 +0000 ipv4: speedup inet_dump_ifaddr() Stephen Hemminger a écrit : > On Thu, 12 Nov 2009 15:11:36 +0100 > Eric Dumazet wrote: > >> When handling large number of netdevices, inet_dump_ifaddr() >> is very slow because it has O(N^2) complexity. >> >> Instead of scanning one single list, we can use the NETDEV_HASHENTRIES >> sub lists of the dev_index hash table, and RCU lookups. >> >> Signed-off-by: Eric Dumazet > > You might be able to make RCU critical section smaller by moving > it into loop. > Indeed. But we dump at most one skb (<= 8192 bytes ?), so rcu_read_lock holding time is small, unless we meet many netdevices without addresses. I wonder if its really common... Thanks [PATCH net-next-2.6] ipv4: speedup inet_dump_ifaddr() When handling large number of netdevices, inet_dump_ifaddr() is very slow because it has O(N2) complexity. Instead of scanning one single list, we can use the NETDEV_HASHENTRIES sub lists of the dev_index hash table, and RCU lookups. Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 342bde1b70c79bfc8509b017b3987f3c7541ff8e Author: PJ Waskiewicz Date: Thu Nov 12 23:50:43 2009 +0000 ixgbe: Make queue pairs on single MSI-X interrupts This patch pairs similar-numbered Rx and Tx queues onto a single MSI-X vector. For example, Tx queue 0 and Rx queue 0's interrupt with be ethX-RxTx-0. This allows for more efficient cleanup, since fewer interrupts will be firing during device operation. It also helps with a cleaner CPU affinity for IRQ affinity. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8a0717f30ce93a686d325122d8b0c6b73b32cfb3 Author: Nelson, Shannon Date: Thu Nov 12 18:47:11 2009 +0000 ixgbe: Flush the LSC mask change to prevent repeated interrupts Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d1eff35061b9346cb9bef2b79d9d99c8c096df13 Author: Alexander Duyck Date: Thu Nov 12 18:38:35 2009 +0000 igb: only recycle page if it is on our numa node This patch makes it so that we only recycle pages when they are from the local NUMA node. Non-local pages are freed and replaced with locally allocated pages. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dbabb065802a46d64b8869ba97674bfa90b55d83 Author: Alexander Duyck Date: Thu Nov 12 18:38:16 2009 +0000 igb: check for packets on all tx rings when link is down We were previously only checking the first tx ring to see if it had any packets in it when the link when down. However we should be checking all of the rings so this patch makes it so that all of the rings are now being checked. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 971d1d3a7e9f03af870909fddfc3b2fc08e4f5b1 Author: Alexander Duyck Date: Thu Nov 12 18:37:56 2009 +0000 igb: removed unused tx/rx total bytes/packets from adapter struct This patch removes unused variables total_tx_bytes, total_tx_packets, total_rx_bytes, and total_rx_packets from the adapter struct. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 128e45eb61b90c0c3094139cab6d00f67ff31377 Author: Alexander Duyck Date: Thu Nov 12 18:37:38 2009 +0000 igb: Rework how netdev->stats is handled This patch does some refactoring work that I felt was needed after reviewing the changes recently submitted relating to the replacement of net_stats with netdev->stats. This patch essentially creates two different collections of stats. The first handles the adapter specific states and is stored in gstring_stats, and the second is for netdev specific stats and is stored in gstring_net_stats. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a99955fc067f57cf3b627d4c74bf7952a2d51029 Author: Alexander Duyck Date: Thu Nov 12 18:37:19 2009 +0000 igb: when number of CPUs > 4 combine tx/rx queues to allow more queues This patch makes it so that nics such as 82576 and newer can support more hardware queues when there are more than 4 cpus by combining a tx/rx queue pair onto one interrupt so that 8 queue pairs can be supported and thus allow for more queues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 115f459a53b0c56a699a76b34b82507452eb3df5 Author: Alexander Duyck Date: Thu Nov 12 18:37:00 2009 +0000 igb: move timesync init into a seperate function Current code is quite large and making igb_probe difficult to read. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0e15439ae5fefe438056a26a00aa3c6a9de454e9 Author: Alexander Duyck Date: Thu Nov 12 18:36:41 2009 +0000 igb: change type for ring sizes to u16 in igb_set_ring_param Change the type for the ring size values to u16 and use min/max_t instead of min/max. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ddb1417529559810ec2024fd8ca21e4d497a3275 Author: Wan ZongShun Date: Wed Nov 11 04:35:22 2009 +0000 ARM: fix bug of checking on signed return value using unsigned statement in w90p910 platform To fix the bug of checking on signed return value using unsigned statement. Thanks Roel Kluin for digging out it. Signed-off-by: Roel Kluin Signed-off-by: Wan ZongShun Signed-off-by: David S. Miller commit 6baff15037693c057e3047da02c460c7e7b346c2 Author: Eric Dumazet Date: Wed Nov 11 17:48:52 2009 +0000 igmp: Use next_net_device_rcu() We need to use next_det_device_rcu() in RCU protected section. We also can avoid in_dev_get()/in_dev_put() overhead (code size mainly) in rcu_read_lock() sections. Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce81b76a39835a721cd168e0c0bcfe7132f1f66b Author: Eric Dumazet Date: Wed Nov 11 17:34:30 2009 +0000 ipv6: use RCU to walk list of network devices No longer need read_lock(&dev_base_lock), use RCU instead. We also can avoid taking references on inet6_dev structs. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bee7ca9ec03a26676ea2b1c28dc4039348eff3e1 Author: William Allen Simpson Date: Tue Nov 10 09:51:18 2009 +0000 net: TCP_MSS_DEFAULT, TCP_MSS_DESIRED Define two symbols needed in both kernel and user space. Remove old (somewhat incorrect) kernel variant that wasn't used in most cases. Default should apply to both RMSS and SMSS (RFC2581). Replace numeric constants with defined symbols. Stand-alone patch, originally developed for TCPCT. Signed-off-by: William.Allen.Simpson@gmail.com Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 811cb50baf63461ce0bdb234927046131fc7fa8b Author: Johannes Berg Date: Fri Nov 13 23:40:09 2009 +0100 tracing: Fix event format export For some reason the export of the event print format to userspace uses '#fmt' which breaks if the format string is anything but a plain string, for example if it is built with macros then the macro names are exported instead of their contents. Use "\"%s\"", fmt instead of "%s", #fmt to export the string and not the way it is built. For example, in net/mac80211/driver-trace.h for the trace event drv_start there is: TP_printk( LOCAL_PR_FMT, LOCAL_PR_ARG ) Which use to produce: print fmt: LOCAL_PR_FMT, REC->wiphy_name Now produces: print fmt: "%s", REC->wiphy_name Signed-off-by: Johannes Berg LKML-Reference: <20091113224009.GB23942@elte.hu> Signed-off-by: Steven Rostedt commit b01c845f0f2e3f9e54e6a78d5d56895f5b95e818 Author: Roland Dreier Date: Fri Nov 13 14:38:26 2009 -0800 x86: Remove CPU cache size output for non-Intel too As Dave Jones said about the output in intel_cacheinfo.c: "They aren't useful, and pollute the dmesg output a lot (especially on machines with many cores). Also the same information can be trivially found out from userspace." Give the generic display_cacheinfo() function the same treatment. Signed-off-by: Roland Dreier Acked-by: Dave Jones Cc: Mike Travis Cc: Andi Kleen Cc: Heiko Carstens Cc: Randy Dunlap Cc: Tejun Heo Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 688bcaff291cf2fe2734e43f2793d4d05b850518 Author: Ingo Molnar Date: Sat Nov 14 01:12:47 2009 +0100 hw-breakpoints: Fix build on !perf architectures the arch/alpha build fails with: In file included from tip/kernel/exit.c:52: tip/include/linux/hw_breakpoint.h: In function 'hw_breakpoint_addr': tip/include/linux/hw_breakpoint.h:21: error: 'struct perf_event' has no member named 'attr' [...] Move these helper inlines inside the CONFIG_HAVE_HW_BREAKPOINT ifdef. Cc: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0388423dba2217b4e5b6c61690b0506d13b25a49 Author: Dave Jones Date: Fri Nov 13 15:30:00 2009 -0500 x86: Minimise printk spew from per-vendor init code In the default case where the kernel supports all CPU vendors, we currently print out a bunch of not useful messages on every system. 32-bit: KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD NSC Geode by NSC Cyrix CyrixInstead Centaur CentaurHauls Transmeta GenuineTMx86 Transmeta TransmetaCPU UMC UMC UMC UMC 64-bit: KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD Centaur CentaurHauls Given that "what CPUs does the kernel support" isn't useful for the "support everything" case, we can suppress these printk's. Signed-off-by: Dave Jones LKML-Reference: <20091113203000.GA19160@redhat.com> Signed-off-by: Ingo Molnar commit b434a680a29424856e0f40199daa9f65963c7cb4 Author: Matthew Garrett Date: Fri Nov 13 14:57:02 2009 -0500 vgacon: Add support for setting the default cursor state Pass the vga cursor state to the vt layer, ensuring that we don't hide the cursor when the bootloader has deliberately disabled it. Signed-off-by: Matthew Garrett LKML-Reference: <1258142222-16092-3-git-send-email-mjg@redhat.com> Signed-off-by: H. Peter Anvin commit f6c06b6807ff9281295989ebad72523865325a4f Author: Matthew Garrett Date: Fri Nov 13 15:14:11 2009 -0500 vc: Add support for hiding the cursor when creating VTs Add support for setting a global default for whether or not a visible cursor should be enabled when creating VCs. The default will be to do so, unless overridden by the user at boot time or by a driver. Signed-off-by: Matthew Garrett LKML-Reference: <1258143251-5818-1-git-send-email-mjg@redhat.com> Signed-off-by: H. Peter Anvin commit a362c638bdf052bf424bce7645d39b101090f6ba Author: Thomas Gleixner Date: Sat Nov 14 00:26:34 2009 +0100 clocksource/events: Fix fallout of generic code changes powerpc grew a new warning due to the type change of clockevent->mult. The architectures which use parts of the generic time keeping infrastructure tripped over my wrong assumption that clocksource_register is only used when GENERIC_TIME=y. I should have looked and also I should have known better. These renitent Gaul villages are racking my nerves. Some serious deprecating is due. Signed-off-by: Thomas Gleixner commit 687b16fb617bd446439425a368ad7c7bbd202c73 Author: Frederic Weisbecker Date: Fri Nov 13 13:16:15 2009 +0100 hw-breakpoints: Provide an off-case for counter_arch_bp() If an arch doesn't support the hw breakpoints, counter_arch_bp() has no off case to cover the missing breakpoint info structure from the perf event. The result is a build error in non-x86 configs. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Prasad LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Prasad commit 235faf9b41b7b090be15b483bf900c0b9a8da4ea Author: Thadeu Lima de Souza Cascardo Date: Thu Nov 12 20:04:52 2009 +0100 rt2800lib: fix some typos and punctuation in comments fix some typos and punctuation in comments Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina [bart: ported the change from the older patch for rt2800usb & rt61pci] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit c37919bfe0a5c1bee9a31701a31e05a2f8840936 Author: Vasanthakumar Thiagarajan Date: Fri Nov 13 14:32:40 2009 +0530 ath9k_hw: Fix AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB and its shift value in 0x4054 The bit value of AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB is wrong, it should be 0x400 and the number of bits to be right shifted is 10. Having this wrong value in 0x4054 sometimes affects bt quality on btcoex environment. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c90017dd43f0cdb42134b9229761e8be02bcd524 Author: Vasanthakumar Thiagarajan Date: Fri Nov 13 14:32:39 2009 +0530 ath9k_hw: Fix possible OOB array indexing in gen_timer_index[] on 64-bit Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c258d2de972d1e391a3dec731e0801ed1cc85494 Author: Felix Fietkau Date: Wed Nov 11 17:23:31 2009 +0100 nl80211: only allow adding stations to running vlan interfaces Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f501dba4c4c5bda1b64c941997ab7ece1d503945 Author: Felix Fietkau Date: Wed Nov 11 13:17:36 2009 +0100 mac80211: fix broadcast frame handling for 4-addr AP VLANs Without this patch, broadcast frames from the station behind a 4-addr AP VLAN would be reflected back to the source. Fix this by checking the 4-addr flag before bridging multicast frames in the cell. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 61fa713c751683da915fa0c1aa502be85822c357 Author: Holger Schurig Date: Wed Nov 11 12:25:40 2009 +0100 cfg80211: return channel noise via survey API This patch implements the NL80211_CMD_GET_SURVEY command and an get_survey() ops that a driver can implement. The goal of this command is to allow a drivers to report channel survey data (e.g. channel noise, channel occupation). For now, only the mechanism to report back channel noise has been implemented. In future, there will either be a survey-trigger command --- or the existing scan-trigger command will be enhanced. This will allow user-space to request survey for arbitrary channels. Note: any driver that cannot report channel noise should not report any value at all, e.g. made-up -92 dBm. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a043897a314e8bcfc821d54fe4e591efed5936a3 Author: Holger Schurig Date: Wed Nov 11 11:30:02 2009 +0100 cfg80211: introduce nl80211_get_ifidx() ... which get's rid of three indentical cut-n-paste sections. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit f273fe55e3f3f0b66b7624c0102d3ef44bbdfe6a Author: Gertjan van Wingerde Date: Tue Nov 10 22:41:51 2009 +0100 rt2x00: Properly detect Ralink RT3070 devices. Allow rt2800usb to properly detect RT307X based devices, and set the appropriate chipset values. Signed-off-by: Gertjan van Wingede Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 264d9b7d8a629620c8de84c614910c3164e935f8 Author: Rui Paulo Date: Mon Nov 9 23:46:58 2009 +0000 mac80211: update copyrights to 2009 Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 63c5723bc3af8d4e86984dd4ff0c78218de418d0 Author: Rui Paulo Date: Mon Nov 9 23:46:57 2009 +0000 mac80211: add nl80211/cfg80211 handling of the new mesh root mode option. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit e304bfd30f356f7b75d30cad0029ecca705fd590 Author: Rui Paulo Date: Mon Nov 9 23:46:56 2009 +0000 mac80211: implement a timer to send RANN action frames RANN (Root Annoucement) frame TX. Send an action frame every second trying to build a path to all nodes on the mesh. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit d19b3bf6384e66ac6e11a61ee31ed2cfe149f4d8 Author: Rui Paulo Date: Mon Nov 9 23:46:55 2009 +0000 mac80211: replace "destination" with "target" to follow the spec Resulting object files have the same MD5 as before. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit be125c60e46e165fbfe33db36a4a9d943d560a5b Author: Rui Paulo Date: Mon Nov 9 23:46:54 2009 +0000 mac80211: add the DS params to the beacon Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 36f0d5f537885179c8fa92a70d4fcfb3a336b082 Author: Rui Paulo Date: Mon Nov 9 23:46:53 2009 +0000 mac80211: fix BSSID setup for beacon frames BSSID is now set to the TA. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 77fa76bb7f5589cd336e4da4a02e2d685b70ce0a Author: Rui Paulo Date: Mon Nov 9 23:46:52 2009 +0000 mac80211: set the AID field correctly for mesh peer frames This sets the AID field correctly for mesh peer confirm frames. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit a6a58b4f14106e61e5d78aac7995686ed0d5eab8 Author: Rui Paulo Date: Mon Nov 9 23:46:51 2009 +0000 mac80211: properly forward the RANN IE Increase hopcount and convert metric to LE before forwarding the RANN action frame. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit d611f062f4351d8609910648854908fecf58970d Author: Rui Paulo Date: Mon Nov 9 23:46:50 2009 +0000 mac80211: update PERR frame format Update the PERR IE frame format according to latest draft (3.03). Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 90a5e16992fa6105f7ebf3f29f5cf5feb1bbf7dc Author: Rui Paulo Date: Wed Nov 11 00:01:31 2009 +0000 mac80211: implement RANN processing and forwarding Process the RANN (Root Annoucement) Frame and try to find the HWMP root station by sending a PREQ. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit d9b263528e01bfbaf716b51f38606b3dfe5ac1e9 Author: Matthew Garrett Date: Fri Nov 13 14:57:00 2009 -0500 x86, setup: Store the boot cursor state Add a field to store the boot cursor state and implement this for VGA on x86. This can then be used to set the default policy for the boot console. Signed-off-by: Matthew Garrett LKML-Reference: <1258142222-16092-1-git-send-email-mjg@redhat.com> Signed-off-by: H. Peter Anvin commit cbbef5e183079455763fc470ccf69008f92ab4b6 Author: Patrick McHardy Date: Tue Nov 10 06:14:24 2009 +0000 vlan/macvlan: propagate transmission state to upper layers Both vlan and macvlan devices usually don't use a qdisc and immediately queue packets to the underlying device. Propagate transmission state of the underlying device to the upper layers so they can react on congestion and/or inform the sending process. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 572a9d7b6fc7f20f573664063324c086be310c42 Author: Patrick McHardy Date: Tue Nov 10 06:14:14 2009 +0000 net: allow to propagate errors through ->ndo_hard_start_xmit() Currently the ->ndo_hard_start_xmit() callbacks are only permitted to return one of the NETDEV_TX codes. This prevents any kind of error propagation for virtual devices, like queue congestion of the underlying device in case of layered devices, or unreachability in case of tunnels. This patches changes the NET_XMIT codes to avoid clashes with the NETDEV_TX codes and changes the two callers of dev_hard_start_xmit() to expect either errno codes, NET_XMIT codes or NETDEV_TX codes as return value. In case of qdisc_restart(), all non NETDEV_TX codes are mapped to NETDEV_TX_OK since no error propagation is possible when using qdiscs. In case of dev_queue_xmit(), the error is propagated upwards. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ea2bdab11da97b2ac6f87d79976d25fa6d27295 Author: Joe Perches Date: Mon Nov 9 18:05:45 2009 +0000 niu.c: Use correct length in strncmp Untested, no hardware Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4edd5ad0f5a7a2238e5df311ce36789bae6751c0 Author: Kristoffer Glembo Date: Fri Nov 13 13:25:06 2009 -0800 apbuart: Use of_find_node_by_path to find root node. Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit 8e13c7b772387f55dc05c6a0e5b30010c3c46ff9 Author: Thomas Gleixner Date: Mon Nov 9 15:21:41 2009 +0000 locking: Reduce ifdefs in kernel/spinlock.c With the Kconfig based inline decisions we can remove extra ifdefs in kernel/spinlock.c by creating the complex lockbreak functions as inlines which are inserted into the non inlined lock functions. No functional change. Signed-off-by: Thomas Gleixner LKML-Reference: <20091109151428.548614772@linutronix.de> Acked-by: Heiko Carstens Reviewed-by: Ingo Molnar Acked-by: Peter Zijlstra commit 6beb000923882f6204ea2cfcd932e568e900803f Author: Thomas Gleixner Date: Mon Nov 9 15:21:34 2009 +0000 locking: Make inlining decision Kconfig based commit 892a7c67 (locking: Allow arch-inlined spinlocks) implements the selection of which lock functions are inlined based on defines in arch/.../spinlock.h: #define __always_inline__LOCK_FUNCTION Despite of the name __always_inline__* the lock functions can be built out of line depending on config options. Also if the arch does not set some inline defines the generic code might set them; again depending on config options. This makes it unnecessary hard to figure out when and which lock functions are inlined. Aside of that it makes it way harder and messier for -rt to manipulate the lock functions. Convert the inlining decision to CONFIG switches. Each lock function is inlined depending on CONFIG_INLINE_*. The configs implement the existing dependencies. The architecture code can select ARCH_INLINE_* to signal that it wants the corresponding lock function inlined. ARCH_INLINE_* is necessary as Kconfig ignores "depends on" restrictions when a config element is selected. No functional change. Signed-off-by: Thomas Gleixner LKML-Reference: <20091109151428.504477141@linutronix.de> Acked-by: Heiko Carstens Reviewed-by: Ingo Molnar Acked-by: Peter Zijlstra commit 97813f2fe77804a4464564c75ba8d8826377feea Author: Jon Hunter Date: Tue Aug 18 12:45:11 2009 -0500 nohz: Allow 32-bit machines to sleep for more than 2.15 seconds In the dynamic tick code, "max_delta_ns" (member of the "clock_event_device" structure) represents the maximum sleep time that can occur between timer events in nanoseconds. The variable, "max_delta_ns", is defined as an unsigned long which is a 32-bit integer for 32-bit machines and a 64-bit integer for 64-bit machines (if -m64 option is used for gcc). The value of max_delta_ns is set by calling the function "clockevent_delta2ns()" which returns a maximum value of LONG_MAX. For a 32-bit machine LONG_MAX is equal to 0x7fffffff and in nanoseconds this equates to ~2.15 seconds. Hence, the maximum sleep time for a 32-bit machine is ~2.15 seconds, where as for a 64-bit machine it will be many years. This patch changes the type of max_delta_ns to be "u64" instead of "unsigned long" so that this variable is a 64-bit type for both 32-bit and 64-bit machines. It also changes the maximum value returned by clockevent_delta2ns() to KTIME_MAX. Hence this allows a 32-bit machine to sleep for longer than ~2.15 seconds. Please note that this patch also changes "min_delta_ns" to be "u64" too and although this is unnecessary, it makes the patch simpler as it avoids to fixup all callers of clockevent_delta2ns(). [ tglx: changed "unsigned long long" to u64 as we use this data type through out the time code ] Signed-off-by: Jon Hunter Cc: John Stultz LKML-Reference: <1250617512-23567-3-git-send-email-jon-hunter@ti.com> Signed-off-by: Thomas Gleixner commit 27185016b806d5a1181ff501cae120582b2b27dd Author: Thomas Gleixner Date: Thu Nov 12 22:12:06 2009 +0100 nohz: Track last do_timer() cpu The previous patch which limits the sleep time to the maximum deferment time of the time keeping clocksource has some limitations on SMP machines: if all CPUs are idle then for all CPUs the maximum sleep time is limited. Solve this by keeping track of which cpu had the do_timer() duty assigned last and limit the sleep time only for this cpu. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Jon Hunter Cc: John Stultz commit 98962465ed9e6ea99c38e0af63fe1dcb5a79dc25 Author: Jon Hunter Date: Tue Aug 18 12:45:10 2009 -0500 nohz: Prevent clocksource wrapping during idle The dynamic tick allows the kernel to sleep for periods longer than a single tick, but it does not limit the sleep time currently. In the worst case the kernel could sleep longer than the wrap around time of the time keeping clock source which would result in losing track of time. Prevent this by limiting it to the safe maximum sleep time of the current time keeping clock source. The value is calculated when the clock source is registered. [ tglx: simplified the code a bit and massaged the commit msg ] Signed-off-by: Jon Hunter Cc: John Stultz LKML-Reference: <1250617512-23567-2-git-send-email-jon-hunter@ti.com> Signed-off-by: Thomas Gleixner commit 529eaccd900a59724619b4a6ef6579fd518d5218 Author: Thomas Gleixner Date: Fri Nov 13 14:32:19 2009 +0100 nohz: Type cast printk argument On some archs local_softirq_pending() has a data type of unsigned long on others its unsigned int. Type cast it to (unsigned int) in the printk to avoid the compiler warning. Signed-off-by: Thomas Gleixner LKML-Reference: commit e3a4fab0c0c30e21e104712f4e9cb39f175d0f21 Author: Thomas Gleixner Date: Wed Nov 11 14:05:34 2009 +0000 mips: Use generic mult/shift factor calculation for clocks Replace the MIPS functions of mult/shift factor calculation for clock events and clock sources with inline functions which call the generic functions. The minimum guaranteed conversion range is set to 4 seconds which corresponds to the current MIPS implementation. Signed-off-by: Thomas Gleixner Cc: Mikael Pettersson Acked-by: Ralf Baechle Acked-by: Linus Walleij Cc: John Stultz LKML-Reference: <20091111134229.807255074@linutronix.de> commit 7d2f944a2b836c69a9d260a0a5f0d1720d57fdff Author: Thomas Gleixner Date: Wed Nov 11 14:05:29 2009 +0000 clocksource: Provide a generic mult/shift factor calculation MIPS has two functions to calculcate the mult/shift factors for clock sources and clock events at run time. ARM needs such functions as well. Implement a function which calculates the mult/shift factors based on the frequencies to which and from which is converted. The function also has a parameter to specify the minimum conversion range in seconds. This range is guaranteed not to produce a 64bit overflow when a value is multiplied with the calculated mult factor. The larger the conversion range the less becomes the conversion accuracy. Provide two inline wrappers which handle clock events and clock sources. For clock events the "from" frequency is nano seconds per second which corresponds to 1GHz and "to" is the device frequency. For clock sources "from" is the device frequency and "to" is nano seconds per second. Signed-off-by: Thomas Gleixner Tested-by: Mikael Pettersson Acked-by: Ralf Baechle Acked-by: Linus Walleij Cc: John Stultz LKML-Reference: <20091111134229.766673305@linutronix.de> commit 23af368e9a904f59256c27d371ce223d6cee0430 Author: Thomas Gleixner Date: Wed Nov 11 14:05:25 2009 +0000 clockevents: Use u32 for mult and shift factors The mult and shift factors of clock events differ in their data type from those of clock sources for no reason. u32 is sufficient for both. shift is always <= 32 and mult is limited to 2^32-1 to avoid 64bit multiplication overflows in the conversion. Preparatory patch for a generic mult/shift factor calculation function. Signed-off-by: Thomas Gleixner Tested-by: Mikael Pettersson Acked-by: Ralf Baechle Acked-by: Linus Walleij Cc: John Stultz LKML-Reference: <20091111134229.725664788@linutronix.de> commit 8d27b2f7988b652dbabf79291a3e2550c06e1af5 Author: Martin Michlmayr Date: Thu Nov 5 20:27:46 2009 +0000 [ARM] Kirkwood: Remove code duplication in QNAP setup files Remove the code duplication found in the setup files of TS-219 and TS-41x. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 287989cac25ad71002153d55875584210adf78bd Author: Martin Michlmayr Date: Thu Nov 5 18:15:31 2009 +0000 [ARM] Kirkwood: Add QNAP TS-110/TS-210 to Kconfig help text Add two new models from QNAP to the help text. They are compatible with the TS-119/TS-219 and therefore supported by the current code. The only difference is that they have less RAM (256 MB instead of 512 MB), a slower CPU (800 MHz vs 1.2 GHz) and a plastic case. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit b421950cdc7d0ac900414aa582c5e35aeab921c0 Author: Martin Michlmayr Date: Thu Nov 5 18:09:01 2009 +0000 [ARM] Kirkwood: Add MPP36 for QNAP TS-11x/TS-21x MPP36 is used on the QNAP TS-11x/TS-21x devices to indicate how much RAM there is: it's high for 512 MB RAM (TS-x19) and low for 256 MB (TS-x10). While this may not be very useful, let's add it for completeness. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit f3a131b90b8f9bbcf46edc3bdd5246a744ba0017 Author: Martin Michlmayr Date: Thu Nov 5 17:45:32 2009 +0000 [ARM] Kirkwood: Add support for QNAP TS-41x Turbo NAS Add support for the QNAP TS-410, TS-410U, TS-419P and TS-419U Turbo NAS. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 67178767b936fb47a3a5e88097cff41ccbda7acb Author: Frederic Weisbecker Date: Fri Nov 13 10:06:34 2009 +0100 tracing: Rename 'lockdep' event subsystem into 'lock' Lockdep events subsystem gathers various locking related events such as a request, release, contention or acquisition of a lock. The name of this event subsystem is a bit of a misnomer since these events are not quite related to lockdep but more generally to locking, ie: these events are not reporting lock dependencies or possible deadlock scenario but pure locking events. Hence this rename. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Acked-by: Hitoshi Mitake Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt Cc: Li Zefan LKML-Reference: <1258103194-843-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8e9aa8f067d2dcd9457980ced618e1cffbcfba46 Author: Paul E. McKenney Date: Thu Nov 12 22:35:04 2009 -0800 rcu: Simplify association of forced quiescent states with grace periods The force_quiescent_state() function also took a snapshot of the ->completed field, which was as obnoxious as it was in rcu_sched_qs() and friends. So snapshot ->gpnum-1. Also, since the dyntick_record_completed() and dyntick_recall_completed() functions are now simple assignments that are independent of CONFIG_NO_HZ, and since their names are now misleading, get rid of them. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12580941042308-git-send-email-> Signed-off-by: Ingo Molnar commit b32e9eb6ad29572b4451847d0e8227c9be2b6d69 Author: Paul E. McKenney Date: Thu Nov 12 22:35:03 2009 -0800 rcu: Accelerate callback processing on CPUs not detecting GP end An earlier fix for a race resulted in a situation where the CPUs other than the CPU that detected the end of the grace period would not process their callbacks until the next grace period started. This means that these other CPUs would unnecessarily demand that an extra grace period be started. This patch eliminates this extra grace period and speeds callback processing by propagating rsp->completed to the rcu_node structures in the case where the CPU detecting the end of the grace period sees no reason to start a new grace period. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1258094104417-git-send-email-> Signed-off-by: Ingo Molnar commit fe3bcfe1f6c1fc4ea7706ac2d05e579fd9092682 Author: Peter Zijlstra Date: Thu Nov 12 15:55:29 2009 +0100 sched: More generic WAKE_AFFINE vs select_idle_sibling() Instead of only considering SD_WAKE_AFFINE | SD_PREFER_SIBLING domains also allow all SD_PREFER_SIBLING domains below a SD_WAKE_AFFINE domain to change the affinity target. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20091112145610.909723612@chello.nl> Signed-off-by: Ingo Molnar commit a50bde5130f65733142b32975616427d0ea50856 Author: Peter Zijlstra Date: Thu Nov 12 15:55:28 2009 +0100 sched: Cleanup select_task_rq_fair() Clean up the new affine to idle sibling bits while trying to grok them. Should not have any function differences. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20091112145610.832503781@chello.nl> Signed-off-by: Ingo Molnar commit 15cd8812ab2ce62a2f779e93a8398bdad752291a Author: Dave Jones Date: Thu Nov 12 18:15:43 2009 -0500 x86: Remove the CPU cache size printk's They aren't really useful, and they pollute the dmesg output a lot (especially on machines with many cores). Also the same information can be trivially found out from userspace. Reported-by: Mike Travis Signed-off-by: Dave Jones Acked-by: H. Peter Anvin Cc: Andi Kleen Cc: Heiko Carstens Cc: Roland Dreier Cc: Randy Dunlap Cc: Tejun Heo Cc: Greg Kroah-Hartman Cc: Yinghai Lu Cc: David Rientjes Cc: Steven Rostedt Cc: Rusty Russell Cc: Hidetoshi Seto Cc: Jack Steiner Cc: Frederic Weisbecker LKML-Reference: <20091112231542.GA7129@redhat.com> Signed-off-by: Ingo Molnar commit 8721c81f6480e2c9acbf92078383953f825d1057 Author: Stephen M. Cameron Date: Thu Nov 12 12:50:06 2009 -0600 cciss: Fix weird usage of ENXIO in cciss_scsi.c cciss: Fix weird usage of ENXIO in cciss_scsi.c Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 5c07a311a80adb0138fc08e8279c60255d88d0b8 Author: Don Brace Date: Thu Nov 12 12:50:01 2009 -0600 cciss: Add enhanced scatter-gather support. cciss: Add enhanced scatter-gather support. For controllers which supported, more than 512 scatter-gather elements per command may be used, and the max transfer size can be increased to 8192 blocks. Signed-off-by: Don Brace Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit da0021841c3ea6a82588efae3260015847ea5d33 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:55 2009 -0600 cciss: Do not automatically rescan on UNIT ATTENTION/LUN DATA CHANGED cciss: Do not automatically rescan on UNIT ATTENTION/LUN DATA CHANGED There are problems with doing this. If, say, several logical drives are deleted at once, several such UNIT ATTENTIONS will be encountered, often during the rescan triggered by the first such UNIT ATTENTION. The block layer may be in the midst of trying to add logical drives which were just deleted (resulting in the subsequent UNIT ATTENTION(s).) Making the rescan code robust enough to tolerate this kind of thing is too complicated for the moment. So, for now, we just don't do it. Note: This UNIT ATTENTION/LUN DATA CHANGED situation only occurs on the MSA2012. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit d06dfbd236795acbb67e22e51bb8af12e953ced3 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:50 2009 -0600 cciss: Remove unnecessary check in scan_thread cciss: Remove unnecessary check in scan_thread Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit b0e15f6db1110319cb2e747e59e1200450a5ba3e Author: Stephen M. Cameron Date: Thu Nov 12 12:49:45 2009 -0600 cciss: fix typo that causes scsi status to be lost. cciss: fix typo that causes scsi status to be lost. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit aa43f11147141fcd0e5f2fca45a4d71eab3fbe88 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:40 2009 -0600 cciss: remove sendcmd() as it is no longer used. cciss: remove sendcmd() as it is no longer used. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 29009a036f2feb07d8a9b3c715a6365dddd82a7a Author: Stephen M. Cameron Date: Thu Nov 12 12:49:35 2009 -0600 cciss: clean up code in cciss_shutdown cciss: clean up code in cciss_shutdown. Send the flush cache command down with interrupts still enabled, and do not do DMA from the stack. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 7b838bde922730b9cfeaa93ba80bd31173941495 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:30 2009 -0600 cciss: Remove the "withirq" parameter from various functions where possible cciss: Remove the "withirq" parameter from various functions where possible Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit c08fac6500b658c16834aceb13a08ebddd908333 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:25 2009 -0600 cciss: Retry driver initiated cmds with unit attention condition cciss: Retry driver initiated cmds with unit attention condition Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit fd8489cff419d216479655b8041b8574ed89f806 Author: Stephen M. Cameron Date: Thu Nov 12 12:49:19 2009 -0600 cciss: Fix problem with remove_from_scan_list on driver unload cciss: Fix problem with remove_from_scan_list that on driver unload it doesn't remove the controller from the scan list correctly if the controller is currently being scanned for new devices. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 8ba95c69fe6eb65ff36b64136ae24844ddba16a1 Author: Alex Chiang Date: Thu Nov 12 12:49:14 2009 -0600 cciss: Make device attributes static cciss: Make device attributes static Cc: Stephen M. Cameron Signed-off-by: Alex Chiang Acked-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 401de8184a4d94688962b9258fe10ab309ffda9c Author: Akinobu Mita Date: Fri Nov 13 16:02:56 2009 +0900 ALSA: ice1712: Use bitrev8 Signed-off-by: Akinobu Mita Signed-off-by: Takashi Iwai commit 0a3f5e35aae43b20fef09fd800cf52cc9a2d61a8 Author: Mark Brown Date: Thu Nov 12 23:15:08 2009 +0000 ASoC: Remove redundant snd_soc_dapm_new_widgets() calls The DAPM widgets are now insntantiated by the core when creating the card so there is no need for the individual CODEC drivers to do so. Signed-off-by: Mark Brown commit 282a39546f6d213399b325ec830ee37e8d915924 Author: Dmitry Eremin-Solenikov Date: Thu Nov 12 23:58:23 2009 +0300 ieee802154: make wpan-phy class registration to subsys_initcall Move ieee802154 initialisation to subsys_initcall call, so that wpan-phy class is initialised before all devices (thus saving us from oops during bootup). Signed-off-by: Dmitry Eremin-Solenikov commit 0d26ce3403b3841fa2656df08a819fc7eaebaa17 Author: Roel Kluin Date: Thu Nov 12 17:43:11 2009 +0100 sound: OSS: fix error return in dma_ioctl() The returned error should stay negative Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit c871a05315d1a76034ea06feeda92081e1d608bf Author: Joonyoung Shim Date: Thu Nov 12 17:14:04 2009 +0900 ASoC: Add jack_status_check callback function for GPIO jacks The jack_status_check callback function is the interface to check the status of the jack. Some target provides the method to distinguish what is the jack inserted - headphone jack, microphone jack, tvout jack, etc, so we can implement it using the jack_status_check function. Signed-off-by: Joonyoung Shim Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit f773205300fa4a5a405f8ed6e3bb97e46c6eefb4 Author: Barry Song <21cnbao@gmail.com> Date: Thu Nov 12 12:01:47 2009 +0800 ASoC: move setting ac97 platformdata earlier than ac97 read/write While probing, AC97 codec drivers and soc-core generically execute the following sequence: snd_soc_new_ac97_codec -> snd_soc_new_pcms -> reset ac-link/read AC97 ID to detect ->... -> set platform_data to ac97 by soc-core commit 474828a40f6ddab6e2a3475a19c5c84aa3ec7d60 adds platform_data to snd_ac97 instance. But ac97 platform data hasn't given to snd_ac97 before actual ac97 operations. Then while ac97_read access platform_data of snd_ac97 for detecting, NULL pointer oops will fire. That means old platform_data patch doesn't work in real-life cases. This patch moves the operation of setting ac97 platform_data earlier than ac97 reading/writing operations. Then it makes platform_data of AC97 become practically useful. Signed-off-by: Barry Song <21cnbao@gmail.com> Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit ba2b87f5a93659a28cc4fb812ccd7b4146ac3aa9 Author: Jassi Brar Date: Wed Nov 11 14:02:18 2009 +0900 ASoC: Fixed arguments passed to SMDK64xx set_pll Corrected the order of 'source' and 'pll_id' arguments. Signed-off-by: Jassi Brar Signed-off-by: Mark Brown commit 7aae816dae150caad8880357e42303935c0179a8 Author: Mark Brown Date: Tue Nov 10 16:08:04 2009 +0000 ASoC: Add bit clock rate calculator utility functions Many devices need to calculate the bit clock rate desired to work out the clock configuration required for the device. Provide utility functions to do this using both hw_params structures and raw numbers. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 761b1d26df542fd5eb348837351e4d2f3bc7bffe Author: Hidetoshi Seto Date: Thu Nov 12 13:33:45 2009 +0900 sched: Fix granularity of task_u/stime() Originally task_s/utime() were designed to return clock_t but later changed to return cputime_t by following commit: commit efe567fc8281661524ffa75477a7c4ca9b466c63 Author: Christian Borntraeger Date: Thu Aug 23 15:18:02 2007 +0200 It only changed the type of return value, but not the implementation. As the result the granularity of task_s/utime() is still that of clock_t, not that of cputime_t. So using task_s/utime() in __exit_signal() makes values accumulated to the signal struct to be rounded and coarse grained. This patch removes casts to clock_t in task_u/stime(), to keep granularity of cputime_t over the calculation. v2: Use div_u64() to avoid error "undefined reference to `__udivdi3`" on some 32bit systems. Signed-off-by: Hidetoshi Seto Acked-by: Peter Zijlstra Cc: xiyou.wangcong@gmail.com Cc: Spencer Candland Cc: Oleg Nesterov Cc: Stanislaw Gruszka LKML-Reference: <4AFB9029.9000208@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 055a00865dcfc8e61f3cbefbb879c9577bd36ae5 Author: Mike Galbraith Date: Thu Nov 12 11:07:44 2009 +0100 sched: Fix/add missing update_rq_clock() calls kthread_bind(), migrate_task() and sched_fork were missing updates, and try_to_wake_up() was updating after having already used the stale clock. Aside from preventing potential latency hits, there' a side benefit in that early boot printk time stamps become monotonic. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1258020464.6491.2.camel@marge.simson.net> Signed-off-by: Ingo Molnar LKML-Reference: commit 4739a9748e1bd7459f22f7e94e7d85710ca83954 Author: Eric W. Biederman Date: Fri Apr 3 05:36:01 2009 -0700 sysctl: Remove the last of the generic binary sysctl support Now that all of the users stopped using ctl_name and strategy it is safe to remove the fields from struct ctl_table, and it is safe to remove the stub strategy routines as well. Signed-off-by: Eric W. Biederman commit f8572d8f2a2ba75408b97dc24ef47c83671795d7 Author: Eric W. Biederman Date: Thu Nov 5 13:32:03 2009 -0800 sysctl net: Remove unused binary sysctl code Now that sys_sysctl is a compatiblity wrapper around /proc/sys all sysctl strategy routines, and all ctl_name and strategy entries in the sysctl tables are unused, and can be revmoed. In addition neigh_sysctl_register has been modified to no longer take a strategy argument and it's callers have been modified not to pass one. Cc: "David Miller" Cc: Hideaki YOSHIFUJI Cc: netdev@vger.kernel.org Signed-off-by: Eric W. Biederman commit 86b1bc68e2f4244e4ea5db5458df9d19259fbb30 Author: Tetsuo Handa Date: Mon Nov 9 09:12:15 2009 +0900 sysctl security/tomoyo: Don't look at ctl_name ctl_name field was removed. Always use procname field. Signed-off-by: Tetsuo Handa Signed-off-by: Eric W. Biederman commit 50469619999a0bc2ba8fa1365dc443b7aed190af Author: Eric W. Biederman Date: Fri Apr 3 05:11:21 2009 -0700 sysctl arm: Remove binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Remove a smattering of ctl_names used in sysctl paths, and kill the ctl_names in the recently added mach-bcmring. mach-bcmring never should have had sysctl entries with .ctl_name set. The binary sysctl interface has been frozen for a long time before that code was merged, to prevent probmes with conflicts and lack of testing. The sysctl_check code would have caught this if anyone had ever tested it that way. So I have simply dropped the binary sysctl support instead of adding another compat entry into sysctl_binary.c. Going through /proc/sys/reboot/warm will still work. Cc: Leo Chen Cc: Russell King Signed-off-by: Eric W. Biederman commit 24a065624dcdd91e8bfd0f14113feb91c7ed11ca Author: Eric W. Biederman Date: Fri Apr 3 05:33:18 2009 -0700 sysctl x86: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: Eric W. Biederman commit a09b6e811800cba79e8104deff12c544b835a3ff Author: Eric W. Biederman Date: Fri Apr 3 05:32:13 2009 -0700 sysctl sh: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Also add an C99 named initializer to the child member of unaligned_root to prevent chaos as the ctl_table definition changes over time. Cc: Paul Mundt Signed-off-by: Eric W. Biederman commit 26ea51355847b5cd70b46fe9ec9c68ad067118a4 Author: Eric W. Biederman Date: Fri Apr 3 05:29:59 2009 -0700 sysctl powerpc: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Paul Mackerras Acked-by: Benjamin Herrenschmidt Signed-off-by: Eric W. Biederman commit d00faf81afa288a8f8447f00a38405873c550092 Author: Eric W. Biederman Date: Fri Apr 3 05:15:37 2009 -0700 sysctl ia64: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Tony Luck Cc: Fenghua Yu Signed-off-by: Eric W. Biederman commit b05fd35d9146c184e1903a26b6516f1660ca230f Author: Eric W. Biederman Date: Fri Apr 3 04:36:34 2009 -0700 sysctl s390: Remove dead sysctl binary support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Eric W. Biederman commit 67a7e4f8bdfdff4b47c4a64bbc1fdbb3dfbd16c6 Author: Eric W. Biederman Date: Fri Apr 3 03:53:38 2009 -0700 sysctl frv: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: David Howells Signed-off-by: Eric W. Biederman commit 163931922220e4cb5effd5af1e105038c2f0ab7a Author: Eric W. Biederman Date: Fri Apr 3 04:33:48 2009 -0700 sysctl mips/lasat: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. The deleted strategy routines here surprise me. ctl_name was CTL_UNNUMBERED so they would not have been called at all. Acked-by: Ralf Baechle Signed-off-by: Eric W. Biederman commit 894d2491153a9f8270dbed21175d06fde4eba6c7 Author: Eric W. Biederman Date: Thu Nov 5 14:34:02 2009 -0800 sysctl drivers: Remove dead binary sysctl support Now that sys_sysctl is a wrapper around /proc/sys all of the binary sysctl support elsewhere in the tree is dead code. Cc: Jens Axboe Cc: Corey Minyard Cc: Greg Kroah-Hartman Cc: Matt Mackall Cc: Herbert Xu Cc: Neil Brown Cc: "James E.J. Bottomley" Acked-by: Clemens Ladisch for drivers/char/hpet.c Signed-off-by: Eric W. Biederman commit c2a86a67fadd9dddc58f55ce6323c04dde59ebed Author: Eric W. Biederman Date: Fri Apr 3 05:29:19 2009 -0700 sysctl crypto: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Acked-by: Herbert Xu Signed-off-by: Eric W. Biederman commit 5cdb35557d022f8dc51b532b5cd1a8e9ed7bcdb7 Author: Eric W. Biederman Date: Fri Apr 3 05:08:03 2009 -0700 sysctl security/keys: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: David Howells Signed-off-by: Eric W. Biederman commit 56992309ccbe71f4321ddd50ee2f76f91b412c1a Author: Eric W. Biederman Date: Thu Nov 5 15:38:40 2009 -0800 sysctl kernel: Remove binary sysctl logic Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Ingo Molnar Cc: Peter Zijlstra Cc: David Howells Signed-off-by: Eric W. Biederman commit ab09203e302b6e526f6930f3e460064b0f253ae9 Author: Eric W. Biederman Date: Thu Nov 5 14:25:10 2009 -0800 sysctl fs: Remove dead binary sysctl support Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Cc: Jan Harkes Signed-off-by: Eric W. Biederman commit 2bc4657c15e4a33d9a192579c7627a397dbcbebc Author: Eric W. Biederman Date: Fri Apr 3 02:51:10 2009 -0700 sysctl ipc: Remove dead binary sysctl support code. Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Signed-off-by: Eric W. Biederman commit a153cf9dd038244b7fd9adad3152b85deec5c4af Author: Eric W. Biederman Date: Wed Apr 1 05:13:18 2009 -0700 sysctl: Stop using binary sysctl numbers in arlan. Looking at the arlan code it appears all of the sysctl entries are disabled debug code, and have not been enabled since the driver was merged in feb of 2003. Since except for a select few that userspace can't get along without the binary sysctl table entries are going away. Kill the unused arlan binary sysctls. Cc: John W. Linville Cc: linux-wireless@vger.kernel.org Signed-off-by: Eric W. Biederman commit 961303c44d8384a872d7eee069701b044ef1abc5 Author: Eric W. Biederman Date: Wed Apr 1 04:46:38 2009 -0700 sysctl: Remove the unused frv sysctl unumbers The frv sysctl tables can only be used from proc so kill the sysctl numbers. Cc: David Howells Signed-off-by: Eric W. Biederman commit 757010f026ab3044c594003e216d00a33ed95c56 Author: Eric W. Biederman Date: Thu Nov 12 01:39:06 2009 -0800 sysctl binary: Reorder the tests to process wild card entries first. A malicious user could have passed in a ctl_name of 0 and triggered the well know ctl_name to procname mapping code, instead of the wild card matching code. This is a slight problem as wild card entries don't have procnames, and because in some alternate universe a network device might have ifindex 0. So test for and handle wild card entries first. Signed-off-by: Eric W. Biederman commit 63395b65972c07edce595c9cc8a983016738cdac Author: Eric W. Biederman Date: Thu Nov 12 00:35:55 2009 -0800 sysctl: sysctl_binary.c Fix compilation when !CONFIG_NET dev_get_by_index does not exist when the network stack is not compiled in, so only include the code to follow wild card paths when the network stack is present. I have shuffled the code around a little to make it clear that dev_put is called after dev_get_by_index showing that there is no leak. Signed-off-by: Eric W. Biederman commit 7288561af9a931c59e431336b553d897ee37b67d Author: Takashi Iwai Date: Thu Nov 12 10:01:18 2009 +0100 ALSA: hda - Fix build error without CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_POWER_SAVE is independent from CONFIG_SND_HDA_HWDEP. Thus snd_hda_hwdep_add_power_sysfs() needs the check of both kconfigs. Signed-off-by: Takashi Iwai commit f8b7163529831ee3ad6a1aeaa0f1256cb527008d Author: Takashi Iwai Date: Thu Nov 12 09:50:28 2009 +0100 ALSA: hda - Don't access invalid substream in proc file The commit e3303235209c0496b490e10ab131e72a9568c153 "ALSA: hda - proc - show which I/O NID is associated to PCM device" introduces the access to substream pointer. But, PCMs may have no substreams in one or both directions, and this results in NULL dereference. Also, print the first substream number doesn't make sense. This patch removes the access to the substream pointer, and reformat to fit to the standard coding style. Signed-off-by: Takashi Iwai commit db48cccc7c709ccfa7cb4ac702bc27c216bffee7 Author: Hiroshi Shimamoto Date: Thu Nov 12 11:25:34 2009 +0900 perf_event, x86: Annotate init functions and data Annotate init functions and data with __init and __initconst. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <4AFB721E.8070203@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit cffd377e5879ea58522224a785a083f201afd80e Author: Hidetoshi Seto Date: Thu Nov 12 15:52:40 2009 +0900 x86, mce: Fix __init annotations The intel_init_thermal() is called from resume path, so it cannot be marked as __init. OTOH mce_banks_init() is only called from __mcheck_cpu_cap_init() which is marked as __cpuinit, so it can be also marked as __cpuinit. Signed-off-by: Hidetoshi Seto Acked-by: Yong Wang LKML-Reference: <4AFBB0B8.2070501@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 8b2a5dac7859dd1954095fce8b6445c3ceb36ef6 Author: Steven Rostedt Date: Wed Nov 11 19:36:03 2009 -0500 tracing: do not disable interrupts for trace_clock_local Disabling interrupts in trace_clock_local takes quite a performance hit to the recording of traces. Using perf top we see: ------------------------------------------------------------------------------ PerfTop: 244 irqs/sec kernel:100.0% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 2842.00 - 40.4% : trace_clock_local 1043.00 - 14.8% : rb_reserve_next_event 784.00 - 11.1% : ring_buffer_lock_reserve 600.00 - 8.5% : __rb_reserve_next 579.00 - 8.2% : rb_end_commit 440.00 - 6.3% : ring_buffer_unlock_commit 290.00 - 4.1% : ring_buffer_producer_thread [ring_buffer_benchmark] 155.00 - 2.2% : debug_smp_processor_id 117.00 - 1.7% : trace_recursive_unlock 103.00 - 1.5% : ring_buffer_event_data 28.00 - 0.4% : do_gettimeofday 22.00 - 0.3% : _spin_unlock_irq 14.00 - 0.2% : native_read_tsc 11.00 - 0.2% : getnstimeofday Where trace_clock_local is 40% of the tracing, and the time for recording a trace according to ring_buffer_benchmark is 210ns. After converting the interrupts to preemption disabling we have from perf top: ------------------------------------------------------------------------------ PerfTop: 1084 irqs/sec kernel:99.9% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 1277.00 - 16.8% : native_read_tsc 1148.00 - 15.1% : rb_reserve_next_event 896.00 - 11.8% : ring_buffer_lock_reserve 688.00 - 9.1% : __rb_reserve_next 664.00 - 8.8% : rb_end_commit 563.00 - 7.4% : ring_buffer_unlock_commit 508.00 - 6.7% : _spin_unlock_irq 365.00 - 4.8% : debug_smp_processor_id 321.00 - 4.2% : trace_clock_local 303.00 - 4.0% : ring_buffer_producer_thread [ring_buffer_benchmark] 273.00 - 3.6% : native_sched_clock 122.00 - 1.6% : trace_recursive_unlock 113.00 - 1.5% : sched_clock 101.00 - 1.3% : ring_buffer_event_data 53.00 - 0.7% : tick_nohz_stop_sched_tick Where trace_clock_local drops from 40% to only taking 4% of the total time. The trace time also goes from 210ns down to 179ns (31ns). I talked with Peter Zijlstra about the impact that sched_clock may have without having interrupts disabled, and he told me that if a timer interrupt comes in, sched_clock may report a wrong time. Balancing a seldom incorrect timestamp with a 15% performance boost, I'll take the performance boost. Acked-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 2fb10732c3b3c9671b1a391996ce7e551876c25e Author: Eric W. Biederman Date: Wed Nov 11 19:32:48 2009 -0800 sysctl: Warn about all uses of sys_sysctl. Now that the glibc pthread implemenation no longers uses sysctl() users of sysctl are as rare as hen's teeth. So remove the glibc exception from the warning, and use the standard printk_ratelimit instead of rolling our own. Signed-off-by: Eric W. Biederman commit 805003a41c035ccbe37d3d5ef5e6df8874346b5a Author: Arnd Bergmann Date: Wed Nov 11 03:45:22 2009 +0000 net/atm: move all compat_ioctl handling to atm/ioctl.c We have two implementations of the compat_ioctl handling for ATM, the one that we have had for ages in fs/compat_ioctl.c and the one added to net/atm/ioctl.c by David Woodhouse. Unfortunately, both versions are incomplete, and in practice we use a very confusing combination of the two. For ioctl numbers that have the same identifier on 32 and 64 bit systems, we go directly through the compat_ioctl socket operation, for those that differ, we do a conversion in fs/compat_ioctl.c. This patch moves both variants into the vcc_compat_ioctl() function, while preserving the current behaviour. It also kills off the COMPATIBLE_IOCTL definitions that we never use here. Doing it this way is clearly not a good solution, but I hope it is a step into the right direction, so that someone is able to clean up this mess for real. Signed-off-by: Arnd Bergmann Cc: Eric Dumazet Cc: David Woodhouse Signed-off-by: David S. Miller commit a2116ed223c88b6c424f42398e54d1607dc785ba Author: Arnd Bergmann Date: Wed Nov 11 03:39:40 2009 +0000 net/compat: fix dev_ifsioc emulation corner cases Handling for SIOCSHWTSTAMP is broken on architectures with a split user/kernel address space like s390, because it passes a real user pointer while using set_fs(KERNEL_DS). A similar problem might arise the next time somebody adds code to dev_ifsioc. Split up dev_ifsioc into three separate functions for SIOCSHWTSTAMP, SIOC*IFMAP and all other numbers so we can get rid of set_fs in all potentially affected cases. Signed-off-by: Arnd Bergmann Cc: Patrick Ohly Cc: David S. Miller Signed-off-by: David S. Miller commit c029f4440fd3f0dcc6923f917536fd62d6ef5d1d Author: Ben Dooks Date: Tue Nov 10 07:22:24 2009 +0000 DM9000: Wake on LAN support Add support for Wake on LAN (WOL) reception and waking the device up from this signal via the ethtool interface. Currently we are only supporting the magic-packet variant of wakeup. WOL is enabled by specifying a second interrupt resource to the driver which indicates where the interrupt for the WOL is being signalled. This then enables the necessary ethtool calls to leave the device in a state to receive WOL frames when going into suspend. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: David S. Miller commit f9254edaabfc48f5a28bb5a88c6db48704cc058d Author: Ali Gholami Rudi Date: Tue Nov 10 06:40:06 2009 +0000 ixgbe: r_idx not used in ixgbe_msix_clean_rx() The values of r_idx and rx_ring are not used after the last time they are set in ixgbe_msix_clean_rx(), so they can be removed. Signed-off-by: Ali Gholami Rudi Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit e5c140a340c4796054b0f6e9035e1faa7edfa6d6 Author: stephen hemminger Date: Wed Nov 11 07:40:36 2009 +0000 decnet: convert dndev_lock to spinlock There is no reason for this lock to be reader/writer since the reader only has lock held for a very brief period. The overhead of read_lock is more expensive than spinlock. Compile tested only, I am not a decnet user. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a6f0eb6adc42e5eed3f35af99c61c0e411b16f8e Author: Steven Rostedt Date: Wed Nov 11 17:14:07 2009 -0500 ring-buffer: Add multiple iterations between benchmark timestamps The ring_buffer_benchmark does a gettimeofday after every write to the ring buffer in its measurements. This adds the overhead of the call to gettimeofday to the measurements and does not give an accurate picture of the length of time it takes to record a trace. This was first noticed with perf top: ------------------------------------------------------------------------------ PerfTop: 679 irqs/sec kernel:99.9% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 1673.00 - 27.8% : trace_clock_local 806.00 - 13.4% : do_gettimeofday 590.00 - 9.8% : rb_reserve_next_event 554.00 - 9.2% : native_read_tsc 431.00 - 7.2% : ring_buffer_lock_reserve 365.00 - 6.1% : __rb_reserve_next 355.00 - 5.9% : rb_end_commit 322.00 - 5.4% : getnstimeofday 268.00 - 4.5% : ring_buffer_unlock_commit 262.00 - 4.4% : ring_buffer_producer_thread [ring_buffer_benchmark] 113.00 - 1.9% : read_tsc 91.00 - 1.5% : debug_smp_processor_id 69.00 - 1.1% : trace_recursive_unlock 66.00 - 1.1% : ring_buffer_event_data 25.00 - 0.4% : _spin_unlock_irq And the length of each write to the ring buffer measured at 310ns. This patch adds a new module parameter called "write_interval" which is defaulted to 50. This is the number of writes performed between timestamps. After this patch perf top shows: ------------------------------------------------------------------------------ PerfTop: 244 irqs/sec kernel:100.0% [1000Hz cpu-clock-msecs], (all, 4 CPUs) ------------------------------------------------------------------------------ samples pcnt kernel function _______ _____ _______________ 2842.00 - 40.4% : trace_clock_local 1043.00 - 14.8% : rb_reserve_next_event 784.00 - 11.1% : ring_buffer_lock_reserve 600.00 - 8.5% : __rb_reserve_next 579.00 - 8.2% : rb_end_commit 440.00 - 6.3% : ring_buffer_unlock_commit 290.00 - 4.1% : ring_buffer_producer_thread [ring_buffer_benchmark] 155.00 - 2.2% : debug_smp_processor_id 117.00 - 1.7% : trace_recursive_unlock 103.00 - 1.5% : ring_buffer_event_data 28.00 - 0.4% : do_gettimeofday 22.00 - 0.3% : _spin_unlock_irq 14.00 - 0.2% : native_read_tsc 11.00 - 0.2% : getnstimeofday do_gettimeofday dropped from 13% usage to a mere 0.4%! (using the default 50 interval) The measurement for each timestamp went from 310ns to 210ns. That's 100ns (1/3rd) overhead that the gettimeofday call was introducing. Signed-off-by: Steven Rostedt commit 41bdecf17e6dba92256c65972ec79a482d978be5 Author: stephen hemminger Date: Wed Nov 11 07:39:27 2009 +0000 decnet: add RTNL lock when reading address list Add missing locking in the case of auto binding to the default device. The address list might change while this code is looking at the list. Compile tested only, I am not a decnet user. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 08e9897d512fe7a67e46209543b3815b57a36dc7 Author: stephen hemminger Date: Tue Nov 10 07:20:34 2009 +0000 netdev: fold name hash properly (v3) The full_name_hash function does not produce well distributed values in the lower bits, so most code uses hash_32() to fold it. This is really a bug introduced when name hashing was added, back in 2.5 when I added name hashing. hash_32 is all that is needed since full_name_hash returns unsigned int which is only 32 bits on 64 bit platforms. Also, there is no point in using hash_32 on ifindex, because the is naturally sequential and usually well distributed. Signed-off-by: Stephen Hemminger Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7e5ca6a22de8fa79897daae51d76b473e44f8066 Author: Ron Mercer Date: Wed Nov 11 12:54:06 2009 +0000 qlge: Change version to v1.00.00.23.00.00-01. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a5a62a1c7fbb1a1257a968ceaee48480007c2bea Author: Ron Mercer Date: Wed Nov 11 12:54:05 2009 +0000 qlge: Clean up module parameter name. Change it to match qlge_xxx convention. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 74e1243549d1ce7f7a94d88bd0c104dec3dfc66b Author: Ron Mercer Date: Wed Nov 11 12:54:04 2009 +0000 qlge: Add asic reset to open call. Force asic to known state at open(). Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 4fc9b8697cdb42f7df322fb97e635491e182ae65 Author: Ron Mercer Date: Wed Nov 11 12:54:03 2009 +0000 qlge: Do not change frame routing during suspend. We do not need to change the frame routing to direct all frames to the management fifo during suspend. This is now done by the firmware. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 3586e0a9a4a5f19110627d6ba81ada32a358467d Author: David S. Miller Date: Wed Nov 11 19:06:30 2009 -0800 clocksource/timecompare: Fix symbol exports to be GPL'd. Noticed by Thomas GLeixner. Signed-off-by: David S. Miller commit a3bc1f11e9b867a4f49505ecac486a33af248b2e Author: Anton Vorontsov Date: Tue Nov 10 14:11:10 2009 +0000 gianfar: Revive SKB recycling Before calling gfar_clean_tx_ring() the driver grabs an irqsave spinlock, and then tries to recycle skbs. But since skb_recycle_check() returns 0 with IRQs disabled, we'll never recycle any skbs. It appears that gfar_clean_tx_ring() and gfar_start_xmit() are mostly idependent and can work in parallel, except when they modify num_txbdfree. So we can drop the lock from most sections and thus fix the skb recycling. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 836cf7faf8c75743477ed6ed341cce491f3183fb Author: Anton Vorontsov Date: Tue Nov 10 14:11:08 2009 +0000 gianfar: Fix race between gfar_error() and gfar_start_xmit() gfar_error() can arrive at the middle of gfar_start_xmit() processing, and so it can trigger transfers of BDs that we don't yet expect to be transmitted. Fix this by locking the tx queues in gfar_error(). Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 499428ed28d800eb5cf25889bb1e026637d99dfc Author: Anton Vorontsov Date: Tue Nov 10 14:11:07 2009 +0000 gianfar: Fix thinko in gfar_set_rx_stash_index() We obviously want to write a modified 'temp' value back to the register, not the saved IRQ flags. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 5ea681d4e6c01b191f01644024f35901721fa438 Author: Anton Vorontsov Date: Tue Nov 10 14:11:05 2009 +0000 gianfar: Fix build with CONFIG_PM=y commit fba4ed030cfae7efdb6b79a57b0c5a9d72c9 ("gianfar: Add Multiple Queue Support") introduced the following build failure: CC gianfar.o gianfar.c: In function 'gfar_restore': gianfar.c:1249: error: request for member 'napi' in something not a structure or union This patch fixes the issue. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 4dea29d06641da5dd6f83000536c48335333e042 Author: Anton Vorontsov Date: Tue Nov 10 14:11:03 2009 +0000 gianfar: Remove 'Interrupt problem!' warning It is OK to poll with disabled IRQs, so remove the warning. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit e84af6ddef0e447c56b256a2bb5a90af11bdac2e Author: Anton Vorontsov Date: Tue Nov 10 14:11:01 2009 +0000 skbuff: Do not allow skb recycling with disabled IRQs NAPI drivers try to recycle SKBs in their polling routine, but we generally don't know the context in which the polling will be called, and the skb recycling itself may require IRQs to be enabled. This patch adds irqs_disabled() test to the skb_recycle_check() routine, so that we'll not let the drivers hit the skb recycling path with IRQs disabled. As a side effect, this patch actually disables skb recycling for some [broken] drivers. E.g. gianfar driver grabs an irqsave spinlock during TX ring processing, and then tries to recycle an skb, and that caused the following badness: nf_conntrack version 0.5.0 (1008 buckets, 4032 max) ------------[ cut here ]------------ Badness at kernel/softirq.c:143 NIP: c003e3c4 LR: c423a528 CTR: c003e344 ... NIP [c003e3c4] local_bh_enable+0x80/0xc4 LR [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack] Call Trace: [c15d1b60] [c003e32c] local_bh_disable+0x1c/0x34 (unreliable) [c15d1b70] [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack] [c15d1b80] [c02c6370] nf_conntrack_destroy+0x3c/0x70 Signed-off-by: David S. Miller commit 434a8a58d75faa7170807a7ac2fcf7f3d85a0dc3 Author: David S. Miller Date: Wed Nov 11 18:53:00 2009 -0800 ipv6: Remove unused var in inet6_dump_ifinfo() Reported by Stephen Rothwell: -------------------- Today's linux-next build (x86_64 allmodconfig) produced this warning: net/ipv6/addrconf.c: In function 'inet6_dump_ifinfo': net/ipv6/addrconf.c:3833: warning: unused variable 'err' Introduced by commit 84d2697d9649339215675551eae28ba04068dea1 ("ipv6: speedup inet6_dump_ifinfo()"). -------------------- Signed-off-by: David S. Miller commit a646365cc330b5aaf4452c91f61b1e0d1acf68d0 Author: Roel Kluin Date: Wed Nov 11 22:26:35 2009 +0100 tracing: Fix return value of tracing_stats_read() The function tracing_stats_read() mistakenly returns ENOMEM instead of the negative value -ENOMEM. Signed-off-by: Roel Kluin LKML-Reference: <4AFB2C0B.50605@gmail.com> Signed-off-by: Steven Rostedt commit 8171d88089ad63fc442b2bf32af7c18653adc5cb Merge: 4d02260 cf22854 Author: Tony Lindgren Date: Wed Nov 11 15:21:24 2009 -0800 Merge branch 'pm-upstream/pm-cpuidle' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into 7xx-iosplit-plat-merge commit 4d0226042c05588be47b06bc1dbe7a09c9c540a4 Merge: 774facd f265dc4 Author: Tony Lindgren Date: Wed Nov 11 15:20:53 2009 -0800 Merge branch 'pm-upstream/pm-off' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into 7xx-iosplit-plat-merge commit cf22854cee10e16e28b1dde136c37e82b7d503ee Author: Tero Kristo Date: Fri Mar 20 15:21:02 2009 +0200 OMAP3: PM: Added resched check into idle calls Fixes a bug where scheduling is delayed until next wakeup due to race condition (e.g. interrupt requests scheduling just before omap_sram_idle is entered.) Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit da869621c3cd93d5a8361f243b50e5d48d12bd14 Author: Peter 'p2' De Schrijver Date: Tue Mar 10 18:05:19 2009 +0200 OMAP3: PM: idle: Remove fclk check for idle loop This patch removes the check to see if some functional clocks are still enabled before entering sleep. This is no longer needed when using safe state (C1) that keeps CORE active. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 7139178e9baf44dab454b757ed91a9ee149ad0f2 Author: Jouni Hogander Date: Tue Oct 28 10:59:05 2008 +0200 OMAP3: PM: Use pwrdm_set_next_pwrst instead of set_pwrdm_state in idle loop It is more efficient to use pwrdm_set_next_pwrst for mpu, core and neon instead of set_pwrdm_state in idle loop. It is anyway known that those are active in idle loop. So no need to use set_pwrdm_state. Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 8e431edb60ef175e6aa986e8260b23cc267a13fb Author: Sanjeev Premi Date: Fri Mar 13 21:34:25 2009 +0530 OMAP3: PM: CPUidle: Start C-state definitions from base 0 The current definition of C-states starts from base 1. Whereas, the cpuidle driver uses base 0. This patch eliminates need for explicit mapping (add/ sbutract) due to different base values. Signed-off-by: Sanjeev Premi Signed-off-by: Kevin Hilman commit 06d8f065b3bac1673825be744d22742ad72f9c2a Author: Peter 'p2' De Schrijver Date: Fri Mar 13 18:19:16 2009 +0200 OMAP3: PM: CPUidle: Add new lower-latency C1 state This patch introduces a new C state which allows MPU to go to WFI but keeps the core domain active. This offers a much better wakeup latency (3us vs 10s of us for the current C1) at the cost of a higher power consumption. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 0343371e22dcfec9291193ad3e771dbce3a93670 Author: Kalle Jokiniemi Date: Fri Sep 26 11:04:20 2008 +0300 OMAP3: PM: CPUidle: fix init sequencing Previously omap3_idle_init() was called in device_init, while omap_pm_init() is called at late_initcall. This causes the cpu idle driver to call omap_sram_idle before it is properly initialized. This patch fixes the issue by moving omap3_idle_init into omap3_pm_init. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 0f724ed92b0ad152a03b7a194815787eeeec17a4 Author: Kevin Hilman Date: Tue Oct 28 17:32:11 2008 -0700 OMAP3: PM: CPUidle: check activity for C2, C3, correct accounting Use the activity check for states C2 and C3 as well. This is primarily to prevent deeper states during UART activity. Also, if a different state is chosen than the target state, update the 'last_state' accordingly so that CPUidle state accounting is coorect. Signed-off-by: Kevin Hilman commit c98e223006ffd4c5e4cd0f75c5a10bd2b45508d5 Author: Kevin Hilman Date: Tue Oct 28 17:30:07 2008 -0700 OMAP3: PM: CPUidle: obey enable_off_mode flag If 'enable_off_mode' is not set, force powerdomain states to RET instead of OFF. Signed-off-by: Kevin Hilman commit 20b01669885483ba2102d5a71c662bb6ae1bed0b Author: Rajendra Nayak Date: Wed Oct 8 17:31:22 2008 +0530 OMAP3: PM: CPUidle: support retention and off-mode C-states This patch adds support and enables state C4(MPU RET + CORE RET) and MPU OFF states (C3 and C5.) Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 99e6a4d22f7c7bda0cd8978333c2e85fba02f181 Author: Rajendra Nayak Date: Wed Oct 8 17:30:58 2008 +0530 OMAP3: PM: CPUidle: base driver and support for C1-C2 Basic CPUidle driver for OMAP3 with deepest sleep state supported being MPU CSWR. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit f265dc4c5d39f2bd369d97c87a7bd89061b159d4 Author: Rajendra Nayak Date: Tue Jun 9 22:30:41 2009 +0530 OMAP3: PM: Program SDRC to send self refresh on timeout of AUTO_CNT Due to an OMAP3 errata (1.142), on HS/EMU devices SDRC should be programed to issue automatic self refresh on timeout of AUTO_CNT = 1 prior to any transition to OFF mode. This is needed only on sil rev's ES3.0 and above. This patch enables the above needed WA in the SDRC power register value stored in scratchpad, so that ROM code restores this value in SDRC POWER on the wakeup path. The original SDRC POWER register value is stored and restored back in omap_sram_idle() function. This fixes some random crashes observed while stressing suspend on HS/EMU devices. Signed-off-by: Rajendra Nayak Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 3a7ec26bb44988051d97479f6dfcfd4942a99049 Author: Kalle Jokiniemi Date: Thu Mar 26 15:59:01 2009 +0200 OMAP3: PM: Enable IO-CHAIN wakeup OMAP 3430 ES3.1 chips have a separate bit for IO daisy-chain wake up enabling. It needs to be enabled when entering retention or off state, otherwise waking up might not work in all situations. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit c16c3f672defb7aca1276065375fe1ee5ca003dc Author: Tero Kristo Date: Thu Dec 11 16:46:57 2008 +0200 OMAP3: PM: MPU and CORE should stay awake if there is CAM domain ACTIVE MPU and CORE should stay awake if there is CAM domain ACTIVE. This is because that module doesn't have wake-up capability. This should replace the patch that is currently in the PM branch. Signed-off-by: Jouni Hogander Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit ecf157d0b38953cdefa2c8fb7ccb5a62db242aef Author: Tero Kristo Date: Mon Dec 1 13:17:29 2008 +0200 OMAP3: PM: Prevent PER from going OFF when CORE is going INA OMAP3 can't generate wakeups in this state, thus it is not permitted. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 658ce97ef57f4c0737bfcb76050400b53389ed6b Author: Kevin Hilman Date: Tue Nov 4 20:50:52 2008 -0800 OMAP3: PM: decouple PER and CORE context save and restore Signed-off-by: Kevin Hilman commit d7814e4df6e9c54680a30de3f439c66a2a55ce94 Author: Kevin Hilman Date: Tue Oct 6 14:30:23 2009 -0700 PM debug: allow configurable wakeup from suspend on OMAP GPtimer Using debugfs, export a configurable wakeup timer to be used to wakeup system from suspend. If a non-zero value is written to /debug/pm_debug/wakeup_timer_seconds, A timer wakeup event will wake the system and resume after the configured number of seconds. Signed-off-by: Kevin Hilman commit c40552bc82166adb21a1a7fcb1dc4e76352b1b79 Author: Kevin Hilman Date: Tue Oct 6 14:25:09 2009 -0700 OMAP3: PM debug: allow runtime toggle of PM features Allow enable/disable of low-power states during idle. To enable low-power idle: echo 1 > /debug/pm_debug/sleep_while_idle to disable: echo 0 > /debug/pm_debug/sleep_while_idle Also allow enable/disable of OFF-mode. To enable: echo 1 > /debug/pm_debug/enable_off_mode to disable: echo 0 > /debug/pm_debug/enable_off_mode Signed-off-by: Kevin Hilman commit 89139dce8a0060d97a46cebde570a8f55c314712 Author: Peter 'p2' De Schrijver Date: Fri Jan 16 18:53:48 2009 +0200 OMAP3: PM: Wait for SDRC ready iso a blind delay This patch improves the wakeup SRAM code polling the SDRC to become ready instead of just waiting for a fixed amount of time. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 867d320b6c30d2478358eafeca0e1a6c60cf06c3 Author: Kalle Jokiniemi Date: Thu Apr 23 13:58:51 2009 +0300 PM: Disable usb host HW save and restore The hardware SAVEANDRESTORE mechanism seems to leave USB HOST power domain permanently into active state after one transition from off to active state. Disabling for now. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 2329e7cc0de3de499d0a0f4e2f73c8f02acbc117 Author: Aaro Koskinen Date: Thu Mar 12 18:12:29 2009 +0200 OMAP3: PM: Fix INTC context save/restore Wrong index was used for ILR. Signed-off-by: Aaro Koskinen Signed-off-by: Kevin Hilman commit 0795a75a369b931150074a14473f024359b7f25c Author: Tero Kristo Date: Mon Oct 13 17:58:50 2008 +0300 OMAP3: PM: SDRC auto-refresh workaround for off-mode Errata: ES3.0, ES3.1 SDRC not sending auto-refresh when OMAP wakes-up from OFF mode Signed-off-by: Tero Kristo Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 692ec4abb96174c0e4b3aef6d2b71f36a4a14c8b Author: Juha Yrjola Date: Mon Mar 9 21:21:01 2009 +0000 OMAP: Store reboot mode in scratchpad on OMAP34xx The reboot mode can be communicated to a bootloader (or the kernel itself) with a scratchpad register. This functionality is especially useful, if userspace is allowed to change the reboot mode. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Kevin Hilman commit bf07c9f2d869077cc918b4cda861eadac6df6283 Author: Aaro Koskinen Date: Wed May 20 16:58:30 2009 +0300 OMAP: PM: Clear DMA channel state after a wakeup Clear DMA channel states so that users can assume a known initial state. Signed-off-by: Aaro Koskinen Signed-off-by: Kevin Hilman commit cb0cb2b815bf073dc0211ab224682a6caf6c89ce Author: Kalle Jokiniemi Date: Tue May 12 14:02:16 2009 +0300 OMAP3: PM: Fix PLL_MOD CLKEN offset in scratchpad The CM_CLKEN_PLL register saved in scratchpad memory was wrongly using offset of 0x0004 instead of 0x0000. The effect of this was that boot ROM code would restore the wrong value when waking up from off mode. This wrong value, however, will be overwritten by prcm context restore. Still, a short period of wrong clock settings in CM_CLKEN_PLL remained between ROM code and prcm context restore. This is fixed by the patch. Problem reported by: Jouni Hogander Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 8a917d2fc80b7c45ce0146ff134168646274a9bd Author: Kalle Jokiniemi Date: Wed May 13 13:32:11 2009 +0300 ARM: OMAP: SMS: save/restore of SMS_SYSCONFIG for off-mode The SMS_SYSCONFIG register gets reset in off mode, added a save/restore mechanism for that. Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit ba50ea7eb9ce663511013b35608cf0753c9ab674 Author: Kalle Jokiniemi Date: Thu Mar 26 15:59:00 2009 +0200 OMAP3: PM: Fix secure SRAM context save/restore The secure sram context save uses dma channels 0 and 1. In order to avoid collision between kernel DMA transfers and ROM code dma transfers, we need to reserve DMA channels 0 1 on high security devices. A bug in ROM code leaves dma irq status bits uncleared. Hence those irq status bits need to be cleared when restoring DMA context after off mode. There was also a faulty parameter given to PPA in the secure ram context save assembly code, which caused interrupts to be enabled during secure ram context save. This caused the save to fail sometimes, which resulted the saved context to be corrupted, but also left DMA channels in secure mode. The secure mode DMA channels caused "DMA secure error with device 0" errors to be displayed. Signed-off-by: Kalle Jokiniemi Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 133464dc30846282b5f852433d7b6a31f292f886 Author: Jouni Hogander Date: Thu Feb 5 13:34:01 2009 +0200 OMAP3: PM: Save and restore also CM_CLKSEL1_PLL_IVA2 CM_CLKSEL1_PLL_IVA2 is not saved/restored currently. This patch is adding save and restore for it. Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 13a6fe0f6adf62bf73be055322197507761d160a Author: Tero Kristo Date: Mon Oct 13 13:17:06 2008 +0300 OMAP3: PM: Enable SDRAM auto-refresh during sleep Fix for ES3.0 bug: SDRC not sending auto-refresh when OMAP wakes-up from OFF mode (warning for HS devices.) Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 9d97140bd0c5da55f174a81dafd2bbef135f5748 Author: Tero Kristo Date: Fri Dec 12 11:20:05 2008 +0200 OMAP3: PM: save secure RAM only during init The function omap3_save_secure_ram() is now called only once during the initialization of the device and consequent sleep cycles will re-use the same saved contents for secure RAM. Users who need secure services should do secure RAM saving before entering off-mode, if a secure service has been accessed after last save. There are both latency and reliability issues with saving secure RAM context in the idle path. The context save uses a hardware resource which takes an order of hundreds of milliseconds to initialize after a wake up from off-mode, and also there is no way of checking whether it is ready from kernel side or not. It just crashes if you use it too quickly Additional fix to ensure scratchpad save is done after secure RAM by Roger Quadros. Signed-off-by: Tero Kristo Signed-off-by: Roger Quadros Signed-off-by: Kevin Hilman commit 27d59a4a2def42307349079f2e3538d96934c379 Author: Tero Kristo Date: Mon Oct 13 13:15:00 2008 +0300 OMAP3 PM: off-mode support for HS/EMU devices For HS/EMU devices, some additional resources need to be saved/restored for off-mode support. Namely, saving the secure RAM and a pointer to it in the scratchpad. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit f2d1185824fd3ed631f3164daeff59d0b4e55d79 Author: Tero Kristo Date: Thu Aug 28 13:13:31 2008 +0000 OMAP: PM: DMA context save/restore for off-mode support For HS/EMU devices, these additional features are also used: - DMA interrupt disable routine added - Added DMA controller reset to DMA context restore Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 2f5939c3ec9440a9c3a0baf4d0e1b2cc043aad46 Author: Rajendra Nayak Date: Fri Sep 26 17:50:07 2008 +0530 OMAP3: PM: CORE domain off-mode support Add context save and restore for CORE powerdomain resources in order to support off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 61255ab9e853ddbbe092328c30921d2ba9434134 Author: Rajendra Nayak Date: Fri Sep 26 17:49:56 2008 +0530 OMAP3: PM: MPU off-mode support Adds a 'save_state' option when calling into SRAM idle function and adds some minor cleanups of SRAM asm code. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 57f277b0122722ffa1de1b53aceb70646ce9a8e1 Author: Rajendra Nayak Date: Fri Sep 26 17:49:34 2008 +0530 OMAP3: PM: Restore MMU table entry During the MMU restoration on the restore path from MPU OFF, the page table entry for the page consisting of the code being executed is modified to make MMU return VA=PA. The MMU is then enabled and the original entry is being stored in scratchpad. This patch reads the original values stored in scratchpad, and restores them back. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit fa3c2a4fc99fd7f8c245020303d7e11feadbbac9 Author: Rajendra Nayak Date: Fri Sep 26 17:49:22 2008 +0530 OMAP3: PM: handle PER/NEON/CORE in idle Expand the powerdomains handled in the idle path to include PER, NEON and CORE. This includes properly clearing the previous powerstates, linking NEON state to MPU state and calling the UART prepare functions for only the appropraite powerdomain transitions (CORE for UART1,2, PER for UART3.) Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 3231fc889c114870ca830041fcdeb5d4745304cf Author: Rajendra Nayak Date: Fri Sep 26 17:49:14 2008 +0530 OMAP3: PM: restore SRAM functions after off-mode. Generalize the copy of SRAM functions into omap_push_sram_idle() so it can be used on init but also after off-mode transitions. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit c96631e13888e9be3a80aae291ed671d4d573ec9 Author: Rajendra Nayak Date: Fri Sep 26 17:49:02 2008 +0530 OMAP3: PM: SCM context save/restore Add context save and restore for the System Control Module to suport off-mode. ETK and debobs definitions added by Peter De Schrijver. Signed-off-by: Rajendra Nayak Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 8014078684377257e3a83ac45db95711929850c5 Author: Rajendra Nayak Date: Fri Sep 26 17:48:46 2008 +0530 OMAP3: PM: Populate scratchpad contents This patch populates the scratchpad contents as expected by the bootROM code. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit c171a2586161c623253186c394ca456947ec6a66 Author: Rajendra Nayak Date: Fri Sep 26 17:48:31 2008 +0530 OMAP3: PM: PRCM context save/restore Add context save and restore for PRCM module to support off-mode. Additional registers (CM_CLKSEL4, CM_CLKEN, CM_CLKEN2) added by Tero Kristo. Missing CM_CLKEN_PLL_IVA2 register added by Kalle Jokiniemi. Signed-off-by: Rajendra Nayak Signed-off-by: Tero Kristo Signed-off-by: Kalle Jokiniemi Signed-off-by: Kevin Hilman commit 0addd61bc2028842bdcbd92c622d1110fc29c5a3 Author: Rajendra Nayak Date: Fri Sep 26 17:48:20 2008 +0530 OMAP3: PM: INTC context save/restore Add context save and restore for the INTC module to support off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 40c670f0314c3c9463ce9c2f2b9b1085884837f6 Author: Rajendra Nayak Date: Fri Sep 26 17:47:48 2008 +0530 OMAP3: PM: GPIO context save/restore Add context save and restore to enable off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit a2d3e7bad82dcfb67924849e2063238a1ae51b6e Author: Rajendra Nayak Date: Fri Sep 26 17:47:33 2008 +0530 OMAP3: PM: GPMC context save/restore This patch adds the context save and restore functions for GPMC to enable off-mode. Signed-off-by: Rajendra Nayak Signed-off-by: Kevin Hilman commit 41a2617064a8458178ccdf31ed2be2b4eade4a2a Author: Gertjan van Wingerde Date: Mon Nov 9 22:59:04 2009 +0100 rt2x00: Fix typo in rf programming of rt2800lib. Fix a type in rt2800_config_channel_rt3x. The second write to RF register 2 should be to RF register 3. This is confirmed by the legacy Ralink code. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e5d6eb8305a4c116fc94ce28b8136c538c92442f Author: Luis R. Rodriguez Date: Mon Nov 9 16:03:22 2009 -0500 mac80211: fix max HT rate processing on mac80211 The max MCS index is 76, fix the higher check to allow through frames received at MCS 76. This is a non-issue for current drivers as MCS 76 is only possible with a device supporting 4 spatial streams. While at it change the WARN_ON() on invalid HT rates to a WARN() to provide more useful information. This will help debug issues when the driver is passing up a bogus HT rate value. The rate must map to a valid MCS index which can be any of the values in the set [0 - 76] (inclusive). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b34e620faa843d746400e324580e9a9efd457e4d Author: Thadeu Lima de Souza Cascardo Date: Mon Nov 9 09:45:50 2009 +0100 rt2x00: fix some typos and punctuation in comments fix some typos and punctuation in comments Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina Signed-off-by: John W. Linville commit 13b409cc8c1614090f256729ee0038438a6946f7 Author: Jason Andryuk Date: Sun Nov 8 19:02:19 2009 -0500 at76c50x-usb: Supply additional parameters to at76_start_monitor scan request For my Linksys WUSB11 at76c503-i3861 device, scanning fails without probe_delay, min_channel_time, and max_channel_time specified for the scan request. These values were found by checking scan requests from the at76_usb driver. Signed-off-by: Jason Andryuk Acked-by: Kalle Valo Signed-off-by: John W. Linville commit a6ef92ad3588d4e011295bf724f88e7d5b8c0e1b Author: Jason Andryuk Date: Sun Nov 8 18:58:01 2009 -0500 at76c50x-usb: Remove mac2str and replace with %pM format specifier. Signed-off-by: Jason Andryuk Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 9c9a0d145fee73b5e821bb460732ac2a66c680b3 Author: Gertjan van Wingerde Date: Sun Nov 8 16:39:55 2009 +0100 rt2x00: Update copyright statements. As mentioned on the linux-wireless mailing list, the current copyright statements in the rt2x00 are meaningless, as the rt2x00 project is not even a formal legal entity. Therefore it is better to replace the existing copyright statements with copyright statements for the people that actually wrote the code. Note: Updated to the best of my knowledge with respect to who contributed considerable amounts of code. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn CC: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit 6aefbfa0204b1dab4b9f23ca30f8840ba0d9134a Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:43:35 2009 +0100 rt2500usb: remove dead link tuning code Link tuning code from the legacy rt2570 driver turned out to be harmful and got disabled by the commit d06193f ("rt2x00: Disable link tuning in rt2500usb") in August 2008. There is no reason to keep this dead code any longer so remove it (it can still be retrieved from the git history if necessary). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 40beee5c15a816bf77747e15940ac3b97229faf4 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:55 2009 +0100 rt2800usb: add eFuse EEPROM support It is needed for at least RT3070 chip. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 30e840346c516ad4e36f710fa485933ccc7afa66 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:48 2009 +0100 rt2800: add eFuse EEPROM support code to rt2800lib eFuse EEPROM is used also by USB chips (i.e. RT3070) so move the needed code from rt2800pci to rt2800lib. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4116cb483ec148e30f70408ad0600304a5de2a3c Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:40 2009 +0100 rt2800usb: fix RX descriptor naming Rename RXD_W0_* defines to RXINFO_W0_* ones to match naming used for TX descriptor and by the vendor driver. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4da2933fe1f2d3d9ed548660f5c02a9b0608a8c7 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:32 2009 +0100 rt2800: unify rt2800*_probe_hw_mode() Add rf_vals tables and rt2800_probe_hw_mode() to rt2800lib. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit f2b38cbfd98eb36799f45178c73b2ed81402abd8 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:25 2009 +0100 rt2800: prepare for rt2800*_probe_hw_mode() unification Enclose interface specific code in rt2800[pci,usb]_probe_hw_mode() with rt2x00_intf_is_[pci,usb]() checks. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 726984b61e744c1fef72d20e56eadd0864ecb240 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:16 2009 +0100 rt2800usb: reorganize code in rt2800usb_probe_hw_mode() Move hw_mode information initialization code block before HT information initialization one to match the ordering used by rt2800pci's rt2800pci_probe_hw_mode(). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4d685e550b5ace42fdf6d72506bab6e7ae93e669 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:09 2009 +0100 rt2800pci: add missing RF values to rf_vals table rt2800pci's rf_vals[] copy was missing values for some channels. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 38bd7b8a0f485ba5ad514fcd621a1842ebadf9e6 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:39:01 2009 +0100 rt2800: unify EEPROM support code Add rt2800_validate_eeprom() and rt2800_init_eeprom() to rt2800lib. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7ab71325cf0940099c376799aca6de7bc86ad2d0 Author: Bartlomiej Zolnierkiewicz Date: Sun Nov 8 14:38:54 2009 +0100 rt2800: prepare for unification of EEPROM support code * Factor out common code from rt2800[pci,usb]_validate_eeprom() to rt2800_validate_eeprom(). * Fix interface specific comment in rt2800[pci,usb]_validate_eeprom(). * Enclose interface specific code in rt2800[pci,usb]_init_eeprom() with rt2x00_intf_is_[pci,usb]() checks. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 863cc978a73bc07f1de0e9a9bd9889bed6e618da Author: Ivo van Doorn Date: Sun Nov 8 14:37:48 2009 +0100 rt2x00: Remove deprecated ieee80211_rx_status->qual usage ieee80211_rx_status->qual has been marked deprecated. This allows us to remove several functions and fields which were used to calculate a reasonable value for it. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a65986824d2552dd76786d5a0012989a64c45ab7 Author: Gertjan van Wingerde Date: Sun Nov 8 12:30:35 2009 +0100 rt2x00: Add dynamic detection of eFuse EEPROM in rt2800pci. Instead of assuming that all rt3090 devices will have an eFuse EEPROM, do as the legacy Ralink driver, and detect at run-time whether an eFuse EEPROM is present. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit 748d451028ef037576b57517bc81e62f1fd92250 Author: Luis R. Rodriguez Date: Thu Nov 5 14:10:07 2009 -0800 ath9k_common: clarify and correct jumbogram processing Jumbograms are frames put together linked together through more than one descriptor. For example ath9k_htc will use this to send from the target a large frame split up into 2 or more segments. The driver then would be in charge of putting the frame back together. When jumbograms are constructed the rx_stats->rs_more will bet set and rx_stats->rs_status will not have any valid content as the actual status will only be avialable at the end of the chained descriptors. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 165864d08774823e3b88d5fcf4dad302700612e3 Author: Luis R. Rodriguez Date: Thu Nov 5 08:53:10 2009 -0800 ath9k_common: remove ath9k_compute_qual() This is now deprecated and unused within mac80211, so time to remove it as otherwise we'd be doing some unecessary computations for nothing. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db86f07ec6cdea9670a0928bd1289109d2a989dc Author: Luis R. Rodriguez Date: Thu Nov 5 08:44:39 2009 -0800 ath9k_common: add new module to share 802.11n driver helpers ath9k and ath9k_htc share a lot of common hardware characteristics. They only differ in that ath9k_htc works with a target CPU and ath9k works directly with the hardware. ath9k_htc will do *some* things in the firmware, but a lot of others on the host. The common 802.11n hardware code is already shared through the ath9k_hw module. Common helpers amongst all Atheros drivers can use the ath module, this includes ath5k and ar9170 as users. But there is some common driver specific helpers which are not exactly hardware code which ath9k and ath9k_htc can share. We'll be using ath9k_common for this to avoid bloating the ath module and the common 802.11n hardware module ath9k_hw. We start by sharing skb pre and post processing in preparation for a hand off to mac80211. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c9b1417055cd2518e8a3b4b27e1f8e4b72821dff Author: Luis R. Rodriguez Date: Wed Nov 4 16:47:22 2009 -0800 ath9k: move RX skb post processing to a helper Use a helper for the RX skb post processing, ath9k_rx_skb_postprocess(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dc1e001bf498a19dcb46676d933cd0e92dc53ef3 Author: Luis R. Rodriguez Date: Wed Nov 4 17:47:31 2009 -0800 ath5k: use the common->keymap Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7e86c1048a9f5f1e157daf28411f3526f0b9f7b6 Author: Luis R. Rodriguez Date: Wed Nov 4 17:21:01 2009 -0800 ath9k: move driver keymap, keymax and splitmic to common This will make sharing code easier between ath9k and ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1e875e9f16e3138d0e23cbf806a6d9520b622db2 Author: Luis R. Rodriguez Date: Wed Nov 4 16:34:33 2009 -0800 ath9k: rename ath_rx_prepare() to ath9k_rx_skb_preprocess() And change the return value to something more obvious. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2c74aa4d73dbed2e879e7eb5ee9de95d40e5298d Author: Luis R. Rodriguez Date: Wed Nov 4 15:11:05 2009 -0800 ath9k: move the max rx buffer size check to ath9k_rx_accept() While at it flip the order, seems easier to read and also add some better description as to why we do this check. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd849782a7388e091e356373a744f8b7ae97188a Author: Luis R. Rodriguez Date: Wed Nov 4 09:44:50 2009 -0800 ath5k: remove double cache alignment, ath_rxbuf_alloc() already does it ath5k is using the (csz - 1) twice as ath_rxbuf_alloc() already allocates and moves skb->data accordingly. Remove the extra (csz -1). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cc861f7468724e66567baf087b4e413e91b18150 Author: Luis R. Rodriguez Date: Wed Nov 4 09:11:34 2009 -0800 ath: move the rx bufsize to common to share with ath5k/ath9k This will also be used by ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0a45da765e4bf5e8a7705266fa36e0f44787b0a1 Author: Luis R. Rodriguez Date: Wed Nov 4 08:58:45 2009 -0800 ath9k: move the rx_stats->rs_datalen check to ath9k_rx_accept() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5ca42627f3ddc0e4fc3e62d879cc35ab5beaaa8b Author: Luis R. Rodriguez Date: Wed Nov 4 08:20:42 2009 -0800 ath9k: avoid the copy skb->cb on every RX'd skb The skb->cb (control buffer, 48 bytes) is available to the skb upon skb allocation. You can fill it up imediately after skb allocation. ath9k was copying onto the skb->cb the data from the processed skb for mac80211 from a stack struct ieee80211_rx_status structure. This is unnecessary, instead use the skb->cb for the rx status immediately after the skb becomes available and DMA synched. Additionally, avoid the copy of the skb->cb also for virtual wiphys as skb_copy() will copy over the skb->cb for us as well. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dbfc22df1afbeb91d528e2f84d6603ac9ce98bc2 Author: Luis R. Rodriguez Date: Tue Nov 3 18:35:05 2009 -0800 ath9k: move rssi processing into a helper This moves all the RX processing of RSSI into a helper, ath_rx_prepare(). ath_rx_prepare() should now be really easy to read and follow. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 21b22738068366d7740b4b7cf55ce270f479543a Author: Luis R. Rodriguez Date: Tue Nov 3 18:20:26 2009 -0800 ath9k: move qual processing into a helper This moves the qual computing into a small helper, ath9k_compute_qual() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9878841e1360266fa4522fbdc2448fcdce95e0dd Author: Luis R. Rodriguez Date: Tue Nov 3 18:10:30 2009 -0800 ath9k: move rate descriptor reading into a helper ath9k_process_rate() now does all the rx status processing to read the rate the hardware passed and translate it to whatever mac80211 wants. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 14077f5b7a28bdcd166faed2c0b36fad9f3eadda Author: Luis R. Rodriguez Date: Tue Nov 3 17:52:33 2009 -0800 ath9k: remove temp variable ratecode from ath_rx_prepare() Its just a distraction when reading the code, instead use the rx_stats->rs_rate directly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 207e96854e39380fce8b589bbbdaf6e9a83b9151 Author: Luis R. Rodriguez Date: Tue Nov 3 17:39:00 2009 -0800 ath9k: move RX check code into helper ath9k_rx_accept() This does sanity checking on the skb and RX status descriptor prior to processing. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 712c13a86affe69dd8462631808edd5825b5e1cb Author: Luis R. Rodriguez Date: Tue Nov 3 15:57:16 2009 -0800 ath9k: use the ieee80211_hw to get to an sband on ath_rx_prepare() No need to use the private driver structure to get to an sband. This will make it easier to share this code with ath9k_htc. With the sc gone we can now just pass the common structure to ath_rx_prepare(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3d536acf45ba65acb15fc65bf46f8d6c7ad6c463 Author: Luis R. Rodriguez Date: Tue Nov 3 17:07:04 2009 -0800 ath9k: move struct ath_ani to common area This can be shared between ath9k and ath9k_htc. It will also help with sharing routine helpers on the RX path. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 30cbd42265546a3efa146d4eb3456165325c83a7 Author: Luis R. Rodriguez Date: Tue Nov 3 16:10:46 2009 -0800 ath9k_hw: move ath_extend_tsf() to hw code to share as ath9k_hw_extend_tsf() This will be shared between ath9k and ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 26ab2645b478fd98aa1d10a07eb07f2235bc1f1c Author: Luis R. Rodriguez Date: Mon Nov 2 18:49:56 2009 -0800 ath9k: do not pass the entire descriptor to ath_rx_prepare() Its not needed, so just pass the hardware RX status. We'll be simplfying ath_rx_prepare() with code we can share between ath9k and ath9k_htc. This will help make that code easier to read and manage. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f52de03bf9843673cadff8016a609e1628c139e2 Author: Luis R. Rodriguez Date: Mon Nov 2 17:09:12 2009 -0800 ath9k: handle low buffer space for virtual wiphys ath9k virtual wiphys all share the same internal buffer space for TX but they do not share the mac80211 skb queues. When ath9k detects it is running low on buffer space to TX it tells mac80211 to stop sending it skbs its way but it always does this only for the primary wiphy. This means mac80211 won't know its best to avoid sending ath9k more skbs on a separate virtual wiphy. The same issue is present for reliving the skb queue. Since ath9k does not keep track of which virtual wiphy is hammering on TX silence all wiphy's TX when we're low on buffer space. When we're free on buffer space only bother informing the virtual wiphy which is active that we have free buffers. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5008f3727b05b5eb970ce703721aa5897a088e30 Author: Luis R. Rodriguez Date: Mon Nov 2 16:27:33 2009 -0800 ath9k: use the right hw on ath_tx_setup_buffer() for HT When using virtual wiphys the base sc->hw was being used, the correct hw is passed along the caller already so just use that. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 76d5a9e83b6e72ebe651c08e6dc247a58469ddda Author: Luis R. Rodriguez Date: Mon Nov 2 16:08:34 2009 -0800 ath9k: use correct hw for tx aggregation TX completion When ath9k virtual wiphys are used the sc->hw will not always represent the active hw, instead we need to get it from the skb->cb private driver area. This ensures the right hw is used to find a sta for the TX'd skb. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 68a89116157d9d479a854db6d79a9116be79cd99 Author: Luis R. Rodriguez Date: Mon Nov 2 14:35:42 2009 -0800 ath9k: pass the ieee80211_hw on radio enable/disable We use the ieee80211_hw for radio enable/disable but the wrong structure hw was being used in consideration for virtual wiphys as each virtual wiphy has its own ieee80211_hw struct. Just pass the hw struct to ensure we use the right one. This should fix the hw used and passed for radio enable/disable. This includes the stoping / starting of the software TX queues so mac80211 doesn't send us data for a specific virtual wiphy. ath9k already takes care of pausing virtual wiphys and stopping the respective queues on its own, but this should handle the idle mac80211 conf calls as well. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cee71d6c1471953239ea4c13306888cf2b36426e Author: Luis R. Rodriguez Date: Mon Nov 2 14:17:51 2009 -0800 ath9k: use the passed ieee80211_hw on ath_rx_prepare() this now uses the proper hw which should mean finding the right sta when using ath9k virtual wiphy stuff. Only advantage I see here is getting the rssi properly updated so the 'fix' itself isn't that great, but at least this is correct. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b4afffc0cfa3f35ee011d5ed4153e49f5cc3bc96 Author: Luis R. Rodriguez Date: Mon Nov 2 11:36:08 2009 -0800 ath9k: simpify RX by calling ath_get_virt_hw() once ath_get_virt_hw() is required on RX to determine for which virtual wiphy an skb came in for. Instead of searching for the hw twice do it only once. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1bdf6c3bece59c96aec3b8b457a9a554f6b2c433 Author: Luis R. Rodriguez Date: Wed Oct 28 13:39:40 2009 -0700 ath9k: update hw configuration for virtual wiphys ath9k supports its own virtual wiphys. The hardware code relies on the ieee80211_hw for the present interface but with recent changes introduced the common->hw was never updated and is required for virtual wiphys. Cc: Jouni.Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 194b7c13b4c516db94db8ee004342f8935922739 Author: Luis R. Rodriguez Date: Thu Oct 29 10:41:15 2009 -0700 ath9k: fix listening to idle requests The way idle configuration detection was implemented as busted due to the fact that it assumed the ath9k virtual wiphy, the aphy, would be marked as inactive if it was not used but it turns out an aphy is always active if its the only wiphy present. We need to distinguish between aphy activity and idleness so we now add an idle bool for the aphy and mark it as such based on the passed IEEE80211_CONF_CHANGE_IDLE from mac80211. Previous to all_wiphys_idle would never be true when using only one device so we never really were using IEEE80211_CONF_CHANGE_IDLE -- we never turned the radio off or on upon IEEE80211_CONF_CHANGE_IDLE changes as radio changes depended on all_wiphys_idle being true either to turn the radio on or off. Since it was always false for one device this code was doing nothing. Cc: Jouni.Malinen Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f14543ee4d0681df1377b976cba704557ba220d3 Author: Felix Fietkau Date: Tue Nov 10 20:10:05 2009 +0100 mac80211: implement support for 4-address frames for AP and client mode In some situations it might be useful to run a network with an Access Point and multiple clients, but with each client bridged to a network behind it. For this to work, both the client and the AP need to transmit 4-address frames, containing both source and destination MAC addresses. With this patch, you can configure a client to communicate using only 4-address frames for data traffic. On the AP side you can enable 4-address frames for individual clients by isolating them in separate AP VLANs which are configured in 4-address mode. Such an AP VLAN will be limited to one client only, and this client will be used as the destination for all traffic on its interface, regardless of the destination MAC address in the packet headers. The advantage of this mode compared to regular WDS mode is that it's easier to configure and does not require a static list of peer MAC addresses on any side. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8b787643ca0a5130c647109d77fe512f89cfa611 Author: Felix Fietkau Date: Tue Nov 10 18:53:10 2009 +0100 nl80211: add a parameter for using 4-address frames on virtual interfaces Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ddd21046e7b5e112b5a4722b7e071ae9d4c96a2b Author: John W. Linville Date: Wed Nov 11 13:04:42 2009 -0800 iwlwifi: fix iwl1000 "RTS/CTS for HT" merge damage I may have botched my merge conflict resolution instructions for Dave... Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0e0fc1c23e04c15e814763f2b366e92d87d8b95d Author: Paul E. McKenney Date: Wed Nov 11 11:28:06 2009 -0800 rcu: Mark init-time-only rcu_bootup_announce() as __init Because rcu_bootup_announce() is used only at boot time, mark it as __init, presumably so that its memory can be reclaimed. Suggested-by: Joe Perches Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <20091111192806.GA10073@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1460dd158a520447b87661aea4afda1997d69cde Author: Rui Paulo Date: Mon Nov 9 23:46:48 2009 +0000 mac80211: improve peer link management debugging Print the FSM state strings instead of just the numbers. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit f3c0d88a7fc1c3fff84ac57d3f3195d0dd1854ac Author: Rui Paulo Date: Mon Nov 9 23:46:47 2009 +0000 mac80211: improve HWMP debugging Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit dbb81c428bf534fcfe94102acca50f6d56504999 Author: Rui Paulo Date: Mon Nov 9 23:46:46 2009 +0000 mac80211: allow processing of more than one HWMP IE Since the HWMP IEs are now all optional and the action code is fixed, allow the HWMP code to find and process each IE on the path selection action frames. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 27db2e423fdeae8815087677261ab72cca7b3c28 Author: Rui Paulo Date: Mon Nov 9 23:46:45 2009 +0000 mac80211: add MAC80211_VERBOSE_MHWMP_DEBUG Add MAC80211_VERBOSE_MHWMP_DEBUG, a debugging option for HWMP frame processing. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 095de01325962e7574d5793193c6f3ae9a175aab Author: Rui Paulo Date: Mon Nov 9 23:46:44 2009 +0000 mac80211: update the format of path selection frames Update the format of path selection frames according to latest draft (3.03). Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 0938393f02c5a4db75a6e38ee31645c974169bb5 Author: Rui Paulo Date: Mon Nov 9 23:46:43 2009 +0000 mac80211: update peer link management IE and action frames Update the length and format of the peer link management action frames. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 23c7a29cd020250646249592941261777cbeaf16 Author: Rui Paulo Date: Mon Nov 9 23:46:42 2009 +0000 mac80211: fix typo in a comment Signed-off-by: Javier Cardona Signed-off-by: Rui Paulo Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 8f2fda9594f083981ad54c1994863875fe680925 Author: Rui Paulo Date: Mon Nov 9 23:46:41 2009 +0000 mac80211: implement the meshconf formation info field The Mesh Configuration Formation Info field contains the number of neighbors. This means that the beacon must be updated every time a peer joins or leaves. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit a1935218da8964a033bdf68c591629741c94eeec Author: Rui Paulo Date: Mon Nov 9 23:46:40 2009 +0000 mac80211: set MESH_TTL to 31 Update the mesh time to live field to 31 according to draft 3.03. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 3491707a070c1183c709516b2f876f798c7a9a84 Author: Rui Paulo Date: Mon Nov 9 23:46:39 2009 +0000 mac80211: update meshconf IE This updates the Mesh Configuration IE according to the latest draft (3.03). Notable changes include the simplified protocol IDs. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Reviewed-by: Andrey Yurovsky Tested-by: Brian Cavagnolo Signed-off-by: John W. Linville commit ac9d1a7bef71afa4837769ef38edb0f7e2ef8028 Author: Gertjan van Wingerde Date: Mon Nov 9 23:38:35 2009 +0100 rt2x00: Fix building of rt2800lib when rt2x00 driver is built-in. When enabling rt2800usb as a built-in driver (as opposed to a as a module) the build fails. See http://marc.info/?l=linux-wireless&m=125768687711034&w=2 for details. Fix it by properly including from rt2x00usb.h Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2015d1920c6ec637b16db1e8734d9070983db21f Author: Gertjan van Wingerde Date: Sun Nov 8 12:30:14 2009 +0100 rt2x00: Move interface type assignments to generic code. Make sure all drivers can benefit of the assignment of the interface type of an adapter, instead of keeping it for rt2800 only. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: John W. Linville commit f9ef6028b2c1272a2f12299053efef90e8721f21 Author: Julia Lawall Date: Sun Nov 8 09:23:07 2009 +0100 drivers/net/wireless: correct check on CCS_START_NETWORK CCS_START_NETWORK is declared in drivers/net/wireless/rayctl.h with the comment Values for cmd. status is previously compared to CCS_COMMAND_COMPLETE, which is declared in the same file with the comment Values for buffer_status. Finally, it is possible at this point that cmd is CCS_START_NETWORK, because it is compared to that value in an enclosing switch that has CCS_START_NETWORK as one of two case labels around this code. Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 3e8b4d006ed04b1ddb7450faee7fa429e2a00e48 Author: Ben Hutchings Date: Sat Nov 7 22:03:22 2009 +0000 zd1211rw: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit e01b0e0f90681072d29fe1ba6a29298683f42c15 Author: Ben Hutchings Date: Sat Nov 7 22:02:39 2009 +0000 zd1201: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 49f146de405cfb37c51976b8a682330b8cb2972e Author: Ben Hutchings Date: Sat Nov 7 22:02:15 2009 +0000 wl12xx: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit a830e6599263aa535e298f5f834f3a119050757f Author: Ben Hutchings Date: Sat Nov 7 22:01:55 2009 +0000 prism54: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 6f48d0e981c026572eac643ed43ebfb883048c14 Author: Ben Hutchings Date: Sat Nov 7 22:01:29 2009 +0000 orinoco: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 7e75b942f67a13a9980c5e2b4fa1993b20426284 Author: Ben Hutchings Date: Sat Nov 7 22:00:57 2009 +0000 mwl8k: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 790e7560c09a0184afcc00ac0f8df95de7468acc Author: Ben Hutchings Date: Sat Nov 7 22:00:38 2009 +0000 libertas_tf_usb: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit a974a4bbcb1ceddc9c89defd7dab4da4b2b53d77 Author: Ben Hutchings Date: Sat Nov 7 22:00:03 2009 +0000 libertas: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 328aca32783cc98088151ce905977c8e899e5fc9 Author: Ben Hutchings Date: Sat Nov 7 21:59:38 2009 +0000 iwmc3200wifi: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 873395a9fe15e5c42004e341b7d3632e6a273f73 Author: Ben Hutchings Date: Sat Nov 7 21:59:10 2009 +0000 ipw2200: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Acked-by: Zhu Yi Signed-off-by: John W. Linville commit a278ea3e423f7231934ba06a29592cddad8a6663 Author: Ben Hutchings Date: Sat Nov 7 21:58:47 2009 +0000 ipw2100: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Acked-by: Zhu Yi Signed-off-by: John W. Linville commit b98a032f6d9d4a5bc17490f67b13e5ca77c8410f Author: Ben Hutchings Date: Sat Nov 7 21:58:05 2009 +0000 atmel: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit 202982dbf51ece7c2b49dc8b6066ff60cb02bcce Author: Ben Hutchings Date: Sat Nov 7 21:56:08 2009 +0000 at76c50x-usb: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: John W. Linville commit c286181d5bfd8703219b954284143cfadff60b9b Author: Michael Buesch Date: Sat Nov 7 18:54:22 2009 +0100 b43-pio: Fix RX error path for rev>=8 devices This fixes the RX error path for rev>=8 devices. The wrong register size and definitions were used. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 6a6a5c7af130e703c23d23ebe3cde23e079e554e Author: Randy Dunlap Date: Fri Nov 6 15:35:15 2009 -0800 staging/wireless: don't build when NET etc. are not enabled These wireless drivers in staging could be built when CONFIG_NET=n, CONFIG_NETDEVICES=n, causing this build error: net/wireless/wext-priv.c: In function 'ioctl_private_call': net/wireless/wext-priv.c:206: error: implicit declaration of function 'call_commit_handler' due to faulty selects. Signed-off-by: Randy Dunlap Cc: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 309e731a619bee28ace609b0c4c3a0029b7e5394 Author: Ben Cahill Date: Fri Nov 6 14:53:03 2009 -0800 iwlwifi: MAC_ACCESS_REQ cleanup Add txq_id info to "Tx queue requesting wakeup" debug message Add "Rx queue requesting wakeup" debug message Move clear of CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ to be after nearby iwl_write_prph(), since iwl_write_prph() sets it and clears it. Almost removed it entirely, but just making sure in case someone removes the iwl_write_prph()! Also remove unneeded priv->lock usage; this is now handled by priv->reg_lock within iwl_clear_bit(). Join a couple of lines that had unneeded line returns. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f060face819401fb1f6456d362c5bc6672bba655 Author: Wey-Yi Guy Date: Fri Nov 6 14:53:02 2009 -0800 iwlwifi: Fix issue on file transfer stalled in HT mode Turn on RTS/CTS for HT to prevent uCode TX fifo underrun This is fix for http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2103 Signed-off-by: Wey-Yi Guy Tested-by: Jiajia Zheng Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8756990f99ecdfe64ed32cce878e36bddc16bdcc Author: Ben Cahill Date: Fri Nov 6 14:53:01 2009 -0800 iwlagn: update write pointers in iwl_irq_tasklet() Follow-up to "update write pointers for all tx queues after wakeup"; that patch changed iwl_irq_tasklet_legacy(), but not iwl_irq_tasklet(), so newer devices were not covered. Comments from original patch: Wakeup interrupt has been updating write pointers (indexes, actually) only for tx queues 0-5. This is adequate just for 3945, but inadequate for other devices, all of which have more tx queues. Now updating all tx/command queues, so device can be aware of all new tx and host commands enqueued while device was asleep. This can potentially improve data traffic bandwidth and/or latency. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a7e6611034530fce62f5499f77dd4fb6cde4d130 Author: Ben Cahill Date: Fri Nov 6 14:53:00 2009 -0800 iwlwifi: Add comments about MAC_ACCESS_REQ Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2a3b793d6a0ff30ad4a541230a6dba2ecb6fff1b Author: Ben Cahill Date: Fri Nov 6 14:52:59 2009 -0800 iwlwifi: Update comments for struct iwl_ssid_ie Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e585447189123de627ecbfaccab9d7a3328a5dd8 Author: Ben Cahill Date: Fri Nov 6 14:52:58 2009 -0800 iwlwifi: speed up event log dumps Take advantage of device's auto-increment for SRAM reads to eliminate extra write address accesses. Grab/release NIC access before/after entire read sequence, rather than for each read individually. After a quick check of dmesg logs, this seems to double Event Log dump speed, reducing from about 20 milliseconds to about 10 milliseconds for 512 entries using 3945. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 84c4069232a671b3739387949d5cb588dacbd24a Author: Ben Cahill Date: Fri Nov 6 14:52:57 2009 -0800 iwlwifi: Limit size of Event Log dump If device provides bad values for Event Log parameters (due to being asleep or SRAM corruption, etc.), the size can be very, very large (e.g. 0xa5a5a5a5), which can flood system log. Sanity-check capacity and next_entry values and limit to reasonable size dump. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6762f07fd55ff5e588aa5f0a1b70efe8e268a2e8 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:56 2009 -0800 iwlwifi: do not base station's sm_ps setting on AP Do not use AP's SM_PS setting for our own SM_PS setting. Reported-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 740e7f51c226076d8f8ccb203d9ba6258a5bcec7 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:55 2009 -0800 iwlwifi: drop non-production PCI-IDs Remove the support for all the PCI_IDs never make into production Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0924e519a3a18ffbfaa043f4a2c369140c5a235c Author: Wey-Yi Guy Date: Fri Nov 6 14:52:54 2009 -0800 iwlwifi: fix for channel switch Different channel has different configuration, need to pass correct configuration to uCode when send "channel switch" command to uCode. Invalid configuration will cause sysassert in uCode and produce un-expected result. Even it is a very small windows, but we also need to consider and handle the case if commit_rxon occurred before the "channel switch announcement" notification received from uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 681988653ed46a14032ac5fe2ee84eaae314b72e Author: Johannes Berg Date: Fri Nov 6 14:52:53 2009 -0800 iwlwifi: add FIFO usage for 5000 This is part of the code, but the comment doesn't have it, add pointers to the code and the FIFO usage for 5000 and up. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bed0a68f98d93c0abdc96b4c290a92c80234c182 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:52 2009 -0800 iwlwifi: remove un-used parameter Remove un-used parameter "recovery_rxon" from "priv" data structure Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1a716557a5ed3b814cb32b8be79848d53e470871 Author: Johannes Berg Date: Fri Nov 6 14:52:51 2009 -0800 iwlwifi: fix FIFO vs. queue confusion When I added that code setting the swq_id, I evidently did not understand the distinction between FIFO and TX queue yet and added code to compare a queue ID and a FIFO number, which is bogus. However, the code there need not be this specific, it can just set all queues to the identity mapping which will be overwritten by the aggregation queue code. As a bit of defensive coding, don't assign an swq_id to the command queue so that if we ever use it for frames we notice quickly. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a221e6f7b48ee2d9352827af8aec8b49272b5b43 Author: Johannes Berg Date: Fri Nov 6 14:52:50 2009 -0800 iwlwifi: don't double-activate queue 4 The fourth queue (command queue) is already activated in the loop above that also maps it to the command FIFO and therefore doesn't need to be marked as activated again. Also change the TODO comment to be accurate -- we need to initialise the _queues_, not FIFOs, and map them to device FIFOs. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0748dc1fcd8589c0e215e26112320b76e7c9a262 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:49 2009 -0800 iwlwifi: no periodic Tx/IQ calibration for 6x00/6x50 series For both 6x00 and 6x50 series devices, periodic Tx IQ calibration is disabled in uCode, driver do not need to set the periodic Tx/IQ calibration bit in calibration command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b23aa883678aec0f5d9e96c9b3e416ec4fdf735e Author: Shanyu Zhao Date: Fri Nov 6 14:52:48 2009 -0800 iwlwifi: use configured valid rx chain for scan Use configured valid rx chains in scan command instead of ANT_ABC, correcting valid rx chain configuration of 4965, should be ANT_ABC instead of ANT_AB. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f1e3d7d428616c04ef71bee3c2b6f274b8947755 Author: Shanyu Zhao Date: Fri Nov 6 14:52:47 2009 -0800 iwlwifi: use only one chain for scan in PS When doing scan in power saving mode, choose only 1 valid RX chain instead of turning all chains on. Signed-off-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a643565efcdafdc37638aa5131ced91b2d3ddcb2 Author: Wey-Yi Guy Date: Fri Nov 6 14:52:46 2009 -0800 iwlwifi: print rx_on config to help debug To help debug rx related issues, if IWL_DEBUG_RADIO flag is set, print the rxon configuration when rxon host command send to uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a3b6bd5bf23c5cd95389e24121da02d2330eaf21 Author: Zhu Yi Date: Fri Nov 6 14:52:45 2009 -0800 iwlwifi: allocate 128 bytes linear buffer for rx skb Allocate 128 bytes linear buffer for rx skb. The first 64 bytes is reserved for mac80211 usage (for radiotap header expansion, etc). The frame header starts from the second 64 bytes. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cf7ff8dfe64c8ca8a71b4fcbac357a3476ed1888 Author: Reinette Chatre Date: Fri Nov 6 14:52:44 2009 -0800 iwlwifi: change debug message to error in failure case Since these messages indicate failure we would be interested in seeing them always. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f54a52021d7ad039c16fe5a1e094d8f0394d90ec Author: Michael Buesch Date: Fri Nov 6 18:32:44 2009 +0100 b43: Rewrite TX bounce buffer handling Do not mess with the original skb, but allocate an independent bouncebuffer. This protects against bad interference with mac80211's assumptions about the skb (which already caused bugs). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2071a0084a0323697b7d6fd5a98982194bd6929f Merge: ff879eb d01032e Author: David S. Miller Date: Wed Nov 11 11:38:16 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h commit 196cf0d67acad70ebb2572da489d5cc7066cdd05 Author: Yinghai Lu Date: Tue Nov 10 18:27:23 2009 -0800 x86: Make sure wakeup trampoline code is below 1MB Instead of using bootmem, try find_e820_area()/reserve_early(), and call acpi_reserve_memory() early, to allocate the wakeup trampoline code area below 1M. This is more reliable, and it also removes a dependency on bootmem. -v2: change function name to acpi_reserve_wakeup_memory(), as suggested by Rafael. Signed-off-by: Yinghai Lu Acked-by: H. Peter Anvin Acked-by: Rafael J. Wysocki Cc: pm list Cc: Len Brown Cc: Linus Torvalds LKML-Reference: <4AFA210B.3020207@kernel.org> Signed-off-by: Ingo Molnar commit 9f15226e75583547aaf542c6be4bdac1060dd425 Author: Andreas Herrmann Date: Wed Nov 11 20:03:29 2009 +0100 x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle When switching a CPU offline/online and then doing suspend/resume, ucode is not updated on this CPU. This is due to the microcode_fini_cpu() call which frees uci->mc when setting the CPU offline: static void microcode_fini_cpu_amd(int cpu) { struct ucode_cpu_info *uci = ucode_cpu_info + cpu; vfree(uci->mc); uci->mc = NULL; } When the CPU is set online uci->mc is still NULL because no ucode update is required. Finally this prevents ucode update when resuming after suspend: static enum ucode_state microcode_resume_cpu(int cpu) { struct ucode_cpu_info *uci = ucode_cpu_info + cpu; if (!uci->mc) return UCODE_NFOUND; ... } Fix is to check whether uci->mc is valid before microcode_resume_cpu() is called. Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091111190329.GF18592@alberich.amd.com> Signed-off-by: Ingo Molnar commit b285fab4185a9b3db953726f0dd9d343a6e389db Author: Avi Cohen Stuart Date: Tue Nov 10 22:43:46 2009 +0100 pcmcia: correct handling for Zoomed Video registers in topic.h Fix handling of Zoomed Video Registers in the Topic pcmcia controller ( http://bugzilla.kernel.org/show_bug.cgi?id=14581 ). The information has been retrieved from the Topic manual which can be obtained from Toshiba. The Zoomed Video is used with PCMCIA Cards like the Margi DVD-to-Go. [linux@dominikbrodowski.net: whitespace & commit message fix] Signed-off-by: Avi Cohen Stuart Signed-off-by: Dominik Brodowski commit e657ea17ef2d7f364e5c2625157f6cc0584ac7ad Author: Randy Dunlap Date: Wed Nov 11 09:31:07 2009 -0800 pcmcia: fix printk formats Fix printk format warnings on sizeof() [size_t] arguments. drivers/char/pcmcia/cm4040_cs.c:267: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'size_t' drivers/char/pcmcia/cm4040_cs.c:272: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'size_t' CC: Harald Welte Signed-off-by: Randy Dunlap Signed-off-by: Dominik Brodowski commit b18485e7acfe1a634615d1c628ef644c0d58d472 Author: FUJITA Tomonori Date: Thu Nov 12 00:03:28 2009 +0900 swiotlb: Remove the swiotlb variable usage POWERPC doesn't expect it to be used. This fixes the linux-next build failure reported by Stephen Rothwell: lib/swiotlb.c: In function 'setup_io_tlb_npages': lib/swiotlb.c:114: error: 'swiotlb' undeclared (first use in this function) Reported-by: Stephen Rothwell Signed-off-by: FUJITA Tomonori Cc: peterz@infradead.org LKML-Reference: <20091112000258F.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit ad5ebd2fa2557b04a653bb3c3377a47da8f9b8e9 Author: Randy Dunlap Date: Wed Nov 11 13:47:45 2009 +0100 block: jiffies fixes Use HZ-independent calculation of milliseconds. Add jiffies.h where it was missing since functions or macros from it are used. Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit ce6b5d768c79b9d5dd6345c033bae781d5ca9b8e Author: Yong Wang Date: Wed Nov 11 15:51:25 2009 +0800 x86: Mark the thermal init functions __init Mark the thermal init functions __init so that the init memory can be freed. Signed-off-by: Yong Wang LKML-Reference: <20091111075125.GA17900@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 2315ffa0a9f789c588c7139effa7404a387d8685 Author: Eric W. Biederman Date: Fri Apr 3 03:18:02 2009 -0700 sysctl: Don't look at ctl_name and strategy in the generic code The ctl_name and strategy fields are unused, now that sys_sysctl is a compatibility wrapper around /proc/sys. No longer looking at them in the generic code is effectively what we are doing now and provides the guarantee that during further cleanups we can just remove references to those fields and everything will work ok. Signed-off-by: Eric W. Biederman commit 6fce56ec91b502ba6fcbbc2a6d25a8c2c7f77934 Author: Eric W. Biederman Date: Fri Apr 3 02:30:53 2009 -0700 sysctl: Remove references to ctl_name and strategy from the generic sysctl table Now that sys_sysctl is a generic wrapper around /proc/sys .ctl_name and .strategy members of sysctl tables are dead code. Remove them. Signed-off-by: Eric W. Biederman commit 83ac201b4f06eb8aeb7ac93cf162651ba30e0b28 Author: Eric W. Biederman Date: Fri Apr 3 02:22:26 2009 -0700 sysctl: Remove dead code from sysctl_check Now that the sys_sysctl is now a compatibility wrapper around /proc/sys we can remove much of sysctl_check and reduce it to a few remaining sanity checks. This completely decouples it from the binary sysctl system call. Little things like ensuring that the sysctl has not already been registered are all that remain. Signed-off-by: Eric W. Biederman commit a965cf946d38b0ff164a054477a91df70b0dd997 Author: Eric W. Biederman Date: Fri Apr 3 02:02:58 2009 -0700 sysctl: Neuter the generic sysctl strategy routines. Now that sys_sysctl is a compatibility layer on top of /proc/sys these routines are never called but are still put in sysctl tables so I have reduced them to stubs until they can be removed entirely. Signed-off-by: Eric W. Biederman commit 26a7034b40ba80f82f64fa251a2cbf49f9971c6a Author: Eric W. Biederman Date: Thu Nov 5 05:26:41 2009 -0800 sysctl: Reduce sys_sysctl to a compatibility wrapper around /proc/sys To simply maintenance and to be able to remove all of the binary sysctl support from various subsystems I have rewritten the binary sysctl code as a compatibility wrapper around proc/sys. The code is built around a hard coded table based on the table in sysctl_check.c that lists all of our current binary sysctls and provides enough information to convert from the sysctl binary input into into ascii and back again. New in this patch is the realization that the only dynamic entries that need to be handled have ifname as the asscii string and ifindex as their ctl_name. When a sys_sysctl is called the code now looks in the translation table converting the binary name to the path under /proc where the value is to be found. Opens that file, and calls into a format conversion wrapper that calls fop->read and then fop->write as appropriate. Since in practice the practically no one uses or tests sys_sysctl rewritting the code to be beautiful is a little silly. The redeeming merit of this work is it allows us to rip out all of the binary sysctl syscall support from everywhere else in the tree. Allowing us to remove a lot of dead (after this patch) and barely maintained code. In addition it becomes much easier to optimize the sysctl implementation for being the backing store of /proc/sys, without having to worry about sys_sysctl. Signed-off-by: Eric W. Biederman commit a2f6309e8392e2c14c04594fca8b4876c8c9bc36 Author: Takashi Iwai Date: Wed Nov 11 09:34:25 2009 +0100 ALSA: hda - Add power on/off counter Added the power on/off counter and expose via sysfs files. The sysfs files, power_on_acct and power_off_acct, are created under each codec hwdep sysfs directory (e.g. /sys/class/sound/hwC0D0). The files show the msec length of the codec power-on and power-off, respectively. Signed-off-by: Takashi Iwai commit 5d7bdab75cd56d2bdc0986ae5546be3b09fea70a Author: Michael Cree Date: Wed Nov 11 20:43:03 2009 +1300 perf tools: Test -fstack-protector-all compiler option for inclusion in CFLAGS Some architectures (e.g. Alpha) do not support the -fstack-protector-all compiler option and the use of the option with -Werror causes the compiler to abort and the build fails. Test that the compiler supports -fstack-protector-all before inclusion in CFLAGS. Signed-off-by: Michael Cree Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20091111074302.GA3728@omega> Signed-off-by: Ingo Molnar commit 9e827dd00a94136b944a538bede67c944d0b740a Author: Frederic Weisbecker Date: Wed Nov 11 04:51:07 2009 +0100 perf tools: Bring linear set of section headers for features Build a set of section headers for features right after the datas. Each implemented feature will have one of such section header that provides the offset and the size of the data manipulated by the feature. The trace informations have moved after the data and are recorded on exit time. The new layout is as follows: ----------------------- ___ [ magic ] | [ header size ] | [ attr size ] | [ attr content offset ] | [ attr content size ] | [ data offset ] File Headers [ data size ] | [ event_types offset ] | [ event_types size ] | [ feature bitmap ] v [ attr section ] [ events section ] ___ [ X ] | [ X ] | [ X ] Datas [ X ] | [ X ] v ___ [ Feature 1 offset ] | [ Feature 1 size ] Features headers [ Feature 2 offset ] | [ Feature 2 size ] v [ Feature 1 content ] [ Feature 2 content ] ----------------------- We have as many feature's section headers as we have features in use for the current file. Say Feat 1 and Feat 3 are used by the file, but not Feat 2. Then the feature headers will be like follows: [ Feature 1 offset ] | [ Feature 1 size ] Features headers [ Feature 3 offset ] | [ Feature 3 size ] v There is no hole to cover Feature 2 that is not in use here. We only need to cover the needed headers in order, from the lowest feature bit to the highest. Currently we have two features: HEADER_TRACE_INFO and HEADER_BUILD_ID. Both have their contents that follow the feature headers. Putting the contents right after the feature headers is not mandatory though. While we keep the feature headers right after the data and in order, their offsets can point everywhere. We have just put the two above feature contents in the end of the file for convenience. The purpose of this layout change is to have a file format that scales while keeping it simple: having such linear feature headers is less error prone wrt forward/backward compatibility as the content of a feature can be put anywhere, its location can even change by the time, it's fine because its headers will tell where it is. And we know how to find these headers, following the above rules. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-6-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3e13ab2d83b6867a20663c73c184f29c2fde1558 Author: Frederic Weisbecker Date: Wed Nov 11 04:51:06 2009 +0100 perf tools: Use perf_header__set/has_feat whenever possible And drop the alternate checks/sets using set_bit or other kind of helpers. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4778d2e4f410c6eea32f594cb2be9590bcb28b84 Author: Frederic Weisbecker Date: Wed Nov 11 04:51:05 2009 +0100 perf tools: Read the build-ids from the header layer Keep the build-ids reading implementation in the data mapping but move its call to the headers so that we have a better control on it (offset seeking, size passing, etc..). Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 57f395a7eabb913d3605d7392be5bdb0837c9f3d Author: Frederic Weisbecker Date: Wed Nov 11 04:51:04 2009 +0100 perf tools: Split up build id saving into fetch and write We are saving the build id once we stop the profiling. And only after doing that we know if we need to set that feature in the header through the feature bitmap. But if we want a proper feature support in the headers, using a rule of offset/size pairs in sections, we need to know in advance how many features we need to set in the headers, so that we can reserve rooms for their section headers. The current state doesn't allow that, as it forces us to first save the build-ids to the file right after the datas instead of planning any structured layout. That's why this splits up the build-ids processing in two parts: one that fetches the build-ids from the Dso objects, and one that saves them into the file. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8671dab9d5b2f0b444b8d09792384dccbfd43d14 Author: Frederic Weisbecker Date: Wed Nov 11 04:51:03 2009 +0100 perf tools: Move the build-id storage operations to headers So that it makes easier to control it. Especially because we plan to give it a feature section. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit de8967214d8ce536161a1ad6538ad1cb82e7428d Author: Frederic Weisbecker Date: Wed Nov 11 04:51:02 2009 +0100 perf tools: Synthetize the targeted process Don't forget to also synthetize the targeted process from perf record or we'll miss its dso in the events and then we won't be able to deal with its build-id. We are missing it because it is created after the existing synthetized tasks but before the counters are enabled and can send its mapping event. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Hitoshi Mitake LKML-Reference: <1257911467-28276-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ff879eb611dba859c4349048a32789e8c82afa91 Author: stephen hemminger Date: Tue Nov 10 07:54:56 2009 +0000 CAN: use dev_get_by_index_rcu Use new function to avoid doing read_lock(). Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 61fbab77a843d2e772322ac130715cc9a98bf718 Author: stephen hemminger Date: Tue Nov 10 07:54:55 2009 +0000 IPV4: use rcu to walk list of devices in IGMP This also needs to be optimized for large number of devices. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e84446de5cccd90de7d7ec46527d3b343b022a09 Author: Randy Dunlap Date: Tue Nov 10 15:46:52 2009 -0800 x86 VSDO: Fix Kconfig help COMPAT_VDSO has 2 help text blocks, but kconfig only uses the last one found, so merge the 2 blocks. It would be real nice if kconfig would warn about this. Signed-off-by: Randy Dunlap LKML-Reference: <4AF9FB6C.70003@oracle.com> Signed-off-by: Ingo Molnar commit fa918602b61a71b4a9f47861b7e65c70258516c1 Author: stephen hemminger Date: Tue Nov 10 07:54:53 2009 +0000 decnet: use RCU to find network devices When showing device statistics use RCU rather than read_lock(&dev_base_lock) Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e576b9ef41c2c1b13e0c123b6e9d0589723c68bf Author: stephen hemminger Date: Tue Nov 10 07:54:52 2009 +0000 s390: use RCU to walk list of network devices This is similar to other cases where for_each_netdev_rcu can be used when gathering information. By inspection, don't have platform or cross-build environment to validate. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit f1e9016da6d0f16551d90085758ae45d26826118 Author: stephen hemminger Date: Tue Nov 10 07:54:49 2009 +0000 net: use rcu for network scheduler API Use RCU to walk list of network devices in qdisc dump. This could be optimized for large number of devices. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 9e067597ee0e51a07bc158e9e2703ca676920e8b Author: stephen hemminger Date: Tue Nov 10 07:54:48 2009 +0000 vlan: eliminate use of dev_base_lock Do not need to use read_lock(&dev_base_lock), use RCU instead. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 254245d23396aca1f9100d500163d7bd6019ab6f Author: stephen hemminger Date: Tue Nov 10 07:54:47 2009 +0000 netdev: add netdev_continue_rcu This adds an RCU macro for continuing search, useful for some network devices like vlan. Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 856540ee3116ac04a49bc06c2f30f54dd3faf7db Author: Brian Haley Date: Mon Nov 9 12:05:53 2009 +0000 IPv6: use ipv6_addr_v4mapped() Change udp6_portaddr_hash() to use ipv6_addr_v4mapped() inline instead of ipv6_addr_type(). Signed-off-by: Brian Haley Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 246c65add098a5ec14310ea17f39fdd57ff8407d Author: Eric Dumazet Date: Mon Nov 9 18:07:28 2009 +0000 parisc: led: Use for_each_netdev_rcu() Use for_each_netdev_rcu() and dont lock dev_base_lock anymore Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 292f4f3ce4b57f17a667cb34c72bca081dcc0281 Author: Herbert Xu Date: Mon Nov 9 08:42:01 2009 +0000 sit: Clean up DF code by copying from IPIP This patch rearranges the SIT DF bit handling using the new IPIP DF code. The only externally visible effect should be the case where PMTU is enabled and the MTU is exactly 1280 bytes. In this case the previous code would send packets out with DF off while the new code would set the DF bit. This is inline with RFC 4213. Signed-off-by: Herbert Xu Thanks, Signed-off-by: David S. Miller commit bcd323262a94b14b84341982b90443a76a477861 Author: Eric Dumazet Date: Mon Nov 9 07:40:17 2009 +0000 ipv6: Allow inet6_dump_addr() to handle more than 64 addresses Apparently, inet6_dump_addr() is not able to handle more than 64 ipv6 addresses per device. We must break from inner loops in case skb is full, or else cursor is put at the end of list. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 84d2697d9649339215675551eae28ba04068dea1 Author: Eric Dumazet Date: Mon Nov 9 12:11:28 2009 +0000 ipv6: speedup inet6_dump_ifinfo() When handling large number of netdevice, inet6_dump_ifinfo() is very slow because it has O(N^2) complexity. Instead of scanning one single list, we can use the 256 sub lists of the dev_index hash table, and RCU lookups. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 13cfa97bef0f1172879f98307ac716acf3e9cea9 Author: Cyrill Gorcunov Date: Sun Nov 8 05:51:19 2009 +0000 net: netlink_getname, packet_getname -- use DECLARE_SOCKADDR guard Use guard DECLARE_SOCKADDR in a few more places which allow us to catch if the structure copied back is too big. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 37e8273cd30592d3a82bcb70cbb1bdc4eaeb6b71 Author: Ben Hutchings Date: Wed Nov 4 15:29:52 2009 +0000 usbnet: Set link down initially for drivers that update link state Some usbnet drivers update link state while others do not due to hardware limitations. Add a flag to distinguish those that do, and set the link down initially for their devices. This is intended to fix this bug: http://bugs.debian.org/444043 Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8cbd9623da7e7a99c6bd0f0b7d21d17c233c6abb Author: Marin Mitov Date: Sun Nov 8 05:59:27 2009 +0000 niu: Use DMA_BIT_MASK(44) instead of deprecated DMA_44BIT_MASK Use DMA_BIT_MASK(44) instead of deprecated DMA_44BIT_MASK Signed-off-by: Marin Mitov Signed-off-by: David S. Miller commit 30fff9231fad757c061285e347b33c5149c2c2e4 Author: Eric Dumazet Date: Mon Nov 9 05:26:33 2009 +0000 udp: bind() optimisation UDP bind() can be O(N^2) in some pathological cases. Thanks to secondary hash tables, we can make it O(N) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0ab365f463b9c5c8b76476a1808dfde1c38f6f19 Author: Eilon Greenstein Date: Mon Nov 9 06:09:37 2009 +0000 bnx2x: version 1.52.1-4 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7d323bfdc056a9142b8bdbab88e4d3ac6e4989e4 Author: Eilon Greenstein Date: Mon Nov 9 06:09:35 2009 +0000 bnx2x: Change coalescing granularity to 4us Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 91545f6e588c601d1dff01d396155d973db83a31 Author: Eilon Greenstein Date: Mon Nov 9 06:09:28 2009 +0000 bnx2x: Remove misleading error print Failing to allocate MSI-X vectors is not an error and should not be printed as such Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d6a2f98b0128ad1225f959610ba21b6679b7cd96 Author: Eilon Greenstein Date: Mon Nov 9 06:09:22 2009 +0000 bnx2x: GSO implies CSUM offload Making sure that whenever the FW/HW is configured for GSO, it is also configured to CSUM offload Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b1704374fd525e50c44e1a03098728f64231a6f5 Author: Rémi Denis-Courmont Date: Mon Nov 9 04:06:40 2009 +0000 Phonet: allocate and copy for pipe TX without sock lock Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 6b0d07ba152893b40f1014a9db8da5aa564aa00e Author: Rémi Denis-Courmont Date: Mon Nov 9 02:17:01 2009 +0000 Phonet: put sockets in a hash table Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 4a9b5e5053a184ada2e9b19aee12b6200bb8980f Author: Ben Hutchings Date: Tue Nov 10 20:30:37 2009 -0800 speedfax: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8489992e723b5def1a807e615854f51b75d10600 Author: Ben Hutchings Date: Sat Nov 7 12:04:09 2009 +0000 pcnet-cs: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b3ccbb24e8914973be0d2ee7b66e44cecaed9bf5 Author: Ben Hutchings Date: Sat Nov 7 11:55:20 2009 +0000 tms380tr: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 866691a21e8c9dfc58c5ab1ed77d5c41e779755b Author: Ben Hutchings Date: Sat Nov 7 11:55:07 2009 +0000 spider-net: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b9721d5a2fa00ad979c19a9511d43d2664d5381c Author: Ben Hutchings Date: Sat Nov 7 11:54:44 2009 +0000 myri10ge: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 34336ec032878d1a32e7df881f16ce2145e53f83 Author: Ben Hutchings Date: Sat Nov 7 11:53:52 2009 +0000 cxgb3: declare MODULE_FIRMWARE Replace run-time string formatting with preprocessor string manipulation. Signed-off-by: Ben Hutchings Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 45229b420f90bb6736dfeb7e491eb46cb02a3e9c Author: Ben Hutchings Date: Sat Nov 7 11:53:39 2009 +0000 bnx2x: declare MODULE_FIRMWARE Replace run-time string formatting with preprocessor string manipulation. Signed-off-by: Ben Hutchings Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit e8c0ae2c04372248f2f6940a5984f5748aae9664 Author: Ben Hutchings Date: Sat Nov 7 11:46:07 2009 +0000 ambassador: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 9fca79d67031203ab1c3b59807aec261d7bb5539 Author: Ben Hutchings Date: Sat Nov 7 11:40:32 2009 +0000 solos-pci: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 36c04a61f516742dad6f9bad8c6c1a7137a260f5 Author: Ben Hutchings Date: Sat Nov 7 11:37:36 2009 +0000 netx: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Acked-by: Sascha Hauer Signed-off-by: David S. Miller commit 774facda20d2f8f0f61fa312d8028dad18ac5ee4 Merge: b419148 ce491cf Author: Tony Lindgren Date: Tue Nov 10 18:10:34 2009 -0800 Merge branch '7xx-iosplit-plat' with omap-fixes commit 6635529987cd01f9af0c3996cf2e7b9e2bbb4aa7 Author: Linus Walleij Date: Wed Nov 4 00:00:44 2009 +0100 ARM: 5783/1: Make it possible for U300 LDO D to shut down This changes the regulator platform config for U300 so that the LDO D regulator can change status and shut down the system and the pm_shutdown() hook in regulator.c starts working. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 01c62c9b32ec122bf5e3edeecec4d826cb8e81e5 Author: Uwe Kleine-König Date: Tue Nov 3 20:39:02 2009 +0100 ARM: 5782/1: at91: support for eco920 CONFIG_MACH_ECO920 is enabled in at91rm9200dk_defconfig. The name is wrong, but this is better than adding another defconfig or don't get compile coverage at all. Signed-off-by: Uwe Kleine-König Acked-by: Andrew Victor Signed-off-by: Russell King commit 1ea60cf7062271f0d53d09268726aa1544bf4836 Author: Albin Tonnerre Date: Sun Nov 1 18:40:50 2009 +0100 ARM: 5778/1: AT91: Add cpuidle support This patch adds the support for cpuidle on AT91 SoCs, taken from the cpuidle support in mach-kirkwood. cpuidle needs sdram_selfrefresh_enable and _disable, so move their definition to a separate header file instead of duplicating the code already used in pm.c. Tested-by: Nicolas Ferre Signed-off-by: Albin Tonnerre Acked-by: Andrew Victor Signed-off-by: Russell King commit c64ac3ce06558e534aec62b1fadeb0a3f111dac1 Author: Paul E. McKenney Date: Tue Nov 10 13:37:22 2009 -0800 rcu: Simplify association of quiescent states with grace periods The rdp->passed_quiesc_completed fields are used to properly associate the recorded quiescent state with a grace period. It is OK to wrongly associate a given quiescent state with a preceding grace period, but it is fatal to associate a given quiescent state with a grace period that begins after the quiescent state occurred. Grace periods are numbered, and the following fields track them: o ->gpnum is the number of the grace period currently in progress, or the number of the last grace period to complete if no grace period is currently in progress. o ->completed is the number of the last grace period to have completed. These two fields are equal if there is no grace period in progress, otherwise ->gpnum is one greater than ->completed. But the rdp->passed_quiesc_completed field compared against ->completed, and if equal, the quiescent state is presumed to count against the current grace period. The earlier code copied rdp->completed to rdp->passed_quiesc_completed, which has been made to work, but is error-prone. In contrast, copying one less than rdp->gpnum is guaranteed safe, because rdp->gpnum is not incremented until after the start of the corresponding grace period. At the end of the grace period, when ->completed has incremented, then any quiescent periods recorded previously will be discarded. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12578890421011-git-send-email-> Signed-off-by: Ingo Molnar commit 4bcfe055030d9e953945def3864f7e6997b27782 Author: Paul E. McKenney Date: Tue Nov 10 13:37:21 2009 -0800 rcu: Rename dynticks_completed to completed_fqs This field is used whether or not CONFIG_NO_HZ is set, so the old name of ->dynticks_completed is quite misleading. Change to ->completed_fqs, given that it the value that force_quiescent_state() is trying to drive the ->completed field away from. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12578890423298-git-send-email-> Signed-off-by: Ingo Molnar commit 956539b75921f561c0956c22d37320780e8b4ba1 Author: Paul E. McKenney Date: Tue Nov 10 13:37:20 2009 -0800 rcu: Enable synchronize_sched_expedited() fastpath This patch adds a counter increment to enable tasks to actually take the synchronize_sched_expedited() function's fastpath. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1257889042435-git-send-email-> Signed-off-by: Ingo Molnar commit dbe01350fa8ce0c11948ab7d6be71a4d901be151 Author: Paul E. McKenney Date: Tue Nov 10 13:37:19 2009 -0800 rcu: Remove inline from forward-referenced functions Some variants of gcc are reputed to dislike forward references to functions declared "inline". Remove the "inline" keyword from such functions. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12578890422402-git-send-email-> Signed-off-by: Ingo Molnar commit 200a9ae2801bc725f2c41ab13f6e0fb1610d2fb6 Author: Dimitri Sivanich Date: Tue Nov 10 13:58:35 2009 -0600 x86: Remove asm/apicnum.h arch/x86/include/asm/apicnum.h is not referenced anywhere anymore. Its definitions appear in apicdef.h. Remove it. Signed-off-by: Dimitri Sivanich Acked-by: Cyrill Gorcunov Acked-by: Mike Travis LKML-Reference: <20091110195835.GA4393@sgi.com> Signed-off-by: Ingo Molnar commit e02e0e1a130b9ca37c5186d38ad4b3aaf58bb149 Author: Dave Jones Date: Tue Nov 10 15:01:20 2009 -0500 x86: Fix typo in Intel CPU cache size descriptor I double-checked the datasheet. One of the existing descriptors has a typo: it should be 2MB not 2038 KB. Signed-off-by: Dave Jones Cc: # .3x.x: 85160b9: x86: Add new Intel CPU cache size descriptors Cc: # .3x.x LKML-Reference: <20091110200120.GA27090@redhat.com> Signed-off-by: Ingo Molnar commit ffd44db5f02af32bcc25a8eb5981bf02a141cdab Author: Peter Zijlstra Date: Tue Nov 10 20:12:01 2009 +0100 sched: Make sure task has correct sched_class after policy change From the code in rt_mutex_setprio(), it is evident that the intention is that task's with a RT 'prio' value as a consequence of receiving a PI boost also have their 'sched_class' field set to '&rt_sched_class'. However, Peter noticed that the code in __setscheduler() could result in this intention being frustrated. Fix it. Reported-by: Peter Williams Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <1257880321.4108.457.camel@laptop> Signed-off-by: Ingo Molnar commit 85160b92fbd35321104819283c91bfed2b553e3c Author: Dave Jones Date: Tue Nov 10 13:49:24 2009 -0500 x86: Add new Intel CPU cache size descriptors The latest rev of Intel doc AP-485 details new cache descriptors that we don't yet support. 12MB, 18MB and 24MB 24-way assoc L3 caches. Signed-off-by: Dave Jones LKML-Reference: <20091110184924.GA20337@redhat.com> Signed-off-by: Ingo Molnar commit c5659b74f052150791750234f92dcfb29d27efa5 Author: Hitoshi Mitake Date: Wed Nov 11 00:04:02 2009 +0900 perf bench: Improve sched-message.c with more comfortable output This patch improves sched-message.c with more comfortable output. Change points are comment style description and formatting numerical values and its units. Example: | % perf bench sched messaging | # Running sched/messaging benchmark... | # 20 sender and receiver processes per group | # 10 groups == 400 processes run | | Total time: 1.490 [sec] Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257865442-20252-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Paul Mackerras commit ff676b193a401b23c84a79a7ec06559f3eaae917 Author: Hitoshi Mitake Date: Wed Nov 11 00:04:01 2009 +0900 perf bench: Improve sched-pipe.c with more comfortable output This patch improves sched-pipe.c with more comfortable output. Change points are comment style description and formatting numerical values and its units. Example: | % ./perf bench sched pipe | # Running sched/pipe benchmark... | # Extecuted 1000000 pipe operations between two tasks | | Total time:5.822 [sec] | | 5.822553 usecs/op | 171745 ops/sec Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257865442-20252-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 79e295d4bd0f524257299e7c4e42f643f21abcc2 Author: Hitoshi Mitake Date: Wed Nov 11 00:04:00 2009 +0900 perf bench: Improve builtin-bench.c for more friendly output This patch makes output of perf bench more friendly. Current style of putput, keeping user wait and printing everything suddenly when we finish, may confuse users. So I improved it: | % perf bench sched messaging | # Running sched/messaging benchmark... <- printed right after invocation | # 20 sender and receiver processes per group | # 10 groups == 400 processes run | | Total time: 1.476 [sec] Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257865442-20252-2-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 8f217a226cfa7b960b8a6c00cef6b4de2c5dd030 Author: Takashi Iwai Date: Tue Nov 10 18:26:12 2009 +0100 ALSA: hda - Add missing export for snd_hda_bus_reboot_notify ... forgot to add for modules. Signed-off-by: Takashi Iwai commit 7584af10cf46e0f4aa1696f1be79fa0f19a945ba Author: Clemens Ladisch Date: Tue Nov 10 10:14:04 2009 +0100 sound: rawmidi: record a substream's owner process Record the pid of the task that opened a RawMIDI substream. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e7373b702f6eab35f315e016a4159860a7a4d686 Author: Clemens Ladisch Date: Tue Nov 10 10:13:30 2009 +0100 sound: pcm: record a substream's owner process Record the pid of the task that opened a PCM substream. For sound cards with hardware mixing, this allows determining which process is associated with a specific substream's volume control. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 91d12c485b8949cce6c13ab641147c5bc86ce8b9 Author: Clemens Ladisch Date: Wed Oct 21 09:12:26 2009 +0200 sound: rawmidi: fix opened substreams count The substream_opened field is to count the number of opened substreams, not the number of times that any substreams have been opened. Furthermore, all substreams being opened does not imply that the next open would fail, due to the possibility of O_APPEND. With this wrong check, opening a substream multiple times would succeed only if the device had more unopened substreams. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 3f225c07c7d0559f65b41250edd01a577fdba426 Merge: b7fe750 25d27ed Author: Takashi Iwai Date: Tue Nov 10 16:30:03 2009 +0100 Merge branch 'topic/ctl-pid-lock' into topic/core-change commit e3303235209c0496b490e10ab131e72a9568c153 Author: Jaroslav Kysela Date: Tue Nov 10 14:53:02 2009 +0100 ALSA: hda - proc - show which I/O NID is associated to PCM device Output something like: Node 0x02 [Audio Output] wcaps 0x11: Stereo Device: name="ALC888 Analog", type="Audio", device=0, substream=0 Converter: stream=0, channel=0 ... Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit fb8d1a344dbe963f16249d07eee8415e93f9f3c2 Author: Takashi Iwai Date: Tue Nov 10 16:02:29 2009 +0100 ALSA: hda - Add reboot notifier to each codec Add reboot notifier to each codec so that it can do some workarounds needed for reboot. So far, patch_sigmatel.c calls its shutup routine for avoiding noises at reboot on some HP machines. References: Novell bnc#544779 http://bugzilla.novell.com/show_bug.cgi?id=544779 Signed-off-by: Takashi Iwai commit b4941a9a606f0131559cc040b64e8437ac7b32c5 Author: Ingo Molnar Date: Tue Nov 10 14:37:58 2009 +0100 x86: Add iommu_init to x86_init_ops, fix build Most of the time x86_init.h is included in pci-dma.c - but not always, leading to this rare build failure: arch/x86/kernel/pci-dma.c:296: error: 'x86_init' undeclared (first use in this function) So include asm/x86_init.h explicitly. Cc: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 8d8d61aadb9d8cce07f7dcdb77a4c20a25d36d07 Author: Hitoshi Mitake Date: Tue Nov 10 20:50:55 2009 +0900 perf bench: Modify command-list.txt for the entry of perf-bench This patch modifies command-list.txt for the entry of perf-bench. So perf will show 'bench' in command list. Example: % perf usage: perf [--version] [--help] COMMAND [ARGS] The most commonly used perf commands are: annotate Read perf.data (created by perf record) and display annotated code bench General framework for benchmark suites ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ list List all symbolic event types probe Define new dynamic tracepoints record Run a command and record its profile into perf.data report Read perf.data (created by perf record) and display the profile sched Tool to trace/measure scheduler properties (latencies) stat Run a command and gather performance counter statistics timechart Tool to visualize total system behavior during a workload top System profiling tool. trace Read perf.data (created by perf record) and display trace output See 'perf help COMMAND' for more information on a specific command. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257853855-28934-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 9fbc04f2493929a69fd9e53b5fb53c127d7950d5 Author: Hitoshi Mitake Date: Tue Nov 10 20:50:54 2009 +0900 perf bench: Add new document about perf-bench This patch adds new document about perf-bench. Man page and html will be provided for user. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257853855-28934-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 606bc1e18d346fc7d7fb333909cc95b06b1ca5b1 Author: Ingo Molnar Date: Tue Nov 10 20:50:53 2009 +0900 perf bench: Clean up bench/bench.h Clean up initializers in bench.h: - No need to break the line for function prototypes, they are more readable in a single line. (even if checkpatch complains about it - We try to align definitions / structure fields vertically, to make it all a bit more readable. Signed-off-by: Ingo Molnar Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257853855-28934-2-git-send-email-mitake@dcl.info.waseda.ac.jp> commit 72d03802b8b5c841ab1da82bff0652628cbadf60 Author: FUJITA Tomonori Date: Tue Nov 10 21:35:17 2009 +0900 x86, 32-bit: Fix swiotlb boot crash Ingo Molnar reported this boot crash: [ 8.655620] pata_amd 0000:00:06.0: version 0.4.1 [ 8.660286] BUG: unable to handle kernel NULL pointer dereference at 00000034 [ 8.663572] IP: [] dma_supported+0x3b/0xa4 [ 8.663572] *pde = 00000000 Initialize dma_ops properly in the 32-bit case. Signed-off-by: Ingo Molnar commit a68cc8daebdd8ba7fe457ab4b2a0ccdf3cedc9f8 Author: Grant Likely Date: Mon Nov 9 09:40:09 2009 -0700 ASoC: mpc5200: remove duplicate identical IRQ handler The TX and RX irq handlers are identical. Merge them Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 68d019553b8cc4ddac7f861e23efbe48a1367490 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:20 2009 +0200 ASoC: TWL4030: Do not modify the APLL_CTL register APLL_CTL register is configured by the twl4030-codec MFD driver. Remove code, which makes changes in the APLL_CTL register, and replace those with checks against the configured audio_mclk configuration done in the MFD driver. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0969afcc449d5d655784c04e938cf4cfc6e89c0e Merge: 5f63ef9 f9b4639 Author: Mark Brown Date: Tue Nov 10 12:08:12 2009 +0000 Merge branch 'twl4030-mfd' into for-2.6.33 commit f9b4639e045c750e2bad37462476403995508350 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:19 2009 +0200 MFD: twl4030-codec: APLL_INFREQ handling in the MFD driver Configure the APLL_INFREQ field in the APLL_CTL register based on the platform data. Provide also a function for childs to query the audio_mclk frequency. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 953e2f3d272db9db6671ad4f4244820557a71cf7 Author: Peter Ujfalusi Date: Wed Nov 4 09:58:18 2009 +0200 OMAP: Configure audio_mclk for twl4030-codec MFD audio_mclk value is going to be handled by the twl4030-codec MFD driver, configure the correct value for boards, which is using the twl4030 audio. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit cfd5324e699a2e74a44642d43dcf03d581f2a7db Author: Peter Ujfalusi Date: Wed Nov 4 09:58:17 2009 +0200 MFD: TWL4030: Add audio_mclk to the codec platform data Add audio_mclk to the platform data struct for the twl4030-codec MFD driver. Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 5f63ef9909c187581c7f2c28fbc93866a0d59f7f Author: Graeme Gregory Date: Mon Nov 9 19:02:15 2009 +0000 ASoC: omap-mcbsp - add support for upto 16 channels. This patch increases the number of supported audio channels from 4 to 16 and has been sponsored by Shotspotter Inc. It also fixes a FSYNC rate calculation bug when McBSP is FSYNC master. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Acked-by: Peter Ujfalusi Tested-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 75f1cdf1dda92cae037ec848ae63690d91913eac Author: FUJITA Tomonori Date: Tue Nov 10 19:46:20 2009 +0900 x86: Handle HW IOMMU initialization failure gracefully If HW IOMMU initialization fails (Intel VT-d often does this, typically due to BIOS bugs), we fall back to nommu. It doesn't work for the majority since nowadays we have more than 4GB memory so we must use swiotlb instead of nommu. The problem is that it's too late to initialize swiotlb when HW IOMMU initialization fails. We need to allocate swiotlb memory earlier from bootmem allocator. Chris explained the issue in detail: http://marc.info/?l=linux-kernel&m=125657444317079&w=2 The current x86 IOMMU initialization sequence is too complicated and handling the above issue makes it more hacky. This patch changes x86 IOMMU initialization sequence to handle the above issue cleanly. The new x86 IOMMU initialization sequence are: 1. we initialize the swiotlb (and setting swiotlb to 1) in the case of (max_pfn > MAX_DMA32_PFN && !no_iommu). dma_ops is set to swiotlb_dma_ops or nommu_dma_ops. if swiotlb usage is forced by the boot option, we finish here. 2. we call the detection functions of all the IOMMUs 3. the detection function sets x86_init.iommu.iommu_init to the IOMMU initialization function (so we can avoid calling the initialization functions of all the IOMMUs needlessly). 4. if the IOMMU initialization function doesn't need to swiotlb then sets swiotlb to zero (e.g. the initialization is sucessful). 5. if we find that swiotlb is set to zero, we free swiotlb resource. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-10-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit ad32e8cb86e7894aac51c8963eaa9f36bb8a4e14 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:19 2009 +0900 swiotlb: Defer swiotlb init printing, export swiotlb_print_info() This enables us to avoid printing swiotlb memory info when we initialize swiotlb. After swiotlb initialization, we could find that we don't need swiotlb. This patch removes the code to print swiotlb memory info in swiotlb_init() and exports the function to do that. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com Cc: tony.luck@intel.com Cc: benh@kernel.crashing.org LKML-Reference: <1257849980-22640-9-git-send-email-fujita.tomonori@lab.ntt.co.jp> [ -v2: merge up conflict ] Signed-off-by: Ingo Molnar commit 5740afdb68abadc473fd5392df733558a58c1254 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:18 2009 +0900 swiotlb: Add swiotlb_free() function swiotlb_free() function frees all allocated memory for swiotlb. We need to initialize swiotlb before IOMMU initialization (x86 and powerpc needs to allocate memory from bootmem allocator). If IOMMU initialization is successful, we need to free swiotlb resource (don't want to waste 64MB). Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-8-git-send-email-fujita.tomonori@lab.ntt.co.jp> [ -v2: build fix for the !CONFIG_SWIOTLB case ] Signed-off-by: Ingo Molnar commit 9f993ac3f708b661207ed7de521f245586217a68 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:17 2009 +0900 bootmem: Add free_bootmem_late() Add a new function for freeing bootmem after the bootmem allocator has been released and the unreserved pages given to the page allocator. This allows us to reserve bootmem and then release it if we later discover it was not needed. ( This new API will be used by the swiotlb code to recover a significant amount of RAM (64MB). ) Signed-off-by: FUJITA Tomonori Acked-by: Pekka Enberg Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com Cc: hannes@cmpxchg.org Cc: tj@kernel.org Cc: akpm@linux-foundation.org Cc: Linus Torvalds LKML-Reference: <1257849980-22640-7-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 9d5ce73a64be2be8112147a3e0b551ad9cd1247b Author: FUJITA Tomonori Date: Tue Nov 10 19:46:16 2009 +0900 x86: intel-iommu: Convert detect_intel_iommu to use iommu_init hook This changes detect_intel_iommu() to set intel_iommu_init() to iommu_init hook if detect_intel_iommu() finds the IOMMU. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-6-git-send-email-fujita.tomonori@lab.ntt.co.jp> [ -v2: build fix for the !CONFIG_DMAR case ] Signed-off-by: Ingo Molnar commit ea1b0d3945c7374849235b6ecaea1191ee1d9d50 Author: FUJITA Tomonori Date: Tue Nov 10 19:46:15 2009 +0900 x86: amd_iommu: Convert amd_iommu_detect() to use iommu_init hook This changes amd_iommu_detect() to set amd_iommu_init to iommu_init hook if amd_iommu_detect() finds the AMD IOMMU. We can kill the code to check if we found the IOMMU in amd_iommu_init() since amd_iommu_detect() sets amd_iommu_init() only when it found the IOMMU. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-5-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit de957628ce7c84764ff41331111036b3ae5bad0f Author: FUJITA Tomonori Date: Tue Nov 10 19:46:14 2009 +0900 x86: GART: Convert gart_iommu_hole_init() to use iommu_init hook This changes gart_iommu_hole_init() to set gart_iommu_init() to iommu_init hook if gart_iommu_hole_init() finds the GART IOMMU. We can kill the code to check if we found the IOMMU in gart_iommu_init() since gart_iommu_hole_init() sets gart_iommu_init() only when it found the IOMMU. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit d7b9f7be216b04ff9d108f856bc03d96e7b3439c Author: FUJITA Tomonori Date: Tue Nov 10 19:46:13 2009 +0900 x86: Calgary: Convert detect_calgary() to use iommu_init hook This changes detect_calgary() to set init_calgary() to iommu_init hook if detect_calgary() finds the Calgary IOMMU. We can kill the code to check if we found the IOMMU in init_calgary() since detect_calgary() sets init_calgary() only when it found the IOMMU. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com LKML-Reference: <1257849980-22640-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit d07c1be0693e0902d743160b8b638585b808f8ac Author: FUJITA Tomonori Date: Tue Nov 10 19:46:12 2009 +0900 x86: Add iommu_init to x86_init_ops We call the detections functions of all the IOMMUs then all their initialization functions. The latter is pointless since we don't detect multiple different IOMMUs. What we need to do is calling the initialization function of the detected IOMMU. This adds iommu_init hook to x86_init_ops so if an IOMMU detection function can set its initialization function to the hook. Signed-off-by: FUJITA Tomonori Cc: chrisw@sous-sol.org Cc: dwmw2@infradead.org Cc: joerg.roedel@amd.com Cc: muli@il.ibm.com LKML-Reference: <1257849980-22640-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 1a74357066369be91e6f4f431621a00b052df964 Author: Andreas Herrmann Date: Tue Nov 10 12:09:20 2009 +0100 x86: ucode-amd: Convert printk(KERN_*...) to pr_*(...) Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091110110920.GJ30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 14c569425a0ae12cbeed72fdb8ebe78c48455dfd Author: Andreas Herrmann Date: Tue Nov 10 12:08:25 2009 +0100 x86: ucode-amd: Don't warn when no ucode is available for a CPU revision There is no point in warning when there is no ucode available for a specific CPU revision. Currently the container-file, which provides the AMD ucode patches for OS load, contains only a few ucode patches. It's already clearly indicated by the printed patch_level whenever new ucode was available and an update happened. So the warning message is of no help but rather annoying on systems with many CPUs. Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091110110825.GI30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit d1c84f79a6ba992dc01e312c44a21496303874d6 Author: Andreas Herrmann Date: Tue Nov 10 12:07:23 2009 +0100 x86: ucode-amd: Load ucode-patches once and not separately of each CPU This also implies that corresponding log messages, e.g. platform microcode: firmware: requesting amd-ucode/microcode_amd.bin show up only once on module load and not when ucode is updated for each CPU. Signed-off-by: Andreas Herrmann Cc: dimm LKML-Reference: <20091110110723.GH30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 86b37281411cf1e9bc0a6b5406c45edb7bd9ea5d Author: Martin K. Petersen Date: Tue Nov 10 11:50:21 2009 +0100 block: Expose discard granularity While SSDs track block usage on a per-sector basis, RAID arrays often have allocation blocks that are bigger. Allow the discard granularity and alignment to be set and teach the topology stacking logic how to handle them. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 59d8eb53ea9947db7cad8ebc31b0fb54f23a9851 Author: Frederic Weisbecker Date: Tue Nov 10 11:03:12 2009 +0100 hw-breakpoints: Wrap in the KVM breakpoint active state check Wrap in the cpu dr7 check that tells if we have active breakpoints that need to be restored in the cpu. This wrapper makes the check more self-explainable and also reusable for any further other uses. Reported-by: Jan Kiszka Signed-off-by: Frederic Weisbecker Cc: Avi Kivity Cc: "K. Prasad" commit f60d24d2ad04977b0bd9e3eb35dba2d2fa569af9 Author: Frederic Weisbecker Date: Tue Nov 10 10:17:07 2009 +0100 hw-breakpoints: Fix broken hw-breakpoint sample module The hw-breakpoint sample module has been broken during the hw-breakpoint internals refactoring. Propagate the changes to it. Reported-by: "K. Prasad" Signed-off-by: Frederic Weisbecker commit 9f6b3c2c30cfbb1166ce7e74a8f9fd93ae19d2de Author: Frederic Weisbecker Date: Mon Nov 9 21:03:43 2009 +0100 hw-breakpoints: Fix broken a.out format dump Fix the broken a.out format dump. For now we only dump the ptrace breakpoints. TODO: Dump every perf breakpoints for the current thread, not only ptrace based ones. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: "K. Prasad" commit 676c0dbe6e514fdd8e434a9e623c781aa9b40b15 Author: Paul Mundt Date: Mon Nov 9 17:37:34 2009 +0900 ksym_tracer: Support read accesses independent of read/write. All of the infrastructure already exists to support read accesses for platforms that support a read access independently of read/write (such as in the case of the SuperH UBC). This just trivially hooks up the read case by itself. Signed-off-by: Paul Mundt Cc: Ingo Molnar Cc: Li Zefan Cc: Prasad Cc: Alan Stern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Jan Kiszka Cc: Jiri Slaby Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Arjan van de Ven LKML-Reference: <20091109083733.GA25848@linux-sh.org> Signed-off-by: Frederic Weisbecker commit 2fb8f4e6a83dcaec15c1dd0ee8a6f618e7ece7f0 Author: Xiaotian Feng Date: Tue Nov 10 17:23:25 2009 +0800 x86: pat: Remove ioremap_default() Commit: b6ff32d: x86, PAT: Consolidate code in pat_x_mtrr_type() and reserve_memtype() consolidated reserve_memtype() and pat_x_mtrr_type, this made ioremap_default() same as ioremap_cache(). Remove the redundant function and change the only caller to use ioremap_cache. Signed-off-by: Xiaotian Feng Cc: Suresh Siddha Cc: Venkatesh Pallipadi LKML-Reference: <1257845005-7938-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit 83ea05ea69290b2e30da795527dbe304db1e2331 Author: Xiaotian Feng Date: Tue Nov 10 17:23:07 2009 +0800 x86: pat: Clean up req_type special case for reserve_memtype() Commit: b6ff32d: x86, PAT: Consolidate code in pat_x_mtrr_type() and reserve_memtype() consolidated code in pat_x_mtrr_type() and reserve_memtype(), which removed the special case (req_type is -1) for the PAT-enabled part. We should also change comments and the PAT-disabled part. Signed-off-by: Xiaotian Feng Cc: Suresh Siddha Cc: Venkatesh Pallipadi LKML-Reference: <1257844987-7906-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit 41855b77547fa18d90ed6a5d322983d3fdab1959 Author: Joe Perches Date: Mon Nov 9 17:58:50 2009 -0800 x86: GART: pci-gart_64.c: Use correct length in strncmp Signed-off-by: Joe Perches Cc: # .3x.x LKML-Reference: <1257818330.12852.72.camel@Joe-Laptop.home> Signed-off-by: Ingo Molnar commit a2202aa29289db64ca7988b12343158b67b27f10 Author: Yong Wang Date: Tue Nov 10 09:38:24 2009 +0800 x86: Under BIOS control, restore AP's APIC_LVTTHMR to the BSP value On platforms where the BIOS handles the thermal monitor interrupt, APIC_LVTTHMR on each logical CPU is programmed to generate a SMI and OS must not touch it. Unfortunately AP bringup sequence using INIT-SIPI-SIPI clears all the LVT entries except the mask bit. Essentially this results in all LVT entries including the thermal monitoring interrupt set to masked (clearing the bios programmed value for APIC_LVTTHMR). And this leads to kernel take over the thermal monitoring interrupt on AP's but not on BSP (leaving the bios programmed value only on BSP). As a result of this, we have seen system hangs when the thermal monitoring interrupt is generated. Fix this by reading the initial value of thermal LVT entry on BSP and if bios has taken over the control, then program the same value on all AP's and leave the thermal monitoring interrupt control on all the logical cpu's to the bios. Signed-off-by: Yong Wang Reviewed-by: Suresh Siddha Cc: Borislav Petkov Cc: Arjan van de Ven LKML-Reference: <20091110013824.GA24940@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar Cc: stable@kernel.org commit 7abc07531383ac7f727cc9d44e1360a829f2082e Author: Cyrill Gorcunov Date: Tue Nov 10 01:06:59 2009 +0300 x86: apic: Do not use stacked physid_mask_t We should not use physid_mask_t as a stack based variable in apic code. This type depends on MAX_APICS parameter which may be huge enough. Especially it became a problem with apic NOOP driver which is portable between 32 bit and 64 bit environment (where we have really huge MAX_APICS). So apic driver should operate with pointers and a caller in turn should aware of allocation physid_mask_t variable. As a side (but positive) effect -- we may use already implemented physid_set_mask_of_physid function eliminating default_apicid_to_cpu_present completely. Note that physids_coerce and physids_promote turned into static inline from macro (since macro hides the fact that parameter is being interpreted as unsigned long, make it explicit). Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Maciej W. Rozycki Cc: Stephen Rothwell LKML-Reference: <20091109220659.GA5568@lenovo> Signed-off-by: Ingo Molnar commit 6e18da75c28b592594fd632cf3e6eb09d3d078de Author: Andreas Herrmann Date: Thu Oct 29 14:47:42 2009 +0100 x86, amd-ucode: Remove needless log messages Signed-off-by: Andreas Herrmann Cc: Borislav Petkov LKML-Reference: <20091029134742.GD30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 158ba827f6deef4102c5247ed4b6a587f0bd6a07 Author: Hitoshi Mitake Date: Tue Nov 10 08:20:02 2009 +0900 perf bench: Modify builtin-pipe.c for processing common options This patch modifies builtin-pipe.c for processing common options. The first option added is "--format". Users of perf bench will be able to specify output style by --format. Usage example: % ./perf bench sched pipe # with no style specify (executing 1000000 pipe operations between two tasks) Total time:5.855 sec 5.855061 usecs/op 170792 ops/sec % ./perf bench --format=simple sched pipe # specified simple 5.988 Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-5-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Paul Mackerras commit cced06c62a9db6bd6d77e3f0a57dbe47a26d881e Author: Hitoshi Mitake Date: Tue Nov 10 08:20:01 2009 +0900 perf bench: Modify bench/bench-messaging.c to adopt unified output formatting This patch modifies bench/bench-messaging.c to adopt unified output formatting: --format option. Usage example: % ./perf bench sched messaging # with no style specify (20 sender and receiver processes per group) (10 groups == 400 processes run) Total time:1.431 sec % ./perf bench --format=simple sched messaging # specified simple 1.431 Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 386d7e9e542c2115d5d300747e57f503458a1617 Author: Hitoshi Mitake Date: Tue Nov 10 08:20:00 2009 +0900 perf bench: Modify builtin-bench.c for processing common options This patch modifies builtin-bench.c for processing common options. The first option added is "--format". Users of perf bench will be able to specify output style by --format. Usage example: % ./perf bench sched messaging # with no style specify (20 sender and receiver processes per group) (10 groups == 400 processes run) Total time:1.431 sec % ./perf bench --format=simple sched messaging # specified simple 1.431 Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 242aa14a67f4e19453fc8a51cffc5ac5ee5bcbd1 Author: Hitoshi Mitake Date: Tue Nov 10 08:19:59 2009 +0900 perf bench: Add format constants to bench.h for unified output formatting This patch adds some constants and extern declaration to bench.h. These are used for unified output formatting of 'perf bench'. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1257808802-9420-2-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit eae0c9dfb534cb3449888b9601228efa6480fdb5 Author: Mike Galbraith Date: Tue Nov 10 03:50:02 2009 +0100 sched: Fix and clean up rate-limit newidle code Commit 1b9508f, "Rate-limit newidle" has been confirmed to fix the netperf UDP loopback regression reported by Alex Shi. This is a cleanup and a fix: - moved to a more out of the way spot - fix to ensure that balancing doesn't try to balance runqueues which haven't gone online yet, which can mess up CPU enumeration during boot. Reported-by: Alex Shi Reported-by: Zhang, Yanmin Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra Cc: # .32.x: a1f84a3: sched: Check for an idle shared cache Cc: # .32.x: 1b9508f: sched: Rate-limit newidle Cc: # .32.x: fd21073: sched: Fix affinity logic Cc: # .32.x LKML-Reference: <1257821402.5648.17.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 9160306e6f5b68bb64630c9031c517ca1cf463db Author: Paul E. McKenney Date: Mon Nov 2 13:52:29 2009 -0800 rcu: Fix note_new_gpnum() uses of ->gpnum Impose a clear locking design on the note_new_gpnum() function's use of the ->gpnum counter. This is done by updating rdp->gpnum only from the corresponding leaf rcu_node structure's rnp->gpnum field, and even then only under the protection of that same rcu_node structure's ->lock field. Performance and scalability are maintained using a form of double-checked locking, and excessive spinning is avoided by use of the spin_trylock() function. The use of spin_trylock() is safe due to the fact that CPUs who fail to acquire this lock will try again later. The hierarchical nature of the rcu_node data structure limits contention (which could be limited further if need be using the RCU_FANOUT kernel parameter). Without this patch, obscure but quite possible races could result in a quiescent state that occurred during one grace period to be accounted to the following grace period, causing this following grace period to end prematurely. Not good! Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: # .32.x LKML-Reference: <12571987492350-git-send-email-> Signed-off-by: Ingo Molnar commit d09b62dfa336447c52a5ec9bb88adbc479b0f3b8 Author: Paul E. McKenney Date: Mon Nov 2 13:52:28 2009 -0800 rcu: Fix synchronization for rcu_process_gp_end() uses of ->completed counter Impose a clear locking design on the rcu_process_gp_end() function's use of the ->completed counter. This is done by creating a ->completed field in the rcu_node structure, which can safely be accessed under the protection of that structure's lock. Performance and scalability are maintained by using a form of double-checked locking, so that rcu_process_gp_end() only acquires the leaf rcu_node structure's ->lock if a grace period has recently ended. This fix reduces rcutorture failure rate by at least two orders of magnitude under heavy stress with force_quiescent_state() being invoked artificially often. Without this fix, unsynchronized access to the ->completed field can cause rcu_process_gp_end() to advance callbacks whose grace period has not yet expired. (Bad idea!) Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: # .32.x LKML-Reference: <12571987494069-git-send-email-> Signed-off-by: Ingo Molnar commit 281d150c5f8892f158747594ab49ce2823fd8b8c Author: Paul E. McKenney Date: Mon Nov 2 13:52:27 2009 -0800 rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of ->completed counter Impose a clear locking design on non-NO_HZ handling of the ->completed counter. This increases the distance between the RCU and the CPU-hotplug mechanisms. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: # .32.x LKML-Reference: <12571987491353-git-send-email-> Signed-off-by: Ingo Molnar commit 7e1a2766e67a529f62c8cfba0a47d63fc4f7fa8a Merge: c5e0cb3 83f5b01 Author: Ingo Molnar Date: Tue Nov 10 04:10:31 2009 +0100 Merge branch 'core/urgent' into core/rcu Merge reason: Pick up RCU fixlet to base further commits on. Signed-off-by: Ingo Molnar commit dd8dbf2e6880e30c00b18600c962d0cb5a03c555 Author: Eric Paris Date: Tue Nov 3 16:35:32 2009 +1100 security: report the module name to security_module_request For SELinux to do better filtering in userspace we send the name of the module along with the AVC denial when a program is denied module_request. Example output: type=SYSCALL msg=audit(11/03/2009 10:59:43.510:9) : arch=x86_64 syscall=write success=yes exit=2 a0=3 a1=7fc28c0d56c0 a2=2 a3=7fffca0d7440 items=0 ppid=1727 pid=1729 auid=unset uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=(none) ses=unset comm=rpc.nfsd exe=/usr/sbin/rpc.nfsd subj=system_u:system_r:nfsd_t:s0 key=(null) type=AVC msg=audit(11/03/2009 10:59:43.510:9) : avc: denied { module_request } for pid=1729 comm=rpc.nfsd kmod="net-pf-10" scontext=system_u:system_r:nfsd_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=system Signed-off-by: Eric Paris Signed-off-by: James Morris commit f6d773cd4f3c18c40ab25a5cb92453756237840e Merge: d0e1e88 bcb628d Author: David S. Miller Date: Mon Nov 9 11:17:24 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit fd650a6394b3242edf125ba9c4d500349a6d7178 Author: Huang Ying Date: Mon Nov 9 13:52:26 2009 -0500 x86: Generate .byte code for some new instructions via gas macro It will take some time for binutils (gas) to support some newly added instructions, such as SSE4.1 instructions or the AES-NI instructions found in upcoming Intel CPU. To make the source code can be compiled by old binutils, .byte code is used instead of the assembly instruction. But the readability and flexibility of raw .byte code is not good. This patch solves the issue of raw .byte code via generating it via assembly instruction like gas macro. The syntax is as close as possible to real assembly instruction. Some helper macros such as MODRM is not a full feature implementation. It can be extended when necessary. Signed-off-by: Huang Ying Acked-by: H. Peter Anvin Signed-off-by: Herbert Xu commit 9e5d86fe6a401f7957f6ea02ee300db0f6c03d03 Author: Jarkko Nikula Date: Mon Nov 9 08:44:32 2009 +0200 ASoC: Pandora: Pass SRG input clock frequency to the OMAP McBSP DAI Upcoming change to omap-mcbsp.c require that machine drivers using OMAP as a DAI master to pass sample rate generator input clock frequency to the omap-mcbsp.c DAI driver. Pandora is using 256*Fs output from the TWL4030 codec as an input clock to the McBSP sample rate generator. Signed-off-by: Jarkko Nikula Tested-by: Grazvydas Ignotas Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit ca2b900f9af1586b9889ccc4b12e453c13268bd5 Author: Zeev Tarantov Date: Mon Nov 9 13:26:13 2009 +0200 perf tools: Fix syntax in documentation Fix trivial syntax in perf-events user-space tools documentation. Signed-off-by: Zeev Tarantov Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <12d7e64c0911081811i7e5b466cu6706ff6ab3e70db4@mail.gmail.com> Signed-off-by: Ingo Molnar commit f84d49b218b7d4c6cba2e0b41f24bd4045403962 Author: Naohiro Ooiwa Date: Mon Nov 9 00:46:42 2009 +0900 signal: Print warning message when dropping signals When the system has too many timers or too many aggregate queued signals, the EAGAIN error is returned to application from kernel, including timer_create() [POSIX.1b]. It means that the app exceeded the limit of pending signals, but in general application writers do not expect this outcome and the current silent failure can cause rare app failures under very high load. This patch adds a new message when we reach the limit and if print_fatal_signals is enabled: task/1234: reached RLIMIT_SIGPENDING, dropping signal If you see this message and your system behaved unexpectedly, you can run following command to lift the limit: # ulimit -i unlimited With help from Hiroshi Shimamoto . Signed-off-by: Naohiro Ooiwa Cc: Andrew Morton Cc: Hiroshi Shimamoto Cc: Roland McGrath Cc: Peter Zijlstra Cc: oleg@redhat.com LKML-Reference: <4AF6E7E2.9080406@miraclelinux.com> [ Modified a few small details, gave surrounding code some love. ] Signed-off-by: Ingo Molnar commit 638bba55fe6440439005f02fcd6b0c1f908d0d11 Author: Dominik Brodowski Date: Sat Nov 7 12:26:17 2009 +0100 pcmcia: autoload module pcmcia Attempt to load the "pcmcia" module for 16-bit PCMCIA cards, so that PCMCIA support becomes available without pcmciautils/udev userspace interaction. Based on a suggestion and a patch Signed-off-by: Komuro but converted it to request_module_nowait() and move it to a later stage. Signed-off-by: Dominik Brodowski commit 55a19b39acb8888af8e9cfe5b762d03c52fdb48c Author: Dominik Brodowski Date: Thu Oct 29 00:54:49 2009 +0100 pcmcia/staging: update comedi drivers Update comedi PCMCIA drivers to work with recent PCMCIA changes documented in Documentation/pcmcia/driver-changes.txt: - use pcmcia_config_loop() - don't use PCMCIA_DEBUG, but use dev_dbg() - don't use cs_error() - re-use prod_id and card_id values already stored Acked-by: Greg Kroah-Hartman Signed-off-by: Dominik Brodowski commit 66024db57d5b9011e274b314affad68f370c0d6f Author: Russell King - ARM Linux Date: Sun Mar 29 22:45:26 2009 +0100 PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket skt->irq is a mere duplication of pcmcia_socket's pci_irq member. Get rid of it. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 1689164a272a962572a1f31af715dfe462cf7910 Author: Russell King - ARM Linux Date: Sun Mar 29 22:43:43 2009 +0100 PCMCIA: ss: allow PCI IRQs > 255 Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit f397b9c5dcc30a575973b2e4f0a602fc85b38853 Author: Russell King - ARM Linux Date: Sun Mar 29 22:12:34 2009 +0100 PCMCIA: soc_common: remove 'dev' member from soc_pcmcia_socket The 'dev' member is now only ever written, so we can safely remove it. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit b62d99b5028b6df1c32b864fd9dd32ad6b42d396 Author: Russell King - ARM Linux Date: Sun Mar 29 22:14:32 2009 +0100 PCMCIA: soc_common: constify soc_pcmcia_socket ops member No one should modify the ops structure supplied to soc_pcmcia_socket so make it const. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit dabd14684bc2375bf69f227f04993a4dc2fd3a16 Author: Russell King - ARM Linux Date: Sun Mar 29 22:35:11 2009 +0100 PCMCIA: sa1111: remove duplicated initializers Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 701a5dc05ad99a06958b3f97cb69d99b47cebee3 Author: Russell King - ARM Linux Date: Sun Mar 29 19:42:44 2009 +0100 PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit da4f007375197d6683461b995d404b01a7fdf2f5 Author: Russell King - ARM Linux Date: Sun Mar 29 19:23:42 2009 +0100 PCMCIA: soc_common: push socket probe down into SoC specific support Move the individual socket probing and initialization down into the SoC specific support files, thereby allowing soc_common_drv_pcmcia_probe to be eliminated. soc_common.c now no longer deals with distinct groups of sockets. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit be85458edce0f165cff62622f5e73b1d17b1e228 Author: Russell King - ARM Linux Date: Thu Mar 26 22:21:18 2009 +0000 PCMCIA: soc_common: push socket removal down to SoC specific support Mechanically transplant the removal code from soc_common into each SoC specific base support file, thereby allowing soc_common_drv_pcmcia_remove to be removed. No other changes. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 097e296d6175881eba7244de7222de61e9569911 Author: Russell King - ARM Linux Date: Thu Mar 26 21:45:05 2009 +0000 PCMCIA: soc_common: provide single socket add/remove functionality Factor out the functionality for adding and removing a single socket, thereby allowing SoCs to individually register each socket. The advantage of this approach is that SoCs can then extend soc_pcmcia_socket as they wish. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit 0f767de6a26a07f7d58394512b6f6c96322f047f Author: Russell King - ARM Linux Date: Thu Mar 26 21:14:19 2009 +0000 PCMCIA: soc_common: convert to a stand alone module Convert soc_common.c to be a stand alone module, rather than wrapping it up into the individual SoC specific base modules. In doing this, we need to add init/exit functions for soc_common to register/remove the cpufreq notifier. Signed-off-by: Russell King Signed-off-by: Dominik Brodowski commit a7149f9a26eb44a5658d56335c23104ba529e9f6 Author: Dominik Brodowski Date: Sat Oct 24 18:07:16 2009 +0200 pcmcia: use dev_dbg and dev_print in pd6729.c As suggested by Wolfram Sang , use dev_dbg(), and dev_{err,warn,info}() in pd6729.c, and add some "\n" suggested by Komuro . In the ISR, use pr_devel() and dev_vdbg() as they are only compiled if DEBUG (or, for dev_vdbg(), VERBOSE_DEBUG) are set explicitly. CC: Komuro Acked-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 9cb495bb41f07a3ebfc60d3b9d26017a1fd7050c Author: Dominik Brodowski Date: Sat Oct 24 15:57:22 2009 +0200 pcmcia: remove now-defunct cs_error, pcmcia_error_{func,ret} As all in-tree drivers have been converted to not use cs_error() any more, drop these functions and definitions, and update the Documentation. Signed-off-by: Dominik Brodowski commit 9b44de2015ff4a2ed1d56efedfcc72b917d356a6 Author: Dominik Brodowski Date: Sat Oct 24 15:55:39 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (misc drivers) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-mtd@lists.infradead.org CC: linux-usb@vger.kernel.org Signed-off-by: Dominik Brodowski commit 7c5af6ffd69bb2bb3c86b374153627529d67598c Author: Dominik Brodowski Date: Sat Oct 24 15:55:12 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (sound) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: Jaroslav Kysela CC: alsa-devel@alsa-project.org Signed-off-by: Dominik Brodowski commit 9ec0bf41b5030ccc691049754ed1398cad5e953e Author: Dominik Brodowski Date: Sat Oct 24 15:54:46 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (serial_cs) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-serial@vger.kernel.org CC: Russell King Signed-off-by: Dominik Brodowski commit 3e7166178a83fef690dcbfcdaeda192f7282a9a4 Author: Dominik Brodowski Date: Sat Oct 24 15:54:14 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (scsi) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-scsi@vger.kernel.org Signed-off-by: Dominik Brodowski commit 2caff14713d53abba273e6095495788e2720f756 Author: Dominik Brodowski Date: Sat Oct 24 15:53:36 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (wireless) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-wireless@vger.kernel.org CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit 624dd66957e53e15cf40e937b50597c4d41f0e99 Author: Dominik Brodowski Date: Sat Oct 24 15:52:44 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (ray-cs.c) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-wireless@vger.kernel.org CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit dd0fab5b940c0b65f26ac5b01485bac1f690ace6 Author: Dominik Brodowski Date: Sat Oct 24 15:51:05 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (net) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Only some rare debug checks are now hidden behind "#ifdef DEBUG" or "#if 0". Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit e773cfe167c320d07b9423bc51fc4ab0221775a4 Author: Dominik Brodowski Date: Sat Oct 24 15:50:13 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (isdn) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: Karsten Keil Signed-off-by: Dominik Brodowski commit cbf624f0e18c4a05219855663a3e5f9fe8f2d876 Author: Dominik Brodowski Date: Sat Oct 24 15:47:29 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (char) Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Only some rare extra debug checks in cm4000_cs.c cm4040_cs.c are now hidden behind a "#ifdef CM4000_DEBUG" or "#ifdef CM4040_DEBUG". Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: Harald Welte CC: Jiri Kosina CC: David Sterba Signed-off-by: Dominik Brodowski commit 5ff0cfc67f00fe0feaa1da0b2359232ea4aa0ee7 Author: Hitoshi Mitake Date: Mon Nov 9 12:31:05 2009 +0900 perf bench: Fix bench/sched-pipe.c to wait for child process Ingo reported this small 'perf bench sched pipe' output problem: | $ ./perf bench sched pipe | (executing 1000000 pipe operations between two tasks) | | Total time:4.898 sec | $ 4.898586 usecs/op | 204140 ops/sec | | the shell prompt came back before the usecs/op and ops/sec line | was printed. Process teardown race, lack of wait() or so? This caused by lack of calling waitpid() by parent process, so I added it. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Jiri Kosina LKML-Reference: <1257737465-7546-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit d0e1e88d6e7dbd8e1661cb6a058ca30f54ee39e4 Merge: 9e0d57f 2606289 Author: David S. Miller Date: Sun Nov 8 23:00:54 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/can/usb/ems_usb.c commit 9e0d57fd6dad37d72a3ca6db00ca8c76f2215454 Author: Yury Polyanskiy Date: Sun Nov 8 20:58:41 2009 -0800 xfrm: SAD entries do not expire correctly after suspend-resume This fixes the following bug in the current implementation of net/xfrm: SAD entries timeouts do not count the time spent by the machine in the suspended state. This leads to the connectivity problems because after resuming local machine thinks that the SAD entry is still valid, while it has already been expired on the remote server. The cause of this is very simple: the timeouts in the net/xfrm are bound to the old mod_timer() timers. This patch reassigns them to the CLOCK_REALTIME hrtimer. I have been using this version of the patch for a few months on my machines without any problems. Also run a few stress tests w/o any issues. This version of the patch uses tasklet_hrtimer by Peter Zijlstra (commit 9ba5f0). This patch is against 2.6.31.4. Please CC me. Signed-off-by: Yury Polyanskiy Signed-off-by: David S. Miller commit 7a50a240c495478179f01c9df4bd75e39cff79c7 Author: Arnd Bergmann Date: Sun Nov 8 20:57:03 2009 -0800 net/compat_ioctl: support SIOCWANDEV This adds compat_ioctl support for SIOCWANDEV, which has always been missing. The definition of struct compat_ifreq was missing an ifru_settings fields that is needed to support SIOCWANDEV, so add that and clean up the whitespace damage in the struct definition. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit fab2532ba50b287647d95046c4f3b37bf6379d37 Author: Arnd Bergmann Date: Sun Nov 8 20:56:21 2009 -0800 net, compat_ioctl: fix SIOCGMII ioctls SIOCGMIIPHY and SIOCGMIIREG return data through ifreq, so it needs to be converted on the way out as well. SIOCGIFPFLAGS is unused, but has the same problem in theory. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit f6b8f32ca71406de718391369490f6b1e81fe0bb Author: Eric Dumazet Date: Sun Nov 8 10:20:19 2009 +0000 udp: multicast RX should increment SNMP/sk_drops counter in allocation failures When skb_clone() fails, we should increment sk_drops and SNMP counters. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a1ab77f97ed03f5dae66ae4c64375beffab83772 Author: Eric Dumazet Date: Sun Nov 8 10:18:52 2009 +0000 ipv6: udp: Optimise multicast reception IPV6 UDP multicast rx path is a bit complex and can hold a spinlock for a long time. Using a small (32 or 64 entries) stack of socket pointers can help to perform expensive operations (skb_clone(), udp_queue_rcv_skb()) outside of the lock, in most cases. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1240d1373cd7f874dd0f3057c3e9643e71ef75c6 Author: Eric Dumazet Date: Sun Nov 8 10:18:44 2009 +0000 ipv4: udp: Optimise multicast reception UDP multicast rx path is a bit complex and can hold a spinlock for a long time. Using a small (32 or 64 entries) stack of socket pointers can help to perform expensive operations (skb_clone(), udp_queue_rcv_skb()) outside of the lock, in most cases. It's also a base for a future RCU conversion of multicast recption. Signed-off-by: Eric Dumazet Signed-off-by: Lucian Adrian Grijincu Signed-off-by: David S. Miller commit fddc17defa22d8caba1cdfb2e22b50bb4b9f35c0 Author: Eric Dumazet Date: Sun Nov 8 10:18:30 2009 +0000 ipv6: udp: optimize unicast RX path We first locate the (local port) hash chain head If few sockets are in this chain, we proceed with previous lookup algo. If too many sockets are listed, we take a look at the secondary (port, address) hash chain. We choose the shortest chain and proceed with a RCU lookup on the elected chain. But, if we chose (port, address) chain, and fail to find a socket on given address, we must try another lookup on (port, in6addr_any) chain to find sockets not bound to a particular IP. -> No extra cost for typical setups, where the first lookup will probabbly be performed. RCU lookups everywhere, we dont acquire spinlock. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5051ebd275de672b807c28d93002c2fb0514a3c9 Author: Eric Dumazet Date: Sun Nov 8 10:18:11 2009 +0000 ipv4: udp: optimize unicast RX path We first locate the (local port) hash chain head If few sockets are in this chain, we proceed with previous lookup algo. If too many sockets are listed, we take a look at the secondary (port, address) hash chain we added in previous patch. We choose the shortest chain and proceed with a RCU lookup on the elected chain. But, if we chose (port, address) chain, and fail to find a socket on given address, we must try another lookup on (port, INADDR_ANY) chain to find socket not bound to a particular IP. -> No extra cost for typical setups, where the first lookup will probabbly be performed. RCU lookups everywhere, we dont acquire spinlock. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 512615b6b843ff3ff5ad583f34c39b3f302f5f26 Author: Eric Dumazet Date: Sun Nov 8 10:17:58 2009 +0000 udp: secondary hash on (local port, local address) Extends udp_table to contain a secondary hash table. socket anchor for this second hash is free, because UDP doesnt use skc_bind_node : We define an union to hold both skc_bind_node & a new hlist_nulls_node udp_portaddr_node udp_lib_get_port() inserts sockets into second hash chain (additional cost of one atomic op) udp_lib_unhash() deletes socket from second hash chain (additional cost of one atomic op) Note : No spinlock lockdep annotation is needed, because lock for the secondary hash chain is always get after lock for primary hash chain. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d4cada4ae1c012815f95fa507eb86a0ae9d607d7 Author: Eric Dumazet Date: Sun Nov 8 10:17:30 2009 +0000 udp: split sk_hash into two u16 hashes Union sk_hash with two u16 hashes for udp (no extra memory taken) One 16 bits hash on (local port) value (the previous udp 'hash') One 16 bits hash on (local address, local port) values, initialized but not yet used. This second hash is using jenkin hash for better distribution. Because the 'port' is xored later, a partial hash is performed on local address + net_hash_mix(net) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fdcc8aa953a1123a289791dd192090651036d593 Author: Eric Dumazet Date: Sun Nov 8 10:17:05 2009 +0000 udp: add a counter into udp_hslot Adds a counter in udp_hslot to keep an accurate count of sockets present in chain. This will permit to upcoming UDP lookup algo to chose the shortest chain when secondary hash is added. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 415ce61aef5e9b2ed2516a13888c733bea15aedf Author: Stephen Rothwell Date: Sun Nov 8 20:41:03 2009 -0800 net/appletalk: using compat_ptr needs inclusion of linux/compat.h Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 6e65f92ff0d6f18580737321718d09035085a3fb Author: John Johansen Date: Thu Nov 5 17:03:20 2009 -0800 Config option to set a default LSM The LSM currently requires setting a kernel parameter at boot to select a specific LSM. This adds a config option that allows specifying a default LSM that is used unless overridden with the security= kernel parameter. If the the config option is not set the current behavior of first LSM to register is used. Signed-off-by: John Johansen Acked-by: Serge Hallyn Signed-off-by: James Morris commit 0e1a6ef2dea88101b056b6d9984f3325c5efced3 Author: Kees Cook Date: Sun Nov 8 09:37:00 2009 -0800 sysctl: require CAP_SYS_RAWIO to set mmap_min_addr Currently the mmap_min_addr value can only be bypassed during mmap when the task has CAP_SYS_RAWIO. However, the mmap_min_addr sysctl value itself can be adjusted to 0 if euid == 0, allowing a bypass without CAP_SYS_RAWIO. This patch adds a check for the capability before allowing mmap_min_addr to be changed. Signed-off-by: Kees Cook Acked-by: Serge Hallyn Signed-off-by: James Morris commit f4a70c55376683213229af7266dc57ad81aee354 Author: Cyrill Gorcunov Date: Sun Nov 8 16:16:45 2009 +0300 x86, apic: Get rid of apicid_to_cpu_present assign on 64-bit In fact it's never get used on x86-64 (for 64 bit platform we use differ technique to enumerate io-units). Reported-by: Stephen Rothwell Signed-off-by: Cyrill Gorcunov Cc: Peter Zijlstra LKML-Reference: <20091108131645.GD5300@lenovo> Signed-off-by: Ingo Molnar commit 9ac3e58ceff0b7b8b981c09c38a28742270eea12 Author: Dominik Brodowski Date: Sat Oct 24 15:45:06 2009 +0200 pcmcia: deprecate CS_CHECK (bluetooth) Remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-bluetooth@vger.kernel.org Signed-off-by: Dominik Brodowski commit 444486a5f9d2737b50e53dc140292899b9497808 Author: Dominik Brodowski Date: Fri Oct 23 12:55:28 2009 +0200 pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (ide) ide-cs.c is the only PCMCIA device driver making use of CONFIG_PCMCIA_DEBUG, so convert it to use the dynamic debug infrastructure. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski commit 6d9a299f675b176e2f81e1f6d5a361a1173971ea Author: Dominik Brodowski Date: Sat Oct 24 12:20:18 2009 +0200 pcmcia: extend error reporting and debug messages in core Add a few more error and debug messages to the PCMCIA core. Signed-off-by: Dominik Brodowski commit c9f50dddd184a020d64dab63fa795967f0f14aa4 Author: Dominik Brodowski Date: Fri Oct 23 12:56:46 2009 +0200 pcmcia: use dynamic debug in PCMCIA socket drivers Make use of the dynamic debug infrastructure in various PCMCIA socket drivers. By doing so, only the drivers relying on soc_common make use of CONFIG_PCMCIA_DEBUG. Therefore, update the Kconfig entry accordingly. Signed-off-by: Dominik Brodowski commit d50dbec3ce52e1608636b8a624d087da9ced8cde Author: Dominik Brodowski Date: Fri Oct 23 12:51:28 2009 +0200 pcmcia: use dynamic debug instead of custom infrastructure Use the generic "dynamic debug" infrastructure instead of CONIG_PCMCIA_DEBUG in the PCMCIA core (pcmcia.ko and pcmcia_core.ko). To enable debugging, enable CONFIG_DYNAMIC_DEBUG, mount debugfs and $ echo -n 'module pcmcia_core +p' > /sys/kernel/debug/dynamic_debug/control for the complete module "pcmcia_core", for example. For more detailled instructions, please see Documentation/dynamic-debug-howto.txt Signed-off-by: Dominik Brodowski commit 18a7a19b37838789452e0bd2855a51475628b971 Author: Dominik Brodowski Date: Mon Oct 19 00:07:39 2009 +0200 pcmcia: remove pcmcia_get_{first,next}_tuple() Remove the pcmcia_get_{first,next}_tuple() calls no longer needed by (current) pcmcia device drivers. Signed-off-by: Dominik Brodowski commit 18b61b97294dad74dd00a1aa8efed0cfacb95aff Author: Dominik Brodowski Date: Sun Oct 18 23:57:58 2009 +0200 pcmcia: convert pcmciamtd driver to use new CIS helpers Convert the (broken) pcmciamtd driver to use the new CIS helpers. CC: David.Woodhouse@intel.com CC: linux-mtd@lists.infradead.org Signed-off-by: Dominik Brodowski commit 37ace3d4131ae80f370eb1230fa7db2b3eedf17c Author: Dominik Brodowski Date: Sun Oct 18 23:56:41 2009 +0200 pcmcia: convert ssb pcmcia driver to use new CIS helpers SSB is a prime example of how to make use of the new CIS helpers. CC: Michael Buesch Acked-by: John W. Linville Signed-off-by: Dominik Brodowski commit dddfbd824b96a25da0b2f1cf35c0be33ef2422fe Author: Dominik Brodowski Date: Sun Oct 18 23:54:24 2009 +0200 pcmcia: convert net pcmcia drivers to use new CIS helpers Use the new CIS helpers in net pcmcia drivers, which allows for a few code cleanups. This revision does not remove the phys_addr assignment in 3c589_cs.c -- a bug noted by Komuro CC: David S. Miller CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski commit 91284224da5b15ec6c2b45e10fa5eccd1c92a204 Author: Dominik Brodowski Date: Sun Oct 18 23:32:33 2009 +0200 pcmcia: add new CIS access helpers As a replacement to pcmcia_get_{first,next}_tuple() and pcmcia_get_tuple_data(), three new -- and easier to use -- functions are added: - pcmcia_get_tuple() to get the very first CIS entry of one type. - pcmcia_loop_tuple() to loop over all CIS entries of one type. - pcmcia_get_mac_from_cis() to read out the hardware MAC address from CISTPL_FUNCE. Only a handful of drivers need these functions anyway, as most CIS access is already handled by pcmcia_loop_config(), which now shares the same backed (pccard_loop_tuple()) with pcmcia_loop_tuple(). A pcmcia_get_mac_from_cis() bug noted by Komuro has been fixed in this revision. Signed-off-by: Dominik Brodowski commit af757923a92e6e9dbfdb6b0264be14c564e1c466 Author: Dominik Brodowski Date: Sun Oct 18 19:48:39 2009 +0200 ipwireless: make more use of pcmcia_loop_config() Within the pcmcia_loop_config() callback, we already have all tuple data available we need. Also add a fix to release the IO resource (at least within pcmcia_loop_config() error path). CC: Jiri Kosina CC: David Sterba Signed-off-by: Dominik Brodowski commit aaa8cfdada648a6bae32f62df76cc60137a2b323 Author: Dominik Brodowski Date: Sun Oct 18 18:28:39 2009 +0200 pcmcia: use pcmcia_loop_config in misc pcmcia drivers Use pcmcia_loop_config() in a few drivers missed during the first round. On fmvj18x_cs.c it -- strangely -- only requries us to set conf.ConfigIndex, which is done by the core, so include an empty loop function which returns 0 unconditionally. CC: David S. Miller CC: David Sterba CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org For the ipwireless part: Acked-by: Jiri Kosina Acked-by: John W. Linville Signed-off-by: Dominik Brodowski commit 7d2e8d00b47b973c92db4df7444d5e6d3bb945f9 Author: Dominik Brodowski Date: Sun Oct 18 18:22:32 2009 +0200 pcmcia: use pre-determined values A few PCMCIA network drivers can make use of values provided by the pcmcia core, instead of tedious, independent CIS parsing. xirc32ps_cs.c: manf_id hostap_cs.c: multifunction count b43/pcmcia.c: ConfigBase address and "Present" smc91c92_cs.c: By default, mhz_setup() can use VERS_1 as it is stored in struct pcmcia_device. Only some cards require workarounds, such as reading out VERS_1 twice. CC: David S. Miller CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org Acked-by: John W. Linville Signed-off-by: Dominik Brodowski commit 549104f22b3cd4761145eb5fba6ee4d59822da61 Author: Clark Williams Date: Sun Nov 8 09:03:07 2009 -0600 perf tools: Modify perf routines to use new debugfs routines modify perf.c get_debugfs_mntpnt() to use the util/debugfs.c debugfs_find_mountpoint() modify util/parse-events.c to use debugfs_valid_mountpoint(). Signed-off-by: Clark Williams Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <20091101155720.624cc87e@torg> Signed-off-by: Ingo Molnar commit afe61f677866ffc484e69c4ecca2d316d564d78b Author: Clark Williams Date: Sun Nov 8 09:01:37 2009 -0600 perf tools: Add debugfs utility routines for perf Add routines to locate the debugfs mount point and to manage the mounting and unmounting of the debugfs. Signed-off-by: Clark Williams Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <20091101155621.2b3503ee@torg> Signed-off-by: Ingo Molnar commit cf7c25cf91f632a3528669fc0876e1fc8355ff9b Author: Corrado Zoccolo Date: Sun Nov 8 17:16:46 2009 +0100 cfq-iosched: fix next_rq computation Cfq has a bug in computation of next_rq, that affects transition between multiple sequential request streams in a single queue (e.g.: two sequential buffered writers of the same priority), causing the alternation between the two streams for a transient period. 8,0 1 18737 0.260400660 5312 D W 141653311 + 256 8,0 1 20839 0.273239461 5400 D W 141653567 + 256 8,0 1 20841 0.276343885 5394 D W 142803919 + 256 8,0 1 20843 0.279490878 5394 D W 141668927 + 256 8,0 1 20845 0.292459993 5400 D W 142804175 + 256 8,0 1 20847 0.295537247 5400 D W 141668671 + 256 8,0 1 20849 0.298656337 5400 D W 142804431 + 256 8,0 1 20851 0.311481148 5394 D W 141668415 + 256 8,0 1 20853 0.314421305 5394 D W 142804687 + 256 8,0 1 20855 0.318960112 5400 D W 142804943 + 256 The fix makes sure that the next_rq is computed from the last dispatched request, and not affected by merging. 8,0 1 37776 4.305161306 0 D W 141738087 + 256 8,0 1 37778 4.308298091 0 D W 141738343 + 256 8,0 1 37780 4.312885190 0 D W 141738599 + 256 8,0 1 37782 4.315933291 0 D W 141738855 + 256 8,0 1 37784 4.319064459 0 D W 141739111 + 256 8,0 1 37786 4.331918431 5672 D W 142803007 + 256 8,0 1 37788 4.334930332 5672 D W 142803263 + 256 8,0 1 37790 4.337902723 5672 D W 142803519 + 256 8,0 1 37792 4.342359774 5672 D W 142803775 + 256 8,0 1 37794 4.345318286 0 D W 142804031 + 256 Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 4343fe1024e09e17667f95620ed3e69a7a5f4389 Author: Cyrill Gorcunov Date: Sun Nov 8 18:54:31 2009 +0300 x86, ioapic: Use snrpintf while set names for IO-APIC resourses We should be ready that one day MAX_IO_APICS may raise its number. To prevent memory overwrite we're to use safe snprintf while set IO-APIC resourse name. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20091108155431.GC25940@lenovo> Signed-off-by: Ingo Molnar commit 46dc281b1bb02527195fe2ad50a3af6d7f7f7325 Author: Cyrill Gorcunov Date: Sun Nov 8 18:53:56 2009 +0300 x86, apic: Use PAGE_SIZE instead of numbers The whole page is reserved for IO-APIC fixmap due to non-cacheable requirement. So lets note this explicitly instead of playing with numbers. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Maciej W. Rozycki LKML-Reference: <20091108155356.GB25940@lenovo> Signed-off-by: Ingo Molnar commit 30ff21e31fe5c8b7b1b7d30cc41e32bc4ee9f175 Author: Li Zefan Date: Thu Sep 10 09:35:20 2009 +0800 ksym_tracer: Remove KSYM_SELFTEST_ENTRY The macro used to be used in both trace_selftest.c and trace_ksym.c, but no longer, so remove it from header file. Signed-off-by: Li Zefan Cc: Prasad Signed-off-by: Frederic Weisbecker commit ba1c813a6b9a0ef14d7112daf51270eff326f037 Author: Frederic Weisbecker Date: Thu Sep 10 09:26:21 2009 +0200 hw-breakpoints: Arbitrate access to pmu following registers constraints Allow or refuse to build a counter using the breakpoints pmu following given constraints. We keep track of the pmu users by using three per cpu variables: - nr_cpu_bp_pinned stores the number of pinned cpu breakpoints counters in the given cpu - nr_bp_flexible stores the number of non-pinned breakpoints counters in the given cpu. - task_bp_pinned stores the number of pinned task breakpoints in a cpu The latter is not a simple counter but gathers the number of tasks that have n pinned breakpoints. Considering HBP_NUM the number of available breakpoint address registers: task_bp_pinned[0] is the number of tasks having 1 breakpoint task_bp_pinned[1] is the number of tasks having 2 breakpoints [...] task_bp_pinned[HBP_NUM - 1] is the number of tasks having the maximum number of registers (HBP_NUM). When a breakpoint counter is created and wants an access to the pmu, we evaluate the following constraints: == Non-pinned counter == - If attached to a single cpu, check: (per_cpu(nr_bp_flexible, cpu) || (per_cpu(nr_cpu_bp_pinned, cpu) + max(per_cpu(task_bp_pinned, cpu)))) < HBP_NUM -> If there are already non-pinned counters in this cpu, it means there is already a free slot for them. Otherwise, we check that the maximum number of per task breakpoints (for this cpu) plus the number of per cpu breakpoint (for this cpu) doesn't cover every registers. - If attached to every cpus, check: (per_cpu(nr_bp_flexible, *) || (max(per_cpu(nr_cpu_bp_pinned, *)) + max(per_cpu(task_bp_pinned, *)))) < HBP_NUM -> This is roughly the same, except we check the number of per cpu bp for every cpu and we keep the max one. Same for the per tasks breakpoints. == Pinned counter == - If attached to a single cpu, check: ((per_cpu(nr_bp_flexible, cpu) > 1) + per_cpu(nr_cpu_bp_pinned, cpu) + max(per_cpu(task_bp_pinned, cpu))) < HBP_NUM -> Same checks as before. But now the nr_bp_flexible, if any, must keep one register at least (or flexible breakpoints will never be be fed). - If attached to every cpus, check: ((per_cpu(nr_bp_flexible, *) > 1) + max(per_cpu(nr_cpu_bp_pinned, *)) + max(per_cpu(task_bp_pinned, *))) < HBP_NUM Changes in v2: - Counter -> event rename Changes in v5: - Fix unreleased non-pinned task-bound-only counters. We only released it in the first cpu. (Thanks to Paul Mackerras for reporting that) Changes in v6: - Currently, events scheduling are done in this order: cpu context pinned + cpu context non-pinned + task context pinned + task context non-pinned events. Then our current constraints are right theoretically but not in practice, because non-pinned counters may be scheduled before we can apply every possible pinned counters. So consider non-pinned counters as pinned for now. Signed-off-by: Frederic Weisbecker Cc: Prasad Cc: Alan Stern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Jan Kiszka Cc: Jiri Slaby Cc: Li Zefan Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Paul Mundt commit 24f1e32c60c45c89a997c73395b69c8af6f0a84e Author: Frederic Weisbecker Date: Wed Sep 9 19:22:48 2009 +0200 hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events This patch rebase the implementation of the breakpoints API on top of perf events instances. Each breakpoints are now perf events that handle the register scheduling, thread/cpu attachment, etc.. The new layering is now made as follows: ptrace kgdb ftrace perf syscall \ | / / \ | / / / Core breakpoint API / / | / | / Breakpoints perf events | | Breakpoints PMU ---- Debug Register constraints handling (Part of core breakpoint API) | | Hardware debug registers Reasons of this rewrite: - Use the centralized/optimized pmu registers scheduling, implying an easier arch integration - More powerful register handling: perf attributes (pinned/flexible events, exclusive/non-exclusive, tunable period, etc...) Impact: - New perf ABI: the hardware breakpoints counters - Ptrace breakpoints setting remains tricky and still needs some per thread breakpoints references. Todo (in the order): - Support breakpoints perf counter events for perf tools (ie: implement perf_bpcounter_event()) - Support from perf tools Changes in v2: - Follow the perf "event " rename - The ptrace regression have been fixed (ptrace breakpoint perf events weren't released when a task ended) - Drop the struct hw_breakpoint and store generic fields in perf_event_attr. - Separate core and arch specific headers, drop asm-generic/hw_breakpoint.h and create linux/hw_breakpoint.h - Use new generic len/type for breakpoint - Handle off case: when breakpoints api is not supported by an arch Changes in v3: - Fix broken CONFIG_KVM, we need to propagate the breakpoint api changes to kvm when we exit the guest and restore the bp registers to the host. Changes in v4: - Drop the hw_breakpoint_restore() stub as it is only used by KVM - EXPORT_SYMBOL_GPL hw_breakpoint_restore() as KVM can be built as a module - Restore the breakpoints unconditionally on kvm guest exit: TIF_DEBUG_THREAD doesn't anymore cover every cases of running breakpoints and vcpu->arch.switch_db_regs might not always be set when the guest used debug registers. (Waiting for a reliable optimization) Changes in v5: - Split-up the asm-generic/hw-breakpoint.h moving to linux/hw_breakpoint.h into a separate patch - Optimize the breakpoints restoring while switching from kvm guest to host. We only want to restore the state if we have active breakpoints to the host, otherwise we don't care about messed-up address registers. - Add asm/hw_breakpoint.h to Kbuild - Fix bad breakpoint type in trace_selftest.c Changes in v6: - Fix wrong header inclusion in trace.h (triggered a build error with CONFIG_FTRACE_SELFTEST Signed-off-by: Frederic Weisbecker Cc: Prasad Cc: Alan Stern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Jan Kiszka Cc: Jiri Slaby Cc: Li Zefan Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Paul Mundt commit 2ae8bb75db1f3de422eb5898f2a063c46c36dba8 Author: Tejun Heo Date: Mon Oct 26 15:41:46 2009 +0100 x86: Fix iommu=nodac parameter handling iommu=nodac should forbid dac instead of enabling it. Fix it. Signed-off-by: Tejun Heo Acked-by: FUJITA Tomonori Cc: Matteo Frigo Cc: # .32.x and older LKML-Reference: <4AE5B52A.4050408@kernel.org> Signed-off-by: Ingo Molnar commit d8c80ce091f6ead6710bc71b58f2c32e5bf855e4 Author: Lai Jiangshan Date: Tue Oct 27 15:45:23 2009 +0800 sched, no_hz: Remove unused rq->last_tick_seen field In 15934a37324f32e0fda633dc7984a671ea81cd75, field last_tick_seen is added to struct rq. But it is unused now. Signed-off-by: Lai Jiangshan Cc: Guillaume Chazarain LKML-Reference: <4AE6A513.6010100@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c82a43d40b93200a10a9fec0a489791e65e135ca Author: Cyrill Gorcunov Date: Mon Oct 26 23:28:11 2009 +0300 irq: Do not attempt to create subdirectories if /proc/irq/ failed If a parent directory (ie /proc/irq/) could not be created we should not attempt to create subdirectories. Otherwise it would lead that "smp_affinity" and "spurious" entries are may be registered under /proc root instead of a proper place. Signed-off-by: Cyrill Gorcunov Cc: Rusty Russell Cc: Yinghai Lu LKML-Reference: <20091026202811.GD5321@lenovo> Signed-off-by: Ingo Molnar commit 338bac527ed0e35b4cb50390972f15d3cbce92ca Author: FUJITA Tomonori Date: Tue Oct 27 16:34:44 2009 +0900 x86: Use x86_platform for iommu_shutdown This patch cleans up pci_iommu_shutdown() a bit to use x86_platform (similar to how IA64 initializes an IOMMU driver). This adds iommu_shutdown() to x86_platform to avoid calling every IOMMUs' shutdown functions in pci_iommu_shutdown() in order. The IOMMU shutdown functions are platform specific (we don't have multiple different IOMMU hardware) so the current way is pointless. An IOMMU driver sets x86_platform.iommu_shutdown to the shutdown function if necessary. Signed-off-by: FUJITA Tomonori Cc: joerg.roedel@amd.com LKML-Reference: <20091027163358F.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 0420101c075530c65ba00b6fe7291b126fbfc5d2 Author: Randy Dunlap Date: Wed Oct 28 16:09:55 2009 -0700 x86: k8.h: Add struct bootnode k8.h uses struct bootnode but does not #include a header file for it, so provide a simple declaration for it. arch/x86/include/asm/k8.h:13: warning: 'struct bootnode' declared inside parameter list arch/x86/include/asm/k8.h:13: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Randy Dunlap Acked-by: David Rientjes Cc: Stephen Rothwell LKML-Reference: <20091028160955.d27ccb16.randy.dunlap@oracle.com> Signed-off-by: Ingo Molnar commit 0d0fbbddcc27c062815732b38c44b544e656c799 Author: Rusty Russell Date: Thu Nov 5 22:45:41 2009 +1030 x86, msr, cpumask: Use struct cpumask rather than the deprecated cpumask_t This makes the declarations match the definitions, which already use 'struct cpumask'. Signed-off-by: Rusty Russell Acked-by: Borislav Petkov LKML-Reference: <200911052245.41803.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit c12a229bc5971534537a7d0e49e44f9f1f5d0336 Author: Masami Hiramatsu Date: Thu Nov 5 11:03:59 2009 -0500 x86: Remove unused thread_return label from switch_to() Remove unused thread_return label from switch_to() macro on x86-64. Since this symbol cuts into schedule(), backtrace at the latter half of schedule() was always shown as thread_return(). Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20091105160359.5181.26225.stgit@harusame> Signed-off-by: Ingo Molnar commit faa1242c59311525b0f337e95ae3c324a833a8eb Author: Krzysztof Helt Date: Sun Nov 8 11:58:08 2009 +0100 ALSA: es18xx: code improvements 1. Set the third argument of the snd_device_new to not NULL, so there is no warning about bug during chip detection. The third argument is not used in this driver. It was changed in my previous patch. 2. Remove the fm_port and mpu_port fields from the snd_es18xx structure. They can be converted to function arguments. 3. Remove the dmaN_size fields from the snd_es18xx structure. These values are used only in pointer functions and can be easily calculated. 4. Remove the ctrl_lock spinlock which is used only in one read function which is called once during chip initialization. There are many writes to the same register and they are not protected on purpose (see the comment ina the snd_es18xx_config_write()). 5. Use the first part of the text5Sources string table as the text4Soruces table (they are the same). 6. Merge the same cases for the ES1887 and ES1888 when setting chip's caps. 7. Move the snd_es18xx_reset() to __devinit section. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit e0000163e30eeb112b41486ea113fd54f64e1f17 Author: Christian Pellegrin Date: Mon Nov 2 23:07:00 2009 +0000 can: Driver for the Microchip MCP251x SPI CAN controllers Signed-off-by: Christian Pellegrin Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 8d06367fa79c053a4a56a2ce0bb9e840f5da1236 Author: Arnaldo Carvalho de Melo Date: Wed Nov 4 18:50:43 2009 -0200 perf symbols: Use the buildids if present With this change 'perf record' will intercept PERF_RECORD_MMAP calls, creating a linked list of DSOs, then when the session finishes, it will traverse this list and read the buildids, stashing them at the end of the file and will set up a new feature bit in the header bitmask. 'perf report' will then notice this feature and populate the 'dsos' list and set the build ids. When reading the symtabs it will refuse to load from a file that doesn't have the same build id. This improves the reliability of the profiler output, as symbols and profiling data is more guaranteed to match. Example: [root@doppio ~]# perf report | head /home/acme/bin/perf with build id b1ea544ac3746e7538972548a09aadecc5753868 not found, continuing without symbols # Samples: 2621434559 # # Overhead Command Shared Object Symbol # ........ ............... ............................. ...... # 7.91% init [kernel] [k] read_hpet 7.64% init [kernel] [k] mwait_idle_with_hints 7.60% swapper [kernel] [k] read_hpet 7.60% swapper [kernel] [k] mwait_idle_with_hints 3.65% init [kernel] [k] 0xffffffffa02339d9 [root@doppio ~]# In this case the 'perf' binary was an older one, vanished, so its symbols probably wouldn't match or would cause subtly different (and misleading) output. Next patches will support the kernel as well, reading the build id notes for it and the modules from /sys. Another patch should also introduce a new plumbing command: 'perf list-buildids' that will then be used in porcelain that is distro specific to fetch -debuginfo packages where such buildids are present. This will in turn allow for one to run 'perf record' in one machine and 'perf report' in another. Future work on having the buildid sent directly from the kernel in the PERF_RECORD_MMAP event is needed to close races, as the DSO can be changed during a 'perf record' session, but this patch at least helps with non-corner cases and current/older kernels. Signed-off-by: Arnaldo Carvalho de Melo Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: Jim Keniston Cc: K. Prasad Cc: Masami Hiramatsu Cc: Peter Zijlstra Cc: Roland McGrath Cc: Srikar Dronamraju Cc: Steven Rostedt LKML-Reference: <1257367843-26224-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 444a2a3bcd6d5bed5c823136f68fcc93c0fe283f Author: Frederic Weisbecker Date: Fri Nov 6 04:13:05 2009 +0100 tracing, perf_events: Protect the buffer from recursion in perf While tracing using events with perf, if one enables the lockdep:lock_acquire event, it will infect every other perf trace events. Basically, you can enable whatever set of trace events through perf but if this event is part of the set, the only result we can get is a long list of lock_acquire events of rcu read lock, and only that. This is because of a recursion inside perf. 1) When a trace event is triggered, it will fill a per cpu buffer and submit it to perf. 2) Perf will commit this event but will also protect some data using rcu_read_lock 3) A recursion appears: rcu_read_lock triggers a lock_acquire event that will fill the per cpu event and then submit the buffer to perf. 4) Perf detects a recursion and ignores it 5) Perf continues its work on the previous event, but its buffer has been overwritten by the lock_acquire event, it has then been turned into a lock_acquire event of rcu read lock Such scenario also happens with lock_release with rcu_read_unlock(). We could turn the rcu_read_lock() into __rcu_read_lock() to drop the lock debugging from perf fast path, but that would make us lose the rcu debugging and that doesn't prevent from other possible kind of recursion from perf in the future. This patch adds a recursion protection based on a counter on the perf trace per cpu buffers to solve the problem. -v2: Fixed lost whitespace, added reviewed-by tag Signed-off-by: Frederic Weisbecker Reviewed-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt Cc: Li Zefan Cc: Jason Baron LKML-Reference: <1257477185-7838-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit bfde82ef51e3ea6ab8634d0fdbf5adcdd1b429cb Author: Hitoshi Mitake Date: Thu Nov 5 09:31:37 2009 +0900 perf bench: Add subcommand 'bench' to the Makefile This patch modifies Makefile for new files related to 'bench' subcommand. The new code is active from this point on. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-8-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit dcba8848d3bc83ec9ee0858b9ae6e4f1c1fa7fa3 Author: Hitoshi Mitake Date: Thu Nov 5 09:31:36 2009 +0900 perf bench: Add new subcommand 'bench' to perf.c This patch modifies perf.c for invoking 'bench' subcommand. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-7-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 11bd341c043348ecb7462d3bd8e1ad6d00f6892a Author: Hitoshi Mitake Date: Thu Nov 5 09:31:35 2009 +0900 perf bench: Modify builtin.h for new prototype This patch modifies builtin.h to add prototype of cmd_bench(). Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-6-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 629cc356653719c206a05f4dee5c5e242edb6546 Author: Hitoshi Mitake Date: Thu Nov 5 09:31:34 2009 +0900 perf bench: Add builtin-bench.c: General framework for benchmark suites This patch adds builtin-bench.c builtin-bench.c is a general framework for benchmark suites. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-5-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit c7d9300f367f480aee4663a0e3695c5b48859a1a Author: Hitoshi Mitake Date: Thu Nov 5 09:31:33 2009 +0900 perf bench: Add sched-pipe.c: Benchmark for pipe() system call This patch adds bench/sched-pipe.c. bench/sched-pipe.c is a benchmark program to measure performance of pipe() system call. This benchmark is based on pipe-test-1m.c by Ingo Molnar: http://people.redhat.com/mingo/cfs-scheduler/tools/pipe-test-1m.c Example of use: % perf bench sched pipe (executing 1000000 pipe operations between two tasks) Total time:4.499 sec 4.499179 usecs/op 222262 ops/sec % perf bench sched pipe -s -l 1000 0.015 Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-4-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit e27454cc6352c4226ddc76f5e3a5dedd7dff456a Author: Hitoshi Mitake Date: Thu Nov 5 09:31:32 2009 +0900 perf bench: Add sched-messaging.c: Benchmark for scheduler and IPC mechanisms based on hackbench This patch adds bench/sched-messaging.c. This benchmark measures performance of scheduler and IPC mechanisms, and is based on hackbench by Rusty Russell. Example of usage: % perf bench sched messaging -g 20 -l 1000 -s 5.432 # in sec % perf bench sched messaging # run with default options (20 sender and receiver processes per group) (10 groups == 400 processes run) Total time:0.308 sec % perf bench sched messaging -t -g 20 # # be multi-thread, with 20 groups (20 sender and receiver threads per group) (20 groups == 800 threads run) Total time:0.582 sec ( Rusty is the original author of hackbench.c and he said the code is and was under the GPLv2 so fine to be merged. ) Signed-off-by: Hitoshi Mitake Acked-by: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit c426bba069e65ea438880a04aa4e7c5b880e1728 Author: Hitoshi Mitake Date: Thu Nov 5 09:31:31 2009 +0900 perf bench: Add new directory and header for new subcommand 'bench' This patch adds bench/ directory and bench/bench.h. bench/ directory will contain modules for bench subcommand. bench/bench.h is for listing prototypes of module functions. Signed-off-by: Hitoshi Mitake Cc: Rusty Russell Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: fweisbec@gmail.com Cc: Jiri Kosina LKML-Reference: <1257381097-4743-2-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 81adee47dfb608df3ad0b91d230fb3cef75f0060 Author: Eric W. Biederman Date: Sun Nov 8 00:53:51 2009 -0800 net: Support specifying the network namespace upon device creation. There is no good reason to not support userspace specifying the network namespace during device creation, and it makes it easier to create a network device and pass it to a child network namespace with a well known name. We have to be careful to ensure that the target network namespace for the new device exists through the life of the call. To keep that logic clear I have factored out the network namespace grabbing logic into rtnl_link_get_net. In addtion we need to continue to pass the source network namespace to the rtnl_link_ops.newlink method so that we can find the base device source network namespace. Signed-off-by: Eric W. Biederman Acked-by: Eric Dumazet commit f7a3a1d8affe563846fc17f0e7c0cc1500190c57 Author: Joe Perches Date: Wed Nov 4 10:26:13 2009 +0000 appletalk/ddp.c: Neaten checksum function atalk_sum_partial can now use the rol16 function in bitops.h Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit fd5c00276127661f12e0315e3bbec41a1c0be376 Author: Eric Dumazet Date: Fri Nov 6 07:01:17 2009 +0000 ipv6: avoid dev_hold()/dev_put() in rawv6_bind() Using RCU helps not touching device refcount in rawv6_bind() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 18294ad1ecccffe6a91f6914dc1f4acd8995736a Author: Anton Vorontsov Date: Wed Nov 4 12:53:00 2009 +0000 gianfar: Fix compiler and sparse warnings commit fba4ed030cfae7efdb6b79a57b0c5a9d72c9de83 ("gianfar: Add Multiple Queue Support") introduced the following warnings: CHECK gianfar.c gianfar.c:333:8: warning: incorrect type in assignment (different address spaces) gianfar.c:333:8: expected unsigned int [usertype] *baddr gianfar.c:333:8: got unsigned int [noderef] * [... 67 lines skipped ...] gianfar.c:2565:3: warning: incorrect type in argument 1 (different type sizes) gianfar.c:2565:3: expected unsigned long const *addr gianfar.c:2565:3: got unsigned int * CC gianfar.o gianfar.c: In function 'gfar_probe': gianfar.c:985: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:985: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:993: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:993: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c: In function 'gfar_configure_coalescing': gianfar.c:1680: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:1680: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:1688: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:1688: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c: In function 'gfar_poll': gianfar.c:2565: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:2565: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type gianfar.c:2566: warning: passing argument 2 of 'test_bit' from incompatible pointer type gianfar.c:2585: warning: passing argument 2 of 'set_bit' from incompatible pointer type Following warnings left unfixed (looks like sparse doesn't like locks in loops, so __acquires/__releases() doesn't help): gianfar.c:441:40: warning: context imbalance in 'lock_rx_qs': wrong count at exit gianfar.c:441:40: context '': wanted 0, got 1 gianfar.c:449:40: warning: context imbalance in 'lock_tx_qs': wrong count at exit gianfar.c:449:40: context '': wanted 0, got 1 gianfar.c:458:3: warning: context imbalance in 'unlock_rx_qs': __context__ statement expected different context gianfar.c:458:3: context '': wanted >= 0, got -1 gianfar.c:466:3: warning: context imbalance in 'unlock_tx_qs': __context__ statement expected different context gianfar.c:466:3: context '': wanted >= 0, got -1 Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 6748f60b948230684fe3f295220e76679c5efc52 Author: Anton Vorontsov Date: Wed Nov 4 12:52:57 2009 +0000 fsl_pq_mdio: Fix compiler/sparse warnings (part 2) This patch fixes following warnings: fsl_pq_mdio.c:112:38: warning: cast adds address space to expression () fsl_pq_mdio.c:124:38: warning: cast adds address space to expression () fsl_pq_mdio.c:133:38: warning: cast adds address space to expression () fsl_pq_mdio.c:414:11: warning: cast adds address space to expression () Instead of adding __force all over the place, introduce convenient fsl_pq_mdio_get_regs() call that does the ugly casting just once. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 2951d64e70652bb11636a5a1f1f2ea295a043f94 Author: Anton Vorontsov Date: Wed Nov 4 12:52:56 2009 +0000 fsl_pq_mdio: Fix compiler/sparse warnings (part 1) commit 1d2397d742b7a2b39b2f09dd9da3b9d1463f55e9 ("fsl_pq_mdio: Add Suport for etsec2.0 devices") introduced the following warnings: CHECK fsl_pq_mdio.c fsl_pq_mdio.c:287:22: warning: incorrect type in initializer (different base types) fsl_pq_mdio.c:287:22: expected unknown type 11 const *__mptr fsl_pq_mdio.c:287:22: got unsigned long long [unsigned] [assigned] [usertype] addr fsl_pq_mdio.c:287:19: warning: incorrect type in assignment (different base types) fsl_pq_mdio.c:287:19: expected unsigned long long [unsigned] [usertype] ioremap_miimcfg fsl_pq_mdio.c:287:19: got struct fsl_pq_mdio * CC fsl_pq_mdio.o fsl_pq_mdio.c: In function 'fsl_pq_mdio_probe': fsl_pq_mdio.c:287: warning: initialization makes pointer from integer without a cast fsl_pq_mdio.c:287: warning: assignment makes integer from pointer without a cast These warnings are not easy to fix without ugly __force casts. So, instead of introducing the casts, rework the code to substitute an offset from an already mapped area. This makes the code a lot simpler and less duplicated. Plus, from now on we don't actually map reserved registers on non-etsec2.0 devices, so we have more chances to catch programming errors. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8a2fe6c76e230a4591373fdf77c09c36bc9c1318 Author: Thomas Gleixner Date: Sat Nov 7 22:41:03 2009 -0800 sparc: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit c939e5c82142978d9d534aca34187a8489fd13f3 Author: Grant Likely Date: Sat Nov 7 01:34:43 2009 -0700 ASoC/mpc5200: fix enable/disable of AC97 slots The MPC5200 AC97 driver is disabling the slots when a stop trigger is received, but not reenabling them if the stream is started again without processing the hw_params again. This patch fixes the problem by caching the slot enable bit settings calculated at hw_params time so that they can be reapplied every time the start trigger is received. Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 1d8222e8df07ce4f86fb7fa80b02bdee03b57985 Author: Grant Likely Date: Sat Nov 7 01:34:31 2009 -0700 ASoC/mpc5200: add to_psc_dma_stream() helper Move the resolving of the psc_dma_stream pointer to a helper function to reduce duplicate code Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit c4878274750ae0bb90c351a737ac6cdcb608e546 Author: Grant Likely Date: Sat Nov 7 01:34:18 2009 -0700 ASoC/mpc5200: Improve printk debug output for trigger Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d56b6eb6df7f6fb92383a52d640e27f71e6262d0 Author: Grant Likely Date: Sat Nov 7 01:34:05 2009 -0700 ASoC/mpc5200: get rid of the appl_ptr tracking nonsense Sound drivers PCM DMA is supposed to free-run until told to stop by the trigger callback. The current code tries to track appl_ptr, to avoid stale buffer data getting played out at the end of the data stream. Unfortunately it also results in race conditions which can cause the audio to stall. Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 8f159d720b89f2a6c5ae8a8cc54823933a58120b Author: Grant Likely Date: Sat Nov 7 01:33:53 2009 -0700 ASoC/mpc5200: Track DMA position by period number instead of bytes All DMA blocks are lined up to period boundaries, but the DMA handling code tracks bytes instead. This patch reworks the code to track the period index into the DMA buffer instead of the physical address pointer. Doing so makes the code simpler and easier to understand. Signed-off-by: Grant Likely Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit e0d087af725b09358336098a6b57bb7f90f96175 Author: Eric Dumazet Date: Sat Nov 7 01:26:17 2009 -0800 rtnetlink: Cleanups Pure cleanups patch Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4cae37fa98f4d50778161ec033122444e3c10a01 Author: Takashi Iwai Date: Sat Nov 7 10:18:22 2009 +0100 ASoC: Remove dead code and labels Remove the dead code and labels "card_err" in the error paths of some codec drivers. Signed-off-by: Takashi Iwai commit b215c57dcc847b15693899d26aa0ee4669dacefb Author: Arnd Bergmann Date: Thu Nov 5 04:37:30 2009 +0000 net: kill proto_ops wrapper All users of wrapped proto_ops are now gone, so we can safely remove the wrappers as well. Cc: David S. Miller Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 91774904fbf0fe1c71441dd8299342a4654f7103 Author: Arnd Bergmann Date: Thu Nov 5 04:37:29 2009 +0000 net/x25: push BKL usage into x25_proto The x25 driver uses lock_kernel() implicitly through its proto_ops wrapper. The makes the usage explicit in order to get rid of that wrapper and to better document the usage of the BKL. The next step should be to get rid of the usage of the BKL in x25 entirely, which requires understanding what data structures need serialized accesses. Cc: Henner Eisen Cc: David S. Miller Cc: linux-x25@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 58a9d73202dd40076992154e9acfb98489cc8eab Author: Arnd Bergmann Date: Fri Nov 6 00:38:01 2009 -0800 net/irda: push BKL into proto_ops The irda driver uses the BKL implicitly in its protocol operations. Replace the wrapped proto_ops with explicit lock_kernel() calls makes the usage more obvious and shrinks the size of the object code. The calls t lock_kernel() should eventually all be replaced by other serialization methods, which requires finding out The calls t lock_kernel() should eventually all be replaced by other serialization methods, which requires finding out which data actually needs protection. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 83927ba069a65326f39991a02d6a49ba3b7cea44 Author: Arnd Bergmann Date: Thu Nov 5 04:37:27 2009 +0000 net/ipx: push down BKL into a ipx_dgram_ops Making the BKL usage explicit in ipx makes it more obvious where it is used, reduces code size and helps getting rid of the BKL in common code. I did not analyse how to kill lock_kernel from ipx entirely, this will involve either proving that it's not needed, or replacing with a proper mutex or spinlock, after finding out which data structures are protected by the lock. Cc: Arnaldo Carvalho de Melo Cc: David S. Miller Cc: Stephen Hemminger Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit ecced8ba8759c16337fc6785d7bab8931ca55cf6 Author: Arnd Bergmann Date: Thu Nov 5 04:37:26 2009 +0000 net/appletalk: push down BKL into a atalk_dgram_ops Making the BKL usage explicit in appletalk makes it more obvious where it is used, reduces code size and helps getting rid of the BKL in common code. I did not analyse how to kill lock_kernel from appletalk entirely, this will involve either proving that it's not needed, or replacing with a proper mutex or spinlock, after finding out which data structures are protected by the lock. Cc: Arnaldo Carvalho de Melo Cc: David S. Miller Cc: Stephen Hemminger Cc: netdev@vger.kernel.org Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit c6060be46fbda5af651b6ed2b85502ccbb3d9279 Author: Jie Yang Date: Fri Nov 6 00:32:05 2009 -0800 atl1c: change atl1c_buffer struct and restructure clean atl1c_buffer procedure change atl1c_buffer struct, use "u16 flags" instead of "u16 state" to store more infomation for atl1c_buffer, and restructure clean atl1c_buffer procedure, add common api atl1c_clean_buffer. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit d3bcfefaca27c1bfc8f740f5fff5b25d52ed1211 Author: Thomas Gleixner Date: Fri Nov 6 22:17:25 2009 -0800 net: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Use DEFINE_SPINLOCK instead. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit b622d97a63ad4ce890b625c62acd1bb894592e63 Author: David S. Miller Date: Fri Nov 6 20:46:52 2009 -0800 net: compat: No need to define IFHWADDRLEN and IFNAMSIZ twice. It's defined colloqually in linux/if.h and linux/compat.h includes that. Signed-off-by: David S. Miller commit 9177efd3991e2cb3f5643a01d3be22121cab6efc Author: Arnd Bergmann Date: Fri Nov 6 08:09:09 2009 +0000 net, compat_ioctl: handle more ioctls correctly The MII ioctls and SIOCSIFNAME need to go through ifsioc conversion, which they never did so far. Some others are not implemented in the native path, so we can just return -EINVAL directly. Add IFSLAVE ioctls to the EINVAL list and move it to the end to optimize the code path for the common case. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 6b96018b28bd93274b4b2a4c633a5d373fda0441 Author: Arnd Bergmann Date: Fri Nov 6 23:10:54 2009 -0800 compat: move sockios handling to net/socket.c This removes the original socket compat_ioctl code from fs/compat_ioctl.c and converts the code from the copy in net/socket.c into a single function. We add a few cycles of runtime to compat_sock_ioctl() with the long switch() statement, but gain some cycles in return by simplifying the call chain to get there. Due to better inlining, save 1.5kb of object size in the process, and enable further savings: before: text data bss dec hex filename 13540 18008 2080 33628 835c obj/fs/compat_ioctl.o 14565 636 40 15241 3b89 obj/net/socket.o after: text data bss dec hex filename 8916 15176 2080 26172 663c obj/fs/compat_ioctl.o 20725 636 40 21401 5399 obj/net/socket.o Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 206602217747382488fcae68351673cc9103debc Author: Arnd Bergmann Date: Fri Nov 6 08:09:06 2009 +0000 appletalk: handle SIOCATALKDIFADDR compat ioctl We must not have a compat ioctl handler for SIOCATALKDIFADDR in common code, because the same number is used in other protocols with different data structures. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 7a229387d317df525ebd19e146493db7f2694b8b Author: Arnd Bergmann Date: Fri Nov 6 23:00:29 2009 -0800 net: copy socket ioctl code to net/socket.h This makes an identical copy of the socket compat_ioctl code from fs/compat_ioctl.c to net/socket.c, as a preparation for moving the functionality in a way that can be easily reviewed. The code is hidden inside of #if 0 and gets activated in the patch that will make it work. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 9646e7ce3d1955478aa0573b36c151ab4b649486 Author: Arnd Bergmann Date: Fri Nov 6 22:51:16 2009 -0800 net, compat_ioctl: handle socket ioctl abuses in tty drivers Slip and a few other drivers use the same ioctl numbers on tty devices that are normally meant for sockets. This causes problems with our compat_ioctl handling that tries to convert the data structures in a different format. Fortunately, these five drivers all use 32 bit compatible data structures in the ioctl numbers, so we can just add a trivial compat_ioctl conversion function to each of them. SIOCSIFENCAP and SIOCGIFENCAP do not need to live in fs/compat_ioctl.c after this any more, and they are not used on any sockets. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 50857e2a59d8beddc6bb76137df026d67f30d5ca Author: Arnd Bergmann Date: Fri Nov 6 22:52:32 2009 -0800 net/tun: handle compat_ioctl directly The tun driver is the only code in the kernel that operates on a character device with struct ifreq. Change the driver to handle the conversion itself so we can contain the remaining ifreq handling in the socket layer. This also fixes a bug in the handling of invalid ioctl numbers on an unbound tun device. The driver treats this as a TUNSETIFF in native mode, but there is no way for the generic compat_ioctl() function to emulate this behaviour. Possibly the driver was only doing this accidentally anyway, but if any code relies on this misfeature, it now also works in compat mode. Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 4df286e52917c95c415400367cfd523dfbb0f93a Author: Thomas Gleixner Date: Fri Nov 6 22:16:32 2009 -0800 sparc: Make atomic locks raw SPIN_LOCK_UNLOCKED is deprecated and the locks which protect the atomic operations have no dependency on other locks and the code is well tested so the conversion to a raw lock is safe. Make the lock array static while at it. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 2dceba14ef0e62738d58777a1bd4018130d47a74 Author: Arnd Bergmann Date: Fri Nov 6 08:09:03 2009 +0000 compat: add struct compat_ifreq etc to compat.h In order to move socket ioctl conversion code into multiple places in the socket code, we need a common defintion of the data structures it uses. Also change the name from ifreq32 to compat_ifreq to follow the naming convention for compat.h Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller commit 10d626f4f444b419046309c10f25515adbffcb16 Merge: 62d8368 bb1cafb Author: David S. Miller Date: Fri Nov 6 17:57:51 2009 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit bcb628d579a61d0ab0cac4c6cc8a403de5254920 Author: John W. Linville Date: Fri Nov 6 16:40:16 2009 -0500 mwl8k: use integral index instead of pointer for driver_data Use of an integral index makes adding new device IDs through sysfs more practical. Signed-off-by: John W. Linville commit 6f6d1e9a8a7fea5e4400cad64bed717e322208e1 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:48 2009 +0200 mwl8k: add support for the 88w8366 Add support for the 88w8366 firmware receive descriptor format, and add the 88w8366 PCI ID. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 2e484c8964f7845d320eb1161c514dbfcafdda78 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:43 2009 +0200 mwl8k: implement AP firmware EDCA parameter configuration Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 259a8e7ddd55485b4a75ec39bc6716745c08fce0 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:40 2009 +0200 mwl8k: add AP firmware (mbss) handling to mwl8k_set_mac_addr() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5e4cf166f4a9801ea9ca1bab210d763d27538de6 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:38 2009 +0200 mwl8k: add AP firmware handling to ->start() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c0adae2caa1a152c6ec691c5d1e815e47dac2a0c Author: Lennert Buytenhek Date: Thu Oct 22 20:21:36 2009 +0200 mwl8k: add AP firmware handling to ->configure_filter() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 08b063477e45cb366df7204cbcdc79ff86513ef9 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:33 2009 +0200 mwl8k: implement AP firmware antenna configuration Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 42fba21d56df644887488a29b158cc8916b9ba99 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:30 2009 +0200 mwl8k: add the commands used for AP firmware initialisation Add the AP version of the GET_HW_SPEC command, as well as the SET_HW_SPEC command, for initialising AP firmware. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 04b147b19303724aac5ee8e56f113f1935a5c255 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:05 2009 +0200 mwl8k: rename mwl8k_cmd_get_hw_spec() to mwl8k_cmd_get_hw_spec_sta() As the AP version of the command uses a different format. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 547810e3af15cf9efc3b3ebaa7b006ef606fc892 Author: Lennert Buytenhek Date: Thu Oct 22 20:21:02 2009 +0200 mwl8k: set ->interface_modes from the driver data As different chip/firmware combinations support different interface types. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 54bc3a0d7a0c9a13da31183609c42cf7786138e1 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:59 2009 +0200 mwl8k: allow for different receive descriptor formats As the receive descriptor format is determined by the firmware running on the hardware and not by the hardware itself, and as these descriptor formats vary a bit between different firmware releases, abstract out the receive descriptor init/refill/process methods, and allow choosing between different formats at run time depending on the chip and firmware we're running on. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 788838ebe8a4caca93a91982c7bbf393edf24c08 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:56 2009 +0200 mwl8k: use pci_unmap_addr{,set}() to keep track of unmap addresses on rx Instead of reading back the unmap address from the receive descriptor when doing receive processing, use DECLARE_PCI_UNMAP_ADDR and pci_unmap_addr{,set}() to keep track of these addresses. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit eae74e6545d995ab0baa8fb07309f714d9616293 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:53 2009 +0200 mwl8k: handle loading AP firmware images AP and STA firmware images provide a different signature in the HIU_INT_CODE register after loading. Record which of the signatures we saw, as it determines which command sequences to use later on. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a74b295edb3e2b39d6c03255b24dca862a843c59 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:50 2009 +0200 mwl8k: spell out the names of firmware images in the pci driver data To allow use of a more flexible firmware file naming scheme. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 45a390ddd70d8bec0b17dd37bc8f77372c9c3d33 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:47 2009 +0200 mwl8k: change pci id table driver data to a structure pointer To prepare for adding support for more device types, introduce a new structure, mwl8k_device_info, where per-device information can be stored, and change the pci id table driver data from an integer indicating only the part number to a pointer to a mwl8k_device_info structure. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit af81858172cc0f3da81946aab919c26e4b364efc Author: Johannes Berg Date: Fri Nov 6 11:35:50 2009 +0100 mac80211: async station powersave handling Some devices require that all frames to a station are flushed when that station goes into powersave mode before being able to send frames to that station again when it wakes up or polls -- all in order to avoid reordering and too many or too few frames being sent to the station when it polls. Normally, this is the case unless the station goes to sleep and wakes up very quickly again. But in that case, frames for it may be pending on the hardware queues, and thus races could happen in the case of multiple hardware queues used for QoS/WMM. Normally this isn't a problem, but with the iwlwifi mechanism we need to make sure the race doesn't happen. This makes mac80211 able to cope with the race with driver help by a new WLAN_STA_PS_DRIVER per-station flag that can be controlled by the driver and tells mac80211 whether it can transmit frames or not. This flag must be set according to very specific rules outlined in the documentation for the function that controls it. When we buffer new frames for the station, we normally set the TIM bit right away, but while the driver has blocked transmission to that sta we need to avoid that as well since we cannot respond to the station if it wakes up due to the TIM bit. Once the driver unblocks, we can set the TIM bit. Similarly, when the station just wakes up, we need to wait until all other frames are flushed before we can transmit frames to that station, so the same applies here, we need to wait for the driver to give the OK. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 70d9f405d09e334b609702d88ee03b6119c4b45e Author: Larry Finger Date: Thu Nov 5 00:09:51 2009 -0600 rtl8187: Remove deprecated 'qual' from returned RX status The qual member of ieee80211_rx_status is deprecated. As a result, this driver no longer needs to calculate a quality value. Signed-off-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 715caaeb896a51fe1583f306fb10b22cfab4f7fd Author: Larry Finger Date: Thu Nov 5 00:09:15 2009 -0600 b43legacy: Remove deprecated 'qual' from returned RX status With the deprecation of the qual member of ieee80211_rx_status, that calculation and an associated constant can be removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c1b84ab059541517f51df534e87071723264833d Author: Larry Finger Date: Thu Nov 5 00:08:59 2009 -0600 b43: Remove deprecated 'qual' from returned RX status With the deprecation of the qual member of ieee80211_rx_status, that calculation and an associated constant can be removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 77c8258ff7e6788d3889e7062607e891618d811f Author: Keng-Yu Lin Date: Thu Nov 5 11:21:37 2009 +0800 ath5k: add LED support for Acer Aspire One AO751h/AO531h Add LED support for a Foxconn AR242X module, found on the Acer Aspire One models AO751h/AO531h Signed-off-by: Keng-Yu Lin Signed-off-by: John W. Linville commit 2ce33995216a088fc11e1f85768375580324174c Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:37:05 2009 +0100 rt2800: add rt2800lib (part four) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit fcf5154118849cca3cdf424e83f863225d8173e7 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:57 2009 +0100 rt2800: add rt2800lib (part three) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1f285f1423e456cfa14331987782edeca64d8e70 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:50 2009 +0100 rt2x00: move REGISTER_BUSY_* definitions to rt2x00.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f445061630c7a4a85193fdef006234f94f71c366 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:40 2009 +0100 rt2800: add rt2800lib (part two) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 89297425c2104b187c25d6260a41345c491c8f18 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:24 2009 +0100 rt2800: add rt2800lib (part one) Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4d6f8b9f17626da48d6badc6ba259fbacc1413c3 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:17 2009 +0100 rt2800: prepare for rt2800lib addition Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5822e0701d9c29291f16cf170417071b702edeee Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:10 2009 +0100 rt2x00: add support for different chipset interfaces Enhance rt2x00 infrastructure by adding explicit information about used chipset interface to struct rt2x00_chip. The new field will be used by rt2800 drivers for rt2800 library. Also add commonly used rt2x00_intf_is_pci() and rt2x00_intf_is_usb() helpers to make code easier to read (noticed by Ivo van Doorn). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a4385213883420f2f0f77e531fb96489ca001239 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:02 2009 +0100 rt2800: fix comments in rt2800.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit b54f78a8b7a108a4abc81d88d641769726be23c1 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:54 2009 +0100 rt2800: fix duplication in header files Updated debugging scripts are located here: http://www.kernel.org/pub/linux/kernel/people/bart/rt2800/scripts/ (they also work fine with older drivers) Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit d42c8d86ca52185c053f3352c57b46857573307a Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:47 2009 +0100 rt2800usb: add RXINFO_DESC_SIZE definition Add RXINFO_DESC_SIZE definition and use it instead of abusing RXD_DESC_SIZE one (TXD_DESC_SIZE and RXD_DESC_SIZE are specific to PCI version of the chipset). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7ef5cc92bac940419f022e11115a28daea53814f Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:32 2009 +0100 rt2800: add rt2800lib.h Code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 473196bd9935f0efd4c5f1cda28229e7dcff564c Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:25 2009 +0100 rt2x00: fix rt2x00pci_register_multi[read,write]() arguments Change type of 'length' argument from u16 to u32 (all arguments match rt2x00usb_register_multi[read,write]() ones now). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f255b92b570325dfbd4c4a791a0eda7999e67fe7 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:18 2009 +0100 rt2x00: fix rt2x00usb_regbusy_read() arguments Add const to 'field' argument of rt2x00usb_regbusy_read() (all arguments match rt2x00pci_regbusy_read() ones now). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5b10b09898bf00350a68af4cdaf96c393b252591 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:10 2009 +0100 rt2x00: fix rt2x00usb_register_multiwrite() arguments Add const to 'value' argument of rt2x00usb_register_multiwrite() (all arguments match rt2x00pci_register_multiwrite() ones now). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit b0a1edabd31a18de3c6380022af0804592bded14 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:00 2009 +0100 rt2800pci: convert to use struct rt2800_ops methods Add chipset registers access abstraction layer and prepare for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7a345d3d2512769ca693d4844b215ae2cc267dce Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:53 2009 +0100 rt2800usb: convert to use struct rt2800_ops methods Add chipset registers access abstraction layer and prepare for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit ee134fcc552e17e708346a183076db21b8c49188 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:46 2009 +0100 rt2x00: add driver private field to struct rt2x00_dev Enhance rt2x00 infrastructure by adding driver specific field to struct rt2x00_dev. The new field will be used by rt2800 drivers for chipset registers access abstraction layer. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3a9e5b0fff63bb87dd6e0f9c60626e16d81192af Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:39 2009 +0100 rt2800pci: add rt2800_mcu_request() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4f2c53268ad1bdc7d6d12ca8bd110bb288a14300 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:32 2009 +0100 rt2800usb: add rt2800_mcu_request() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit ada0394cede08702b604a4c8ee13409a4109e773 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:25 2009 +0100 rt2800pci: add rt2800_rf_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5c70e5bb36584a1c1d5be85e40aabac3a8f68d83 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:18 2009 +0100 rt2800usb: add rt2800_rf_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 1af68f75a808d02997ad0c6dde9e37f43b7dfcb4 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:11 2009 +0100 rt2800pci: add rt2800_rfcsr_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e91fea9b38b2208113dd540f436ce2aba7ab29fd Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:34:04 2009 +0100 rt2800usb: add rt2800_rfcsr_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3e2c9df7b940c8d1d0626f61038e10a32d65f27d Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:57 2009 +0100 rt2800pci: add rt2800_bbp_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit eff6eced615f80cef3e4979691c7920961dda47c Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:50 2009 +0100 rt2800usb: add rt2800_bbp_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit b4a77d0dee11db834bebe0cc78c211cfebf0d924 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:41 2009 +0100 rt2800pci: add rt2800_regbusy_read() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit ab209b9834d43ac7c01e803681c5c50c941e4de3 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:34 2009 +0100 rt2800usb: add rt2800_regbusy_read() wrapper Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 4f2732ce8d02836b94299f64bc29b030545d654a Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:27 2009 +0100 rt2800pci: add rt2800_register_multi[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 678b4eee767b3d92bb187d2ca17d33400f26f880 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:20 2009 +0100 rt2800usb: add rt2800_register_multi[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 9ca21eb7cd2ba4f837bcde5e1c9ec0c784cfc03d Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:13 2009 +0100 rt2800pci: add rt2800_register_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit abbb505dddef31707d06ff26539639ccdfa56f45 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:33:05 2009 +0100 rt2800usb: add rt2800_register_[read,write]() wrappers Part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit dee5817e88ac8195e5938d6671f434a071e35698 Author: Patrick McHardy Date: Fri Nov 6 17:04:00 2009 +0100 netfilter: remove unneccessary checks from netlink notifiers The NETLINK_URELEASE notifier is only invoked for bound sockets, so there is no need to check ->pid again. Signed-off-by: Patrick McHardy commit 330f28f691e9b349e34adcaf82b273cf061bb491 Merge: fe3e78e 6fc786d Author: Mark Brown Date: Fri Nov 6 15:46:18 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 167eae5a17b3cd44a324dbb972c338e489413f54 Author: Takashi Iwai Date: Fri Nov 6 15:47:50 2009 +0100 ALSA: hda - Reset pins of IDT/STAC codecs at free Some laptops cause annoying clicks or noises at shutdown/reboot since the speaker pin is set still high. Apply the same procedure used for the suspend to avoid such clicks/noises for freeing the codec, too. Signed-off-by: Takashi Iwai commit 9ad6a46b6497ae64e7fec307deb0de88e6a8ca06 Merge: 7d5ab41 78987bd Author: Takashi Iwai Date: Fri Nov 6 15:45:59 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 25d27eded1f4fc728e64f443adc339b5229be5d7 Author: Clemens Ladisch Date: Mon Nov 2 09:35:44 2009 +0100 control: use reference-counted pid Instead of storing the PID number, take a reference to the task's pid structure. This protects against duplicates due to PID overflows, and using pid_vnr() ensures that the PID returned by snd_ctl_elem_info() is correct as seen from the current namespace. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 31cef7076ed9409a33f19ea372d6dc5fdefe27ae Author: Clemens Ladisch Date: Mon Nov 2 09:34:16 2009 +0100 control: remove snd_konctrol_volatile::owner_pid field We do not need to save the ID of the process that locked a control because that information is already available in the owner's file data. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 62d83681e53fd87c91927018cfe5ba9f9e8109a3 Merge: 230f9bb e7fec0b Author: David S. Miller Date: Fri Nov 6 05:01:54 2009 -0800 Merge branch 'linux-2.6.33.y' of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax commit 642c6d946b5cdc27d0146c41dc20b7c4d4c3ccd8 Author: Eric W. Biederman Date: Fri Apr 3 01:08:48 2009 -0700 sysctl: Make do_sysctl static Now that all of the architectures use compat_sys_sysctl do_sysctl can become static. Signed-off-by: Eric W. Biederman commit 942405f36038b8f930ab67e24aa1ad72bee96a25 Author: Eric W. Biederman Date: Fri Apr 3 01:01:43 2009 -0700 sysctl: Remove the cond_syscall entry for sys32_sysctl Now that all architechtures are use compat_sys_sysctl and sys32_sysctl does not exist there is not point in retaining a cond_syscall entry for it. Signed-off-by: Eric W. Biederman commit c3359fbce4b65d542d02c30aa5174c8e4838da2d Author: Eric W. Biederman Date: Fri Apr 3 00:59:52 2009 -0700 sysctl: x86 Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for x86 to implement it's own. Cc: Thomas Gleixner Cc: Ingo Molnar Acked-by: H. Peter Anvin Signed-off-by: Eric W. Biederman commit 03102a4ded430586936445a733d0d29660f4d7c1 Author: Eric W. Biederman Date: Fri Apr 3 00:56:30 2009 -0700 sysctl: sparc Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for sparc to implement it's own. Acked-by: David S. Miller Signed-off-by: Eric W. Biederman commit 4ddf61ea99c1bbed4dcd889803c73213e1b3256b Author: Eric W. Biederman Date: Fri Apr 3 00:52:35 2009 -0700 sysctl: s390 Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for s390 to implement it's own. Cc: Heiko Carstens Acked-by: Martin Schwidefsky Acked-by: Arnd Bergmann Acked-by: Christian Borntraeger Signed-off-by: Eric W. Biederman commit f78a9a5a56418d955f3119cf7380ea911ab4baf6 Author: Eric W. Biederman Date: Fri Apr 3 00:49:26 2009 -0700 sysctl: parisc Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for parisc to implement it's own. Cc: Thibaut Varene Acked-by: Kyle McMartin Signed-off-by: Eric W. Biederman commit aff639cdcfe7450e04109be3759faa8f1e5572f5 Author: Eric W. Biederman Date: Fri Apr 3 00:46:47 2009 -0700 sysctl: mips Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for mips to implement it's own. Cc: Ralf Baechle Signed-off-by: Eric W. Biederman commit 6f589526df36dc6ac60df48e7ca23f536e71d332 Author: Eric W. Biederman Date: Fri Apr 3 00:44:03 2009 -0700 sysctl: ia64 Use the compat_sys_sysctl Now that we have a generic 32bit compatibility implementation there is no need for ia64 to implement it's own. Cc: Tony Luck Cc: Fenghua Yu Signed-off-by: Eric W. Biederman commit da3f6f9b3e0d1e73975ca81ae124406bf1587d40 Author: Eric W. Biederman Date: Fri Apr 3 00:36:27 2009 -0700 sysctl: Introduce a generic compat sysctl sysctl This uses compat_alloc_userspace to remove the various hacks to allow do_sysctl to write to throuh oldlenp. The rest of our mature compat syscall helper facitilies are used as well to ensure we have a nice clean maintainable compat syscall that can be used on all architectures. The motiviation for a generic compat sysctl (besides the obvious hack removal) is to reduce the number of compat sysctl defintions out there so I can refactor the binary sysctl implementation. ppc already used the name compat_sys_sysctl so I remove the ppcs version here. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Acked-by: Arnd Bergmann Signed-off-by: Eric W. Biederman commit bb1cafb8fc414d6dbe933f888df6540c2ef02101 Author: Dmitry Eremin-Solenikov Date: Thu Nov 5 16:56:23 2009 +0300 ieee802154: add support for creation/removal of logic interfaces Add support for two more NL802154 commands: ADD_IFACE and DEL_IFACE, thus allowing creation and removal of logic WPAN interfaces on the top of wpan-phy. Signed-off-by: Dmitry Eremin-Solenikov commit 0a868b26c8ba32f6988f87dd81697917a2f612b6 Author: Dmitry Eremin-Solenikov Date: Thu Oct 29 16:28:52 2009 +0300 ieee802154: add PHY_NAME to LIST_IFACE command results Signed-off-by: Dmitry Eremin-Solenikov commit 339b4ca5f68c7fd02eae54e9ce49c4b5f5d8b545 Author: Dmitry Eremin-Solenikov Date: Wed Nov 4 18:05:38 2009 +0300 ieee802154: add two nl802154 helpers Add two nl802154 helpers: one for starting a reply message, one for sending. Signed-off-by: Dmitry Eremin-Solenikov commit 405cd39f331826d344f5f55bac5dbbc10a1c2813 Author: Dmitry Eremin-Solenikov Date: Wed Nov 4 17:53:40 2009 +0300 fakehard: mlme_ops->get_phy implementation Signed-off-by: Dmitry Eremin-Solenikov commit 42723448b8bacf60c96812196d7725d8d605d0c4 Author: Dmitry Eremin-Solenikov Date: Wed Nov 4 17:53:23 2009 +0300 ieee802154: add an mlme_ops call to retrieve PHY object ops->get_phy should increment reference to wpan-phy. As we return the external structure, we should do refcounting correctly. Signed-off-by: Dmitry Eremin-Solenikov commit 478e87c23340e88e909aa749f4772838bc96a20b Author: Dmitry Eremin-Solenikov Date: Tue Sep 22 15:31:25 2009 +0400 fakehard: claim all 2.4 Ghz channels as supported Make fakehard device claim all 2.4 Ghz channels from 802.15.4-2006, 802.15.4a-2007 as supported by the hw. Signed-off-by: Dmitry Eremin-Solenikov commit c83b2077c8bfec097ab02a0eca60bd611fdc7944 Author: Dmitry Eremin-Solenikov Date: Thu Oct 29 16:32:46 2009 +0300 fakehard: no need to export net_to_phy, make it static Signed-off-by: Dmitry Eremin-Solenikov commit 1eaa9d03d3ee9156c8c405b006ce892ae28290ad Author: Dmitry Eremin-Solenikov Date: Tue Sep 15 17:04:44 2009 +0400 ieee802154: add LIST_PHY command support Add nl802154 command to get information about PHY's present in the system. Signed-off-by: Dmitry Eremin-Solenikov commit 78fe738d1a631ec34a29d830880e38f5c14c1371 Author: Dmitry Eremin-Solenikov Date: Mon Sep 14 18:17:36 2009 +0400 ieee802154: split away MAC commands implementation Move all mac-related stuff to separate file so that ieee802154/netlink.c contains only generic code. Signed-off-by: Dmitry Eremin-Solenikov commit cb6b3763571570ebde1e82524c8a45a4275c8f11 Author: Dmitry Eremin-Solenikov Date: Thu Sep 10 17:50:12 2009 +0400 ieee802154: merge nl802154 and wpan-class in single module There is no real need to have ieee802154 interfaces separate into several small modules, as neither of them has it's own use. Signed-off-by: Dmitry Eremin-Solenikov commit a9966b580a3e9d7cf820b5360b574f439d813ef4 Author: Dmitry Eremin-Solenikov Date: Fri Oct 2 19:05:00 2009 +0400 ieee802154: constify struct net_device in some operations Some of ieee802154 operations really shouldn't change passed net_device. Constify passed argument. Signed-off-by: Dmitry Eremin-Solenikov commit e9cf356c0c6b975fda84b15a5abdd1db88d74f84 Author: Dmitry Eremin-Solenikov Date: Mon Sep 28 19:01:20 2009 +0400 wpan-phy: follow usual patter of devices registration Follow the usual pattern of devices registration by adding new function (wpan_phy_set_dev) that sets child->parent relationship and removing parent argument from wpan_phy_register call. Signed-off-by: Dmitry Eremin-Solenikov commit a0b4a738e0e03f5e0d6ca366560f9a48e5adf83a Author: Dmitry Eremin-Solenikov Date: Tue Sep 22 15:26:48 2009 +0400 wpan-phy: allow specifying a per-page channel mask IEEE 802.15.4-2006 defines channel pages that hold channels (max 32 pages, 27 channels per page). Allow the driver to specify supported channels on pages, other than the first one. Signed-off-by: Dmitry Eremin-Solenikov commit 2830b68361a9f58354ad043c6d85043ea917f907 Author: Eric W. Biederman Date: Fri Apr 3 00:09:33 2009 -0700 sysctl: Refactor the binary sysctl handling to remove duplicate code Read in the binary sysctl path once, instead of reread it from user space each time the code needs to access a path element. The deprecated sysctl warning is moved to do_sysctl so that the compat_sysctl entries syscalls will also warn. The return of -ENOSYS when !CONFIG_SYSCTL_SYSCALL is moved to binary_sysctl. Always leaving a do_sysctl available that handles !CONFIG_SYSCTL_SYSCALL and printing the deprecated sysctl warning allows for a single defitition of the sysctl syscall. Signed-off-by: Eric W. Biederman commit afa588b2651a03da4bc601a17a244b1cd97264f2 Author: Eric W. Biederman Date: Thu Apr 2 23:44:59 2009 -0700 sysctl: Separate the binary sysctl logic into it's own file. In preparation for more invasive cleanups separate the core binary sysctl logic into it's own file. Signed-off-by: Eric W. Biederman commit 375bb0e04b618d0c425b0ea492d16cf71eb94905 Author: Dmitry Eremin-Solenikov Date: Mon Sep 28 18:58:32 2009 +0400 wpan-phy: use snprintf to limit the amount of chars written Use snprintf to limit the amount of chars put in the buffer for attr -> show. Signed-off-by: Dmitry Eremin-Solenikov commit 37eb0edc8488fccbf601ab3e7e582373ed2a631e Author: Dmitry Eremin-Solenikov Date: Fri Sep 18 16:35:06 2009 +0400 wpan-phy: init channel/page fields Set page to zero (for compatibility w/ devices supporting only first page). Also init channel by default to -1 to disallow transfers for non-initialised devices. Signed-off-by: Dmitry Eremin-Solenikov commit 1c889f4db6b2f8f8429e62011ba622642faba019 Author: Dmitry Eremin-Solenikov Date: Tue Sep 15 16:57:04 2009 +0400 wpan-phy: add wpan-phy iteration functions Add API to iterate over the wpan-phy instances. Signed-off-by: Dmitry Eremin-Solenikov commit 69d9ab96f983720b7794e91437bd9c5f83bae9f7 Author: Dmitry Eremin-Solenikov Date: Mon Sep 14 18:11:03 2009 +0400 wpan-phy: add a helper to put the wpan_phy device Signed-off-by: Dmitry Eremin-Solenikov commit 230f9bb701d37ae9b48e96456689452978f5c439 Merge: 000ba2e 887e671 Author: David S. Miller Date: Fri Nov 6 00:55:55 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/usb/cdc_ether.c All CDC ethernet devices of type USB_CLASS_COMM need to use '&mbm_info'. Signed-off-by: David S. Miller commit ddaf1b27edf72372242d752730d526b79312a44e Author: David S. Miller Date: Fri Nov 6 00:26:39 2009 -0800 apbuart: Fix build and missing driver unregister. linux/of_platform.h needs to be included OF driver needs to be unregistered Signed-off-by: David S. Miller commit 000ba2e43f33901859fd794bb33c885909d53b3b Author: David S. Miller Date: Thu Nov 5 22:37:11 2009 -0800 net: Fix build warning in sock_bindtodevice(). net/core/sock.c: In function 'sock_setsockopt': net/core/sock.c:396: warning: 'index' may be used uninitialized in this function net/core/sock.c:396: note: 'index' was declared here GCC can't see that all paths initialize index, so just set it to the default (0) and eliminate the specific code block that handles the null device name string. Signed-off-by: David S. Miller commit baac8564547ac7f944af1c2e8cc6fdd57f2836a4 Author: Eric Dumazet Date: Thu Nov 5 21:04:32 2009 -0800 pktgen: tx_bytes might be slightly wrong cur_pkt_size can be changed in proc fs while pktgen is running, we better use a private field to get precise tx-bytes counter. Signed-off-by: Ben Greear Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bf8e56bfc4fcfcef9f08e6233dc619706807893a Author: Eric Dumazet Date: Thu Nov 5 21:03:39 2009 -0800 net: sock_bindtodevice() RCU-ification Avoid dev_hold()/dev_put() in sock_bindtodevice() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 69df9d5993bd7dd7499ad0e98fe824147fbe5667 Author: Eric Dumazet Date: Thu Nov 5 20:59:47 2009 -0800 ip_frag: dont touch device refcount When sending fragmentation expiration ICMP V4/V6 messages, we can avoid touching device refcount, thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bd27a8750c9b849068d80e298f99940bb7128b33 Author: Eric Dumazet Date: Thu Nov 5 20:57:26 2009 -0800 net_cls: Use __dev_get_by_index() We hold RTNL in tc_dump_tfilter(), we can avoid dev_hold()/dev_put() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 40c9c31e388bfd513269df737f874d0cd53c1616 Author: Eric Dumazet Date: Thu Nov 5 20:56:46 2009 -0800 sctp: ipv6: avoid touching device refcount Avoid touching device refcount in sctp/ipv6, thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 122ec6ffca3967ffaa96a4c7a5dc9cd71866e0bc Author: Eric Dumazet Date: Thu Nov 5 20:53:47 2009 -0800 netlabel: remove dev_put() calls Use dev_get_by_name_rcu() to avoid dev_put() calls, in sections already inside a rcu_read_lock() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 31ef30c760f7ddb133fa538df1dfbec1f42294d7 Author: Eric Dumazet Date: Thu Nov 5 20:47:35 2009 -0800 bridge: remove dev_put() in add_del_if() add_del_if() is called with RTNL, we can use __dev_get_by_index() instead of [dev_get_by_index() + dev_put()] Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit c84b3268da3b85c9d8a9e504e1001a14ed829e94 Author: Eric Paris Date: Thu Nov 5 20:45:52 2009 -0800 net: check kern before calling security subsystem Before calling capable(CAP_NET_RAW) check if this operations is on behalf of the kernel or on behalf of userspace. Do not do the security check if it is on behalf of the kernel. Signed-off-by: Eric Paris Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3f378b684453f2a028eda463ce383370545d9cc9 Author: Eric Paris Date: Thu Nov 5 22:18:14 2009 -0800 net: pass kern to net_proto_family create function The generic __sock_create function has a kern argument which allows the security system to make decisions based on if a socket is being created by the kernel or by userspace. This patch passes that flag to the net_proto_family specific create function, so it can do the same thing. Signed-off-by: Eric Paris Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 13f18aa05f5abe135f47b6417537ae2b2fedc18c Author: Eric Paris Date: Thu Nov 5 20:44:37 2009 -0800 net: drop capability from protocol definitions struct can_proto had a capability field which wasn't ever used. It is dropped entirely. struct inet_protosw had a capability field which can be more clearly expressed in the code by just checking if sock->type = SOCK_RAW. Signed-off-by: Eric Paris Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 89794a6f3bf6db552b1ff4d2ad42fdd8739ac2a2 Author: Yaniv Rosner Date: Thu Nov 5 20:00:59 2009 -0800 bnx2x: version 1.52.1-3 Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0c786f0246951fdd9b206249aab9601fb788f9e4 Author: Yaniv Rosner Date: Thu Nov 5 19:18:32 2009 +0200 bnx2x: Fix register access timeout in 10M In BCM8481 when link speed goes from 1G to 10M, driver received timeout since the MAC clock hasn't synced yet with the new speed, so it is required first to program the MAC with the new speed, and only then configure other parameters Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 46d15cc7a09d6a7f96908b2cd812744c483893b4 Author: Yaniv Rosner Date: Thu Nov 5 19:18:30 2009 +0200 bnx2x: Fix 10G mode in BCM8481/BCM84823 Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 93f72884dd1622e443109abcd3e5e8f8cca0a6fe Author: Yaniv Rosner Date: Thu Nov 5 19:18:26 2009 +0200 bnx2x: Fix BCM8726 ROM load seq Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4f60dab113230943fb1bc7969053d9a1b6578339 Author: Yaniv Rosner Date: Thu Nov 5 19:18:23 2009 +0200 bnx2x: Add support for BCM84823 Add support for new phy type BCM84823 (Dual copper-port phy) Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b5bbf0080e258383ecf67e57c7b46f4249878280 Author: Yaniv Rosner Date: Thu Nov 5 19:18:21 2009 +0200 bnx2x: Modify BCM8706 link init seq Modify BCM8706 link initialization sequence so that first it link up between Serdes and BCM8706, and only then between BCM8706 to network Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 15ddd2d0ef4849410a2251587b3652fe6a689fda Author: Yaniv Rosner Date: Thu Nov 5 19:18:12 2009 +0200 bnx2x: Enable FC when parallel-detect is used When parallel detect is used, flow-control is set to the req_fc_auto_adv instead of none. Motive: when 577xx is FC configuration is set to AUTO, while LP speed is set to FORCE mode and FC to force RX/TX, link would come up using parallel detect, and the FC will be set to NONE since FC capabilities were not negotiated, although the LP is setting FC to force RX/TX. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d5cb9e997708bd48d2ed3dd926dad7a6fc83bf56 Author: Yaniv Rosner Date: Thu Nov 5 19:18:10 2009 +0200 bnx2x: Miscellaneous debug print and tabs Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7846e471b5b5cac5e09c8e6ebeb67e18279db8e3 Author: Yaniv Rosner Date: Thu Nov 5 19:18:07 2009 +0200 bnx2x: Fix CL73 autoneg issues - Advertise 1G KX4 in CL73 when 1G speed capability is enabled - Add flow-control negotiation over CL73 - External loopback test on Serdes should be done in FORCE mode, since in CL73 it is unable to link up with the same core using AUTONEG - Fix bnx2x_set_led function to support CL73 link leds Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 18afb0a6fa69efb76b7a67a151c0530d63789141 Author: Yaniv Rosner Date: Thu Nov 5 19:18:04 2009 +0200 bnx2x: Fix Parallel-Detect settings Enable Parallel-Detect for 10G and 1G only if the relevant speed capability is enabled Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2da3e160cb3d226d87b907fab26850d838ed8d7c Author: Frederic Weisbecker Date: Thu Nov 5 23:06:50 2009 +0100 hw-breakpoint: Move asm-generic/hw_breakpoint.h to linux/hw_breakpoint.h We plan to make the breakpoints parameters generic among architectures. For that it's better to move the asm-generic header to a generic linux header. Signed-off-by: Frederic Weisbecker commit d114cd84a1c5ce42bb10cd3a2da57b2bbcef909b Author: Krzysztof Helt Date: Thu Nov 5 18:32:41 2009 +0100 ALSA: cs4236: detect chip in one pass The cs4236 was two step detection with call to the snd_wss_free() between two steps. The snd_wss_free() did not free a sound device created in the snd_wss_create(). This caused an OOPS during module removal as the same sound device was released twice. The same OOPS happened if the cs4236 module loading failed. Fix this by adapting the snd_cs4236_create() to correctly work with chips less capable then cs4236. The snd_cs4236_create() behaves the same as the snd_wss_create() if the chip is less capable than the cs4236. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 76ac894080019c6619d3c3bf615db42a43a77f32 Author: Hannes Eder Date: Thu Nov 5 15:51:19 2009 +0100 netfilter: nf_nat_helper: tidy up adjust_tcp_sequence The variable 'other_way' gets initialized but is not read afterwards, so remove it. Pass the right arguments to a pr_debug call. While being at tidy up a bit and it fix this checkpatch warning: WARNING: suspect code indent for conditional statements Signed-off-by: Hannes Eder Signed-off-by: Patrick McHardy commit 5ae27aa2b16478a84d833ab4065798e752941c5a Author: Changli Gao Date: Thu Nov 5 14:51:31 2009 +0100 netfilter: nf_conntrack: avoid additional compare. Signed-off-by: Changli Gao Signed-off-by: Patrick McHardy commit fd210738f6601d0fb462df9a2fe5a41896ff6a8f Author: Mike Galbraith Date: Thu Nov 5 10:57:46 2009 +0100 sched: Fix affinity logic in select_task_rq_fair() Ingo Molnar reported: [ 26.804000] BUG: using smp_processor_id() in preemptible [00000000] code: events/1/10 [ 26.808000] caller is vmstat_update+0x26/0x70 [ 26.812000] Pid: 10, comm: events/1 Not tainted 2.6.32-rc5 #6887 [ 26.816000] Call Trace: [ 26.820000] [] ? printk+0x28/0x3c [ 26.824000] [] debug_smp_processor_id+0xf0/0x110 [ 26.824000] mount used greatest stack depth: 1464 bytes left [ 26.828000] [] vmstat_update+0x26/0x70 [ 26.832000] [] worker_thread+0x188/0x310 [ 26.836000] [] ? worker_thread+0x127/0x310 [ 26.840000] [] ? autoremove_wake_function+0x0/0x60 [ 26.844000] [] ? worker_thread+0x0/0x310 [ 26.848000] [] kthread+0x7c/0x90 [ 26.852000] [] ? kthread+0x0/0x90 [ 26.856000] [] kernel_thread_helper+0x7/0x10 [ 26.860000] BUG: using smp_processor_id() in preemptible [00000000] code: events/1/10 [ 26.864000] caller is vmstat_update+0x3c/0x70 Because this commit: a1f84a3: sched: Check for an idle shared cache in select_task_rq_fair() broke ->cpus_allowed. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: arjan@infradead.org Cc: LKML-Reference: <1257415066.12867.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit ad1cd745060ae2f24026b3b3d09da3426df6ab36 Author: Jaroslav Kysela Date: Wed Nov 4 14:30:36 2009 +0100 ALSA: rename "PC Speaker" controls to "Speaker" To unify control names, rename "PC Speaker" to "Speaker" for PPC ALSA drivers. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit d355c82a0191d5a3e971bd5af96cc81fe3ed25b9 Author: Jaroslav Kysela Date: Tue Nov 3 15:47:25 2009 +0100 ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep" To avoid confusion in control names for the standard analog PC Beep generator using a small Internal PC Speaker, rename all related "PC Speaker" and "PC Beep" controls to "Beep" only. This name is more universal and can be also used on more platforms without confusion. Introduce also "Internal Speaker" in ControlNames.txt for systems with full-featured build-in internal speaker. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit d13500981e7df7f0e84d7f37f85d720cefe6043e Author: David S. Miller Date: Wed Nov 4 23:59:18 2009 -0800 apbuart: Kill dependency on deprecated Sparc-only PROM interfaces. Use the proper modern OF ones instead. Noticed by Stephen Rothwell. Signed-off-by: David S. Miller commit 7d5ab418702e17565b6cf6eacc31b6b0852f6dc8 Merge: 23c4a88 798a8a1 Author: Takashi Iwai Date: Thu Nov 5 08:56:20 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 6a2a2d6bf8581216e08be15fcb563cfd6c430e1e Author: Gilad Ben-Yossef Date: Wed Nov 4 23:23:10 2009 -0800 tcp: Use defaults when no route options are available Trying to parse the option of a SYN packet that we have no route entry for should just use global wide defaults for route entry options. Signed-off-by: Gilad Ben-Yossef Tested-by: Valdis.Kletnieks@vt.edu Signed-off-by: David S. Miller commit 05eaade2782fb0c90d3034fd7a7d5a16266182bb Author: Gilad Ben-Yossef Date: Wed Nov 4 23:21:44 2009 -0800 tcp: Do not call IPv4 specific func in tcp_check_req Calling IPv4 specific inet_csk_route_req in tcp_check_req is a bad idea and crashes machine on IPv6 connections, as reported by Valdis Kletnieks Also, all we are really interested in is the timestamp option in the header, so calling tcp_parse_options() with the "estab" set to false flag is an overkill as it tries to parse half a dozen other TCP options. We know whether timestamp should be enabled or not using data from request_sock. Signed-off-by: Gilad Ben-Yossef Tested-by: Valdis.Kletnieks@vt.edu Signed-off-by: David S. Miller commit 3c5d92a0cfb5103c0d5ab74d4ae6373d3af38148 Author: Martin Schwidefsky Date: Tue Sep 29 14:25:16 2009 +0200 nohz: Introduce arch_needs_cpu Allow the architecture to request a normal jiffy tick when the system goes idle and tick_nohz_stop_sched_tick is called . On s390 the hook is used to prevent the system going fully idle if there has been an interrupt other than a clock comparator interrupt since the last wakeup. On s390 the HiperSockets response time for 1 connection ping-pong goes down from 42 to 34 microseconds. The CPU cost decreases by 27%. Signed-off-by: Martin Schwidefsky LKML-Reference: <20090929122533.402715150@de.ibm.com> Signed-off-by: Thomas Gleixner commit eed3b9cf3fe3fcc7a50238dfcab63a63914e8f42 Author: Martin Schwidefsky Date: Tue Sep 29 14:25:15 2009 +0200 nohz: Reuse ktime in sub-functions of tick_check_idle. On a system with NOHZ=y tick_check_idle calls tick_nohz_stop_idle and tick_nohz_update_jiffies. Given the right conditions (ts->idle_active and/or ts->tick_stopped) both function get a time stamp with ktime_get. The same time stamp can be reused if both function require one. On s390 this change has the additional benefit that gcc inlines the tick_nohz_stop_idle function into tick_check_idle. The number of instructions to execute tick_check_idle drops from 225 to 144 (without the ktime_get optimization it is 367 vs 215 instructions). before: 0) | tick_check_idle() { 0) | tick_nohz_stop_idle() { 0) | ktime_get() { 0) | read_tod_clock() { 0) 0.601 us | } 0) 1.765 us | } 0) 3.047 us | } 0) | ktime_get() { 0) | read_tod_clock() { 0) 0.570 us | } 0) 1.727 us | } 0) | tick_do_update_jiffies64() { 0) 0.609 us | } 0) 8.055 us | } after: 0) | tick_check_idle() { 0) | ktime_get() { 0) | read_tod_clock() { 0) 0.617 us | } 0) 1.773 us | } 0) | tick_do_update_jiffies64() { 0) 0.593 us | } 0) 4.477 us | } Signed-off-by: Martin Schwidefsky Cc: john stultz LKML-Reference: <20090929122533.206589318@de.ibm.com> Signed-off-by: Thomas Gleixner commit 8d044fe6aacaf573112331847155211a56a12736 Author: Ranjith Lohithakshan Date: Wed Nov 4 22:06:20 2009 -0800 TI DaVinci EMAC: Add suspend/resume capability Add suspend/resume capability to TI DaVinci EMAC driver. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 9f9354b92defa15aa0e215946c6e2dbccecb6aa7 Author: Eric Dumazet Date: Wed Nov 4 22:05:10 2009 -0800 net: net/ipv4/devinet.c cleanups As pointed by Stephen Rothwell, commit c6d14c84 added a warning : net/ipv4/devinet.c: In function 'inet_select_addr': net/ipv4/devinet.c:902: warning: label 'out' defined but not used delete unused 'out' label and do some cleanups as well Reported-by: Stephen Rothwell Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e9a6269d5bcb1c7cd18cea02a9a73fac8712f2d1 Author: Luis R. Rodriguez Date: Mon Nov 2 12:15:15 2009 -0500 wl1271: use __dev_alloc_skb() on RX RX is handled in a workqueue therefore allocating for GFP_ATOMIC is overkill and not required. Signed-off-by: Luis R. Rodriguez Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit c327d96759ac134384114830e19ded80e29fdcc4 Author: Johannes Berg Date: Mon Nov 2 11:31:51 2009 +0100 mac80211: fix internal scan request The internal scan request mac80211 uses to scan for IBSS networks was set up to contain no channels at all because n_channels wasn't set after setting up the channels array. Fix this to properly scan for networks. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 450aae3d7b60a970f266349a837dfb30a539198b Author: Sujith Date: Mon Nov 2 12:33:23 2009 +0530 mac80211: Fix IBSS merge Currently, in IBSS mode, a single creator would go into a loop trying to merge/scan. This happens because the IBSS timer is rearmed on finishing a scan and the subsequent timer invocation requests another scan immediately. This patch fixes this issue by checking if we have just completed a scan run trying to merge with other IBSS networks. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b35686d0b2d754d627aeb0c4340884aeaed8e4f3 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:36:33 2009 +0100 rt2x00: remove needless ifdefs from rt2x00leds.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d07624f191a14e2a59e1fe884a13582f24d7f8cb Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:35:39 2009 +0100 rt2800usb: fix comments in rt2800usb.h Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 3306ef642a4dec6ba5341eceb8b9cb1e4a82ddb0 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:58 2009 +0100 rt2800usb: use rt2x00usb_register_multiwrite() to set key entries Since struct hw_key_entry is 32-bytes large and is smaller than CSR cache size (which is 64-bytes large) we can use the standard rt2x00usb_register_multiwrite() helper to set key entries. This cleanup is a part of preparations for later code unification. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 02a39c209bda97f5dfd0c390c3926c131a052e34 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:50 2009 +0100 rt2x00: fix rt2x00usb_register_read() comment Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 77dba493618b5b5c84c9e375b6e3d51862ca7408 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:40 2009 +0100 rt2800pci: fix comment about IV/EIV fields The bit tested by hardware is TXD_W3_WIV and its value equals the negated value of ENTRY_TXD_ENCRYPT_IV bit. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 8807bb8cddbeb5b48bd9c6e40396af07980c7cdf Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:32 2009 +0100 rt2800pci: fix comment about register access Registers used for indirect BBP and RF registers access are respectively BBPCSR and RFCSR, also make it clear that all CSR registers access goes through rt2x00pci_register_[read,write]() methods. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f644fea1a8433f65f78a36cd7b23b8f57b0f77e4 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:24 2009 +0100 rt2800pci: fix crypto in TX frame Based on rt2800usb patch from Benoit PAPILLAULT (commit 17616310836ad2cc45a64576ef0e1520b0dcc81b). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit a8ea2b23f62e23c2afac291f9caa500bd1a60618 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:17 2009 +0100 rt2800usb: fix rt2800usb_rfcsr_read() The driver should write the read request into RF_CSR_CFG register and not BBP_CSR_CFG one in rt2800usb_rfcsr_read(). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f44eafa76be981b57667adcef5153b18e8a21904 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:32:10 2009 +0100 rt2800pci: make Kconfig help entry more helpful Document known issues with the driver to aid distribution makers, users and developers in making informed decisions instead of wasting their time needlessly. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 71eafe3230073917456973d67bc49eaa874c5a42 Author: Bartlomiej Zolnierkiewicz Date: Wed Nov 4 18:31:58 2009 +0100 rt2800usb: make Kconfig help entry more helpful Document known issues with the driver to aid distribution makers, users and developers in making informed decisions instead of wasting their time needlessly. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 5ed176e1c425f9bd1af161d66d348f6116a04fc6 Author: Johannes Berg Date: Wed Nov 4 14:42:28 2009 +0100 mac80211: make ieee80211_find_sta per virtual interface Since we have a TODO item to make all station management dependent on virtual interfaces, I figured I'd start with pushing such a change to drivers before more drivers start using the ieee80211_find_sta() API with a hw pointer and cause us grief later on. For now continue exporting the old API in form of ieee80211_find_sta_by_hw(), but discourage its use strongly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7fdad987d63f02c8fba30276ba395ac8dc93b719 Author: Johannes Berg Date: Sat Oct 31 16:15:39 2009 +0100 cfg80211: remove dead variable commit 211a4d12abf86fe0df4cd68fc6327cbb58f56f81 Author: Johannes Berg Date: Tue Oct 20 15:08:53 2009 +0900 cfg80211: sme: deauthenticate on assoc failure accidentally introduced a dead variable, I had changed the code to not need it while creating the patch and it looks like I forgot to remove the variable (and nobody else noticed either). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5b9482dda6dda11dc7050ffa5b4ebfb0c775880f Author: Lennert Buytenhek Date: Thu Oct 22 20:20:43 2009 +0200 mwl8k: pci BAR mapping changes Map BAR0 as well, as we need to write to it during init on some chips. Also, if BAR0 is a 64bit BAR, the register BAR becomes BAR2, so try mapping BAR2 if mapping BAR1 fails. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 45eb400d50e1ad84a8e8f9e9a82cd8ae13d7d691 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:40 2009 +0200 mwl8k: shorten receive/transmit state variable names To conserve horizontal space. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a43c49a817f31ce1accc029239827b108319ecf9 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:32 2009 +0200 mwl8k: add support for enabling hardware sniffer mode Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5dfd3e2c6fb69cf4295ec139107f4ebd3f7fbff0 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:29 2009 +0200 mwl8k: report rate and other information for received frames When receiving a frame, report the antenna info, long/short preamble status, 20/40 MHz flag, long/short guard interval status, MCS/legacy rate status, and MCS/legacy rate index to the stack. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 22995b2411d4c5bbd832a54c4ef6ad3e24a2a34b Author: Lennert Buytenhek Date: Thu Oct 22 20:20:25 2009 +0200 mwl8k: clarify WME transmit queue 0/1 swizzling Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3d76e82c9538d8104e578ca460d35f214bfddfd3 Author: Lennert Buytenhek Date: Thu Oct 22 20:20:16 2009 +0200 mwl8k: use cond_resched() when loading firmware blocks Since each firmware block takes on the order of several hundred usec to upload to the hardware, using msleep in the inner loop would make the firmware loading process take a lot more time than just doing busy-waiting like we do now. But if we keep the busy-waiting, we can at least add a cond_resched() to the inner loop so that we give other tasks a chance to run while the firmware is being loaded. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 32060e1b64f23fe315a35d2df8c2c7ad010df73e Author: Lennert Buytenhek Date: Thu Oct 22 20:20:04 2009 +0200 mwl8k: clear hardware MAC address if no STA interface configured If there is no STA interface configured, clear the hardware MAC address to prevent ACKing frames sent to our MAC address. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 77165d8809cda1a77bc8752148a6252d7735c12e Author: Lennert Buytenhek Date: Thu Oct 22 20:19:53 2009 +0200 mwl8k: enforce FIF_BCN_PRBRESP_PROMISC when no STA interfaces are active When FIF_BCN_PRBRESP_PROMISC is not set, we enable the hardware's BSS filter so that we'll only see packets destined for our BSS. But if no STA interfaces have been configured, we would end up passing the BSSID 00:00:00:00:00:00 into the POST_SCAN command, which actually disables the hardware's BSS filter, as it's not a valid BSSID. Fix this by passing in 01:00:00:00:00:00 instead (the criterion is that the OUI part of the BSSID must be nonzero), and add comments to explain what PRE_SCAN and POST_SCAN do. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 447ced07d04525218ae586cd70b759b48bcb1fc8 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:50 2009 +0200 mwl8k: implement FIF_ALLMULTI Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3779752d764b86077375510b1fd13d8fb2c7c3a5 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:45 2009 +0200 mwl8k: use the mac80211-provided workqueue instead of creating our own Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d5e308457e8e9b4988fbd69d38c30782125b3f65 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:41 2009 +0200 mwl8k: fix multicast address filter programming mwl8k's ->prepare_multicast() currently just enables reception of all multicast packets, which is somewhat ineffective. Fix this by either disabling all multicast RX, enabling multicast RX according to the multicast address filter table, or enabling all multicast RX, depending on whether ->prepare_multicast() was given any multicast addresses and whether the hardware multicast address filter table is large enough to fit all requested addresses. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 88de754ad59025eba797e7a8375807755577f450 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:37 2009 +0200 mwl8k: minor transmit quiescing rework Minor changes to the transmit quiescing logic: - Clarify the locking rules for ->tx_wait: only the holder of fw_mutex can wait for the TX path to become idle, but tx_wait itself is read and cleared by the TX reclaim tasklet under tx_lock. - Inline mwl8k_txq_busy() in its callers. - There's no need to kick the transmitter again in mwl8k_tx_wait_empty(), since it will have been kicked when the packets currently in the TX ring were added to it. - If the TX ring didn't drain in time, run mwl8k_scan_tx_ring() after reading priv->pending_pkts without dropping tx_lock in between. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c2c357ce309221b85fd36e50aade66d01a556cde Author: Lennert Buytenhek Date: Thu Oct 22 20:19:33 2009 +0200 mwl8k: coding style cleanups Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 8848fd253bb26f09987405613bad3e0d53441ec0 Author: Lennert Buytenhek Date: Thu Oct 22 20:19:23 2009 +0200 mwl8k: fix GET_STAT firmware command packet layout The GET_STAT command doesn't have an 'action' field like other commands do, so remove it. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3c6af5b54fe74b6e56efadc22927e4055d00e9fc Author: John W. Linville Date: Mon Nov 2 13:43:32 2009 -0500 wl1271: depend on INET wl1271_main.c:(.text+0x271052): undefined reference to `unregister_inetaddr_notifier' wl1271_main.c:(.text+0x2714d7): undefined reference to `register_inetaddr_notifier' Driver is doing some filtering based on IP addresses... Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit f3d0e82fe3cce0dd3ffcd9c59e6caa671a30f929 Author: Mark Brown Date: Wed Nov 4 21:43:27 2009 +0000 ASoC: Update ads117x to current APIs Probe as a platform driver (ads117x) and remove the call to snd_soc_init_card(). Signed-off-by: Mark Brown commit 2dcf9fb99d4ecadecb2685a9eb82e6b85511c960 Author: Graeme Gregory Date: Wed Nov 4 17:49:22 2009 +0000 ASoC: ADS117x ADC driver This patch adds support for the TI ADS117x family of multichannel ADCs and was sponsored by Shotspotter Inc. Signed-off-by: Graeme Gregory Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown commit 9481721be10a1bfd1ee9ccf507eecd7f37caa5ec Author: Eric Dumazet Date: Wed Nov 4 21:14:31 2009 +0100 netfilter: remove synchronize_net() calls in ip_queue/ip6_queue nf_unregister_queue_handlers() already does a synchronize_rcu() call, we dont need to do it again in callers. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit b4d745db12bd2d45a456565ed63325bbfc689e68 Author: Eric Dumazet Date: Wed Nov 4 10:59:38 2009 -0800 decnet: avoid touching device refcount in dn_dev_by_index() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1b9508f6831e10d53256825de8904caa22d1ca2c Author: Mike Galbraith Date: Wed Nov 4 17:53:50 2009 +0100 sched: Rate-limit newidle Rate limit newidle to migration_cost. It's a win for all stages of sysbench oltp tests. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d94d9fee9fa4e66a0b91640a694b8b10177075b3 Author: Eric Dumazet Date: Wed Nov 4 09:50:58 2009 -0800 net: cleanup include/linux This cleanup patch puts struct/union/enum opening braces, in first line to ease grep games. struct something { becomes : struct something { Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a1f84a3ab8e002159498814eaa7e48c33752b04b Author: Mike Galbraith Date: Tue Oct 27 15:35:38 2009 +0100 sched: Check for an idle shared cache in select_task_rq_fair() When waking affine, check for an idle shared cache, and if found, wake to that CPU/sibling instead of the waker's CPU. This improves pgsql+oltp ramp up by roughly 8%. Possibly more for other loads, depending on overlap. The trade-off is a roughly 1% peak downturn if tasks are truly synchronous. Signed-off-by: Mike Galbraith Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: LKML-Reference: <1256654138.17752.7.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 622d32d3ec40d5075523656ef0ea836f6a595ae3 Merge: 476d42f ed81452 Author: Jens Axboe Date: Wed Nov 4 18:38:23 2009 +0100 Merge branch 'for-jens' of git://git.drbd.org/linux-2.6-drbd into for-2.6.33 commit 2a855dd01bc1539111adb7233f587c5c468732ac Author: Sebastian Andrzej Siewior Date: Sun Oct 25 15:37:58 2009 +0100 signal: Fix alternate signal stack check All architectures in the kernel increment/decrement the stack pointer before storing values on the stack. On architectures which have the stack grow down sas_ss_sp == sp is not on the alternate signal stack while sas_ss_sp + sas_ss_size == sp is on the alternate signal stack. On architectures which have the stack grow up sas_ss_sp == sp is on the alternate signal stack while sas_ss_sp + sas_ss_size == sp is not on the alternate signal stack. The current implementation fails for architectures which have the stack grow down on the corner case where sas_ss_sp == sp.This was reported as Debian bug #544905 on AMD64. Simplified test case: http://download.breakpoint.cc/tc-sig-stack.c The test case creates the following stack scenario: 0xn0300 stack top 0xn0200 alt stack pointer top (when switching to alt stack) 0xn01ff alt stack end 0xn0100 alt stack start == stack pointer If the signal is sent the stack pointer is pointing to the base address of the alt stack and the kernel erroneously decides that it has already switched to the alternate stack because of the current check for "sp - sas_ss_sp < sas_ss_size" On parisc (stack grows up) the scenario would be: 0xn0200 stack pointer 0xn01ff alt stack end 0xn0100 alt stack start = alt stack pointer base (when switching to alt stack) 0xn0000 stack base This is handled correctly by the current implementation. [ tglx: Modified for archs which have the stack grow up (parisc) which would fail with the correct implementation for stack grows down. Added a check for sp >= current->sas_ss_sp which is strictly not necessary but makes the code symetric for both variants ] Signed-off-by: Sebastian Andrzej Siewior Cc: Oleg Nesterov Cc: Roland McGrath Cc: Kyle McMartin Cc: stable@kernel.org LKML-Reference: <20091025143758.GA6653@Chamillionaire.breakpoint.cc> Signed-off-by: Thomas Gleixner commit 384a17b284b9dc92b480cf388310a25e255bac8a Author: David S. Miller Date: Wed Nov 4 08:47:03 2009 -0800 apbuart: Fix build warning. drivers/serial/apbuart.c: In function ‘apbuart_probe’: drivers/serial/apbuart.c:574: warning: format ‘%x’ expects type ‘unsigned int’, but argument 2 has type ‘resource_size_t’ Signed-off-by: David S. Miller commit d4ac42a582e46d7f86f0acb4253a310423c72c4c Author: Kristoffer Glembo Date: Wed Nov 4 08:39:46 2009 -0800 sparc: Support for GRLIB APBUART serial port This patch adds support for the APBUART serial port from Aeroflex Gaisler's IP library GRLIB. It is currently used in all LEON3 designs (SPARC V8) but can be used on other platforms as well (which support OF). Signed-off-by: Kristoffer Glembo Signed-off-by: David S. Miller commit b8883a65be2d925ea82b14ca0068ce9a6c8bac1f Author: Jiri Slaby Date: Wed Nov 4 08:37:31 2009 -0800 NET: sungem, use spin_trylock_irqsave Use spin_trylock_irqsave instead of open-coded local_irq_save+spin_trylock. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit ed814525f2e45188964c270fc3a5a0b644f7e4a9 Author: Philipp Reisner Date: Tue Oct 27 12:37:14 2009 +0100 Now it is equal to DRBD release 8.3.5 without compat crap Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 83c38830b04d4e369b9a41acbc562c0422f2f2f2 Author: Lars Ellenberg Date: Tue Nov 3 02:22:06 2009 +0100 drbd: performance - don't lose unplug events Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit e656ec8ae2c0319b6d52834695f9635217d62de5 Author: Philipp Reisner Date: Fri Oct 23 13:57:45 2009 +0200 Do not deadlock in drbd_disconnect() [bugz 258] When there are many blocks on the fly (ua), and the AL gets into "starving" mode (random IO, scattered all over the device), and the connections gets interrupted, the receiver thread deadlocks in the drbd_disconnect() code path. Affected are only nodes in Primary role. The bug triggers most likely on system that mirror over "long distances" Regression introduced shortly before 8.3.3 with git commit 31e0f1250f174ac1ee317f360943a0159e19edc8 Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 0a4921662513ae60dc638c8e13fbe3439d84db64 Author: Philipp Reisner Date: Wed Oct 21 13:08:29 2009 +0200 drbdsetup X resume-io should be usable to resume IO [Bugz 256] When IO gets frozen due to a broken fence-peer script, the user should be able to thaw IO by the resume-io command. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1352994b363195ce932749d3518d4dc9a5479fea Author: Lars Ellenberg Date: Mon Oct 12 19:07:49 2009 +0200 drbd: fix check for too large lower level device To check wether we are truncating a very large device due to limited meta data space, we need to check the ll_dev size. Also improve the printk to suggest "flexible" or "internal". Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit ad19bf6e544f4d1abc22d2be130c7d5e4163146f Author: Lars Ellenberg Date: Wed Oct 14 09:36:49 2009 +0200 fix grammar in printk Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 89e1838f5f2c2af80268a096b9a687643b0d0846 Author: Lars Ellenberg Date: Mon Sep 21 10:46:22 2009 +0200 change default: by default, use socket buffer auto tuning Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit c6d14c84566d6b70ad9dc1618db0dec87cca9300 Author: Eric Dumazet Date: Wed Nov 4 05:43:23 2009 -0800 net: Introduce for_each_netdev_rcu() iterator Adds RCU management to the list of netdevices. Convert some for_each_netdev() users to RCU version, if it can avoid read_lock-ing dev_base_lock Ie: read_lock(&dev_base_loack); for_each_netdev(net, dev) some_action(); read_unlock(&dev_base_lock); becomes : rcu_read_lock(); for_each_netdev_rcu(net, dev) some_action(); rcu_read_unlock(); Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d0075634cf9d288988f57392a1f132d2053af961 Author: Eric Dumazet Date: Wed Nov 4 05:23:31 2009 -0800 em_meta: avoid one dev_put() Another rcu conversion to avoid one dev_hold()/dev_put() pair Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 663e69592856df53ef52969482ef413a96bc4e06 Author: Thomas Gleixner Date: Wed Nov 4 14:22:21 2009 +0100 irq: Remove unused debug_poll_all_shared_irqs() commit 74296a8ed added this function for debug purposes, but it was never used for anything. Remove it. Signed-off-by: Thomas Gleixner commit 24b26d4211130b6455692804c14d537158855cd7 Author: Liuweni Date: Wed Nov 4 20:11:05 2009 +0800 irq: Fix docbook comments Fix docbook comments to match the actual function names (set_irq_msi, handle_percpu_irq). Signed-off-by: Liuwenyi Signed-off-by: Thomas Gleixner commit c7079857cd89cb5bc686df1d441db8ef0137abf1 Author: Eric Dumazet Date: Mon Nov 2 23:17:42 2009 +0000 bnx2: avoid compiler warnings drivers/net/bnx2.c: In function ‘bnx2_enable_forced_2g5’: drivers/net/bnx2.c:1447: warning: ‘bmcr’ may be used uninitialized in this function drivers/net/bnx2.c: In function ‘bnx2_disable_forced_2g5’: drivers/net/bnx2.c:1482: warning: ‘bmcr’ may be used uninitialized in this function One fix would be to have an initial value, but a plain return might be better. Signed-off-by: Eric Dumazet Acked-by: Michael Chan Signed-off-by: David S. Miller commit fd2c3ef761fbc5e6c27fa7d40b30cda06bfcd7d8 Author: Eric Dumazet Date: Tue Nov 3 03:26:03 2009 +0000 net: cleanup include/net This cleanup patch puts struct/union/enum opening braces, in first line to ease grep games. struct something { becomes : struct something { Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4b7673a04a16f1d8faf1e367ae28a6ee1671843d Author: Rémi Denis-Courmont Date: Mon Nov 2 22:41:28 2009 +0000 Phonet: remove tautologies These checks don't make sense anymore since rtnl_notify() cannot fail. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit df7641af498c1575f5e9719cb391a1fa8159db1b Author: Thiago Farina Date: Tue Nov 3 03:10:29 2009 +0000 trivial: remove duplicated MIN macro from tehuti. Since the kernel api already has the macro "min", just use it instead of declaring another one. Signed-off-by: Thiago Farina Signed-off-by: David S. Miller commit 0d37f36ff9bc41067c71635d14b6a5834853a779 Author: roel kluin Date: Mon Nov 2 06:53:44 2009 +0000 cnic: ensure ulp_type is not negative `ulp_type' is signed, make sure it is not negative when we read the array element. Signed-off-by: Roel Kluin Acked-by: Michael Chan Signed-off-by: David S. Miller commit 885ee398de2354cf4526a3ecaf9e84e292393007 Author: Ron Mercer Date: Tue Nov 3 13:49:31 2009 +0000 qlge: Clean up netdev->stats usage. Don't access netdev->stats in IO path. Save them in tx_ring/rx_rings and add them up when get_stats API is called. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 1e34e307d0ebe536feb39c957c849a485bc81486 Author: Ron Mercer Date: Tue Nov 3 13:49:30 2009 +0000 qlge: Add firmware/driver sub-command support. These sub-commands are issued by another (FCoE) function requesting an operation on a shared resource. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 32a5b2a0d516ba4056d9e9b8b14e34bef3f68921 Author: Ron Mercer Date: Tue Nov 3 13:49:29 2009 +0000 qlge: Fix indentations. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d7d3756c5b1277fafd132ce7a2211b388c3b5bd2 Author: Rusty Russell Date: Tue Nov 3 14:58:38 2009 +1030 cpumask: Use modern cpumask style in Xen Signed-off-by: Rusty Russell Cc: Jeremy Fitzhardinge LKML-Reference: <200911031458.38406.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit ce7c42710e2dd133f10b7fc9ed9c73bdd2435f7a Author: Rusty Russell Date: Tue Nov 3 14:53:52 2009 +1030 cpumask: Avoid cpumask_t in arch/x86/kernel/apic/nmi.c Ingo wants the certainty of a static cpumask (rather than a cpumask_var_t), but cpumask_t will some day be undefined to avoid on-stack declarations. This is what DECLARE_BITMAP/to_cpumask() is for. Signed-off-by: Rusty Russell LKML-Reference: <200911031453.52394.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit acc3f5d7cabbfd6cec71f0c1f9900621fa2d6ae7 Author: Rusty Russell Date: Tue Nov 3 14:53:40 2009 +1030 cpumask: Partition_sched_domains takes array of cpumask_var_t Currently partition_sched_domains() takes a 'struct cpumask *doms_new' which is a kmalloc'ed array of cpumask_t. You can't have such an array if 'struct cpumask' is undefined, as we plan for CONFIG_CPUMASK_OFFSTACK=y. So, we make this an array of cpumask_var_t instead: this is the same for the CONFIG_CPUMASK_OFFSTACK=n case, but requires multiple allocations for the CONFIG_CPUMASK_OFFSTACK=y case. Hence we add alloc_sched_domains() and free_sched_domains() functions. Signed-off-by: Rusty Russell Cc: Peter Zijlstra LKML-Reference: <200911031453.40668.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit e2c880630438f80b474378d5487b511b07665051 Author: Rusty Russell Date: Tue Nov 3 14:53:15 2009 +1030 cpumask: Simplify sched_rt.c find_lowest_rq() wants to call pick_optimal_cpu() on the intersection of sched_domain_span(sd) and lowest_mask. Rather than doing a cpus_and into a temporary, we can open-code it. This actually makes the code slightly clearer, IMHO. Signed-off-by: Rusty Russell Acked-by: Gregory Haskins Cc: Steven Rostedt LKML-Reference: <200911031453.15350.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit 09879b99d44d701c603935ef2549004405d7f8f9 Author: Hiroshi Shimamoto Date: Wed Nov 4 12:58:15 2009 +0900 x86: Gitignore: arch/x86/lib/inat-tables.c Ignore generated file arch/x86/lib/inat-tables.c. Signed-off-by: Hiroshi Shimamoto Acked-by: Masami Hiramatsu LKML-Reference: <4AF0FBD7.7000501@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 77b44d1b7c28360910cdbd427fb62d485c08674c Author: Masami Hiramatsu Date: Tue Nov 3 19:12:47 2009 -0500 tracing/kprobes: Rename Kprobe-tracer to kprobe-event Rename Kprobes-based event tracer to kprobes-based tracing event (kprobe-event), since it is not a tracer but an extensible tracing event interface. This also changes CONFIG_KPROBE_TRACER to CONFIG_KPROBE_EVENT and sets it y by default. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001247.3454.14131.stgit@harusame> Signed-off-by: Ingo Molnar commit 91365bbe4f8c39a821f390f785d606304d6dee3c Author: Masami Hiramatsu Date: Tue Nov 3 19:12:38 2009 -0500 perf/probes: Rename perf probe events group name Rename the group name of perf probe events to 'probe'. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001238.3454.70508.stgit@harusame> Signed-off-by: Ingo Molnar commit a225a1d911f0e434dc0407df29fd08e4388f3fa4 Author: Masami Hiramatsu Date: Tue Nov 3 19:12:30 2009 -0500 perf/probes: Fall back to non-dwarf if possible Fall back to non-dwarf probe point if the probe definition may not need dwarf analysis, when perf can't find vmlinux/debuginfo. This might skip some inlined code of target function. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001229.3454.63987.stgit@harusame> Signed-off-by: Ingo Molnar commit a7f4328b91fb6e71dbe1fa4d46f3597c9555014d Author: Masami Hiramatsu Date: Tue Nov 3 19:12:21 2009 -0500 perf/probes: Improve error messages Improve error messages in perf-probe so that users can figure out problems easily. Reported-by: Ingo Molnar Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001221.3454.52030.stgit@harusame> Signed-off-by: Ingo Molnar commit c43f9d1e61e265c6bfafdd65c7f07c8d71a7efc3 Author: Masami Hiramatsu Date: Tue Nov 3 19:12:13 2009 -0500 perf/probes: Update Documentation/perf-probe.txt Update Documentation/perf-probe.txt accoding to recent syntax changes. Signed-off-by: Masami Hiramatsu Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091104001212.3454.19415.stgit@harusame> Signed-off-by: Ingo Molnar commit 45a5c8bad827ebb9c9798becc15bce2e804d49e0 Author: Dhaval Giani Date: Wed Nov 4 03:15:44 2009 +0530 sched: Add USER_SCHED to feature removal list Peter Zijlstra suggested that we remove USER_SCHED at: http://lkml.org/lkml/2009/3/21/67 Removing USER_SCHED removes a lot of code from the scheduler and simplifies the code. We already have the ability to do user based classification which is tightened using PAM in userspace. Schedule USER_SCHED for removal in 2.6.34 Signed-off-by: Dhaval Giani Acked-by: Peter Zijlstra Cc: Balbir Singh Cc: Bharata B Rao Cc: Serge E. Hallyn Cc: Srivatsa Vaddagiri LKML-Reference: <20091103214544.GI5495@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 2643ce11457a99a85c5bed8dd631e35968e6ca5a Author: Arnaldo Carvalho de Melo Date: Tue Nov 3 21:46:10 2009 -0200 perf symbols: Factor out buildid reading routine So that we can run it without having a DSO instance. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1257291970-8208-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a2e71271535fde493c32803b1f34789f97efcb5e Merge: 6d7aa9d b419148 Author: Ingo Molnar Date: Wed Nov 4 11:54:15 2009 +0100 Merge commit 'v2.6.32-rc6' into perf/core Conflicts: tools/perf/Makefile Merge reason: Resolve the conflict, merge to upstream and merge in perf fixes so we can add a dependent patch. Signed-off-by: Ingo Molnar commit 9824a2b728b63e7ff586b9fd9293c819be79f0f3 Author: Hiroshi Shimamoto Date: Wed Nov 4 16:16:54 2009 +0900 sched: Remove unused cpu_nr_migrations() cpu_nr_migrations() is not used, remove it. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4AF12A66.6020609@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 2a2bb3142d326bb28b03875cabfc49baaac9a14a Author: Hiroshi Shimamoto Date: Wed Nov 4 16:16:10 2009 +0900 sched: Remove unused time_sync_thresh declaration time_sync_thresh had been removed. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4AF12A3A.5050200@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 1477b6a7edd9ffa7bba4f9779ce9a76ce92761ed Author: Hiroshi Shimamoto Date: Wed Nov 4 16:14:16 2009 +0900 sched: Remove unused __schedule() declaration __schedule() had been removed. Signed-off-by: Hiroshi Shimamoto Cc: Peter Zijlstra LKML-Reference: <4AF129C8.3030008@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 9dcaa7b25f2c8f6a0485854cd3641f585a154072 Author: Rafael Ignacio Zurita Date: Tue Nov 3 17:16:27 2009 -0300 ALSA: sh: add SuperH DAC audio driver for ALSA V4 This is a port of the sound/oss/sh_dac_audio.c driver. The driver uses an on-chip 8-bit D/A converter, which has a speaker connected to one of its channels, found in several ancient HP machines. For interrupts it uses a high-resolution timer (hrtimer). Tested on SH7709 based hp6xx (HP Jornada 680/690 and HP Palmtop 620lx/660lx). Also, since OSS Emulation works, the old OSS sound/oss/sh_dac_audio.c driver would be obsolete soon, and it could be removed. Signed-off-by: Rafael Ignacio Zurita Acked-by: Paul Mundt Signed-off-by: Takashi Iwai commit 476d42f138ba82389a92a894d8a630a70d36278f Author: H Hartley Sweeten Date: Wed Nov 4 09:10:33 2009 +0100 block/scsi_ioctl.c: quiet sparse noise Quiet sparse noise about symbol's not being declared. Symbol blk_default_cmd_filter is only used locally and should be static. The function blk_scsi_ioctl_init() is a fs_initcall and should also be static. Signed-off-by: H Hartley Sweeten Cc: James Bottomley Signed-off-by: Jens Axboe commit cc56f7de7f00d188c7c4da1e9861581853b9e92f Author: Changli Gao Date: Wed Nov 4 09:09:52 2009 +0100 sendfile(): check f_op.splice_write() rather than f_op.sendpage() sendfile(2) was reworked with the splice infrastructure, but it still checks f_op.sendpage() instead of f_op.splice_write() wrongly. Although if f_op.sendpage() exists, f_op.splice_write() always exists at the same time currently, the assumption will be broken in future silently. This patch also brings a side effect: sendfile(2) can work with any output file. Some security checks related to f_op are added too. Signed-off-by: Changli Gao Signed-off-by: Jens Axboe commit f21121cde6e617b90cd03ce083652ca543004dc2 Author: Hideyuki Sasaki Date: Wed Nov 4 09:09:28 2009 +0100 block/ps3: fix slow VRAM IO The current PS3 VRAM driver uses msleep() to wait for completion of RSX DMA transfers between system memory and VRAM. Depending on the system timing, the processing delay and overhead of this msleep() call can significantly impact VRAM driver IO. To avoid the condition, add a short duration (200 usec max) udelay() polling loop before entering the msleep() polling loop. Signed-off-by: Hideyuki Sasaki Signed-off-by: Geoff Levand Acked-by: Jim Paris Cc: Geert Uytterhoeven Signed-off-by: Jens Axboe commit e00ef7997195e4f8e10593727a6286e2e2802159 Author: Jens Axboe Date: Wed Nov 4 08:54:55 2009 +0100 cfq-iosched: get rid of the coop_preempt flag We need to rework this logic post the cooperating cfq_queue merging, for now just get rid of it and Jeff Moyer will fix the fall out. Signed-off-by: Jens Axboe commit fe3e78e073d25308756f38019956061153267769 Author: Mark Brown Date: Tue Nov 3 22:13:13 2009 +0000 ASoC: Factor out snd_soc_init_card() snd_soc_init_card() is always called as the last part of the CODEC probe function so we can factor it out into the core card setup rather than have each CODEC replicate the code to do the initialiastation. This will be required to support multiple CODECs per card. Signed-off-by: Mark Brown commit 2624d5fa67a5d3d720613a4ab0672e8c387ba806 Author: Mark Brown Date: Tue Nov 3 21:56:13 2009 +0000 ASoC: Move sysfs and debugfs functions to head of soc-core.c A fairly hefty change in diff terms but no actual code changes, will be used by the next commit. Signed-off-by: Mark Brown commit 529697c5463d941445db18e9526e7fc76a18e503 Author: Mark Brown Date: Tue Nov 3 22:13:30 2009 +0000 ASoC: Staticise wm8727 driver structure Signed-off-by: Mark Brown commit e7fec0bbf13b9bc2869a18e66f0cda7bb7f559f0 Author: Inaky Perez-Gonzalez Date: Tue Oct 27 14:33:45 2009 -0700 wimax/i2400m: fix inverted value in i2400ms_bus_setup() Fix inverted setting of 'retries'; when we are in the probe() path, we should retry to enable the function only once; otherwise until it times out. Signed-off-by: Inaky Perez-Gonzalez commit 20d57f8e2553fa6f5cd382131b7f18e91c7141fc Author: Inaky Perez-Gonzalez Date: Mon Oct 26 09:27:02 2009 -0700 wimax/i2400m: fix SDIO debugfs dentry name The SDIO specific debugfs dentry was being misnamed "i2400m-usb" instead of "i2400m-sdio". Signed-off-by: Inaky Perez-Gonzalez commit 5a039e78522502067a68c969fb87fba1e39bc2a6 Author: Inaky Perez-Gonzalez Date: Fri Oct 23 17:31:31 2009 -0700 wimax/i2400m: fix bad assignment of return value in i2400mu_tx_bulk_out The function was always setting the return value to the amount of bytes transferred, overwriting the error code in error paths. Signed-off-by: Inaky Perez-Gonzalez commit faf57162e462eafe87458e21bf641f9d138f8171 Author: Inaky Perez-Gonzalez Date: Tue Oct 20 11:10:59 2009 +0900 wimax/i2400m: handle USB stalls When the device stalls, clear it and retry; if it keeps failing too often, reset the device. This specially happens when running on virtual machines; the real hardware doesn't seem to trip on stalls too much, except for a few reports in the mailing list (still to be confirmed this is the cause, although it seems likely. NOTE: it is not clear if the URB has to be resubmitted fully or start only at the offset of the first transaction sent. Can't find documentation to clarify one end or the other. Tests that just resubmit the whole URB seemed to work in my environment. Signed-off-by: Inaky Perez-Gonzalez commit fae92216da87d1c78aa51c4503acb312a47266e9 Author: Inaky Perez-Gonzalez Date: Fri Oct 23 17:48:36 2009 -0700 wimax/i2400m: don't retry SDIO enable in probe() paths The iwmc3200 has a quirk where retrying SDIO enable during the probe() path causes bad interactions with the TOP function controller that causes a reset storm. The workaround is simply not to retry an SDIO enable in said path (and still do in the reset / reinitialization paths). The driver does so by checking i2400ms->debugfs_dentry to see if it has been initialized; if not, it is in the probe() path. Document said fact in i2400ms->debugfs_entry. Signed-off-by: Inaky Perez-Gonzalez commit 02eb41ef2a8631022fd90e096c57562dec9e7a9a Author: Inaky Perez-Gonzalez Date: Fri Oct 23 17:45:07 2009 -0700 wimax/i2400m: correctly identify all iwmc3200-based SKUs Different paths of the i2400m SDIO driver need to take care of a few SKU-specific quirks. For the ones that are common to to all the iwmc3200 based devices, introduce i2400ms->iwmc3200 [set in i2400ms_probe()], so it doesn't have to check against the list of iwmc3200 SKU IDs on each quirk site. Signed-off-by: Inaky Perez-Gonzalez commit 296bd4bdd0a43c5e56ee310bcb9b4722e5d52db8 Author: Inaky Perez-Gonzalez Date: Tue Oct 20 11:09:25 2009 +0900 wimax/i2400m: Fix USB timeout specifications (to ms from HZ) The USB code was incorrectly specifiying timeouts to be in jiffies vs msecs. On top of that, lower it to 200ms, as 1s is really too long (doesn't allow the watchdog to trip a reset if the device timesout too often). Signed-off-by: Inaky Perez-Gonzalez commit 5ab5a7215a0cfd40572a9f09276ebcb071ee6fb7 Author: Inaky Perez-Gonzalez Date: Thu Oct 15 18:16:08 2009 +0900 wimax/i2400m: fix device getting stuck in IDLE mode The i2400m, when conected, will negotiate with the WiMAX basestation to put the link in IDLE mode when it is not being used. Upon RX/TX traffic, the link has to be restablished and that might require some crypto handshakes and maybe a DHCP renew. This process might take up to 20 (!) seconds and in some cases we were seeing network watchdog warnings that weren't needed. So the network watchdog timeout is updated to be slightly above that 20s threshold. As well, the driver itself will double check if the device is stuck in IDLE mode -- if that happens, the device will be reset (in this case the queue is also woken up to remove bogus--once the device is reset--warnings). Signed-off-by: Inaky Perez-Gonzalez commit c931ceeb780560ff652a8f9875f88778439ee87e Author: Inaky Perez-Gonzalez Date: Mon Oct 19 16:24:56 2009 +0900 wimax/i2400m: introduce i2400m_reset(), stopping TX and carrier Currently the i2400m driver was resetting by just calling i2400m->bus_reset(). However, this was missing stopping the TX queue and downing the carrier. This was causing, for the corner case of the driver reseting a device that refuses to go out of idle mode, that a few packets would be queued and more than one reset would go through, making the recovery a wee bit messy. To avoid introducing the same cleanup in all the bus-specific driver, introduced a i2400m_reset() function that takes care of house cleaning and then calling the bus-level reset implementation. The bulk of the changes in all files are just to rename the call from i2400m->bus_reset() to i2400m_reset(). Signed-off-by: Inaky Perez-Gonzalez commit 55a662d6468005ec3cd799fbd8d0ad03dfae6d2a Author: Inaky Perez-Gonzalez Date: Mon Oct 19 23:11:26 2009 +0900 wimax/i2400m: implement passive mode as a module option Some versions of the user space Intel WiMAX daemon need to have full control over the device initialization sequence. By setting the module option i2400.passive_mode to 1, the driver defers all device configuration and initialization to user space. Signed-off-by: Inaky Perez-Gonzalez commit 125c4f221a5352ae08aef2898055b879ad963f01 Author: Jens Axboe Date: Tue Nov 3 21:25:45 2009 +0100 cfq-iosched: fix merge error We ended up with testing the same condition twice, pretty pointless. Remove that first if. Signed-off-by: Jens Axboe commit 2058297d2d045cb57138c33b87cfabcc80e65186 Merge: 150e6c6 4b27e1b Author: Jens Axboe Date: Tue Nov 3 21:14:39 2009 +0100 Merge branch 'for-linus' into for-2.6.33 Conflicts: block/cfq-iosched.c Signed-off-by: Jens Axboe commit 150e6c67f4bf6ab51e62defc41bd19a2eefe5709 Merge: 4f570f9 5869619 Author: Jens Axboe Date: Tue Nov 3 21:12:10 2009 +0100 Merge branch 'cfq-2.6.33' into for-2.6.33 commit 97829de5a3b88899c5f3ac8802d11868bf4180ba Author: Brian Gerst Date: Tue Nov 3 14:02:05 2009 -0500 x86, 64-bit: Fix bstep_iret jump This jump should be unconditional. Signed-off-by: Brian Gerst LKML-Reference: <1257274925-15713-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 97eaf5300b9d0cd99c310bf8c4a0f2f3296d88a3 Author: Frederic Weisbecker Date: Sun Oct 18 15:33:50 2009 +0200 perf/core: Add a callback to perf events A simple callback in a perf event can be used for multiple purposes. For example it is useful for triggered based events like hardware breakpoints that need a callback to dispatch a triggered breakpoint event. v2: Simplify a bit the callback attribution as suggested by Paul Mackerras Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: "K.Prasad" Cc: Alan Stern Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Paul Mackerras Cc: Mike Galbraith Cc: Paul Mundt commit 6d7aa9d721c8c640066142fd9534afcdf68d7f9d Author: Arnaldo Carvalho de Melo Date: Tue Nov 3 15:52:18 2009 -0200 perf symbols: Initialize dso->loaded Brown paper bag bug introduced in: 66bd8424cc05e800db384053bf7ab967e4658468 ("perf tools: Delay loading symtabs till we hit a map with it") Without this we were not loading any symtabs that happened to be on a DSO for which the allocated memory for ->loaded was !0. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1257270738-5669-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit c1e530178540df26eb39f10a972d06f96302ceb4 Author: Thiago Farina Date: Tue Nov 3 08:28:45 2009 -0500 perf: Clean up trivial style issues in builtin-help.c Pointed out by checkpatch. Signed-off-by: Thiago Farina Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <1257254925-5423-1-git-send-email-tfransosi@gmail.com> Signed-off-by: Ingo Molnar commit 41a48d14f6991020c9bb6b93e289ca5b411ed09a Author: Paul Mundt Date: Mon Oct 5 19:23:06 2009 +0900 x86/hw-breakpoints: Actually flush thread breakpoints in flush_thread(). flush_thread() tries to do a TIF_DEBUG check before calling in to flush_thread_hw_breakpoint() (which subsequently clears the thread flag), but for some reason, the x86 code is manually clearing TIF_DEBUG immediately before the test, so this path will never be taken. This kills off the erroneous clear_tsk_thread_flag() and lets flush_thread_hw_breakpoint() actually get invoked. Presumably folks were getting lucky with testing and the free_thread_info() -> free_thread_xstate() path was taking care of the flush there. Signed-off-by: Paul Mundt Acked-by: "K.Prasad" Cc: Ingo Molnar Cc: Alan Stern LKML-Reference: <20091005102306.GA7889@linux-sh.org> Signed-off-by: Frederic Weisbecker commit fb0459d75c1d0a4ba3cafdd2c754e7486968a676 Author: Arjan van de Ven Date: Fri Sep 25 12:25:56 2009 +0200 perf/core: Provide a kernel-internal interface to get to performance counters There are reasons for kernel code to ask for, and use, performance counters. For example, in CPU freq governors this tends to be a good idea, but there are other examples possible as well of course. This patch adds the needed bits to do enable this functionality; they have been tested in an experimental cpufreq driver that I'm working on, and the changes are all that I needed to access counters properly. [fweisbec@gmail.com: added pid to perf_event_create_kernel_counter so that we can profile a particular task too TODO: Have a better error reporting, don't just return NULL in fail case.] v2: Remove the wrong comment about the fact perf_event_create_kernel_counter must be called from a kernel thread. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: "K.Prasad" Cc: Alan Stern Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Ingo Molnar Cc: Jan Kiszka Cc: Jiri Slaby Cc: Li Zefan Cc: Avi Kivity Cc: Paul Mackerras Cc: Mike Galbraith Cc: Masami Hiramatsu Cc: Paul Mundt Cc: Jan Kiszka Cc: Avi Kivity LKML-Reference: <20090925122556.2f8bd939@infradead.org> Signed-off-by: Frederic Weisbecker commit 01dd95827726534230d8f03f7e6faafe24e49260 Author: Huang Ying Date: Tue Nov 3 10:55:20 2009 -0500 crypto: ghash-intel - Fix irq_fpu_usable usage When renaming kernel_fpu_using to irq_fpu_usable, the semantics of the function is changed too, from mesuring whether kernel is using FPU, that is, the FPU is NOT available, to measuring whether FPU is usable, that is, the FPU is available. But the usage of irq_fpu_usable in ghash-clmulni-intel_glue.c is not changed accordingly. This patch fixes this. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 12e4db4790b1bd2b7ec70eb2a1386c00fc683740 Author: Arnaldo Carvalho de Melo Date: Tue Nov 3 11:29:07 2009 -0200 perf probe: Annotate variable initialization Annotate away this false positive warning on older GCCs: cc1: warnings being treated as errors builtin-probe.c: In function ‘parse_probe_event’: builtin-probe.c:72: warning: ‘nc’ is used uninitialized in this function Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Masami Hiramatsu LKML-Reference: <1257254947-16789-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a489ca355efaf9efa4990b0f8f30ab650a206273 Author: Arjan van de Ven Date: Mon Nov 2 16:59:15 2009 -0800 x86: Make sure we also print a Code: line for show_regs() show_regs() is called as a mini BUG() equivalent in some places, specifically for the "scheduling while atomic" case. Unfortunately right now it does not print a Code: line unlike a real bug/oops. This patch changes the x86 implementation of show_regs() so that it calls the same function as oopses do to print the registers as well as the Code: line. Signed-off-by: Arjan van de Ven LKML-Reference: <20091102165915.4a980fc0@infradead.org> Signed-off-by: Ingo Molnar commit 3b0d65969b549b796abc6f0230f6142fed365d49 Author: Herbert Xu Date: Tue Nov 3 09:11:15 2009 -0500 crypto: ghash-intel - Add PSHUFB macros Add PSHUFB macros instead of repeating byte sequences, suggested by Ingo. Signed-off-by: Herbert Xu Acked-by: Ingo Molnar commit 59131d8e0ae91f2e94909e0795923c4c7ee7eb8c Merge: 012abee 4f570f9 Author: Philipp Reisner Date: Tue Nov 3 10:59:10 2009 +0100 Merge branch 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block into for-2.6.33 commit a02b7b7a138c7b1bc08e0e749ecbb613eadb6d41 Author: Atsushi Nemoto Date: Mon Nov 2 04:34:47 2009 +0000 tc35815: Kill unused code - TC35815_DMA_SYNC_ONDEMAND is always enabled. - WORKAROUND_LOSTCAR is always enabled. - WORKAROUND_100HALF_PROMISC is always enabled. - GATHER_TXINT is always enabled. - TC35815_USE_PACKEDBUFFER is always disabled. - NO_CHECK_CARRIER is always disabled. Signed-off-by: David S. Miller commit c6a2dbbadee65345a226aa15a9cbe5b70ae912e7 Author: Atsushi Nemoto Date: Mon Nov 2 04:34:46 2009 +0000 tc35815: Kill non-napi code Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 7a8b3372e29ff58ebdf94def26703afabd287f11 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:40 2009 +0000 gianfar: Basic Support for programming hash rules This patch provides basic hash rules programming via the ethtool interface. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 46ceb60ca80fa07703bc6eb8f4651f900dff5a82 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:34 2009 +0000 gianfar: Add Multiple group Support This patch introduces multiple group support for etsec2.0 devices. Multiple group support is provided by mapping the set of enabled queues to different groups and then programming the per group regsiters imask, ievent, rstat, tstat. The queues corresponding to a group are indicated by programming isrg (interrupt steering) registers. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 2e0246c72fa2e2b61865a2d5aaff1cc9155b9447 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:28 2009 +0000 gianfar: Add support etsec2.0 registers. This patch adds support for etsec2.0 regsiters Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 1d2397d742b7a2b39b2f09dd9da3b9d1463f55e9 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:22 2009 +0000 fsl_pq_mdio: Add Suport for etsec2.0 devices. This patch adds mdio support for etsec2.0 devices. Modified the fsl_pq_mdio structure to include the new mdio members. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit fba4ed030cfae7efdb6b79a57b0c5a9d72c9de83 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:15 2009 +0000 gianfar: Add Multiple Queue Support This patch introduces multiple Tx and Rx queues. The incoming packets can be classified into different queues based on filer rules (out of scope of this patch). The number of queues enabled will be based on a DTS entries fsl,num_tx_queues and fsl,num_rx_queues. Although we are enabling multiple queues, the interrupt coalescing is on per device level (etsec-1.7 doesn't support multiple rxics and txics). Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit f4983704a63b3764418905a77d48105a8cbce97f Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:09 2009 +0000 gianfar: Introduce logical group support. This patch introduces the group structure. The elements of this structure are the interrupt lines, their corresponding names, the register memory map. The elements for this group are factored out from the gfar_private structure. The introduction of group structure will help in providing support for newer versions of etsec. Currently, the support is present only for single group and single tx/rx queues. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit a12f801d4b349bc57622584e70e45a4ccbef53b6 Author: Sandeep Gopalpet Date: Mon Nov 2 07:03:00 2009 +0000 gianfar: Add per queue structure support This patch introduces per tx and per rx queue structures. Earlier the members of these structures were inside the gfar_private structure. Moving forward if we want to support multiple queues, we need to refactor the gfar_private structure so that introduction of multiple queues is easier. Signed-off-by: Sandeep Gopalpet Signed-off-by: David S. Miller commit 123b43e9716115302a0095e14f2c545811712715 Author: Matt Carlson Date: Mon Nov 2 14:33:03 2009 +0000 tg3: Update version to 3.103 This patch updates the tg3 version to 3.103. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 52fae0837153e86e4dabaf5df517a0b8b7a20bd7 Author: Matt Carlson Date: Mon Nov 2 14:32:38 2009 +0000 tg3 / broadcom: Optionally disable TXC if no link This patch adds code to disable the TXC and RXC reference clocks if link is not available. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c704dc23cac0e433796bfe0a1fe2f1a64da11ac7 Author: Matt Carlson Date: Mon Nov 2 14:32:12 2009 +0000 tg3 / broadcom: Add APD support for GPHYs This patch adds an RXC auto power-down feature to the code that supports the gphys. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 32e5a8d651c0dbb02bf82ca954206282e44c4b11 Author: Matt Carlson Date: Mon Nov 2 14:31:39 2009 +0000 tg3 / broadcom: Add code to disable rxc refclk The 5785 does not use the RXC reference clock. Turning it off is desirable as it saves power. By default, the 50610 enables the RXC reference clock and the 50610M disables it. Presumably this is one of the reasons why the hardware architect chose one over the other. Adding a "rx reference clock disable" flag is not the ideal way to describe the option, as it would force the MAC using a 50610M to set the flag. Ideally we want the flags to represent opt-in behavior that deviates from hardware defaults. Furthermore, the lack of a "disable" flag implies that the requester wants the rx reference clock enabled, which doesn't necessarily follow. By presenting the option as a passive statement (rx reference clock unused) rather than a command, I hope to convey an opt-in option to disable the rx reference clock that falls back to hardware defaults if not set. A secondary benefit of this is that it keeps the intelligence about phy defaults in the broadcom module where it belongs and allows the broadcom module more latitude should a bug arise. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit cdd4e09d692bd4f3457b3789279005e112b7696d Author: Matt Carlson Date: Mon Nov 2 14:31:11 2009 +0000 tg3 / broadcom: Refine AC131 APD support Auto power-down (APD) support is a power-saving feature. It should be selectively enabled since it might expose MAC bugs. This patch changes the code to enable APD only if the PHY_BRCM_AUTO_PWRDWN_ENABLE flag is set. The tg3 driver was changed to set this bit. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 63a14ce449dd6d647de2725809159eb072b2c44f Author: Matt Carlson Date: Mon Nov 2 14:30:40 2009 +0000 tg3 / broadcom: Add PHY_BRCM_CLEAR_RGMII_MODE flag Broadcom 50610M parts changed the default definitions of the RGMII mode shadow register. The 5785 needs the RGMII mode selection bits [4:3] cleared. The default value of the remaining bits in this register are zero. Rather than unnecessarily burn an extra bit in the dev_flags member in an attempt to enumerate all possible combinations, this patch take a more course grained approach and labels the option as "clear all bits". Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 8649f13d2d810406da444a6101906041b796fbde Author: Matt Carlson Date: Mon Nov 2 14:30:00 2009 +0000 broadcom: Consolidate dev_flags definitions This patch moves all the dev_flags enumerations outside the broadcom.c file to include/linux/brcmphy.h. The existing flags were not used yet and have been re-enumerated to avoid conflicts. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c73430d04ec75962e20e186d34c40b6d999f0968 Author: Matt Carlson Date: Mon Nov 2 14:29:34 2009 +0000 tg3: Add 50610M phy ID for 5785 This patch adds the 50610M phy ID for 5785. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 219c6efefaa3f5cd05db52cda50402b2e1c9ae21 Author: Matt Carlson Date: Mon Nov 2 14:28:33 2009 +0000 broadcom: Fix slow link problem When a 50610 or 50610M is paired against particular remote partners, link is slow to come up. This patch works around the problem. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 47b1b53b41d63f27b308981fde307d415e514431 Author: Matt Carlson Date: Mon Nov 2 14:28:04 2009 +0000 broadcom: Isolate phy dsp accesses This patch consolidates the code that requires the SMDSP clock to be enabled into a single function that (hopefully) makes the dependency obvious. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 303fc9218246a748304c005e629d658927cf12d0 Author: Matt Carlson Date: Mon Nov 2 14:27:34 2009 +0000 tg3: Extend loopback test timeout This patch extends the loopback test timeout from 250 usec to 350 usec. When the 5785 is paired against an AC131 phy, the older timeout is just a little too close to the expected performance based on timings. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit c3df0748ee43101dfc5c94d1f61ddfca0ff5baa4 Author: Matt Carlson Date: Mon Nov 2 14:27:02 2009 +0000 tg3: 5785: Set port mode to MII when link down This patch sets the port mode to MII when the link is down for the 5785. Setting the port mode to MII instead of GMII saves power. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 0e5f784c77197edf29d2770b518dc78777d5a480 Author: Matt Carlson Date: Mon Nov 2 14:26:38 2009 +0000 tg3: Add AC131 power down support The AC131 does not respect the power down bit (bit 11) of the MII Control Register (reg 0x0). Instead, software is required to put the phy into standby power down mode through the shadow register set. This patch implements support for the AC131 standby power down mode. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 788a035e6061a66c6c77059c417fdc6234e140ff Author: Matt Carlson Date: Mon Nov 2 14:26:03 2009 +0000 tg3: Improve 5785 PCIe performance This patch improves 5785 performance by allowing the write DMA engine to request larger DMA burst sizes than it otherwise would. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit a21771dd189b340328c573da9e005068e8a74c53 Author: Matt Carlson Date: Mon Nov 2 14:25:31 2009 +0000 tg3: Add more PCI DMA map error checking This patch adds code to check the status of pci_map_single() before allowing rx buffers to be used. It also converts the pci_map_single() call in tg3_run_loopback() to use skb_dma_map() instead. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 52cdf8526fe24f11d300b75458ddee017f3f4c88 Author: Matt Carlson Date: Mon Nov 2 14:25:06 2009 +0000 tg3: Prevent a PCIe tx glitch This patch prevents a PCIe tx glitch by allowing the transmitter to go to a low power state. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 3f0e3ad72393db9c2932a2ca86cc1a49294bbc63 Author: Matt Carlson Date: Mon Nov 2 14:24:36 2009 +0000 tg3: Convert PHY_ADDR => TG3_PHY_MII_ADDR This patch renames the PHY_ADDR preprocessor definition. The following patch will identify a new member on the MDIO bus, so we want this preprocessor definition to be a little more descriptive. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f40386c8452f9eead9c5906bfffaaf59f3dc748f Author: Matt Carlson Date: Mon Nov 2 14:24:02 2009 +0000 tg3: Fix disappearing 57780 devices Under certain power saving conditions, 57780 asic rev devices might disappear from the system. The fix is to disallow the PCIe PLL from powering down. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 92c6b8d16a36df3f28b2537bed2a56491fb08f11 Author: Matt Carlson Date: Mon Nov 2 14:23:27 2009 +0000 tg3: Fix 5906 transmit hangs The 5906 has trouble with fragments that are less than 8 bytes in size. This patch works around the problem by pivoting the 5906's transmit routine to tg3_start_xmit_dma_bug() and introducing a new SHORT_DMA_BUG flag that enables code to detect and react to the problematic condition. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0e1406dd404ce55dbe8d68b4b5e2aed7e5c75fdb Author: Matt Carlson Date: Mon Nov 2 12:33:33 2009 +0000 tg3: Assign flags to fixes in start_xmit_dma_bug This patch adds a flag for each bug workaround in tg3_start_xmit_dma_bug(). This is prep work for the following patch. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 462265bf494c4f2a2f6e06480590becadecbfea7 Author: Thomas Gleixner Date: Mon Nov 2 21:16:28 2009 -0800 watchdog: Remove BKL from rio watchdog driver cycle_kernel_lock() was added with the BKL pushdown. The rio driver indeed needs that because riowd_device is initialized after misc_register(). So an open(), write/ioctl() which happens to get between misc_register returning and riowd_device initialization would dereference a NULL pointer. Move riowd_device initialization before misc_register() and get rid of cycle_kernel_lock(). Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 49ab972aea7fca7b94f9df0f1f077fdab40a825d Author: Thomas Gleixner Date: Mon Nov 2 21:15:59 2009 -0800 sparc: Remove BKL from apc commit ab772027 (sparc: arch/sparc/kernel/apc.c to unlocked_ioctl) added lock/unlock_kernel() to the apc ioctl code. The code needs no serialization at all. Neither put/get_user nor the read/write access to the sbus devices require it. Remove BKL. cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it as well. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 31bde71c202722a76686c3cf69a254c8a912275a Author: Matt Domsch Date: Tue Nov 3 12:05:50 2009 +1100 tpm: autoload tpm_tis based on system PnP IDs The tpm_tis driver already has a list of supported pnp_device_ids. This patch simply exports that list as a MODULE_DEVICE_TABLE() so that the module autoloader will discover and load the module at boottime. Signed-off-by: Matt Domsch Acked-by: Rajiv Andrade Signed-off-by: Andrew Morton Signed-off-by: James Morris commit fa867e7355a1bdcd9bf7d55ebe9296f5b9c4028a Author: Juuso Oikarinen Date: Mon Nov 2 20:22:13 2009 +0200 wl1271: Generalize command response reading Responses to firmware commands are read in by the command transmission function, as part of command flow. Previously responses were read in multiple places. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ad150e966e987edcf737e1871d9e44a30d1aa58d Author: Juuso Oikarinen Date: Mon Nov 2 20:22:12 2009 +0200 wl1271: Correct endianness-handling of command status Correct the endianness-handling of the firmware command result status handling code. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 19ad0715d8d9acc259ef02f83df767df2cf1eafe Author: Juuso Oikarinen Date: Mon Nov 2 20:22:11 2009 +0200 wl1271: Add retry implementation for PSM entries PSM entries can fail (transmitting the corresponding null-func may not be heard by the AP.) Previously, this scenario was not detected, and out-of-sync between STA and AP could occur. Add retry implementation for the entries to recover from the situation. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3b775b4b27818130291e7716f3ce1e24664004c9 Author: Juuso Oikarinen Date: Mon Nov 2 20:22:10 2009 +0200 wl1271: Check result code of commands Check the result code of all commands, and return an error code if the firmware reports an error in execution. Previously this error would go ignored in most cases. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 605351e2220bd7960a55d6d7903f87f11f419f4e Author: Juuso Oikarinen Date: Mon Nov 2 20:22:09 2009 +0200 wl1271: Increase TX power value Currently, to avoid distortions, the TX power level has been hardcoded to a low value. The value is slightly too low for good functionality, so we increase it from 7dB to 12dB. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c6317a548d839e6f518649a4e7e9aa30b55d509a Author: Juuso Oikarinen Date: Mon Nov 2 20:22:08 2009 +0200 wl1271: Remove excess null-data template settings The null-data template (nullfunc) is dependent on the BSSID of the current AP only, so it needs to be updated only when the BSSID changes. Removed excess setting of the template. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 584991dccfd347cd2e1675ab262998f6c335d3c0 Author: Johannes Berg Date: Mon Nov 2 13:32:03 2009 +0100 cfg80211: validate scan channels Currently it is possible to request a scan on only disabled channels, which could be problematic for some drivers. Reject such scans, and also ignore disabled channels that are given. This resuls in the scan begin/end event only including channels that are actually used. This makes the mac80211 check for disabled channels superfluous. At the same time, remove the no-IBSS check from mac80211 -- nothing says that we should not find any networks on channels that cannot be used for an IBSS, even when operating in IBSS mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6c085227bd7168fd84976479218f81bf35b5acd7 Author: Jouni Malinen Date: Sun Nov 1 11:31:45 2009 +0200 mac80211_hwsim: Send ACK frames on the hwsim0 interface Report successful transmissions (receiver awake and on the same channel) by generating ACK frames on the hwsim0 interface. This makes it easier to figure out from packet capture logs whether frames were delivered or not. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 70541839dd2eacb521fa4f8515ab696599b36ea3 Author: Jouni Malinen Date: Sun Nov 1 11:30:48 2009 +0200 mac80211_hwsim: Check idle state on TX Track the idle state for hwsim radios and reject TX if mac80211 is trying to transmit something when the radio is supposed to be idle. In addition, do not deliver frames if the receiving radio is in the idle state. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c5f8289cd9b2e31fca506cb82f4aaa5ffc468602 Author: Jouni Malinen Date: Sun Nov 1 11:18:49 2009 +0200 cfg80211: Fix WEXT compat siwauth wpa and group cipher Neither of these commands should clear the current configuration value if they return error. Furthermore, cfg80211_set_cipher_group() should be able to handle IW_AUTH_CIPHER_NONE without reporting error. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 93a59d7527147e3656664aa3179f8d19de256081 Author: Christian Lamparter Date: Sat Oct 31 22:59:27 2009 +0100 p54: disable channels with incomplete calibration data sets James Grossmann [1] reported that p54 spews out confusing messages instead of preventing the mayhem from happening. the reason is that "p54: generate channel list dynamically" is not perfect. It didn't discard incomplete channel data sets and therefore p54 advertised to support them as well. [1]: http://marc.info/?l=linux-wireless&m=125699830215890 Cc: Larry Finger Reported-by: James Grossmann Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6d3560d4fc9c5b9fe1a07a63926ea70512c69c32 Author: Johannes Berg Date: Sat Oct 31 07:44:08 2009 +0100 mac80211: fix scan abort sanity checks Since sometimes mac80211 queues up a scan request to only act on it later, it must be allowed to (internally) cancel a not-yet-running scan, e.g. when the interface is taken down. This condition was missing since we always checked only the local->scanning variable which isn't yet set in that situation. Reported-by: Luis R. Rodriguez Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1933ac4d9377ed44caba45abe1531ec1bc14bb63 Author: Wey-Yi Guy Date: Fri Oct 30 14:36:18 2009 -0700 iwlwifi: add wimax/wifi coexist support for 6x50 series For 6x50 series, it is wimax/wifi combo device, so driver need to enable the wimax/wifi co-exist function and send the coexist event priority table to uCode for operation. The priority table will be used by uCode to determine what is the proper action it should take when co-exist with WiMAX. For example, when WiFi runs a scan, it must own radio exclusively, therefore will disconnect WiMAX if WiMAX is connected. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3f3e0376bb14ac7bfd8ac3e9824b2ad04d945e18 Author: Wey-Yi Guy Date: Fri Oct 30 14:36:17 2009 -0700 iwlwifi: add SM PS support for 6x50 series Spatial Multiplexing Power Save was disabled to achieve better throughput while in power save mode by activating all the rx chains all the time. By doing so, the device power consumption is high. Enable static/dynamic spatial multiplexing power save if device support it, which can lower the power consumption without impact throughput. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe1bcbfda77bf6fa3bbad8bf26b9e9ab23fbe345 Author: Wey-Yi Guy Date: Fri Oct 30 14:36:16 2009 -0700 iwlwifi: coex API data structure Add data structure define for COEX_MEDIUM_NOTIFICATION and COEX_EVENT_CMD host commands. COEX_MEDIUM_NOTIFICATION is notification from uCode to host to indicate medium changes. COEX_EVENT_CMD is from host to uCode for coex event request. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f2f21b4928489e1cf6c289d2f429e75c6dee61b5 Author: Reinette Chatre Date: Fri Oct 30 14:36:15 2009 -0700 iwlwifi: print warning when sending host command fails More information than the "-EIO" return code will be useful here. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ad13f8ce76814b37842c15301287efd607c6d26 Author: Reinette Chatre Date: Fri Oct 30 14:36:14 2009 -0700 iwlagn: move rate scale initialization to init function This fits better in how the callbacks operate (alloc does allocation and init does initialization). This also helps if we later want to do our own initialization without relying on the mac80211 allocation. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 62a94926183374d8414ab2ec633d9fe9530644ec Author: Reinette Chatre Date: Fri Oct 30 14:36:13 2009 -0700 iwl3945: store station rate scale information in mac80211 station structure Currently the rate scale information is pointed to from the mac80211 station structure but since that is the only member we might as well make it part of the structure. Also move the rate scaling initialization to the init function, no need to do it when we allocate the structure. This fits with how mac80211 deals with rate scaling information (it always calls init after allocation) and makes it easier for us to later call initialization directly. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9a9ca65fbfa1cd14a6c016b793d61492f9f613d0 Author: Reinette Chatre Date: Fri Oct 30 14:36:12 2009 -0700 iwlwifi: split adding broadcast station from others In preparation for some station management changes we split the addition of a broadcast station from the other stations. Later we will rely on mac80211 to direct all management (addition/removal) of all stations except the broadcast station. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 89f186a8b64a4c90a219cfd94c26de5cfea54b84 Author: Reinette Chatre Date: Fri Oct 30 14:36:11 2009 -0700 iwlwifi: move iwl_[un]init_drv to iwlagn Since iwlagn is the only user of these functions, move it to this module. This results in a bit more code moving than just these functions since the functions only used by them are also moved and we need to export the symbols previously available to them directly. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c33de6256a07869b48830e3a26fb6942ea8c4f79 Author: Reinette Chatre Date: Fri Oct 30 14:36:10 2009 -0700 iwlwifi: unmap memory before use Handling responses to driver originated commands include passing the original command buffer to the caller. At this time it is possible for a callback to be invoked that is passed this command buffer and thus likely to access it. We need to make sure that the memory associated with that buffer is not DMA mapped at the time. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c2e61da29d92df864dc5eec81d774199b02d7023 Author: Ben Cahill Date: Fri Oct 30 14:36:09 2009 -0700 iwlagn: update write pointers for all tx queues after wakeup Wakeup interrupt has been updating write pointers (indexes, actually) only for tx queues 0-5. This is adequate just for 3945, but inadequate for other devices, all of which have more tx queues. Now updating all tx/command queues, so device can be aware of all new tx and host commands enqueued while device was asleep. This can potentially improve data traffic bandwidth and/or latency. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c72cd19fab7983e97a1a41b7158e0b9f87a7fe96 Author: Ben Cahill Date: Fri Oct 30 14:36:08 2009 -0700 iwlagn: Clarify FH_TX interrupt Add/clarify comments and debug messages for interrupt used only for uCode load Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a6c5c731c3f783f60ed79dcf41efa8b5b3af2f22 Author: Ben Cahill Date: Fri Oct 30 14:36:07 2009 -0700 iwlagn: invoke L0S workaround for 6000/1000 series Invoke workaround to avoid instability in L0->L0S->L1 transition on PCIe bus. Workaround disables L0S state so device moves directly from L0->L1. Workaround needed on all devices since and including 4965; add to 6000/1000. Describe bug and workaround better in comments. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 88521364cc04b67f36748983545b9fe1d4ba4a15 Author: Ben Cahill Date: Fri Oct 30 14:36:06 2009 -0700 iwlwifi: remove power-wasting calls to apm_ops.init() To save power, don't run apm_ops.init() until needed at "up" time. EEPROM (5000 and earlier devices) may be read without running apm_ops.init(), but OTP reads (6000 and newer devices) require a powered-up chip. Therefore, remove apm_ops.init() from the general path in XXXX_pci_probe(), and call it only if device uses OTP. Once done with OTP read, call apm_ops.stop() to reset chip and save power until "up" time comes around. NOTE: This patch depends on removal of priv->lock from iwl_apm_stop(); lock does not get initialized until later in flow. See patch "remove unneeded locks from apm_stop()". Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5220af0c3b44f5d6e32661e5bb49154c514dbf4f Author: Ben Cahill Date: Fri Oct 30 14:36:05 2009 -0700 iwlwifi: remove unneeded locks from apm_stop() and stop_master() Since priv->reg_lock was added to keep multi-access register manipulation atomic, priv->lock protection is no longer needed. Remove this from iwl_apm_stop_master() and iwl_apm_stop(). Add warning of timeout when polling for busmaster disablement confirmation, and some comments. NOTE: This is needed to enable use of apm_ops.stop() within iwl_eeprom_init(); priv->lock does not get initialized until after this flow. See patch "remove power-wasting calls to apm_ops.init()" Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ebeb5a676c864acf59caa166b3cc0a13b7cff93 Author: Reinette Chatre Date: Fri Oct 30 14:36:04 2009 -0700 iwlwifi: provide firmware version By setting the firmware version in wiphy it is possible to obtain this information via ethtool. Some examples, # ethtool -i wlan1 driver: iwlagn version: 2.6.32-rc5-wl-56840-g26d8540 firmware-version: 228.57.2.23 bus-info: 0000:03:00.0 # ethtool -i wlan0 driver: iwl3945 version: 2.6.32-rc5-wl-56840-g26d8540 firmware-version: 15.28.2.8 bus-info: 0000:02:00.0 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9aa4aee30f4d155fc91abbaecfef9b3bb759699e Author: Johannes Berg Date: Thu Oct 29 08:43:48 2009 +0100 mac80211: make CALL_TXH a statement The multi-line code in this macro wasn't wrapped in do {} while (0) so we cannot use it in an if() branch safely in the future -- fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86c34fe89e9cad9e1ba4d1a8bbf98259035f4caf Author: Andrey Yurovsky Date: Tue Oct 27 16:51:40 2009 -0700 libertas: remove internal buffers from GSPI driver This patch removes the internal command and data buffers that the GSPI driver maintained and instead relies on the Libertas core to synchronize access to the command and data ports as with the other interface drivers. This cleanup reduces the GSPI driver's memory footprint and should improve performance by removing the need to copy to these internal buffers. This also simplifies the bottom half of the interrupt handler. This is an incremental cleanup: after removing the redundant buffers, we can further improve the driver to use a threaded IRQ handler instead of maintaining its own thread. However I would like a few folks to test the buffer removal first and make sure that I'm not introducing regressions. Tested on Blackfin BF527 with DMA disabled due to an issue with the SPI host controller driver in the current bleeding-edge Blackfin kernel. I would appreciate it if someone with working DMA could test this patch and provide feedback. Signed-off-by: Andrey Yurovsky Tested-by: George Shore Acked-by: Dan Williams Signed-off-by: John W. Linville commit 900b20d5900045fb9b48f2fb3d80cbdbae3f44c0 Author: Ingo Molnar Date: Mon Nov 2 19:25:25 2009 +0100 perf tools: Fix missing symtabs printouts Fix: util/map.c: In function ‘map__find_symbol’: util/map.c:97: error: field precision should have type ‘int’, but argument 3 has type ‘size_t’ Also clean up some line wrap damage - we dont line-wrap printk messages. Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b3f5a272a33ef06a37cd44703c46ec916b8a1c93 Author: Peter Ujfalusi Date: Mon Nov 2 14:34:54 2009 +0200 ASoC: TWL4030: Make sure, that the codec is powered on startup Set the codec->bias_level to SND_SOC_BIAS_OFF before changing the initial bias level to STANDBY. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit e7d23dde9b7ebb575e2bcee2abefc9ec1e4adde9 Author: Suresh Siddha Date: Wed Oct 28 18:46:58 2009 -0800 x86_64, cpa: Use only text section in set_kernel_text_rw/ro set_kernel_text_rw()/set_kernel_text_ro() are marking pages starting from _text to __start_rodata as RW or RO. With CONFIG_DEBUG_RODATA, there might be free pages (associated with padding the sections to 2MB large page boundary) between text and rodata sections that are given back to page allocator. So we should use only use the start (__text) and end (__stop___ex_table) of the text section in set_kernel_text_rw()/set_kernel_text_ro(). Signed-off-by: Suresh Siddha Acked-by: Steven Rostedt Tested-by: Steven Rostedt LKML-Reference: <20091029024821.164525222@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 55ca3cc1746335bb6ef1d3894ddb6d0c729b3518 Author: Suresh Siddha Date: Wed Oct 28 18:46:57 2009 -0800 x86_64, ftrace: Make ftrace use kernel identity mapping to modify code On x86_64, kernel text mappings are mapped read-only with CONFIG_DEBUG_RODATA. So use the kernel identity mapping instead of the kernel text mapping to modify the kernel text. Signed-off-by: Suresh Siddha Acked-by: Steven Rostedt Tested-by: Steven Rostedt LKML-Reference: <20091029024821.080941108@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 502f660466ba7a66711ffdf414b1f7f1131dcbf7 Author: Suresh Siddha Date: Wed Oct 28 18:46:56 2009 -0800 x86, cpa: Fix kernel text RO checks in static_protection() Steven Rostedt reported that we are unconditionally making the kernel text mapping as read-only. i.e., if someone does cpa() to the kernel text area for setting/clearing any page table attribute, we unconditionally clear the read-write attribute for the kernel text mapping that is set at compile time. We should delay (to forbid the write attribute) and enforce only after the kernel has mapped the text as read-only. Reported-by: Steven Rostedt Signed-off-by: Suresh Siddha Acked-by: Steven Rostedt Tested-by: Steven Rostedt LKML-Reference: <20091029024820.996634347@sbs-t61.sc.intel.com> [ marked kernel_set_to_readonly as __read_mostly ] Signed-off-by: Ingo Molnar commit 4dae560f97fa438f373b53e14b30149c9e44a600 Author: Ananth N Mavinakayanahalli Date: Fri Oct 30 19:23:10 2009 +0530 kprobes: Sanitize struct kretprobe_instance allocations For as long as kretprobes have existed, we've allocated NR_CPUS instances of kretprobe_instance structures. With the default value of CONFIG_NR_CPUS increasing on certain architectures, we are potentially wasting kernel memory. See http://sourceware.org/bugzilla/show_bug.cgi?id=10839#c3 for more details. Use a saner num_possible_cpus() instead of NR_CPUS for allocation. Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu Cc: Jim Keniston Cc: fweisbec@gmail.com LKML-Reference: <20091030135310.GA22230@in.ibm.com> Signed-off-by: Ingo Molnar commit d70a5402f9c2e2671b809363616b3508b4c5a565 Author: Arnaldo Carvalho de Melo Date: Fri Oct 30 16:28:25 2009 -0200 perf tools: Improve message about missing symtabs for deleted DSOs Instead of: no symbols found in /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so (deleted), maybe install a debug package? no symbols found in /usr/lib/gstreamer-0.10/libgstaudioconvert.so (deleted), maybe install a debug package? We now emit: /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so was updated, restart the long running apps that use it! /usr/lib/gstreamer-0.10/libgstaudioconvert.so was updated, restart the long running apps that use it! Which is far less misleading about what the cause of the symbol mismatch is. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 00a192b395b0606ad0265243844b3cd68e73420a Author: Arnaldo Carvalho de Melo Date: Fri Oct 30 16:28:24 2009 -0200 perf tools: Simplify the symbol priv area mechanism Before we were storing this in the DSO, but in fact this is a property of the 'symbol' class, not something that will vary among DSOs, so move it to a global variable and initialize it using the existing symbol__init routine. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit afb7b4f08e274cecd8337f9444affa288a9cd4c1 Author: Arnaldo Carvalho de Melo Date: Fri Oct 30 16:28:23 2009 -0200 perf tools: Factor out the map initialization Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256927305-4628-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 89933dee5b17c09f2673c2bfd853625a848f91f5 Author: Neil Jones Date: Mon Nov 2 15:14:17 2009 +0000 ASoC: Add support for the WM8727 DAC. Add support for the Wolfson Microelectronics WM8727 DAC, this is a simple non-configurable DAC. Signed-off-by: Neil Jones Signed-off-by: Mark Brown commit c5e0cb3ddc5f14cedcfc50c0fb3b5fc6b56576da Author: Lai Jiangshan Date: Wed Oct 28 08:14:48 2009 -0700 rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls Currently, rcu_irq_exit() is invoked only for CONFIG_NO_HZ, while rcu_irq_enter() is invoked unconditionally. This patch moves rcu_irq_exit() out from under CONFIG_NO_HZ so that the calls are balanced. This patch has no effect on the behavior of the kernel because both rcu_irq_enter() and rcu_irq_exit() are empty for !CONFIG_NO_HZ, but the code is easier to understand if the calls are obviously balanced in all cases. Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12567428891605-git-send-email-> Signed-off-by: Ingo Molnar commit 5231a68614b94f60e8f6c56bc6e3d75955b9e75e Author: Suresh Siddha Date: Mon Oct 26 14:24:36 2009 -0800 x86: Remove local_irq_enable()/local_irq_disable() in fixup_irqs() To ensure that we handle all the pending interrupts (destined for this cpu that is going down) in the interrupt subsystem before the cpu goes offline, fixup_irqs() does: local_irq_enable(); mdelay(1); local_irq_disable(); Enabling interrupts is not a good thing as this cpu is already offline. So this patch replaces that logic with, mdelay(1); check APIC_IRR bits Retrigger the irq at the new destination if any interrupt has arrived via IPI. For IO-APIC level triggered interrupts, this retrigger IPI will appear as an edge interrupt. ack_apic_level() will detect this condition and IO-APIC RTE's remoteIRR is cleared using directed EOI(using IO-APIC EOI register) on Intel platforms and for others it uses the existing mask+edge logic followed by unmask+level. We can also remove mdelay() and then send spuriuous interrupts to new cpu targets for all the irqs that were handled previously by this cpu that is going offline. While it works, I have seen spurious interrupt messages (nothing wrong but still annoying messages during cpu offline, which can be seen during suspend/resume etc) Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230002.043281924@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit b3ec0a37a7907813bb4fb85a2d94102c152470b7 Author: Suresh Siddha Date: Mon Oct 26 14:24:35 2009 -0800 x86: Use EOI register in io-apic on intel platforms IO-APIC's in intel chipsets support EOI register starting from IO-APIC version 2. Use that when ever we need to clear the IO-APIC RTE's RemoteIRR bit explicitly. Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.947855317@sbs-t61.sc.intel.com> [ Marked use_eio_reg as __read_mostly, fixed small details ] Signed-off-by: Ingo Molnar commit a5e74b841930bec78a4684ab9f208b2ddfe7c736 Author: Suresh Siddha Date: Mon Oct 26 14:24:34 2009 -0800 x86: Force irq complete move during cpu offline When a cpu goes offline, fixup_irqs() try to move irq's currently destined to the offline cpu to a new cpu. But this attempt will fail if the irq is recently moved to this cpu and the irq still hasn't arrived at this cpu (for non intr-remapping platforms this is when we free the vector allocation at the previous destination) that is about to go offline. This will endup with the interrupt subsystem still pointing the irq to the offline cpu, causing that irq to not work any more. Fix this by forcing the irq to complete its move (its been a long time we moved the irq to this cpu which we are offlining now) and then move this irq to a new cpu before this cpu goes offline. Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.848830905@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 23359a88e7eca3c4f402562b102f23014db3c2aa Author: Suresh Siddha Date: Mon Oct 26 14:24:33 2009 -0800 x86: Remove move_cleanup_count from irq_cfg move_cleanup_count for each irq in irq_cfg is keeping track of the total number of cpus that need to free the corresponding vectors associated with the irq which has now been migrated to new destination. As long as this move_cleanup_count is non-zero (i.e., as long as we have n't freed the vector allocations on the old destinations) we were preventing the irq's further migration. This cleanup count is unnecessary and it is enough to not allow the irq migration till we send the cleanup vector to the previous irq destination, for which we already have irq_cfg's move_in_progress. All we need to make sure is that we free the vector at the old desintation but we don't need to wait till that gets freed. Signed-off-by: Suresh Siddha Acked-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.752968906@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 84e21493a3b28c9fefe99fe827fc0c0c101a813d Author: Suresh Siddha Date: Mon Oct 26 14:24:32 2009 -0800 x86, intr-remap: Avoid irq_chip mask/unmask in fixup_irqs() for intr-remapping In the presence of interrupt-remapping, irqs will be migrated in the process context and we don't do (and there is no need to) irq_chip mask/unmask while migrating the interrupt. Similarly fix the fixup_irqs() that get called during cpu offline and avoid calling irq_chip mask/unmask for irqs that are ok to be migrated in the process context. While we didn't observe any race condition with the existing code, this change takes complete advantage of interrupt-remapping in the newer generation platforms and avoids any potential HW lockup's (that often worry Eric :) Signed-off-by: Suresh Siddha Acked-by: Eric W. Biederman Cc: garyhade@us.ibm.com LKML-Reference: <20091026230001.661423939@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 7a7732bc0f7c46f217dbec723f25366b6285cc42 Author: Suresh Siddha Date: Mon Oct 26 14:24:31 2009 -0800 x86: Unify fixup_irqs() for 32-bit and 64-bit kernels There is no reason to have different fixup_irqs() for 32-bit and 64-bit kernels. Unify by using the superior 64-bit version for both the kernels. Signed-off-by: Suresh Siddha Signed-off-by: Gary Hade Cc: Eric W. Biederman LKML-Reference: <20091026230001.562512739@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 5e9b397292ca0b9409dced33e3a22ec993377064 Author: Li Zefan Date: Mon Nov 2 08:51:13 2009 +0800 tracing: Fix to use __always_unused attribute ____ftrace_check_##name() is used for compile-time check on F_printk() only, so it should be marked as __unused instead of __used. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Linus Torvalds LKML-Reference: <4AEE2D01.4010305@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7b2a35132ad0a70902dcd2844c27ed64cda0ce9b Author: Li Zefan Date: Mon Nov 2 08:50:52 2009 +0800 compiler: Introduce __always_unused I wrote some code which is used as compile-time checker, and the code should be elided after compile. So I need to annotate the code as "always unused", compared to "maybe unused". Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Linus Torvalds LKML-Reference: <4AEE2CEC.8040206@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 01e6b953ada927093c4d162f634200a20323c537 Author: Ron Mercer Date: Fri Oct 30 12:13:34 2009 +0000 qlge: Change naming on vlan API. Change name on vlan_rx_add, kill, register to match other driver API. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 9dfbbaa6b0b9f7c4d6c9dc3a59006f44e6521138 Author: Ron Mercer Date: Fri Oct 30 12:13:33 2009 +0000 qlge: Add ethtool self-test. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 8401707ff645521e9f21cbb8fe3b138f60e85680 Author: Konrad Eisele Date: Mon Aug 31 22:08:13 2009 +0000 sparc,leon: Sparc-Leon SMP support Support SMP for a Sparc-Leon multiprocessor system. Add Leon specific SMP code to arch/sparc/kernel/leon_smp.c. Signed-off-by: Konrad Eisele Signed-off-by: David S. Miller commit 536b2e92f1b7a86e177aeced097e4c051eeebe7d Author: Eric Dumazet Date: Mon Nov 2 12:21:06 2009 +0100 ipv6: no more dev_put() in datagram_send_ctl() Avoids touching device refcount in datagram_send_ctl(), thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 16ba5e8e7c01d2da87ff1d17e83545f164665b5c Author: Eric Dumazet Date: Mon Nov 2 12:10:39 2009 +0100 ipv6: no more dev_put() in inet6_bind() Avoids touching device refcount in inet6_bind(), thanks to RCU Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f1a28eab20076542322fcab3efa016834bd732f2 Author: Eric Dumazet Date: Mon Nov 2 11:21:37 2009 +0100 ip6tnl: less dev_put() calls Using dev_get_by_index_rcu() in ip6_tnl_rcv_ctl() & ip6_tnl_xmit_ctl() avoids touching device refcount. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 654d1f8a019dfa06df8355248e1ce222f303b88d Author: Eric Dumazet Date: Mon Nov 2 10:43:32 2009 +0100 packet: less dev_put() calls - packet_sendmsg_spkt() can use dev_get_by_name_rcu() to avoid touching device refcount. - packet_getname_spkt() & packet_getname() can use dev_get_by_index_rcu() to avoid touching device refcount too. tpacket_snd() & packet_snd() can not use RCU yet because they can sleep when allocating skb. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0f83d639d84c99a775c60696dbde77372c2cf4ac Author: Manuel Lauss Date: Sat Oct 31 20:15:08 2009 +0100 ASoC: au1x: convert to platform drivers. Convert psc-ac97,i2s to platform drivers similar to the davinci ones. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit 4f570f995f68ef77aae7e5a441222f59232f2d0e Author: Alberto Bertogli Date: Mon Nov 2 11:40:16 2009 +0100 Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq() So remove both the comment and the inline requirement, going back to the inline hint. Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit dddb74519aec2081204d203a97578c9fc4e9fb64 Author: Corrado Zoccolo Date: Mon Nov 2 10:40:37 2009 +0100 cfq-iosched: simplify prio-unboost code Eliminate redundant checks. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 1178f66eaea968d093cafd37c226ebeaa70d56cf Author: Eric Dumazet Date: Sun Nov 1 19:51:22 2009 +0000 pppoe: RCU locking in get_item_by_addr() Use dev_get_by_name_rcu() instead of dev_get_by_name(), to avoid touching device refcount in hotpath. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 05e8689c9a3a208bf75b60662778d81e23eac460 Author: Eric Dumazet Date: Sun Nov 1 19:45:16 2009 +0000 ifb: RCU locking avoids touching dev refcount Avoids touching dev refcount in hotpath Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3710becf8a58a5c6c4e797e3a3c968c161abdb41 Author: Eric Dumazet Date: Sun Nov 1 19:42:09 2009 +0000 net: RCU locking for simple ioctl() All ioctls() implemented by dev_ifsioc_locked() : SIOCGIFFLAGS, SIOCGIFMETRIC, SIOCGIFMTU, SIOCGIFHWADDR, SIOCGIFSLAVE, SIOCGIFMAP, SIOCGIFINDEX & SIOCGIFTXQLEN can use RCU lock instead of dev_base_lock rwlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 685c7944055b9de51ff509719070afae92b3dbe1 Author: Eric Dumazet Date: Sun Nov 1 19:31:03 2009 +0000 icmp: icmp_send() can avoid a dev_put() We can avoid touching device refcount in icmp_send(), using dev_get_by_index_rcu() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c148fc2e30c988f7e3ac91738b2c03f1cef44849 Author: Eric Dumazet Date: Sun Nov 1 19:23:04 2009 +0000 ipv4: inetdev_by_index() switch to RCU Use dev_get_by_index_rcu() instead of __dev_get_by_index() and dev_base_lock rwlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9fdce099bb72df534daa6193318feaec177998fc Author: Eric W. Biederman Date: Fri Oct 30 14:51:13 2009 +0000 veth: Fix unregister_netdevice_queue for veth I tested the recent unregister many changes and got a weird, nasty and seemingly unrelasted kernel oops. Changing unregister_netdevice_queue to use list_move_tail fixes the problem for me. ip link add type veth rmmod veth ls /sys/class/net/ showed one of the veth devices still present. A subsequent ip link oopsed the box. Signed-off-by: "Eric W. Biederman" Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 72c9528bab94cc052d00ce241b8e85f5d71e45f0 Author: Eric Dumazet Date: Fri Oct 30 07:11:27 2009 +0000 net: Introduce dev_get_by_name_rcu() Some workloads hit dev_base_lock rwlock pretty hard. We can use RCU lookups to avoid touching this rwlock (and avoid touching netdevice refcount) netdevices are already freed after a RCU grace period, so this patch adds no penalty at device dismantle time. However, it adds a synchronize_rcu() call in dev_change_name() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 68d8287ce1e1da3c99881385a93e74f68c454fc2 Author: Figo.zhang Date: Fri Oct 30 03:05:11 2009 +0000 NET:KS8695: add API for get rx interrupt bit 1. Add API Add k8695_get_rx_enable_bit() for get Rx interrupt enable/status bit. 2. add some comment or document about some functions and variables. 3. update driver version to "1.02" 4. add napi_enable() and napi_disable() in open/close file method. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 3c912b6edaac56cb451e7571c95c15cbb6bd0c81 Author: Stephen Rothwell Date: Mon Nov 2 16:17:22 2009 +1100 x86: Fix user return notifier put_cpu_var() invocation Today's linux-next build (x86_64 allmodconfig) failed like this: kernel/user-return-notifier.c: In function 'fire_user_return_notifiers': kernel/user-return-notifier.c:45: error: expected expression before ')' token Introduced by commit 7c68af6e32c73992bad24107311f3433c89016e2 ("core, x86: Add user return notifiers") from the tip and kvm trees but revealed by commit e0fdb0e050eae331046385643618f12452aa7e73 ("percpu: add __percpu for sparse") from the percpu tree. Before that percpu tree commit, "put_cpu_var()" would compile without error (even though it really needs a parameter). Signed-off-by: Stephen Rothwell Cc: Avi Kivity Cc: Peter Zijlstra Cc: Tejun Heo Cc: Rusty Russell Cc: Christoph Lameter LKML-Reference: <20091102161722.eea4358d.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit 3507d612366a4e81226295f646410130a1f62a5c Author: Rajiv Andrade Date: Thu Sep 10 17:09:35 2009 -0300 tpm_tis: TPM_STS_DATA_EXPECT workaround Some newer Lenovo models are shipped with a TPM that doesn't seem to set the TPM_STS_DATA_EXPECT status bit when sending it a burst of data, so the code understands it as a failure and doesn't proceed sending the chip the intended data. In this patch we bypass this bit check in case the itpm module parameter was set. This patch is based on Andy Isaacson's one: http://marc.info/?l=linux-kernel&m=124650185023495&w=2 It was heavily discussed how should we deal with identifying the chip in kernel space, but the required patch to do so was NACK'd: http://marc.info/?l=linux-kernel&m=124650186423711&w=2 This way we let the user choose using this workaround or not based on his observations on this code behavior when trying to use the TPM. Fixed a checkpatch issue present on the previous patch, thanks to Daniel Walker. Signed-off-by: Rajiv Andrade Acked-by: Eric Paris Tested-by: Seiji Munetoh Signed-off-by: James Morris commit 2d06ef7f42ed8c9969c9aa84e95df5d5c6378327 Author: Herbert Xu Date: Sun Nov 1 12:49:44 2009 -0500 crypto: ghash-intel - Hard-code pshufb Old gases don't have a clue what pshufb stands for so we have to hard-code it for now. Reported-by: Andrew Morton Signed-off-by: Herbert Xu commit bcc2c6b7cb320d10c7fcccd87dce87f4384b4332 Author: Stas Sergeev Date: Sun Nov 1 11:13:19 2009 +0100 ALSA: snd-pcsp: add nopcm mode Currently, if the high-res timers are unavailable, snd-pcsp does not initialize. People who choose it over pcspkr, loose their console beeps in that case and get annoyed. With this patch, the console beeps remain regardless of the high-res timers. Additionally, the "nopcm" modparam is added to forcibly disable the PCM capabilities of the driver. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit e87a3dd33eab30b4db539500064a9584867e4f2c Merge: b14f5de 3d00941 Author: Takashi Iwai Date: Sun Nov 1 11:11:07 2009 +0100 Merge branch 'fix/misc' into topic/misc commit b2c0a2ac3e59f4764c59c23bd90b571e44256030 Author: Stefan Richter Date: Thu Oct 15 21:16:53 2009 +0200 firewire: cdev: reduce stack usage by ioctl_dispatch Replace a hardcoded buffer size by a sizeof union {}. This shrinks the stack-allocated ioctl argument buffer from 256 to 40 bytes. (This is not much, but subsequent stack usage particularly by the queue_iso ioctl handler adds up.) The new form is also easier to keep up to date than a hardcoded size if more ioctls are added. Signed-off-by: Stefan Richter commit 19593ffdb6daa6ba691d247a2400cece12687c52 Author: Stefan Richter Date: Wed Oct 14 20:40:10 2009 +0200 firewire: ohci: 0 may be a valid DMA address I was told that there are obscure architectures with non-coherent DMA which may DMA-map to bus address 0. We shall not use 0 as a magic number of uninitialized bus address variables. The packet->payload_length > 0 test cannot be used either (except in at_context_queue_packet) because local requests are not DMA-mapped regardless of payload_length. Hence add a state flag to struct fw_packet. Signed-off-by: Stefan Richter commit 5b189bf3633c3b73d4f08124a86f3e019953d412 Author: Stefan Richter Date: Wed Oct 14 20:37:36 2009 +0200 firewire: core: WARN on wrong usage of core transaction functions In the code path which creates request packets, clearly mark a switch branch which must never be reached with a WARN. In the code path which creates response packets, replace a BUG by a friendlier to debug WARN. Signed-off-by: Stefan Richter commit d521b63b27e3a397e0ef7ca86b6e813861083c83 Author: Andy Grover Date: Fri Oct 30 08:51:57 2009 +0000 RDS/IB+IW: Move recv processing to a tasklet Move receive processing from event handler to a tasklet. This should help prevent hangcheck timer from going off when RDS is under heavy load. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 0514f8a9c0cbd26afa70dc56406cc0ee1e134dcf Author: Andy Grover Date: Fri Oct 30 08:51:56 2009 +0000 RDS: Do not send congestion updates to loopback connections This issue was discovered by HP's Pradeep and fixed in OFED 1.3, but not fixed in later versions, since the fix's implementation was not immediately applyable to the later code. This patch should do the trick for 1.4+ codebases. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 433d308dd85e506bb6529177cc0f997627d87ed6 Author: Andy Grover Date: Fri Oct 30 08:51:55 2009 +0000 RDS: Fix panic on unload Remove explicit destruction of passive connection when destroying active end of the connection. The passive end is also on the device's connection list, and will thus be cleaned up properly. Panic was caused by trying to clean it up twice. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 86357b19bcabd9355937f3fb84f90ba9fe76a5d3 Author: Andy Grover Date: Fri Oct 30 08:51:54 2009 +0000 RDS: Fix potential race around rds_i[bw]_allocation "At rds_ib_recv_refill_one(), it first executes atomic_read(&rds_ib_allocation) for if-condition checking, and then executes atomic_inc(&rds_ib_allocation) if the condition was not satisfied. However, if any other code which updates rds_ib_allocation executes between these two atomic operation executions, it seems that it may result race condition. (especially when rds_ib_allocation + 1 == rds_ib_sysctl_max_recv_allocation)" This patch fixes this by using atomic_inc_unless to eliminate the possibility of allocating more than rds_ib_sysctl_max_recv_allocation and then decrementing the count if the allocation fails. It also makes an identical change to the iwarp transport. Reported-by: Shin Hong Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 244546f0d3101c5441f5b14cfe8a79d62679eaea Author: Andy Grover Date: Fri Oct 30 08:54:53 2009 +0000 RDS: Add GET_MR_FOR_DEST sockopt RDS currently supports a GET_MR sockopt to establish a memory region (MR) for a chunk of memory. However, the fastreg method ties a MR to a particular destination. The GET_MR_FOR_DEST sockopt allows the remote machine to be specified, and thus support for fastreg (aka FRWRs). Note that this patch does *not* do all of this - it simply implements the new sockopt in terms of the old one, so applications can begin to use the new sockopt in preparation for cutover to FRWRs. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit d2d8cda7fc0b7a133492e70332217a7f20757615 Author: Larry Finger Date: Fri Oct 30 11:58:21 2009 -0500 b43legacy: Fix DMA TX bounce buffer copying This patch is adapted from the submission by Michael Buesch for a bounce-buffer copying problem with b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e6e898cfea5f35d64f850277e7fa295c386cf953 Author: Johannes Berg Date: Fri Oct 30 15:48:43 2009 +0100 mac80211: remove bogus code It's not right to do something here when returning an error, and hostapd should never have relied on it as it only fixes up a small part of the problem anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff9458d3ec179831ebe6966a8aa014ccb3907dc6 Author: Johannes Berg Date: Fri Oct 30 12:56:02 2009 +0100 mac80211: remove sent_ps_buffered This variable is set once, and tested once. However, the code path that can set it is mutually exclusive with the code path that tests it, so the test is always true. Thus we also don't need to set it either and can just remove the variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 22403def134e2c1017cb04ae9129a38e841b2d8c Author: Johannes Berg Date: Fri Oct 30 12:55:03 2009 +0100 mac80211: also drop qos-nullfunc frames silently We drop nullfunc frames, but not qos-nullfunc frames, even though those could be used for PS state control as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e7d17cf4f7e1b8d06575b6db2397c99c151674b8 Author: Luciano Coelho Date: Thu Oct 29 13:20:04 2009 +0200 wl1271: fix init loop timeout The check after the loop which checks whether the initialization timed-out was wrong. If the initialization would succeed exactly in the 20000th time (the value set for INIT_LOOP), the driver would bail out and claim that initialization failed. Reported-by: Juha Leppanen Signed-off-by: Luciano Coelho Reviewed-by: Janne Ylalehto Signed-off-by: John W. Linville commit 62b517cb3e974624a2958ad0b603ebb59cd96e16 Author: Johannes Berg Date: Thu Oct 29 12:19:21 2009 +0100 mac80211: unconditionally set IEEE80211_TX_CTL_SEND_AFTER_DTIM When mac80211 is asked to buffer multicast frames in AP mode, it will not set the flag indicating that the frames should be sent after the DTIM beacon for those frames buffered in software. Fix this little inconsistency by always setting that flag in the buffering code path. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c27f2fded51948edf40007f4f31350e9e0c6ba23 Author: Johannes Berg Date: Thu Oct 29 08:41:25 2009 +0100 mac80211: deprecate qual value This value is unused by mac80211, because it was only be used by wireless extensions, and turned out to not be useful there because the quality value needs to be comparable between scan results and the current value which is impossible when the qual value is calculated taking into account noise, for example. Since it is unused anyway, this patch deprecates it in the hope that drivers will remove their sometimes quite expensive calculations of the value. I'm open to actual uses of the value, but the best way of using it seems to be what the Intel drivers do which should probably be generalised if we have noise values from the hardware. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eddcbb94f75c3e8944503e9f13c1d29acd0d7052 Author: Johannes Berg Date: Thu Oct 29 08:30:35 2009 +0100 mac80211: introduce ieee80211_beacon_get_tim() Compared to ieee80211_beacon_get(), the new function ieee80211_beacon_get_tim() returns information on the location and length of the TIM IE, which some drivers need in order to generate the TIM on the device. The old function, ieee80211_beacon_get(), becomes a small static inline wrapper around the new one to not break all drivers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 750266646befe42ee8a3a9f9b6f692174635c5b8 Author: Randy Dunlap Date: Wed Oct 28 16:08:32 2009 -0700 wireless: airo_cs needs WEXT_SPY airo_cs uses spy interfaces so it needs to select WEXT_SPY. ERROR: "iw_handler_set_thrspy" [drivers/net/wireless/airo.ko] undefined! ERROR: "wireless_spy_update" [drivers/net/wireless/airo.ko] undefined! ERROR: "iw_handler_get_spy" [drivers/net/wireless/airo.ko] undefined! ERROR: "iw_handler_get_thrspy" [drivers/net/wireless/airo.ko] undefined! ERROR: "iw_handler_set_spy" [drivers/net/wireless/airo.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 8ce0b5892460c670b71b7a0bf96549f5e7a63d6c Author: Zhu Yi Date: Wed Oct 28 13:13:52 2009 -0700 mac80211: make align adjustment code support paged SKB This fixed a BUG_ON in __skb_trim() when paged rx is used in iwlwifi driver. Yes, the whole mac80211 stack doesn't support paged SKB yet. But let's start the work slowly from small code snippets. Reported-and-tested-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ddcd4c08188dc512ceb08bcc3f4f830c2dbfb5ce Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:46 2009 -0400 ath9k_hw: make ath9k_phy_modify_rx_buffer() static To do this we reorder callers in order in which they are called. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a77658286105c8be3741305c5dcf4c319746817f Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:45 2009 -0400 ath9k_hw: Fix and complete force bias for AR5416 Force bias is a fix for usage of AR5416 radios on the 2.4 GHz band for orientation sensitivity. This was only partially implemented with the ath9k_hw_decrease_chain_power() but first -- this was being called for all chipsets which is not correct and second -- it was missing the actual orientation code. We now ensure to only enable force bias only for AR5416 and BUG_ON() on other chipsets. Although ath9k_hw_decrease_chain_power() was enabled for newer chipsets I suspect that it never ran unless the EEPROM had ATH9K_ANT_FIXED_A or ATH9K_ANT_FIXED_B for antenna diversity. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 896ff260351f736f0d9d32f4fd36257f3e75bd97 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:44 2009 -0400 ath9k_hw: remove unused modesIndex param from ath9k_hw_write_regs() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ae478cf69e9e49a88e0fe8beaffbcba2f97b5209 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:43 2009 -0400 ath9k_hw: make spur mitigation a callback This only differs between single-chip solutions and non single-chip solutions. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e16393bbb17e828aa433be9909462f9a61e4cbdb Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:42 2009 -0400 ath9k_hw: order phy.c code and integrate spur mitigation This reorders phy.c routines in the order in the order in which they are used and also moves the spur mitigation helpers for each type of chip into phy.c as they are RF related. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e68a060b5d88a72c06ec87864d20bea3f2a40629 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:41 2009 -0400 ath9k_hw: use a callback for frequency change This avoids a branch on every channel change. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0a3b7bac673ee9462f5defe808609746d27af50d Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:40 2009 -0400 ath9k_hw: make both analog channel change routines return int This allows us to later define a callback for both. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dc51dd503953a8bed545d10eb89fb3340a98879b Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:39 2009 -0400 ath9k_hw: rename ath9k_hw_rf_free() to ath9k_hw_rf_free_ext_banks() This clarifies this is only required for external radios. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 431ba3c6dce0256eafde43af221504f99a2fcc0a Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:38 2009 -0400 ath9k_hw: simplify ath9k_hw_rf_alloc_ext_banks() This is calling an allocation and checking for it, simplify this process in a macro. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 574d6b122d37549bc2817a4939d238f3d8b41da4 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:37 2009 -0400 ath9k_hw: simplify rf attach and rename to ath9k_hw_rf_alloc_ext_banks() ath9k_hw_rfattach() was just calling a helper and this helper was doing nothing for single-chip devices, and for non single-chip devices it is just allocating memory for banks to program the RF registers at a later time. Simplify this by having the hw initialization call the rf bank allocation directly for external radios. Also, propagate an -ENOMEM properly now upon failure. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b67b4397cfbfca8f5c4fff2a36e00d81ef6a28c2 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:36 2009 -0400 ath9k_hw: bail out early on ath9k_hw_init_rf() We a huge branch for old hardware and nothing for newer hardware. Instead of doing this just bail out early for newer hardware. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 131d1d036ac7e7c8ad063581b57ba3bb5f7c881d Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:35 2009 -0400 ath9k_hw: start documenting 802.11n RF anlong front ends Document what we can about the RF analog front ends (radios) of Atheros 802.11n devices. What should be clearer now is the what we do for old pre AR5416 and AR5418 MAC based devices in comparison to the modern sigle-chip 802.11n solutions. All devices after AR9280 are single chip and require less programming -- the RF registers no longer need to be initialized as they all have the RF analog front end embedded together with the MAC/BB; this includes the AR9271. Older devices such as the ones with the AR5416 MACs (PCI) or AR5418 MACs (PCI-E) have an external 2.4 GHz AR2133 radio or a dual band 2.4 GHz / 5 GHz AR5133 radio. These external radios require additional programming of the RF registers. Clarify which parts are for what devices and which code is shared. This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c75724d1747230abdd37d0594ac5277b867befd4 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:34 2009 -0400 ath9k_hw: change the way we initialize the pll for ar9271 We adjust the core clock for ar9271 to 117 MHz; this also requires us to adjust the baud divider based on the targetted baud rate. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8564328d85f69121744d8337124857a2e726239b Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:33 2009 -0400 ath9k_hw: update register initialization/reset values for ar9271 This update the register initialization/reset values (aka initvals) for ar9271 based on the last recommended values on 2009-06-04 by our systems engineering team. The changes account for: * Supporting ar9271 1.0 and ar9271 1.1 together, the difference is bb_spectral_scan_ena, for 1.0 we'll set this to 0x1. * Ensuring we get the correct noise floor values -115 ~ -118 when we enable bb_enable_ant_div_lnadiv=0 and mc_tx_def_ant_sel=1. Previous to this we would get noise floor values in the range -50 ~ -80. To fix settings for the registers: - bb_ch1_xatten1_db - bb_ch1_xatten2_db - bb_ch1_xatten1_margin - bb_ch1_xatten2_margin - bb_ch1_gain_force - bb_ch1_xatten2_hyst_margin - bb_ch1_xatten1_hyst_margin - bb_ch1_max_oc_gain * 0x8120[2] mc_mic_new_location_enable is changed to 0x1. The MAC team suggest to set this value. * 0x9910[0] bb_spectral_scan_ena is changed to 0x0. For ar9271 1.1 we don't need to enable this bit. Cc: Stephen Chen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0cab6559f878f328906949c5c20cbbc411cddeb7 Author: Luis R. Rodriguez Date: Mon Oct 19 02:33:32 2009 -0400 ath9k_hw: modify the rf control register for ar9271 revision 1.0 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f1f93cddfe713d20e9004c29a02e9c183e460a53 Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:26 2009 -0700 Staging: netwave: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 5cc49ab71a879f71f45b8c1bb6b1f883674a0dff Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:25 2009 -0700 Staging: wavelan: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit bcecf0ff98b4b55d65c8b0442803bd6b66f3d796 Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:24 2009 -0700 Staging: arlan: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit bc7601c38b5051fcc3c88f68437b2daace4aff53 Author: Greg Kroah-Hartman Date: Tue Oct 27 09:18:23 2009 -0700 Staging: strip: add TODO file Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 133d7c6a504c672011ebc24b26e05b15f7410c07 Author: John W. Linville Date: Wed Oct 28 16:29:30 2009 -0400 wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig With the WLAN_PRE80211 drivers moved to drivers/staging, this distinction becomes unnecessary. Signed-off-by: John W. Linville commit 4b5783549730da21d88b41dce9a2b738afa44abc Author: John W. Linville Date: Wed Oct 28 16:16:38 2009 -0400 netwave: move driver to staging Move the netwave driver to drivers/staging. This is another pre-802.11 driver that has seen virtually no non-API-fixup activity in years, and for which no active hardware is likely to still exist. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 0234f84ebb00d36c48062befa5436eef36b71ccd Author: John W. Linville Date: Wed Oct 28 16:06:56 2009 -0400 wavelan: move driver to staging Move the wavelan driver to drivers/staging. This is another pre-802.11 driver that has seen virtually no non-API-fixup activity in years, and for which no active hardware is likely to still exist. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit e38879efd336fb78b288dcebdc9ca030fd24f449 Author: John W. Linville Date: Tue Oct 20 13:53:08 2009 +0900 arlan: move driver to staging Move the arlan driver to drivers/staging. This is another pre-802.11 driver that has seen virtually no non-API-fixup activity in years, and for which no active hardware is likely to still exist. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 955015bb0b42167d14f776ff5947ae2463a974dc Author: John W. Linville Date: Tue Oct 20 13:38:11 2009 +0900 strip: move driver to staging Move the strip ("Starmode Radio IP") driver to drivers/staging. For several years this driver has only seen API "bombing-run" changes, and few people ever had the hardware. This driver represents unnecessary ongoing maintenance for no clear benefit. This patch brought to you by the "hacking" session at the 2009 Kernel Summit in Tokyo, Japan... Acked-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 0869aea0eb711982cd2b8bebf41b3c0191c89cde Author: Johannes Berg Date: Wed Oct 28 10:03:35 2009 +0100 mac80211: remove RX_FLAG_RADIOTAP While there may be a case for a driver adding its own bits of radiotap information, none currently does. Also, drivers would have to copy the code to generate the radiotap bits that now mac80211 generates. If some driver in the future needs to add some driver-specific information I'd expect that to be in a radiotap vendor namespace and we can add a different way of passing such data up and having mac80211 include it. Additionally, rename IEEE80211_CONF_RADIOTAP to IEEE80211_CONF_MONITOR since it's still used by b43(legacy) to obtain per-frame timestamps. The purpose of this patch is to simplify the RX code in mac80211 to make it easier to add paged skb support. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a86b9c78ebd0397eb953493c68ea9e194e7023c Author: Johannes Berg Date: Wed Oct 28 09:58:52 2009 +0100 mac80211: fix radiotap header generation In commit 601ae7f25aea58f208a7f640f6174aac0652403a Author: Bruno Randolf Date: Thu May 8 19:22:43 2008 +0200 mac80211: make rx radiotap header more flexible code was added that tried to align the radiotap header position in memory based on the radiotap header length. Quite obviously, that is completely useless. Instead of trying to do that, use unaligned accesses to generate the radiotap header. To properly do that, we also need to mark struct ieee80211_radiotap_header packed, but that is fine since it's already packed (and it should be marked packed anyway since its a wire format). Cc: Bruno Randolf Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4d36ec58239eec44d77839ef6c25108efcbbb58c Author: Johannes Berg Date: Tue Oct 27 20:59:55 2009 +0100 mac80211: split hardware scan by band There's currently a very odd bug in mac80211 -- a hardware scan that is done while the hardware is really operating on 2.4 GHz will include CCK rates in the probe request frame, even on 5 GHz (if the driver uses the mac80211 IEs). Vice versa, if the hardware is operating on 5 GHz the 2.4 GHz probe requests will not include CCK rates even though they should. Fix this by splitting up cfg80211 scan requests by band -- recalculating the IEs every time -- and requesting only per-band scans from the driver. Apparently this bug hasn't been a problem yet, but it is imaginable that some older access points get confused if confronted with such behaviour. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b59f04cbf8ab4dce63f0d2ed658624b0ad21c67d Author: Johannes Berg Date: Tue Oct 27 20:56:21 2009 +0100 mac80211: remove outdated comment This comment hasn't been a real TODO item for a long time now since we fixed that quite a while ago. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d130eb498c75095297debbca596b19fcdc823924 Author: Johannes Berg Date: Tue Oct 27 20:53:58 2009 +0100 mac80211_hwsim: don't register CCK rates on 5ghz This buglet confused me a lot just now ... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1d9c185d67e61737562befdc6b0c4f19b6a85be6 Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:37 2009 -0400 ath9k_hw: remove bogus register write on ath9k_hw_9271_pa_cal() An extra register was being written to for PA calibration making the hardware unresponsive, remove it. Hardware reset should now complete fine on ar9271. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ec11bb88f977321f117865b4d21079bbacc474ee Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:36 2009 -0400 ath9k_hw: correct AR_PHY_SPECTRAL_SCAN register offset We had 0x9912 but AR_PHY_SPECTRAL_SCAN is 0x9910. By using the 0x9912 we were making the hardware unresponsive. This allows us to move forward with hardware reset on ar9271 on the ath9k_htc driver. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 11158472c4ea7a4817d85912c491afa36a244192 Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:35 2009 -0400 ath9k_hw: add AR9271 single chip name mapping Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f934c4d9de85571ff792360aa72dd26e00e1afc7 Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:34 2009 -0400 ath9k_hw: distinguish single-chip solutions on initial probe print Devices with external radios have revisions which we can count on. On single chip solutions these EEPROM values for these radio revision also exist but are not meaningful as the radios are embedded onto the same chip. Each single-chip device evolves together as one device. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2da4f01a0938b688f92f9ee380013cfb8653510f Author: Luis R. Rodriguez Date: Tue Oct 27 12:59:33 2009 -0400 ath9k_hw: move mac name and rf name helpers to hw code These are shared between ath9k and the future ath9k_htc driver. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c8746f9db8b1f644695050703e2d38cd5964ba7 Author: Kalle Valo Date: Tue Oct 27 17:36:25 2009 +0200 wl1251: enable power save wl1251 supports power save and it can be enabled now. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a9685338ab9d331c25ca92b0e8a92631e14c6b45 Author: Kalle Valo Date: Tue Oct 27 17:36:17 2009 +0200 mac80211: fix dynamic power save for devices with nullfunc support in hw In TX path it was assumed that dynamic power save works only if IEEE80211_HW_PS_NULLFUNC_STACK is set. But is not the case, there are devices which have nullfunc support in hardware but need mac80211 to handle dynamic power save timers, TI's wl1251 is one of them. The fix is to not check for IEEE80211_HW_PS_NULLFUNC_STACK in is_dynamic_ps_enabled(), instead check IEEE80211_HW_SUPPORTS_PS and IEEE80211_HW_SUPPORTS_DYNAMIC_PS flags and act accordingly. Tested with wl1251. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit ed620590de15021f6baf08ca098c90f47470efd7 Author: Kalle Valo Date: Tue Oct 27 17:36:09 2009 +0200 mac80211: refactor dynamic power save check Refactor dynamic power save checks to a function of it's own for better readibility. No functional changes. Signed-off-by: Kalle Valo Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 7bcfaf2f431c09c51fe776fc06638b25d3b421c5 Author: Johannes Berg Date: Tue Oct 27 12:59:03 2009 +0100 cfg80211/mac80211: use debugfs_remove_recursive We can save a lot of code and pointers in the structs by using debugfs_remove_recursive(). First, change cfg80211 to use debugfs_remove_recursive() so that drivers do not need to clean up any files they added to the per-wiphy debugfs (if and only if they are ok to be accessed until after wiphy_unregister!). Then also make mac80211 use debugfs_remove_recursive() where necessary -- it need not remove per-wiphy files as cfg80211 now removes those, but netdev etc. files still need to be handled but can now be removed without needing struct dentry pointers to all of them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2c0d6100da3ee9b0f0cc46add9bb8a8161299a92 Author: Gábor Stefanik Date: Sun Oct 25 16:26:36 2009 +0100 b43: LP-PHY: Begin implementing calibration & software RFKILL support This implements the following calibration functions: -Set TX IQCC -Set TX Power by Index -PR41573 workaround (incomplete, needs PHY reset) -Calc RX IQ Comp -PHY Cordic -Run Samples -Start/Stop TX Tone -part of PAPD Cal TX Power -RX I/Q Calibration -The basic structure of the periodic calibration wrapper Software RFKILL (required by calibration) is also implemented in this round. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 6639104bd826e0b1388c69a6b7564fffc636c8a8 Author: Eric W. Biederman Date: Thu Oct 29 23:58:54 2009 +0000 bond: Get the rtnl_link_ops support correct - Don't call rtnl_link_unregister if rtnl_link_register fails - Set .priv_size so we aren't stomping on uninitialized memory when we use netdev_priv, on bond devices created with ip link add type bond. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ec87fd3b4e111e8bc367d247a963e27e5b86df26 Author: Eric W. Biederman Date: Thu Oct 29 14:18:26 2009 +0000 bond: Add support for multiple network namespaces Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 88ead977109da926a03068e277869ea8fedd170d Author: Eric W. Biederman Date: Thu Oct 29 14:18:25 2009 +0000 bond: Implement a basic set of rtnl link ops This implements a basic set of rtnl link ops and takes advantage of the fact that rtnl_link_unregister kills all of the surviving devices to all us to kill bond_free_all. A module alias is added so ip link add can pull in the bonding module. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit c67dfb299e05a132154b9bfaae4a83de478ffaa9 Author: Eric W. Biederman Date: Thu Oct 29 14:18:24 2009 +0000 bond: Simplify bond device destruction Manually inline the code from bond_deinit to bond_uninit. bond_uninit is the only caller and it is short. Move the call of bond_release_all from the netdev notifier into bond_uninit. The call site is effectively the same and performing the call explicitly allows all the paths for destroying a bonding device to behave the same way. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 30c15ba9936a17d743f90eb3e2f6fa82acddc5f3 Author: Eric W. Biederman Date: Thu Oct 29 14:18:23 2009 +0000 bond: Simplify bond_create. Stop calling dev_get_by_name to see if the bond device already exists. register_netdevice already does that. Stop calling bond_deinit if register_netdevice fails as bond_uninit is guaranteed to be called if bond_init succeeds. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 6151b3d435feeeae7487032fcd5c8c7f281ba05c Author: Eric W. Biederman Date: Thu Oct 29 14:18:22 2009 +0000 bond: Simply bond sysfs group creation This patch delegates the work of creating the sysfs groups to the netdev layer and ultimately to the device layer. This closes races between uevents. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 0c509a6c9393b27a8c5a01acd4a72616206cfc24 Author: Eric W. Biederman Date: Thu Oct 29 14:18:21 2009 +0000 net: Allow devices to specify a device specific sysfs group. This isn't beautifully abstracted, but it is simple, simplifies uses and so far is only needed for the bonding driver. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 6c508c62f90240ef58300a5e12093ee769a44364 Author: Eero Nurkkala Date: Fri Oct 30 13:34:03 2009 +0200 ASoC: refactor snd_soc_update_bits() Introduce a wrapper call snd_soc_update_bits_locked() that will take the codec mutex. This call is used when the codec mutex is not already taken. Drivers calling snd_soc_update_bits() may wish to make sure the codec mutex is taken from the driver. Signed-off-by: Eero Nurkkala Signed-off-by: Mark Brown commit 8538a119bfb9031c402a33fc65c276ab9bfafdd5 Author: Eero Nurkkala Date: Fri Oct 30 13:34:02 2009 +0200 ASoC: remove io_mutex Remove the io_mutex. It has a drawback of serializing all accesses to snd_soc_update_bits() even when multiple codecs are in use. In addition, it fails to actually do its task - during snd_soc_update_bits(), dapm_update_bits() may also be accessing the same register which may result in an outdated register value. Signed-off-by: Eero Nurkkala Signed-off-by: Mark Brown commit 23c4a8812a17f0af2b573a63fc991baa7d3570ed Author: Takashi Iwai Date: Fri Oct 30 13:21:49 2009 +0100 ALSA: hda - Switch to polling mode before disabling MSI When any codec communication error happens, try to switch to the polling mode first before turning off MSI. MSI gets more stable nowadays, thus we should keep it on as much as possible. Signed-off-by: Takashi Iwai commit b14f5de731ae657d498d18d713c6431bfbeefb4b Author: Krzysztof Helt Date: Sun Oct 25 11:10:01 2009 +0100 ALSA: es18xx: remove snd_audiodrive structure Remove intermediate snd_audiodrive structure between snd_card structure and snd_es18xx. This reduces size of source code and binary driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 3c76b4d69bedde5b9e7e42612a7d2ede4ab7fd8d Author: Krzysztof Helt Date: Sun Oct 25 11:05:19 2009 +0100 ALSA: es18xx: remove snd_card pointer from snd_es18xx structure The snd_card pointer is redundant and code can be easily changed to work without it. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit b7d5d946e50116f4150542f881ac90ac74c28165 Author: Krzysztof Helt Date: Sat Oct 24 17:47:33 2009 +0200 sound: remove OSS Ensoniq SoundScape driver The OSS driver for Ensoniq SoundScape cards is broken after conversion to mutexes and a new ALSA snd-sscape driver handles all devices handled by the OSS one. The ALSA driver was tested with these cards: Spea V7 MediaFX Ensoniq Soundscape Elite Ensoniq Soundscape VIVO (this card is not handled by the OSS driver) Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 6a5f96ce72b9e1a4bf06422df53fa819947d2293 Author: Takashi Iwai Date: Fri Oct 30 12:31:39 2009 +0100 ALSA: hda - Add a proper ifdef to a debug code Added a proper ifdef CONFIG_SND_DEBUG_VERBOSE to avoid a compile warning: sound/pci/hda/patch_intelhdmi.c:406: warning: ‘hdmi_get_channel_count’ defined but not used Signed-off-by: Takashi Iwai commit 84ed1a1942e8c28fb4c23a6235ec48672fc43e49 Author: Roel Kluin Date: Fri Oct 23 16:03:08 2009 +0200 ALSA: Cleanup redundant tests on unsigned The variables are unsigned so the test `>= 0' is always true, the `< 0' test always fails. In these cases the other part of the test catches wrapped values. In dac_audio_write() there does not occur a test for wrapped values, but the test appears redundant. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 36dd5c4afff825fca1b6ccde678f51d6933a6850 Author: Lydia Wang Date: Tue Oct 20 13:18:04 2009 +0800 ALSA: VIA HDA: Add support for VT1818S. Add support for VT1818S codec, which is similiar with VT1708S. Signed-off-by: Lydia Wang Signed-off-by: Takashi Iwai commit fd080b2d8a6a13992b4b1b6300e1befdb9e089f2 Author: Wu Fengguang Date: Fri Oct 30 11:46:22 2009 +0100 ALSA: hda - remove static intelhdmi configurations Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit f424367c3a393ca8b9669ceaa5b7f959d83bb14c Author: Wu Fengguang Date: Fri Oct 30 11:45:35 2009 +0100 ALSA: hda - auto parse intelhdmi cvt/pin configurations Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 69fb346896b4265c0cbcbd2fdd1a97ae09fe198d Author: Wu Fengguang Date: Fri Oct 30 11:45:04 2009 +0100 ALSA: hda - get intelhdmi max channels from widget caps Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 54a25f87e943fc77f57e86849897ad6602519286 Author: Wu Fengguang Date: Fri Oct 30 11:44:26 2009 +0100 ALSA: hda - vectorize intelhdmi The Intel IbexPeak HDMI codec supports 2 converters and 3 pins, which requires converting the cvt_nid/pin_nid to arrays. The active pin number (the one connected with a live HDMI monitor/sink) will be dynamically identified on hotplug events. It exports two HDMI devices, so that user space can choose the A/V pipe for sending the audio samples. It's still undefined behavior when there are two active monitors connected and routed to the same audio converter. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit ddb8152b054e357907f57fb5ae65d494a3c79065 Author: Wu Fengguang Date: Fri Oct 30 11:43:03 2009 +0100 ALSA: hda - reorder intelhdmi prepare/cleanup callbacks No behavior change. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 70ca35fb42680fc4315d4a01f6c77c9a9962199c Author: Wu Fengguang Date: Fri Oct 30 11:42:18 2009 +0100 ALSA: hda - use pcm prepare/cleanup callbacks for intelhdmi Remove pcm callbacks open/close in favor of the prepare/cleanup. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 7bedb011ef4db93b15049ece8d50b29d6fe6af9d Author: Wu Fengguang Date: Fri Oct 30 11:41:44 2009 +0100 ALSA: hda - remove intelhdmi dependency on multiout We'll be managing multiple HDMI audio sources/sinks on our own. So remove multiout dependency from intelhdmi. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 6797cf2bfcbf2fa1fd05c0b785dc1402f73e2ce5 Author: Wu Fengguang Date: Fri Oct 30 11:40:40 2009 +0100 ALSA: hda - convert intelhdmi global references to local parameters No behavior change. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 92608badc519a8c1f65d93743396517aaa582b53 Author: Wu Fengguang Date: Fri Oct 30 11:40:03 2009 +0100 ALSA: hda - allow up to 4 HDMI devices The new Intel HDMI codec supports 2 independant HDMI/DisplayPort pipes. We'll be exporting them as 2 pcm devices. So bump up the allowed number of HDMI devices. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit f5d6def5c642587434c42722c57fb65642f61038 Author: Wu Fengguang Date: Fri Oct 30 11:38:26 2009 +0100 ALSA: hda - vectorize get_empty_pcm_device() This unifies the code and data structure, and makes it easy to add more HDMI devices. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 98078bf90495729e59edbec088d00b9d98f4cc0f Merge: 07102f3 b214f11 Author: Mark Brown Date: Fri Oct 30 10:36:23 2009 +0000 Merge branch 'for-2.6.32' into for-2.6.33 commit 07102f3cefc93aa742af91186830e282c0347e41 Author: Kuninori Morimoto Date: Fri Oct 30 12:02:44 2009 +0900 ASoC: sh: FSI: Add capture support Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit 9ddc9aa910687a8787dbbdc53dcd48e738b197d9 Author: Kuninori Morimoto Date: Fri Oct 30 12:02:39 2009 +0900 ASoC: sh: FSI: Remove DMA support SuperH FSI device have the hardware limitation to use DMA. If DMA is used, LCD output will be broken. Maybe there are some solution. But I don't know how to do it now. This patch remove DMA support and use soft transfer. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit 739b47f1e5aa3b36eadd7906cc6b41f0175c6ed1 Author: Wu Fengguang Date: Fri Oct 30 11:34:19 2009 +0100 ALSA: hda - select IbexPeak handler for Calpella An earlier patch merely adds id for 0x80862804. It has 2/3 cvt/pin nodes and shall be tied to the IbexPeak handler. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 0bd8d53656da72bc065766b5f2a05ca738020b8a Author: Eric Dumazet Date: Fri Oct 30 01:40:11 2009 -0700 net: use hlist_for_each_entry() Small cleanup of __dev_get_by_name() and __dev_get_by_index() to use hlist_for_each_entry() : They'll look like their _rcu variant. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 24540535d33f72505807be3e7ef2e94f3726f971 Author: Eric Dumazet Date: Fri Oct 30 01:00:27 2009 -0700 veth: Fix veth_dellink method In commit 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b (net: add a list_head parameter to dellink() method), I forgot to actually use this parameter in veth_dellink. I remember feeling a bit uncomfortable about veth_close(), because it does : netif_carrier_off(dev); netif_carrier_off(priv->peer); Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 29906f6a427d2004a515ebbcdc7b28bae8f6c19c Author: Patrick McHardy Date: Thu Oct 29 23:43:00 2009 -0700 vlan: cleanup multiple unregistrations The temporary copy of the VLAN group is not neccessary since the lower device is already in the process of being unregistered, if it was neccessary the memset of the global group would introduce a race condition. With this removed, the changes to the original code are only a few lines, so remove the new function and move the code back into vlan_device_event(). Signed-off-by: Patrick McHardy Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit f0816ce39d8de7646301aac52cc7351a2424d97f Author: Oliver Neukum Date: Thu Oct 29 05:07:12 2009 +0000 convert kaweth to use usb_reset_configuration() For USB 3.0 it is necessary that all drivers use the standard API to reset a configuration. This removes a home-grown implementation. Signed-off-by: Oliver Neukum Hi David, please take this for the next merge window. Regards Oliver Signed-off-by: David S. Miller commit 43ab85021e8286e1641928ab3cc542dd1e8c7f94 Author: roel kluin Date: Wed Oct 14 05:26:30 2009 +0000 ax25: unsigned cannot be less than 0 in ax25_ctl_ioctl() struct ax25_ctl_struct member `arg' is unsigned and cannot be less than 0. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit ac958154e9e1548933fe97e4ecbceb30e01e4a6f Author: Stephen Hemminger Date: Thu Oct 29 06:37:10 2009 +0000 sky2: version 1.26 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0f5aac7070a01ec757ed243febe4fff7c944c4d2 Author: Stephen Hemminger Date: Thu Oct 29 06:37:09 2009 +0000 sky2: 88E8059 support Tentative support for newer Marvell hardware including the Yukon-2 Optima chip. Do not have hatdware to test this yet, code is based on vendor driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 877c8570fb00ad0529b07f8193cc098ac0193d03 Author: Stephen Hemminger Date: Thu Oct 29 06:37:08 2009 +0000 sky2: workarounds for Yukon-2 supreme Changes related to support of Yukon supreme chip. Don't have this chip version to test on, these are reverse engineered from the vendor (GPL) driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d6b54d241c558483302616ac1d997806795513e4 Author: Stephen Hemminger Date: Thu Oct 29 06:37:07 2009 +0000 sky2: fix receive pause thresholds Program the receive pause thresholds differently depending on chip version. This cloned from from the vendor (GPL) driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e91cd2e65f22a80af87367178bed4957fdc45ecd Author: Stephen Hemminger Date: Thu Oct 29 06:37:06 2009 +0000 sky2: add register definitions for new chips This adds infrastructure for the newer chip versions and workarounds. Extracted from the vendor (GPL) driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e30a4ac243b1fd2714675fd451e718d9940b1bdd Author: Stephen Hemminger Date: Thu Oct 29 06:37:05 2009 +0000 sky2: add SK-9E21M device id This is a new ID that just showed up in latest vendor driver. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c3c6336504c59d9febc30de199dfee6a65a5d6ae Author: Ben Hutchings Date: Thu Oct 29 07:21:33 2009 +0000 sfc: Enable heuristic selection between page and skb RX buffers Now that we can tell whether GRO is being applied, this heuristic is effective once more. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 18e1d2beb6c2307d3cab7ecb44fd3d4382adcf6a Author: Ben Hutchings Date: Thu Oct 29 07:21:24 2009 +0000 sfc: Feed GRO result into RX allocation policy and interrupt moderation When GRO is successfully merging received packets, we should allocate raw page buffers rather than skbs that will be discarded by GRO. Otherwise, we should allocate skbs. GRO also benefits from higher interrupt moderation, so increase the score for mergeable RX packets. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c7c4b3b6e976b95facbb723951bdcd554a3530a4 Author: Ben Hutchings Date: Thu Oct 29 21:36:53 2009 -0700 gro: Change all receive functions to return GRO result codes This will allow drivers to adjust their receive path dynamically based on whether GRO is being applied successfully. Currently all in-tree callers ignore the return values of these functions and do not need to be changed. Signed-off-by: Ben Hutchings Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 5b252f0c2f98df21fadf0f6cf189b87a0b938228 Author: Ben Hutchings Date: Thu Oct 29 07:17:09 2009 +0000 gro: Name the GRO result enumeration type This clarifies which return and parameter types are GRO result codes and not RX result codes. Signed-off-by: Ben Hutchings Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 0519d83d83ed485b5a1f9222ff69d7d6c9bb8a01 Merge: 38bfd8f b5dd884 Author: David S. Miller Date: Thu Oct 29 21:28:59 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 67e646cd7b51e1d5847fb506d4419d436ea25fda Author: Anuj Aggarwal Date: Fri Oct 30 00:22:39 2009 +0530 ASoC: Modifying Kconfig/Makefile for AM3517 EVM Modifying the Kconfig and Makefile in sound/soc/omap folder to add support for OMAP3517 / AM3517 EVM in Alsa SoC. Signed-off-by: Anuj Aggarwal Signed-off-by: Mark Brown commit 89e9abe78151de4d62fefe3976f6ef9f1f086e53 Author: Anuj Aggarwal Date: Fri Oct 30 00:22:30 2009 +0530 ASoC: Adding OMAP3517 / AM3517 EVM support in ASOC Adding support for OMAP3517 / AM3517 EVM in Alsa SoC. Signed-off-by: Anuj Aggarwal Signed-off-by: Mark Brown commit 5975c725dfd6f7d36f493ab1453fbdbd35c1f0e3 Author: Serge E. Hallyn Date: Thu Oct 29 11:40:17 2009 -0500 define convenient securebits masks for prctl users (v2) Hi James, would you mind taking the following into security-testing? The securebits are used by passing them to prctl with the PR_{S,G}ET_SECUREBITS commands. But the defines must be shifted to be used in prctl, which begs to be confused and misused by userspace. So define some more convenient values for userspace to specify. This way userspace does prctl(PR_SET_SECUREBITS, SECBIT_NOROOT); instead of prctl(PR_SET_SECUREBITS, 1 << SECURE_NOROOT); (Thanks to Michael for the idea) This patch also adds include/linux/securebits to the installed headers. Then perhaps it can be included by glibc's sys/prctl.h. Changelog: Oct 29: Stephen Rothwell points out that issecure can be under __KERNEL__. Oct 14: (Suggestions by Michael Kerrisk): 1. spell out SETUID in SECBIT_NO_SETUID* 2. SECBIT_X_LOCKED does not imply SECBIT_X 3. add definitions for keepcaps Oct 14: As suggested by Michael Kerrisk, don't use SB_* as that convention is already in use. Use SECBIT_ prefix instead. Signed-off-by: Serge E. Hallyn Acked-by: Andrew G. Morgan Acked-by: Michael Kerrisk Cc: Ulrich Drepper Cc: James Morris Signed-off-by: James Morris commit c4b8ac2c1aee1398b9378b8730bac56294b3410b Author: Li Hong Date: Wed Oct 28 13:07:43 2009 +0800 tracing: Exit with error if a weak function is used in recordmcount.pl If a weak function is used as a relocation reference for mcount callers and that function is overridden, it will cause ftrace to fail at run time. The current code should prevent a weak function from being used, but if one is, the code should exit with an error to fail at compile time. Signed-off-by: Li Hong LKML-Reference: <20091028050743.GH30758@uhli> Signed-off-by: Steven Rostedt commit 6092858c60f168c1950f8ad73880d54271696ec5 Author: Li Hong Date: Wed Oct 28 13:07:03 2009 +0800 tracing: Move conditional into update_funcs() in recordmcount.pl Move all the condition validations into the function update_funcs(). Also update_funcs should not die if $ref_func is undefined for there may be more than one valid section in an object file. Signed-off-by: Li Hong LKML-Reference: <20091028050703.GG30758@uhli> Signed-off-by: Steven Rostedt commit 306dcf47d28aaf9aedfafb17a602768584cfc0f2 Author: Li Hong Date: Wed Oct 28 13:06:19 2009 +0800 tracing: Add regex for weak functions in recordmcount.pl Add a variable to contain the regex needed to find weak functions in the 'nm' output. This will allow other archs to easily override it. Also rename the regex variable $nm_regex to $local_regex to be more descriptive. Signed-off-by: Li Hong LKML-Reference: <20091028050619.GF30758@uhli> Signed-off-by: Steven Rostedt commit db24c7dcf42f78629d89b34e5d5a98ed56ea2ff5 Author: Li Hong Date: Wed Oct 28 13:05:23 2009 +0800 tracing: Move mcount section search to front of loop in recordmcount.pl Move the mcount section check to the beginning of the objdump read loop. This makes the code easier to follow since the search for the mcount section is performed first before the mcount callers are processed. Signed-off-by: Li Hong LKML-Reference: <20091028050523.GE30758@uhli> Signed-off-by: Steven Rostedt commit 7b7edc27683e20624f4daf17c76041719184201c Author: Li Hong Date: Wed Oct 28 13:04:21 2009 +0800 tracing: Fix objcopy revision check in recordmcount.pl The current logic to check objcopy's version is incorrect. This patch fixes the algorithm and disables the use of local functions as a reference if the objcopy version does not support static to global conversions. Also remove some usused variables. Signed-off-by: Li Hong LKML-Reference: <20091028050421.GD30758@uhli> Signed-off-by: Steven Rostedt commit bdd3b052c63b2c19a0118937f500985c01a19956 Author: Li Hong Date: Wed Oct 28 13:03:32 2009 +0800 tracing: Check absolute path of input file in recordmcount.pl The ftrace.c file may reference the mcount function and this may interfere with the recordmcount.pl processing. To avoid this, the code does not process the kernel/trace/ftrace.o. But currently the check is against a relative path. This patch modifies the check to succeed if the path is an absolute path. Signed-off-by: Li Hong LKML-Reference: <20091028050332.GC30758@uhli> Signed-off-by: Steven Rostedt commit e2d753fac5b3954a3b6001f98479f0435fe7c868 Author: Li Hong Date: Tue Oct 27 14:57:33 2009 +0800 tracing: Correct the check for number of arguments in recordmcount.pl The number of arguments passed into recordmcount.pl is 10, but the code checks if only 7 are passed in. Signed-off-by: Li Hong LKML-Reference: <20091027065733.GB22032@uhli> Signed-off-by: Steven Rostedt commit d49f6aa76d24c60a52530474cb662e8ad9f09471 Author: Li Hong Date: Wed Oct 28 13:01:38 2009 +0800 tracing: Amend documentation in recordmcount.pl to reflect implementation The documentation currently says we will use the first function in a section as a reference. The actual algorithm is: choose the first global function we meet as a reference. If there is none, choose the first local one. Change the documentation to be consistent with the code. Also add several other clarifications. Signed-off-by: Li Hong LKML-Reference: <20091028050138.GA30758@uhli> Signed-off-by: Steven Rostedt commit 345a32296b1f9f6121379e0240915e0e2be2dbf5 Author: Mikael Pettersson Date: Thu Oct 29 11:46:56 2009 -0700 iop: implement sched_clock() This adds a better sched_clock() to the IOP platform, implemented using its new clocksource support. Tested on n2100, compile-tested for all plat-iop machines. [dan.j.williams@intel.com: allow early cp6 access] Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit 980f2296b5a8dfe589f023fd34229dcfdcf280fa Author: Mikael Pettersson Date: Thu Oct 29 11:46:55 2009 -0700 iop: enable generic time This updates the IOP platform to use the kernel's generic time framework. With clockevent support in place, this reduces to selecting GENERIC_TIME and removing the platform's private timer ->offset() operation (iop_gettimeoffset). Tested on n2100, compile-tested for all plat-iop machines. Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit 469d30448dad13600cdd246024f9db8e80614c45 Author: Mikael Pettersson Date: Thu Oct 29 11:46:54 2009 -0700 iop: clockevent support This updates the IOP platform to expose the interrupting timer 0 as a clockevent object. The timer interrupt handler is changed to call the clockevent ->event_handler() instead of timer_tick(), and ->set_next_event() and ->set_mode() operations are added to allow the mode of the timer to be updated (required for ONESHOT/NOHZ mode). Timer 0 must now be properly initialised, which requires a new write_tcr0() function from the mach-specific code. The mode of timer 0 must be read at the start of ->set_mode(), which requires a new read_tmr0() function from the mach- specific code. Initial setup of timer 0 is also rewritten to be more robust. Tested on n2100, compile-tested for all plat-iop machines. Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit a91549a8f27e63e0e537fe1c20d4845581de894f Author: Mikael Pettersson Date: Thu Oct 29 11:46:54 2009 -0700 iop: clocksource support This updates the IOP platform to expose the free-running timer 1 as a clocksource object. This timer is now also properly initialised, which requires a new write_tcr1() function from the mach-specific code. Apart from the explicit initialisation, there is no functional change in how timer 1 is programmed. Tested on n2100, compile-tested for all plat-iop machines. Signed-off-by: Mikael Pettersson Signed-off-by: Dan Williams commit 4f65ae36f0291ef97b7d4de2f59b2e68f3c8420b Author: Pavel Vasilyev Date: Thu Oct 29 17:16:00 2009 +0100 agp/amd64: Remove GART dependency on AGP_AMD64 The GART IOMMU code has no strong dependency to the AMD64 AGP code. So the automatic selection of AGP_AMD64 for GART can be removed. Cc: Dave Jones Signed-off-by: Pavel Vasilyev Signed-off-by: Joerg Roedel commit aa3c487f355ff1477b8369d9f0b9860387ae21d4 Author: Jan Engelhardt Date: Thu Oct 29 15:35:10 2009 +0100 netfilter: xt_socket: make module available for INPUT chain This should make it possible to test for the existence of local sockets in the INPUT path. References: http://marc.info/?l=netfilter-devel&m=125380481517129&w=2 Signed-off-by: Jan Engelhardt Signed-off-by: Balazs Scheidler Signed-off-by: Patrick McHardy commit ab0a9735e06914ce4d2a94ffa41497dbc142fe7f Author: Christoph Hellwig Date: Thu Oct 29 14:14:04 2009 +0100 blkdev: flush disk cache on ->fsync Currently there is no barrier support in the block device code. That means we cannot guarantee any sort of data integerity when using the block device node with dis kwrite caches enabled. Using the raw block device node is a typical use case for virtualization (and I assume databases, too). This patch changes block_fsync to issue a cache flush and thus make fsync on block device nodes actually useful. Note that in mainline we would also need to add such code to the ->aio_write method for O_SYNC handling, but assuming that Jan's patch series for the O_SYNC rewrite goes in it will also call into ->fsync for 2.6.32. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit b9d128f1088ea5245109dfc9bbceb128b6371a77 Author: Jens Axboe Date: Thu Oct 29 13:59:26 2009 +0100 block: move bdi/address_space unplug functions to backing-dev.h There's nothing block related about them, the backing device is used by things like NFS etc as well. This gets rid of the need to protect such calls by CONFIG_BLOCK. Signed-off-by: Jens Axboe commit ed146aeb68b6b240a015f3c24c9eea9266d845ec Author: Anuj Aggarwal Date: Wed Sep 23 12:40:31 2009 +0530 ASoC: OMAP3EVM: Use the twl4030_setup_data for headset pop-removal The pop-removal specific values are configured for TWL4030 codec for OMAP3EVM through this patch. Signed-off-by: Anuj Aggarwal Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1c3d20027133f145523a072e84ab55d9132920c9 Author: Peter Ujfalusi Date: Thu Oct 29 13:05:52 2009 +0200 ASoC: TWL4030: Add APLL supply for the capture path Capture path also need the APLL enabled, adding DAPM_SUPPLY for the Virtual ADCs. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 7729cf749350b04c80ee1652961de238afc9d5b1 Author: Peter Ujfalusi Date: Thu Oct 29 11:58:10 2009 +0200 ASoC: TWL4030: Change APLL powering sequence It seams that certain part of the twl4030 codec needs the APLL enabled before they are enabled. Paths which has any digital processing needs need the APLL enabled before they can function. For example the vibra output will have some random data after it is enabled and before the APLL also enabled. If only analog components are in use (analog bypass), than it seams, that the APLL does not need to be enabled. This lowers the power consumption with around ~0.005A. Adding DAPM_SUPPLY to the Digital playback route and also to the capture route to enable and disable the APLL. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 86139a13ced74b3911c33940f0049b8f97bae07a Author: Jari Vanhala Date: Thu Oct 29 11:58:09 2009 +0200 ASoC: TWL4030: Vibra motor stop fix when it is driven with audio This patch fixes vibrator playing incoherently, when driven with audio. There is something wrong in switch 3 at H-bridge and VIBRA_SET still affects PWM generator. Slowest value fixes things. Signed-off-by: Jari Vanhala Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 7e1aa1dcd0d886df72586e3a94b1a7382952f21f Author: Daniel Mack Date: Thu Oct 29 02:24:32 2009 +0100 ASoC: CS4270: export de-emphasis filter as ALSA control The CS4270 codec features an de-emphasis filter for compensation of audio material filtered by an 50/15 uS algorithm. Not sure whether we should always enable it for 44100Hz sampling frequency, but it should at least be configurable by the user. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 26d95b6e300c4847be6ec8bfe817dbd531e94d9a Author: Mark Brown Date: Wed Oct 28 15:47:48 2009 +0000 ASoC: Minor SMDK64xx WM8580 cleanups Fix up some comments, remove all enable_pin() calls (edge widgets are all enabled by default) and mark the microphone as disabled by default since it requires a resistor fit to connect it. Signed-off-by: Mark Brown commit 38bfd8f5bec496e8e0db8849e01c99a33479418a Author: Cyrill Gorcunov Date: Thu Oct 29 02:59:18 2009 -0700 net,socket: introduce DECLARE_SOCKADDR helper to catch overflow at build time proto_ops->getname implies copying protocol specific data into storage unit (particulary to __kernel_sockaddr_storage). So when we implement new protocol support we should keep such a detail in mind (which is easy to forget about). Lets introduce DECLARE_SOCKADDR helper which check if storage unit is not overfowed at build time. Eventually inet_getname is switched to use DECLARE_SOCKADDR (to show example of usage). Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit ed3f2e40f3d438f4a1ec0a898173116cb26f106a Merge: fb699dfd bd6b444 Author: David S. Miller Date: Thu Oct 29 02:47:13 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit fb699dfd426a189fe33b91586c15176a75c8aed0 Author: Eric Dumazet Date: Mon Oct 19 19:18:49 2009 +0000 net: Introduce dev_get_by_index_rcu() Some workloads hit dev_base_lock rwlock pretty hard. We can use RCU lookups to avoid touching this rwlock. netdevices are already freed after a RCU grace period, so this patch adds no penalty at device dismantle time. dev_ifname() converted to dev_get_by_index_rcu() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e0c5567d06ecf7777b6c46f4d933a0a6e09a44f3 Author: roel kluin Date: Fri Oct 23 06:09:55 2009 +0000 atm: Cleanup redundant tests on unsigned The variables are unsigned so the `< 0' test always fails, the other part of the test catches wrapped values. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 65a1c4fffaaf5ca166a1263d84ca664d5192cda6 Author: roel kluin Date: Fri Oct 23 05:59:21 2009 +0000 net: Cleanup redundant tests on unsigned optlen is unsigned so the `< 0' test is never true. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 091bb8ab51c668635d1a75359019005921676881 Author: roel kluin Date: Fri Oct 23 05:21:56 2009 +0000 net: Cleanup redundant tests on unsigned If there is data, the unsigned skb->len is greater than 0. rt.sigdigits is unsigned as well, so the test `>= 0' is always true, the other part of the test catches wrapped values. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 50e4fe91a5edbf680853b2ca37300a47ff860d63 Author: Tilman Schmidt Date: Sun Oct 25 09:30:57 2009 +0000 gigaset: convert strcmp chain to table lookup Replace the sequence of strcmp calls for interpreting ZSAU parameter strings by a table of known strings and lookup loop to improve readability. Impact: readability improvement, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit c35a87ff6678f92b12437843e88f9c89437ed4a7 Author: Tilman Schmidt Date: Sun Oct 25 09:30:47 2009 +0000 gigaset: checkpatch cleanup of ev-layer.c On more step towards the holy grail of checkpatch.pl silence. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7891adf18ad9658950e532b840f1d84d8ac6cce2 Author: Tilman Schmidt Date: Sun Oct 25 09:30:37 2009 +0000 bas_gigaset: checkpatch cleanup On the quest for the holy grail of checkpatch.pl silence. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit ae67d7d81436c7e85104d586562b1a220d3cd94b Author: Tilman Schmidt Date: Sun Oct 25 09:30:27 2009 +0000 ser_gigaset: checkpatch cleanup Duly uglified as demanded by checkpatch.pl. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit d9ba9c9125d89e246dc0a0702446528acceb6ddb Author: Tilman Schmidt Date: Sun Oct 25 09:30:17 2009 +0000 gigaset: checkpatch cleanup Dum sanctis checkpatch.pl'ae legibus obsequimur. Impact: cosmetic Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 2032e2c2309de02cd67b1d26aa701c2a57c4639f Author: Tilman Schmidt Date: Sun Oct 25 09:30:07 2009 +0000 usb_gigaset: code cleanup Reorganize the code of the Gigaset M10x driver to make it more readable, less redundant, better aligned to the style of other parts of the driver, and cause fewer checkpatch.pl complaints. Impact: code reorganization, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4dd8230acd20cb456cae02696b3da2986faad258 Author: Tilman Schmidt Date: Sun Oct 25 09:29:57 2009 +0000 gigaset: fix bad assumptions about CAPI skbuffs The CAPI interface incorrectly assumed that CAPI messages would always start at the beginning of the data buffer: fix by treating DATA_B3 messages as the link layer header to their payload data. This fix changes the way acknowledgement information is propagated through the hardware specific modules and thereby impacts the ISDN4Linux variant of the driver, too. Also some assumptions about methods not being called from interrupt context turned out to be unwarranted; fix by using dev_kfree_skb_any() wherever non-interrupt context isn't guaranteed. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 22077ebceb44f4097d4677e2a26bc1175143d647 Author: Tilman Schmidt Date: Sun Oct 25 09:29:47 2009 +0000 gigaset: fix format string typo in CAPI dial command A missing dot lead to garbage characters being included in the dial command generated from a CAPI CONNECT_REQ message, which interestingly enough worked anyway, illustrating the resilience of the device. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 6c91191668d32ea15e6950de4ee35b6c75cf4da8 Author: Tilman Schmidt Date: Sun Oct 25 09:29:37 2009 +0000 gigaset: CAPI module readability improvements Replace the "ignoring Additional Info" warning message by better readable ones citing the specific subparameters being ignored. Make parts of the code more readable by using a local cmsg pointer variable. Impact: readability improvement Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit dc343475ed062e13fc260acccaab91d7d80fd5b2 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:27 2009 +0000 Allow disabling of DSACK TCP option per route Add and use no DSCAK bit in the features field. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 345cda2fd695534be5a4494f1b59da9daed33663 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:26 2009 +0000 Allow to turn off TCP window scale opt per route Add and use no window scale bit in the features field. Note that this is not the same as setting a window scale of 0 as would happen with window limit on route. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit cda42ebd67ee5fdf09d7057b5a4584d36fe8a335 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:25 2009 +0000 Allow disabling TCP timestamp options per route Implement querying and acting upon the no timestamp bit in the feature field. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 1aba721eba1d84a2defce45b950272cee1e6c72a Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:24 2009 +0000 Add the no SACK route option feature Implement querying and acting upon the no sack bit in the features field. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 0c3adfb8ec9f85a63556b70f11e0fcf280545951 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:23 2009 +0000 Add dst_feature to query route entry features Adding an accessor to existing dst_entry feautres field and refactor the only supported feature (allfrag) to use it. Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit 022c3f7d82f0f1c68018696f2f027b87b9bb45c2 Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:22 2009 +0000 Allow tcp_parse_options to consult dst entry We need tcp_parse_options to be aware of dst_entry to take into account per dst_entry TCP options settings Signed-off-by: Gilad Ben-Yossef Sigend-off-by: Ori Finkelman Sigend-off-by: Yony Amit Signed-off-by: David S. Miller commit f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d Author: Gilad Ben-Yossef Date: Wed Oct 28 04:15:21 2009 +0000 Only parse time stamp TCP option in time wait sock Since we only use tcp_parse_options here to check for the exietence of TCP timestamp option in the header, it is better to call with the "established" flag on. Signed-off-by: Gilad Ben-Yossef Signed-off-by: Ori Finkelman Signed-off-by: Yony Amit Signed-off-by: David S. Miller commit c871e664ea39363c2a1011ec2dc4bc172dc396a0 Author: Eric Dumazet Date: Wed Oct 28 04:48:11 2009 +0000 ip6mr: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 62808f91237181dbac74c2b5be4fa92adfbbbe40 Author: Eric Dumazet Date: Wed Oct 28 04:37:43 2009 +0000 ipv6 sit: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d17fa6fa81d9be6d2dc69aedfabecf904210cbf4 Author: Eric Dumazet Date: Wed Oct 28 05:21:38 2009 +0000 ipmr: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cf4432f550a0fe4e08e7cd522568cfbae754582c Author: Eric Dumazet Date: Wed Oct 28 05:16:51 2009 +0000 ip6tnl: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8c56ba0530af3d5eee6445dce9dc9296f1f74ed5 Author: Eric Dumazet Date: Wed Oct 28 05:35:35 2009 +0000 bridge: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 59fd5d87a4243a992f3a3e69f3627cf4c509608e Author: Ajit Khaparde Date: Thu Oct 29 01:11:06 2009 -0700 be2net: Add the new PCI IDs to PCI_DEVICE_TABLE. This patch adds the PCI IDs for the next generation chip to the PCI_DEVICE_ID table. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 945eb31337c2a8a09a62dcf5aca260bcde9c2a6c Author: Bruce Allan Date: Wed Oct 28 18:28:30 2009 +0000 e1000e: flow control doesn't re-enable When changing flow control (pause) parameters, the flow control thresholds (i.e. when to send XON/XOFF frames) may not be setup correctly on parts with copper media. Call the existing e1000_set_fc_watermarks() function to set these thresholds. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d6534799410d2b53e5e80b8a90d6a8bab3de30ed Author: Yi Zou Date: Wed Oct 28 18:25:16 2009 +0000 vlan: Add support to netdev_ops.ndo_fcoe_get_wwn for VLAN device Implements the netdev_ops.ndo_fcoe_get_wwn for VLAN device. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61a1fa102ada6d8ee9f2293d126ed9f580ca0751 Author: Yi Zou Date: Wed Oct 28 18:24:56 2009 +0000 ixgbe: Add support for netdev_ops.ndo_fcoe_get_wwn to 82599 Implements the netdev_ops.ndo_fcoe_get_wwn in 82599 if it finds valid prefix for the World Wide Node Name (WWNN) or World Wide Port Name (WWPN), as well as valid SAN MAC address. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit df5c79452f26f2a3d0883a213102515cfeb7aae9 Author: Yi Zou Date: Wed Oct 28 18:24:35 2009 +0000 net: Add ndo_fcoe_get_wwn to net_device_ops Add ndo_fcoe_get_wwn so Fiber Channel over Ethernet (FCoE) can make use of the provided World Wide Port Name (WWPN) and World Wide Node Name (WWNN) from the underlying network interface driver. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 383ff34bebc2eccae71686fbd72e1cd948859675 Author: Yi Zou Date: Wed Oct 28 18:23:57 2009 +0000 ixgbe: Add support for 82599 alternative WWNN/WWPN prefix The 82599 EEPROM supports alternative prefix for World Wide Node Name (WWNN) and World Wide Port Name (WWPN). The prefixes can be used together with the SAN MAC address to form the WWNN and WWPN, which can be used by upper layer drivers such as Fiber Channel over Ethernet (FCoE). Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9de09ace8d518141a4375e1d216ab64db4377799 Merge: 1beee96 6d3f1e1 Author: Ingo Molnar Date: Thu Oct 29 09:02:15 2009 +0100 Merge branch 'tracing/urgent' into tracing/core Merge reason: Pick up fixes and move base from -rc1 to -rc5. Signed-off-by: Ingo Molnar commit 3ed67776fc23061180896086a206a02be649dd26 Author: Li Zefan Date: Wed Oct 28 17:37:01 2009 +0800 tracing/filters: Fix to make system filter work commit fce29d15b59245597f7f320db4a9f2be0f5fb512 ("tracing/filters: Refactor subsystem filter code") broke system filter accidentally. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <4AE810BD.3070009@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b0ef07324310d66f660a311d4a8d669eda74f801 Author: Masami Hiramatsu Date: Tue Oct 27 16:43:19 2009 -0400 perf/probes: Support function entry relative line number Add function-entry relative line number specifying support to perf-probe. This allows users to define probes by line number from entry of the function. e.g. perf probe schedule:16 Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204319.30545.30678.stgit@harusame> Signed-off-by: Ingo Molnar commit 253977b0d87fbb793f12b1661a763ae264028ccf Author: Masami Hiramatsu Date: Tue Oct 27 16:43:10 2009 -0400 perf/probes: Improve probe point syntax of perf-probe This changes probe point syntax of perf-probe as below [:ABS_LN] [ARGS] or [+OFFS|%return][@SRC] [ARGS] And event name and event group name are automatically generated based on probe-symbol and offset as below. perfprobes/SYMBOL_OFFSET[_NUM] Where SYMBOL is the probing symbol and OFFSET is the byte offset from the symbol. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204310.30545.84984.stgit@harusame> Signed-off-by: Ingo Molnar commit 46ab49267d338eb5056d0077e16346509b9e9284 Author: Masami Hiramatsu Date: Tue Oct 27 16:43:02 2009 -0400 perf/probes: Improve command-line option of perf-probe Change command-line option from -P to --add, and accepting probes without --add too. perf probe --add "probe-define" or, just: perf probe "probe-define" Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204301.30545.48600.stgit@harusame> Signed-off-by: Ingo Molnar commit 8030c5f5a57e018fcdeb1f395d7adc123b48ced6 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:53 2009 -0400 perf/probes: Exit searching after finding target function Exit searching after finding real (not-inlined) function, because there should be no same symbol in that CU. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204252.30545.19251.stgit@harusame> Signed-off-by: Ingo Molnar commit dd004c475cd15a5749b04b0283d41ffdfa57d658 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:44 2009 -0400 kprobe-tracer: Compare both of event-name and event-group to find probe Fix find_probe_event() to compare both of event-name and event-group. Without this fix, kprobe-tracer overwrites existing same event-name probe even if its group-name is different. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204244.30545.27516.stgit@harusame> Signed-off-by: Ingo Molnar commit 3f7e454af1dd8b9cea410d9380d3f71477e94f2b Author: Masami Hiramatsu Date: Tue Oct 27 16:42:35 2009 -0400 x86: Add Intel FMA instructions to x86 opcode map Add Intel FMA(FUSED-MULTIPLY-ADD) instructions to x86 opcode map for x86 instruction decoder. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204235.30545.33997.stgit@harusame> Signed-off-by: Ingo Molnar commit e0e492e99b372c6990a5daca9e4683c341f1330e Author: Masami Hiramatsu Date: Tue Oct 27 16:42:27 2009 -0400 x86: AVX instruction set decoder support Add Intel AVX(Advanced Vector Extensions) instruction set support to x86 instruction decoder. This adds insn.vex_prefix field for storing VEX prefixes, and introduces some original tags for expressing opcodes attributes. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204226.30545.23451.stgit@harusame> Signed-off-by: Ingo Molnar commit 82cb57028c864822c5a260f806d051e2ce28c86a Author: Masami Hiramatsu Date: Tue Oct 27 16:42:19 2009 -0400 x86: Add pclmulq to x86 opcode map Add pclmulq opcode to x86 opcode map. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204219.30545.82039.stgit@harusame> Signed-off-by: Ingo Molnar commit 04d46c1b13b02e1e5c24eb270a01cf3f94ee4d04 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:11 2009 -0400 x86: Merge INAT_REXPFX into INAT_PFX_* Merge INAT_REXPFX into INAT_PFX_* macro and rename it to INAT_PFX_REX. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204211.30545.58090.stgit@harusame> Signed-off-by: Ingo Molnar commit 7f387d3f2421781610588faa2f49ae5f1737b137 Author: Masami Hiramatsu Date: Tue Oct 27 16:42:04 2009 -0400 x86: Fix SSE opcode map bug Fix superscripts position because some superscripts of SSE opcode are not put in correct position. Signed-off-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Jason Baron Cc: K.Prasad Cc: Peter Zijlstra Cc: Srikar Dronamraju LKML-Reference: <20091027204204.30545.97296.stgit@harusame> Signed-off-by: Ingo Molnar commit 66bd8424cc05e800db384053bf7ab967e4658468 Author: Arnaldo Carvalho de Melo Date: Wed Oct 28 21:51:21 2009 -0200 perf tools: Delay loading symtabs till we hit a map with it So that we can have a quicker start on perf top and even speedups in the other tools, as we can have maps with no hits, so no need to load its symtabs. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256773881-4191-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit eb89bd4f80b9ae7e4d0add925cf66bfbebfee01f Author: Shreyas Bhatewara Date: Wed Oct 28 22:28:26 2009 -0700 vmxnet3: remove duplicate #include Remove duplicate headerfile includes from vmxnet3_int.h Signed-off-by: Shreyas Bhatewara Signed-off-by: Huang Weiyi Signed-off-by: Bhavesh Davda Signed-off-by: David S. Miller commit ff76ec18cabb12a6c8f3c65bd1d23f1a770fe908 Author: Randy Dunlap Date: Wed Oct 28 12:26:39 2009 -0700 tpm: fix header for modular build Fix build for TCG_TPM=m. Header file doesn't handle this and incorrectly builds stubs. drivers/char/tpm/tpm.c:720: error: redefinition of 'tpm_pcr_read' include/linux/tpm.h:35: error:previous definition of 'tpm_pcr_read' was here drivers/char/tpm/tpm.c:752: error: redefinition of 'tpm_pcr_extend' include/linux/tpm.h:38: error:previous definition of 'tpm_pcr_extend' was here Repairs linux-next's commit d6ba452128178091dab7a04d54f7e66fdc32fb39 Author: Mimi Zohar Date: Mon Oct 26 09:26:18 2009 -0400 tpm add default function definitions Signed-off-by: Randy Dunlap Cc: Rajiv Andrade Cc: Mimi Zohar Cc: James Morris Cc: Eric Paris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 024e1a49411a1a7363e65db48edf1b09e9ee68ad Author: Stephen Hemminger Date: Tue Oct 27 19:24:46 2009 -0700 tomoyo: improve hash bucket dispersion When examining the network device name hash, it was discovered that the low order bits of full_name_hash() are not very well dispersed across the possible values. When used by filesystem code, this is handled by folding with the function hash_long(). The only other non-filesystem usage of full_name_hash() at this time appears to be in TOMOYO. This patch should fix that. I do not use TOMOYO at this time, so this patch is build tested only. Signed-off-by: Stephen Hemminger Acked-by: Tetsuo Handa Signed-off-by: James Morris commit be404f0212ffa8f67361f8ee460a25d901d88991 Author: Tejun Heo Date: Thu Oct 8 22:47:30 2009 +0200 PM / freezer: Don't get over-anxious while waiting Freezing isn't exactly the most latency sensitive operation and there's no reason to burn cpu cycles and power waiting for it to complete. msleep(10) instead of yield(). This should improve reliability of emergency hibernation. [rjw: Modified the comment next to the msleep(10).] Signed-off-by: Tejun Heo Signed-off-by: Rafael J. Wysocki commit 0388f251a33ea60937564ad1f27cf77243409f06 Author: Sarveshwar Bandi Date: Wed Oct 28 04:15:20 2009 -0700 be2net: Changes to update ethtool get_settings function to return appropriate values. Update ethtool get_settings function to: - get current link speed settings from controller - get port transceiver type from controller - fill appropriate values for supported, phy_address Signed-off-by: Sarveshwar Bandi Signed-off-by: David S. Miller commit 7e15b0c9991dfe0bf05a2f8fab9154bb7827622e Author: David Graham Date: Wed Oct 28 04:13:57 2009 -0700 e100: Fix to allow systems with FW based cards to resume from STD Devices with loadable firmware must have their firmware reloaded after the system resumes from sleep, but the request_firmare() API is not available at this point in the resume flow because tasks are not yet running, and the system will hang if it is called. Work around this issue by only calling request_firmware() for a device's first firmware load, and cache a copy of the pointer to the firmware blob for that device, so that we may reload firmware images even during resume. Signed-off-by: David Graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c70948105d4f057b90d4a587246565782e51ed35 Author: Dhananjay Phadke Date: Sat Oct 24 16:04:03 2009 +0000 netxen: update version to 4.0.65 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7e8e5d9718744b817bfea6f020586d7035cc89f4 Author: Dhananjay Phadke Date: Sat Oct 24 16:04:02 2009 +0000 netxen: module firmware hints Add MODULE_FIRMWARE hints for various firmware file types, required by different chip revisions. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c25c0b9b33f681972e0b2abc96b9debdd1ef32a5 Author: Dhananjay Phadke Date: Wed Oct 28 04:11:04 2009 -0700 netxen: update module info Update module info with QLogic signature. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f0e08fac06596a760f074c08521550d93b96336e Author: Dhananjay Phadke Date: Sat Oct 24 16:04:00 2009 +0000 netxen: add PCI IDs for new chip Add PCI vendor and device IDs for QLE8240 and QLE8242 CNA devices. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit a9ac07deeb4b880aea3eaccf7ec913ac902aeef9 Author: Dhananjay Phadke Date: Sat Oct 24 16:03:59 2009 +0000 netxen: refactor indirect register access Refactor code to calculate and set indirect access window for control registers in 2MB address space (NX3031 or newer). Use void __iomem * data type for absolute pci addresses. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f50330f90b9aa42b7058650ce66b85f1b443ab11 Author: Amit Kumar Salecha Date: Sat Oct 24 16:03:58 2009 +0000 netxen: support for new firmware file format Add support for extracting firmware from a unified file format which embeds firmware images for all chip revisions. Fallback to orginal file formats if new image is not found. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 516b4df1ce49304c188704decf60275c72d4cae1 Author: Ben Hutchings Date: Wed Oct 28 04:01:46 2009 -0700 via-velocity: Remove private device list via-velocity maintains a list of its devices in order to determine whether a netdev notification applies to one of them. That can be determined simply by checking the netdev_ops pointer, so the list can be removed. Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ea84e5555a56e2013687b19b012bcf959d601128 Author: Andreas Petlund Date: Tue Oct 27 03:27:21 2009 +0000 net: Corrected spelling error heurestics->heuristics Corrected a spelling error in a function name. Signed-off-by: Andreas Petlund Signed-off-by: David S. Miller commit ac5e3af9996fb911d4fdff910a8ac3cb7fc63a94 Author: Eric Dumazet Date: Mon Oct 26 01:23:33 2009 +0000 net: sysfs: ethtool_ops can be NULL commit d519e17e2d01a0ee9abe083019532061b4438065 (net: export device speed and duplex via sysfs) made the wrong assumption that netdev->ethtool_ops was always set. This makes possible to crash kernel and let rtnl in locked state. modprobe dummy ip link set dummy0 up (udev runs and crash) Signed-off-by: Eric Dumazet Acked-by: Andy Gospodarek Signed-off-by: David S. Miller commit b75c6dbb45a49289b90f885c7fb6d9ac39a21688 Author: Atsushi Nemoto Date: Mon Oct 26 03:46:22 2009 +0000 tc35815: Enable NAPI This driver has NAPI code but it has been disabled. Enable it now. The non-napi code will be removed lator. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 02c5c8ec170a159a563e22c67f8ca111071b8e9f Author: Atsushi Nemoto Date: Mon Oct 26 03:46:21 2009 +0000 tc35815: Fix return value of tc35815_do_interrupt when NAPI enabled Return received count correctly even if tx completed at the same time. Currently NAPI is disabled for this driver so this patch does not fix any real problem. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 31b73ab3efaa9c69bc72e04605c85ff8c8047b11 Author: Figo.zhang Date: Wed Oct 28 03:55:24 2009 -0700 NET/KS8695: add support NAPI for Rx Add support NAPI Rx API for KS8695NET driver. v2, change the Rx function to NAPI. in : Interrupt Enable Register (offset 0xE204) Bit29 : WAN MAC Receive Interrupt Enable Bit16 : LAN MAC Receive Interrupt Enable Interrupt Status Register (Offset 0xF208) Bit29: WAN MAC Receive Status Bit16: LAN MAC Receive Status see arch/arm/mach-ks8695/devices.c: ks8695_wan_resources[] and ks8695_lan_resources[] have IORESOURCE_IRQ , it have define the RX irq, for wan, irq = 29; for lan ,irq = 16. so we can do this read the interrupt status: unsigned long mask_bit = 1 << ksp->rx_irq; status = readl(KS8695_IRQ_VA + KS8695_INTST); Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit d6b9076f1b5dd22b63f0178923f420f4e0f81a8d Author: David S. Miller Date: Wed Oct 28 03:38:54 2009 -0700 igb: Fix warnings in igb_set_ringparam() drivers/net/igb/igb_ethtool.c: In function ‘igb_set_ringparam’: drivers/net/igb/igb_ethtool.c:744: warning: comparison of distinct pointer types lacks a cast drivers/net/igb/igb_ethtool.c:748: warning: comparison of distinct pointer types lacks a cast Casts were to u16 on the constant, but the type of new_{r,t}x_count is u32. Cast to u32 instead. Signed-off-by: David S. Miller commit 559e9c4987e90e278db347b0a2ba423e7e496fd3 Author: Alexander Duyck Date: Tue Oct 27 23:52:50 2009 +0000 igb: cleanup whitespace issues in igb_main.c This patch goes through and cleans up whitespace issues in igb_main.c to help improve readability. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5b043fb08e1b9e10eef7cc41512462f99811e96e Author: Alexander Duyck Date: Tue Oct 27 23:52:31 2009 +0000 igb: open up SCTP checksum offloads to all MACs 82576 and newer Going forward the plan is to have the MACs support SCTP checksum offloads so change the check from == to >=. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c809d2276cb035228cd9e83e2ca7d2b902c61cef Author: Alexander Duyck Date: Tue Oct 27 23:52:13 2009 +0000 igb: limit minimum mtu to 68 to keep ip bound to interface Limit the minimum mtu to 68 in order to prevent ip from being unbound from the interface. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 090b17952826eb3c5d712b6d4f90a292fe4acc93 Author: Alexander Duyck Date: Tue Oct 27 23:51:55 2009 +0000 igb: add pci_dev in few spots to clean up use of dev_err/info/warn This patch relpaces several references to adapter->pdev->dev with just pdev->dev. This allows for cleanup of several multiline dev_err/info calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 330a6d6a7c75e11ca6da52092cfa96cda45d3386 Author: Alexander Duyck Date: Tue Oct 27 23:51:35 2009 +0000 igb: replace unecessary &adapter->hw with just hw where applicable This patch just cleans up some unecessary references to the adapter->hw member when it has already been placed in a local variable named hw. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 42d0781a1337ec5624da0657ba57b734768f489c Author: Alexander Duyck Date: Tue Oct 27 23:51:16 2009 +0000 igb: cleanup clean_rx_irq_adv and alloc_rx_buffers_adv This patch cleans up some whitespace issues in clean_rx_irq_adv. It also adds NUMA aware page allocation and dma error handling to alloc_rx_buffers_adv. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cdfd01fcc674cc1c0c7b54084d74c2b684bf67c2 Author: Alexander Duyck Date: Tue Oct 27 23:50:57 2009 +0000 igb: cleanup igb xmit frame path This patch cleans up the xmit frame path for igb to better handle xmit frame errors and avoid null pointer exceptions. It also cleans up some whitespace issues found in the xmit frame path. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2e5655e758736488abbe9c024c8cda0e367214e5 Author: Alexander Duyck Date: Tue Oct 27 23:50:38 2009 +0000 igb: cleanup igb.h header whitespace and some structure formatting This patch changes the layout of the ring and adapter structs to fill a few holes in the structure. It also cleans up some whitespace and formatting issues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 645a3abd73c2ac05d375f080d2f58d56e1502562 Author: Alexander Duyck Date: Tue Oct 27 23:50:18 2009 +0000 igb: Remove invalid stats counters There are several counters being used like they are static when in fact they are clear on read. In order to prevent the values from being incorrect I am removing the defunct counters. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 25568a531a1bc76fdf968382a4eb65a979186c67 Author: Alexander Duyck Date: Tue Oct 27 23:49:59 2009 +0000 igb: cleanup interrupt enablement in regards to msix_other This patch changes a few things so that instead of firing a link status interrupt directly the get_link_status bit is set and the watchdog is scheduled. In addition the mailbox bit is now only enabled if VFs are enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ee1b9f06dca9c406b159904e9b13ea2dfa5ed037 Author: Alexander Duyck Date: Tue Oct 27 23:49:40 2009 +0000 igb: change queue ordering for 82576 based adapters This patch changes the queue ordering for 82576 adapters so that if VFs are enabled the queues will first be allocated out of the PF pool. Any remaining queues will be allocated out of other VMDq pools. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 439705e1d7281cc8a4631a2dc390df7ad868bad8 Author: Alexander Duyck Date: Tue Oct 27 23:49:20 2009 +0000 igb: cleanup code related to ring resource allocation and free This patch cleans up some of the ring alloc and free code to better handle exceptions such as attempting to free resources on an already freed ring. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f7ba205e823f32e634712323a221b42bfea06efa Author: Alexander Duyck Date: Tue Oct 27 23:48:51 2009 +0000 igb: make tx hang check multiqueue, check eop descriptor This change makes the tx hang check run over all tx queues instead of just queue 0. Also have hang display info on EOP descriptor instead of the descriptor at the start of the chain. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4337e993e13eb2f2e05dd65a3ab25b57c2f89d56 Author: Alexander Duyck Date: Tue Oct 27 23:48:31 2009 +0000 igb: move global_quad_port_a from global into local static define This change moves global_quad_port_a into igb_probe as a static define since it doesn't actually need to be global. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3f9c01648146a256d8238292ac9c63fed7e00473 Author: Alexander Duyck Date: Tue Oct 27 23:48:12 2009 +0000 igb: only process global stats in igb_update_stats This patch moves the update of adapter->net_stats.rx/tx values out of the interrupt routine and into igb_update_stats by just adding together the tx/rx byte/packet counts for the rings. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a6b623e0e5787ba5ffd2a3c4448ff6d1eaa904a9 Author: Alexander Duyck Date: Tue Oct 27 23:47:53 2009 +0000 igb: move vf init into a seperate function This patch moves VF initialization into a seperate function to help improve the readability of igb_probe. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 51466239fb9f95343e88c14475a0f99fe4882c54 Author: Alexander Duyck Date: Tue Oct 27 23:47:35 2009 +0000 igb: rework handling of the vfta and vlvf registers in relation to mng_vlan This patch corrects some errors in how vlans are being handled when vfs start interacting with the management vlans. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7d5753f08c5be5440ac0385b5f2518d2630be7b7 Author: Alexander Duyck Date: Tue Oct 27 23:47:16 2009 +0000 igb: rework use of VMOLR in regards to PF and VFs This patch updates the use of the VMOLR to include enabling multicast promiscous for the VFs should they attempt to send over 30 multicast addresses or if they use the new message type to enable multicast promiscuous. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f2ca0dbe077389f061ffa15de9dd7fc96a5b97d2 Author: Alexander Duyck Date: Tue Oct 27 23:46:57 2009 +0000 igb: replace the VF clear_to_send with a flags value In order to support future features it is easiest to replace the clear_to_send boolean with a flag value. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d249be54745259980dcbd898bdfeb7307c9c5e10 Author: Alexander Duyck Date: Tue Oct 27 23:46:38 2009 +0000 igb: use packet buffer sizes from RXPBS register This patch changes the configuration for 82576 so that it uses the actual value of the 82576 rx packet buffer size instead of just assuming the value. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 317f66bdadc31f0c037b91ae7857f5c3d2a4e3e5 Author: Alexander Duyck Date: Tue Oct 27 23:46:20 2009 +0000 igb: misc cleanups within igb_ethtool.c This patch just goes thorugh and does several cleanups on igb_ethtool.c. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c5b9bd5e4f7caea10d113f610b85cc2093cc3179 Author: Alexander Duyck Date: Tue Oct 27 23:46:01 2009 +0000 igb: cleanup some of the code related to hw timestamping The code for the hw timestamping is a bit bulky and making some of the functions difficult to read. In order to clean things up a bit I am moving the timestamping operations into seperate functions. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4fc82adfb01bdee79ec21e44557dc409ef31419a Author: Alexander Duyck Date: Tue Oct 27 23:45:42 2009 +0000 igb: add support for seperate tx-usecs setting in ethtool This patch adds support for a seperate tx-usecs interrupt moderation setting in ethtool which is supported when tx and rx interrupt vectors are sperated. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2845fa13e5cbe708ece7fafe29c91f32c66e4f59 Author: Peter Ujfalusi Date: Wed Oct 28 10:57:05 2009 +0200 ASoC: TWL4030: Change codec_muted to apll_enabled codec_muted is missleading, change it to apll_enabled, which is what it is doing: enabing and disabling the APLL. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 78e08e2f209e5e7777e81919d32cfcddad126cfa Author: Peter Ujfalusi Date: Wed Oct 28 10:57:04 2009 +0200 ASoC: TWL4030: Remove bypass tracking Since ASoC core now handling the codec bias differently there is no need to do the tracking of bypass switch states anymore. Handling of the common bit for analog loopbacks is done with DAPM_SUPPLY for the bypass paths. Now this bit is only enabled when there is a complete analog bypass path, compared to the previous implementation, when the global switch was enabled if there were any of the analog bypass switch was on (regardless if there were complete path or not) Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 9c1bbbaf3eef357b15c0e94085d96f18c6f1bde6 Author: Ben Hutchings Date: Wed Oct 28 02:50:44 2009 -0700 sfc: Really allow RX checksum offload to be disabled We have never checked the efx_nic::rx_checksum_enabled flag everywhere we should, and since the switch to GRO we don't check it anywhere. It's simplest to check it in the one place where we initialise the per-packet checksummed flag. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5beefb4f7793e5bb4d3527ee6559f8281d7d2b76 Author: Sreenivasa Honnur Date: Wed Oct 28 02:46:54 2009 -0700 vxge: Configure the number of transmit descriptors per packet to MAX_SKB_FRAGS + 1. - Configure the number of transmit descriptors per packet to MAX_SKB_FRAGS + 1. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 0531d7b85177cda05f574ddf0aa4b25050159101 Author: Randy Dunlap Date: Mon Oct 26 12:09:45 2009 +0000 netxen: fix builds for SYSFS=n or MODULES=n When CONFIG_MODULES=n: drivers/net/netxen/netxen_nic_main.c:2751: error: dereferencing pointer to incomplete type drivers/net/netxen/netxen_nic_main.c:2764: error: dereferencing pointer to incomplete type Also needs addition of for sysfs function prototypes or stubs when CONFIG_SYSFS=n. Signed-off-by: Randy Dunlap Acked-by: Dhananjay Phadke Signed-off-by: David S. Miller commit eef6dd65e331d6e91a39b90344c705bbcbe0825e Author: Eric Dumazet Date: Tue Oct 27 07:07:16 2009 +0000 gre: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0694c4c016df34c718b9f9ef6ba5aca2e178163a Author: Eric Dumazet Date: Tue Oct 27 07:06:59 2009 +0000 ipip: Optimize multiple unregistration Speedup module unloading by factorizing synchronize_rcu() calls Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 63c8099d90096db56ee1c66c31f05d4fcfbc1c69 Author: Eric Dumazet Date: Tue Oct 27 07:06:49 2009 +0000 vlan: Optimize multiple unregistration Use unregister_netdevice_many() to speedup master device unregister. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 23289a37e2b127dfc4de1313fba15bb4c9f0cd5b Author: Eric Dumazet Date: Tue Oct 27 07:06:36 2009 +0000 net: add a list_head parameter to dellink() method Adding a list_head parameter to rtnl_link_ops->dellink() methods allow us to queue devices on a list, in order to dismantle them all at once. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9b5e383c11b08784eb0087617f880077982ef769 Author: Eric Dumazet Date: Tue Oct 27 07:04:19 2009 +0000 net: Introduce unregister_netdevice_many() Introduce rollback_registered_many() and unregister_netdevice_many() rollback_registered_many() is able to perform necessary steps at device dismantle time, factorizing two expensive synchronize_net() calls. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 44a0873d52282f24b1894c58c0f157e0f626ddc9 Author: Eric Dumazet Date: Tue Oct 27 07:03:04 2009 +0000 net: Introduce unregister_netdevice_queue() This patchs adds an unreg_list anchor to struct net_device, and introduces an unregister_netdevice_queue() function, able to queue a net_device to a list instead of immediately unregister it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a870a3a485ddf7c0dec549269ed71d169556d61c Author: Jens Axboe Date: Wed Oct 28 09:30:27 2009 +0100 drbd: fix in_flight rw indexing Signed-off-by: Jens Axboe commit cfb1e33eed48165763edc7a4a067cf5f74898d0b Author: Jeff Moyer Date: Fri Oct 2 18:57:36 2009 -0400 aio: implement request batching Hi, Some workloads issue batches of small I/O, and the performance is poor due to the call to blk_run_address_space for every single iocb. Nathan Roberts pointed this out, and suggested that by deferring this call until all I/Os in the iocb array are submitted to the block layer, we can realize some impressive performance gains (up to 30% for sequential 4k reads in batches of 16). Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit 1af60fbd759d31f565552fea315c2033947cfbe6 Author: Jeff Moyer Date: Fri Oct 2 18:56:53 2009 -0400 block: get rid of the WRITE_ODIRECT flag Hi, The WRITE_ODIRECT flag is only used in one place, and that code path happens to also call blk_run_address_space. The introduction of this flag, then, could result in the device being unplugged twice for every I/O. Further, with the batching changes in the next patch, we don't want an O_DIRECT write to imply a queue unplug. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit 5869619cb5b26754574375472fe54a390edf34c7 Author: Jens Axboe Date: Wed Oct 28 09:27:07 2009 +0100 cfq-iosched: fix style issue in cfq_get_avg_queues() Line breaks and bad brace placement. Signed-off-by: Jens Axboe commit 718eee0579b802aabe3bafacf09d0a9b0830f1dd Author: Corrado Zoccolo Date: Mon Oct 26 22:45:29 2009 +0100 cfq-iosched: fairness for sync no-idle queues Currently no-idle queues in cfq are not serviced fairly: even if they can only dispatch a small number of requests at a time, they have to compete with idling queues to be serviced, experiencing large latencies. We should notice, instead, that no-idle queues are the ones that would benefit most from having low latency, in fact they are any of: * processes with large think times (e.g. interactive ones like file managers) * seeky (e.g. programs faulting in their code at startup) * or marked as no-idle from upper levels, to improve latencies of those requests. This patch improves the fairness and latency for those queues, by: * separating sync idle, sync no-idle and async queues in separate service_trees, for each priority * service all no-idle queues together * and idling when the last no-idle queue has been serviced, to anticipate for more no-idle work * the timeslices allotted for idle and no-idle service_trees are computed proportionally to the number of processes in each set. Servicing all no-idle queues together should have a performance boost for NCQ-capable drives, without compromising fairness. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit a6d44e982d3734583b3b4e1d36921af8cfd61fc0 Author: Corrado Zoccolo Date: Mon Oct 26 22:45:11 2009 +0100 cfq-iosched: enable idling for last queue on priority class cfq can disable idling for queues in various circumstances. When workloads of different priorities are competing, if the higher priority queue has idling disabled, lower priority queues may steal its disk share. For example, in a scenario with an RT process performing seeky reads vs a BE process performing sequential reads, on an NCQ enabled hardware, with low_latency unset, the RT process will dispatch only the few pending requests every full slice of service for the BE process. The patch solves this issue by always performing idle on the last queue at a given priority class > idle. If the same process, or one that can pre-empt it (so at the same priority or higher), submits a new request within the idle window, the lower priority queue won't dispatch, saving the disk bandwidth for higher priority ones. Note: this doesn't touch the non_rotational + NCQ case (no hardware to test if this is a benefit in that case). Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit c0324a020e5b351f100569b128715985f1023af8 Author: Corrado Zoccolo Date: Tue Oct 27 19:16:03 2009 +0100 cfq-iosched: reimplement priorities using different service trees We use different service trees for different priority classes. This allows a simplification in the service tree insertion code, that no longer has to consider priority while walking the tree. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit aa6f6a3de18131348f70951efb2c56d806033e09 Author: Corrado Zoccolo Date: Mon Oct 26 22:44:33 2009 +0100 cfq-iosched: preparation to handle multiple service trees We embed a pointer to the service tree in each queue, to handle multiple service trees easily. Service trees are enriched with a counter. cfq_add_rq_rb is invoked after putting the rq in the fifo, to ensure that all fields in rq are properly initialized. Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 5db5d64277bf390056b1a87d0bb288c8b8553f96 Author: Corrado Zoccolo Date: Mon Oct 26 22:44:04 2009 +0100 cfq-iosched: adapt slice to number of processes doing I/O When the number of processes performing I/O concurrently increases, a fixed time slice per process will cause large latencies. This patch, if low_latency mode is enabled, will scale the time slice assigned to each process according to a 300ms target latency. In order to keep fairness among processes: * The number of active processes is computed using a special form of running average, that quickly follows sudden increases (to keep latency low), and decrease slowly (to have fairness in spite of rapid decreases of this value). To safeguard sequential bandwidth, we impose a minimum time slice (computed using 2*cfq_slice_idle as base, adjusted according to priority and async-ness). Signed-off-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 83ab50a56e6ea94627fea83ce7b03332bd4c2f02 Author: Alexander Duyck Date: Tue Oct 27 15:55:41 2009 +0000 igb: cleanup "todo" code found in igb_ethtool.c This patch moves some defines into the e1000_regs.h file since this is the correct place for register defines and not inside of igb_ethtool.c Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4eefa8f0131410eddaca323cd65e1ebefe3b3328 Author: Alexander Duyck Date: Tue Oct 27 15:55:22 2009 +0000 igb: add single vector msi-x testing to interrupt test This change adds testing of the first msix vector to the interrupt testing. This should help with determining the cause of interrupt issues when they are encountered. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ad93d17efe063b6e95f3177fa01706f3b3b15dde Author: Alexander Duyck Date: Tue Oct 27 15:55:02 2009 +0000 igb: make ethtool use core xmit map and free functionality This change adds a clean_rx/tx_irq type function call to the ethtool loopback testing which allows us to test the core transmit and receive functionality in the driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b1a436c34c44c6e3fb03c12545d87b4c2818f31d Author: Alexander Duyck Date: Tue Oct 27 15:54:43 2009 +0000 igb: make tx ring map and free functionality non-static This change makes a minor change to the xmit_frame_ring_adv funcition in that it moves 2 checks from it into the xmit_frame_adv since the checks were not ring specific. In addition it exports the xmit_frame_ring_adv and the unmap_and_free_tx_resource calls so that they can be used by other code such as the ethtool loopback testing calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d7ee5b3a78f57a8ca9ca2392ff5d03f91ec90bdb Author: Alexander Duyck Date: Tue Oct 27 15:54:23 2009 +0000 igb: re-use ring configuration code in ethtool testing Since all of the ring code is now specific to the ring instead of the adapter struct it is possible to cut a large section of code out of the ethtool testing configuraiton since we can just use the existing functions to configure the rings. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 10d8e9073a320a1c9cc13f996bd600b477eb4872 Author: Alexander Duyck Date: Tue Oct 27 15:54:04 2009 +0000 igb: setup vlan tag replication stripping in igb_vmm_control This update adds vlan tag stripping for inter-vf communications to the igb_vmm_control configuration function. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d4960307ea63a5625a175cc2d7b192e68e6b4fba Author: Alexander Duyck Date: Tue Oct 27 15:53:45 2009 +0000 igb: delay VF reset notification until after interrupts are enabed This update delays the VF reset notification until after interrupts are enabled. Otherwise there is a chance of having the VF try to reset itself too soon and being ignored by the PF as a result. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 06cf2666c7f5cc4ba4bf2687d041c61ada76fa3c Author: Alexander Duyck Date: Tue Oct 27 15:53:25 2009 +0000 igb: move the multiple receive queue configuration into seperate function This patch moves the multiple receive queue configuration into a seperate function from igb_configure_rx. We can essentially do the configuration for the multiple receive queues just prior to enabling the RX and this will allow us to seperate the queue enablement from the receive queue layout configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e694e964fc1241b4981873bdccce70438d5f0394 Author: Alexander Duyck Date: Tue Oct 27 15:53:06 2009 +0000 igb: place a pointer to the netdev struct in the ring itself This change adds a pointer to the netdev to the ring itself. The idea being at some point in the future it will be possible to support multiple netdevs from a single adapter struct. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 85ad76b2f9c4956ec90c86298b22bb35c326e772 Author: Alexander Duyck Date: Tue Oct 27 15:52:46 2009 +0000 igb: add a flags value to the ring This patch adds a flags value to the ring that cleans up some of the last remaining items from the ring in order to help seperate it from the adapter struct. By implementing these flags it becomes possible for different rings to support different functions such as rx checksumming. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 04a5fcaaf0e12d066411aa54e42591952aa18da7 Author: Alexander Duyck Date: Tue Oct 27 15:52:27 2009 +0000 igb: move alloc_failed and csum_err stats into per rx-ring stat The allocation failed and checksum error stats are currently kept as a global stat. If we end up allocating the queues to multiple netdevs then the global counter doesn't make much sense. For this reason I felt it necessary to move the alloc_rx_buff_failed stat into the rx_stats portion of the rx_ring. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4c844851d15cc08d995179ab5118172711be6eb0 Author: Alexander Duyck Date: Tue Oct 27 15:52:07 2009 +0000 igb: move rx_buffer_len into the ring structure This patch moves the rx_buffer_len value into the ring structure. This allows greater flexibility and the option of doing things such as supporting packet split only on some queues, or enabling virtualization. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 80785298aa5b6f2005a34afb97457ae7a65af270 Author: Alexander Duyck Date: Tue Oct 27 15:51:47 2009 +0000 igb: add pci device pointer to ring structure This patch adds a pci device pointer to the ring structure. The main use of this pointer is for memory mapping/unmapping of the rings. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fce99e341524c204ef3dd3e7c5f77265a7e05ddd Author: Alexander Duyck Date: Tue Oct 27 15:51:27 2009 +0000 igb: change the head and tail offsets into pointers Since we are writting to the head/tail pointers frequently we might as well save ourselves some processing time by converting the head and tail offsets directly to pointers. This will shave a few cycles off the rx/tx path and allows us to move one step closer to the rings being a bit more independant of each other. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 952f72a8ceee3996ef8476a2f05ece1627080c20 Author: Alexander Duyck Date: Tue Oct 27 15:51:07 2009 +0000 igb: move SRRCTL register configuration into ring specific config The SRRCTL register exists per ring. Instead of configuring all of them in the RCTL configuration which is meant to be global it makes more sense to move this out into the ring specific configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6ec43fe635fb5c96fbc0955b2794b74fee69b723 Author: Alexander Duyck Date: Tue Oct 27 15:50:48 2009 +0000 igb: remove rx_ps_hdr_len This patch removes the rx_ps_hdr_len which isn't really needed since we can now use rx_buffer_len less than 1K to indicate that we are in a packet split mode. We also don't need it since we always use a half page for the data buffers when receiving so we always know the size to map/unmap. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 85b430b47736d1f59e8f9efb0e47bc46aeb2b01d Author: Alexander Duyck Date: Tue Oct 27 15:50:29 2009 +0000 igb: move the tx and rx ring specific config into seperate functions This change makes the tx and rx config a bit cleaner by breaking out the ring specific configuration from the generic rx and tx configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7d95b7170eca3f95bad939fc9eb365b823c05e39 Author: Alexander Duyck Date: Tue Oct 27 15:50:08 2009 +0000 igb: increase minimum rx buffer size to 1K This update increases the minimum rx buffer size to 1K. The reason for this change is to support SR-IOV and avoid any conflicts with the rings being able to set their own MTU sizes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 094919a4b0c56d6afbfb5ea14567fbb2f8d47554 Author: Alexander Duyck Date: Tue Oct 27 15:49:49 2009 +0000 igb: remove rx checksum good counter Counting packets with a good checksum can cause a significant amount of cache line bouncing due to the shared counter being written to by all of the queues. In order to avoid this I am removing the counter since we still have the checksum failed counter which will tell us if there are any issues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 047e0030f1e601233ae5b03910602ec93c620bce Author: Alexander Duyck Date: Tue Oct 27 15:49:27 2009 +0000 igb: add new data structure for handling interrupts and NAPI Add a new igb_q_vector data structure to handle interrupts and NAPI. This helps to abstract the rings away from the adapter struct. In addition it allows for a bit of consolidation since a tx and rx ring can share a q_vector. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 678b77e265f6d66f1e68f3d095841c44ba5ab112 Author: Jie Yang Date: Tue Oct 27 22:31:19 2009 -0700 atl1c: duplicate atl1c_get_tpd remove duplicate atl1c_get_tpd, it may cause hardware to send wrong packets. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit c86e2eaded39843e1bf4f07d1adfab4494f20894 Author: Anton Blanchard Date: Sun Oct 18 01:24:06 2009 +0000 powerpc: perf_event: Cleanup output by adding symbols Add some dummy symbols for the branches at 0xf00, 0xf20 and 0xf40, otherwise hits end up in trap_0e which is confusing to the user. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 917e407c762ba6d91d1a4bc1c804d518585082a3 Author: Anton Blanchard Date: Sun Oct 18 01:24:29 2009 +0000 powerpc: perf_event: Hide iseries_check_pending_irqs If CONFIG_PPC_ISERIES isn't defined we end up with iseries_check_pending_irqs and do_work at the same address. perf ends up picking iseries_check_pending_irqs which creates confusing backtraces. Hide it. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 3cd980dbc1050889acca7306cbcedf79a4ba2f81 Author: Anton Blanchard Date: Sun Oct 18 01:23:28 2009 +0000 powerpc: perf_event: Cleanup copy_page output by hiding setup symbol A lot of hits in "setup" doesn't make much sense, so hide this symbol and allow all the hits to end up in copy_4k_page. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 907b1f45d901c956e4bcd3f27c4f1f25d6fb36b2 Author: Anton Blanchard Date: Mon Oct 26 18:52:24 2009 +0000 powerpc: Export powerpc_debugfs_root Kernel modules should be able to place their debug output inside our powerpc debugfs directory. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit b3c86ee6d128dea7c671380090488887e73fa774 Author: Anton Blanchard Date: Mon Oct 26 18:51:57 2009 +0000 powerpc: Disable HCALL_STATS by default The overhead of HCALL_STATS is quite high and the functionality is very rarely used. Key statistics are also missing (eg min/max). With the new hcall tracepoints much more powerful tracing can be done in a kernel module. Lets disable this by default. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 6f26353ca29e96475208bce673efb6a2c58b73f2 Author: Anton Blanchard Date: Mon Oct 26 18:51:09 2009 +0000 powerpc: tracing: Give hypervisor call tracepoints access to arguments While most users of the hcall tracepoints will only want the opcode and return code, some will want all the arguments. To avoid the complexity of using varargs we pass a pointer to the register save area, which contains all the arguments. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit c8cd093a6e9f96ea6b871576fd4e46d7c818bb89 Author: Anton Blanchard Date: Mon Oct 26 18:50:29 2009 +0000 powerpc: tracing: Add hypervisor call tracepoints Add hcall_entry and hcall_exit tracepoints. This replaces the inline assembly HCALL_STATS code and converts it to use the new tracepoints. To keep the disabled case as quick as possible, we embed a status word in the TOC so we can get at it with a single load. By doing so we keep the overhead at a minimum. Time taken for a null hcall: No tracepoint code: 135.79 cycles Disabled tracepoints: 137.95 cycles For reference, before this patch enabling HCALL_STATS resulted in a null hcall of 201.44 cycles! Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 6795b85c6a4f690e61e7be31aa150d945c723fb5 Author: Anton Blanchard Date: Mon Oct 26 18:49:14 2009 +0000 powerpc: tracing: Add powerpc tracepoints for timer entry and exit We can monitor the effectiveness of our power management of both the kernel and hypervisor by probing the timer interrupt. For example, on this box we see 10.37s timer interrupts on an idle core: -0 [010] 3900.671297: timer_interrupt_entry: pt_regs=c0000000ce1e7b10 -0 [010] 3900.671302: timer_interrupt_exit: pt_regs=c0000000ce1e7b10 -0 [010] 3911.042963: timer_interrupt_entry: pt_regs=c0000000ce1e7b10 -0 [010] 3911.042968: timer_interrupt_exit: pt_regs=c0000000ce1e7b10 -0 [010] 3921.414630: timer_interrupt_entry: pt_regs=c0000000ce1e7b10 -0 [010] 3921.414635: timer_interrupt_exit: pt_regs=c0000000ce1e7b10 Since we have a 207MHz decrementer it will go negative and fire every 10.37s even if Linux is completely idle. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 1bf4af165050d90ea6659ffb2536ec8ca783aab5 Author: Anton Blanchard Date: Mon Oct 26 18:47:42 2009 +0000 powerpc: tracing: Add powerpc tracepoints for interrupt entry and exit This adds powerpc-specific tracepoints for interrupt entry and exit. While we already have generic irq_handler_entry and irq_handler_exit tracepoints there are cases on our virtualised powerpc machines where an interrupt is presented to the OS, but subsequently handled by the hypervisor. This means no OS interrupt handler is invoked. Here is an example on a POWER6 machine with the patch below applied: -0 [006] 3243.949840744: irq_entry: pt_regs=c0000000ce31fb10 -0 [006] 3243.949850520: irq_exit: pt_regs=c0000000ce31fb10 -0 [007] 3243.950218208: irq_entry: pt_regs=c0000000ce323b10 -0 [007] 3243.950224080: irq_exit: pt_regs=c0000000ce323b10 -0 [000] 3244.021879320: irq_entry: pt_regs=c000000000a63aa0 -0 [000] 3244.021883616: irq_handler_entry: irq=87 handler=eth0 -0 [000] 3244.021887328: irq_handler_exit: irq=87 return=handled -0 [000] 3244.021897408: irq_exit: pt_regs=c000000000a63aa0 Here we see two phantom interrupts (no handler was invoked), followed by a real interrupt for eth0. Without the tracepoints in this patch we would have missed the phantom interrupts. Signed-off-by: Anton Blanchard Acked-by: Steven Rostedt Signed-off-by: Paul Mackerras commit 196f02bf900c5eb6f85d889c4f70e7cc11fda7e8 Author: Anton Blanchard Date: Sun Oct 18 01:13:00 2009 +0000 powerpc: perf_event: Add alignment-faults and emulation-faults software events Hook up the alignment-faults and emulation-faults events for powerpc. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit eecff81d1fcda22cd0029d11fe2a71dceed11dad Author: Anton Blanchard Date: Tue Oct 27 18:46:55 2009 +0000 powerpc: Create PPC_WARN_ALIGNMENT to match PPC_WARN_EMULATED perf_event wants a separate event for alignment and emulation faults, so create another emulation event. This will make it easy to hook in perf_event at one spot. We pass in regs which will be required for these events. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit f7d7986060b2890fc26db6ab5203efbd33aa2497 Author: Anton Blanchard Date: Sun Oct 18 01:09:29 2009 +0000 perf_event: Add alignment-faults and emulation-faults software events Add two more software events that are common to many cpus. Alignment faults: When a load or store is not aligned properly. Emulation faults: When an instruction is emulated in software. Both cause a very significant slowdown (100x or worse), so identifying and fixing them is very important. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 81cd5ae303e88a1e9d3a3e0f1fe8abd100edde16 Author: Anton Blanchard Date: Tue Oct 27 18:31:29 2009 +0000 powerpc: perf_event: Enable SDAR in continous sample mode In continuous sampling mode we want the SDAR to update. While we can select between dcache misses and ERAT (L1-TLB) misses, a decent default is to enable both. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit bc284e5d9d6da48934a177db92bf8e09b96a9cb8 Author: Anton Blanchard Date: Mon Sep 21 16:56:10 2009 +0000 powerpc: perf_event: Log invalid data addresses as all 1s When we take an exception and the SDAR isn't synchronised we currently log 0 as the address. Unfortunately this is a pretty common value, so use ~0UL instead. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit d6ba452128178091dab7a04d54f7e66fdc32fb39 Author: Mimi Zohar Date: Mon Oct 26 09:26:18 2009 -0400 tpm add default function definitions Add default tpm_pcr_read/extend function definitions required by IMA/Kconfig changes. Signed-off-by: Mimi Zohar Reviewed-by: Eric Paris Signed-off-by: James Morris commit bd6b4442ff3cee73f73987cf0c0e66ea677aa075 Author: Vivek Natarajan Date: Tue Oct 27 11:32:52 2009 +0530 ath: Updates for regulatory and country codes. Add a few new country codes and update the regulatory domain for some countries. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d23000cd8992823e06ca0745564f2c25fe923ce4 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:36 2009 -0700 iwlwifi: minor comments changes for wimax co-exist command 'COEX_PRIORITY_TABLE_CMD' host command will be supported for 5000 series and up. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c166b25a5c02d881b1da15f3afe9dc9e56b206a8 Author: Ben Cahill Date: Fri Oct 23 13:42:35 2009 -0700 iwlwifi: make sure device is reset when unloading driver Add unconditional call to apm_ops.stop() to reset device to low power state when unloading driver. Some paths have existed to unload driver *without* resetting device, therefore some errors have persisted through multiple load/unload cycles, until the whole platform gets rebooted; this is an attempt to remedy some of those situations. Sorry, I can't seem to find a bughost.org bug that specifically has these symptoms, but I had it happen recently here. Note that this will *not* fix situations in which the PCI express bus has crashed (evidenced by register reads showing "0xffffffff"), e.g. bughost.org 1855 and 2096; device is unreachable from driver in those cases. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 442464218d93aa0aacc55c3a7ac908ae00abff5f Author: Wey-Yi Guy Date: Fri Oct 23 13:42:34 2009 -0700 iwlwifi: update lowest API version support for 6x00 & 6x50 series For 6x00 and 6x50 series devices, APIv4 is the lowest firmware version driver can support. This is also the lowest API version available to the public so there is no need for backward compatibility support for the earlier API versions. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 570af86e0ab7e7b42b2562ff3209c16ab1ebd5f8 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:33 2009 -0700 iwlwifi: remove duplicated define Duplicated define for listen interval (IWL_CONN_MAX_LISTEN_INTERVAL and IWL_CONN_LISTEN_INTERVAL), remove IWL_CONN_LISTEN_INTERVAL Signed-off-by: Wey-Yi Guy Reported-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7300515d1095aa11731866da7c9b000f2edb4626 Author: Zhu Yi Date: Fri Oct 23 13:42:32 2009 -0700 iwlwifi: reuse page for notification packets For notification packets and SKBs that fail to rx correctly, add them back into the rx_free list so that the pages can be reused later. This avoids allocating new rx pages unnecessarily. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 71c55d90f9733abdf5e4e0bc24f71e189cefeea6 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:31 2009 -0700 iwlwifi: remove unused parameters parameters "len" is not used in both iwl_tx_queue_free() and iwl_cmd_queue_free() functions Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6c5cd9d524a3393f6450ee523f4a942d4404f7de Author: Reinette Chatre Date: Fri Oct 23 13:42:30 2009 -0700 iwlwifi: remove duplicate defines RX_FREE_BUFFERS and RX_LOW_WATERMARK are currently defined in four places. Based on how files are included we only need the definition in iwl-fh.h Signed-off-by: Reinette Chatre Reported-by: Frans Pop Signed-off-by: John W. Linville commit 4a56e9652ec2ffce87b099aa2fc5b4eb2d5b2666 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:29 2009 -0700 iwlwifi: add channel switch support to 5000 series and up Support "channel switch" request by issue "channel switch" host command to uCode. There is no separated "channel switch" indication from mac80211, when detected "IEEE80211_CONF_CHANGE_CHANNEL" flag in iwl_mac_config(), if the station is in "associated" state, then assume "channel switch announcement" IE was received by mac80211. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 480e8407dc0bccdd8d7cfe29b8fcaaa21dd20e68 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:28 2009 -0700 iwlwifi: issue ct_kill host command based on device config Using device configuration structure to decide how to configure ct_kill host command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6047b4f939682ae9bf839fd00c80029cb8f073bb Author: Wey-Yi Guy Date: Fri Oct 23 13:42:27 2009 -0700 iwlwifi: choose thermal throttle method based on device config Using device configuration structure to decide the type of thermal throttle method for the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c8c24872c6a90ef0298491a1c14326861ab74cab Author: Wey-Yi Guy Date: Fri Oct 23 13:42:26 2009 -0700 iwlwifi: increase max tfd payload size Increase the size of TFD_MAX_PAYLOAD_SIZE (the size of iwl_device_cmd) to accommodate iwl6000_channel_switch_cmd data structure. Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 29b1b2688fd71346f78f175d9669c006686b6dc3 Author: Zhu Yi Date: Fri Oct 23 13:42:25 2009 -0700 iwlwifi: fix use after free bug for paged rx In the paged rx patch (4854fde2), I introduced a bug that could possibly touch an already freed page. It is fixed by avoiding the access in this patch. I've also added some comments so that other people touching the code won't make the same mistake. In the future, if we cannot avoid access the page after being handled to the upper layer, we can use get_page/put_page to handle it. For now, it's just not necessary. It also fixed a debug message print bug reported by Stanislaw Gruszka . Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 52aa081c40324ecb04a47864e4e56dafc5a72a34 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:24 2009 -0700 iwlwifi: specify the valid tx/rx chain in device config structure Specify both Tx and Rx chain in device configuration structure instead of hard code in set_hw_params() for 4965 Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 456d0f76727ba6f97aa1cee63f1bae84642768c4 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:23 2009 -0700 iwlwifi: update bt co-exit configuration parameter Adding parameter ranges for bt co-exist configuration command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1ed2a3d29ac304092f588a47a9ed2b83d4d8c835 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:22 2009 -0700 iwlwifi: separate led function from statistic notification Detach led background task from statistic notification routine. if led blinking is required; the blink rate is based on the traffic condition. It do not relate to statistics notification. In addition to that, there is not a requirement for statistics notification has to occur all the time. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fadb3582a38c33d0f7c58ab7905d4dbc67f4c4d9 Author: Ben Cahill Date: Fri Oct 23 13:42:21 2009 -0700 iwlwifi: consolidate apm_init() functions Consolidate most iwlXXXX_apm_init() functions into single iwl_apm_init(). Keep iwl3945_apm_init(), but leverage iwl_apm_init() for most functionality. Update 4965 init sequence to follow most recent factory recommendations. Add following members to struct iwl_cfg to guide the init sequence: pll_cfg_val (replaces needs_pll_cfg), set_l0s, use_bsm Move L0S enable/disable from nic_config() functions to iwl_apm_init(). This satisifies the "FIXME: put here L1A -L0S w/a" notice, and complies with factory-recommended sequence. Add debug info message in iwl_apm_init(), and symmetrical message in iwl_apm_stop(). Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 065e63b00cf13919010bbeff48f7a120033be448 Author: Wey-Yi Guy Date: Fri Oct 23 13:42:20 2009 -0700 iwlwifi: fix gain computation for 5000 series and up In Rx gain balancing (chain noise) computation for 5000 series and up, the delta gain calculation should use the average noise of default chain, not "chain 0" which do not exist for all the devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1a5c3d61993f56daf15c35bea8d3943f4e835638 Author: Jay Sternberg Date: Fri Oct 23 13:42:19 2009 -0700 iwlwifi: add missing commands to syslog messages Two commands missing from list of commands such that when debug is enabled, these commands are shown as UNKNOWN. Missing commands are TX_ANT_CONFIGURATION_CMD and TEMPERATURE_NOTIFICATION. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fef0640e1e5d5f79c48d1de1f54ed285429b4a6c Author: Holger Schurig Date: Thu Oct 22 15:30:59 2009 +0200 libertas: remove some references to IW_MODE_abc ... in pursue to quaff the wide-spread references to WEXT constants. When setting SNMP_MIB_OID_BSS_TYPE, wext.c can directly calculate the value the firmware wants. Reading of SNMP_MIB_OID_BSS_TYPE doesn't happen anywhere, so no need to convert the firmware value into WEXT values anyway. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e93156e7c4c3e2be355cac27c58664e4385c58fd Author: Holger Schurig Date: Thu Oct 22 15:30:58 2009 +0200 libertas: sort and categorize entries in decl.h This now makes decl.h only contain declarations for functions that don't have their own *.h file. No function change. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 560c63383f060b5ea68834e4720ab7bfb4303ff7 Author: Holger Schurig Date: Thu Oct 22 15:30:57 2009 +0200 libertas: move mic failure event to wext.c ... because for cfg80211 we'll need a completely different implementation. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit fea2b8ec8192c62dbf5347c873cb1c8a87717a6a Author: Holger Schurig Date: Thu Oct 22 15:30:56 2009 +0200 libertas: move SIOCGIWAP calls to wext.c Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8ec97cc803e1d52022e916074415acaec276288c Author: Holger Schurig Date: Thu Oct 22 15:30:55 2009 +0200 libertas: remove "struct cmd_ds_gen" It was only used as a source for S_DS_GEN, but the size of this struct is equal to the size of "struct cmd_header". Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b856f73b39ca6b619e6e8d088141aec3ff62852c Author: Holger Schurig Date: Thu Oct 22 15:30:54 2009 +0200 libertas: remove handling for CMD_GET_TSF ... which just resided as an old-style command in cmd/cmdresp, but was nowhere useed. If we ever need it, we can re-add it as a newstyle command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit f57bd284e435d1ddf69b4266f63d856865152271 Author: Holger Schurig Date: Thu Oct 22 15:30:53 2009 +0200 libertas: remove handling for CMD_802_11_LED_GPIO_CTRL ... which just resided as an old-style command in cmd/cmdresp, but was nowhere useed. If we ever need it, we can re-add it as a newstyle command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6e85e0b7ab1cafd6ff63c391d231b5a39934802e Author: Holger Schurig Date: Thu Oct 22 15:30:52 2009 +0200 libertas: move lbs_send_iwevcustom_event() to wext.c ... because it's purely a WEXT function. No functional change. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d0de37417e51219d7d56a452d18fa7b829342fcc Author: Holger Schurig Date: Thu Oct 22 15:30:51 2009 +0200 libertas: move association related commands into assoc.c That's because the new cfg80211 implementation will provide cleaner implementations. No functional changes. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c14951fec6c292dca60e3cf8ab0edfdf11e6c0e2 Author: Holger Schurig Date: Thu Oct 22 15:30:50 2009 +0200 libertas: get current channel out of priv->curbssparams ... as priv->curbssparams won't exist once libertas+cfg80211 lands. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 5e047692245c7b8d338ddeece156721d594ca985 Author: Holger Schurig Date: Thu Oct 22 15:30:49 2009 +0200 libertas: sort variables in struct lbs_private Having the variables in logical groups allows us to easier #ifdef stuff out. No functional change. Signed-off-by: John W. Linville commit 2d46502dce3c79c3c15ac537cb271911f58d12d1 Author: Holger Schurig Date: Thu Oct 22 15:30:48 2009 +0200 libertas: move scan/assoc related stuff Another cfg80211-preparation patch: removes some code/definitions from main.c and dev.h and put's it into assoc.c/.h, scan.c/.h. No function change. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 243e84e91ed810f7dca5ba1c2d1a611811948566 Author: Holger Schurig Date: Thu Oct 22 15:30:47 2009 +0200 libertas: change IW_ESSID_MAX_SIZE -> IEEE80211_MAX_SSID_LEN Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit f4228b4c2e5864ee9d2051176beb2bd5a49a15cc Author: Holger Schurig Date: Thu Oct 22 15:30:46 2009 +0200 libertas: remove unused 11d.h as well, priv->countryinfo Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d37b4fdd43f7e5686c40181f33a50a7ee03ddbd8 Author: Holger Schurig Date: Thu Oct 22 15:30:45 2009 +0200 libertas: remove unused 11d code Most of the 11d code was protected with an "if (priv->enable11d)" clause. But there was no code that anywhere that was able to set this variable to true. So all 11d code was dead for almost a year and no one complained. That's enought incentive to remove this code. Besides removing old cruft, we gain back the 11d capability in a common way when we merge the cfg80211 functionality. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7f4013f09654216653121f216bd0257f460f5dcc Author: Benoit PAPILLAULT Date: Thu Oct 22 12:04:52 2009 +0200 zd1211rw: Fix TX status reporting in order to have proper rate control First, we reduce the number of hardware retries to 0 (ie 2 real retries for each rate). Next, when we report the retries to mac80211, we always report a retry count of 1 (it seems to be 2 in fact, but using 2 seems to lead to wrong performance for some reason). We use a state machine to determine the real fate of a packet based on the 802.11 ACK and what the Zydas hardware is saying when a real retry occurs. The real retry rates are encoded in a static array. It has been tested with both zd1211 and zd1211b hardware. Of course, since the Zydas hardware is not reporting retries accurately, we are just doing our best in order to get the best performance (ie higher throughput). Signed-off-by: Benoit PAPILLAULT Signed-off-by: John W. Linville commit 287d37412035d003430f69a828c98b1cc6ee6d60 Author: Luciano Coelho Date: Wed Oct 21 14:03:46 2009 +0300 wl1271: use ieee80211_rx_ni() Use the new ieee80211_rx_ni() function instead of ieee80211_rx(). Since we use a workqueue to handle the RX path, we need to call the new function, which disables bottom half handling. This patch fixes the NOHZ: local_softirq_pending messages. CC: Kalle Valo Signed-off-by: Luciano Coelho Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 6b9ac4425d6ec871faf54540e0f1c5ff420a8f29 Author: Rui Paulo Date: Tue Oct 20 21:21:48 2009 +0100 mesh: use set_bit() to set MESH_WORK_HOUSEKEEPING. This makes the mesh housekeeping timer work properly on big endian systems. Signed-off-by: Rui Paulo Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 68676df00d956e191c442cb697154a7a18a1e054 Author: Christian Lamparter Date: Sat Oct 17 21:56:55 2009 +0200 ar9170: don't filter BlockACK frames The current A-MPDU tx_status report mechanism is too inaccurate. With this patch BlockACK frames show now up to the driver and can be processed. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 731d6bfc2d201958cfa3d08c7acff218497bbd50 Author: Christian Lamparter Date: Sat Oct 17 21:56:51 2009 +0200 ar9170usb: atomic pending urbs counter This patch follows "ar9170: atomic pending A-MPDU counter" idea and converts another critical counter to atomic_*. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 02bdf5b48a2cd90a5d036eab68e6f65adb200140 Author: Christian Lamparter Date: Sat Oct 17 21:56:43 2009 +0200 ar9170: atomic pending A-MPDU counter A ref-counting bug emerged after testing ar9170usb's HT implementation on a bigger SMP/SMT system without the usual _debugging_ overhead. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4ad177b5c860dc0b1083eccc55957daf4a116b90 Author: Wey-Yi Guy Date: Fri Oct 16 14:25:58 2009 -0700 iwlwifi: rework for static power save For static power save, the actual intervals are calculated by driver based on the default table and DTIM flag, then sent to uCode when the scheme is changed. Three tables are defined based on DTIM period. 1. DTIM 0 - 2 2. DTIM 3 - 10 3. DTIM > 11 The actual number of DTIM a station may miss may not exceed the following: . Only 1 DTIM may be skipped at PI=4 when allowed . Only 2 DTIMs may be skipped at PI=5 when allowed . DTIM may be skipped only 5 sec after last activity . DTIM may be skipped only 30 sec after connection establishment Only allow user to override the power_level when rf is ready to make sure power level gets changed upon request. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9444b188022418c624ce32584c3b9544b500d15e Author: Wey-Yi Guy Date: Fri Oct 16 14:25:57 2009 -0700 iwlwifi: no chain noise support for 6x50 series For initial bring up of 6x50 series NICs, no chain noise support in uCode, this feature will be added in the later stage of development. Two chain noise related functions are removed from 6x50 series: 1. gain computation 2. chain noise reset Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 32004ee42fced8b2372dd2f93e65cc9d71e8c4bf Author: Wey-Yi Guy Date: Fri Oct 16 14:25:56 2009 -0700 iwlwifi: set auto clock gate disable bit for 6x00/6x50 series For 6x00 and 6x50 series NIC with OTP shadow RAM, set auto clock gate disable bit when initializing OTP access. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8d9698b3e6ce3c50f9ec5a0aaea4da82d5af7779 Author: Reinette Chatre Date: Fri Oct 16 14:25:55 2009 -0700 iwlagn: store station rate scale information in mac80211 station structure Currently mac80211 initializes the rate scaling before notifying the driver of the station's existence. The driver dealt with this by not relying on mac80211's station notifications and instead mixing this functionality with the rate scaling code and other places. To clean this up the driver needs to do rate scaling initialization after being notified of the station, this can be done if the rate scaling information forms part of the station information passed from mac80211 to driver. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cc1282f63b53d0967bd96ed56aa3d2463dc4b4b6 Author: Reinette Chatre Date: Fri Oct 16 14:25:54 2009 -0700 iwlwifi: move rate scaling structures to header file Move to header file so they can be included and used in other parts of the driver. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f0b6e2e8cbc6026d3d6d3087032f5eceafaee0b8 Author: Reinette Chatre Date: Fri Oct 16 14:25:53 2009 -0700 iwlwifi: move iwl_setup_mac to iwlagn This function is only used in iwlagn so there is no need to have it in iwlcore. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3ab312a893bbfc0fad7b1b644b3d477905773b1a Author: Wey-Yi Guy Date: Fri Oct 16 14:25:52 2009 -0700 iwlwifi: fix incorrect otp blocks number for 6x50 series For 6x50 series, number of OTP blocks is different from 6x00 series Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 32b7e244f2b1082ac0a1cda1b088574f2d590496 Author: Wey-Yi Guy Date: Fri Oct 16 14:25:51 2009 -0700 iwlwifi: identify eeprom version for 6x50 series NIC Adding support for 6x50 series EEPROM version check, 6x50 is wifi/wimax combo device which has different EEPROM map Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c09430abed4159e5c56aaea257d040f7452daba6 Author: Wey-Yi Guy Date: Fri Oct 16 14:25:50 2009 -0700 iwlwifi: show current power save status reported by uCode Power save request is sent from driver to uCode, but there is no indication from uCode about the current device power save state. Reading GP_CNTRL register bit 25:24 to show the current power save status 00: no power save 01: MAC power down 10: PHY power down 11: Error The uCode could switch in and out of power save mode in the order of once per 100-300 ms in many cases. The reading here should just be used for reference on the current uCode power save status. Do not confuse this reading with the PowerSave set by driver and mac80211. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f80989e8b7f79d8e916b14600488489bdd5569f Author: Abhijeet Kolekar Date: Fri Oct 16 14:25:49 2009 -0700 iwl3945: disable all tx fifos Disable the all the tx fifos while stopping the tx queues. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9a493e8f4d78fc3f2494fa952500b720c86737d8 Author: John W. Linville Date: Tue Oct 27 15:15:05 2009 -0400 wl1251: re-disable PG10 chips "wl1251: add support for PG11 chips." accidentally enabled PG10 chips as well... Reported-by: Kalle Valo Signed-off-by: John W. Linville commit 72f5f457564e8ebc6c38ee4f98ee59cd03c2f614 Author: John W. Linville Date: Fri Oct 16 14:35:51 2009 -0400 b43: use ieee80211_rx_ni() Convert to new use ieee80211_rx_ni() routine rather than open-coded version. Signed-off-by: John W. Linville commit 8ef37f1cb24bfc89297eab6cd6f1e1096d954139 Author: Holger Schurig Date: Fri Oct 16 17:34:22 2009 +0200 libertas: remove unused lbs_cmd_802_11_inactivity_timeout() Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit a3cbfb08ca634019516c91f3d5266b18e3dbbf77 Author: Holger Schurig Date: Fri Oct 16 17:33:56 2009 +0200 libertas: make lbs_get_channel() static Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit bca61f8a4df69949cc7426b39daa867f5274a9b8 Author: Holger Schurig Date: Fri Oct 16 17:33:23 2009 +0200 libertas: harmonize cmd.h * move declarations for functions of cmd.c/cmdresp.c into cmd.h * move declarations from cmd.h that are in main.c to decl.h * group command functions Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9e66e701d0e42efd548f0f7249af8a56f8e07b67 Author: Holger Schurig Date: Fri Oct 16 17:32:16 2009 +0200 libertas: cleanup host.h and hostcmd.h Also remove some unused definitions and make tab usage consistent. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit b8fcf590939f0aa24d43bdbdae7c963f31ba90bd Author: Zhu Yi Date: Fri Oct 16 13:19:00 2009 +0800 iwmc3200wifi: handle coexistence radio notification Handle WiFi/WiMax coexistence radio preemption notification event. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5dc53163c24ad288cfa2369b14a073992e069908 Author: Samuel Ortiz Date: Fri Oct 16 13:18:59 2009 +0800 iwmc3200wifi: Set wiphy firmware version Our wiphy firmware version is a combination of the UMAC and LMAC ones. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7fd6b12f329b7ec1c1e3ad49d701d2ac7ab42d9e Author: Samuel Ortiz Date: Fri Oct 16 13:18:58 2009 +0800 iwmc3200wifi: Support unexpected reboot barker We can receive unexpected reboot barker at any time, and we're supposed to reset the whole device then. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9829e1b510214956bc9d5e278be49d781e1a6fbf Author: Samuel Ortiz Date: Fri Oct 16 13:18:57 2009 +0800 iwmc3200wifi: Try shared auth when open WEP fails When we fail to associate with an open WEP AP, we fall back to shared auth. This allows us to support joining a shared auth WEP AP with iwconfig. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 56e3f085f5b5e49cca37a3d1b0aa4266b984eb12 Author: Samuel Ortiz Date: Fri Oct 16 13:18:56 2009 +0800 iwmc3200wifi: Do not handle wifi command if the interface is not ready When resetting or bringing the interface down, we should just reject any wifi related command. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 708567e0723f3a217286c2b60805af6de360ec50 Author: Samuel Ortiz Date: Fri Oct 16 13:18:55 2009 +0800 iwmc3200wifi: Check for cmd pointer before dereferencing it The wifi_if_wrapper notification handling code uses a cmd pointer without checking if it's valid or not. We're dereferencing it because we assume that we only get to that point if there was a pending command for us. That's not always true, so we'd better check. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f96cca8483c1b0bcc8002dc466159bf8fd53ca47 Author: Samuel Ortiz Date: Fri Oct 16 13:18:54 2009 +0800 iwmc3200wifi: SDIO disable race fix When calling sdio->bus_disable(), we are flushing the command lists before disabling the sdio function. We can thus potentially get a command response after having flushed the command list. To avoid that race, we have to call iwm_reset() after disabling the sdio function. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 88e6195a911bce85adcc14e8377aa619e8054ab2 Author: Samuel Ortiz Date: Fri Oct 16 13:18:53 2009 +0800 iwmc3200wifi: Tx power setting We can now set the Tx power from e.g. iwconfig. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7eae165e2d7dd32e88a641c0f38b2be840bcae07 Author: Samuel Ortiz Date: Fri Oct 16 13:18:52 2009 +0800 iwmc3200wifi: Update fixed size config definitions We need to be in sync with the latest firmware API. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 05f9589cd37be9ead62a92755cd86f14b247229d Author: Samuel Ortiz Date: Fri Oct 16 13:18:51 2009 +0800 iwmc3200wifi: Update statistics notification structure The latest firmware adds a ht_rates and a chain_energy field. The latter is needed as we want to eventually support RSSI/antenna handling. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 69cf6e2d5bd90436a0fa6cef2f4d65583faef388 Author: Samuel Ortiz Date: Fri Oct 16 13:18:50 2009 +0800 iwmc3200wifi: Improve rx debug We display the correct DROP/RELEASE string for each rx packets, and when it's dropped we also display the reason. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6a79c9f62a87e39a265f9b855911fbc1f094ded0 Author: Samuel Ortiz Date: Fri Oct 16 13:18:49 2009 +0800 iwmc3200wifi: Profile flags can be WPA1 or WPA2 not both UMAC will ASSERT if the profile security flag is WPA1 | WPA2, so we can only accept one of those. Moreover wpa_s wext and nl80211 drivers dont try to send WPA1 | WPA2, but only one at a time. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e85498b21d0372a00f31ab9f7c0d215c32c9fad5 Author: Samuel Ortiz Date: Fri Oct 16 13:18:48 2009 +0800 iwmc3200wifi: CT kill support We set the initial CT (Temperature control) value to 110 degrees. If the chip goes over that threshold, we hard block the device which will turn it down. At the same time we schedule a 30 seconds delayed work that unblock the device (and userspace is supposed to bring it back up), hoping that the chip will have cooled down by then... Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a82aedbf1b043f7a7474aa9b6d223104ac51827a Author: Samuel Ortiz Date: Fri Oct 16 13:18:47 2009 +0800 iwmc3200wifi: WPS support By setting the WSC profile flag, we now support WPS as an enrollee. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 03d1a62c1fb10fe00cfc5cb7f4496d8d6d0e7660 Author: Zhu Yi Date: Fri Oct 16 13:18:46 2009 +0800 iwmc3200wifi: allow joining an existed IBSS network We used to only support creating a new IBSS network. Now joining to an existed IBSS network is supported as well. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 30315ff05fce99ef0c172a966b3ed71baa62219b Author: Zhu Yi Date: Fri Oct 16 13:18:45 2009 +0800 iwmc3200wifi: add BGN sdio device id Add BGN SKU sdio device id. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 43b7b314f606b64f8645e4ec1a59df8a97a79b5a Author: Javier Cardona Date: Thu Oct 15 18:10:51 2009 -0700 mac80211: Learn about mesh portals from multicast traffic Mesh portals proxy traffic for nodes external to the mesh. When a proxied frame is received by a mesh interface, it should update its mesh portal table. This was only happening for unicast frames. With this change we also learn about mesh portals from proxied multicast frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a9b3a9f7214b3acc56330c2257aeaa5fa85bf520 Author: Ivo van Doorn Date: Thu Oct 15 22:04:14 2009 +0200 rt2x00: Implement support for rt2800pci Add support for the rt2860/rt3090 chipsets from Ralink. Includes various patches from a lot of people who helped getting this driver into the current shape. Signed-off-by: Alban Browaeys Signed-off-by: Benoit PAPILLAULT Signed-off-by: Felix Fietkau Signed-off-by: Luis Correia Signed-off-by: Mattias Nissler Signed-off-by: Mark Asselstine Signed-off-by: Xose Vazquez Perez Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5d78d34ba2d4a044983b599a697dc1d71af38c96 Author: Ivo van Doorn Date: Thu Oct 15 21:38:19 2009 +0200 rt2x00: Add rt2x00soc bus module Add new library module for SoC drivers. This is needed to fully support the platform driver part of rt2800pci. Based on original patch from Felix. Signed-off-by: Felix Fietkau Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 878283f19809bc73872c70ea53381f74a43a15e7 Author: Kalle Valo Date: Tue Oct 13 20:33:21 2009 +0300 wl1251: use ieee80211_rx_ni() Because of SPI and SDIO wl1251 does everything in a workqueue, including calling ieee80211_rx() which should be called with bottom halves disabled. An error message is emitted because of this: NOHZ: local_softirq_pending 08 Fix this by using ieee80211_rx_ni(). Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit e36e49f7338f0f73cd7f5ba4f5b646a479ab60a8 Author: Kalle Valo Date: Tue Oct 13 20:33:13 2009 +0300 mac80211: add ieee80211_rx_ni() ieee80211_rx() must be called with bottom halves disabled. To simplify driver development implement ieee80211_rx_ni() which disables BH. This function must be used when in process context. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 88499ab3d8dbbf9c080416952603742666c71262 Author: Michael Buesch Date: Fri Oct 9 20:33:32 2009 +0200 b43: Optimize PIO scratchbuffer usage This optimizes the PIO scratchbuffer usage. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2c759e03b3b7639fff23ec3b7bab64a35ca0914f Author: David-John Willis Date: Thu Oct 15 14:38:16 2009 +0100 wl1251: add support for PG11 chips. This simple patch adds support for the PG11 variant of the WL1251 chip as used on the OpenPandora OMAP3 device. Signed-off-by: David-John Willis Signed-off-by: John W. Linville commit fb46f26f383c3129ce4ae551a359a8e11704cbce Author: Luciano Coelho Date: Thu Oct 15 10:33:30 2009 +0300 wl1271: added missing packed modifier in some cmd structs Some of the struct definitions in the wl1271_acx.h file were missing the __attribute__ ((packed)) modifier. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit d0f63b202146f3281800ee44823740c8bbf38f11 Author: Luciano Coelho Date: Thu Oct 15 10:33:29 2009 +0300 wl1271: fix endianess issues We were not handling endianess correctly. The wl1271 chip runs on little-endian values. This patch makes sure that all the communication with the wl1271 firmware is done in little-endian by using cpu_to_le* and le*_to_cpu where appropriate. Also, all the struct definitions for data exchanged with the firmware has been changed to use __le16/32 types instead of u16/32. This fixes a few sparse warnings, such as these: drivers/net/wireless/wl12xx/wl1271_cmd.c:554:42: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:555:42: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:577:58: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:579:58: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:676:18: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:787:22: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_cmd.c:789:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_tx.c:98:47: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_acx.c:932:32: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_boot.c:191:32: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_boot.c:197:38: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_boot.c:199:37: warning: incorrect type in argument 1 (different base types) drivers/net/wireless/wl12xx/wl1271_init.c:255:40: warning: incorrect type in assignment (different base types) drivers/net/wireless/wl12xx/wl1271_init.c:275:53: warning: incorrect type in assignment (different base types) Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 0b5b72da1b21fe61926318dd842f6dd7c8862e9f Author: Luciano Coelho Date: Thu Oct 15 10:33:28 2009 +0300 wl1271: added missing packed modifier in some acx structs Some of the struct definitions in the wl1271_acx.h file were missing the __attribute__ ((packed)) modifier. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 938e30c9301fbd7c3677d01ad01c7eb4ad78b998 Author: Luciano Coelho Date: Thu Oct 15 10:33:27 2009 +0300 wl1271: fix sparse warnings about undeclared functions The following sparse warnings were fixed: drivers/net/wireless/wl12xx/wl1271_spi.c:199:6: warning: symbol 'wl1271_spi_read_busy' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:84:5: warning: symbol 'wl1271_cmd_cal_channel_tune' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:107:5: warning: symbol 'wl1271_cmd_cal_update_ref_point' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:132:5: warning: symbol 'wl1271_cmd_cal_p2g' was not declared. Should it be static? drivers/net/wireless/wl12xx/wl1271_cmd.c:153:5: warning: symbol 'wl1271_cmd_cal' was not declared. Should it be static? Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 7a38079e0da19447ab1c41e42094b311c6e945e4 Author: Juuso Oikarinen Date: Thu Oct 15 10:33:26 2009 +0300 wl1271: Set IEEE80211_FCTL_TODS in the null data template Set the IEEE80211_FCTL_TODS bit in the FC of the null data template. This is a mandatory requirement in specification. Signed-off-by: Juuso Oikarinen Cc: Vidhya Govindan Cc: Janne Ylälehto Reviewed-by: Janne Ylalehto Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 53623f1a09c7a7d23b74f0f7d93dba0ebde1006b Author: John W. Linville Date: Thu Oct 15 15:10:16 2009 -0400 mac80211: replace netif_tx_{start,stop,wake}_all_queues Replace netif_tx_{start,stop,wake}_all_queues with the single-queue equivalents (i.e. netif_{start,stop,wake}_queue). Since we are down to a single queue, these should peform slightly better. Signed-off-by: John W. Linville commit e5e2647fd6ceef2cdc479954b84517535eb7febd Author: Bob Copeland Date: Wed Oct 14 14:16:30 2009 -0400 ath5k: use noise calibration from madwifi hal This updates ath5k to calibrate the noise floor similar to the way it is done in the madwifi hal and ath9k. Of note: - we start NF measurement at the same time as AGC calibration, but do not actually read the value until the periodic (long) calibration - we keep a history of the last few values read and write the median back to the hardware for CCA - we do not complain if NF calibration isn't complete, instead we keep the last read value. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit e307fcf0a10f9c0c21b3d8b2ff7862b29796cc7f Author: Marek Lindner Date: Wed Oct 14 23:04:45 2009 +0800 ath9k: adjust ahb callbacks to new struct layout to avoid compile errors Signed-off-by: Marek Lindner Signed-off-by: John W. Linville commit 6d898b1983b62ad52f862014748ddce35aad005a Author: Holger Schurig Date: Wed Oct 14 16:49:53 2009 +0200 libertas: make __lbs_cmd_async() non-static This function will be needed for the cfg80211-enabled libertas driver. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 40f54242ae2d2b958b6ae7644f58de9e8a48992a Author: Kalle Valo Date: Tue Oct 13 20:41:20 2009 +0300 wl1251: rename spi device to wl1251 During rename of the driver from wl12xx to wl1251 the spi device name was accidentally left as wl12xx. Rename it to wl1251 which is the proper name of the driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit e0da41b2cf10ae95592cb2496f8f81aa4b4bf16c Author: Holger Schurig Date: Tue Oct 13 13:45:28 2009 +0200 cfg80211: remove warning in deauth case It might be the case that __cfg80211_disconnected() has already cleaned up wdev->current_bss() for us. The old code didn't catch that situation and didn't warn needlessly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ce470613cdfde70f25419cc52a4816315825f5d9 Author: Holger Schurig Date: Tue Oct 13 13:28:13 2009 +0200 cfg80211: no cookies in cfg80211_send_XXX() Get rid of cookies in cfg80211_send_XXX() functions. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b54853f1b157a173fe5ac9145623670c66a9e7b9 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:59 2009 +0300 wl1271: Fix filter configuration Fix the filter configuration to properly work with the two phase filter configuration (prepare_multicast/configure_filter.) Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit bd5ea18f7b47b5397233301920180128793295a2 Author: Luciano Coelho Date: Tue Oct 13 12:47:58 2009 +0300 wl1271: make sure PS is disabled in PLT We cannot be in PS mode when running PLT tests, so we need to make sure we're in active mode. Also, we need to clear up the rx_counter when we stop PLT, otherwise it could cause problems when entering PLT again. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit ed317788b925cfd896506ee775acca7392470b9b Author: Juuso Oikarinen Date: Tue Oct 13 12:47:57 2009 +0300 wl1271: Correct memory handling for FW boot Several memory allocation related failure cases were not properly handled by the driver - the result was that in low memory conditions booting of a corrupted FW could be attempted - and user space would not get proper failure code. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a163acce485a9629418659ff74737b89ba2c1751 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:56 2009 +0300 wl1271: Remove unnecessary rx_descriptor memory allocation Remove unnecessary RX descriptor memory allocation from the driver. The allocation was a remnant of the wl1251 driver. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 01c09162cd6170f3671825d6d5f2c1ae7b27cbf3 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:55 2009 +0300 wl1271: Support for IPv4 ARP filtering Add support for IPv4 ARP filtering in the driver. This will dramatically reduce the number of unnecessary interrupts by the device in conqested networks. This patch is based on a similar patch to wl1251 by Janne Ylälehto. Cc: Janne Ylälehto Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1fd2794f36913992798184c464fe8f85753b13e0 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:54 2009 +0300 wl1271: Fix event handling mechanism The event handling mechanism could miss events if multiple events would occur simultaneously. Fix event handling mechanism to process all events. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 7444113017b9d5394dc8c4bdf577f9567502417b Author: Juuso Oikarinen Date: Tue Oct 13 12:47:53 2009 +0300 wl1271: Fix multicast list handling Fixes bugs in the multicast list handling: - Use atomic memory allocation in non-sleepable context - Increment address pointer when iterating list of MC addresses Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 5d07b668f28175a39e4ad06eccab75e8275266d1 Author: Teemu Paasikivi Date: Tue Oct 13 12:47:52 2009 +0300 wl1271: Checking of rx descriptor status fixed Fixed checking of status of the received packet. On wl1251 status is in the flags field of the descriptor, on wl1271 there is a separate status field. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a410264553447ff90bf13e3662684e794e5ff83e Author: Teemu Paasikivi Date: Tue Oct 13 12:47:51 2009 +0300 wl1271: Added 5 GHz support to join and rx Added support to assiociate and use connection on 5 GHz band (802.11a). Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit abb0b3bfb2d2411034b721df21c31964265b851e Author: Teemu Paasikivi Date: Tue Oct 13 12:47:50 2009 +0300 wl1271: Added support to scan on 5 GHz band Added support to scan 802.11a access points on 5 GHz band when using wl1273 chip. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 311494c47fb670a1fd74eea54fa4d02a56fcc2ad Author: Teemu Paasikivi Date: Tue Oct 13 12:47:49 2009 +0300 wl1271: Scan only enabled channels Added checking of whether channel is enabled or disabled by mac80211 stack to scan. Disabled channels are not scanned. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1ebec3d750f2b5740e3c334dac06104d2f74a9b1 Author: Teemu Paasikivi Date: Tue Oct 13 12:47:48 2009 +0300 wl1271: Added 5 GHz parameters for wl1273 Added data rate and frequency tables for 5 GHz band channels, 5 GHz radio configration parameters and configuration option to enable 802.11 support. Signed-off-by: Teemu Paasikivi Reviewed-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c6d5d06e455b9965e300ae40c34fa2337e1aad0f Author: Juuso Oikarinen Date: Tue Oct 13 12:47:47 2009 +0300 wl1271: Remove busy-word checking Remove busy-word checking to work around an SPI bug. To reduce the chance of chipset-busy scenarios, increment the number of fixed busy words. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 11f70f9715f0d8f99eac42d69689e8df15283fea Author: Juuso Oikarinen Date: Tue Oct 13 12:47:46 2009 +0300 wl1271: Implement beacon early termination support Add support to enable beacon early termination in the firmware. Early Beacon termination is a feature which allows the radio to be turned off after TIM IE to save power. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit eb5b28d021a1b96050f7af46e9140eb0051cc6d8 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:45 2009 +0300 wl1271: Fix IRQ enable handling on FW init failure Disable IRQ's after FW initialization failure - originally this was not done in all cases, and it resulted in a kernel warning if firmware initialization was tried again without reboot. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8a08048a3722a6b52c2b34e070c4e6a32ad19e0d Author: Juuso Oikarinen Date: Tue Oct 13 12:47:44 2009 +0300 wl1271: Move default FW config struct away from stack Move the default FW config into a module global static variable, instead of being a stack variable. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 47fab7d589d46d87a5dbfd7f2ddd53deccfad504 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:43 2009 +0300 wl1271: Add config structure for FW init parameters Add a configuration structure for RX path parameters, and set default configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 51f2be24328957f9e2acf116b1b1d2dfd10bf41f Author: Juuso Oikarinen Date: Tue Oct 13 12:47:42 2009 +0300 wl1271: Add config structure for connection management parameters Add a configuration structure for connection management parameters, and set default configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 45b531a86f93c82d8e390e19a6258111b3627bb0 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:41 2009 +0300 wl1271: Add config structure for TX path parameters Add a configuration structure for TX path parameters, and set defalt configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8793f9bb19c00b26532e37f1f516e1d9c7bc0476 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:40 2009 +0300 wl1271: Add config structure for RX path parameters Add a configuration structure for RX path parameters, and set default configuration values there. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2b60100bf04aba28133ccb24efd85f72fb1a5494 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:39 2009 +0300 wl1271: Add structure for firmware configuration values In order to make the firmware configuration more manageable, collect hardcoded configuration values into one data structure, and set default values there. Add the SoftGemini BT/WLAN coex paramters into the config structure. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2cc8d4db9dd7df9dd12d86f2e37d1b4760d3dd98 Author: Juuso Oikarinen Date: Tue Oct 13 12:47:38 2009 +0300 wl1271: Workaround for reference clock setting on boot. If the 38.4MHz reference clock is configured to the firmware, it crashes on boot. Configuring an experimental 38.4MHz in XTAL mode allows the firmware to boot, and everything appears to work. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2f301227a1ede57504694e1f64839839f5737cac Author: Zhu Yi Date: Fri Oct 9 17:19:45 2009 +0800 iwlwifi: use paged Rx This switches the iwlwifi driver to use paged skb from linear skb for Rx buffer. So that it relieves some Rx buffer allocation pressure for the memory subsystem. Currently iwlwifi (4K for 3945) requests 8K bytes for Rx buffer. Due to the trailing skb_shared_info in the skb->data, alloc_skb() will do the next order allocation, which is 16K bytes. This is suboptimal and more likely to fail when the system is under memory usage pressure. Switching to paged Rx skb lets us allocate the RXB directly by alloc_pages(), so that only order 1 allocation is required. It also adjusts the area spin_lock (with IRQ disabled) protected in the tasklet because tasklet guarentees to run only on one CPU and the new unprotected code can be preempted by the IRQ handler. This saves us from spawning another workqueue to make skb_linearize/__pskb_pull_tail happy (which cannot be called in hard irq context). Finally, mac80211 doesn't support paged Rx yet. So we linearize the skb for all the management frames and software decryption or defragmentation required data frames before handed to mac80211. For all the other frames, we __pskb_pull_tail 64 bytes in the linear area of the skb for mac80211 to handle them properly. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ae751bab9f55c3152ebf713c89a4fb6f439c2575 Author: Luciano Coelho Date: Mon Oct 12 15:08:57 2009 +0300 wl1271: remove unnecessary joins and join only when the bssid changes We were using the join command to change some settings when the stack asked us to do it. In many cases they were not needed (and could cause potential problems), so they were removed. In other cases there are ACX commands that can be used instead of using join to reconfigure. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 0535d9f4f07df9a592b77fe75f66faee66a851e8 Author: Luciano Coelho Date: Mon Oct 12 15:08:56 2009 +0300 wl1271: use acx_rx_config instead of join when updating filters We shouldn't use a join command to change the filter settings while associated. The right way to do it is to use ACX_RX_CFG. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 8bcfcb125b036e978b1bd478d3f68278b05bcfd6 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:55 2009 +0300 wl1271: Update boot time configuration for the new firmware Update the magic values of the wl1271 boot time config according to the new reference driver. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 746214178774bc7f9adbeaef7d43a634570eb870 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:54 2009 +0300 wl1271: Remove outdated SPI functions With the change to the new firmware, there was a change to firmware memory partitioning. Along with that change, the translation of all partitions was unified, and separate functions for reg and mem access became unnecessary. Cleanup the unnecessary functions. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 207347e498cbe25fa2a8369edd49df43e56000be Author: Juuso Oikarinen Date: Mon Oct 12 15:08:53 2009 +0300 wl1271: Update TX path block calucation algo Update the TX path block calculation algorithm based on TI reference. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3cfd6cf960b2b030ccae1144a5c0dcd91c7c56a8 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:52 2009 +0300 wl1271: Enable smart reflex Enable and configure smart reflex. This should have a reducing impact on power consumption. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 5d0af498c08b43566733d5c5fb8293ce3b109eab Author: Juuso Oikarinen Date: Mon Oct 12 15:08:51 2009 +0300 wl1271: Enable ELP The new firmware has fixed a firmware crash problem related to ELP entry. Enable ELP to conserve power. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c15f63bffabb996f90b9c24c62fb0614c5a4f676 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:50 2009 +0300 wl1271: Update interrupt handling by removing an extra SPI read Remove separate interrupt register reading from the interrupt handling routine. This will slightly improve interrupt performance. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 284134eb6f928f6cdbfe95ab79f8e46233a22c98 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:49 2009 +0300 wl1271: RefClk configuration Updated RefClk configuration based on reference sources. Apparently this change will improve RF performance. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit e8768eeb5993bf9695adb4afe4118b7fd5e307a3 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:48 2009 +0300 wl1271: Add top-register access functions Add top register access function. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 732a1ad93e820768bb14732b8365493dbd69ecc8 Author: Juuso Oikarinen Date: Mon Oct 12 15:08:47 2009 +0300 wl1271: Remove RX workaround Remove RX workaround which is not needed with newer firmware revisions. This will reduce one SPI register transaction per RX packet. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 451de97adb4d0f101f3befc881a548adb47c467a Author: Juuso Oikarinen Date: Mon Oct 12 15:08:46 2009 +0300 wl1271: Update memory mapping for firmware revision 6.1.0.0.241 Update the memory regions and memory mapping to support firmware revision 6.1.0.0.241. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 37079a831d8194e138c03663b7cab281ab1dc181 Author: Luciano Coelho Date: Mon Oct 12 15:08:45 2009 +0300 wl1271: enable HW_AVAILABLE interrupt to fix ELP We need to listen to HW_AVAILABLE interrupts when using ELP with firmware revision 6.1.0.0.241. Add WL1271_ACX_INTR_HW_AVAILABLE to the interrupts that are enabled by default. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit ac78403e149cae56efa75ba025e7e717c4ad01ed Author: Luciano Coelho Date: Mon Oct 12 15:08:44 2009 +0300 wl1271: add workaround to avoid distortion due to excessive tx power We still don't have proper calibration for our devices, so we are using way too much power for TX, which causes a lot of distortion. This hack hardcodes the txpower to 7dBm. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit d6e19d135dadb1895296668914d0a15bc3cafcbf Author: Luciano Coelho Date: Mon Oct 12 15:08:43 2009 +0300 wl1271: workaround to send a disconnect before rejoining We don't get any indication from the stack when we have disassociated. In wl1271, it is important to send a CMD_DISCONNECT before joining again, because the firmware cleans some things up. So we check if we're already joined and disconnect if that's the case. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit 25a7dc6d22adda590be4932ebc772ea35914880c Author: Luciano Coelho Date: Mon Oct 12 15:08:42 2009 +0300 wl1271: implement cmd_disconnect This patch implements the CMD_DISCONNECT command, which should be sent to the firmware when we are disassociated. Signed-off-by: Luciano Coelho Reviewed-by: Juuso Oikarinen Signed-off-by: John W. Linville commit e57f14895bf6bc7f16df760963427ac6ee6ff7e1 Author: Wey-Yi Guy Date: Fri Oct 9 13:20:34 2009 -0700 iwlwifi: update channel switch command API Channel switch host command has different data structure for different devices. Adding additional structures to support 5000 and 6000 NICs. unlike 4965, starting with 5000 series, the tx power is managed by uCode, there is no tx power db information need to be passing from driver to uCode; but the space needs to be reserved to match uCode expection. 1000 NIC do not support channel switch operation since it is 'bgn' device, there is no need to have data structure defined for it. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 768db9829d0d45d57204714f18b54f7fc0561ddf Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:33 2009 -0700 iwl3945: rearrange the code. Rearrange the code and groups setting of retry_limit and data_retry_limits code together. Make 'data_retry_limit' setting similar to iwlwifi for better readability. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f0436f4702b7cdda22a38689cc1903822694a17 Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:32 2009 -0700 iwlwifi/iwl3945: remove data_retry_limit Remove the ununsed variable data_retry_limit from priv. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9744c91f91e9e467b38473a8b673324ae658ca88 Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:31 2009 -0700 iwl3945: rename tx to tx_cmd Rename iwl3945_tx_cmd variable tx to tx_cmd for better readability. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 37dc70fea870ced8fbd9ae786701529e7ce48f03 Author: Abhijeet Kolekar Date: Fri Oct 9 13:20:30 2009 -0700 iwlwifi/iwl3945: unify rts_tx_cmd_flag 3945 and 4965 share the functionality for setting RTS and CTS to the tx_cmd. Unify these functions and move the common functionality to core. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 92a35bda792cf9295b1d399f7c937d4560292b1e Author: Wey-Yi Guy Date: Fri Oct 9 13:20:29 2009 -0700 iwlwifi: showing accumulative ucode statistics counters Adding accumulative statistics counters in iwlwifi driver. Statistics counters are reported by uCode every beacon interval; but can be reset by uCode when needed. The accumulative statistics counters is maintained by driver to keep track of the history of all the counters. Update the ucode stats files in debugfs to display both latest and accumulative counters. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 88804e2b33b6ab3974ff2330cd045ca53d6750c5 Author: Wey-Yi Guy Date: Fri Oct 9 13:20:28 2009 -0700 iwlwifi: dynamic allocate tx queue structure Instead of always allocate the max number of tx queue structure, use dynamic allocation based on the number of queues in device configuration. With these changes, device does not have to allocate more memory than the h/w can support. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 008a9e3e3c37abd7f56d2478fe92d5874de3630a Author: Ben Cahill Date: Fri Oct 9 13:20:27 2009 -0700 iwl3945: move iwl_power_initialize() iwl_power_initialize() initializes driver data (not device hardware), and does not need to execute more than once (when the driver initializes). Therefore, it does not belong in iwl3945_apm_init(), which initializes hardware, and may run more than once. Move it to iwl3945_pci_probe(), where it will run only once. This agrees with similar placement in iwl-agn.c's iwl_pci_probe(), although placement under "services" seemed more appropriate than under "mac80211". Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 743cdf1b65656faf1e6f1f74278c52b89a0b7360 Author: Ben Cahill Date: Fri Oct 9 13:20:26 2009 -0700 iwl3945: streamline iwl3945_rfkill_poll() iwl3945_rfkill_poll() has been silently calling wiphy_rfkill_set_hw_state() every 2 seconds, regardless of whether hardware RF KILL switch changed state. Call wiphy_rfkill_set_hw_state() only when RFKILL switch changes. Add IWL_DEBUG_RF_KILL log message and documentation. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1a34c043802a213e719420ece395cf25c85cc7c5 Author: Reinette Chatre Date: Fri Oct 9 13:20:25 2009 -0700 iwlwifi: fix userspace setting of sleep_level_override The sleep_level_override debugfs file is used by the user to request a static power index instead of the dynamic sleep values. Users are expected to provide value from 1 to 5 as an index or -1 to disable it. The problem at the moment is that users can also provide 0 to this file which, together with the value 1, is translated to index 1. This is confusing and even more so when users write 0 to sleep_level_override and then read 1 from it afterwards. Modify checking to treat 0 as invalid. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 55036d6602679fb88dd7b1c19bb7203a0213b684 Author: Wey-Yi Guy Date: Fri Oct 9 13:20:24 2009 -0700 iwlwifi: additional items in sensitivity range table Add more items to sensitivity range table to avoid using hardcoded values. Initialize the table per device since unique per device information is required to perform sensitivity calibration. additional items in sensitivity range table: .barker_corr_th_min: Barker correlation threshold minimum .barker_corr_th_min_mrc: Barker correlation threshold minimum for MRC .nrg_th_cca: Energy threshold for Clear Channel Assessment Barker codes are a technique used in WLAN encoding for transmission. MRC is "Maximal Ratio Combining", a technique for optimally combining the signals from 2 or more receivers to achieve a better signal. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bd35f150823c21000f4c0f029abb258bc1ae3b5f Author: Wey-Yi Guy Date: Fri Oct 9 13:20:23 2009 -0700 iwlwifi: remove duplicated/unused definition "IWL_CMD_QUEUE_NUM" is being defined in multiple places and used by all the devices. move it to iwl-dev.h file and shared by all the devices. Remove "IWL_CMD_FIFO_NUM", replaced by "IWL49_CMD_FIFO_NUM" and IWL50_CMD_FIFO_NUM" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b660d3adb8dd4ead54744c9269bae9338163020a Author: Ben Cahill Date: Fri Oct 9 13:20:22 2009 -0700 iwlagn, iwl3945: remove apm_reset() functions Clean up device-specific apm_reset() functions and library infrastructure, now that these reset() functions are no longer being used. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 278d84051d1944080d4cfdba205af5f5ce4f4064 Author: Ben Cahill Date: Fri Oct 9 13:20:21 2009 -0700 iwl3945: remove unnecessary call to apm_ops.reset() Now that we're unconditionally using apm_ops.stop() to reset and power-down the device in __iwl3945_down(), the apm_ops.reset() is redundant. Removing this call will also allow us to remove iwl3945_apm_reset(). Remove unneeded iwl_clear_bit(CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ) because this bit will be set again very soon in iwl3945_hw_txq_ctx_stop() and other following calls. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4d2ccdb94847248a4075414169108d8f929c153c Author: Ben Cahill Date: Fri Oct 9 13:20:20 2009 -0700 iwlwifi: turn off device when not used. In some cases (e.g. when mac80211 calls iwl_mac_stop() for suspend or user no longer wants device active), device has not been going into low power state via __iwl_down(). apm_ops.reset() does not put device into low power state; instead it resets the device, then puts it into a powered-up state ready to be re-loaded with uCode and re-started. This has needlessly warmed up user's laptops and drained batteries. With current architecture in which mac80211 controls device up/down (including resetting device after firmware errors), there is no need for apm_ops.reset() any more; apm_ops.reset() is basically a combination of apm_ops.stop() and apm_ops.init(). Instead, __iwl_down() now unconditionally places the device into a low-power state via apm_ops.stop(). Device may be re-started via __iwl_up() calling apm_ops.init() as soon as it may be needed (e.g. quickly for firmware errors), but in the meantime, device will stop wasting energy. Note that, even in this low power state, if driver re-enables interrupts, the device retains the ability to sense the hardware RF-KILL switch, and (except for 3945) interrupt the host when it changes. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f33269b8968d1c64772a9221e2c9c42d07a9b5ae Author: Ben Cahill Date: Fri Oct 9 13:20:19 2009 -0700 iwl3945: update iwl3945_apm_init() Update iwl3945_apm_init() to set up device registers in sequence most recently recommended by factory. Add resets for APMG interrupts and radio chip, formerly done only in iwl3945_apm_reset(); moving them here assures that apm_init() will do a complete job of preparing hardware not only after platform boot, but also after apm_stop() has executed (due to rfkill, ifconfig down, driver unload, etc.). This is in preparation to completely remove apm_reset(). Add some comments. Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 40b93ad6e97a1d412c4b86f4717fee9b4bc830e1 Author: matthieu castet Date: Fri Oct 9 22:12:25 2009 +0200 airo : allow supend with card without power management Some airo card don't support power Management [1]. Don't abort suspend with those cards. 00:06.0 Network controller: AIRONET Wireless Communications PC4800 (rev 01) Flags: medium devsel, IRQ 17 Memory at dffffe00 (32-bit, non-prefetchable) [size=128] I/O ports at d000 [size=128] I/O ports at cc00 [size=64] Kernel driver in use: airo Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit c32bec78e1af751a279ec1614eadd36aab532e56 Author: Michael Buesch Date: Fri Oct 9 20:48:16 2009 +0200 b43: Remove me as maintainer Remove me Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8b45499ccb8a93cd68b1a8766786c2f8ea991ae2 Author: Michael Buesch Date: Fri Oct 9 20:32:10 2009 +0200 ssb: Put host pointers into a union This slightly shrinks the structure. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 899110fe4e1b26f7a13e639c57e2a047d21bffa2 Author: Michael Buesch Date: Fri Oct 9 20:30:10 2009 +0200 b43/legacy: Fix usage of host_pci pointer We must check the bustype before using the host_pci pointer. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 332c556633b8c5fb4e890b1783122f2315526590 Author: Sujith Date: Fri Oct 9 09:51:28 2009 +0530 ath9k: Fix TX hang poll routine When TX is hung, the chip is reset. Ensure that the chip is awake by using the PS wrappers. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c0bbd57679efc2350703a1c0f3fc624cbcaba55f Author: Amitkumar Karwar Date: Thu Oct 8 19:38:45 2009 -0700 libertas: Check return status of command functions Return status of lbs_prepare_and_send_command and lbs_cmd_with_response functions is not checked at some places. Those checks are added. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit be823e5b2d71d367b5e27496e2b19d453e21936e Author: Juuso Oikarinen Date: Thu Oct 8 21:56:36 2009 +0300 wl1271: Mask unneeded events from firmware to conserve power Currently several events are enabled from the firmware for which there is no handling. This wakes up the host unnecessarily. Mask those unneeded events. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1922167b9de575d9d1a56be9b80f0fa3b22785f9 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:35 2009 +0300 wl1271: Configure beacon filtering on if PSM used Enable beacon filtering when PSM is enabled Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit b771eee583343782c8b44d2b78cf53c29d0f3303 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:34 2009 +0300 wl1271: Enable beacon filtering with the stack Enable beacon filtering with the mac80211 stack. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 344152361e6d14ade61d7f43678db7418cb445db Author: Juuso Oikarinen Date: Thu Oct 8 21:56:33 2009 +0300 wl1271: Add connection monitoring configuration Add configuration for connection monitor (number of allowed beacons, and timeout after last received beacon.) Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1fba49741dc50d13d2fe6cf04f5a547e6c5c81f6 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:32 2009 +0300 wl1271: Use vmalloc to allocate memory for firmware Use vmalloc to allocate memory for the firmware image, and use a smaller linear buffer for the actual transfer of the firmware to the chipset. This patch is an adaptation of a similar patch for wl1251 by Kalle Valo. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c87dec9f189b884df215756e285b9281cf065206 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:31 2009 +0300 wl1271: Multicast filtering configuration Enable multicast filtering. This way by default no multicast frames will reach the host, and when needed, only required multicast frames can be passed from the WLAN chipset to the host. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 66497dc3bd569e05a5bcb729d495eebad47aa46a Author: Juuso Oikarinen Date: Thu Oct 8 21:56:30 2009 +0300 wl1271: Clear probe-request template after scan Clear the probe-request template on the firmware after scan. Unless cleared, the firmware can independently send probe requests to the AP and interfere with the mac80211 logic. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a64b07e8c6ff8394cd8c5a505b9f04d945f9f30f Author: Juuso Oikarinen Date: Thu Oct 8 21:56:29 2009 +0300 wl1271: use workqueue provided by mac80211 instead of the default Use the workqueue provided by the mac80211 stack instead of the system default queue. Modified to use new ieee_queue_work() as required by changes in the stack. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 64a7f67287c75f5bb28018a6ff2750a59ee1195a Author: Luciano Coelho Date: Thu Oct 8 21:56:28 2009 +0300 wl1271: hack to disable filters This is a hack to disable all filters in the join command. This is based on Kalle Valo's patch for wl1251. Cc: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 2f0187250041afc765df51e2cce653e8a5b9c1b6 Author: Luciano Coelho Date: Thu Oct 8 21:56:27 2009 +0300 wl1271: added Juuso Oikarinen as module author Add Juuso as one of the module authors, since he's working heavily on this module as well. Cc: Juuso Oikarinen Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit be7078c21d826fbaab77f88440958019aab969af Author: Juuso Oikarinen Date: Thu Oct 8 21:56:26 2009 +0300 wl1271: Corrections to TX path Corrections to the TX path - use correct number of maximum descriptors (32 instead of 16) and correct checking and setting of excessive retries on completion. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d94cd297e58b55bb272fdfd51ff0de7acbc1941b Author: Juuso Oikarinen Date: Thu Oct 8 21:56:25 2009 +0300 wl1271: Update join usage Update the usage of join's, including using actual beacon interval and dtim from AP, and configuring a basic rate set from AP. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 8a5a37a6c492f7c9602aa72ef19f69c926cdca15 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:24 2009 +0300 wl1271: Configure rate policies based on AP rates Configure the rate policies to the firmware based on the rates given by the AP. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 545f1da8ef0f20923feb500bcfaf0e2fb6068fb4 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:23 2009 +0300 wl1271: Implementation for SPI busy word checking This patch adds implementation for checking for SPI busy words - i.e. honoring a delay request from the WLAN chipset upon reading registers/memory. To optimized the average SPI ready by 32 bits, also configure the number of busywords to one to disable the "fixed-busy-word" functionality. Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c3fea1994ac34dafa3ebb40d4f95354b2782af31 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:22 2009 +0300 wl1271: mask aid bits 14 and 15 in ps-poll template In ps-poll template aid bits 14 and 15 were not masked as required by the standard. Mask them so that aid is sent in correct format. This patch is a direct port of the respective patch for the wl1251 driver by Kalle Valo. Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 37b70a81855e4a2e66716804ae55ff717520e7fb Author: Juuso Oikarinen Date: Thu Oct 8 21:56:21 2009 +0300 wl1271: Implement delayed entry into ELP Implement delayed entry into ELP. This will promote the following: - Less redundant sleep/wake cycles (better perf) - Avoids known firmware issues with going to ELP too fast after an operation Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 1e2b79761d551c545225e1fa6e7d144f7e804898 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:20 2009 +0300 wl1271: Correct TKIP header space handling in TX path Correct the position to which TKIP header space is appended for TX packets. Signed-off-by: Juuso Oikarinen Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit ac4e4ce54eb9cb4963a1d3d91fc65536d882ffb2 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:19 2009 +0300 wl1271: Security sequence number handling for TX (for WPA) Add security sequence number handling to the driver TX data path needed by WPA. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3b4be9e08abd8c390d13001f5dd55f64afa5ab93 Author: Juuso Oikarinen Date: Thu Oct 8 21:56:18 2009 +0300 wl1271: Correction to TX block allocation calculation Correct the TX path implementation to allocate sufficient blocks in the firmware for TX packets. Signed-off-by: Juuso Oikarinen Reviewed-by: Kalle Valo Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 9d565973deb09479de5eed7a5b6594428dc49dde Author: Luciano Coelho Date: Thu Oct 8 21:56:17 2009 +0300 wl1271: remove unecessary qual parameter from rx status The qual element in ieee80211_rx_status is not used anymore, so we don't need to set it in the wl1271_rx_status() function. This saves a bit of time in the RX path. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3414fc3f527ce74cfca543c37bcb52c8e63b915e Author: David Kilroy Date: Wed Oct 7 22:23:32 2009 +0100 orinoco: use cfg80211 ethtool ops Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6226811f4eec35c509b931ac900ac074336103f5 Author: Luis R. Rodriguez Date: Wed Oct 7 16:22:19 2009 -0400 ath9k_hw: run ath9k_hw_9271_pa_cal() initial calibration The PA calibration for ar9271 ath9k_hw_9271_pa_cal() can run during reset or initial calibration, update the PA calibration to account for that and initialize PA calibration variables for both conditions. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b57df129aaf65819f4eb80c2a5be3765509e9d23 Author: Luis R. Rodriguez Date: Wed Oct 7 16:22:18 2009 -0400 ath9k_hw: run the carrier leakage calibration fix for ar9271 as well This is required for the ar9271 hardware as well. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 883242dd0e5faaba041528a9a99f483f2a656c83 Author: Steven Rostedt Date: Tue Oct 27 13:15:11 2009 -0400 tracing: allow to change permissions for text with dynamic ftrace enabled The commit 74e081797bd9d2a7d8005fe519e719df343a2ba8 x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA prevents text sections from becoming read/write using set_memory_rw. The dynamic ftrace changes all text pages to read/write just before converting the calls to tracing to nops, and vice versa. I orginally just added a flag to allow this transaction when ftrace did the change, but I also found that when the CPA testing was running it would remove the read/write as well, and ftrace does not do the text conversion on boot up, and the CPA changes caused the dynamic tracer to fail on self tests. The current solution I have is to simply not to prevent change_page_attr from setting the RW bit for kernel text pages. Reported-by: Ingo Molnar Cc: Suresh Siddha Cc: H. Peter Anvin Signed-off-by: Steven Rostedt commit 2c28e2451dba2260e9f88811b29a7787db7e7616 Author: Paul E. McKenney Date: Mon Oct 26 13:57:44 2009 -0700 rcu: Fix TINY_RCU #elif condition Some compilers are happy with "#elif CONFIG_RCU_TINY", while others strongly prefer "#elif defined(CONFIG_RCU_TINY)". Change to the latter to make more compilers happy. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12565906642768-git-send-email-> Signed-off-by: Ingo Molnar commit 6f9b41006af1bc489030f84ee247abc0df1edccd Author: Andreas Herrmann Date: Tue Oct 27 11:01:38 2009 +0100 x86, apic: Clear APIC Timer Initial Count Register on shutdown Commit a98f8fd24fb24fcb9a359553e64dd6aac5cf4279 (x86: apic reset counter on shutdown) set the counter to max to avoid spurious interrupts when the timer is re-enabled. (In theory) you'll still get a spurious interrupt if spending more than 344 seconds with this interrupt disabled and then unmasking it. The right thing to do is to clear the register. This disables the interrupt from happening (at least it does on AMD hardware). Signed-off-by: Andreas Herrmann LKML-Reference: <20091027100138.GB30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit 689d30187828afe1faedf050b2f7593515b90c76 Author: Marti Raudsepp Date: Tue Oct 27 00:33:05 2009 +0000 perf tools: Output 'perf list' to stdout not stderr Writing to stdout is probably the expected behavior because the user explicitly asked for a list. Signed-off-by: Marti Raudsepp Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4ebb59420ef057972167.1256603585@localhost> Signed-off-by: Ingo Molnar commit 85df6f683efa457440eb922272fd5a71aa022ad4 Author: Marti Raudsepp Date: Tue Oct 27 00:33:04 2009 +0000 perf tools: Notify user when unrecognized event is specified Previously no indication was given about what went wrong. Signed-off-by: Marti Raudsepp Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <03ec9ee96f17cef05424.1256603584@localhost> Signed-off-by: Ingo Molnar commit 5b2bb75a0d4b08cd16bc35ecd674f957fc3b0eb7 Author: Arnaldo Carvalho de Melo Date: Mon Oct 26 19:23:19 2009 -0200 perf top: Support userspace symbols too Example: Compiling the kernel with 'make -k 22 allyesconfig' [root@emilia linux-2.6-tip]# perf top -r 90 ------------------------------------------------------------------------------ PerfTop: 3669 irqs/sec kernel:59.9% [1000Hz cycles], (all, 8 CPUs) ------------------------------------------------------------------------------ samples pcnt function DSO _______ _____ ________________________________ ________________ 3062.00 6.5% clear_page_c [kernel] 2233.00 4.8% _int_malloc /lib64/libc-2.5.so 2100.00 4.5% yylex /home/acme/git/build/allyesconfig/scripts/genksyms/genksyms 2029.00 4.3% memset /lib64/libc-2.5.so 1224.00 2.6% page_fault [kernel] 1075.00 2.3% __GI_strlen /lib64/libc-2.5.so 863.00 1.8% sub_preempt_count [kernel] 822.00 1.8% __GI_memcpy /lib64/libc-2.5.so 810.00 1.7% __GI_vfprintf /lib64/libc-2.5.so 786.00 1.7% _int_free /lib64/libc-2.5.so 775.00 1.7% __GI_strcmp /lib64/libc-2.5.so 748.00 1.6% _spin_lock [kernel] 699.00 1.5% main /home/acme/git/build/allyesconfig/scripts/basic/fixdep 659.00 1.4% add_preempt_count [kernel] 649.00 1.4% yyparse /home/acme/git/build/allyesconfig/scripts/genksyms/genksyms 645.00 1.4% preempt_trace [kernel] 635.00 1.4% __GI___libc_free /lib64/libc-2.5.so 597.00 1.3% trace_preempt_on [kernel] 551.00 1.2% __GI___libc_malloc /lib64/libc-2.5.so 516.00 1.1% _spin_lock_irqsave [kernel] 481.00 1.0% copy_user_generic_string [kernel] 479.00 1.0% unmap_vmas [kernel] 429.00 0.9% _IO_file_xsputn_internal /lib64/libc-2.5.so 425.00 0.9% __GI_strncpy /lib64/libc-2.5.so 416.00 0.9% get_page_from_freelist [kernel] 414.00 0.9% malloc_consolidate /lib64/libc-2.5.so 406.00 0.9% get_parent_ip [kernel] 362.00 0.8% __rmqueue [kernel] 347.00 0.7% in_lock_functions [kernel] 316.00 0.7% __d_lookup [kernel] [root@emilia linux-2.6-tip]# More polishing is needed to print just DSO basename when not --verbose, etc. Supporting a 'comm' column requires some more reworking of 'perf top' internals as we will need to use something like the hist entries 'perf report' uses and will be done in another patch. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256592199-9608-3-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 234fbbf508c58c5084292b11b242377553897459 Author: Arnaldo Carvalho de Melo Date: Mon Oct 26 19:23:18 2009 -0200 perf tools: Generalize event synthesizing routines Because we will need it in 'perf top' to support userspace symbols for existing threads. Now we pass a callback that will receive the synthesized event and then write it to the output file in 'perf record' and in the upcoming patch for 'perf top' we will just immediatelly create the in memory representation of threads and maps. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256592199-9608-2-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 7f3bedcc93f935631d2363f23de1cc80f04fdf3e Author: Arnaldo Carvalho de Melo Date: Mon Oct 26 19:23:17 2009 -0200 perf record: Fix race where process can disappear while reading its /proc/pid/tasks Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256592199-9608-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 3e02e5cb47e049727a26c9c110867a26972bd0d6 Author: Huang Ying Date: Tue Oct 27 19:07:24 2009 +0800 crypto: ghash-intel - Fix building failure on x86_32 CLMUL-NI accelerated GHASH should be turned off on non-x86_64 machine. Reported-by: Dave Young Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit fa4ef8a6af4745bbf3a25789bc7d4f14a3a6d803 Author: Felipe Contreras Date: Tue Oct 27 19:04:42 2009 +0800 crypto: testmgr - Fix warning crypto/testmgr.c: In function ‘test_cprng’: crypto/testmgr.c:1204: warning: ‘err’ may be used uninitialized in this function Signed-off-by: Felipe Contreras Signed-off-by: Herbert Xu commit 2024e7d6804b3f6251b28126eceb7f6bf2e3a4e8 Author: Roel Kluin Date: Tue Oct 27 18:51:33 2009 +0800 crypto: ansi_cprng - Fix test in get_prng_bytes size_t nbytes cannot be less than 0 and the test was redundant. Signed-off-by: Roel Kluin Acked-by: Neil Horman Signed-off-by: Herbert Xu commit a361c83cb4d7c8fe013d82a2f124175a7f276f30 Author: Jasper Spaans Date: Fri Oct 23 04:09:24 2009 +0000 bonding: Remove bond_dev from xmit_hash_policy call. Now that the bonding device is no longer used in determining the device to which to send packets, it can be dropped from the argument list of the various xmit_hash_policy calls. Signed-off-by: Jasper Spaans Acked-by: Eric Dumazet Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit cfadf853f6cd9689f79a63ca960c6f9d6665314f Merge: 05423b2 f568a92 Author: David S. Miller Date: Tue Oct 27 01:03:26 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/sh_eth.c commit 05423b241311c9380b7280179295bac7794281b6 Author: Eric Dumazet Date: Mon Oct 26 18:40:35 2009 -0700 vlan: allow null VLAN ID to be used We currently use a 16 bit field (vlan_tci) to store VLAN ID/PRIO on a skb. Null value is used as a special value, meaning vlan tagging not enabled. This forbids use of null vlan ID. As pointed by David, some drivers use the 3 high order bits (PRIO) As VLAN ID is 12 bits, we can use the remaining bit (CFI) as a flag, and allow null VLAN ID. In case future code really wants to use VLAN_CFI_MASK, we'll have to use a bit outside of vlan_tci. #define VLAN_PRIO_MASK 0xe000 /* Priority Code Point */ #define VLAN_PRIO_SHIFT 13 #define VLAN_CFI_MASK 0x1000 /* Canonical Format Indicator */ #define VLAN_TAG_PRESENT VLAN_CFI_MASK #define VLAN_VID_MASK 0x0fff /* VLAN Identifier */ Reported-by: Gertjan Hofman Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9dbb58d867e90d2528752339751216c955523e62 Author: Kurt Van Dijck Date: Mon Oct 26 17:33:59 2009 -0700 can: sja1000: fix bug using library functions for skb allocation Commit 7b6856a0 "can: provide library functions for skb allocation" did not properly remove two lines of the SJA1000 driver resulting in a 'skb_over_panic' when calling skb_put, as reported by Kurt. Signed-off-by: Kurt Van Dijck Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 10e85f7f08535c91aa623547c1024d570af4cdcd Author: Krishna Kumar Date: Fri Oct 23 01:13:21 2009 +0000 cxgb3: Set the rxq Set the rxq# for LRO when processing the last fragment of a frame. This helps in fast txq selection for routing workloads. Signed-off-by: Krishna Kumar Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 1a1238a7dd48e48b3bba8f426a1d61c22c80d6d1 Author: Shaohua Li Date: Tue Oct 27 08:46:23 2009 +0100 cfq-iosched: improve hw_tag detection If active queue hasn't enough requests and idle window opens, cfq will not dispatch sufficient requests to hardware. In such situation, current code will zero hw_tag. But this is because cfq doesn't dispatch enough requests instead of hardware queue doesn't work. Don't zero hw_tag in such case. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe commit 88b91c7ca49bc8600cf1106eb891d08c1965b9ce Author: Peter Zijlstra Date: Mon Oct 26 10:24:31 2009 -0700 rcu: Simplify creating of lockdep class for root rcu_node Use lockdep_set_class() to simplify the code and to avoid any additional overhead in the !LOCKDEP case. Also move the definition of rcu_root_class into kernel/rcutree.c, as suggested by Lai Jiangshan. Signed-off-by: Peter Zijlstra Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1256577871443-git-send-email-> Signed-off-by: Ingo Molnar commit 7dea7c01dac9b74faa9afa93fc9bb5f2d37521dc Author: Mark Brown Date: Mon Oct 26 15:20:17 2009 +0000 ASoC: Add regulator support for WM8731 Signed-off-by: Mark Brown commit e6c5bc737ab71e4af6025ef7d150f5a26ae5f146 Author: Jeff Moyer Date: Fri Oct 23 17:14:52 2009 -0400 cfq: break apart merged cfqqs if they stop cooperating cfq_queues are merged if they are issuing requests within the mean seek distance of one another. This patch detects when the coopearting stops and breaks the queues back up. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit b3b6d0408c953524f979468562e7e210d8634150 Author: Jeff Moyer Date: Fri Oct 23 17:14:51 2009 -0400 cfq: change the meaning of the cfqq_coop flag The flag used to indicate that a cfqq was allowed to jump ahead in the scheduling order due to submitting a request close to the queue that just executed. Since closely cooperating queues are now merged, the flag holds little meaning. Change it to indicate that multiple queues were merged. This will later be used to allow the breaking up of merged queues when they are no longer cooperating. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit df5fe3e8e13883f58dc97489076bbcc150789a21 Author: Jeff Moyer Date: Fri Oct 23 17:14:50 2009 -0400 cfq: merge cooperating cfq_queues When cooperating cfq_queues are detected currently, they are allowed to skip ahead in the scheduling order. It is much more efficient to automatically share the cfq_queue data structure between cooperating processes. Performance of the read-test2 benchmark (which is written to emulate the dump(8) utility) went from 12MB/s to 90MB/s on my SATA disk. NFS servers with multiple nfsd threads also saw performance increases. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit b2c18e1e08a5a9663094d57bb4be2f02226ee61c Author: Jeff Moyer Date: Fri Oct 23 17:14:49 2009 -0400 cfq: calculate the seek_mean per cfq_queue not per cfq_io_context async cfq_queue's are already shared between processes within the same priority, and forthcoming patches will change the mapping of cic to sync cfq_queue from 1:1 to 1:N. So, calculate the seekiness of a process based on the cfq_queue instead of the cfq_io_context. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit fcd14b3203b538dca04a2b065c774c0b57863eec Author: Michael Cree Date: Mon Oct 26 21:32:06 2009 +1300 perf tools, Alpha: Add Alpha support to perf.h For the perf tool the patch implements an Alpha specific section in the perf.h header file. Signed-off-by: Michael Cree Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1256545926-6972-1-git-send-email-mcree@orcon.net.nz> Signed-off-by: Ingo Molnar commit 4ce5b90340879ce93d169b7b523c2cbbe7c45843 Author: Ingo Molnar Date: Mon Oct 26 07:55:55 2009 +0100 rcu: Do tiny cleanups in rcutiny No change in functionality - just straighten out a few small stylistic details. Cc: Paul E. McKenney Cc: David Howells Cc: Josh Triplett Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226351355-git-send-email-> Signed-off-by: Ingo Molnar commit cf886c44ec418a01b2c52493465accb81acbf930 Author: Paul E. McKenney Date: Sun Oct 25 19:03:54 2009 -0700 rcu: Improve rcutorture diagnostics when bad torture_type specified Make rcutorture list the available torture_type values when it doesn't like the one specified. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226351868-git-send-email-> Signed-off-by: Ingo Molnar commit 64179861cb801eac4f00c79f39a29ea5ac9470d7 Author: Paul E. McKenney Date: Sun Oct 25 19:03:53 2009 -0700 rcu: Add synchronize_srcu_expedited() to the documentation Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226354176-git-send-email-> Signed-off-by: Ingo Molnar commit 804bb8370522a569bd3a732b9de5fbd55e26f155 Author: Paul E. McKenney Date: Sun Oct 25 19:03:52 2009 -0700 rcu: Add synchronize_srcu_expedited() to the rcutorture test suite Adds the "srcu_expedited" torture type, and also renames sched_ops_sync to sched_sync_ops for consistency while we are in this file. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226353636-git-send-email-> Signed-off-by: Ingo Molnar commit 0cd397d33608ae6c97d2ee6c8c43462b419b7e26 Author: Paul E. McKenney Date: Sun Oct 25 19:03:51 2009 -0700 rcu: Add synchronize_srcu_expedited() This patch creates a synchronize_srcu_expedited() that uses synchronize_sched_expedited() where synchronize_srcu() uses synchronize_sched(). The synchronize_srcu() and synchronize_srcu_expedited() functions become one-liners that pass synchronize_sched() or synchronize_sched_expedited(), repectively, to a new __synchronize_srcu() function. While in the file, move the EXPORT_SYMBOL_GPL()s to immediately follow the corresponding functions. Requested-by: Avi Kivity Tested-by: Marcelo Tosatti Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: avi@redhat.com LKML-Reference: <12565226354038-git-send-email-> Signed-off-by: Ingo Molnar commit 9b1d82fa1611706fa7ee1505f290160a18caf95d Author: Paul E. McKenney Date: Sun Oct 25 19:03:50 2009 -0700 rcu: "Tiny RCU", The Bloatwatch Edition This patch is a version of RCU designed for !SMP provided for a small-footprint RCU implementation. In particular, the implementation of synchronize_rcu() is extremely lightweight and high performance. It passes rcutorture testing in each of the four relevant configurations (combinations of NO_HZ and PREEMPT) on x86. This saves about 1K bytes compared to old Classic RCU (which is no longer in mainline), and more than three kilobytes compared to Hierarchical RCU (updated to 2.6.30): CONFIG_TREE_RCU: text data bss dec filename 183 4 0 187 kernel/rcupdate.o 2783 520 36 3339 kernel/rcutree.o 3526 Total (vs 4565 for v7) CONFIG_TREE_PREEMPT_RCU: text data bss dec filename 263 4 0 267 kernel/rcupdate.o 4594 776 52 5422 kernel/rcutree.o 5689 Total (6155 for v7) CONFIG_TINY_RCU: text data bss dec filename 96 4 0 100 kernel/rcupdate.o 734 24 0 758 kernel/rcutiny.o 858 Total (vs 848 for v7) The above is for x86. Your mileage may vary on other platforms. Further compression is possible, but is being procrastinated. Changes from v7 (http://lkml.org/lkml/2009/10/9/388) o Apply Lai Jiangshan's review comments (aside from might_sleep() in synchronize_sched(), which is covered by SMP builds). o Fix up expedited primitives. Changes from v6 (http://lkml.org/lkml/2009/9/23/293). o Forward ported to put it into the 2.6.33 stream. o Added lockdep support. o Make lightweight rcu_barrier. Changes from v5 (http://lkml.org/lkml/2009/6/23/12). o Ported to latest pre-2.6.32 merge window kernel. - Renamed rcu_qsctr_inc() to rcu_sched_qs(). - Renamed rcu_bh_qsctr_inc() to rcu_bh_qs(). - Provided trivial rcu_cpu_notify(). - Provided trivial exit_rcu(). - Provided trivial rcu_needs_cpu(). - Fixed up the rcu_*_enter/exit() functions in linux/hardirq.h. o Removed the dependence on EMBEDDED, with a view to making TINY_RCU default for !SMP at some time in the future. o Added (trivial) support for expedited grace periods. Changes from v4 (http://lkml.org/lkml/2009/5/2/91) include: o Squeeze the size down a bit further by removing the ->completed field from struct rcu_ctrlblk. o This permits synchronize_rcu() to become the empty function. Previous concerns about rcutorture were unfounded, as rcutorture correctly handles a constant value from rcu_batches_completed() and rcu_batches_completed_bh(). Changes from v3 (http://lkml.org/lkml/2009/3/29/221) include: o Changed rcu_batches_completed(), rcu_batches_completed_bh() rcu_enter_nohz(), rcu_exit_nohz(), rcu_nmi_enter(), and rcu_nmi_exit(), to be static inlines, as suggested by David Howells. Doing this saves about 100 bytes from rcutiny.o. (The numbers between v3 and this v4 of the patch are not directly comparable, since they are against different versions of Linux.) Changes from v2 (http://lkml.org/lkml/2009/2/3/333) include: o Fix whitespace issues. o Change short-circuit "||" operator to instead be "+" in order to fix performance bug noted by "kraai" on LWN. (http://lwn.net/Articles/324348/) Changes from v1 (http://lkml.org/lkml/2009/1/13/440) include: o This version depends on EMBEDDED as well as !SMP, as suggested by Ingo. o Updated rcu_needs_cpu() to unconditionally return zero, permitting the CPU to enter dynticks-idle mode at any time. This works because callbacks can be invoked upon entry to dynticks-idle mode. o Paul is now OK with this being included, based on a poll at the Kernel Miniconf at linux.conf.au, where about ten people said that they cared about saving 900 bytes on single-CPU systems. o Applies to both mainline and tip/core/rcu. Signed-off-by: Paul E. McKenney Acked-by: David Howells Acked-by: Josh Triplett Reviewed-by: Lai Jiangshan Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: avi@redhat.com Cc: mtosatti@redhat.com LKML-Reference: <12565226351355-git-send-email-> Signed-off-by: Ingo Molnar commit 7a1fecf57f435e50ed86851cbb701f4b28e65135 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:48 2009 +0300 ASoC: TWL4030: Driver registration via twl4030_codec MFD Change the way how the twl4030 soc codec driver is loaded/probed. Use the device probing via tlw4030_codec MFD device. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1f0f9b67f98a873fca8288ccb7f2a0f3c8f34371 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:47 2009 +0300 ASoC: TWL4030: use the twl4030-codec.h for register descriptions Remove the register descriptions from the twl4030.h file and use the linux/mfd/twl4030-codec.h instead, which has the codec related register descriptions also. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f8d9aad96d0d7b57d0bf2e4de21fdda3a42f4449 Author: Peter Ujfalusi Date: Thu Oct 22 13:26:46 2009 +0300 OMAP: Platform support for twl4030_codec MFD Add needed platform data for the twl4030_codec MFD on boards, where the audio part of the twl4030 codec is used. Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 0b83ddebc6e884dc0221358cf68c461520fbdd8e Author: Peter Ujfalusi Date: Thu Oct 22 13:26:45 2009 +0300 MFD: twl4030: add twl4030_codec MFD as a new child to the core New MFD child to twl4030 MFD device. Reason for the twl4030_codec MFD: the vibra control is actually in the codec part of the twl4030. If both the vibra and the audio functionality is needed from the twl4030 at the same time, than they need to control the codec power and APLL at the same time without breaking the other driver. Also these two has to be able to work without the need for the other driver. This MFD device will be used by the drivers, which needs resources from the twl4030 codec like audio and vibra. The platform specific configuration data is passed along to the child drivers (audio, vibra). Signed-off-by: Peter Ujfalusi Acked-by: Samuel Ortiz Signed-off-by: Mark Brown commit 7a041097518a120f92af631a83db4d41e07ee51b Author: Avi Kivity Date: Sun Oct 25 14:24:45 2009 +0200 x86: Fix user return notifier build When CONFIG_USER_RETURN_NOTIFIER is set, we need to link kernel/user-return-notifier.o. Signed-off-by: Avi Kivity LKML-Reference: <1256473485-23109-1-git-send-email-avi@redhat.com> Signed-off-by: Ingo Molnar commit ce0e7b28fb75cb003cfc8d0238613aaf1c55e797 Author: Ryota Ozaki Date: Sat Oct 24 01:20:10 2009 +0900 sched, cpuacct: Fix niced guest time accounting CPU time of a guest is always accounted in 'user' time without concern for the nice value of its counterpart process although the guest is scheduled under the nice value. This patch fixes the defect and accounts cpu time of a niced guest in 'nice' time as same as a niced process. And also the patch adds 'guest_nice' to cpuacct. The value provides niced guest cpu time which is like 'nice' to 'user'. The original discussions can be found here: http://www.mail-archive.com/kvm@vger.kernel.org/msg23982.html http://www.mail-archive.com/kvm@vger.kernel.org/msg23860.html Signed-off-by: Ryota Ozaki Acked-by: Avi Kivity Cc: Peter Zijlstra LKML-Reference: <1256314810-7897-1-git-send-email-ozaki.ryota@gmail.com> Signed-off-by: Ingo Molnar commit 0b9e31e9264f1bad89856afb96da1688292f13b4 Merge: cf82ff7 964fe08 Author: Ingo Molnar Date: Sun Oct 25 17:30:53 2009 +0100 Merge branch 'linus' into sched/core Conflicts: fs/proc/array.c Merge reason: resolve conflict and queue up dependent patch. Signed-off-by: Ingo Molnar commit cd3abf98aeaec9b23a926159856b54a95707ee88 Author: Yegor Yefremov Date: Fri Oct 23 11:27:59 2009 +0100 ARM: 5770/1: Add DMA Engine support to at91sam9g45 Add at91sam9g45 dependency to drivers/dma/Kconfig Signed-off-by: Yegor Yefremov Acked-by: Nicolas Ferre Signed-off-by: Russell King commit f51f78c06c7fb442d304b93b68b3a1ebe3785a55 Author: Nicolas Ferre Date: Fri Sep 25 12:11:32 2009 +0100 ARM: 5726/1: at91/USB: at91sam9g45 series USB host integration This is the at91 specific part of USB host integration. The EHCI high speed controller has a companion OHCI controller to manage USB full and low speed. They are sharing the same IRQ line and vbus pin. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 40f5b07832ce29e66f42b61a2e9a1fd94783c136 Author: Rabin Vincent Date: Sun Oct 25 16:55:33 2009 +0100 ARM: 5772/1: Use REV and REV16 for byte swapping on ARMv6+ ARMv6 introduced the REV and REV16 instructions that reverse bytes in words and halfwords. Use them for the arch-specific implementation of the byte swapping helpers on ARMv6+. Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 6c21a7fb492bf7e2c4985937082ce58ddeca84bd Author: Mimi Zohar Date: Thu Oct 22 17:30:13 2009 -0400 LSM: imbed ima calls in the security hooks Based on discussions on LKML and LSM, where there are consecutive security_ and ima_ calls in the vfs layer, move the ima_ calls to the existing security_ hooks. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 6ae3b84d979308671bf6f6a2123c258a8603d61c Author: Dominik Brodowski Date: Sun Oct 18 18:14:32 2009 +0200 serial_cs: use pcmcia_loop_config() and pre-determined values As the PCMCIA core already determines the multifunction count, the ConfigBase address and the Present value, we can use them directly instead of parsing the CIS again. By making use of pcmcia_loop_config(), we can further remove the remaining call to pcmcia_get_first_tuple() and friends. CC: linux-serial@vger.kernel.org CC: Russell King Signed-off-by: Dominik Brodowski commit bb015f0c85362aa767f8f00f50a40d85e489414f Author: Wolfram Sang Date: Mon Oct 19 11:43:32 2009 +0200 pcmcia: drop already defined PCI_IDs Out of 10 PCI_IDs found in the PCMCIA subsystem, only two were not defined in pci_ids.h. Move them and drop the duplicates. Successfully build-tested. Signed-off-by: Wolfram Sang Cc: Jesse Barnes Signed-off-by: Dominik Brodowski commit 7c28bd0b8ec4d128bd7660671d1b626b0abc471f Author: Eric Dumazet Date: Sat Oct 24 06:13:17 2009 -0700 rtnetlink: speedup rtnl_dump_ifinfo() When handling large number of netdevice, rtnl_dump_ifinfo() is very slow because it has O(N^2) complexity. Instead of scanning one single list, we can use the 256 sub lists of the dev_index hash table. This considerably speedups "ip link" operations Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8d5b2c084d2e71587e30a6ef528a8a8051e59dcd Author: Eric Dumazet Date: Fri Oct 23 06:14:38 2009 +0000 gre: convert hash tables locking to RCU GRE tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2922bc8aedfcd41ca6171cfe1a79ff111ad72019 Author: Eric Dumazet Date: Fri Oct 23 06:34:34 2009 +0000 ip6tnl: convert hash tables locking to RCU ip6_tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8f95dd63a2ab6fe7243c4f0bd2c3266e3a5525ab Author: Eric Dumazet Date: Fri Oct 23 05:42:02 2009 +0000 ipip: convert hash tables locking to RCU IPIP tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 91cc3bb0b04ffef49bb044e06b221ea5de053e91 Author: Eric Dumazet Date: Fri Oct 23 18:19:19 2009 +0000 xfrm6_tunnel: RCU conversion xfrm6_tunnels use one rwlock to protect their hash tables. Plain and straightforward conversion to RCU locking to permit better SMP performance. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4543c10de267bdd4f9acdb7708456909ed7eed3c Author: Eric Dumazet Date: Fri Oct 23 17:52:14 2009 +0000 ipv6 sit: RCU conversion phase II SIT tunnels use one rwlock to protect their hash tables. This locking scheme can be converted to RCU for free, since netdevice already must wait for a RCU grace period at dismantle time. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ef9a9d1183b36fbf3de327f44596533b770c3005 Author: Eric Dumazet Date: Fri Oct 23 17:51:26 2009 +0000 ipv6 sit: RCU conversion phase I SIT tunnels use one rwlock to protect their prl entries. This first patch adds RCU locking for prl management, with standard call_rcu() calls. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b37b62fea1d1bf68ca51818f8eb1035188efd030 Author: Ben Hutchings Date: Fri Oct 23 08:33:42 2009 +0000 sfc: Rename 'xfp' file and functions to reflect reality The 'XFP' driver is really a driver for the QT2022C2 and QT2025C PHYs, covering both more and less than XFP. Rename its functions and constants to reflect reality and to reduce namespace pollution when sfc is a built-in driver. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fc2b5e673fceece2bbc153fe8c63c8cf93cfe611 Author: Ben Hutchings Date: Fri Oct 23 08:33:27 2009 +0000 sfc: Remove unused code for non-autoneg speed/duplex switching The only multi-speed PHY driver using this is 10Xpress, and it does not support non-autoneg operation. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 18ea024fd6abd1a857de9dc0f588a222cf279521 Author: Ben Hutchings Date: Fri Oct 23 08:33:17 2009 +0000 sfc: Merge efx_fc_resolve() into efx_mdio_get_pause() efx_fc_resolve() is specific to MDIO and is not used by any other function. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a5211bb5f72c55d936dab56363ca9755981164bd Author: Ben Hutchings Date: Fri Oct 23 08:33:09 2009 +0000 sfc: Move MTD probe after netdev registration and name allocation The MTD partition is named based on the netdev name, which is set to 'eth%d' before registration. Also, the MTD partition will currently be left registered if netdev registration fails. Fix both these problems by moving the MTD probe after netdev registration. Hold the RTNL to serialise this with the netdev notifier that calls efx_mtd_rename(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 2ed380a59b3725dc5fbda3627792172afbefc8eb Author: Ben Hutchings Date: Fri Oct 23 08:33:00 2009 +0000 sfc: Remove unnecessary tests of efx->membase These cleanup functions will never be called if the MMIO region could not be mapped. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit be4b163b28917499ea1f8755eee8509ee2675ec3 Author: Ben Hutchings Date: Fri Oct 23 08:32:51 2009 +0000 sfc: Remove incorrect assertion from efx_pci_remove_main() Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 96c45726c7dd5ee11b8773810208c41e40a93ffd Author: Ben Hutchings Date: Fri Oct 23 08:32:42 2009 +0000 sfc: Merge falcon_probe_phy() into falcon_probe_port() MAC and PHY probing are bound up together, as evidenced by the initialisation of efx_nic::loopback_modes. Remove the current arbitrary separation. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit dc803df8dd68a045bea4753f5300eeecb961ca2d Author: Ben Hutchings Date: Fri Oct 23 08:32:33 2009 +0000 sfc: Remove pointless abstraction of memory BAR number Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8698a6b642910a3d35be7160cd00dc98ab584d97 Author: Ben Hutchings Date: Fri Oct 23 08:32:22 2009 +0000 sfc: Removed kernel-doc for nonexistent member of efx_phy_operations Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0d86ebd815416efb4e95ca70c3b8e65b476c5f9f Author: Ben Hutchings Date: Fri Oct 23 08:32:13 2009 +0000 sfc: Maintain interrupt moderation values in ticks, not microseconds This simplifies the implementation a lot. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0484e0db7c4293d6202cff730ee359d8a7a6b085 Author: Ben Hutchings Date: Fri Oct 23 08:32:04 2009 +0000 sfc: Move shared members of struct falcon_nic_data into struct efx_nic These will also be used with Siena NICs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 59cf09cc2fdbb651193e95d7c3335e751b8f748d Author: Ben Hutchings Date: Fri Oct 23 08:31:54 2009 +0000 sfc: Move efx_xmit_done() declaration into correct stanza Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5c86987e86d604442d81795259fc2c02308e8f44 Author: Ben Hutchings Date: Fri Oct 23 08:31:46 2009 +0000 sfc: Remove declarations of nonexistent functions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f01865f0649f3d42b70fec8968adfd53734a3380 Author: Ben Hutchings Date: Fri Oct 23 08:31:37 2009 +0000 sfc: Change order of device removal to reverse of probe order This makes efx_pci_remove_main() more obviously the inverse of efx_pci_probe_main(), and matches our out-of-tree driver. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7d4cdb5af0d079d095501ad4164b4985a1661098 Author: Ben Hutchings Date: Fri Oct 23 08:31:29 2009 +0000 sfc: Merge struct efx_blinker into struct efx_board Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 63f1988419ccaa544d1d31aadc1dd309f6471ffe Author: Ben Hutchings Date: Fri Oct 23 08:31:20 2009 +0000 sfc: Move all TX DMA length limiting into tx.c Replace the duplicated logic in efx_enqueue_skb() and efx_tx_queue_insert() with an inline function, efx_max_tx_len(). Remove the failed attempt at abstracting hardware-specifics and put all the magic numbers in efx_max_tx_len(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6d51d307509f98f070688b4bff1d0f7462c4d3ec Author: Ben Hutchings Date: Fri Oct 23 08:31:07 2009 +0000 sfc: Define DMA address mask explicitly in terms of descriptor field width Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3ffeabdd2bc62e0ebcb1a51a5d959a86a7a915fc Author: Ben Hutchings Date: Fri Oct 23 08:30:58 2009 +0000 sfc: Eliminate indirect lookups of queue size constants Move size and mask definitions into efx.h; calculate page orders in falcon.c. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 12d00cadcc45382fc127712aa35bd0c96cbf81d9 Author: Ben Hutchings Date: Fri Oct 23 08:30:46 2009 +0000 sfc: Rename register I/O header and functions used by both Falcon and Siena While we're at it, use type suffixes of 'd', 'q' and 'o', consistent with register type names. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3e6c4538542ab2103ab7c01f4458bc2e21b672a1 Author: Ben Hutchings Date: Fri Oct 23 08:30:36 2009 +0000 sfc: Update hardware definitions for Siena Siena is still based on the Falcon hardware architecture and will share many of these definitions, so replace falcon_hwdefs.h with regs.h. The new definitions have been generated according to a naming convention which incorporates the type and revision information. Update the code accordingly. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 625b451455cebb7120492766c8425b6e808fc209 Author: Ben Hutchings Date: Fri Oct 23 08:30:17 2009 +0000 sfc: Move RX data FIFO thresholds out of struct efx_nic_type Since there are now separate blocks of code to set the thresholds for each NIC type, it is no longer useful to include them in the NIC type description. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 56241ceb9e75fc1a5fb142a754096ad6c6ab19ee Author: Ben Hutchings Date: Fri Oct 23 08:30:06 2009 +0000 sfc: Remove versioned bitfield macros These macros are not extensible to more than two NIC types without repetition of register definitions, and they are only used to deal with a few fields in RX_CFG_REG and global events which moved between Falcon rev A1 and B0. Therefore: - Move RX_CFG_REG initialisation into its own function which tests the NIC revision just once - Explicitly test the NIC revision when checking the RX_RECOVERY flag in global events - Merge definitions of RX_XOFF_MAC_EN flag, which did not move - Remove the macro definitions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5087b54ddc4f3a1007c0984177934c016d884639 Author: Ben Hutchings Date: Fri Oct 23 08:29:51 2009 +0000 sfc: Remove boards.h, moving last remaining declaration to falcon.h Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c9597d4f89565b6562bd3026adbe6eac6c317f47 Author: Ben Hutchings Date: Fri Oct 23 08:29:33 2009 +0000 sfc: Merge sfe4001.c into falcon_boards.c Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3473a5b11827fa0f84f18b79373a26290798f54a Author: Ben Hutchings Date: Fri Oct 23 08:29:16 2009 +0000 sfc: Rename Falcon-specific board code and types Siena will require entirely different board code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 19e71cf6910defed10c5d22af9f4591bbcd6a0fe Author: Ben Hutchings Date: Fri Oct 23 08:28:53 2009 +0000 sfc: Remove redundant hardware initialisation Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7dbb06f7073a5d8a175ff6a1dc149f2505742614 Author: Ben Hutchings Date: Fri Oct 23 08:28:45 2009 +0000 sfc: Remove redundant header gmii.h Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4868402d9582bfb00a5f0157ae5d7ffd2d539fb0 Author: Alexander Potashev Date: Sat Oct 24 03:37:23 2009 +0400 x86, boot: Simplify setting of the PAE bit A single 'movl' is shorter than the 'xorl'-'orl' pair. No change in behaviour. Signed-off-by: Alexander Potashev LKML-Reference: <1256341043-4928-1-git-send-email-aspotashev@gmail.com> Signed-off-by: Ingo Molnar commit 6e8e16c7bc298d7887584c3d027e05db3e86eed9 Author: Eric Paris Date: Thu Oct 22 15:38:26 2009 -0400 SELinux: add .gitignore files for dynamic classes The SELinux dynamic class work in c6d3aaa4e35c71a32a86ececacd4eea7ecfc316c creates a number of dynamic header files and scripts. Add .gitignore files so git doesn't complain about these. Signed-off-by: Eric Paris Acked-by: Stephen D. Smalley Signed-off-by: James Morris commit 5c828713358cb9df8aa174371edcbbb62203a490 Author: Christian Borntraeger Date: Fri Oct 23 14:58:11 2009 +0200 ratelimit: Make suppressed output messages more useful Today I got: [39648.224782] Registered led device: iwl-phy0::TX [40676.545099] __ratelimit: 246 callbacks suppressed [40676.545103] abcdef[23675]: segfault at 0 ... as you can see the ratelimit message contains a function prefix. Since this is always __ratelimit, this wont help much. This patch changes __ratelimit and printk_ratelimit to print the function name that calls ratelimit. This will pinpoint the responsible function, as long as not several different places call ratelimit with the same ratelimit state at the same time. In that case we catch only one random function that calls ratelimit after the wait period. Signed-off-by: Christian Borntraeger Cc: Dave Young Cc: Linus Torvalds CC: Andrew Morton LKML-Reference: <200910231458.11832.borntraeger@de.ibm.com> Signed-off-by: Ingo Molnar commit 72f279b256d520e321a850880d094bc0bcbf45d6 Author: Sheng Yang Date: Thu Oct 22 19:19:34 2009 +0800 generic-ipi: Fix misleading smp_call_function*() description After commit:8969a5ede0f9e17da4b943712429aef2c9bcd82b "generic-ipi: remove kmalloc()", wait = 0 can be guaranteed. Signed-off-by: Sheng Yang Cc: Peter Zijlstra Cc: Jens Axboe Cc: Nick Piggin LKML-Reference: <1256210374-25354-1-git-send-email-sheng@linux.intel.com> Signed-off-by: Ingo Molnar commit b1258ac2963d42ee7e807d2993d15e3dd39ff4b0 Author: Minchan Kim Date: Thu Oct 22 11:27:22 2009 +0900 x86: Remove pfn in add_one_highpage_init() commit cc9f7a0ccf000d4db5fbdc7b0ae48eefea102f69 changed add_one_highpage_init. We don't use pfn any more. Let's remove unnecessary argument. This patch doesn't chage function behavior. This patch is based on v2.6.32-rc5. Signed-off-by: Minchan Kim Cc: Yinghai Lu LKML-Reference: <20091022112722.adc8e55c.minchan.kim@barrios-desktop> Signed-off-by: Ingo Molnar commit 40b1f4e5113eafc5e84f2ba86822df66087fcb25 Author: Michael Neuling Date: Thu Oct 22 14:39:28 2009 +1100 irq: trivial: Fix typo in comment for #endif The comment suggests this #endif is CONFIG_X86 but it's really CONFIG_TRACE_IRQFLAGS_SUPPORT Signed-off-by: Michael Neuling Cc: michael@ellerman.id.au LKML-Reference: <18191.1256182768@neuling.org> Signed-off-by: Ingo Molnar commit b7cb10e790fbd145296e771f789273a875c15719 Author: Arnaldo Carvalho de Melo Date: Wed Oct 21 17:34:06 2009 -0200 perf probe: Print debug messages using pr_*() Use the new pr_{err,warning,debug,etc} printout methods, just like in the kernel. Signed-off-by: Arnaldo Carvalho de Melo Cc: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256153646-10097-1-git-send-email-acme@redhat.com> [ Split this patch out, to keep perf/probes separate. ] Signed-off-by: Ingo Molnar commit 43315956509ca6913764861ac7dec128b91eb1ec Merge: 9bf4e7f 6beba7a Author: Ingo Molnar Date: Fri Oct 23 08:23:20 2009 +0200 Merge branch 'perf/core' into perf/probes Conflicts: tools/perf/Makefile Merge reason: - fix the conflict - pick up the pr_*() infrastructure to queue up dependent patch Signed-off-by: Ingo Molnar commit 6beba7adbe092e63dfe8d09fbd1e3ec140474a13 Author: Arnaldo Carvalho de Melo Date: Wed Oct 21 17:34:06 2009 -0200 perf tools: Unify debug messages mechanisms We were using eprintf in some places, that looks at a global 'verbose' level, and at other places passing a 'v' parameter to specify the verbosity level, unify it by introducing pr_{err,warning,debug,etc}, just like in the kernel. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256153646-10097-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 802da5f2289bbe363acef084805195c11f453c48 Author: Frederic Weisbecker Date: Thu Oct 22 23:23:24 2009 +0200 perf tools: Drop asm/types.h wrapper Wrapping the kernel headers is dangerous when it comes to arch headers. Once we wrap asm/types.h, it will also replace the glibc asm/types.h, not only the kernel one. This results in build errors on some machines. Drop this wrapper and do its work from linux/types.h wrapper, also the glibc asm/types.h can already handle most of the type definition it was doing (typedef __u64, __u32, etc...). Todo: Check the others asm/*.h wrappers to prevent from other conflicts. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard LKML-Reference: <1256246604-17156-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit a4fb581b15949cfd10b64c8af37bc106e95307f3 Author: Frederic Weisbecker Date: Thu Oct 22 23:23:23 2009 +0200 perf tools: Bind callchains to the first sort dimension column Currently, the callchains are displayed using a constant left margin. So depending on the current sort dimension configuration, callchains may appear to be well attached to the first sort dimension column field which is mostly the case, except when the first dimension of sorting is done by comm, because these are right aligned. This patch binds the callchain to the first letter in the first column, whatever type of column it is (dso, comm, symbol). Before: 0.80% perf [k] __lock_acquire __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify | | __fsnotify_parent After: 0.80% perf [k] __lock_acquire __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify | | __fsnotify_parent Also, for clarity, we don't put anymore the callchain as is but: - If we have a top level ancestor in the callchain, start it with a first ascii hook. Before: 0.80% perf [kernel] [k] __lock_acquire __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify [..] [..] After: 0.80% perf [kernel] [k] __lock_acquire | --- __lock_acquire lock_acquire | |--58.33%-- _spin_lock | | | |--28.57%-- inotify_should_send_event | | fsnotify [..] [..] - Otherwise, if we have several top level ancestors, then display these like we did before: 1.69% Xorg | |--21.21%-- vread_hpet | 0x7fffd85b46fc | 0x7fffd85b494d | 0x7f4fafb4e54d | |--15.15%-- exaOffscreenAlloc | |--9.09%-- I830WaitLpRing Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard LKML-Reference: <1256246604-17156-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit af0a6fa46388e1e0c2d1a672aad84f8f6ef0b20b Author: Frederic Weisbecker Date: Thu Oct 22 23:23:22 2009 +0200 perf tools: Fix missing top level callchain While recursively printing the branches of each callchains, we forget to display the root. It is never printed. Say we have: symbol f1 f2 | -------- f3 | f4 | ---------f5 f6 Actually we never see that, instead it displays: symbol | --------- f3 | f4 | --------- f5 f6 However f1 is always the same than "symbol" and if we are sorting by symbols first then "symbol", f1 and f2 will be well aligned like in the above example, so displaying f1 looks redundant here. But if we are sorting by something else first (dso, comm, etc...), displaying f1 doesn't look redundant but rather necessary because the symbol is not well aligned anymore with its callchain: comm dso symbol f1 f2 | --------- [...] And we want the callchain to be obvious. So we fix the bug by printing the root branch, but we also filter its first entry if we are sorting by symbols first. Reported-by: Anton Blanchard Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1256246604-17156-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1c55d62e77fa16cdace417834fc7b8a421a1877f Author: jamal Date: Thu Oct 15 03:09:18 2009 +0000 pkt_sched: skbedit add support for setting mark This adds support for setting the skb mark. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 188586b28deda2dd4888a306cb6202cc6f408103 Author: Ben Hutchings Date: Thu Oct 22 18:31:39 2009 -0700 sfc: 10Xpress: Report support for pause frames Commits 27fbc7d 'mdio: Expose pause frame advertising flags to ethtool' and c634263 'sfc: 10Xpress: Initialise pause advertising flags' added to our reported advertising flags. efx_mdio_set_settings() requires that all advertising flags are also present in the supported flags, so make sure that is true. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a3d1289126e7b14307074b76bf1677015ea5036f Author: Eric Dumazet Date: Wed Oct 21 10:59:31 2009 +0000 rtnetlink: rtnl_setlink() and rtnl_getlink() changes rtnl_getlink() & rtnl_setlink() run with RTNL held, we can use __dev_get_by_index() and __dev_get_by_name() variants and avoid dev_hold()/dev_put() Adds to rtnl_getlink() the capability to find a device by its name, not only by its index. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0ffc11800cb2a74b05c2f5b28966ebd50b27f70c Author: Janusz Krzysztofik Date: Wed Oct 21 23:10:03 2009 +0200 ASoC: OMAP: Don't try to set unsupported OMAP_DMA_DATA_BURST_16 on OMAP1 After DMA burst mode has been introduced in sound/soc/omap/omap-pcm.c, omap_pcm_prepare() unconditionally calls: omap_set_dma_src_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); omap_set_dma_dest_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); Current implementation of those two functions found in arch/arm/plat-ompa/dma.c doesn't support OMAP_DMA_DATA_BURST_16 on OMAP1 at all, so they both end with BUG() on that machine. That results in ASoC being completely unusable, at least on my OMAP5910 based Amstrad Delta. The patch corrects the problem by not calling those two functions when run on OMAP1 class based machines. Created against linux-2.6.32-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit a61f80261306ad11d9c8a453307a56417cfeae03 Author: Ron Mercer Date: Wed Oct 21 11:07:41 2009 +0000 qlge: Add ethtool register dump function. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bc083ce98eeb42205e99495481c8616d30916f6e Author: Ron Mercer Date: Wed Oct 21 11:07:40 2009 +0000 qlge: Add ethtool wake on LAN function. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d8eb59dc8b9e77bb4fa5420ff80142759ad5cd7b Author: Ron Mercer Date: Wed Oct 21 11:07:39 2009 +0000 qlge: Add ethtool blink function. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 1d30df24ec85477368e6e38fe1b4d1b67b3be9d4 Author: Ron Mercer Date: Wed Oct 21 11:07:38 2009 +0000 qlge: Add ethtool get/set pause parameter. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 017deee63934349a70292666acfedea8e6eb6eb8 Author: Peter Ujfalusi Date: Wed Oct 21 09:58:35 2009 +0300 ASoC: tlv320dac33: typo fix in the header Fix the definition of DAC33_LTM field, the LTM bits in FIFO_IRQ_MODE_B register are starting at bit 6. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 02624621a58d7030e0e56f1e3df490202e59056c Author: Janusz Krzysztofik Date: Wed Oct 21 04:40:55 2009 +0200 ASoC: Amstrad Delta minor cleanups Hi Mark, Here is a patch that corrects small omissions I have found in my code. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 9bf4e7fba8006d19846fec877b6da0616b2772de Author: Ingo Molnar Date: Wed Oct 21 14:39:51 2009 +0200 x86, instruction decoder: Fix test_get_len build rules Add the kernel source include file as well to the include files search path, to fix this build bug: In file included from arch/x86/tools/test_get_len.c:28: arch/x86/lib/insn.c:21:26: error: linux/string.h: No such file or directory Cc: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Jim Keniston Cc: Frederic Weisbecker LKML-Reference: <20091020165531.4145.21872.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 4e3b799d7dbb2a12ca8dca8d3594d32095772973 Author: Steven Rostedt Date: Tue Oct 20 19:19:35 2009 -0400 perf tools: Use strsep() over strtok_r() for parsing single line The second argument in the strtok_r() function is not to be used generically and can have different implementations. Currently the function parsing of the perf trace code uses the second argument to copy data from. This can crash the tool or just have unpredictable results. The correct solution is to use strsep() which has a defined result. I also added a check to see if the result was correct, and will break out of the loop in case it fails to parse as expected. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20091020232034.237814877@goodmis.org> Signed-off-by: Ingo Molnar commit 60d526f7fa6246b8e32d5b45610d625a5608d988 Author: Steven Rostedt Date: Tue Oct 20 19:19:34 2009 -0400 perf tools: Add 'make DEBUG=1' to remove the -O6 cflag When using gdb to debug perf, it is practically impossible to use when perf is compiled with -O6. For developers, this patch adds the DEBUG feature to the make command line so that a developer can easily remove the optimization flag. LKML-Reference: <1255590330.8392.446.camel@twins> Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091020232033.984323261@goodmis.org> Signed-off-by: Ingo Molnar commit 9983d60d74db9e544c6cb6f65351849fe8e9c1de Author: Masami Hiramatsu Date: Tue Oct 20 12:55:31 2009 -0400 x86: Add AES opcodes to opcode map Add Intel AES opcodes to x86 opcode map. These opcodes are used in arch/x86/crypt/aesni-intel_asm.S. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Jim Keniston Cc: Frederic Weisbecker LKML-Reference: <20091020165531.4145.21872.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 06ed6ba5ecb771cc3a967838a4bb1d9cbd8786b9 Author: Masami Hiramatsu Date: Tue Oct 20 12:55:24 2009 -0400 x86: Fix group attribute decoding bug Fix a typo in inat_get_group_attribute() which should refer inat_group_tables, not inat_escape_tables. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Jim Keniston Cc: Frederic Weisbecker LKML-Reference: <20091020165524.4145.97333.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit a4ee3ce3293dc931fab19beb472a8bde1295aebe Author: Krishna Kumar Date: Mon Oct 19 23:50:07 2009 +0000 net: Use sk_tx_queue_mapping for connected sockets For connected sockets, the first run of dev_pick_tx saves the calculated txq in sk_tx_queue_mapping. This is not saved if either the device has a queue select or the socket is not connected. Next iterations of dev_pick_tx uses the cached value of sk_tx_queue_mapping. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit ea94ff3b55188df157a8740bdf3976a87563d705 Author: Krishna Kumar Date: Mon Oct 19 23:46:45 2009 +0000 net: Fix for dst_negative_advice dst_negative_advice() should check for changed dst and reset sk_tx_queue_mapping accordingly. Pass sock to the callers of dst_negative_advice. (sk_reset_txq is defined just for use by dst_negative_advice. The only way I could find to get around this is to move dst_negative_() from dst.h to dst.c, include sock.h in dst.c, etc) Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit f04c8276248d3dd3e15a9a72f9711ba5e4069049 Author: Krishna Kumar Date: Mon Oct 19 23:46:32 2009 +0000 net: IPv6 changes IPv6: Reset sk_tx_queue_mapping when dst_cache is reset. Use existing macro to do the work. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit e022f0b4a03f4fff9323b509df023b8af635716e Author: Krishna Kumar Date: Mon Oct 19 23:46:20 2009 +0000 net: Introduce sk_tx_queue_mapping Introduce sk_tx_queue_mapping; and functions that set, test and get this value. Reset sk_tx_queue_mapping to -1 whenever the dst cache is set/reset, and in socket alloc. Setting txq to -1 and using valid txq=<0 to n-1> allows the tx path to use the value of sk_tx_queue_mapping directly instead of subtracting 1 on every tx. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit c88e4bf60de6253a048cf4e6b3b0715e543e0460 Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 15:54:55 2009 -0200 perf top: Fix symbol annotation We need to use map->unmap_ip() here too to match section relative symbol address to the absolute address needed to match objdump -dS addresses. Reported-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1256061295-19835-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 8f0b037398a909ccf703ad5f5803066db6327f22 Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 15:08:29 2009 -0200 perf annotate: Remove requirement of passing a symbol name If the user doesn't pass a symbol name to annotate, it will annotate all the symbols that have hits, in order, just like 'perf report -s comm,dso,symbol'. This is a natural followup patch to the one that uses output_hists to find the symbols with hits. The common case is to annotate the first few entries at the top of a perf report, so lets type less characters. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256058509-19678-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit e42049926ebdcae24fdfdc8f0e3ff8f05f24a60b Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 14:25:40 2009 -0200 perf annotate: Use the sym_priv_size area for the histogram We have this sym_priv_size mechanism for attaching private areas to struct symbol entries but annotate wasn't using it, adding private areas to struct symbol in addition to a ->priv pointer. Scrap all that and use the sym_priv_size mechanism. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1256055940-19511-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit ce491cf85466c3377228c5a852ea627ec5136956 Author: Tony Lindgren Date: Tue Oct 20 09:40:47 2009 -0700 omap: headers: Move remaining headers from include/mach to include/plat Move the remaining headers under plat-omap/include/mach to plat-omap/include/plat. Also search and replace the files using these headers to include using the right path. This was done with: #!/bin/bash mach_dir_old="arch/arm/plat-omap/include/mach" plat_dir_new="arch/arm/plat-omap/include/plat" headers=$(cd $mach_dir_old && ls *.h) omap_dirs="arch/arm/*omap*/ \ drivers/video/omap \ sound/soc/omap" other_files="drivers/leds/leds-ams-delta.c \ drivers/mfd/menelaus.c \ drivers/mfd/twl4030-core.c \ drivers/mtd/nand/ams-delta.c" for header in $headers; do old="#include commit 748879776e3b738d53e64df6dbec7394b829462a Author: Arnaldo Carvalho de Melo Date: Tue Oct 20 01:09:17 2009 -0700 net: Avoid compiler warning for mmsghdr when CONFIG_COMPAT is not selected Reported-by: Stephen Rothwell Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d19742fb1c68e6db83b76e06dea5a374c99e104f Author: Eric Dumazet Date: Tue Oct 20 01:06:22 2009 -0700 filter: Add SKF_AD_QUEUE instruction It can help being able to filter packets on their queue_mapping. If filter performance is not good, we could add a "numqueue" field in struct packet_type, so that netif_nit_deliver() and other functions can directly ignore packets with not expected queue number. Lets experiment this simple filter extension first. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ad959e76f0fa94d299a8c25cb45de4d1b845e9ce Author: Eric Dumazet Date: Fri Oct 16 06:38:46 2009 +0000 af_packet: mc_drop/flush_mclist changes We hold RTNL, we can use __dev_get_by_index() instead of dev_get_by_index() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 94b059520d6c0cea852dc9a3e9033c6f123df7c1 Author: Eric Dumazet Date: Fri Oct 16 04:02:20 2009 +0000 af_packet: Avoid cache line dirtying While doing multiple captures, I found af_packet was dirtying cache line containing its prot_hook. This slow down machines where several cpus are necessary to handle capture traffic, as each prot_hook is traversed for each packet coming in or out the host. This patches moves "struct packet_type prot_hook" to the end of packet_sock, and uses a ____cacheline_aligned_in_smp to make sure this remains shared by all cpus. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7b6856a0296a8f187bb88ba31fa83a08abba7966 Author: Wolfgang Grandegger Date: Tue Oct 20 00:08:01 2009 -0700 can: provide library functions for skb allocation This patch makes the private functions alloc_can_skb() and alloc_can_err_skb() of the at91_can driver public and adapts all drivers to use these. While making the patch I realized, that the skb's are *not* setup consistently. It's now done as shown below: skb->protocol = htons(ETH_P_CAN); skb->pkt_type = PACKET_BROADCAST; skb->ip_summed = CHECKSUM_UNNECESSARY; *cf = (struct can_frame *)skb_put(skb, sizeof(struct can_frame)); memset(*cf, 0, sizeof(struct can_frame)); The frame is zeroed out to avoid uninitialized data to be passed to user space. Some drivers or library code did not set "pkt_type" or "ip_summed". Also, "__constant_htons()" should not be used for runtime invocations, as pointed out by David Miller. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 0eae750e6019a93643063924209c1daf9cb9b4a7 Author: John Dykstra Date: Mon Oct 19 21:53:53 2009 -0700 IP: Cleanups Use symbols instead of magic constants while checking PMTU discovery setsockopt. Remove redundant test in ip_rt_frag_needed() (done by caller). Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit ce5eb7a29251a66e613a300532b642ddc23b48d8 Author: Tomas Winkler Date: Sat Oct 17 09:09:36 2009 +0000 i2400m-sdio: select IWMC3200TOP in Kconfig i2400m-sdio requires iwmc3200top for its operation Signed-off-by: Tomas Winkler Acked-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 439ca3a4b1997858a34ee414856511fe7a282553 Author: Tomas Winkler Date: Sat Oct 17 09:09:35 2009 +0000 iwmc3200wifi: select IWMC3200TOP in Kconfig iwmc3200wifi requires iwmc3200top for its operation Signed-off-by: Tomas Winkler Acked-by: Zhu Yi Signed-off-by: David S. Miller commit ab69a5ae2bdc0b5e20e935a7b75f30aa3f4c3bae Author: Tomas Winkler Date: Sat Oct 17 09:09:34 2009 +0000 iwmc3200top: Add Intel Wireless MultiCom 3200 top driver. This patch adds Intel Wireless MultiCom 3200 top driver. IWMC3200 is 4Wireless Com CHIP (GPS/BT/WiFi/WiMAX). Top driver is responsible for device initialization and firmware download. Firmware handled by top is responsible for top itself and as well as bluetooth and GPS coms. (Wifi and WiMax provide their own firmware) In addition top driver is used to retrieve firmware logs and supports other debugging features Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit 7e75f93eda027d9f9e0203ee6ffd210ea92e98f3 Author: jamal Date: Mon Oct 19 02:17:56 2009 +0000 pkt_sched: ingress socket filter by mark Allow bpf to set a filter to drop packets that dont match a specific mark Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 7c734359d3504c869132166d159c7f0649f0ab34 Author: Ron Mercer Date: Mon Oct 19 03:32:19 2009 +0000 qlge: Size RX buffers based on MTU. Change RX large buffer size based on MTU. If pages are larger than the MTU the page is divided up into multiple chunks and passed to the hardware. When pages are smaller than MTU each RX buffer can contain be comprised of up to 2 pages. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ed52ce2e3c33dc7626a40fa2da766d1a6460e543 Author: Arnaldo Carvalho de Melo Date: Mon Oct 19 17:17:57 2009 -0200 perf tools: Add ->unmap_ip operation to struct map We need this because we get section relative addresses when reading the symtabs, but when a tool like 'perf annotate' needs to match these address to what 'objdump -dS' produces we need the address + section back again. So in annotate now we look at the 'struct hist_entry' instances (that weren't really being used) so that we iterate only over the symbols that had some hit and get the map where that particular hit happened so that we can get the right address to match with annotate. Verified that at least: perf annotate mmap_read_counter # Uses the ~/bin/perf binary perf annotate --vmlinux /home/acme/git/build/perf/vmlinux intel_pmu_enable_all on a 'perf record perf top' session seems to work. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1255979877-12533-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit bbe2987bea26a684ff11d887dfc4cf39b22c27a2 Author: Arjan van de Ven Date: Tue Oct 20 07:09:39 2009 +0900 perf timechart: Add a process filter During the Kernel Summit demo of perf/ftrace/timechart, there was a feature request to have a process filter for timechart so that you can zoom into one or a few processes that you are really interested in. This patch adds basic support for this feature, the -p (--process) option now can select a PID or a process name to be shown. Multiple -p options are allowed, and the combined set will be included in the output. Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091020070939.7d0fb8a7@infradead.org> Signed-off-by: Ingo Molnar commit c258449bc9d286e2ee6546c9cdf911e96cbc126a Merge: 79b9ad3 2e600d0 Author: Ingo Molnar Date: Tue Oct 20 07:51:41 2009 +0200 Merge branch 'perf/urgent' into perf/core Merge reason: Queue up dependent patch. Signed-off-by: Ingo Molnar commit d6cc1c3af760c1d3f6b42f6e52b08718a6207cf1 Author: Suresh Siddha Date: Mon Oct 19 06:12:04 2009 -0700 x86-64: add comment for RODATA large page retainment Add a comment explaining why RODATA is aligned to 2 MB. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 74e081797bd9d2a7d8005fe519e719df343a2ba8 Author: Suresh Siddha Date: Wed Oct 14 14:46:56 2009 -0700 x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA CONFIG_DEBUG_RODATA chops the large pages spanning boundaries of kernel text/rodata/data to small 4KB pages as they are mapped with different attributes (text as RO, RODATA as RO and NX etc). On x86_64, preserve the large page mappings for kernel text/rodata/data boundaries when CONFIG_DEBUG_RODATA is enabled. This is done by allowing the RODATA section to be hugepage aligned and having same RWX attributes for the 2MB page boundaries Extra Memory pages padding the sections will be freed during the end of the boot and the kernel identity mappings will have different RWX permissions compared to the kernel text mappings. Kernel identity mappings to these physical pages will be mapped with smaller pages but large page mappings are still retained for kernel text,rodata,data mappings. Signed-off-by: Suresh Siddha LKML-Reference: <20091014220254.190119924@sbs-t61.sc.intel.com> Signed-off-by: H. Peter Anvin commit b9af7c0d44b8bb71e3af5e94688d076414aa8c87 Author: Suresh Siddha Date: Wed Oct 14 14:46:55 2009 -0700 x86-64: preserve large page mapping for 1st 2MB kernel txt with CONFIG_DEBUG_RODATA In the first 2MB, kernel text is co-located with kernel static page tables setup by head_64.S. CONFIG_DEBUG_RODATA chops this 2MB large page mapping to small 4KB pages as we mark the kernel text as RO, leaving the static page tables as RW. With CONFIG_DEBUG_RODATA disabled, OLTP run on NHM-EP shows 1% improvement with 2% reduction in system time and 1% improvement in iowait idle time. To recover this, move the kernel static page tables to .data section, so that we don't have to break the first 2MB of kernel text to small pages with CONFIG_DEBUG_RODATA. Signed-off-by: Suresh Siddha LKML-Reference: <20091014220254.063193621@sbs-t61.sc.intel.com> Signed-off-by: H. Peter Anvin commit 3e1c2515acf70448cad1ae3ab835ca80be043d33 Author: James Morris Date: Tue Oct 20 13:48:33 2009 +0900 security: remove root_plug Remove the root_plug example LSM code. It's unmaintained and increasingly broken in various ways. Made at the 2009 Kernel Summit in Tokyo! Acked-by: Greg Kroah-Hartman Signed-off-by: James Morris commit 79b9ad361be8c6f3eeea97dd3883e8bcfa989333 Author: Arnaldo Carvalho de Melo Date: Mon Oct 19 15:31:31 2009 -0200 perf tools: Add bunch of missing headers to LIB_H Build dependencies were not properly mapped out. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <1255973491-11626-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 20639c15d2e78f180d398a6b6422880fac3258bb Author: Arnaldo Carvalho de Melo Date: Mon Oct 19 15:11:36 2009 -0200 perf tools: Add missing tools/perf/util/include/string.h To cure a bunch of: In file included from util/include/linux/bitmap.h:1, from util/header.h:8, from builtin-trace.c:7: util/include/../../../../include/linux/bitmap.h:8:26: error: linux/string.h: No such file or directory make: *** [builtin-trace.o] Error 1 make: *** Waiting for unfinished jobs.... Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <1255972296-11500-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 3eff851b9dc1e84aa0822772e0be9afb0c973585 Author: Tony Lindgren Date: Mon Oct 19 17:32:58 2009 -0700 omap: headers: Create headers necessary for compile under mach-omap1 and mach-omap2 Create the headers needed for compiling under mach-omap1/include/mach and mach-omap2/include/mach. This was done with the following script: #!/bin/bash mach_files="clkdev.h gpio.h hardware.h io.h irqs.h memory.h \ smp.h system.h timex.h uncompress.h vmalloc.h" omaps="mach-omap1 mach-omap2" mach_dir_old="arch/arm/plat-omap/include/mach" plat_dir_new="arch/arm/plat-omap/include/plat" mkdir -p $plat_dir_new git add $plat_dir_new for dir in $omaps; do mach_dir_new="arch/arm/$dir/include/mach" for header in $mach_files; do file="$mach_dir_new/$header" if [ ! -f $file ]; then echo -ne "/*\n * $file\n */\n\n#include \n" > $file git add $file if [ ! -f $plat_dir_new/$header ]; then git mv $mach_dir_old/$header $plat_dir_new/$header fi fi done done Signed-off-by: Tony Lindgren commit 1e79ab8a45b71d3d08eb6cdac44b66229dcea03e Author: Tony Lindgren Date: Mon Oct 19 17:32:55 2009 -0700 omap: headers: Move mtd-xip.h to be mach-omap1 specific These registers are omap1 specific. Signed-off-by: Tony Lindgren commit 72464dbae2749dd57bc2b3cd57d4fc6ba7abca37 Author: Tony Lindgren Date: Mon Oct 19 17:26:29 2009 -0700 omap: Split vmalloc.h for mach-omap1 and mach-omap2 Earlier patch "omap: Remap L3, L4 to get more kernel io address space" changed the VMALLOC_END. However, this change causes problems on mach-omap1: BUG: mapping for 0xe0000000 at 0xe0000000 overlaps vmalloc space BUG: mapping for 0xe1000000 at 0xe1000000 overlaps vmalloc space Fix this by creating separate vmalloc.h files for mach-omap1 and mach-omap2. Signed-off-by: Tony Lindgren commit c97c686467420f6765c7bc5bdae2b2aca141068b Author: Tony Lindgren Date: Mon Oct 19 17:26:19 2009 -0700 omap: headers: Split entry-macro.S for mach-omap1 and mach-omap2 Split entry-macro.S for mach-omap1 and mach-omap2 Signed-off-by: Tony Lindgren commit aca59b8922ad32e0555f78f99bcb31b5e24abe36 Author: Tony Lindgren Date: Mon Oct 19 17:26:17 2009 -0700 omap: headers: Split debug-macro.S for mach-omap1 and mach-omap2 This also creates the include/mach subdirectories under mach-omap1 and mach-omap2. Signed-off-by: Tony Lindgren commit 74cda9a5192e68a38720c8130160e7b3577098d4 Author: Tony Lindgren Date: Mon Oct 19 17:26:07 2009 -0700 omap: headers: Add mach path to include files This is to prepare for moving hardware.h to live under plat instead of mach. Signed-off-by: Tony Lindgren commit f5d2d659450f8e68675124b879e7de82600b77ba Author: Santosh Shilimkar Date: Mon Oct 19 17:25:57 2009 -0700 omap: Add OMAP4 L3 and L4 peripherals. This patch adds few necessary peripherals for OMAP4. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b4224b236b0325ae678fa6b70bd3798dbd93a475 Author: Santosh Shilimkar Date: Mon Oct 19 17:25:55 2009 -0700 omap: Fix DEBUG_LL UART io address This patch fixes the low level debug UART io address as per this series. The change is essential to have CONFIG_DEBUG_LL working. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit e49b824480bdc2b95764d65ea2ef2176a355fdd4 Author: Santosh Shilimkar Date: Mon Oct 19 17:25:53 2009 -0700 omap: Move SRAM map to claim more io space This patch moves SRAM map to free up more kernel address io space. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b7f3008ad1d795935551e4dd810b0255a7bfa3c9 Author: Stephen Smalley Date: Mon Oct 19 10:08:50 2009 -0400 SELinux: fix locking issue introduced with c6d3aaa4e35c71a3 Ensure that we release the policy read lock on all exit paths from security_compute_av. Signed-off-by: Stephen D. Smalley Signed-off-by: James Morris commit 10db25fea4c11661070b97832b8cc3d2af495092 Author: Santosh Shilimkar Date: Mon Oct 19 15:25:49 2009 -0700 omap: Remap L3, L4 to get more kernel io address space This patch remap L3 and L4 io space to get more kernel address space. With this patch, 512 MB of IO space is reclaimed. Some more combinations are possible but to make it uniform across OMAP24XX, OMAP34XX and OMAP4430, these io combinations are chosen Once this is reviewed and tested sufficiently, a documentation entry can be created to ease up reading and debugging. Like "Documentation/arm/omap/io_map.txt" Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 233fd64e7f42a7b8e827ee02528474e0fabfebdc Author: Santosh Shilimkar Date: Mon Oct 19 15:25:31 2009 -0700 omap: Split OMAP2_IO_ADDRESS to L3 and L4 This patch splits OMAP2_IO_ADDRESS to OMAP2_L3_IO_ADDRESS and OMAP2_L4_IO_ADDRESS to reclaim more IO space. The omap_read*() and omap_write*() functions will work only over L4 address space. Current omap kernel stack uses these functions only to access registers over L4 io address space Note that these macros should only be used when ioremap does not work. Please use ioremap instead in all new code. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit b0002e0e37de53782580a7587ad26b2131555653 Author: Tony Lindgren Date: Mon Oct 19 15:25:28 2009 -0700 omap: Use ioremap in dispc.c Use ioremap in dispc.c Cc: Imre Deak Cc: Tomi Valkeinen Signed-off-by: Tony Lindgren commit e4e7a13af2007edf215ad1164fc8d94c366cb72c Author: Tony Lindgren Date: Mon Oct 19 15:25:26 2009 -0700 omap: Use ioremap for omap4 L4 code Use ioremap for omap4 L4 code Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit f059429ea055c71648ae81c581eaa91d3761942b Author: Tony Lindgren Date: Mon Oct 19 15:25:24 2009 -0700 omap: Use getnstimeofday for omap_device Use getnstimeofday for omap_device Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 986a13f508156e1d041d59166beb2a3dec2ddfad Author: Tony Lindgren Date: Mon Oct 19 15:25:22 2009 -0700 omap: Use ioremap in omap_hwmod.c Use ioremap in omap_hwmod.c Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 9f7065dab5d12b10c1a77134cb1a3f7c5fd17f4f Author: Tony Lindgren Date: Mon Oct 19 15:25:20 2009 -0700 omap: Use ioremap in gpio.c Use ioremap in gpio.c Signed-off-by: Tony Lindgren commit 3566fc63589c6f45f31a82aeeb0af6e83adada1f Author: Tony Lindgren Date: Mon Oct 19 15:25:18 2009 -0700 omap: Use ioremap in dmtimer.c Use ioremap in dmtimer.c Signed-off-by: Tony Lindgren commit 7e9bf8475f4cd36e71a42cf5b33626a21ffec007 Author: Tony Lindgren Date: Mon Oct 19 15:25:15 2009 -0700 omap: Use ioremap in dma.c Use ioremap in dma.c Signed-off-by: Tony Lindgren commit 1b26fe868a7eb39df924f1173fb43a5c8d640822 Author: Tony Lindgren Date: Mon Oct 19 15:25:13 2009 -0700 omap: Use ioremap in irq.c Use ioremap in irq.c Signed-off-by: Tony Lindgren commit f9e8eefc603c40d57e4579f1b202f784e8367fe4 Author: Linus Walleij Date: Thu Sep 24 21:42:44 2009 +0100 ARM: 5725/2: U300 switch MMCI to use regulator This switches the U300 over from using a custom translate_vdd function (which was just flipping blind bits in the hardware) to using the regulator that actually controls the MMC voltage. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 3d81277b65b5b356d81e54fa71f04868cee739e2 Author: Linus Walleij Date: Wed Sep 23 15:45:02 2009 +0100 ARM: 5724/1: U300 AB3100 boardinfo v5 This defines regulator platform data and board power regulator hogs for the ST-Ericsson U300 platform. Cc: Mark Brown Cc: Liam Girdwood Cc: Samuel Ortiz Signed-off-by: Linus Walleij Signed-off-by: Russell King commit a8cf81ffe0284660fe405e7189f47f1b032f5261 Author: Russell King Date: Mon Oct 19 16:51:28 2009 +0100 Revert "[ARM] unconditionally define __virt_to_phys and __phys_to_virt" This reverts commit 75f4aa15cf05ce6d99c8261cf57dcd749877fd1c. We have a couple of platforms which require non-linear P:V mappings, so we need these to be overridable. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 9927f327717400a3372ff8931859509986b8ad37 Merge: 4f06617 02a06d3 Author: Mark Brown Date: Mon Oct 19 16:15:35 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit 4f066173fe8deb8874f41917e5d26ea2e0c46e3b Author: Julia Lawall Date: Sat Oct 17 08:32:56 2009 +0200 ASoC: Move dereference after NULL test If the NULL test on jack is needed, then the derefernce should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall Signed-off-by: Mark Brown commit 8d567b6b441bfcc20e8cbebc0dc376b2e280cd88 Author: Manuel Lauss Date: Mon Oct 19 16:10:59 2009 +0200 ASoC: au1x: psc-ac97: reorganize timeouts Codec read/write functions: wait 21us between the pokings of hardware. Add timeouts to unbounded loops waiting for bits to change. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit e697cd410a0c3aaea697c9915837e99933d8935b Author: Manuel Lauss Date: Mon Oct 19 16:10:58 2009 +0200 ASoC: au1x: psc-ac97: verify correct codec register was read Verify that the correct register has been received from the codec. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit d8707cecdf396bdb506252829d03837b2c67c939 Author: Peter Ujfalusi Date: Mon Oct 19 15:42:19 2009 +0300 ASoC: TWL4030: Only update the needed bits in *set_dai_sysclk Do not rewrite the whole register, but only update the needed bits in set_dai_sysclk functions. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit dd86e72abdbc4b436471af5a97927c6145f5298c Author: Ingo Molnar Date: Mon Oct 19 13:33:03 2009 +0200 perf stat: Count branches first Count branches first, cache-misses second. The reason is that on x86 branches are not counted by all counters on all CPUs. Before: Performance counter stats for 'ls': 0.756653 task-clock-msecs # 0.802 CPUs 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 250 page-faults # 0.330 M/sec 2375725 cycles # 3139.781 M/sec 1628129 instructions # 0.685 IPC 19643 cache-references # 25.960 M/sec 4608 cache-misses # 6.090 M/sec 342532 branches # 452.694 M/sec branch-misses 0.000943356 seconds time elapsed After: Performance counter stats for 'ls': 1.056734 task-clock-msecs # 0.859 CPUs 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 259 page-faults # 0.245 M/sec 3345932 cycles # 3166.295 M/sec 3074090 instructions # 0.919 IPC 616928 branches # 583.806 M/sec 39279 branch-misses # 6.367 % 21312 cache-references # 20.168 M/sec 3661 cache-misses # 3.464 M/sec 0.001230551 seconds time elapsed (also prettify the printout of branch misses, in case it's getting scaled.) Cc: Tim Blechmann Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4ADC3975.8050109@klingt.org> Signed-off-by: Ingo Molnar --- tools/perf/builtin-stat.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index c373683..95a55ea 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -59,6 +59,8 @@ static struct perf_event_attr default_attrs[] = { { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES}, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS}, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, }; --- tools/perf/builtin-stat.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 95a55ea..90e0a26 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -50,17 +50,17 @@ static struct perf_event_attr default_attrs[] = { - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_TASK_CLOCK }, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CONTEXT_SWITCHES}, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CPU_MIGRATIONS }, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_PAGE_FAULTS }, - - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CPU_CYCLES }, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES}, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS}, - { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_TASK_CLOCK }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CONTEXT_SWITCHES }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CPU_MIGRATIONS }, + { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_PAGE_FAULTS }, + + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CPU_CYCLES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, }; commit 56aab464ff6232bcc2f53b26576983dc83f75db7 Author: Ingo Molnar Date: Mon Oct 19 13:27:08 2009 +0200 perf stat: Re-align the default_attrs[] array Clean up the array definition to be vertically aligned. No functional effects. Cc: Tim Blechmann Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4ADC3975.8050109@klingt.org> Signed-off-by: Ingo Molnar --- tools/perf/builtin-stat.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index c373683..95a55ea 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -59,6 +59,8 @@ static struct perf_event_attr default_attrs[] = { { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_INSTRUCTIONS }, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_REFERENCES}, { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_CACHE_MISSES }, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS}, + { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, }; commit 12133afffcc7140eea915b1572189a2ea0cf7b0e Author: Tim Blechmann Date: Mon Oct 19 12:03:33 2009 +0200 perf stat: Add branch performance events to default output Adds performance event information about branches and branch misses to the default output of perf stat. Signed-off-by: Tim Blechmann Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4ADC3975.8050109@klingt.org> Signed-off-by: Ingo Molnar commit 1abc7f5500fff8422f34826a006648d8741d83d3 Author: Randy Dunlap Date: Sun Oct 18 19:20:24 2009 -0700 perf tools: Display better error messages on missing packages Check for libelf headers and glibc headers separately so that the error message correctly identifies which package installation is missing/needed. Signed-off-by: Randy Dunlap Cc: paulus@samba.org Cc: a.p.zijlstra@chello.nl Cc: efault@gmx.de Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: <4ADBCCE8.3060300@oracle.com> Signed-off-by: Ingo Molnar commit db9f11e36d0125a5e3e595ea9ef2e4b89f7e8737 Author: Frederic Weisbecker Date: Sat Oct 17 17:57:18 2009 +0200 perf tools: Use DECLARE_BITMAP instead of an open-coded array Use DECLARE_BITMAP instead of an open coded array for our bitmap of featured sections. This makes the array an unsigned long instead of a u64 but since we use a 256 bits bitmap, the array size shouldn't vary between different boxes. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <1255795038-13751-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2ba0825075e76236d22a20decd8e2346a99faabe Author: Frederic Weisbecker Date: Sat Oct 17 17:12:34 2009 +0200 perf tools: Introduce bitmask'ed additional headers This provides a new set of bitmasked headers. A new field is added in the perf headers that implements a bitmap storing optional features present in the perf.data file. The layout can be pictured like this: (Usual perf headers)(Features bitmap)[Feature 0][Feature n][Feature 255] If the bit n is set, then the feature n is used in this file. They are all set in order. This brings a backward and forward compatibility. The trace_info section has moved into such optional features, this is the first and only one for now. This is backward compatible with the .32 file version although it doesn't support the previous separate trace.info file. And finally it doesn't support the current interim development version. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <1255792354-11304-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5a116dd2797677cad48fee2f42267e3cb69f5502 Author: Frederic Weisbecker Date: Sat Oct 17 17:12:33 2009 +0200 perf tools: Use kernel bitmap library Use the kernel bitmap library for internal perf tools uses. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <1255792354-11304-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 11018201b831e19304c0d639f105ad6c27e120b1 Author: Anton Blanchard Date: Sun Oct 18 22:29:23 2009 +1100 perf stat: Add branch performance metric When we count both branches and branch-misses it is useful to print out the percentage of branch-misses: # perf stat -e branches -e branch-misses /bin/true Performance counter stats for '/bin/true': 401684 branches # 0.000 M/sec 23301 branch-misses # 5.801 % Signed-off-by: Anton Blanchard Cc: paulus@samba.org Cc: a.p.zijlstra@chello.nl LKML-Reference: <20091018112923.GQ4808@kryten> Signed-off-by: Ingo Molnar commit a8ee303cae6fbdaa639afa50b9d03ce6f0c7d7da Author: Inaky Perez-Gonzalez Date: Thu Oct 8 12:36:03 2009 +0900 wimax/i2400m: SDIO: fix oops on reset when TXing on uninitialized data Currently the SDIO part of the TX resources were initialized/released with bus_dev_{start,stop}. The generic code's TX subsystem is destroyed afterwards, so there is a window from the bus-TX destruction to the generic-TX destruction where the generic-TX code might call into bus-TX to do transactions. The SDIO code cannot really cope with this (whereas in USB, how it is laid out, it correctly ignores it). In any case, it made no sense for the SDIO TX code to be in i2400m->bus_dev_start/stop(), so moved to i2400m->bus_setup/release(), which also takes care of the oops. Signed-off-by: Inaky Perez-Gonzalez commit 097acbeff98178e01c2f6adb2259ab4d811340cc Author: Inaky Perez-Gonzalez Date: Thu Oct 8 12:33:50 2009 +0900 wimax/i2400m: make i2400m->bus_dev_{stop,start}() optional In coming commits, the i2400m SDIO driver will not use i2400m->bus_dev_stop(). Thus changed to check before calling, as an empty stub has more overhead than a call to check if the function pointer is non-NULL. Signed-off-by: Inaky Perez-Gonzalez commit 4a78fd9a736db4c871bc8b583d66b61c38abd299 Author: Inaky Perez-Gonzalez Date: Thu Oct 8 08:11:38 2009 +0900 wimax/i2400m: fix oops caused by race condition when exiting USB kthreads Current i2400m USB code had to threads (one for processing RX, one for TX). When calling i2400m_{tx,rx}_release(), it would crash if the thread had exited already due to an error. So changed the code to have the thread fill in/out i2400mu->{tx,rx}_kthread under a spinlock; then the _release() function will call kthread_stop() only if {rx,tx}_kthread is still set. Signed-off-by: Inaky Perez-Gonzalez commit 0c96859d7a5f0286ed70d3c4e140ac6816a350da Author: Inaky Perez-Gonzalez Date: Wed Oct 7 22:57:39 2009 +0900 wimax/i2400m: Let device's status reports change the device state Currently __i2400m_dev_start was forcing, after uploading firmware and doing a few checks to WIMAX_ST_UNINITIALIZED. This can be overriding state changes that the device might have caused by sending reports; thus it makes more sense to remove it and let the device update the status on its own by sending reports. Signed-off-by: Inaky Perez-Gonzalez commit 46c501473d0a6fa62435dfd65c6884e1fd63b327 Author: Inaky Perez-Gonzalez Date: Wed Oct 7 22:46:29 2009 +0900 wimax/i2400m: fix oops in TX when tearing down the device All the entry points into the TX module should check if the device has been torn down. Otherwise, when the device resets or shuts down, there are windows when a call to i2400m_tx*() will oops the system. For that, make i2400m_tx_release() set i2400m->tx_buf to NULL under the tx_lock. Then, any entry point [i2400m_tx(), _tx_msg_sent(), _tx_msg_get()] will check for i2400m->tx_buf to be NULL and exit gracefully. Signed-off-by: Inaky Perez-Gonzalez commit a0beba21c3e2dff9a31739f1660ba3ff8c7150a7 Author: Inaky Perez-Gonzalez Date: Wed Oct 7 21:43:10 2009 +0900 wimax/i2400m: queue device's report until the driver is ready for them The i2400m might start sending reports to the driver before it is done setting up all the infrastructure needed for handling them. Currently we were just dropping them when the driver wasn't ready and that is bad in certain situations, as the sync between the driver's idea of the device's state and the device's state dissapears. This changes that by implementing a queue for handling reports. Incoming reports are appended to it and a workstruct is woken to process the list of queued reports. When the device is not yet ready to handle them, the workstruct is not woken, but at soon as the device becomes ready again, the queue is processed. As a consequence of this, i2400m_queue_work() is no longer used, and thus removed. Signed-off-by: Inaky Perez-Gonzalez commit af77dfa7811cd4e533003a9e7e9bf27dece96c6d Author: Inaky Perez-Gonzalez Date: Wed Oct 7 21:37:53 2009 +0900 wimax/i2400m: move i2400m_init() out of i2400m.h Upcoming changes will have to add things to this function that expose more internals, which would mean more forward declarators. Frankly, it doesn't need to be an inline, so moved to driver.c, where the declarations will be taken from the header file. Signed-off-by: Inaky Perez-Gonzalez commit b9ee95010bee6c0e17d18bc9d9c0cfab6e8cb73a Author: Inaky Perez-Gonzalez Date: Wed Oct 7 12:34:13 2009 +0900 wimax/i2400m: fix deadlock: don't do BUS reset under i2400m->init_mutex Since the addition of the pre/post reset handlers, it became clear that we cannot do a I2400M-RT-BUS type reset while holding the init_mutex, as in the case of USB, it will deadlock when trying to call i2400m_pre_reset(). Thus, the following changes: - clarify the fact that calling bus_reset() w/ I2400M_RT_BUS while holding init_mutex is a no-no. - i2400m_dev_reset_handle() will do a BUS reset to recover a gone device after unlocking init_mutex. - in the USB reset implementation, when cold and warm reset fails, fallback to QUEUING a usb reset, not executing a USB reset, so it happens from another context and does not deadlock. Signed-off-by: Inaky Perez-Gonzalez commit 5eeae35b9a2e304fc4ae3d9eed63afeea23b482c Author: Inaky Perez-Gonzalez Date: Wed Oct 7 12:20:15 2009 +0900 wimax/i2400m: when stopping the device, cancel any pending message The stop procedure for the device must make sure that any task that is waiting on a message is properly cancelled. This was being taken care of only by the __i2400m_dev_reset_handle() path and the rest was working by chance because the waits have a timeout. Fixed by adding a proper cancellation in __i2400m_dev_stop(). Signed-off-by: Inaky Perez-Gonzalez commit 28cff50d99ce9a1db65b7d4dcdcc0f1f8d9f9309 Author: Cindy H Kao Date: Fri Oct 2 19:31:17 2009 -0700 wimax/i2400m: change the bcf_len to exclude the extended header size The actual fw->size may not equal to the bcf size indicated in the bcf header if the extended bcf debug header is added in the tail. To reflect the actual fw size that will be downloaded to the device, it is now retrived from from the size field indicated in the bcf header. All of the headers (if there are extended headers) should indicate same value for the size field since only one set of firmware chunks is downloaded Signed-off-by: Cindy H Kao commit 6f4fc90a36fbe87e3003b3f7c8090ecc89bd1353 Author: Cindy H Kao Date: Fri Oct 2 19:18:43 2009 -0700 wimax/i2400m: use JUMP cmd for last FW chunk indication Both secure and non-secure boot must set the JUMP command in the bootmode header as the last FW chunk, so we change to use the JUMP command to decide if the FW chunk download is completed. Since we tend to use one single FW to support both secure and non-secure boot for most of the time, I2400M_BRH_SIGNED_JUMP is actually found even for non-secure boot. But in case the FW does come with I2400M_BRH_JUMP, we check for both of them in i2400m_dnload_bcf(). Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 81d3f905389e22bb9a5176b9309c3f451c260e1a Author: Inaky Perez-Gonzalez Date: Sat Oct 3 16:51:02 2009 +0900 wimax: allow WIMAX_RF_QUERY calls when state is still uninitialized Until now, calls to wimax_rfkill() will be blocked until the device is at least past the WIMAX_ST_UNINITIALIZED state, return -ENOMEDIUM when the device is in the WIMAX_ST_DOWN state. In parallel, wimax-tools would issue a wimax_rfkill(WIMAX_RF_QUERY) call right after opening a handle with wimaxll_open() as means to verify if the interface is really a WiMAX interface [newer kernel version will have a call specifically for this]. The combination of these two facts is that in some cases, before the driver has finalized initializing its device's firmware, a wimaxll_open() call would fail, when it should not. Thus, change the wimax_rfkill() code to allow queries when the device is in WIMAX_ST_UNINITIALIZED state. Signed-off-by: Inaky Perez-Gonzalez commit de9315fa3a35ebe587cc1a1c88655d095846785e Author: Inaky Perez-Gonzalez Date: Wed Sep 30 16:33:26 2009 -0700 wimax: allow user space to send messages once the device is registered It makes sense that the messaging pipe to the device can be used before the device is fully ready, as long as it is registered with the stack. Some debugging tools need it. Signed-off-by: Inaky Perez-Gonzalez commit 9835fd84990ca253c5b625005717a9be492788c0 Author: Inaky Perez-Gonzalez Date: Tue Sep 29 16:28:24 2009 -0700 wimax/i2400m: fix race condition with tcpdump et al tcpdump and friends were not being able to decode packets sent via WiMAX; they had a zero ethernet type, even when the stack was properly sending them to the device with the right type. It happens that the driver was overwriting the (fake) ethernet header for creating the hardware header and that was bitting the cloning used by tcpdump (et al) to look into the packets. Use pkskb_expand_head() [method copied from the e1000 driver] to fix. Thanks to Herbert Xu and Andi Kleen for helping to diagnose and pointing to the right fix. Cc: Herbert Xu Cc: Andi Kleen Signed-off-by: Inaky Perez-Gonzalez commit e1633fd636f3ed0379fcf08c47962205eadddb6b Author: Inaky Perez-Gonzalez Date: Fri Sep 18 11:50:50 2009 -0700 wimax/i2400m: reduce verbosity of debug messages in boot mode Missed a debug message that was being constantly printed as a dev_err(); became annoying. Demote it to a debug message. Signed-off-by: Inaky Perez-Gonzalez commit 3725d8c97436aeaa03eeb0c25361a7ec0f3f5bd2 Author: Inaky Perez-Gonzalez Date: Thu Sep 17 15:20:45 2009 -0700 wimax/i2400m: Implement pre/post reset support in the USB driver The USB stack can callback a driver is about to be reset by an external entity and right after it, so the driver can save state and then restore it. This commit implements said support; it is implemented actually in the core, bus-generic driver [i2400m_{pre,post}_reset()] and used by the bus-specific drivers. This way the SDIO driver can also use it once said support is brought to the SDIO stack. Signed-off-by: Inaky Perez-Gonzalez commit 2869da8587604e3fea5f85aeade486a08e8313bf Author: Inaky Perez-Gonzalez Date: Wed Sep 16 18:33:26 2009 -0700 wimax/i2400m: do bootmode buffer management in i2400m_setup/release() After the introduction of i2400m->bus_setup/release, there is no more race condition where the bootmode buffers are needed before i2400m_setup() is called. Before, the SDIO driver would setup RX before calling i2400m_setup() and thus need those buffers; now RX setup is done in i2400m->bus_setup(), which is called by i2400m_setup(). Thus, all the bootmode buffer management can now be done completely inside i2400m_setup()/i2400m_release(), removing complexity from the bus-specific drivers. Signed-off-by: Inaky Perez-Gonzalez commit 0856ccf29dfbaf957e4be80dd3eb88d97810b633 Author: Inaky Perez-Gonzalez Date: Wed Sep 16 18:23:27 2009 -0700 wimax/i2400m: introduce i2400m->bus_setup/release The SDIO subdriver of the i2400m requires certain steps to be done before we do any acces to the device, even for doing firmware upload. This lead to a few ugly hacks, which basically involve doing those steps in probe() before calling i2400m_setup() and undoing them in disconnect() after claling i2400m_release(); but then, much of those steps have to be repeated when resetting the device, suspending, etc (in upcoming pre/post reset support). Thus, a new pair of optional, bus-specific calls i2400m->bus_{setup/release} are introduced. These are used to setup basic infrastructure needed to load firmware onto the device. This commit also updates the SDIO subdriver to use said calls. Signed-off-by: Inaky Perez-Gonzalez commit c2315b4ea9ac9c3f8caf03c3511d86fabe4a5fcd Author: Inaky Perez-Gonzalez Date: Wed Sep 16 17:10:55 2009 -0700 wimax/i2400m: clarify and fix i2400m->{ready,updown} The i2400m driver uses two different bits to distinguish how much the driver is up. i2400m->ready is used to denote that the infrastructure to communicate with the device is up and running. i2400m->updown is used to indicate if 'ready' and the device is up and running, ready to take control and data traffic. However, all this was pretty dirty and not clear, with many open spots where race conditions were present. This commit cleans up the situation by: - documenting the usage of both bits - setting them only in specific, well controlled places (i2400m_dev_start, i2400m_dev_stop) - ensuring the i2400m workqueue can't get in the middle of the setting by flushing it when i2400m->ready is set to zero. This allows the report hook not having to check again for the bit to be set [rx.c:i2400m_report_hook_work()]. - using i2400m->updown to determine if the device is up and running instead of the wimax state in i2400m_dev_reset_handle(). - not loosing missed messages sent by the hardware before i2400m->ready is set. In rx.c, whatever the device sends can be sent to user space over the message pipes as soon as the wimax device is registered, so don't wait for i2400m->ready to be set. Signed-off-by: Inaky Perez-Gonzalez commit 8f90f3ee83dc54e182d6a7548727cbae4b523e6e Author: Inaky Perez-Gonzalez Date: Wed Sep 16 17:53:57 2009 -0700 wimax/i2400m: cleanup initialization/destruction flow Currently the i2400m driver was starting in a weird way: registering a network device, setting the device up and then registering a WiMAX device. This is an historic artifact, and was causing issues, a some early reports the device sends were getting lost by issue of the wimax_dev not being registered. Fix said situation by doing the wimax device registration in i2400m_setup() after network device registration and before starting thed device. As well, removed spurious setting of the state to UNINITIALIZED; i2400m.dev_start() does that already. Signed-off-by: Inaky Perez-Gonzalez commit ac53aed9349242095a780f57ac0c995fb170c950 Author: Inaky Perez-Gonzalez Date: Wed Sep 16 16:30:39 2009 -0700 wimax/i2400m: on device stop, clean up pending wake & TX work When the i2400m device needs to wake up an idle WiMAX connection, it schedules a workqueue job to do it. Currently, only when the network stack called the _stop() method this work struct was being cancelled. This has to be done every time the device is stopped. So add a call in i2400m_dev_stop() to take care of such cleanup, which is now wrapped in i2400m_net_wake_stop(). Signed-off-by: Inaky Perez-Gonzalez commit cb5b756f746b77c5323ae413a41e9a40ea33c453 Author: Inaky Perez-Gonzalez Date: Tue Sep 15 15:25:20 2009 -0700 wimax/i2400m: don't overwrite error codes when failing to load firmware Make sure that i2400m_dev_bootstrap() doesn't overwrite the last known error code with -ENOENT; when a firmware fails to load, we want to know the cause and not a generic error code. Signed-off-by: Inaky Perez-Gonzalez commit 1a5a73c0c5459f991b871855eb36099df65ecb7e Author: Inaky Perez-Gonzalez Date: Mon Sep 14 15:28:14 2009 -0700 wimax/i2400m: implement .reset_resume in USB subdriver Current driver didn't implement the .reset_resume method. The i2400m normally always reset on a comeback from system standby/hibernation. This requires previously applied commits to cache the firmware image file. Signed-off-by: Inaky Perez-Gonzalez commit 7b43ca708a767a5f68eeeb732c569c0f11a7d6f7 Author: Inaky Perez-Gonzalez Date: Mon Sep 14 14:10:16 2009 -0700 wimax/i2400m: cache firmware on system suspend In preparation for a reset_resume implementation, have the firmware image be cached in memory when the system goes to suspend and released when out. This is needed in case the device resets during suspend; the driver can't load firmware until resume is completed or bad deadlocks happen. The modus operandi for this was copied from the Orinoco USB driver. The caching is done with a kobject to avoid race conditions when releasing it. The fw loader path is altered only to first check for a cached image before trying to load from disk. A Power Management event notifier is register to call i2400m_fw_cache() or i2400m_fw_uncache() which take care of the actual cache management. Signed-off-by: Inaky Perez-Gonzalez commit 3ef6129e57b04c116b1907b72c7a20720e6dde75 Author: Inaky Perez-Gonzalez Date: Mon Sep 14 14:05:19 2009 -0700 wimax/i2400m: add reason argument to i2400m_dev_reset_handle() In preparation for reset_resume support, in which the same code path is going to be used, add a diagnostic message to dev_reset_handle() that can be used to distinguish how the device got there. This uses the new payload argument added to i2400m_schedule_work() by the previous commit. Signed-off-by: Inaky Perez-Gonzalez commit b0fbcb2a0b54ee201fa8af61fdebe14c050f18fe Author: Inaky Perez-Gonzalez Date: Mon Sep 14 13:29:32 2009 -0700 wimax/i2400m: clean up & add a payload argument to i2400m_schedule_work() Forthcoming commits use having a payload argument added to i2400m_schedule_work(), which then becomes nearly identical to i2400m_queue_work(). This patch thus cleans up both's implementation, making it share common helpers and adding the payload argument to i2400m_schedule_work(). Signed-off-by: Inaky Perez-Gonzalez commit 7329012e673231dee9a21567cfb9881f5ea462ba Author: Dirk Brandewie Date: Wed Aug 12 11:29:46 2009 -0700 wimax/i6x50: add Intel WiFi/WiMAX Link 6050 Series support Add support for the WiMAX device in the Intel WiFi/WiMAX Link 6050 Series; this involves: - adding the device ID to bind to and an endpoint mapping for the driver to use. - at probe() time, some things are set depending on the device id: + the list of firmware names to try + mapping of endpoints Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit f8fc3295570115267ce1ce901f362d13d194aefc Author: Cindy H Kao Date: Fri Sep 4 17:38:46 2009 -0700 wimax/iwmc3200: add new sdio device ID to support iwmc3200 2.5GHz sku Different sdio device IDs are designated to support different intel wimax silicon sku. The new macro SDIO_DEVICE_ID_IWMC3200_WIMAX_2G5(0x1407) is added to support iwmc3200 2.5GHz sku. The existing SDIO_DEVICE_ID_IWMC3200_WIMAX(0x1402) is for iwmc3200 general sku. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 10607c86e163e3da8bdf58a934da7dd3a68dcb7c Author: Inaky Perez-Gonzalez Date: Wed Sep 9 17:11:57 2009 -0700 wimax/i2400m: on firmware upload, select BCF header that matches device's request Devices based on the i2400m emit a "barker" (32 bit unsigned) when they boot. This barker is used to select, in the firmware file image, which header should be used to process the rest of the file. This commit implements said support, completing the series started by previous commits. We modify the i2400m_fw_dnload() firmware loading path by adding a call to i2400m_bcf_hdr_find() [new function], in which the right BCF header [as listed in i2400m->fw_hdrs by i2400m_fw_check()] is located. Then this header is fed to i2400m_dnload_init() and i2400m_dnload_finalize(). The changes to i2400m_dnload_finalize() are smaller than they look; they add the bcf_hdr argument and use that instead of bcf. Likewise in i2400m_dnload_init(). Signed-off-by: Inaky Perez-Gonzalez commit bfc44187bbaeabf597be6566a24e8fa7d689b984 Author: Inaky Perez-Gonzalez Date: Fri Sep 4 17:07:21 2009 -0700 wimax/i2400m: support extended firmware format The SBCF firmware format has been extended to support extra headers after the main payload. These extra headers are used to sign the firmware code with more than one certificate. This eases up distributing single code images that work in more than one SKU of the device. The changes to support this feature will be spread in a series of commits. This one just adds the support to parse the extra headers and store them in i2400m->fw_hdrs. Coming changes to the loader code will use that to determine which header to upload to the device. The i2400m_fw_check() function now iterates over all the headers and for each, calls i2400m_fw_hdr_check(), which does some basic checks on each header. It then stores the headers for the bootloader code to use. The i2400m_dev_bootstrap() function has been modified to cleanup i2400m->fw_hdrs when done. Signed-off-by: Inaky Perez-Gonzalez commit fabce1a485dd985c0e4c16f61f4ddb5e27e49cbf Author: Inaky Perez-Gonzalez Date: Fri Sep 4 14:53:43 2009 -0700 wimax/i2400m: verify firmware format version is known Make sure the bootloading code checks that the format of the file is understood (major version match). This also fixes a dumb typo in extracting the major version field. Signed-off-by: Inaky Perez-Gonzalez commit 923d708fed9d47c7b4d67694500d766337663e29 Author: Inaky Perez-Gonzalez Date: Fri Sep 4 14:50:59 2009 -0700 wimax/i2400m: fix reboot echo/ack barker deadlock The i2400m based devices can get in a sort of a deadlock some times; when they boot, they send a reboot "barker" (a magic number) and then the driver has to echo that same barker to ack reception (echo/ack). Then the device does a final ack by sending an ACK barker. The first time this happens, we don't know ahead of time with barker the device is going to send, as different device models and SKUs will send different barker depending on the EEPROM programming. If the device has sent the barker before the driver has been able to read it, the driver looses, as it doesn't know which barker it has to echo/ack back. With older devices, we tried a couple of combinations and that always worked; but now, with adding support for more, in which we have an unlimited number of new barkers, that is not an option. So we rework said case so that when the device gets stuck, we just cycle through all the known types until one forces the device to send an ack. Otherwise, the driver gives up and aborts. Signed-off-by: Inaky Perez-Gonzalez commit ebc5f62b76ad540ff7b3e438506638009e7812a6 Author: Inaky Perez-Gonzalez Date: Thu Sep 3 15:53:30 2009 -0700 wimax/i2400m: retry loading firmware files in sequence The i2400m firmware loader is given a list of firmware files to try to load by the probe() function (which can be different based on the device's model / generation). Current code didn't attempt to load, check and try to boot with each file, but just to try to load if off disk. This is limiting in some cases, where we might want to try to load a firmware and if it fails to load onto the device, just fall back to another one. This changes the behaviour so all files are tried for being loaded from disk, checked and uploaded to the device until one suceeds in bringing the device up. Signed-off-by: Inaky Perez-Gonzalez commit aba3792ac2d7c808a2d2fd2adf89531e083bdb90 Author: Inaky Perez-Gonzalez Date: Thu Sep 3 15:14:29 2009 -0700 wimax/i2400m: rework bootrom initialization to be more flexible This modifies the bootrom initialization code of the i2400m driver so it can more easily support upcoming hardware. Currently, the code detects two types of barkers (magic numbers) sent by the device to indicate the types of firmware it would take (signed vs non-signed). This schema is extended so that multiple reboot barkers are recognized; upcoming hw will expose more types barkers which will have to match a header in the firmware image before we can load it. For that, a barker database is introduced; the first time the device sends a barker, it is matched in the database. That gives the driver the information needed to decide how to upload the firmware and which types of firmware to use. The database can be populated from module parameters. The execution flow is not altered; a new function (i2400m_is_boot_barker) is introduced to determine in the RX path if the device has sent a boot barker. This function is becoming heavier, so it is put away from the hot reception path [this is why there is some reorganization in sdio-rx.c:i2400ms_rx and usb-notifc.c:i2400mu_notification_grok()]. The documentation on the process has also been updated. All these modifications are heavily based on previous work by Dirk Brandewie . Signed-off-by: Inaky Perez-Gonzalez commit 32742e6158657f19ad31653705bef56d983508e7 Author: Inaky Perez-Gonzalez Date: Thu Sep 3 15:56:40 2009 -0700 wimax/i2400m: decide properly if using signed vs non-signed firmware loading The i2400m based devices can boot two main types of firmware images: signed and non-signed. Signed images have signature data included that must match that of a certificate stored in the device. Currently the code is making the decission on what type of firmware load (signed vs non-signed) is going to be loaded based on a hardcoded decission in __i2400m_ack_verify(), based on the barker the device sent upon boot. This is not flexible enough as future hardware will emit more barkers; thus the bit has to be set in a place where there is better knowledge of what is going on. This will be done in follow-up commits -- however this patch paves the way for it. So the querying of the mode is packed into i2400m_boot_is_signed(); the main changes are just using i2400m_boot_is_signed() to determine the method to follow and setting i2400m->sboot in i2400m_is_boot_barker(). The modifications in i2400m_dnload_init() and i2400m_dnload_finalize() are just reorganizing the order of the if blocks and thus look larger than they really are. Signed-off-by: Inaky Perez-Gonzalez commit 59bdc4be0b819173a8f840fc11ccb82d6f2ca64b Author: Inaky Perez-Gonzalez Date: Wed Sep 2 15:41:23 2009 -0700 wimax/i2400m: workaround not-so-working %zd printf format The kernel's %zd modifier does not really work. Use %ld (has to cast ssize_t to long). Signed-off-by: Inaky Perez-Gonzalez commit 4c2b1a11646bf74e2926ce8b13a21884adc1e05c Author: Inaky Perez-Gonzalez Date: Wed Sep 2 15:36:05 2009 -0700 wimax: allow specifying debug levels as command line option Add "debug" module options to all the wimax modules (including drivers) so that the debug levels can be set upon kernel boot or module load time. This is needed as currently there was a limitation where the debug levels could only be set when a device was succesfully enumerated. This made it difficult to debug issues that made a device not probe properly. Signed-off-by: Inaky Perez-Gonzalez commit 4dc1bf074e4db5aa281a7b82ceebb24df98922d2 Author: Inaky Perez-Gonzalez Date: Wed Sep 2 15:31:48 2009 -0700 wimax/i2400m: add missing debug submodule definition The i2400m driver was missing the definition for the sysfs debug level, which is declared in debug-levels.h. Signed-off-by: Inaky Perez-Gonzalez commit c77ca950abb587bcebad6dcd0b0b41d7c0255ce9 Author: Inaky Perez-Gonzalez Date: Mon Aug 31 17:57:56 2009 -0700 wimax/i2400m: during probe, call sdio_disable at most once In the Intel Wireless Multicomm 3200, the initialization is orchestrated by a component called Top. This component also monitors how many times a function is reset (via sdio_disable) to detect possible issues and will reset the whole multifunction device if any function triggers a maximum reset level. During WiMAX's probe, the driver needs to wait for Top to come up before it can enable the WiMAX function. If it cannot, it will return -ENODEV and the Top driver will rescan the SDIO bus once done loading. Currently, the WiMAX SDIO probe routine was trying a few times before returning -ENODEV, and this was triggering Top's too-many-resets detector. This is, in any case, unnecessary because the Top driver will force the bus rescan when the functions can be probed successfully. Added then a maxtries argument to i2400ms_enable_func() and set it to 1 when calling from probe. We want to reuse this function instead of flat calling out sdio_enable_func() to take advantage of hardware quirk workarounds. Reported-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 8d8fe198c6a756ae96617548af4776e7a86c0d3e Author: Cindy H Kao Date: Tue Aug 18 19:27:18 2009 -0700 wimax/i2400m: don't write to memory allocated by request_firmware() In kernel 2.6.31, the firmware requested to ram could be marked with read only attribute, and we can't write any thing directly to the memory when setting up the last JUMP brh cmd. Changed so that the scratch buffer is used. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 77e1251a7cc64c1e483a31c41c139fdf8121e75e Author: Inaky Perez-Gonzalez Date: Mon Aug 31 17:15:49 2009 -0700 wimax/i2400m: be smarter about copying command buffer to bm_cmd_buf Because some underlying bus APIs (like USB) don't like data buffers in the stack or vmalloced areas, the i2400m driver provides a scratch buffer (i2400m->bm_cmd_buf) for said low-level drivers to copy command data to before passing it to said API. This is only used during boot mode. However, at some the code was copying the buffer even when the command was already specified in said buffer. This is ok, but it needs to be more careful. As thus, change so that: (a) the copy happens only if command buffer is not the scratch buffer (b) use memmove() in case there is overlapping Signed-off-by: Inaky Perez-Gonzalez commit 339ccc362cb60b48e478ff494172efadb385c0ab Author: Cindy H Kao Date: Mon Aug 10 18:36:15 2009 -0700 wimax/i2400m/sdio: clear the INTR status bit after reading size In order to avoid issues during high-load traffic, the interrupt status register has to be cleared ONLY after the RX size is read. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 2093586de29418820b89aae05746511392f8ad73 Author: Dirk Brandewie Date: Wed Aug 12 11:29:46 2009 -0700 wimax/i2400m: USB driver uses a configurable endpoint map Newer generations of the i2400m USB WiMAX device use a different endpoint map; in order to make it easy to support it, we make the endpoint-to-function mapeable instead of static. Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit 8bec9a5efd5691c5a32d85da1da09643290ebb72 Author: Cindy H Kao Date: Mon Aug 17 19:39:12 2009 -0700 wimax/iwmc3200: increase wait time before enable retry When trying to enable the iwmc3200 WiMAX SDIO function, we loop waiting for the top controller to be up and running (at which point we can succesfully enable the function). Between each try we wait for I2400MS_INIT_SLEEP_INTERVAL ms. Integration tests have found the current value of 10ms to be too short; it was upped to 100ms to give more time to the top controller to be ready. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 5c29e21d4768a7f1ce46f622b379802edeb1daf3 Author: Cindy H Kao Date: Mon Aug 17 19:39:12 2009 -0700 wimax/iwmc3200: don't disable the SDIO function if enable fails In the iwmc3200, disabling the WiMAX SDIO function when enable fails would possibly result in a device reset triggered by the iwmc3200's top controller since it monitors the bus reset activities from each SDIO function. In any case, the disable makes no sense; if the enable fails, it should not be disabled. Thus we remove the unecessary sdio_disable_func() in i2400ms_enable_function(). Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit f2696fbdb623993a9b4c05455df7ae3158a01111 Author: Cindy H Kao Date: Mon Aug 17 19:17:58 2009 -0700 wimax/iwmc3200: overwrite SDIO IOR timeout value to avoid platform hang The default SDIO IOE wait timeout returned from iwmc3200-wimax's CCCR is not efficient. This inefficiency will actually cause problems on Moorestown platforms (system hang). This is a sillicon bug that requires a software patch to by overwritting func->enable_timeout. The new value I2400MS_IOR_TIMEOUT is recommended and verified from the system integration results. Future sillicon releases will have this default value corrected in the future. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit c30836580b35ae5cab3de97a3df16878fe097868 Author: Dirk Brandewie Date: Thu Aug 13 13:48:29 2009 -0700 wimax/i2400m: Make boot retries a BUS-specific parameter In i2400m-based devices, the driver's bootloader will retry to load the firmware when things go wrong. The driver currently has a constant (I2400M_BOOT_RETRIES) which governs the max number of tries. However, different SKUs of the same hardware may admit or require different numbers of retries due to it's particulars, so it is made a BUS specific parameter and different values are assigned for 5x50 devices versus the 3200 ones. Signed-off-by: Dirk Brandewie Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit a134fd6b103b78378e3beb6af94d8d8c2abdd19d Author: Dirk Brandewie Date: Tue Aug 18 08:51:52 2009 -0700 wimax/i2400m: Ensure boot mode cmd and ack buffers are alloc'd before first message The change to the SDIO boot mode RX chain could try to use the cmd and ack buffers befor they were allocated. USB does not have the problem but both were changed for consistency's sake. Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit 81b182a7542c4282191fa0b1e8d9fcb022c03e68 Author: Dirk Brandewie Date: Fri Jul 24 09:04:33 2009 -0700 wimax/i2400m: Update comments to talk about SDIO reset and not USB. Fixing comments from original cut and paste error Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit abb307338396bd58f5d9d32c4e56ef40ff668a74 Author: Dan Williams Date: Thu Sep 17 13:06:14 2009 -0700 i2400m: minimal ethtool support Add minimal ethtool support for carrier detection. Signed-off-by: Dan Williams Signed-off-by: Inaky Perez-Gonzalez commit 2d44f204adf503eb1774f0ab7e404031168851ea Author: Roel Kluin Date: Mon Jul 13 00:59:53 2009 +0200 wimax: misplaced parenthesis Fix misplaced parenthesis Signed-off-by: Roel Kluin Signed-off-by: Inaky Perez-Gonzalez commit a6346fa583766a51b7723288fc5d73ee5ea93479 Author: Roel Kluin Date: Mon Jul 13 01:48:42 2009 +0200 i2400m: keep index within ms_to_errno[] Ensure that index `status' remains within ms_to_errno[] Signed-off-by: Roel Kluin Signed-off-by: Inaky Perez-Gonzalez commit c29eaf3faef7547ba72355bac44e9ca6ffdaee39 Author: Inaky Perez-Gonzalez Date: Thu Aug 27 17:54:53 2009 -0700 wimax: indicate initial SW rfkill state is "blocked" The WiMAX stack assumes that all WiMAX devices are SW OFF when they are initialized. The recent changes in the RFKILL stack thus cause an initial call after rfkill_register(), because by default, rfkill considers devices to be SW ON upon registration. So call rfkill_init_sw_state() to set it to SW OFF so rfkill_register() doesn't do that unnecessary step. Signed-off-by: Inaky Perez-Gonzalez commit 5b45bfe5010ae1ddaac463d1bcdb141a4ff4ff66 Author: Cindy H Kao Date: Thu Aug 27 15:25:12 2009 -0700 wimax/i2400m: fix the bootmode RX deadlock in SDIO driver i2400ms_bus_bm_wait_for_ack() causes a race condition. It happens because this function clears i2400ms->bm_ack_size before waiting for an interrupt, which is set by the interrupt service routine i2400ms_rx() to indicate reception and size of received data; thus, if the interrupt came right before the clearing/waiting, it is lost. The fix is clear the bm_ack_size to -EINPROGRESS before we are enabling the RX interrupt configuration in i2400ms_rx_setup(). Then everytime when the interrupt service routine i2400ms_rx() is invoked during bootmode, bm_ack_size is updated with the actual rx_size and it is cleared to -EINPROGRESS again after the RX data is handled. Signed-off-by: Cindy H Kao Signed-off-by: Inaky Perez-Gonzalez commit 663ebb4aa2fd0d19e3d1da0fed3fa3fa134a4ef0 Author: Oliver Neukum Date: Wed Aug 19 13:50:45 2009 -0600 wimax/i2400m/usb: remove unnecessary power management primitive in i2400m This patch removes an unneeded power management primitive. Power management is automatically enabled as probe ends. Signed-off-by: Oliver Neukum Signed-off-by: Inaky Perez-Gonzalez commit eb2ff967a587a4a784fd2390f38e324a5bec01ec Author: Steffen Klassert Date: Wed Oct 7 22:50:40 2009 +0000 xfrm: remove skb_icv_walk The last users of skb_icv_walk are converted to ahash now, so skb_icv_walk is unused and can be removed. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 2ad9afbf5ca27482aa275de517261d56fd1e7ba0 Author: Steffen Klassert Date: Wed Oct 7 22:49:57 2009 +0000 ah: Remove obsolete code ah4 and ah6 are converted to ahash now, so we can remove the code for the obsolete hash algorithm. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 8631e9bdfea189b2e5efe3b03825cc24ebb6cfb7 Author: Steffen Klassert Date: Wed Oct 7 22:49:01 2009 +0000 ah6: convert to ahash This patch converts ah6 to the new ahash interface. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit dff3bb0626279bae04ed10ed61ab726d6b3ef4b4 Author: Steffen Klassert Date: Wed Oct 7 22:48:17 2009 +0000 ah4: convert to ahash This patch converts ah4 to the new ahash interface. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 49cbf952488e7fa2f1160c80016e09e6c2854b24 Author: Steffen Klassert Date: Wed Oct 7 22:47:16 2009 +0000 ah: Add struct crypto_ahash to ah_data To support for ahash algorithms, we add a pointer to a crypto_ahash to ah_data. Signed-off-by: Steffen Klassert Signed-off-by: David S. Miller commit 8ffd1be6779c86ebc2a1013f43fdcee8bdbba2b7 Author: Benjamin Gilbert Date: Mon Oct 19 12:58:55 2009 +0900 crypto: hash - Remove cra_u.{digest,hash} Remove unused digest_alg and hash_alg structs from crypto_alg union and kill their definitions. This also ensures that old-style digest/hash algorithms maintained out of tree will break at build time rather than oopsing at runtime. Signed-off-by: Benjamin Gilbert Signed-off-by: Herbert Xu commit 085751b96897280cc3087920f8c6e7d1283f6d00 Author: Benjamin Gilbert Date: Mon Oct 19 12:57:20 2009 +0900 crypto: api - Remove digest case from procfs show handler Remove special handling of old-style digest algorithms from the procfs show handler. Signed-off-by: Benjamin Gilbert Signed-off-by: Herbert Xu commit 2141b6309b1fce535329c195cb5e5274a4c84ebc Author: Benjamin Gilbert Date: Mon Oct 19 12:53:37 2009 +0900 crypto: hash - Remove legacy hash/digest code 6941c3a0 disabled compilation of the legacy digest code but didn't actually remove it. Rectify this. Also, remove the crypto_hash_type extern declaration from algapi.h now that the struct is gone. Signed-off-by: Benjamin Gilbert Signed-off-by: Herbert Xu commit 667b6294bf088445996c8395b723ae9c9467e72b Author: Neil Horman Date: Mon Oct 19 11:57:02 2009 +0900 crypto: ansi_cprng - Add FIPS wrapper Patch to add fips(ansi_cprng) alg, which is ansi_cprng plus a continuous test Signed-off-by: Neil Horman Acked-by: Jarod Wilson Signed-off-by: Herbert Xu commit 0e1227d356e9b2fe0500d6cc7084f752040a1e0e Author: Huang Ying Date: Mon Oct 19 11:53:06 2009 +0900 crypto: ghash - Add PCLMULQDQ accelerated implementation PCLMULQDQ is used to accelerate the most time-consuming part of GHASH, carry-less multiplication. More information about PCLMULQDQ can be found at: http://software.intel.com/en-us/articles/carry-less-multiplication-and-its-usage-for-computing-the-gcm-mode/ Because PCLMULQDQ changes XMM state, its usage must be enclosed with kernel_fpu_begin/end, which can be used only in process context, the acceleration is implemented as crypto_ahash. That is, request in soft IRQ context will be defered to the cryptd kernel thread. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 2395f0e862aadf7d82d5a95cb2e8fdade8d7970d Author: Alan Cox Date: Wed Oct 14 05:22:24 2009 +0000 cosa: Kill off the use of the old ioctl path Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 8edf19c2fe028563fc6ea9cb1995b8ee4172d4b6 Author: Eric Dumazet Date: Thu Oct 15 00:12:40 2009 +0000 net: sk_drops consolidation part 2 - skb_kill_datagram() can increment sk->sk_drops itself, not callers. - UDP on IPV4 & IPV6 dropped frames (because of bad checksum or policy checks) increment sk_drops Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c720c7e8383aff1cb219bddf474ed89d850336e3 Author: Eric Dumazet Date: Thu Oct 15 06:30:45 2009 +0000 inet: rename some inet_sock fields In order to have better cache layouts of struct sock (separate zones for rx/tx paths), we need this preliminary patch. Goal is to transfert fields used at lookup time in the first read-mostly cache line (inside struct sock_common) and move sk_refcnt to a separate cache line (only written by rx path) This patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr, sport and id fields. This allows a future patch to define these fields as macros, like sk_refcnt, without name clashes. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 988ade6b8e27e79311812f83a87b5cea11fabcd7 Author: Krishna Kumar Date: Wed Oct 14 19:55:07 2009 +0000 genetlink: Optimize and one bug fix in genl_generate_id() 1. GENL_MIN_ID is a valid id -> no need to start at GENL_MIN_ID + 1. 2. Avoid going through the ids two times: If we start at GENL_MIN_ID+1 (*or bigger*) and all ids are over!, the code iterates through the list twice (*or lesser*). 3. Simplify code - no need to start at idx=0 which gets reset to GENL_MIN_ID. Patch on net-next-2.6. Reboot test shows that first id passed to genl_register_family was 16, next two were GENL_ID_GENERATE and genl_generate_id returned 17 & 18 (user level testing of same code shows expected values across entire range of MIN/MAX). Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 93860b08e31a3202b6e67e386811545e719a0165 Author: Krishna Kumar Date: Wed Oct 14 19:54:53 2009 +0000 genetlink: Optimize genl_register_family() genl_register_family() doesn't need to call genl_family_find_byid when GENL_ID_GENERATE is passed during register. Patch on net-next-2.6, compile and reboot testing only. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 0d9a40de60a4470777913d8d42044ae548e6545d Author: Krishna Kumar Date: Wed Oct 14 19:54:19 2009 +0000 cxgb3: No need to wake queue in xmit handler The xmit handler doesn't need to wake the queue after stopping it temporarily (some other drivers are doing the same). Patch on net-next-2.6, multiple netperf sessions tested. Signed-off-by: Krishna Kumar Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit a1c1f5eab7d8c3b4f645df8ce2882ff4f578aa45 Author: Einar Lueck Date: Wed Oct 14 22:54:59 2009 +0000 ctcm rollback in case of errors Group device now cleanly reacts to failures during channel start and implements a clean rollback. Signed-off-by: Einar Lueck Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d816d4238245b019d6f86f58163c78f015bd94ed Author: Klaus-Dieter Wacker Date: Wed Oct 14 22:54:58 2009 +0000 lcs: Recognize return codes of ccw_device_set_online(). The creation of a new lcs device requires a call to the function ccw_device_set_online() for the read and the write channel. Failure of either call should terminate the lcs device creation immediately with return code -ENODEV. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d62e09e34eba15be382a7aed27b0fa67112e29e0 Author: Klaus-Dieter Wacker Date: Wed Oct 14 22:54:57 2009 +0000 lcs: ODEBUG: object is on stack, but not annotated. Timer_list structure in lcs_send_lancmd() is allocated on stack. Initialization with init_timer() leads to above ODEBUG message. Instead use init_timer_on_stack() which prevents above msg. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 9a4ff8d417e4ef2eeecb4a4433e3dbd8251aae5e Author: Ursula Braun Date: Wed Oct 14 22:54:56 2009 +0000 af_iucv: remove duplicate sock_set_flag Remove duplicate sock_set_flag(sk, SOCK_ZAPPED) in iucv_sock_close, which has been overlooked in September-commit 7514bab04e567c9408fe0facbde4277f09d5eb74. Cc: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 49f5eba7575e6dfb146c5e24623d50200ce23ff1 Author: Hendrik Brueckner Date: Wed Oct 14 22:54:55 2009 +0000 af_iucv: use sk functions to modify sk->sk_ack_backlog Instead of modifying sk->sk_ack_backlog directly, use respective socket functions. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 7194660da7a6d119fa469bd11b58e7367a5cbdf4 Author: Dhananjay Phadke Date: Fri Oct 16 15:50:12 2009 +0000 netxen; update version to 4.0.62 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit caa2dd53bc2f9c44938f2f261ebe15e2f26cc51e Author: Narender Kumar Date: Fri Oct 16 15:50:11 2009 +0000 netxen: sysfs control for auto firmware recovery Firmware hang detection and recovery (reset) need to be disabled for diagnostic tools, which can run some disruptive tests. This adds a driver level control to turn off this feature by diag tools. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7cecdca133ea9791adce21819b9e9eed79045f23 Author: Dhananjay Phadke Date: Fri Oct 16 15:50:10 2009 +0000 netxen: fix error codes in for tools access Use -EIO or -EINVAL as error codes, these can get passed up to applications (tools). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6abb4b83eac25d91f6de834e97b2ea38e979575b Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:09 2009 +0000 netxen: onchip memory access change Add support for different windowing scheme for on chip memory in future chip revisions. This is required by diagnostic tools. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 0be367bd5d10634c0836f57a684432fee935d929 Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:08 2009 +0000 netxen: reset sequence changes Future revisions need different chip reset sequence and firmware initialization. Also clean up some never used debug code. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit fb1f6a4378fe211d8c1397311d26e747e5ec61c5 Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:07 2009 +0000 netxen: 128 memory controller support Future revisions of the chip have 128 bit memory transactions. Require drivers to implement rmw in case of sub-128 bit accesses by driver. This is mostly used by diagnostic tools. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 0a2aa440603f27ad40bcc14806f4d87aabbd8a0f Author: Amit Kumar Salecha Date: Fri Oct 16 15:50:06 2009 +0000 netxen: defines for next revision Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 0f8f86c7bdd1c954fbe153af437a0d91a6c5721a Merge: dca2d6a f39cdf2 Author: Frederic Weisbecker Date: Sun Oct 18 01:09:09 2009 +0200 Merge commit 'perf/core' into perf/hw-breakpoint Conflicts: kernel/Makefile kernel/trace/Makefile kernel/trace/trace.h samples/Makefile Merge reason: We need to be uptodate with the perf events development branch because we plan to rewrite the breakpoints API on top of perf events. commit bb3c3e807140816b5f5fd4840473ee52a916ad4f Merge: 595c364 012abee Author: Ingo Molnar Date: Sat Oct 17 09:58:25 2009 +0200 Merge commit 'v2.6.32-rc5' into perf/probes Conflicts: kernel/trace/trace_event_profile.c Merge reason: update to -rc5 and resolve conflict. Signed-off-by: Ingo Molnar commit 595c36490deb49381dc51231a3d5e6b66786ed27 Author: Masami Hiramatsu Date: Fri Oct 16 20:08:27 2009 -0400 perf: Add perf-probe document Add perf-probe subcommand document and add it to command-list. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000827.16556.73539.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 9769833b8e4425dc93fc837bf124c6cb02a51abb Author: Masami Hiramatsu Date: Fri Oct 16 20:08:18 2009 -0400 perf: Add DIE_IF() macro for error checking Add DIE_IF() macro and replace ERR_IF() with it, and use linux/stringify.h. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000818.16556.82452.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 89c69c0eee7515cdc217f4278de43547284b3458 Author: Masami Hiramatsu Date: Fri Oct 16 20:08:10 2009 -0400 perf: Use eprintf() for debug messages in perf-probe Replace debug() macro with eprintf() and add -v option for showing those messages in perf-probe. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000810.16556.38013.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 074fc0e4b3f5d24306c2995f2f3b0bd4759e8aeb Author: Masami Hiramatsu Date: Fri Oct 16 20:08:01 2009 -0400 perf: Use die() for error cases in perf-probe Use die() for exiting perf-probe with errors. This replaces perror_exit(), msg_exit() and fprintf()+exit() with die(), and uses die() in semantic_error(). This also renames 'die' local variables to 'dw_die' for avoiding name confliction. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000801.16556.46866.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 4c20194c2de151bca14224ae384b47abf7636a95 Author: Masami Hiramatsu Date: Fri Oct 16 20:07:52 2009 -0400 perf: Check libdwarf APIs for perf probe Check libdwarf APIs for perf probe in tools/perf/Makefile. Since dwarf_get_ranges() has been added from libdwarf 20081231 (and it's the newest function used in probe-finder.c), this just checks whether the function is defined. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000752.16556.92051.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit d1baf5a5a6088e2991b7dbbd370ff200bd6615ce Author: Masami Hiramatsu Date: Fri Oct 16 20:07:44 2009 -0400 x86: Add AMD prefetch and 3DNow! opcodes to opcode map Add AMD prefetch and 3DNow! opcode including FEMMS. Since 3DNow! uses the last immediate byte as an opcode extension byte, x86 insn just treats the extenstion byte as an immediate byte instead of a part of opcode (insn_get_opcode() decodes first "0x0f 0x0f" bytes.) Users who are interested in analyzing 3DNow! opcode still can decode it by analyzing the immediate byte. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000744.16556.27881.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 8c95bc3e206cff7a55edd2fc5f0e2b305d57903f Author: Masami Hiramatsu Date: Fri Oct 16 20:07:36 2009 -0400 x86: Add MMX/SSE opcode groups to opcode map Add missing MMX/SSE opcode groups to x86 opcode map. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000736.16556.29061.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit e63cc2397ecc0f2b604f22fb9cdbb05911c1e5d4 Author: Masami Hiramatsu Date: Fri Oct 16 20:07:28 2009 -0400 tracing/kprobes: Add failure messages for debugging Add verbose failure messages to kprobe-tracer for debugging. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000728.16556.16713.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit f397af06e4c9bf5a0bc92facb8cb29905e338ab0 Author: Masami Hiramatsu Date: Fri Oct 16 20:07:20 2009 -0400 tracing/kprobes: Update kprobe-tracer selftest against new syntax Update kprobe-tracer selftest since command syntax has been changed. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <20091017000720.16556.26343.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit f39cdf25bf77219676ec5360980ac40b1a7e144a Author: Julia Lawall Date: Sat Oct 17 08:43:17 2009 +0200 perf tools: Move dereference after NULL test In each case, if the NULL test on thread is needed, then the dereference should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall LKML-Reference: Signed-off-by: Ingo Molnar commit 12d7ea2c5a5c87834daf9fcd920aab80ff6248b1 Author: Ajit Khaparde Date: Fri Oct 16 18:02:12 2009 -0700 be2net: Add support for next generation of BladeEngine device. Add new PCI ids to support next generation of BladeEngine device. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 84f90c9cc81d8db172d4f768fc4010f508897366 Author: Tony Lindgren Date: Fri Oct 16 09:53:00 2009 -0700 omap: Change low-level serial init to use ioremap Change low-level serial init to use ioremap Signed-off-by: Tony Lindgren commit b33a6363649f0ff83ec81597ea7fe7e688f973cb Author: Borislav Petkov Date: Fri Oct 16 12:31:33 2009 +0200 x86, mce: Add a global MCE init helper Add an early initcall (pre SMP) which sets up global MCE functionality. Signed-off-by: Borislav Petkov Cc: Andi Kleen LKML-Reference: <1255689093-26921-2-git-send-email-borislav.petkov@amd.com> Signed-off-by: Ingo Molnar commit 5e09954a9acc3b435ffe318b95afd3c02fae069f Author: Borislav Petkov Date: Fri Oct 16 12:31:32 2009 +0200 x86, mce: Fix up MCE naming nomenclature Prefix global/setup routines with "mcheck_" thus differentiating from the internal facilities prefixed with "mce_". Also, prefix the per cpu calls with mcheck_cpu and rename them to reflect the MCE setup hierarchy of calls better. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Cc: Andi Kleen LKML-Reference: <1255689093-26921-1-git-send-email-borislav.petkov@amd.com> Signed-off-by: Ingo Molnar commit 6b50f5c7c7163d50af0946a93b61c05e448f6038 Merge: 8968f9d fb25319 93ae501 Author: Ingo Molnar Date: Fri Oct 16 14:42:20 2009 +0200 Merge branches 'x86/mce' and 'x86/urgent' into perf/mce Merge reason: Put all MCE changes into this branch, we are queueing up a dependent patch. Signed-off-by: Ingo Molnar commit a2bb28a0dbcc1370104a543d25eb28aab81d4a91 Merge: 012abee f8631e7 Author: Tony Lindgren Date: Thu Oct 15 18:16:10 2009 -0700 Merge branch 'omap7xx-fortony-rc3' of git://robotfuzz.com/linwizard-kernel into omap7xx commit 21912d1ca2546ca96743c91d5a4125aef2d9df70 Author: Rémi Denis-Courmont Date: Thu Oct 15 12:29:14 2009 -0700 Phonet: hold socket before giving it to sk_deliver_skb() Signed-off-by: Rémi Denis-Courmont Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e91edcf5a2940bb7f1f316c871dfe9e2aaf9d6d9 Author: Grant Likely Date: Thu Oct 15 10:58:09 2009 -0600 of: merge of_find_all_nodes() implementations Merge common code between Microblaze and PowerPC, and make it available to Sparc Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 82b2928c95d824afd9af3bb41660f3c3fa1f234e Author: Grant Likely Date: Thu Oct 15 10:58:07 2009 -0600 of: merge other miscellaneous prototypes Merge common prototypes used by Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 8482f56803b9498af84bc09e7bc769a5924f6443 Author: Grant Likely Date: Thu Oct 15 10:58:04 2009 -0600 of: merge of_*_flat_dt*() functions Merge common flattened device tree code between Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 526b5b3ed97bac22ed0c9feed97adcdc3a25244c Author: Grant Likely Date: Thu Oct 15 10:58:02 2009 -0600 of: merge of_node_get(), of_node_put() and of_find_all_nodes() Merge common code between Sparc, PowerPC and Microblaze. Sparc differs in the implementation at this point, so this patch uses a #ifdef to handle sparc differently for now. The merging of implementations will occur in a later patch Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit b6caf2ad7ce30648b89c1cf40d8f7cf6f4b58033 Author: Grant Likely Date: Thu Oct 15 10:58:00 2009 -0600 of: merge of_read_number() an of_read_ulong() Merge common code between Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 50436312f47f1fd2bf82c983638fe27ca7e03238 Author: Grant Likely Date: Thu Oct 15 10:57:58 2009 -0600 of: merge of_node_*_flag() and set_node_proc_entry() Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit d45d94f672e3c79b0db1e6d76e1638ee521d56c0 Author: Grant Likely Date: Thu Oct 15 10:57:55 2009 -0600 of: merge struct boot_param_header from Microblaze and PowerPC Merge common code for working with Flattened Device Tree data structure Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit d8678b58708d7e6bf947ebd03eaf44baf2adfad8 Author: Grant Likely Date: Thu Oct 15 10:57:53 2009 -0600 of: add common header for flattened device tree representation Add a common header file for working with the flattened device tree data structure and merge the shared data tags used by Microblaze and PowerPC Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 61e955db539e748cff2b8ea3bf7705259ebe9fb6 Author: Grant Likely Date: Thu Oct 15 10:57:51 2009 -0600 of: Move OF_IS_DYNAMIC and OF_MARK_DYNAMIC macros to of.h Merge of common code duplicated between Sparc, PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 6f1924928377bd035a9f64466f91a487c69271d2 Author: Grant Likely Date: Thu Oct 15 10:57:49 2009 -0600 of: merge struct device_node Merge of common code duplicated between Sparc, PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 731581e6a653f6a68a4d7ba9df6b886a85c7d080 Author: Grant Likely Date: Thu Oct 15 10:57:46 2009 -0600 of: merge phandle, ihandle and struct property Merge of common code duplicated between Sparc, PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit 9d24c888c779c877f1baf5a73e0cec78266ff7bb Author: Grant Likely Date: Thu Oct 15 10:57:44 2009 -0600 of: Rework linux/of.h and asm/prom.h include ordering In preparation to prune things out of the Sparc, PowerPC and Microblaze asm/prom.h files, change the #include statements to ensure that even if asm/prom.h is included first, linux/of.h gets to determine the order in which files are processed. This patch adds a #include to each of the prom.h files *above* the multi-include protection macros to ensure that linux/of.h can define things before prom.h gets processed. At the end of the merge the cross dependencies between the files should be gone and a sane #include scheme can be restored. Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Wolfram Sang Acked-by: Michal Simek Acked-by: Stephen Neuendorffer Acked-by: Stephen Rothwell commit f88f2b4fdb1e098433ad2b005b6f7353f7268ce1 Author: Cyrill Gorcunov Date: Thu Oct 15 19:04:16 2009 +0400 x86: apic: Allow noop operations to be called almost at any time As only apic noop is used we allow to use almost any operation caller wants (and which of them noop driver supports of course). Initially it was reported by Ingo Molnar that apic noop issue a warning for pkg id (which is actually false positive and should be eliminated). So we save checking (and warning issue) for read/write operations while allow any other ops to be freely used. Also: - fix noop_cpu_to_logical_apicid, it should be 0. - rename noop_default_phys_pkg_id to noop_phys_pkg_id (we use default_ prefix for more general routines in apic subsystem). Reported-by: Ingo Molnar Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Maciej W. Rozycki LKML-Reference: <20091015150416.GC5331@lenovo> Signed-off-by: Ingo Molnar commit 3da8e6885ec2dea67321c904d721be90e00cd748 Merge: c8bf93f 8e8b2d6 Author: Mark Brown Date: Thu Oct 15 15:02:14 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit c8bf93f0fe8c5a509a29e30f3bac823fa0f6d96e Author: Peter Ujfalusi Date: Thu Oct 15 09:03:56 2009 +0300 ASoC: Codec driver for Texas Instruments tlv320dac33 codec Driver for Texas Instruments TLV320DAC33 (SLAS546) low power stereo audio DAC. TLV320DAC33 is a stereo audio codec with integrated 24KB FIFO for low power audio playback. The digital interface can use I2S, DSP (A or B), Right and Left justified formats. DAC33 has stereo analog input, which can be bypassed to the analog outputs. Regarding to the internal 24KB FIFO the driver implements 'FIFO bypass' mode (default) and nSample mode (FIFO is in use). a) In 'FIFO bypass' mode the internal FIFO is not in use, the codec is working synchronously as a normal codec (it needs constant stream of data on the digital interface). b) The nSample mode implementation uses one interrupt line from DAC33 to the host: Alarm threshold is set to 10ms of audio data (limit by the driver implementation). DAC33 will signal an interrupt, when the FIFO level goes under the Alarm threshold. The host will write to nSample register a value (number of stereo samples), to tell DAC33 how many samples it should read in a burst from the host. When the DAC33 received the number of samples, it disables the clocks on the I2S bus. When the FIFO use again goes under the Alarm threshold, DAC33 signals the host with an interrupt, and the process is repeated. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 640fb39e386a0dac9014e5b8a512de0950e30288 Author: Igor Grinberg Date: Wed Oct 14 09:20:26 2009 +0200 ASoC: finally enable support for eXeda and CM-X300 Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport CC: Mark Brown CC: alsa-devel@alsa-project.org Signed-off-by: Mark Brown commit d2058b0cd039aad89b111d83b9c347e9d8f57a84 Author: Mark Brown Date: Tue Oct 13 17:39:56 2009 +0100 ASoC: Remove snd_soc_suspend_device() The PM core will grow pm_link infrastructure in 2.6.33 which can be used to implement the intended functionality of the ASoC-specific device suspend and resume callbacks so drop them. Signed-off-by: Mark Brown commit 434a83c3fbb951908a3a52040f7f0e0b8ba00dd0 Author: Ingo Molnar Date: Thu Oct 15 11:50:39 2009 +0200 events: Harmonize event field names and print output names Now that we can filter based on fields via perf record, people will start using filter expressions and will expect them to be obvious. The primary way to see which fields are available is by looking at the trace output, such as: gcc-18676 [000] 343.011728: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.012727: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.032692: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.033690: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.034687: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.035686: irq_handler_entry: irq=0 handler=timer cc1-18677 [000] 343.036684: irq_handler_entry: irq=0 handler=timer While 'irq==0' filters work, the 'handler==' filter expression does not work: $ perf record -R -f -a -e irq:irq_handler_entry --filter handler=timer sleep 1 Error: failed to set filter with 22 (Invalid argument) The problem is that while an 'irq' field exists and is recognized as a filter field - 'handler' does not exist - its name is 'name' in the output. To solve this, we need to synchronize the printout and the field names, wherever possible. In cases where the printout prints a non-field, we enclose that information in square brackets, such as: perf-1380 [013] 724.903505: softirq_exit: vec=9 [action=RCU] perf-1380 [013] 724.904482: softirq_exit: vec=1 [action=TIMER] This way users can use filter expressions more intuitively: all fields that show up as 'primary' (non-bracketed) information is filterable. This patch harmonizes the field names for all irq, bkl, power, sched and timer events. We might in fact think about dropping the print format bit of generic tracepoints altogether, and just print the fields that are being recorded. Cc: Li Zefan Cc: Tom Zanussi Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a66abe7fbf7805a1a02f241bd5283265ff6706ec Author: Ingo Molnar Date: Thu Oct 15 12:24:04 2009 +0200 tracing/events: Fix locking imbalance in the filter code Américo Wang noticed that we have a locking imbalance in the error paths of ftrace_profile_set_filter(), causing potential leakage of event_mutex. Also clean up other error codepaths related to event_mutex while at it. Plus fix an initialized variable in the subsystem filter code. Reported-by: Américo Wang Cc: Li Zefan Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <2375c9f90910150247u5ccb8e2at58c764e385ffa490@mail.gmail.com> Signed-off-by: Ingo Molnar commit c171b552a7d316c7e1c3ad6f70a30178dd53e14c Author: Li Zefan Date: Thu Oct 15 11:22:07 2009 +0800 perf trace: Add filter Suppport Add a new option "--filter " to perf record, and it should be right after "-e trace_point": #./perf record -R -f -e irq:irq_handler_entry --filter irq==18 ^C # ./perf trace perf-4303 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 init-0 ... irq_handler_entry: irq=18 handler=eth0 See Documentation/trace/events.txt for the syntax of filter expressions. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD6955F.90602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6fb2915df7f0747d9044da9dbff5b46dc2e20830 Author: Li Zefan Date: Thu Oct 15 11:21:42 2009 +0800 tracing/profile: Add filter support - Add an ioctl to allocate a filter for a perf event. - Free the filter when the associated perf event is to be freed. - Do the filtering in perf_swevent_match(). Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD69546.8050401@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b0f1a59a98d7ac2102e7e4f22904c26d564a5628 Author: Li Zefan Date: Thu Oct 15 11:21:12 2009 +0800 tracing/filters: Use a different op for glob match "==" will always do a full match, and "~" will do a glob match. In the future, we may add "=~" for regex match. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD69528.3050309@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fce29d15b59245597f7f320db4a9f2be0f5fb512 Author: Li Zefan Date: Thu Oct 15 11:20:34 2009 +0800 tracing/filters: Refactor subsystem filter code Change: for_each_pred for_each_subsystem To: for_each_subsystem for_each_pred This change also prepares for later patches. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4AD69502.8060903@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 713490e02eed242b4c1c672b3c0c8b708f8b6f1d Merge: c4dc775 1beee96 Author: Ingo Molnar Date: Thu Oct 15 11:33:56 2009 +0200 Merge branch 'tracing/core' into perf/core Merge reason: to add event filter support we need the following commits from the tracing tree: 3f6fe06: tracing/filters: Unify the regex parsing helpers 1889d20: tracing/filters: Provide basic regex support 737f453: tracing/filters: Cleanup useless headers Signed-off-by: Ingo Molnar commit 0edf1a683e499191b27a067956ae9f5fa6e046c6 Author: Paul E. McKenney Date: Wed Oct 14 10:15:59 2009 -0700 rcu: Update trace.txt documentation for blocked-tasks lists Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: npiggin@suse.de Cc: jens.axboe@oracle.com LKML-Reference: <12555405592804-git-send-email-> Signed-off-by: Ingo Molnar commit bd58b430039435e4c981cf802b5b11d511d73abd Author: Paul E. McKenney Date: Wed Oct 14 10:15:54 2009 -0700 rcu: Update trace.txt documentation to reflect recent changes o Remove the CONFIG_PREEMPT_RCU documentation since this config option has now been removed. o Change the now-incorrect references to "rcu" labels to instead be "rcu_sched". o Add notes stating that CONFIG_TREE_PREEMPT_RCU kernels will have additional "rcu_preempt" output. o Note the new "oqlen" field in the rcuhier output (for RCU callbacks orphaned by an offlined CPU). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: npiggin@suse.de Cc: jens.axboe@oracle.com LKML-Reference: <1255540559799-git-send-email-> Signed-off-by: Ingo Molnar commit 3397e040dfacbb303498ced1baa96be983dcea06 Author: Paul E. McKenney Date: Wed Oct 14 16:36:38 2009 -0700 rcu: Add rnp->blocked_tasks to tracing Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: npiggin@suse.de Cc: jens.axboe@oracle.com Cc: Josh Triplett LKML-Reference: <20091014233638.GE6763@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar kernel/rcutree_trace.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit c4dc775f53136cd6af8f88bce67cce9b42751768 Author: Steven Rostedt Date: Wed Oct 14 15:43:44 2009 -0400 perf tools: Remove all char * typecasts and use const in prototype The (char *) for all the static strings was a fix for the symptom and not the disease. The real issue was that the function prototypes needed to be declared "const char *". Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194400.635935008@goodmis.org> Signed-off-by: Ingo Molnar commit afdf1a404eed236d6f762ee44cc0f1dcc97206e0 Author: Steven Rostedt Date: Wed Oct 14 15:43:43 2009 -0400 perf tools: Handle - and + in parsing trace print format The opterators '-' and '+' are not handled in the trace print format. To do: '++' and '--'. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194400.330843045@goodmis.org> Signed-off-by: Ingo Molnar commit cda48461c7fb8431a99b7960480f5f42cc1a5324 Author: Steven Rostedt Date: Wed Oct 14 15:43:42 2009 -0400 perf tools: Add latency format to trace output Add the irqs disabled, preemption count, need resched, and other info that is shown in the latency format of ftrace. # perf trace -l perf-16457 2..s2. 53636.260344: kmem_cache_free: call_site=ffffffff811198f perf-16457 2..s2. 53636.264330: kmem_cache_free: call_site=ffffffff811198f perf-16457 2d.s4. 53636.300006: kmem_cache_free: call_site=ffffffff810d889 Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194400.076588953@goodmis.org> Signed-off-by: Ingo Molnar commit 0d1da915c76838c9ee7af7cdefbcb2bae9424161 Author: Steven Rostedt Date: Wed Oct 14 15:43:41 2009 -0400 perf tools: Handle both versions of ftrace output The ftrace output events can have either arguments or no arguments. The parser needs to be able to handle both. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194359.790221427@goodmis.org> Signed-off-by: Ingo Molnar commit ffa1895561645103d8f8059b35d9c06e6eeead2e Author: Steven Rostedt Date: Wed Oct 14 15:43:40 2009 -0400 perf tools: Fix bprintk reading in trace output The bprintk parsing was broken in more ways than one. The file parsing was incorrect, and the words used by the arguments are always 4 bytes aligned, even on 64-bit machines. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194359.520931637@goodmis.org> Signed-off-by: Ingo Molnar commit 07a4bdddcf2546ccfbfb3c782deab636c371edeb Author: Steven Rostedt Date: Wed Oct 14 15:43:39 2009 -0400 perf tools: Still continue on failed parsing of an event Even though an event may fail to parse, we should not kill the entire report. The trace should still be able to show what it can. If an event fails to parse, a warning is printed, and the output continues. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194359.190809589@goodmis.org> Signed-off-by: Ingo Molnar commit 13999e59343b042b0807be2df6ae5895d29782a0 Author: Steven Rostedt Date: Wed Oct 14 15:43:38 2009 -0400 perf tools: Handle the case with and without the "signed" trace field The trace format files now have a "signed" field. But we should still be able to handle the kernels that do not have this field. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.888239553@goodmis.org> Signed-off-by: Ingo Molnar commit f1d1feecf07261d083859ecfef0d4399036f9683 Author: Steven Rostedt Date: Wed Oct 14 15:43:37 2009 -0400 perf tools: Handle newlines in trace parsing better New lines between args in the trace format can break the parsing. This should not be the case. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.637991808@goodmis.org> Signed-off-by: Ingo Molnar commit b99af874829cba2b30d212bc6fd31b56275ee4d2 Author: Steven Rostedt Date: Wed Oct 14 15:43:36 2009 -0400 perf tools: Handle * as typecast in trace parsing The '*' is currently only treated as a multiplication, and it needs to be handled as a typecast pointer. This is the version used by trace-cmd. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.409327875@goodmis.org> Signed-off-by: Ingo Molnar commit 0959b8d65ce26131c2d5ccfa518a7b76529280fa Author: Steven Rostedt Date: Wed Oct 14 15:43:35 2009 -0400 perf tools: Handle arrays in print fields for trace parsing The array used by the ftrace stack events (caller[x]) causes issues with the parser. This adds code to handle the case, but it also assumes that the array is of type long. Note, this is a special case used (currently) only by the ftrace user and kernel stack records. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194358.124833639@goodmis.org> Signed-off-by: Ingo Molnar commit 298ebc3ef2a6c569b3eb51651f04e26aecbf8a1d Author: Steven Rostedt Date: Wed Oct 14 15:43:34 2009 -0400 perf tools: Handle trace parsing of < and > The code to handle the '<' and '>' ops was all in place, but they were not in the switch statement to consider them as valid ops. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194357.807434040@goodmis.org> Signed-off-by: Ingo Molnar commit 91ff2bc191827f0d3f5ad0a433ff7df7d2dd9aee Author: Steven Rostedt Date: Wed Oct 14 15:43:33 2009 -0400 perf tools: Fix backslash processing on trace print formats The handling of backslashes was broken. It would stop parsing when encountering one. Also, '\n', '\t', '\r' and '\\' were not converted. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194357.521974680@goodmis.org> Signed-off-by: Ingo Molnar commit 924a79af2cdee26a034b9bdce8c9c76995b5c901 Author: Steven Rostedt Date: Wed Oct 14 15:43:32 2009 -0400 perf tools: Handle print concatenations in event format file kmem_alloc ftrace event format had a string that was broken up by two tokens. "string 1" "string 2". This patch lets the parser be able to handle the concatenation. Signed-off-by: Steven Rostedt Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <20091014194357.253818714@goodmis.org> Signed-off-by: Ingo Molnar commit b2d76447dfb8c695324c61c87f63e414f44fce5a Author: Eilon Greenstein Date: Thu Oct 15 00:19:31 2009 -0700 bnx2x: Update to version 1.52.1-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 35c5f8fef12a2e4b788aa45ff72206ce4ac8e4b4 Author: Eilon Greenstein Date: Thu Oct 15 00:19:05 2009 -0700 bnx2x: Report the maximal available BW as link speed The device is limited to the maximal BW allocation, so it should be displayed as the link speed to notify the user. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 061bc702f6912b6e45b9aaf1c9bf2f8122406d47 Author: Eilon Greenstein Date: Thu Oct 15 00:18:47 2009 -0700 bnx2x: Do not call load/unload functionality from DCC There is really no need to clear the MAC or the FW filtering rules - it was added for completion, but caused race conditions with load/unload. Removing this redundant code Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c4ff7cbf88be8bb0e3f942089f0ef0a40d98d654 Author: Eilon Greenstein Date: Thu Oct 15 00:18:27 2009 -0700 bnx2x: Adding FW mailbox mutex DCC commands are not protected with the RTNL lock, so a mutex should be added Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f34d28ea0174df63253dc20a95de0b48e3d8145a Author: Eilon Greenstein Date: Thu Oct 15 00:18:08 2009 -0700 bnx2x: Changing the Disabled state to a flag When working with DCC, a function can be disabled or enabled (virtual link down or up). Using the function state introduced some race conditions with the load/unload flow. Using a separate flag to indicate that the function is disabled. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 52a7a12fb560f22dd093ca74f3a768d51b044a40 Author: Eilon Greenstein Date: Thu Oct 15 00:17:45 2009 -0700 bnx2x: Remove old FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b015e3d112cab1880d262c56655c3ff60e179ceb Author: Eilon Greenstein Date: Thu Oct 15 00:17:20 2009 -0700 bnx2x: Allowing 0 as initial fairness value Value of zero was used to disable the fairness mechanism. Though the code (driver and FW) allowed changing the value at run time, it did not allow to do that if the mechanism was disabled to begin with. Fixed the FW to allow turning on and off the mechanism at run time. Fixed the code to read the value from the chip at the right sequence. Without this fix, if the initial value was set to zero, traffic could not run on the interface. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 69dc2df3aaee2ce5e875b14b7271436559be9a95 Author: Eilon Greenstein Date: Thu Oct 15 00:16:27 2009 -0700 bnx2x: Add FW 5.2.7 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b226f744d40b052ac126c4cb16c76f66e5185128 Merge: d5b889f a3ccf63 Author: Ingo Molnar Date: Thu Oct 15 08:44:42 2009 +0200 Merge branch 'linus' into perf/core Merge reason: pick up tools/perf/ changes from upstream. Signed-off-by: Ingo Molnar commit 09115cd42b52704ebd1789524e3e318963a5558d Author: David S. Miller Date: Wed Oct 14 21:32:43 2009 -0700 sparc: Add missing __NR_recvmmsg define. Signed-off-by: David S. Miller commit 766e9037cc139ee25ed93ee5ad11e1450c4b99f6 Author: Eric Dumazet Date: Wed Oct 14 20:40:11 2009 -0700 net: sk_drops consolidation sock_queue_rcv_skb() can update sk_drops itself, removing need for callers to take care of it. This is more consistent since sock_queue_rcv_skb() also reads sk_drops when queueing a skb. This adds sk_drops managment to many protocols that not cared yet. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 48bccd25df71f4f8177cb800f4b288222eb57761 Author: Thomas Sailer Date: Wed Oct 14 15:15:24 2009 -0700 hamradio: Fix bit test correctly. Signed-off-by: Thomas Sailer Signed-off-by: David S. Miller commit 86a0a1e52d0918125ffc21475537a032f9a71d7c Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:31 2009 +0000 Phonet: forward incoming packets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit aa6c45f32f7db292f8f6a76d7b39c19007d6a456 Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:30 2009 +0000 Phonet: route outgoing packets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f062f41d06575744b9eaf725eef8a5d3b5f5b7ca Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:29 2009 +0000 Phonet: routing table Netlink interface Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 55748ac0468134a89bc55aed6a9691e320caa8a9 Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:28 2009 +0000 Phonet: routing table backend The Phonet "universe" only has 64 addresses, so we keep a trivial flat routing table. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f14001fcd7bd03983c872810a3b11af4148bae72 Author: Rémi Denis-Courmont Date: Wed Oct 14 00:48:27 2009 +0000 Phonet: deliver broadcast packets to broadcast sockets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 27b3a5c51b50a234fb4a21146841e6723b5934ce Author: Frederic Weisbecker Date: Wed Oct 14 23:34:31 2009 +0200 kill-the-bkl/reiserfs: drop the fs race watchdog from _get_block_create_0() We had a watchdog in _get_block_create_0() that jumped to a fixup retry path in case the bkl got relaxed while calling kmap(). This is not necessary anymore since we now have a reiserfs lock that is not implicitly relaxed while sleeping. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit 205cb37b89ab37db553907e5ac17962eec561804 Author: Frederic Weisbecker Date: Wed Oct 14 23:22:17 2009 +0200 kill-the-bkl/reiserfs: definitely drop the bkl from reiserfs_ioctl() The reiserfs ioctl path doesn't need the big kernel lock anymore , now that the filesystem synchronizes through its own lock. We can then turn reiserfs_ioctl() into an unlocked_ioctl callback. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit ac78a07893d24d95ff5f39d0433c25210f224f07 Author: Frederic Weisbecker Date: Wed Oct 14 23:08:43 2009 +0200 kill-the-bkl/reiserfs: always lock the ioctl path Reiserfs uses the ioctl callback for its file operations, which means that its ioctl path is still locked by the bkl, this was synchronizing with the rest of the filsystem operations. We have changed that by locking it with the new reiserfs lock but we do that only from the compat_ioctl callback. Fix that by locking reiserfs_ioctl() everytime. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard Cc: Thomas Gleixner commit cb7c96da3651111efbe088fa12f9bed61836ea93 Author: Stefan Richter Date: Thu Oct 8 00:42:53 2009 +0200 firewire: core: optimize Topology Map creation The Topology Map of the local node was created in CPU byte order, then a temporary big endian copy was created to compute the CRC, and when a read request to the Topology Map arrived it had to be converted to big endian byte order again. We now generate it in big endian byte order in the first place. This also rids us of 1000 bytes stack usage in tasklet context. Signed-off-by: Stefan Richter commit fe242579e9f33150868f1bb79c7e262ad7953f17 Author: Stefan Richter Date: Thu Oct 8 00:42:27 2009 +0200 firewire: core: clarify generate_config_rom usage Move the static config ROM buffer into the scope of the two callers of generate_config_rom(). That way the ROM length can be passed over as return value rather than through a pointer argument. It also becomes more obvious that accesses to the config ROM buffer have to be serialized and how this is accomplished. And firewire-core.ko shrinks a bit as well. Signed-off-by: Stefan Richter commit 8e85973efc87dfae8508f1a3440fd44612897458 Author: Stefan Richter Date: Thu Oct 8 00:41:59 2009 +0200 firewire: optimize config ROM creation The config ROM image of the local node was created in CPU byte order, then a temporary big endian copy was created to compute the CRC, and finally the card driver created its own big endian copy. We now generate it in big endian byte order in the first place to avoid one byte order conversion and the temporary on-stack copy of the ROM image (1000 bytes stack usage in process context). Furthermore, two 1000 bytes memset()s are replaced by one 1000 bytes - ROM length sized memset. The trivial fw_memcpy_{from,to}_be32() helpers are now superfluous and removed. The newly added __compute_block_crc() function will be folded into fw_compute_block_crc() in a subsequent change. Signed-off-by: Stefan Richter commit e21fcf798e246202d7b60e864f1d7302ebaaf41c Author: Stefan Richter Date: Thu Oct 8 00:41:38 2009 +0200 firewire: cdev: normalize variable names Unify some names: - "e" for pointers to subtypes of struct event, - "event" for struct members and pointers to struct event, - "r" for pointers to subtypes of struct client_resource, - "resource" for struct members and pointers to struct client_resource, - other names for struct members and pointers to other types. Signed-off-by: Stefan Richter commit 9fb551bf72929b316abb6d96cfb2ec05e896042a Author: Stefan Richter Date: Thu Oct 8 00:41:10 2009 +0200 firewire: normalize style of queue_work wrappers A few stylistic changes to unify some code patterns in the subsystem: - The similar queue_delayed_work helpers fw_schedule_bm_work, schedule_iso_resource, and sbp2_queue_work now have the same call convention. - Two conditional calls of schedule_iso_resource are factored into another small helper. - An sbp2_target_get helper is added as counterpart to sbp2_target_put. Object size of firewire-core is decreased a little bit, object size of firewire-sbp2 remains unchanged. Signed-off-by: Stefan Richter commit 67ca0e5fa884f483d655ef19f22ad8509138dd3e Author: Arnaldo Carvalho de Melo Date: Wed Oct 14 13:11:30 2009 -0700 ia64: Fix up the syscall table for recvmmsg Reported-by: "Tony Luck" Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Tony Luck Signed-off-by: David S. Miller commit 7e44c0b56b07a5e34de9943cfb2fee72e71a9f0e Author: Stefan Richter Date: Thu Oct 8 00:39:56 2009 +0200 firewire: cdev: fix memory leak in an error path If copy_from_user in an FW_CDEV_IOC_SEND_RESPONSE ioctl failed, an inbound_transaction_resource instance is no longer referenced and needs to be freed. Signed-off-by: Stefan Richter commit 1beee96bae0daf7f491356777c3080cc436950f5 Author: Frederic Weisbecker Date: Wed Oct 14 20:50:32 2009 +0200 ftrace: Rename set_bootup_ftrace into set_cmdline_ftrace set_cmdline_ftrace is a better match against what does this function: apply a tracer name from the kernel command line. Reported-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Li Zefan commit 06f43d66ec36388056f5c697bf1e67c0e0a1645c Author: Frederic Weisbecker Date: Wed Oct 14 20:43:39 2009 +0200 ftrace: Copy ftrace_graph_filter boot param using strlcpy We are using strncpy in the wrong way to copy the ftrace_graph_filter boot param because we pass the buffer size instead of the max string size it can contain (buffer size - 1). The end result might not be NULL terminated as we are abusing the max string size. Lets use strlcpy() instead. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 4a4de9c7d7111ce4caf422b856756125d8304f9d Author: Dimitri Sivanich Date: Wed Oct 14 09:22:57 2009 -0500 x86: UV RTC: Rename generic_interrupt to x86_platform_ipi Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014142257.GE11048@sgi.com> Signed-off-by: Ingo Molnar commit d5991ff297ad2f7e2698eefcd8269df5ecec150f Author: Dimitri Sivanich Date: Wed Oct 14 09:21:03 2009 -0500 x86: UV RTC: Clean up error handling Cleanup error handling in uv_rtc_setup_clock. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014142103.GD11048@sgi.com> Signed-off-by: Ingo Molnar commit 8c28de4d011f37b2893ecfcec9a985c0e9bd786f Author: Dimitri Sivanich Date: Wed Oct 14 09:18:48 2009 -0500 x86: UV RTC: Add clocksource only boot option Add clocksource only boot option for UV RTC. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014141848.GC11048@sgi.com> Signed-off-by: Ingo Molnar commit e47938b1faaf9e9041ae842a878901001ce20ea1 Author: Dimitri Sivanich Date: Wed Oct 14 09:16:30 2009 -0500 x86: UV RTC: Fix early expiry handling Tune/fix early timer expiry handling and return correct early timeout value for set_next_event. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091014141630.GB11048@sgi.com> Signed-off-by: Ingo Molnar commit d2ed82a3e7d1f63b2da3f1aa5763667dd17919ac Author: Logan Li Date: Wed Oct 14 10:10:38 2009 +0800 ALSA: HDA VIA: Remove 48k sample rate limit for S/PDIF 48 kHz limit is for slightly better stability, and sample rates other than 48k (like 96k/192k) are for better sound quality. We choose better quality, so remove the 48k limit. Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 55e858c8483af427144f33b42b818b30612b82b0 Author: John Kacur Date: Sun Oct 11 22:24:25 2009 +0200 agp: Remove the BKL from agp_open - Remove the BKL from agp_open - Perform a few clean-ups. Analysis: --------- int minor is local to the function. The following are protected by agp_fe.agp_mutex struct agp_file_private *priv; struct agp_client *client; Call-outs: kzalloc should be safe to call under the mutex_lock agp_find_client_by_pid: - agp_mmap calls that under agp_fe.agp_mutex which we hold in agp_open - agpioc_reserve_wrap calls it without any locking what-so-ever. - Is that an error? Or is that okay because it has pid that is a unique handle? agp_insert_file_private: - This function only manipulates struct agp_file_private, once again while agp_fe.agp_mutex is held Signed-off-by: John Kacur Acked-by: David Airlie LKML-Reference: Signed-off-by: Thomas Gleixner commit f96d3015e9f7f7fff4cab7ed1d467664cc980061 Author: Thomas Gleixner Date: Wed Oct 14 16:36:26 2009 +0200 inifiband: Remove BKL from ipath_open() cycle_kernel_lock() got pushed down to ipath_open(). I tried hard to understand what it might protect, but finally gave up. Roland noted that qlogic seems to have abandoned the ipath driver and came to the following wise conclusion: "So I guess if the BKL stuff is blocking you in any way, we can just drop it from ipath and leave it as yet another race condition in a rotting old driver." Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Roland Dreier commit d2a7be0be1099c2554f4705d2c1c5081f8f96efc Author: Thomas Gleixner Date: Sat Oct 10 16:07:03 2009 +0200 mips: Remove BKL from tb0219 cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. tb0219_base is initialized before the character device is registered, but the spinlock is not initialized. Initialize the spinlock statically and remove cycle_kernel_lock(). Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.222654356@linutronix.de> Cc: Yoichi Yuasa Cc: Ralf Baechle commit 3a8183a2061ba54c4c2b3cd31c3add6fd717e853 Author: Thomas Gleixner Date: Sat Oct 10 16:02:53 2009 +0200 drivers: Remove BKL from scx200_gpio cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.167321547@linutronix.de> Acked-by: Jim Cromie commit 71d69bc2c0202f438669073d849999d2f6b6ca31 Author: Thomas Gleixner Date: Sat Oct 10 15:56:00 2009 +0200 drivers: Remove BKL from pc8736x_gpio cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.127093710@linutronix.de> Acked-by: Jim Cromie commit eb29b758a8b0b2dbffd8dc898490237d3ee783e4 Author: Thomas Gleixner Date: Sat Oct 10 15:33:17 2009 +0200 parisc: Remove BKL from eisa_eeprom Remove the empty ioctl and the cycle_kernel_lock() in eisa_eeprom_open() which got there with the big BKL push down. There is nothing to wait for and sychronize with after the misc device has been registered. Remove the empty ioctl as well. The generic code handles the -ENOTTY if no ioctl function is provided. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.086917493@linutronix.de> Cc: Kyle McMartin commit a5ee6dc9ebe8fc2640ee3fbf2c340bd853e2fd36 Author: Thomas Gleixner Date: Sat Oct 10 15:14:03 2009 +0200 rtc: Remove BKL from efirtc BKL locking came to efirtc via the big BKL push down, but the access to the efi functions is protected by efi_rtc_lock already. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153350.046644063@linutronix.de> commit d2d23559857e5f34762c61487f8ffb2fa4d7442d Author: Thomas Gleixner Date: Sat Oct 10 12:41:43 2009 +0200 input: Remove BKL from hp_sdc_rtc cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.884891604@linutronix.de> Cc: Geert Uytterhoeven Cc: Dmitry Torokhov commit a09ba31a54dbc9a548c4ff90619e4c7128a4282e Author: Thomas Gleixner Date: Sat Oct 10 12:36:32 2009 +0200 hw_random: Remove BKL from core hw_random core is completely serialized with rng_mutex. No need for the cycle_kernel_lock() magic. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.844488872@linutronix.de> Cc: Herbert Xu commit 95fdac73725c15072d068ac7f131958cf5c324e4 Author: Thomas Gleixner Date: Sat Oct 10 13:38:57 2009 +0200 macintosh: Remove BKL from ans-lcd The ans-lcd driver got the cycle_kernel_lock() in anslcd_open() from the BKL pushdown and it still uses the locked ioctl. The BKL serialization in this driver is more than obscure and definitely does not cover all possible corner cases. Protect the access to the hardware with a local mutex and get rid of BKL and locked ioctl. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.966159859@linutronix.de> Acked-by: Benjamin Herrenschmidt commit 9e8ab74ddaa591575f599248080a1f0d917a56ee Author: Frederic Weisbecker Date: Fri Oct 9 21:27:06 2009 +0200 nvram: Drop the bkl from non-generic nvram_llseek() Drop the bkl from nvram_llseek() as it obviously protects nothing. The file offset is safe in essence. Signed-off-by: Frederic Weisbecker LKML-Reference: <1255116426-7270-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Thomas Gleixner commit 6783b9cd7104470a3afab51c205c5aea53a2858f Author: Frederic Weisbecker Date: Fri Oct 9 21:20:30 2009 +0200 nvram: Drop the bkl from nvram_llseek() There is nothing to protect inside nvram_llseek(), the file offset doesn't need to be protected and nvram_len is only initialized from an __init path. It's safe to remove the big kernel lock there. Signed-off-by: Frederic Weisbecker LKML-Reference: <1255116030-6929-1-git-send-email-fweisbec@gmail.com> Cc: Greg KH Signed-off-by: Thomas Gleixner commit 205153aa40b7fb36dc7fe76c1798584ace55b288 Author: Frederic Weisbecker Date: Fri Oct 9 20:31:02 2009 +0200 mem_class: Drop the bkl from memory_open() The generic open callback for the mem class devices is "protected" by the bkl. Let's look at the datas manipulated inside memory_open: - inode and file: safe - the devlist: safe because it is constant - the memdev classes inside this array are safe too (constant) After we find out which memdev file operation we need to use, we call its open callback. Depending on the targeted memdev, we call either open_port() that doesn't manipulate any racy data (just a capable() check), or we call nothing. So it's safe to remove the big kernel lock there. Signed-off-by: Frederic Weisbecker LKML-Reference: <1255113062-5835-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Thomas Gleixner commit 4c2aedc2543248c3fdc8c06c662b589d36c93bbb Author: Thomas Gleixner Date: Sat Oct 10 15:35:52 2009 +0000 spi: Remove BKL from spidev_open The BKL was added there with the big pushdown. Remove it as the code is serialized already. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.318535932@linutronix.de> Cc: David Brownell commit a7e63bb5f08378620d913824ab42e49027f22194 Author: Thomas Gleixner Date: Sat Oct 10 15:35:48 2009 +0000 drivers: Remove BKL from cs5535_gpio The big BKL pushdown added cycle_kernel_lock(). There is nothing to wait for in this driver. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.277882707@linutronix.de> commit 40b798efe3460797a4ac928ee2e038774e2758eb Author: Thomas Gleixner Date: Sat Oct 10 15:35:43 2009 +0000 drivers: Remove BKL from misc_open misc_open() is already serialized with misc_mtx. Remove the BKL locking which got there via the BKL pushdown. Signed-off-by: Thomas Gleixner Cc: Greg Kroah-Hartman LKML-Reference: <20091010153349.237173041@linutronix.de> commit 9636bc0555e3f383c120ddcffe4b7c5c58a10b1a Author: Cyrill Gorcunov Date: Wed Oct 14 19:09:04 2009 +0400 x86, apic: Explain show_lapic= in kernel parameters list Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091014150904.GA5259@lenovo> Signed-off-by: Ingo Molnar commit 8c0daee204f794d095ae301f408c5f9f40e4547d Author: John Kacur Date: Mon Oct 12 23:41:55 2009 +0200 mn10300: Remove the BKL from sys_execve This looks like a cut-and-paste from functionality that no-longer needs the bkl Just remove it. Also, rewrite slightly so that it looks closer to sys_execve on other architectures. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Acked-by: David Howells Cc: Koichi Yasutake LKML-Reference: Signed-off-by: Thomas Gleixner commit eb7371d4fdcc40a390e8bdf90c99b5541213ca45 Author: John Kacur Date: Mon Oct 12 23:37:28 2009 +0200 m68knommu: Remove the BKL from sys_execve This looks like a copy-and-paste of functionality that no-longer needs the bkl. Just remove it. Signed-off-by: John Kacur Reviewed: Frederic Weisbecker Acked-by: Greg Ungerer LKML-Reference: Signed-off-by: Thomas Gleixner commit 2624167cd8b4965d0ef548e84767a30214edd8d4 Author: John Kacur Date: Mon Oct 12 23:09:24 2009 +0200 m68k: Remove the BKL from sys_execve This seems like a copy-and-paste from code that no-longer needs the BKL Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker LKML-Reference: Cc: Geert Uytterhoeven Signed-off-by: Thomas Gleixner commit e3c1a6b35c84795f7cb31cb7f4748166904cc0bc Author: John Kacur Date: Mon Oct 12 23:04:11 2009 +0200 h83000: Remove BKL from sys_execve This looks like a copy-and-paste job for code that no-longer needs the BKL Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Cc: Yoshinori Sato LKML-Reference: Signed-off-by: Thomas Gleixner commit b69975a35a7332624b6977a5676a6fc320070360 Author: John Kacur Date: Mon Oct 12 22:53:25 2009 +0200 frv: Remove the BKL from sys_execve sys_execve for frv seems to be a copy-and-paste of sys_execve that no longer requires the bkl. Just remove it. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Acked-by: David Howells LKML-Reference: Signed-off-by: Thomas Gleixner commit 25708a5fe7467dcc69d9b92c1701aad4a0c71887 Author: John Kacur Date: Mon Oct 12 22:44:40 2009 +0200 blackfin: Remove the BKL from sys_execve This looks like a cut-and-paste job. For example, compare this function to sys_execve in arch/x86/kernel/process_64.c and it is almost line by line the same, except the one in x86 nolonger has the big kernel lock. All of the functions called between the lock are generic and not specific to blackfin - thus, I believe it is safe to remove the bkl here. Signed-off-by: John Kacur Reviewed-by: Frederic Weisbecker Acked-by: Mike Frysinger LKML-Reference: Signed-off-by: Thomas Gleixner commit 05d86412eab6a18cf57697474cc4f8fbfcd6936f Author: Thomas Gleixner Date: Fri Oct 9 19:02:20 2009 +0200 x86: Remove BKL from apm_32 The lock/unlock kernel pair in do_open() got there with the BKL push down and protects nothing. Remove it. Replace the lock/unlock kernel in the ioctl code with a mutex to protect standbys_pending and suspends_pending. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.365236337@linutronix.de> commit ac06ea2cd06291e63951b51dd7c9a23e6a1f2683 Author: Thomas Gleixner Date: Sat Oct 10 09:35:48 2009 +0200 x86: Remove BKL from microcode cycle_lock_kernel() in microcode_open() is a worthless exercise as there is nothing to wait for. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.196074920@linutronix.de> commit d63c489b881707adf9c0b89f771b30a1d78f4197 Author: Thomas Gleixner Date: Sat Oct 10 15:36:34 2009 +0000 um: Remove BKL from mmapper cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. mmapper_open() cannot be called before misc_register() succeeded, but p_buf might be uninitialized. Move the initialization of p_buf before the misc_register() call and get rid of cycle_kernel_lock(). Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.682213670@linutronix.de> Cc: Jeff Dike commit df502e389383b219e44819fe757614450d95f297 Author: Thomas Gleixner Date: Sat Oct 10 15:36:30 2009 +0000 um: Remove BKL from random cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner LKML-Reference: <20091010153349.641118498@linutronix.de> Cc: Jeff Dike commit ca1b82ba0888e742a7efdb89ed8e2aab453e091f Author: Thomas Gleixner Date: Sat Oct 10 10:21:03 2009 +0200 s390: Remove BKL from prng cycle_kernel_lock() was added during the big BKL pushdown. It should ensure the serializiation against driver init code. In this case there is nothing to serialize. Remove it. Signed-off-by: Thomas Gleixner Cc: Martin Schwidefsky LKML-Reference: <20091010153349.601625576@linutronix.de> Acked-by: Jan Glauber commit 6f15fa50087c8317e353145319466afbeb27a75d Author: Thomas Gleixner Date: Fri Oct 9 20:31:33 2009 +0200 sys: Remove BKL from sys_reboot Serialization of sys_reboot can be done local. The BKL is not protecting anything else. LKML-Reference: <20091010153349.405590702@linutronix.de> Signed-off-by: Thomas Gleixner commit 1a6deaea3584fd7af1cad492b1fe0867060b45db Author: Jonathan Corbet Date: Thu Aug 6 13:35:44 2009 -0600 pm_qos: clean up racy global "name" variable "name" is a poor name for a file-global variable. It was used in three different functions, with no mutual exclusion. But it's just a tiny, temporary string; let's just move it onto the stack in the functions that need it. Also use snprintf() just in case. Signed-off-by: Jonathan Corbet LKML-Reference: <20091010153349.113570550@linutronix.de> Acked-by: Mark Gross Reviewed-by: Frederic Weisbecker Signed-off-by: Thomas Gleixner commit e6fe07a014c7a3466dcd1a387a9ac04d84c2703c Author: Jonathan Corbet Date: Thu Aug 6 13:22:40 2009 -0600 pm_qos: remove BKL pm_qos_power_open got its lock_kernel() calls from the open() pushdown. A look at the code shows that the only global resources accessed are pm_qos_array and "name". pm_qos_array doesn't change (things pointed to therein do change, but they are atomics and/or are protected by pm_qos_lock). Accesses to "name" are totally unprotected with or without the BKL; that will be fixed shortly. The BKL is not helpful here; take it out. Signed-off-by: Jonathan Corbet LKML-Reference: <20091010153349.071381158@linutronix.de> Acked-by: Mark Gross Reviewed-by: Frederic Weisbecker Signed-off-by: Thomas Gleixner commit 7ec13187ef48b04bb7f6dfa266c7271a52d009c2 Author: Ingo Molnar Date: Wed Oct 14 15:06:42 2009 +0200 x86, apic: Fix prototype in hw_irq.h This warning: In file included from arch/x86/include/asm/ipi.h:23, from arch/x86/kernel/apic/apic_noop.c:27: arch/x86/include/asm/hw_irq.h:105: warning: ‘struct irq_desc’ declared inside parameter list arch/x86/include/asm/hw_irq.h:105: warning: its scope is only this definition or declaration, which is probably not what you want triggers because irq_desc is defined after hw_irq.h is included in irq.h. Since it's pointer reference only, a forward declaration of the type will solve the problem. LKML-Reference: Signed-off-by: Ingo Molnar commit deed49fbb68d7d07ec6c3dfd06bffc74e9abc6fa Author: Thomas Gleixner Date: Wed Oct 14 01:19:46 2009 -0700 net: Remove BKL from tun The lock_kernel/unlock_kernel() in cycle_kernel_lock() which is called in tun_chr_open() is not serializing against anything and safe to remove. tun_chr_fasync() is serialized by get/put_tun() and fasync_helper() has no dependency on BKL. The modification of tun->flags is racy with and without the BKL so removing it does not make it worse. Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 459c6d15a0c52bae43842ff2cd0dd41aa7de9b7f Author: Frederic Weisbecker Date: Sat Sep 19 07:14:15 2009 +0200 tracing: Document HAVE_SYSCALL_TRACEPOINTS needs Document the arch needed requirements to get the support for syscalls tracing. v2: HAVE_FTRACE_SYSCALLS have been changed to HAVE_SYSCALL_TRACEPOINTS recently. Update this config name in the documentation then. Signed-off-by: Frederic Weisbecker Acked-by: Heiko Carstens Cc: Ingo Molnar Cc: Steven Rostedt Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron Cc: Lai Jiangshan Cc: Martin Schwidefsky Cc: Paul Mundt commit c44fc770845163f8d9e573f37f92a7b7a7ade14e Author: Frederic Weisbecker Date: Sat Sep 19 06:50:42 2009 +0200 tracing: Move syscalls metadata handling from arch to core Most of the syscalls metadata processing is done from arch. But these operations are mostly generic accross archs. Especially now that we have a common variable name that expresses the number of syscalls supported by an arch: NR_syscalls, the only remaining bits that need to reside in arch is the syscall nr to addr translation. v2: Compare syscalls symbols only after the "sys" prefix so that we avoid spurious mismatches with archs that have syscalls wrappers, in which case syscalls symbols have "SyS" prefixed aliases. (Reported by: Heiko Carstens) Signed-off-by: Frederic Weisbecker Acked-by: Heiko Carstens Cc: Ingo Molnar Cc: Steven Rostedt Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron Cc: Lai Jiangshan Cc: Martin Schwidefsky Cc: Paul Mundt commit 9338ad6ffb70eca97f335d93c54943828c8b209e Author: Dimitri Sivanich Date: Tue Oct 13 15:32:36 2009 -0500 x86, apic: Move SGI UV functionality out of generic IO-APIC code Move UV specific functionality out of the generic IO-APIC code. Signed-off-by: Dimitri Sivanich LKML-Reference: <20091013203236.GD20543@sgi.com> [ Cleaned up the code some more in their new places. ] Signed-off-by: Ingo Molnar commit 6c2c502910247d2820cb630e7b28fb6bdecdbf45 Author: Dimitri Sivanich Date: Wed Sep 30 11:02:59 2009 -0500 x86: SGI UV: Fix irq affinity for hub based interrupts This patch fixes handling of uv hub irq affinity. IRQs with ALL or NODE affinity can be routed to cpus other than their originally assigned cpu. Those with CPU affinity cannot be rerouted. Signed-off-by: Dimitri Sivanich LKML-Reference: <20090930160259.GA7822@sgi.com> Signed-off-by: Ingo Molnar commit 2626eb2b2fd958dc0f683126aa84e93b939699a1 Author: Cyrill Gorcunov Date: Wed Oct 14 00:07:05 2009 +0400 x86, apic: Limit apic dumping, introduce new show_lapic= setup option In case if a system has a large number of cpus printing apics contents may consume a long time period. We limit such an output by 1 apic by default. But to have an ability to see all apics or some part of them we introduce "show_lapic" setup option which allow us to limit/unlimit the number of APICs being dumped. Example: apic=debug show_lapic=5, or apic=debug show_lapic=all Also move apic_verbosity checking upper that way so helper routines do not need to inspect it at all. Suggested-by: Yinghai Lu Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091013201022.926793122@openvz.org> Signed-off-by: Ingo Molnar commit a933c61829509eb27083146dda392132baa0969a Author: Cyrill Gorcunov Date: Wed Oct 14 00:07:04 2009 +0400 x86, apic: Use apic noop driver In case if apic were disabled we may use the whole apic NOOP driver instead of sparse poking the some functions in apic driver. Also NOOP would catch any inappropriate apic operation calls (not just read/write). Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091013201022.747817361@openvz.org> Signed-off-by: Ingo Molnar commit 9844ab11c763bfed9f054c82366b19dcda66aca9 Author: Cyrill Gorcunov Date: Wed Oct 14 00:07:03 2009 +0400 x86, apic: Introduce the NOOP apic driver Introduce NOOP APIC driver. We should use it in case if apic was disabled due to hardware of software/firmware problems (including user requested to disable it case). The driver is attempting to catch any inappropriate apic operation call with warning issue. Also it is possible to use some apic operation like IPI calls, read/write without checking for apic presence which should make callers code easier. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: macro@linux-mips.org LKML-Reference: <20091013201022.534682104@openvz.org> Signed-off-by: Ingo Molnar commit 4d8289494a37e19cd7f3beacea9c957ad3debad6 Author: Jiri Olsa Date: Tue Oct 13 16:33:54 2009 -0400 tracing: Enable "__cold" functions Based on the commit: a586df06 "x86: Support __attribute__((__cold__)) in gcc 4.3" some of the functions goes to the ".text.unlikely" section. Looks like there's not many of them (I found printk, panic, __ssb_dma_not_implemented, fat_fs_error), but still worth to include I think. Signed-off-by: Jiri Olsa Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt LKML-Reference: <20091013203426.175845614@goodmis.org> Signed-off-by: Ingo Molnar commit 5cb084bb1f3fd4dcdaf7e4cf564994346ec8f783 Author: Jiri Olsa Date: Tue Oct 13 16:33:53 2009 -0400 tracing: Enable records during the module load I was debuging some module using "function" and "function_graph" tracers and noticed, that if you load module after you enabled tracing, the module's hooks will convert only to NOP instructions. The attached patch enables modules' hooks if there's function trace allready on, thus allowing to trace module functions. Signed-off-by: Jiri Olsa Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt LKML-Reference: <20091013203425.896285120@goodmis.org> Signed-off-by: Ingo Molnar commit 756d17ee7ee4fbc8238bdf97100af63e6ac441ef Author: jolsa@redhat.com Date: Tue Oct 13 16:33:52 2009 -0400 tracing: Support multiple pids in set_pid_ftrace file Adding the possibility to set more than 1 pid in the set_pid_ftrace file, thus allowing to trace more than 1 independent processes. Usage: sh-4.0# echo 284 > ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid 284 sh-4.0# echo 1 >> ./set_ftrace_pid sh-4.0# echo 0 >> ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid swapper tasks 1 284 sh-4.0# echo 4 > ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid 4 sh-4.0# echo > ./set_ftrace_pid sh-4.0# cat ./set_ftrace_pid no pid sh-4.0# Signed-off-by: Jiri Olsa Cc: Frederic Weisbecker LKML-Reference: <20091013203425.565454612@goodmis.org> Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 194ec34184869f0de1cf255c924fc5299e1b3d27 Author: Steven Rostedt Date: Tue Oct 13 16:33:50 2009 -0400 function-graph/x86: Replace unbalanced ret with jmp The function graph tracer replaces the return address with a hook to trace the exit of the function call. This hook will finish by returning to the real location the function should return to. But the current implementation uses a ret to jump to the real return location. This causes a imbalance between calls and ret. That is the original function does a call, the ret goes to the handler and then the handler does a ret without a matching call. Although the function graph tracer itself still breaks the branch predictor by replacing the original ret, by using a second ret and causing an imbalance, it breaks the predictor even more. This patch replaces the ret with a jmp to keep the calls and ret balanced. I tested this on one box and it showed a 1.7% increase in performance. Another box only showed a small 0.3% increase. But no box that I tested this on showed a decrease in performance by making this change. Signed-off-by: Steven Rostedt Acked-by: Mathieu Desnoyers Cc: Frederic Weisbecker LKML-Reference: <20091013203425.042034383@goodmis.org> Signed-off-by: Ingo Molnar commit 825332e4ff1373c55d931b49408df7ec2298f71e Author: Arjan van de Ven Date: Wed Oct 14 08:17:36 2009 +1100 capabilities: simplify bound checks for copy_from_user() The capabilities syscall has a copy_from_user() call where gcc currently cannot prove to itself that the copy is always within bounds. This patch adds a very explicity bound check to prove to gcc that this copy_from_user cannot overflow its destination buffer. Signed-off-by: Arjan van de Ven Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 421355de876b9f3fcc7e4cb6026e416fb12a5068 Merge: aace495 0fe7463 Author: David S. Miller Date: Tue Oct 13 12:55:20 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit aace495933a981274b6491d71b915165a61defdc Author: Manuel Lauss Date: Tue Oct 13 07:25:49 2009 +0000 net: smsc911x: allow platform_data to specify mac address Extend the driver to accept a MAC address specified in platform_data. Signed-off-by: Manuel Lauss Signed-off-by: David S. Miller commit b4efc5610980bc4b65a6cb49b939cf5f7dfa2723 Author: Manuel Lauss Date: Tue Oct 13 07:25:48 2009 +0000 net: enable smsc911x on MIPS Signed-off-by: Manuel Lauss Signed-off-by: David S. Miller commit d189a7e85835dbfb22b1d04eb7f3ab575ccacb96 Author: Ajit Khaparde Date: Tue Oct 13 01:46:56 2009 +0000 ixgb: Fix erroneous display of stats by ethtool -S Commit 5675f221 overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 231835e4163cf14c90e295f1729004f571ee1cc7 Author: Ajit Khaparde Date: Tue Oct 13 01:46:29 2009 +0000 igb: Fix erroneous display of stats by ethtool -S Commit 337e067d overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 8328c38fcda2743249fd142174acf025d4cdd21f Author: Ajit Khaparde Date: Tue Oct 13 01:45:48 2009 +0000 e1000: Fix erroneous display of stats by ethtool -S Commit 23d26497 overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit e0f36a95c7adb6551188cdcc5a7031ce106fccbf Author: Ajit Khaparde Date: Tue Oct 13 01:45:09 2009 +0000 e1000e: Fix erroneous display of stats by ethtool -S Commit fd8235bb overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 29c3a050f83c524218b1baa4e43aedd21501b338 Author: Ajit Khaparde Date: Tue Oct 13 01:47:33 2009 +0000 ixgbe: Fix erroneous display of stats by ethtool -S Commit 59aa3cc4 overlooked the way offsets for netdev stats were considered. Because of this some of the stats shown by ethtool -S were wrong. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 70f9cf8951e5253cfef821f8dcb92f6fc3af50c6 Author: Dhananjay Phadke Date: Tue Oct 13 05:31:45 2009 +0000 netxen: add sysfs entries for diag tools Add sysfs entries to enable register and memory access for diagnostic tools. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f03b0ebd8e7132bd9adb41348070813feb280300 Author: Dhananjay Phadke Date: Tue Oct 13 05:31:44 2009 +0000 netxen: separate register and memory access lock Since register and onboard memory access has separate window registers, they need not be kept under same lock. Also, memory is always accessed from process context (mostly for firmware init and diagnostic tools). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 907fa1201c76f426a13bdff5be2747fb62c2353f Author: Dhananjay Phadke Date: Tue Oct 13 05:31:43 2009 +0000 netxen: annotate register windowing code Use common variables crb_win, ocm_win for all revisions of chip. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 47abe35610cbbfb3cc92847efdf588a8be1f5ebc Author: Dhananjay Phadke Date: Tue Oct 13 05:31:42 2009 +0000 netxen: add access to on chip memory for tools Add access to on chip memory, this is used by debug and diagnostic tools only. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1f5e055db369a5d1c74174571585a4ec2e6c40fb Author: Amit Kumar Salecha Date: Tue Oct 13 05:31:41 2009 +0000 netxen: remove sub 64-bit mem accesses Sub 64-bit / unaligned access to oncard memory was only used by old diagnostic tools, causes some intermittent issues when memory controller agent is used. The new access method was added by commit ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742 ("netxen: improve pci memory access"). Firmware init anyway uses 8-byte strides. This also fixes address/offset calculation for NX2031 context memory (SIU). For NX3031, SIU uses same register offsets as packet memory (MIU). Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 89d71a66c40d629e3b1285def543ab1425558cd5 Author: Eric Dumazet Date: Tue Oct 13 05:34:20 2009 +0000 net: Use netdev_alloc_skb_ip_align() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d5b889f2ecec7849e851ddd31c34bdfb3482b5de Author: Arnaldo Carvalho de Melo Date: Tue Oct 13 11:16:29 2009 -0300 perf tools: Move threads & last_match to threads.c This was just being copy'n'pasted all over. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <20091013141629.GD21809@ghostprotocols.net> Signed-off-by: Ingo Molnar commit f4f0b418188cc7995375acbb54e87c80f21861bd Author: Mike Galbraith Date: Tue Oct 13 14:57:20 2009 +0200 perf tools: Remove expensive old debug code from perf top Calling gettimeofday() at high frequency is painful for handicapped boxen. The spot calling gettimeofday() is old unneeded debug code, so remove it. Reported-by: Ingo Molnar Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Peter Zijlstra LKML-Reference: <1255438640.7173.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit ed9d040d40942e9c48167f9f37f86fab8e0e5e17 Author: Ben Dooks Date: Mon Oct 12 21:17:09 2009 +0100 ASoC: S3C: Remove Remove the include from arch/arm/plat-s3c/include/plat/audio.h as it provides nothing to the current kernel and is not in any future plans for the system. Signed-off-by: Ben Dooks Signed-off-by: Simtec Linux Team Signed-off-by: Mark Brown commit bff1c09640b3006bca711e18ef08a5fb955ad9b5 Author: roel kluin Date: Tue Oct 6 10:07:15 2009 +0000 sb1250-mac: duplicate setting of bit V_MAC_RX_PL_THRSH(4) in sbmac_channel_start() The bit V_MAC_RX_PL_THRSH(4) was already set a few lines higher. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit a81d4bfdef72af6b332306a64e2d119bd5365506 Author: roel kluin Date: Tue Oct 6 01:20:08 2009 +0000 net/hamradio: fix test in receive() The negation makes it a bool before the comparison and hence it will never evaluate to true. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 06a96b33aea838b61a6eeccded781a305cf85a12 Author: roel kluin Date: Wed Oct 7 00:59:42 2009 +0000 x25: bit and/or confusion in x25_ioctl()? Looking at commit ebc3f64b864f it appears that this was intended and not the original, equivalent to `if (facilities.reverse & ~0x81)'. In x25_parse_facilities() that patch changed how facilities->reverse was set. No other bits were set than 0x80 and/or 0x01. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit f14d42f314cb45a080bf84ecadf8b9b1eebbe9fd Author: Karen Xie Date: Thu Oct 8 09:11:05 2009 +0000 cxgb3: Added private MAC address and provisioning packet handler for iSCSI This patch added support of private MAC address per port and provisioning packet handler for iSCSI traffic only. The above changes are isolated to the cxgb3 driver, independent of any scsi or iscsi driver changes. Acked-by: Karen Xie Acked-by: Divy Le Ray Signed-off-by: Rakesh Ranjan Signed-off-by: David S. Miller commit bcd5149ded6b2edbf3732fa1483600a716b1cba6 Author: Magnus Damm Date: Fri Oct 9 00:20:04 2009 +0000 net: add Runtime PM to the sh_eth driver Add Runtime PM support to the sh_eth driver. The clock to the ethernet hardware block will be enabled as long as the network device is up. Signed-off-by: Magnus Damm Tested-by: Kuninori Morimoto Signed-off-by: David S. Miller commit 748031f9fd2c06b28817d80761a5de97190cfd03 Author: Magnus Damm Date: Fri Oct 9 00:17:14 2009 +0000 net: allow sh_eth to get mac address through platform data Extend the sh_eth driver to allow passing the mac address using the platform data structure. This to simplify board setup code. Signed-off-by: Magnus Damm Tested-by: Kuninori Morimoto Signed-off-by: David S. Miller commit a6e4bc5304033e434fabccabb230b8e9ff55d76f Author: Wolfgang Grandegger Date: Thu Oct 8 22:17:11 2009 +0000 can: make the number of echo skb's configurable This patch allows the CAN controller driver to define the number of echo skb's used for the local loopback (echo), as suggested by Kurt Van Dijck, with the function: struct net_device *alloc_candev(int sizeof_priv, unsigned int echo_skb_max); The CAN drivers have been adapted accordingly. For the ems_usb driver, as suggested by Sebastian Haas, the number of echo skb's has been increased to 10, which improves the transmission performance a lot. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kurt Van Dijck Signed-off-by: David S. Miller commit 61321bbd6235ca9a40ba3bc249e8906cc66233c3 Author: Eric Dumazet Date: Wed Oct 7 17:11:23 2009 +0000 net: Add netdev_alloc_skb_ip_align() helper Instead of hardcoding NET_IP_ALIGN stuff in various network drivers, we can add a helper around netdev_alloc_skb() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f373b53b5fe67aa4a6f28f921a529cc90f88e79b Author: Eric Dumazet Date: Fri Oct 9 00:16:19 2009 +0000 tcp: replace ehash_size by ehash_mask Storing the mask (size - 1) instead of the size allows fast path to be a bit faster. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c3faca053d0a9c877597935b434150b422dbc6fb Author: Cosmin Ratiu Date: Fri Oct 9 03:11:14 2009 +0000 ipv6: fix devconf after adding force_tllao option Signed-off-by: Cosmin Ratiu Signed-off-by: David S. Miller commit c30f33437c3f85ec48353a1ef811e148217a2aaf Merge: 132cc53 2ec24ff Author: Jens Axboe Date: Tue Oct 13 12:29:45 2009 +0200 Merge branch 'for-linus' into for-2.6.33 commit 1bac0497ef9af8d933860672223e38bd6ac4934a Merge: 2c96c14 bf7c5b4 Author: Ingo Molnar Date: Tue Oct 13 12:03:08 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit cfed95a693e1ea5d08b9c9019bc30e448437ee2f Author: Vincent Legoll Date: Tue Oct 13 10:18:16 2009 +0200 perf tools: Do not manually count string lengths Use strlen & macros instead of manually counting string lengths as this is error prone and may lend to bugs. Signed-off-by: Vincent Legoll Cc: Linus Torvalds LKML-Reference: <4727185d0910130118m5387058dndb02ac9b384af9f0@mail.gmail.com> Signed-off-by: Ingo Molnar commit 38fc0026da255aa328c3730a1c4d28b4e11e6a2b Author: Nicolas de Pesloüan Date: Tue Oct 13 00:45:06 2009 -0700 bonding: change bond_create_proc_entry() to return void The function bond_create_proc_entry is currently of type int. Two versions of this function exist: The one in the ifdef CONFIG_PROC_FS branch always return 0. The one in the else branch (which is empty) return nothing. When CONFIG_PROC_FS is undef, this cause the following warning: drivers/net/bonding/bond_main.c: In function `bond_create_proc_entry': drivers/net/bonding/bond_main.c:3393: warning: control reaches end of non-void function No caller of this function use the returned value. So change the returned type from int to void and remove the useless return 0; . Signed-off-by: Nicolas de Pesloüan Reported-by: Rakib Mullick Signed-off-by: David S. Miller commit 8968f9d3dc23d9a1821d97c6f11e72a59382e56c Author: Hidetoshi Seto Date: Tue Oct 13 16:19:41 2009 +0900 perf_event, x86, mce: Use TRACE_EVENT() for MCE logging This approach is the first baby step towards solving many of the structural problems the x86 MCE logging code is having today: - It has a private ring-buffer implementation that has a number of limitations and has been historically fragile and buggy. - It is using a quirky /dev/mcelog ioctl driven ABI that is MCE specific. /dev/mcelog is not part of any larger logging framework and hence has remained on the fringes for many years. - The MCE logging code is still very unclean partly due to its ABI limitations. Fields are being reused for multiple purposes, and the whole message structure is limited and x86 specific to begin with. All in one, the x86 tree would like to move away from this private implementation of an event logging facility to a broader framework. By using perf events we gain the following advantages: - Multiple user-space agents can access MCE events. We can have an mcelog daemon running but also a system-wide tracer capturing important events in flight-recorder mode. - Sampling support: the kernel and the user-space call-chain of MCE events can be stored and analyzed as well. This way actual patterns of bad behavior can be matched to precisely what kind of activity happened in the kernel (and/or in the app) around that moment in time. - Coupling with other hardware and software events: the PMU can track a number of other anomalies - monitoring software might chose to monitor those plus the MCE events as well - in one coherent stream of events. - Discovery of MCE sources - tracepoints are enumerated and tools can act upon the existence (or non-existence) of various channels of MCE information. - Filtering support: we just subscribe to and act upon the events we are interested in. Then even on a per event source basis there's in-kernel filter expressions available that can restrict the amount of data that hits the event channel. - Arbitrary deep per cpu buffering of events - we can buffer 32 entries or we can buffer as much as we want, as long as we have the RAM. - An NMI-safe ring-buffer implementation - mappable to user-space. - Built-in support for timestamping of events, PID markers, CPU markers, etc. - A rich ABI accessible over system call interface. Per cpu, per task and per workload monitoring of MCE events can be done this way. The ABI itself has a nice, meaningful structure. - Extensible ABI: new fields can be added without breaking tooling. New tracepoints can be added as the hardware side evolves. There's various parsers that can be used. - Lots of scheduling/buffering/batching modes of operandi for MCE events. poll() support. mmap() support. read() support. You name it. - Rich tooling support: even without any MCE specific extensions added the 'perf' tool today offers various views of MCE data: perf report, perf stat, perf trace can all be used to view logged MCE events and perhaps correlate them to certain user-space usage patterns. But it can be used directly as well, for user-space agents and policy action in mcelog, etc. With this we hope to achieve significant code cleanup and feature improvements in the MCE code, and we hope to be able to drop the /dev/mcelog facility in the end. This patch is just a plain dumb dump of mce_log() records to the tracepoints / perf events framework - a first proof of concept step. Signed-off-by: Hidetoshi Seto Cc: Huang Ying Cc: Andi Kleen LKML-Reference: <4AD42A0D.7050104@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit bf7c5b43a12614847b83f507fb169ad30640e406 Author: Frederic Weisbecker Date: Mon Oct 12 22:31:32 2009 +0200 tracing: Remove unused ftrace_trace_addr helper Remove the ftrace_trace_addr() function as only its off-case is implemented and there are no users of it currently. But we keep ftrace_graph_addr() off-case, in case someone come to use the function graph tracer to profit from top-level callers filtering. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit aef6f81b55f462082699c06e8e67e6eb5630ed45 Author: Frederic Weisbecker Date: Mon Oct 12 22:23:24 2009 +0200 tracing: Rename set_ftrace to set_bootup_ftrace Do this rename because set_ftrace is too much generic and not enough self-explainable as a name. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit 9dbdd6c41c12fb42ee7188eafa7e1917b192af3a Merge: 7a693d3 1612913 Author: Ingo Molnar Date: Tue Oct 13 09:31:28 2009 +0200 Merge commit 'v2.6.32-rc4' into perf/core Merge reason: we were on an -rc1 base, merge up to -rc4. Signed-off-by: Ingo Molnar commit 2c96c142e941041973faab20ca3b82d57f435c5e Merge: 3c35586 8ad8073 Author: Ingo Molnar Date: Tue Oct 13 09:24:51 2009 +0200 Merge branch 'tracing/urgent' into tracing/core Merge reason: Pick up tracing/filters fix from the urgent queue, we will queue up dependent patches. Signed-off-by: Ingo Molnar commit c634263df5890daafe0ea470faee3305736bbc3d Author: Ben Hutchings Date: Mon Oct 12 09:27:07 2009 +0000 sfc: 10Xpress: Initialise pause advertising flags The mdio module now handles reconfiguration of pause advertising through ethtool, but not initialisation. Add the necessary initialisation to tenxpress_phy_init(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 27fbc7db52315d6ec37fe3292c1b2ee62180c643 Author: Ben Hutchings Date: Mon Oct 12 09:26:37 2009 +0000 mdio: Expose pause frame advertising flags to ethtool In mdio45_ethtool_gset_npage() and mdio45_ethtool_gset(), check MDIO pause frame advertising flags and set the corresponding ethtool flags. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 767f4a7ca8041442e033dd919b591d00f6901e03 Author: Ben Hutchings Date: Mon Oct 12 09:26:17 2009 +0000 mdio: Advertise pause (flow control) settings even if autoneg is off Currently, if pause autoneg is off we do not set either pause advertising flag. If autonegotiation of speed and duplex settings is enabled, there is no way for the link partner to distinguish this from our refusing to use pause frames. We should instead set the advertising flags according to the forced mode so that the link partner can follow our lead. This is consistent with the behaviour of other drivers. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit be926fc4046913d9ad921aeacdf9329978241c38 Author: Anton Vorontsov Date: Mon Oct 12 06:00:42 2009 +0000 gianfar: Add support for hibernation Thanks to various cleanups and refactorings this is now straightforward: convert the gianfar driver to dev_pm_ops, plus add ->restore() callback that will fully reinitialize MAC internal registers and BDs. Note that I kept legacy suspend/resume callbacks so that this patch doesn't depend on PowerPC changes (i.e. dev_pm_ops support for OF platform drivers). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8728327e7a7a7f21f3a7109e65503f4cc3305e78 Author: Anton Vorontsov Date: Mon Oct 12 06:00:39 2009 +0000 gianfar: Factor out gfar_init_bds() from gfar_alloc_skb_resources() After hibernation we want to just reinitialize BDs, no need to allocate anything. So, factor out BDs initialization code from gfar_alloc_skb_resourses(). Also, teach gfar_init_bds() to reuse already allocated RX SKBs, i.e. just call gfar_init_rxbdp() if a SKB was already allocated and mapped. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8a102fe001cc016dabcc392247a2b008e37ffe6a Author: Anton Vorontsov Date: Mon Oct 12 06:00:37 2009 +0000 gianfar: Factor out RX BDs initialization from gfar_new_rxbdp() We want to just reinitialize RX BDs after hibernation, no need to map the skb->data again. So let's factor gfar_init_rxbdp() out of gfar_new_rxbdp(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 32c513bca062f6c04b902d09c716fea205671e23 Author: Anton Vorontsov Date: Mon Oct 12 06:00:36 2009 +0000 gianfar: Move tbase/rbase initialization to gfar_init_mac() For hibernation we want to call gfar_init_mac() without need to free/allocate_skb_resources sequence, so save the DMA address into a private struct, and move tbase/rbase initialization to gfar_init_mac(). Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 826aa4a05669a46e435f65db901186e42bb43d8d Author: Anton Vorontsov Date: Mon Oct 12 06:00:34 2009 +0000 gianfar: Split allocation and initialization steps out of startup_gfar() Two new functions implemented: gfar_alloc_skb_resources() and gfar_init_mac(). We'll use gfar_init_mac() for restoring after hibernation. The patch just moves the code around, there should be no functional changes. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 14231176b0dc358f8693f25b62017d222dd995e6 Author: Anton Vorontsov Date: Mon Oct 12 06:00:33 2009 +0000 gianfar: Don't needlessly set the wrap bit for the last RX BD startup_gfar() sets the wrap bit for the last rxbd just after gfar_new_rxbdp() call, which is issued for all rxbds. And gfar_new_rxbdp() has the following check already: if (bdp == priv->rx_bd_base + priv->rx_ring_size - 1) lstatus |= BD_LFLAG(RXBD_WRAP); So we don't need to set the bit again. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit e69edd21819823bbad06d1d02f9fa21713fad173 Author: Anton Vorontsov Date: Mon Oct 12 06:00:30 2009 +0000 gianfar: Simplify skb resources freeing code Remove dma_free_coherent() from stop_gfar() and gfar_start() calls, place it into free_skb_resources(). That makes SKB resources management more understandable, plus free_skb_resources() will be used as a cleanup routine for gfar_alloc_skb_resources() that will be implemented soon. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ccc05c6e1e4fb672c93c98d92079c89a976e80ba Author: Anton Vorontsov Date: Mon Oct 12 06:00:26 2009 +0000 gianfar: Some cleanups for startup_gfar() We're going to split the startup_gfar() into 3 separate functions, so let's cleanup the code a little bit so that cosmetic changes won't distract attention from logical ones. - Remove needless casts (e.g. (struct sk_buff **)kmalloc()); - Turn 'unsigned long vaddr;' into 'void *vaddr', to avoid casting; - Add new 'struct device *dev' variable as a shorthand for '&priv->ofdev->dev' that is used all over the place, also rename 'struct net_device *dev' to 'struct net_device *ndev'; - Turn printk(KERN_ERR ...) to pr_err(...), which is shorter; - Don't return bogus -1 (i.e. -EPERM) when request_irq() fails; - Turn '&priv->regs->' to just '®s->'. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit a2e2725541fad72416326798c2d7fa4dafb7d337 Author: Arnaldo Carvalho de Melo Date: Mon Oct 12 23:40:10 2009 -0700 net: Introduce recvmmsg socket syscall Meaning receive multiple messages, reducing the number of syscalls and net stack entry/exit operations. Next patches will introduce mechanisms where protocols that want to optimize this operation will provide an unlocked_recvmsg operation. This takes into account comments made by: . Paul Moore: sock_recvmsg is called only for the first datagram, sock_recvmsg_nosec is used for the rest. . Caitlin Bestler: recvmmsg now has a struct timespec timeout, that works in the same fashion as the ppoll one. If the underlying protocol returns a datagram with MSG_OOB set, this will make recvmmsg return right away with as many datagrams (+ the OOB one) it has received so far. . Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen datagrams and then recvmsg returns an error, recvmmsg will return the successfully received datagrams, store the error and return it in the next call. This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg, where we will be able to acquire the lock only at batch start and end, not at every underlying recvmsg call. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a688e4885c1aa6b88ab5ffa64655bacc01749c9e Author: Tobias Hansen Date: Mon Oct 12 16:24:15 2009 +0200 ALSA: snd-usb-us122l: corrent error number for not probing US-144 on ehci-hcd snd-usb-us122l: corrent error number for not probing US-144 on ehci-hcd This is the correct error number for telling the USB system that this driver is not for the device. Signed-off-by: Tobias Hansen Signed-off-by: Takashi Iwai commit 7a693d3f0d10f978ebdf3082c41404ab97106567 Author: Ingo Molnar Date: Tue Oct 13 08:16:30 2009 +0200 perf_events, x86: Fix event constraints code There was namespace overlap due to a rename i did - this caused the following build warning, reported by Stephen Rothwell against linux-next x86_64 allmodconfig: arch/x86/kernel/cpu/perf_event.c: In function 'intel_get_event_idx': arch/x86/kernel/cpu/perf_event.c:1445: warning: 'event_constraint' is used uninitialized in this function This is a real bug not just a warning: fix it by renaming the global event-constraints table pointer to 'event_constraints'. Reported-by: Stephen Rothwell Cc: Stephane Eranian Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091013144223.369d616d.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit c05e85a06e376f6b6d59e71e5333d707e956d78b Author: David S. Miller Date: Mon Oct 12 23:18:35 2009 -0700 cnic: Need to include net/ip6_checksum.h drivers/net/cnic.c: In function 'cnic_init_storm_conn_bufs': drivers/net/cnic.c:1757: error: implicit declaration of function 'csum_ipv6_magic' Reported-by: Stephen Rothwell Signed-off-by: David S. Miller commit 23e8ec0d1c410f2f1d81050ee155db229abb1707 Author: Masami Hiramatsu Date: Wed Oct 7 18:28:30 2009 -0400 perf probe: Add perf probe command support without libdwarf Enables 'perf probe' even if libdwarf is not installed. If libdwarf is not found, 'perf probe' just disables dwarf support. Users can use 'perf probe' to set up new events by using kprobe_events format. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222830.1684.25665.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 4ea42b181434bfc6a0a18d32214130a242d489bf Author: Masami Hiramatsu Date: Thu Oct 8 17:17:38 2009 -0400 perf: Add perf probe subcommand, a kprobe-event setup helper Add perf probe subcommand that implements a kprobe-event setup helper to the perf command. This allows user to define kprobe events using C expressions (C line numbers, C function names, and C local variables). Usage ----- perf probe [] -P 'PROBEDEF' [-P 'PROBEDEF' ...] -k, --vmlinux vmlinux/module pathname -P, --probe probe point definition, where p: kprobe probe r: kretprobe probe GRP: Group name (optional) NAME: Event name FUNC: Function name OFFS: Offset from function entry (in byte) SRC: Source code path LINE: Line number ARG: Probe argument (local variable name or kprobe-tracer argument format is supported.) Changes in v4: - Add _GNU_SOURCE macro for strndup(). Changes in v3: - Remove -r option because perf always be used for online kernel. - Check malloc/calloc results. Changes in v2: - Check synthesized string length. - Rename perf kprobe to perf probe. - Use spaces for separator and update usage comment. - Check error paths in parse_probepoint(). - Check optimized-out variables. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091008211737.29299.14784.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit e93f4d8539d5e9dd59f4af9d8ef4e9b62cfa1f81 Author: Masami Hiramatsu Date: Wed Oct 7 18:28:14 2009 -0400 tracing/kprobes: Robustify fixed field names against variable field names conflicts Rename probe-common fixed field names to harder conflictable names, because current 'ip', 'func', and other probe field names are easily in conflict with user-specified variable names. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222814.1684.407.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit a703d946e883d8e447d0597de556e2effd110372 Author: Masami Hiramatsu Date: Wed Oct 7 18:28:07 2009 -0400 tracing/kprobes: Avoid field name confliction Check whether the argument name is in conflict with other field names while creating a kprobe through the debugfs interface. Changes in v3: - Check strcmp() == 0 instead of !strcmp(). Changes in v2: - Add common_lock_depth to reserved name list. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222807.1684.26880.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 2e06ff6389aedafc4a3a374344ac70672252f9b5 Author: Masami Hiramatsu Date: Wed Oct 7 18:27:59 2009 -0400 tracing/kprobes: Make special variable names more self-explainable Rename special variables to more self-explainable names as below: - $rv to $retval - $sa to $stack - $aN to $argN - $sN to $stackN Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222759.1684.3319.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 98272ed0d2e6509fe7dc571e77956c99bf653bb6 Author: H. Peter Anvin Date: Mon Oct 12 14:14:10 2009 -0700 x86: use kernel_stack_pointer() in kprobes.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Signed-off-by: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: "David S. Miller" Cc: Masami Hiramatsu commit 5ca6c0ca5dbf105d7b0ffdae2289519982189730 Author: H. Peter Anvin Date: Mon Oct 12 14:12:18 2009 -0700 x86: use kernel_stack_pointer() in kgdb.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Signed-off-by: H. Peter Anvin Cc: Jason Wessel commit a343c75d338aa2afaea4a2a8e40de9e67b6fb4a7 Author: H. Peter Anvin Date: Mon Oct 12 14:11:09 2009 -0700 x86: use kernel_stack_pointer() in dumpstack.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Furthermore, user_mode() is only valid when the process is known to not run in V86 mode. Use the safer user_mode_vm() instead. Signed-off-by: H. Peter Anvin commit def3c5d0a34e4b09b3cea4435c17209ad347104d Author: H. Peter Anvin Date: Mon Oct 12 14:09:07 2009 -0700 x86: use kernel_stack_pointer() in process_32.c The way to obtain a kernel-mode stack pointer from a struct pt_regs in 32-bit mode is "subtle": the stack doesn't actually contain the stack pointer, but rather the location where it would have been marks the actual previous stack frame. For clarity, use kernel_stack_pointer() instead of coding this weirdness explicitly. Signed-off-by: H. Peter Anvin commit adc1938994f7f1112d335d998b5218b0aa680ad6 Author: David Rientjes Date: Fri Sep 25 15:20:09 2009 -0700 x86: Interleave emulated nodes over physical nodes Add interleaved NUMA emulation support This patch interleaves emulated nodes over the system's physical nodes. This is required for interleave optimizations since mempolicies, for example, operate by iterating over a nodemask and act without knowledge of node distances. It can also be used for testing memory latencies and NUMA bugs in the kernel. There're a couple of ways to do this: - divide the number of emulated nodes by the number of physical nodes and allocate the result on each physical node, or - allocate each successive emulated node on a different physical node until all memory is exhausted. The disadvantage of the first option is, depending on the asymmetry in node capacities of each physical node, emulated nodes may substantially differ in size on a particular physical node compared to another. The disadvantage of the second option is, also depending on the asymmetry in node capacities of each physical node, there may be more emulated nodes allocated on a single physical node as another. This patch implements the second option; we sacrifice the possibility that we may have slightly more emulated nodes on a particular physical node compared to another in lieu of node size asymmetry. [ Note that "node capacity" of a physical node is not only a function of its addressable range, but also is affected by subtracting out the amount of reserved memory over that range. NUMA emulation only deals with available, non-reserved memory quantities. ] We ensure there is at least a minimal amount of available memory allocated to each node. We also make sure that at least this amount of available memory is available in ZONE_DMA32 for any node that includes both ZONE_DMA32 and ZONE_NORMAL. This patch also cleans the emulation code up by no longer passing the statically allocated struct bootnode array among the various functions. This init.data array is not allocated on the stack since it may be very large and thus it may be accessed at file scope. The WARN_ON() for nodes_cover_memory() when faking proximity domains is removed since it relies on successive nodes always having greater start addresses than previous nodes; with interleaving this is no longer always true. Signed-off-by: David Rientjes Cc: Linus Torvalds Cc: Andreas Herrmann Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit 8716273caef7f55f39fe4fc6c69c5f9f197f41f1 Author: David Rientjes Date: Fri Sep 25 15:20:04 2009 -0700 x86: Export srat physical topology This is the counterpart to "x86: export k8 physical topology" for SRAT. It is not as invasive because the acpi code already seperates node setup into detection and registration steps, with the exception of registering e820 active regions in acpi_numa_memory_affinity_init(). This is now moved to acpi_scan_nodes() if NUMA emulation is disabled or deferred. acpi_numa_init() now returns a value which specifies whether an underlying SRAT was located. If so, that topology can be used by the emulation code to interleave emulated nodes over physical nodes or to register the nodes for ACPI. acpi_get_nodes() may now be used to export the srat physical topology of the machine for NUMA emulation. Signed-off-by: David Rientjes Cc: Andreas Herrmann Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit 8ee2debce32412118cf8c239e0026ace56ea1425 Author: David Rientjes Date: Fri Sep 25 15:20:00 2009 -0700 x86: Export k8 physical topology To eventually interleave emulated nodes over physical nodes, we need to know the physical topology of the machine without actually registering it. This does the k8 node setup in two parts: detection and registration. NUMA emulation can then used the physical topology detected to setup the address ranges of emulated nodes accordingly. If emulation isn't used, the k8 nodes are registered as normal. Two formals are added to the x86 NUMA setup functions: `acpi' and `k8'. These represent whether ACPI or K8 NUMA has been detected; both cannot be true at the same time. This specifies to the NUMA emulation code whether an underlying physical NUMA topology exists and which interface to use. This patch deals solely with separating the k8 setup path into Northbridge detection and registration steps and leaves the ACPI changes for a subsequent patch. The `acpi' formal is added here, however, to avoid touching all the header files again in the next patch. This approach also ensures emulated nodes will not span physical nodes so the true memory latency is not misrepresented. k8_get_nodes() may now be used to export the k8 physical topology of the machine for NUMA emulation. Signed-off-by: David Rientjes Cc: Andreas Herrmann Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit 1af5ba514f0c2f2e2af965a4ffa5e8ab269271b9 Author: David Rientjes Date: Fri Sep 25 15:19:47 2009 -0700 x86: Clean up and add missing log levels for k8 Convert all printk's in arch/x86/mm/k8topology_64.c to use pr_info() or pr_err() appropriately. Adds log levels for messages currently lacking them. Signed-off-by: David Rientjes Cc: Yinghai Lu Cc: Balbir Singh Cc: Ankita Garg Cc: Len Brown LKML-Reference: Signed-off-by: Ingo Molnar commit ad8f4356af58f7ded6b4a5787c67c7cab51066b5 Author: Arjan van de Ven Date: Tue Oct 6 07:04:52 2009 -0700 x86: Don't use the strict copy checks when branch profiling is in use The branch profiling creates very complex code for each if statement, to the point that gcc has trouble even analyzing something as simple as if (count > 5) count = 5; This then means that causing an error on code that gcc cannot analyze for copy_from_user() and co is not very productive. This patch excludes the strict copy checks in the case of branch profiling being enabled. Signed-off-by: Arjan van de Ven Cc: Steven Rostedt LKML-Reference: <20091006070452.5e1fc119@infradead.org> Signed-off-by: Ingo Molnar commit 5402240c0bc621ef6865c80043bda30a29365948 Author: Valentine Barshak Date: Mon Oct 12 04:25:05 2009 -0700 pasemi_mac: ethtool set settings support Add ethtool set settings to pasemi_mac_ethtool. Signed-off-by: Valentine Barshak Acked-by: Olof Johansson Signed-off-by: David S. Miller commit fad9ab2cefd3a3b4754f49eb41e2f43ea314cdce Author: Sarveshwar Bandi Date: Mon Oct 12 04:23:15 2009 -0700 be2net: Implement ethtool get_phys_id function. Signed-off-by: Sarveshwar Bandi Signed-off-by: David S. Miller commit 3b885787ea4112eaa80945999ea0901bf742707f Author: Neil Horman Date: Mon Oct 12 13:26:31 2009 -0700 net: Generalize socket rx gap / receive queue overflow cmsg Create a new socket level option to report number of queue overflows Recently I augmented the AF_PACKET protocol to report the number of frames lost on the socket receive queue between any two enqueued frames. This value was exported via a SOL_PACKET level cmsg. AFter I completed that work it was requested that this feature be generalized so that any datagram oriented socket could make use of this option. As such I've created this patch, It creates a new SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a SOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue overflowed between any two given frames. It also augments the AF_PACKET protocol to take advantage of this new feature (as it previously did not touch sk->sk_drops, which this patch uses to record the overflow count). Tested successfully by me. Notes: 1) Unlike my previous patch, this patch simply records the sk_drops value, which is not a number of drops between packets, but rather a total number of drops. Deltas must be computed in user space. 2) While this patch currently works with datagram oriented protocols, it will also be accepted by non-datagram oriented protocols. I'm not sure if thats agreeable to everyone, but my argument in favor of doing so is that, for those protocols which aren't applicable to this option, sk_drops will always be zero, and reporting no drops on a receive queue that isn't used for those non-participating protocols seems reasonable to me. This also saves us having to code in a per-protocol opt in mechanism. 3) This applies cleanly to net-next assuming that commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted Signed-off-by: Neil Horman Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 369bc18f9a6c4e2686204c1d7476ab684a720968 Author: Stefan Assmann Date: Mon Oct 12 22:17:21 2009 +0200 ftrace: add kernel command line graph function filtering Add a command line parameter to allow limiting the function graphs that are traced on boot up from the given top-level callers , when ftrace=function_graph is specified. This patch adds the following command line option: ftrace_graph_filter=function-list Where function-list is a comma separated list of functions to filter. [fweisbec@gmail.com: picked the documentation changes from the v2 patch] Signed-off-by: Stefan Assmann Acked-by: Steven Rostedt LKML-Reference: <4AD2DEB9.2@redhat.com> Signed-off-by: Frederic Weisbecker commit 99329c44f28a1b7ac83beebfb4319e612042e319 Author: Masami Hiramatsu Date: Wed Oct 7 18:27:48 2009 -0400 tracing/kprobes: Remove '$ra' special variable Remove '$ra' (return address) because it is already shown at the head of each entry. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222748.1684.12711.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 405b2651e4bedf8d3932b64cad649b4d26b067f5 Author: Masami Hiramatsu Date: Wed Oct 7 18:27:40 2009 -0400 tracing/kprobes: Add $ prefix to special variables Add $ prefix to the special variables(e.g. sa, rv) of kprobe-tracer. This resolves consistency issues between kprobe_events and perf-kprobe. The main goal is to avoid conflicts between local variable names of probed functions, used by perf probe, and special variables used in the kprobe event creation interface (stack values, etc...) and also available from perf probe. ie: we don't want rv (return value) to conflict with a local variable named rv in a probed function. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Christoph Hellwig Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Frank Ch. Eigler LKML-Reference: <20091007222740.1684.91170.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit ae24ffe5ecec17c956ac25371d7c2e12b4b36e53 Author: Brian Gerst Date: Mon Oct 12 10:18:23 2009 -0400 x86, 64-bit: Move K8 B step iret fixup to fault entry asm Move the handling of truncated %rip from an iret fault to the fault entry path. This allows x86-64 to use the standard search_extable() function. Signed-off-by: Brian Gerst Cc: Linus Torvalds Cc: Jan Beulich LKML-Reference: <1255357103-5418-1-git-send-email-brgerst@gmail.com> Signed-off-by: Ingo Molnar commit 814b7963e50e331f129acc25ad92bd4db45c300f Author: Peter Ujfalusi Date: Mon Oct 12 11:43:55 2009 +0300 ASoC: TPA6130A2: Make tpa6130a2_power as static The power for the amplifier should be handled internally by the tpa6130a2 driver. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c03cb3149daed3e411657e3212d05ae27cf1a874 Author: Arjan van de Ven Date: Sun Oct 11 10:33:02 2009 -0700 x86: Relegate CONFIG_PAT and CONFIG_MTRR configurability to EMBEDDED MTRR and PAT support (which got added to CPUs over 10 years ago) are no longer really optional in that more and more things are depending on PAT just working, including various drivers and newer versions of X. (to not even speak of MTRR) Having this as a regular config option just no longer makes sense. This patch relegates CONFIG_X86_PAT to the EMBEDDED category so ultra-embedded can still disable it if they really need to. Also-Suggested-by: Roland Dreier Signed-off-by: Arjan van de Ven Cc: Linus Torvalds Cc: Henrique de Moraes Holschuh LKML-Reference: <20091011103302.62bded41@infradead.org> Signed-off-by: Ingo Molnar commit fb2531953fd8855abdcf458459020fd382c5deca Author: Borislav Petkov Date: Wed Oct 7 13:20:38 2009 +0200 mce, edac: Use an atomic notifier for MCEs decoding Add an atomic notifier which ensures proper locking when conveying MCE info to EDAC for decoding. The actual notifier call overrides a default, negative priority notifier. Note: make sure we register the default decoder only once since mcheck_init() runs on each CPU. Signed-off-by: Borislav Petkov LKML-Reference: <20091003065752.GA8935@liondog.tnic> Signed-off-by: Ingo Molnar commit d5e63bded6e819ca77ee1a1d97c783a31f6caf30 Author: David S. Miller Date: Mon Oct 12 03:00:31 2009 -0700 Revert "af_packet: add interframe drop cmsg (v6)" This reverts commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab. Neil is reimplementing this generically, outside of AF_PACKET. Signed-off-by: David S. Miller commit 55ffb7a6bd45d0083ffb132381cb46964a4afe01 Author: Mike Galbraith Date: Sat Oct 10 14:46:04 2009 +0200 perf sched: Add -C option to measure on a specific CPU To refresh, trying to sched record only one CPU results in bogus latencies as below. I fixed^Wmade it stop doing the bad thing today, by following task migration events properly. Before: marge:/root/tmp # taskset -c 1 perf sched record -C 0 -- sleep 10 marge:/root/tmp # perf sched lat ----------------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------------- Xorg:4943 | 1.290 ms | 1 | avg: 1670.132 ms | max: 1670.132 ms | hald-addon-stor:3569 | 0.091 ms | 3 | avg: 658.609 ms | max: 1975.797 ms | hald-addon-stor:3573 | 0.209 ms | 4 | avg: 499.138 ms | max: 1990.565 ms | audispd:4270 | 0.012 ms | 1 | avg: 0.015 ms | max: 0.015 ms | .... marge:/root/tmp # perf sched trace|grep 'Xorg:4943' swapper-0 [000] 401.184013288: sched_stat_runtime: task: Xorg:4943 runtime: 1233188 [ns], vruntime: 19105169779 [ns] rt2870TimerQHan-4947 [000] 402.854140127: sched_stat_wait: task: Xorg:4943 wait: 580073 [ns] rt2870TimerQHan-4947 [000] 402.854141770: sched_migrate_task: task Xorg:4943 [140] from: 1 to: 0 rt2870TimerQHan-4947 [000] 402.854143854: sched_stat_wait: task: Xorg:4943 wait: 0 [ns] rt2870TimerQHan-4947 [000] 402.854145397: sched_switch: task rt2870TimerQHan:4947 [140] (D) ==> Xorg:4943 [140] Xorg-4943 [000] 402.854193133: sched_stat_runtime: task: Xorg:4943 runtime: 56546 [ns], vruntime: 11766332500 [ns] Xorg-4943 [000] 402.854196842: sched_switch: task Xorg:4943 [140] (S) ==> swapper:0 [140] After: marge:/root/tmp # taskset -c 1 perf sched record -C 0 -- sleep 10 marge:/root/tmp # perf sched lat ----------------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------------- amarokapp:11150 | 271.297 ms | 878 | avg: 0.130 ms | max: 1.057 ms | konsole:5965 | 1.370 ms | 12 | avg: 0.092 ms | max: 0.855 ms | Xorg:4943 | 179.980 ms | 1109 | avg: 0.087 ms | max: 1.206 ms | hald-addon-stor:3574 | 0.212 ms | 9 | avg: 0.040 ms | max: 0.169 ms | hald-addon-stor:3570 | 0.223 ms | 9 | avg: 0.037 ms | max: 0.223 ms | klauncher:5864 | 0.550 ms | 8 | avg: 0.032 ms | max: 0.048 ms | The 'Maximum delay ms' results are now sane. Signed-off-by: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 7e4ff9e3e8f88de8a8536f43294cd32b4e7d9123 Author: Mike Galbraith Date: Mon Oct 12 07:56:03 2009 +0200 perf tools: Fix counter sample frequency breakage Commit 42e59d7d19dc4b4 switched to a default sample frequency of 1KHz, which overrides any user supplied count, causing sched, top and timechart to miss events due to their discrete events being flagged PERF_SAMPLE_PERIOD. Override default sample frequency when the user profides a period count, and make both record and top honor that user supplied option. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Arjan van de Ven LKML-Reference: <1255326963.15107.2.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 91b2a3f9bb0fa8d64b365a10b0624b0341e1a338 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Oct 11 03:45:13 2009 +0000 ipv6 sit: Set relay to 0.0.0.0 directly if relay_prefixlen == 0. ipv6 sit: Set relay to 0.0.0.0 directly if relay_prefixlen == 0. Do not use bit-shift if relay_prefixlen == 0; relay_prefix << 32 does not result in 0. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e7db38c38fe8df1d890ae772737e27308bdc5956 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Oct 11 03:44:45 2009 +0000 ipv6 sit: Fix 6rd relay address. ipv6 sit: Fix 6rd relay address. Relay's address should be extracted from real IPv6 address instead of configured prefix. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e0c93948154328e13b4c0b0502d66af93f0fdfc4 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Oct 11 03:31:34 2009 +0000 ipv6 sit: Ensure to initialize 6rd parameters. ipv6 sit: Ensure to initialize 6rd parameters. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 71034ba845c9ff219373066f904286c0b7506922 Author: Michael Chan Date: Sat Oct 10 13:46:59 2009 +0000 cnic: Add main functions to support bnx2x devices. Add iSCSI support for bnx2x devices. Signed-off-by: Michael Chan Signed-off-by: Shmulik Ravid - Rabinovitz Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit e251306556d30c9c678feca60204acaaa0784cbd Author: Michael Chan Date: Sat Oct 10 13:46:58 2009 +0000 cnic: Add bnx2x data structures. Add hardware and software structures for bnx2x devices. Signed-off-by: Michael Chan Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 86b53606ebec06b16be81c30fabdf8decc2be6b2 Author: Michael Chan Date: Sat Oct 10 13:46:57 2009 +0000 cnic: Refactor some code. Refactor ring init. code for subsequent 10G patches. Also add rtnl_lock() in cnic_uio_open() to prevent race condition with netdev events. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 993ac7b5183f82edc9696cd17faae03523e00e09 Author: Michael Chan Date: Sat Oct 10 13:46:56 2009 +0000 bnx2x: Add main CNIC interface functions. Add the main CNIC registration, callback, MAC addr. setup functions. Signed-off-by: Michael Chan Signed-off-by: Shmulik Ravid - Rabinovitz Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37b091bacba7bd329eced9a56998b6247da414c4 Author: Michael Chan Date: Sat Oct 10 13:46:55 2009 +0000 bnx2x: Add hw init code to support iSCSI. Add code to initialize hardware blocks used for iSCSI. Signed-off-by: Michael Chan Signed-off-by: Shmulik Ravid - Rabinovitz Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit e665bfda5b8fea586ddd028b26a6e2ed9e987c6b Author: Michael Chan Date: Sat Oct 10 13:46:54 2009 +0000 bnx2x: Refactor MAC address setup code. For iSCSI MAC address setup in later patches. Signed-off-by: Shmulik Ravid - Rabinovitz Signed-off-by: Michael Chan Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2891290219d8a28a923560d53d24c00fa96fa09f Author: Michael Chan Date: Sat Oct 10 13:46:53 2009 +0000 bnx2x: Refactor bnx2x_sp_post(). Some of the SPQ (slow-path queue) operations will be used by the cnic code in later patches. Signed-off-by: Shmulik Ravid - Rabinovitz Signed-off-by: Michael Chan Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6abd23468deaf3f6215a80b564f85df934209721 Author: Ron Mercer Date: Sat Oct 10 09:35:10 2009 +0000 qlge: Add CBFC pause frame counters to ethtool stats. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 80928860941023bb37e9c61927395d0eb753bc3b Author: Ron Mercer Date: Sat Oct 10 09:35:09 2009 +0000 qlge: Don't fail open when port is not initialized. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit fda9b77c10a4db06e1431e6494a69e93a9dc5491 Author: Ron Mercer Date: Sat Oct 10 09:35:08 2009 +0000 qlge: Get rid of firmware handler debug code. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 52e55f3cde3ac3c7982dbc0cc67075456b135a31 Author: Ron Mercer Date: Sat Oct 10 09:35:07 2009 +0000 qlge: Remove inline math for small rx buf mapping. rx_ring->sbq_buf_len now holds the length of the mapped portion of the buffer rather than the overall length. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 88051b4e4f270966b9e2ec070822513c46083fe1 Author: Ron Mercer Date: Sat Oct 10 09:35:06 2009 +0000 qlge: Store firmware revision as early as possible. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 91ced682f9de17ebab5fcb2a70b48e372eb43281 Author: Ron Mercer Date: Sat Oct 10 09:35:05 2009 +0000 qlge: Add handler for DCBX firmware event. The driver has nothing to do, but this marker prevents the event from showing up 'not handled'. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bc9167f39ff8cd428e8577eb72751a653008edb2 Author: Ron Mercer Date: Sat Oct 10 09:35:04 2009 +0000 qlge: Set PCIE max read request size. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 1d1023d039d8295070b8dbb92c4d972237235304 Author: Ron Mercer Date: Sat Oct 10 09:35:03 2009 +0000 qlge: Remove explicit setting of PCI Dev CTL reg. Remove explicit setting of error reporting bits. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 7fe13c5733790ef582769a54693fa6a5abf3c032 Merge: 8aa0f64a 10c435f Author: David S. Miller Date: Sun Oct 11 23:15:47 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 68f139204c1a2b10cc292d9cca036ebdbb6730a8 Author: Wu Zhangjin Date: Sat Oct 10 23:53:49 2009 +0800 ALSA: SND_CS5535AUDIO: Remove the X86 platform dependency SND_CS5535AUDIO is available on Loongson(MIPS compatible) family machines, and checked it with ARCH=x86_64, no relative compiling warnings & errors, so, remove the platform dependency directly. Reported-by: rixed@happyleptic.org Acked-by: Andres Salomon Signed-off-by: Wu Zhangjin Signed-off-by: Takashi Iwai commit 3c355863fb32070a2800f41106519c5c3038623a Author: Joe Perches Date: Sun Oct 4 17:53:40 2009 -0700 testmmiotrace.c: Add and use pr_fmt(fmt) - Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt. - Strip MODULE_NAME from pr_s. - Remove MODULE_NAME definition. Signed-off-by: Joe Perches LKML-Reference: <3bb66cc7f85f77b9416902e1be7076f7e3f4ad48.1254701151.git.joe@perches.com> Signed-off-by: Ingo Molnar commit 3bb258bf430d29a24350fe4f44f8bf07b7b7a8f6 Author: Joe Perches Date: Sun Oct 4 17:53:29 2009 -0700 ftrace.c: Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - Remove prefixes from pr_, use pr_fmt(fmt). No change in output. Signed-off-by: Joe Perches Acked-by: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <9b377eefae9e28c599dd4a17bdc81172965e9931.1254701151.git.joe@perches.com> Signed-off-by: Ingo Molnar commit 0f48327eac5f65ad029d7112cac97577766730ba Author: Stephen Rothwell Date: Mon Oct 12 15:56:17 2009 +1100 sound: use semicolons to end statements Fixes: sound/pci/hda/patch_via.c: In function 'patch_vt1718S': sound/pci/hda/patch_via.c:4951: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt1716S': sound/pci/hda/patch_via.c:5441: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt2002P': sound/pci/hda/patch_via.c:5794: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt1812': sound/pci/hda/patch_via.c:6148: error: expected expression before 'return' Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai commit a27ab9f26b729326778271c1efd895aef4fda1c4 Author: Tetsuo Handa Date: Sun Oct 4 21:49:49 2009 +0900 LSM: Pass original mount flags to security_sb_mount(). This patch allows LSM modules to determine based on original mount flags passed to mount(). A LSM module can get masked mount flags (if needed) by flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE | MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT | MS_STRICTATIME); Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 8b8efb44033c7e86b3dc76f825c693ec92ae30e9 Author: Tetsuo Handa Date: Sun Oct 4 21:49:48 2009 +0900 LSM: Add security_path_chroot(). This patch allows pathname based LSM modules to check chroot() operations. This hook is used by TOMOYO. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 89eda06837094ce9f34fae269b8773fcfd70f046 Author: Tetsuo Handa Date: Sun Oct 4 21:49:47 2009 +0900 LSM: Add security_path_chmod() and security_path_chown(). This patch allows pathname based LSM modules to check chmod()/chown() operations. Since notify_change() does not receive "struct vfsmount *", we add security_path_chmod() and security_path_chown() to the caller of notify_change(). These hooks are used by TOMOYO. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 8066e51ae7329220f459470a38387f8533e99141 Author: Krzysztof Helt Date: Sun Oct 11 12:48:00 2009 +0200 ALSA: snd_dma_pointer workaround for chipsets with buggy DMA The chipsets with the isa_dma_bridge_buggy set do not stop DMA during DMA counter reads. The DMA counter is read in two 8-bit read steps on x86 platform. Sometimes, such reads happen during higher byte change so the lower byte is already decremented (rolled over) but the higher byte is not. It introduces an error that position is moved 256 bytes ahead of the true position. Thus, the next DMA position read can return a lower value then the previous read. If the DMA position is decreased (reversed) the ALSA subsystem is tricked into the playback underrun error and resets the playback. It results in a "pop" during a playback. Work around the issue by reading the counter twice and choosing a higher value. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 633c7e92bdd54ba939f2bd3b78c72e1e1a1dd077 Author: Krzysztof Helt Date: Sun Oct 11 12:38:49 2009 +0200 ALSA: wss: reuse CS4231 controls for AD1848 The C4231 control set is a superset of the AD1848 control set so reuse the CS4231 controls definitions for the AD1848. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 377ff31ae06f0d2644839246cd18c3e17fe62a48 Author: Lydia Wang Date: Sat Oct 10 19:08:55 2009 +0800 ALSA: HDA VIA: Only cosmetic changes Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 8e86597f3cbd0a58808560116abe1bc0023256b0 Author: Lydia Wang Date: Sat Oct 10 19:08:52 2009 +0800 ALSA: HDA VIA: comments: update copyright, changeset, etc. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit bfdc675a73f7697ead12c07dbf11e2b2632676f4 Author: Lydia Wang Date: Sat Oct 10 19:08:50 2009 +0800 ALSA: HDA VIA: Change PW4 connect select default to to MW0. According to customer request, hp should be default to redirected mode, i.e. PW4 connect select default to to MW0. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 71eb7dccb7d2d22236dbe46db07f8000d09fba01 Author: Lydia Wang Date: Sat Oct 10 19:08:49 2009 +0800 ALSA: HDA VIA: rename vt1708_control_templates[]. To via_control_templates[]. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit ab6734e7ea32e9f9cbe0f55eeddf4aa629ed1c3d Author: Lydia Wang Date: Sat Oct 10 19:08:46 2009 +0800 ALSA: HDA VIA: Add VT1812 support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 25eaba2f8a6877ba6f58197c4723c2433a316e09 Author: Lydia Wang Date: Sat Oct 10 19:08:43 2009 +0800 ALSA: HDA VIA: Add VT2002P support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit f3db423df84570c9950754a5771ad26f0111235f Author: Lydia Wang Date: Sat Oct 10 19:08:41 2009 +0800 ALSA: HDA VIA: Add VT1716S support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit bb3c6bfc3f7a5416d85c5dbc312e2d47fc672eef Author: Lydia Wang Date: Sat Oct 10 19:08:39 2009 +0800 ALSA: HDA VIA: Add VT1828S and VT2020 support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit eb7188cafcb7aa1419b8889494cdbd4e6a01da1c Author: Lydia Wang Date: Sat Oct 10 19:08:34 2009 +0800 ALSA: HDA VIA: Add VT1718S support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit bc7e7e5ce05047e16633a94d36fa144af1d2b4c7 Author: Lydia Wang Date: Sat Oct 10 19:08:32 2009 +0800 ALSA: HDA VIA: Move backdoor verbs to vt17xx_volume_init_verb As init verbs, vt17xx_volume_init_verb is a better place to hold them. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 6369bcfccb57da28ad3e09b25fecd841a415ae95 Author: Lydia Wang Date: Sat Oct 10 19:08:31 2009 +0800 ALSA: HDA VIA: Replace MIC_BOOST_VOLUME. With snd_hda_override_amp_caps. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 4483a2f5907fa824bd6384c36fdcee9777cab1b9 Author: Lydia Wang Date: Sat Oct 10 19:08:29 2009 +0800 ALSA: HDA VIA: Modify vt1709_auto_create_multi_out_ctls. Rewrite nid_vol/mute assignment for clearity, and check line connection before adding control for it. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 9645c2039d5cfdbdcebe297420e180b6cd262836 Author: Lydia Wang Date: Sat Oct 10 19:08:27 2009 +0800 ALSA: HDA VIA: Modify vt1708_auto_create_multi_out_ctls. Rewrite nid_vol/mute assignment for clearity, and check line connection before adding control for it. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit c873cc25280113d71463ad5075413d283be6b766 Author: Lydia Wang Date: Sat Oct 10 19:08:21 2009 +0800 ALSA: HDA VIA: Replace via_playback_pcm_prepare/cleanup Replaced with via_playback_multi_pcm_prepare/cleanup to support multi-stream operations Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 82ef9e45c48634af5e3f6ab9ac75b6642c538020 Author: Lydia Wang Date: Sat Oct 10 19:08:19 2009 +0800 ALSA: HDA VIA: Modify vt1708_set_pinconfig_connect function. like seqassoc 0xff, seqassoc 0xf0 of vt1708 should override Port Connectivity field into 'AC_JACK_PORT_COMPLEX' Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 1f2e99febd5dd0c91f0d0752674029a4376649e5 Author: Lydia Wang Date: Sat Oct 10 19:08:17 2009 +0800 ALSA: HDA VIA: Add Jack detect feature for VT1708. VT1708 does not support unsolicited response, but we need hp detect to automute speaker. Implemented in workqueue. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit dcf34c8cc685781cebbe1f4c75272a3269eba3a1 Author: Lydia Wang Date: Sat Oct 10 19:08:15 2009 +0800 ALSA: HDA VIA: Refresh front playback mute in via_hp_automute. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit a34df19a658170fb7125e8017ee46ba54b1ad495 Author: Lydia Wang Date: Sat Oct 10 19:08:01 2009 +0800 ALSA: HDA VIA: Add VIA_JACK_EVENT process in via_unsol_event. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit a80e6e3c8c21ca50837e2e42fa438a4ff4a9788e Author: Lydia Wang Date: Sat Oct 10 19:07:55 2009 +0800 ALSA: HDA VIA: When changing input source, update power state. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 1564b2878f5cf160f60af99d4dbca1dd7809ee8a Author: Lydia Wang Date: Sat Oct 10 19:07:52 2009 +0800 ALSA: HDA VIA: Add smart5.1 function. Smart 5.1 is for 3-jacks model, to reuse input pins as outputs. While off, they act as "line out" / "line in" / "mic in". While on, they acts as "line out" / "back left/right" / "center/lfe". Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit cdc1784d49258198df600fbc1d37c07d7eee5ed6 Author: Lydia Wang Date: Sat Oct 10 19:07:47 2009 +0800 ALSA: HDA VIA: Rewrite via_independent_hp_put Use hp_independent_mode_index to store hp index, and simplify function via_independent_hp_put with it. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 0713efebfa1a1878feeeb17cbadc3d2d2c9e9ed2 Author: Lydia Wang Date: Sat Oct 10 19:07:43 2009 +0800 ALSA: HDA VIA: Change VT1708S & VT1702 hp mode controls For VT1708S and VT1702, deactivate "Headphone Playback Volume" and "Headphone Playback Mute" control if "Independent HP" mode is OFF. and rename VT1702 "Independent HP" text. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 9510e8dd9cb4469d146953270364af6dd86a39be Author: Lydia Wang Date: Sat Oct 10 19:07:39 2009 +0800 ALSA: HDA VIA: Remove unused argument of via_new_analog_input Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 173143791068ac9f155c378a591d0b3d6c4a45ca Author: Lydia Wang Date: Sat Oct 10 19:07:37 2009 +0800 ALSA: HDA VIA: Add low current mode for power saving. For VT1708B, VT1708S and VT1702, enter low current mode if no analog stream is opened and all aa path mute. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit f5271101faf1655d862849f42518c2a88ef394fb Author: Lydia Wang Date: Sat Oct 10 19:07:35 2009 +0800 ALSA HDA VIA: Add VIA_CTL_WIDGET_ANALOG_MUTE control type Enter low power state if AA-Path volume is muted. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit c2c02ea326d3683f551120e74a297b354a223357 Author: Lydia Wang Date: Sat Oct 10 19:07:32 2009 +0800 ALSA: HDA VIA: Limit VT1702 AA-Path max volume according to customer request, VT1702 AA-Path max volume (12 dB) is too high, so limit to 0 dB. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 518bf3ba753ad93644e7c6cf95c043c918d9429b Author: Lydia Wang Date: Sat Oct 10 19:07:29 2009 +0800 ALSA: HDA VIA: Add VT1708B-CE codec support. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 744ff5f487925223beb6e21460c8cec468b54ab4 Author: Lydia Wang Date: Sat Oct 10 19:07:26 2009 +0800 ALSA: HDA VIA: Change get_codec_type argument to hda_codec type Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit b6153e1175a46db9dde17d12609adba7d72330b9 Author: Lydia Wang Date: Sat Oct 10 19:07:23 2009 +0800 ALSA: HDA VIA: Remove unused IS_VT17xx_VENDORID macro IS_VT17*_VENDORID macros are used nowhere, so clean them up. Signed-off-by: Lydia Wang Signed-off-by: Logan Li Signed-off-by: Takashi Iwai commit 26917499fd4d9e699e17f9f3b23f856ce5c5283a Merge: 0afe5f8 f0613d5 Author: Takashi Iwai Date: Sun Oct 11 17:53:33 2009 +0200 Merge branch 'fix/hda' into topic/hda commit abd134db940ddccaf6a61d88cf0841a62b917ab3 Author: Krzysztof Helt Date: Sat Oct 10 10:25:39 2009 +0200 ALSA: wss: convert CS4231 mixer to dB scale Convert CS4231 mixer to dB scale after AD1848 mixer. Also, add missing microphone boost control for the AD1848 and correct wrong bits for loopback volume on the AD1848. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 6fcfa3959a5f5ecb7c333f54f401575d94eb8172 Author: Krzysztof Helt Date: Sat Oct 10 10:27:58 2009 +0200 ALSA: sscape: coding style fixes Fix coding style errors in the driver. Also, add missing argument for CMD_XXX_MIDI_VOL command. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit e634d8fc792c66c3d4ff45518c04848c1e28f221 Author: H. Peter Anvin Date: Fri Oct 9 15:56:53 2009 -0700 x86-64: merge the standard and compat start_thread() functions The only thing left that differs between the standard and compat start_thread functions is the actual segment numbers and the prototype, so have a single common function which contains the guts and two very small wrappers. Signed-off-by: H. Peter Anvin Acked-by: Suresh Siddha commit a6f05a6a0a1713d5b019f096799d49226807d3df Author: H. Peter Anvin Date: Thu Oct 8 18:02:54 2009 -0700 x86-64: make compat_start_thread() match start_thread() For no real good reason, compat_start_thread() was embedded inline in whereas the native start_thread() lives in process_*.c. Move compat_start_thread() to process_64.c, remove gratuitious differences, and fix a few items which mostly look like bit rot. In particular, compat_start_thread() didn't do free_thread_xstate(), which means it was hanging on to the xstate store area even when it was not needed. It was also not setting old_rsp, but it looks like that generally shouldn't matter for a 32-bit process. Note: compat_start_thread *has* to be a macro, since it is tested with start_thread_ia32() as the out of line function name. Signed-off-by: H. Peter Anvin Acked-by: Suresh Siddha commit 8aa0f64ac3835a6daf84d0b0e07c4c01d7d8eddc Merge: cd7e1f0 eab2ec8 Author: David S. Miller Date: Fri Oct 9 14:40:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit eab2ec83dbf0e32e28f3108f302ffdaa225d4cce Author: Johannes Berg Date: Fri Oct 9 18:17:05 2009 +0200 wireless: make wireless drivers select core It is somewhat non-sensical to allow selecting wireless drivers without showing wireless core code options, and since the wext refactoring this has made it possible to generate configurations that will not build. Avoid this and make wireless drivers select the wireless options. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5718f5009b114372fc237254906812c0d6e57ab1 Author: Holger Schurig Date: Fri Oct 9 09:10:34 2009 +0200 libertas: depend on CONFIG_CFG80211 Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 7891849e5a79eb1e6ddc12abf75a69981f567b98 Author: Luis R. Rodriguez Date: Thu Oct 8 16:46:09 2009 -0400 libertas: remove double assignment of dev->netdev_ops This came in through the patch titled: libertas: first stab at cfg80211 support I only noticed it because it breaks compat-wireless :) Signed-off-by: Luis R. Rodriguez Acked-by: Holger Schurig Signed-off-by: John W. Linville commit af1fc67c1a803d303b59e54be45fe3329103e7db Author: Luis R. Rodriguez Date: Thu Oct 8 01:00:18 2009 -0400 ath9k: use right parameter for MODULE_PARM_DESC() for debug Reported-by: sujith.manoharan@atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ebab1b1d07266ab8ca9f65065e68b02f05504c4e Author: Mark Brown Date: Fri Oct 9 19:13:47 2009 +0100 ASoC: Minor fixups to tpa6130a2 driver - Staticise ttpa6130a2_client. - Remove unneeded cast from void. - Use explict NULL rather than 0. Signed-off-by: Mark Brown commit 493b67efffc462703d583389aca96f850c18d3b3 Author: Peter Ujfalusi Date: Fri Oct 9 15:55:41 2009 +0300 ASoC: TPA6130A2 amplifier driver Driver for Texas Instruments TPA6130A2 stereo headphone amplifier. The driver provides playback gain control and also pre-defined DAPM_HP widgets and DAPM routings for power management. The DAPM_HP widget names are: "TPA6130A2 Headphone Left" "TPA6130A2 Headphone Right" From soc machine drivers to use with the tpa6130a2 amplifier, the tpa6130a2_add_controls has to be called, which adds the alsa controls and the DAPM routing needed for the tpa6130a2. After that the machine driver can connect the codec's output with 'TPA6130A2 Left' and 'TPA6130A2 Right': {"TPA6130A2 Left", NULL, "CODEC LEFT OUT"}, {"TPA6130A2 Right", NULL, "CODEC RIGHT OUT"}, Internally the left and right channels are powered separately. When none of the channels are needed the amplifier is powered down: hard power: valid GPIO number is passed within platform data soft power: Using the software shutdown of the amplifier Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f3834b9ef68067199486740b31f691afb14dbdf5 Author: Peter Zijlstra Date: Fri Oct 9 10:12:46 2009 +0200 x86: Generate cmpxchg build failures Rework the x86 cmpxchg() implementation to generate build failures when used on improper types. Signed-off-by: Peter Zijlstra Acked-by: Linus Torvalds LKML-Reference: <1254771187.21044.22.camel@laptop> Signed-off-by: Ingo Molnar commit fe9081cc9bdabb0be953a39ad977cea14e35bce5 Author: Peter Zijlstra Date: Thu Oct 8 11:56:07 2009 +0200 perf, x86: Add simple group validation Refuse to add events when the group wouldn't fit onto the PMU anymore. Naive implementation. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <1254911461.26976.239.camel@twins> Signed-off-by: Ingo Molnar commit b690081d4d3f6a23541493f1682835c3cd5c54a1 Author: Stephane Eranian Date: Tue Oct 6 16:42:09 2009 +0200 perf_events: Add event constraints support for Intel processors On some Intel processors, not all events can be measured in all counters. Some events can only be measured in one particular counter, for instance. Assigning an event to the wrong counter does not crash the machine but this yields bogus counts, i.e., silent error. This patch changes the event to counter assignment logic to take into account event constraints for Intel P6, Core and Nehalem processors. There is no contraints on Intel Atom. There are constraints on Intel Yonah (Core Duo) but they are not provided in this patch given that this processor is not yet supported by perf_events. As a result of the constraints, it is possible for some event groups to never actually be loaded onto the PMU if they contain two events which can only be measured on a single counter. That situation can be detected with the scaling information extracted with read(). Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <1254840129-6198-3-git-send-email-eranian@gmail.com> Signed-off-by: Ingo Molnar commit 04a705df47d1ea27ca2b066f24b1951c51792d0d Author: Stephane Eranian Date: Tue Oct 6 16:42:08 2009 +0200 perf_events: Check for filters on fixed counter events Intel fixed counters do not support all the filters possible with a generic counter. Thus, if a fixed counter event is passed but with certain filters set, then the fixed_mode_idx() function must fail and the event must be measured in a generic counter instead. Reject filters are: inv, edge, cnt-mask. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <1254840129-6198-2-git-send-email-eranian@gmail.com> Signed-off-by: Ingo Molnar commit 69d2c2ae1dffac5fcd6130e459f250ae035b678f Author: Nicolas Ferre Date: Thu Oct 8 18:19:49 2009 +0200 ASoC: at91sam9g20ek_2mmc board uses same audio connexion as at91sam9g20ek The modified revision of at91sam9g20 Evaluation Kit rev. C and onwards share with previous ones its audio connexion to Wolfson wm8731. Modify the SoC file to extend the machine ID checking. Signed-off-by: Nicolas Ferre Signed-off-by: Mark Brown commit cd7e1f0b056c071860db65c847a854b3093d6606 Author: Don Skidmore Date: Thu Oct 8 15:36:22 2009 +0000 ixgbe: Fix KR to KX fail over for Mezzanine cards This patch allows the recently added backplane device IDs that support KR to fail over to KX during link setup. This is accomplished by the new MAC link setup function ixgbe_setup_mac_link_smartspeed(). Comments were also updated to better document the reason for the delays chosen for KX, KX4, BX, BX4 and KR connections. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 38ad1c8e8c8debf73b28543a3250a01f799f78ef Author: Don Skidmore Date: Thu Oct 8 15:35:58 2009 +0000 ixgbe: add support for 82599 based Express Module X520-P2 This patch will add the device ID for the 82599-based Ethernet Express Module X520-P2 SFI card. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e0e6f55d298af03ab88bfe8455b671d29d78f426 Author: Jin Dongming Date: Thu Oct 8 22:44:47 2009 -0700 ipv6: Fix the size overflow of addrconf_sysctl array (This patch fixes bug of commit f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50 title "make TLLAO option for NA packets configurable") When the IPV6 conf is used, the function sysctl_set_parent is called and the array addrconf_sysctl is used as a parameter of the function. The above patch added new conf "force_tllao" into the array addrconf_sysctl, but the size of the array was not modified, the static allocated size is DEVCONF_MAX + 1 but the real size is DEVCONF_MAX + 2, so the problem is that the function sysctl_set_parent accessed wrong address. I got the following information. Call Trace: [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] sysctl_set_parent+0x29/0x3e [] __register_sysctl_paths+0xde/0x272 [] ? __kmalloc_track_caller+0x16e/0x180 [] ? __addrconf_sysctl_register+0xc5/0x144 [ipv6] [] register_net_sysctl_table+0x48/0x4b [] __addrconf_sysctl_register+0xf7/0x144 [ipv6] [] addrconf_init_net+0xd4/0x104 [ipv6] [] setup_net+0x35/0x82 [] copy_net_ns+0x76/0xe0 [] create_new_namespaces+0xf0/0x16e [] copy_namespaces+0x65/0x9f [] copy_process+0xb2c/0x12c3 [] do_fork+0x14b/0x2d2 [] ? up_read+0xe/0x10 [] ? do_page_fault+0x27a/0x2aa [] sys_clone+0x28/0x2a [] stub_clone+0x13/0x20 [] ? system_call_fastpath+0x16/0x1b And the information of IPV6 in .config is as following. IPV6 in .config: CONFIG_IPV6=m CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_IPV6_MIP6=m CONFIG_IPV6_SIT=m # CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_PIMSM_V2=y # CONFIG_IP_VS_IPV6 is not set CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m I confirmed this patch fixes this problem. Signed-off-by: Jin Dongming Signed-off-by: David S. Miller commit 5a943617ef52e9f79cd7cf437aad8870be27aabb Author: John Kacur Date: Thu Oct 8 17:20:15 2009 +0200 x86, cpuid: Simplify the code in cpuid_open Peter picked up my patch for tip/x86/cpu that removes the bkl in cpuid_open. Ingo subsequently merged that into tip/master. This patch folds back in tglx's 55968ede164ae523692f00717f50cd926f1382a0 to my patch that removed the bkl. This simplifies the code, and makes it consistent with the changes to kill the bkl in msr.c as well. Originally-by: Thomas Gleixner Signed-off-by: John Kacur Signed-off-by: H. Peter Anvin commit 26dd2cb074d9dc41c9e3cddd7bf175fd0a41febc Author: Frederic Weisbecker Date: Thu Oct 8 22:07:29 2009 +0200 perf tools: Provide backward compatibility with previous perf.data version We have merged the trace.info file into perf.data by adding one section in the perf headers. This makes it incompatible with previous version: the new perf tools can't read the older perf.data. To support the previous format, we check the headers size. If they have the same size than in the previous format, then ignore the trace info section that doesn't exist. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1255032449-12022-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 97ea1a7fa62af0d8d49a0fc12796b0073537c9d8 Author: Frederic Weisbecker Date: Thu Oct 8 21:04:17 2009 +0200 perf tools: Fix thread comm resolution in perf sched This reverts commit 9a92b479b2f088ee2d3194243f4c8e59b1b8c9c2 ("perf tools: Improve thread comm resolution in perf sched") and fixes the real bug. The bug was elsewhere: We are failing to resolve thread names in perf sched because the table of threads we are building, on top of comm events, has a per process granularity. But perf sched, unlike the other perf tools, needs a per thread granularity as we are profiling every tasks individually. So fix it by building our threads table using the tid instead of the pid as the thread identifier. v2: Revert the previous fix - it is not really needed Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1255028657-11158-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2e538c4a1847291cf01218d4fe7bb4dc60fef7cf Author: Arnaldo Carvalho de Melo Date: Wed Oct 7 13:48:56 2009 -0300 perf tools: Improve kernel/modules symbol lookup This removes the ovelapping of vmlinux addresses with modules, using the ELF section name when using --vmlinux and creating a unique DSO name when using /proc/kallsyms ([kernel].N). This is done by creating multiple 'struct map' instances for address ranges backed by DSOs that have just the symbols for that range and a name that is derived from the ELF section name.o Now it is possible to ask for just the symbols in some particular kernel section: $ perf report -m --vmlinux ../build/tip-recvmmsg/vmlinux \ --dsos [kernel].vsyscall_fn | head -15 52.73% Xorg [.] vread_hpet 18.61% firefox [.] vread_hpet 14.50% npviewer.bin [.] vread_hpet 6.83% compiz [.] vread_hpet 5.73% glxgears [.] vread_hpet 0.63% java [.] vread_hpet 0.30% gnome-terminal [.] vread_hpet 0.23% perf [.] vread_hpet 0.18% xchat [.] vread_hpet $ Now we don't have to first lookup the list of modules and then, if it fails, vmlinux symbols, its just a simple lookup for the map then the symbols, just like for threads. Reports generated using /proc/kallsyms and --vmlinux should provide the same results, modulo the DSO name for sections other than ".text". But they don't right now because things like: ffffffff81011c20-ffffffff81012068 system_call ffffffff81011c30-ffffffff81011c9b system_call_after_swapgs ffffffff81011c9c-ffffffff81011cb6 system_call_fastpath ffffffff81011cb7-ffffffff81011cbb ret_from_sys_call I.e. overlapping symbols, again some ASM special case that we have to fixup. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1254934136-8503-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit da21d1b547cbaa2c026cf645753651c25d340923 Author: Arnaldo Carvalho de Melo Date: Wed Oct 7 10:49:00 2009 -0300 perf tools: Up the verbose level for some really verbose stuff Like printing every symbol created. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith LKML-Reference: <1254923340-4870-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 9a92b479b2f088ee2d3194243f4c8e59b1b8c9c2 Author: Frederic Weisbecker Date: Thu Oct 8 16:37:12 2009 +0200 perf tools: Improve thread comm resolution in perf sched When we get sched traces that involve a task that was already created before opening the event, we won't have the comm event for it. So if we can't find the comm event for a given thread, we look at the traces that may contain these informations. Before: ata/1:371 | 0.000 ms | 1 | avg: 3988.693 ms | max: 3988.693 ms | kondemand/1:421 | 0.096 ms | 3 | avg: 345.346 ms | max: 1035.989 ms | kondemand/0:420 | 0.025 ms | 3 | avg: 421.332 ms | max: 964.014 ms | :5124:5124 | 0.103 ms | 5 | avg: 74.082 ms | max: 277.194 ms | :6244:6244 | 0.691 ms | 9 | avg: 125.655 ms | max: 271.306 ms | firefox:5080 | 0.924 ms | 5 | avg: 53.833 ms | max: 257.828 ms | npviewer.bin:6225 | 21.871 ms | 53 | avg: 22.462 ms | max: 220.835 ms | :6245:6245 | 9.631 ms | 21 | avg: 41.864 ms | max: 213.349 ms | After: ata/1:371 | 0.000 ms | 1 | avg: 3988.693 ms | max: 3988.693 ms | kondemand/1:421 | 0.096 ms | 3 | avg: 345.346 ms | max: 1035.989 ms | kondemand/0:420 | 0.025 ms | 3 | avg: 421.332 ms | max: 964.014 ms | firefox:5124 | 0.103 ms | 5 | avg: 74.082 ms | max: 277.194 ms | npviewer.bin:6244 | 0.691 ms | 9 | avg: 125.655 ms | max: 271.306 ms | firefox:5080 | 0.924 ms | 5 | avg: 53.833 ms | max: 257.828 ms | npviewer.bin:6225 | 21.871 ms | 53 | avg: 22.462 ms | max: 220.835 ms | npviewer.bin:6245 | 9.631 ms | 21 | avg: 41.864 ms | max: 213.349 ms | Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1255012632-7882-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 016e92fbc9ef33689cf654f343a94383d43235e7 Author: Frederic Weisbecker Date: Wed Oct 7 12:47:31 2009 +0200 perf tools: Unify perf.data mapping and events handling This librarizes the perf.data file mapping and handling in various perf tools, roughly reducing the amount of code and fixing the places that mmap from beginning of the file whereas we want to mmap from the beginning of the data, leading to page fault because the mmap window is too small since the trace info are written in the file too. TODO: - convert perf timechart too Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arjan van de Ven LKML-Reference: <20091007104729.GD5043@nowhere> Signed-off-by: Ingo Molnar commit b727916a1f79f7a6e4603747b36a51777cb074e0 Merge: 907bc6c 6f775ba Author: Mark Brown Date: Thu Oct 8 10:45:09 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit 3758bf25db8caeec667e4e56e030da0ec3060529 Author: Anant Gole Date: Wed Oct 7 02:59:47 2009 +0000 can: add TI CAN (HECC) driver TI HECC (High End CAN Controller) module is found on many TI devices. It has 32 hardware mailboxes with full implementation of CAN protocol 2.0B with bus speeds up to 1Mbps. Specifications of the module are available on TI web Signed-off-by: Anant Gole Signed-off-by: David S. Miller commit 0cdc03698f2586923ad3b9fca06643ff5675f221 Author: Ajit Khaparde Date: Wed Oct 7 02:46:59 2009 +0000 ixgb: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit bcc90f555b4eb82604436f7ab6a7853c4b5997a3 Author: Ajit Khaparde Date: Wed Oct 7 02:46:09 2009 +0000 qlge: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 5fe31deffa097795aed7ab276c90287823d26497 Author: Ajit Khaparde Date: Wed Oct 7 02:42:23 2009 +0000 e1000: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 8d24e93309d688d59d4b6cf0b9cffc40337e067d Author: Ajit Khaparde Date: Wed Oct 7 02:42:56 2009 +0000 igb: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 2d86f1393c62f9c3bae5c1207408ed6559aa3cc4 Author: Ajit Khaparde Date: Wed Oct 7 02:43:49 2009 +0000 ixgbe: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 6dc3494183db0b93f49b193ac115073b72453b9c Author: Ajit Khaparde Date: Wed Oct 7 02:45:02 2009 +0000 myri10ge: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private myri10ge_priv structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 5a4d631154de41bb43eefb03d2124224c23c1fa4 Author: Ajit Khaparde Date: Wed Oct 7 02:45:34 2009 +0000 netxen: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 7274c20f7b6a7bd6e3e8441e1727bf9cfd8235bb Author: Ajit Khaparde Date: Wed Oct 7 02:44:26 2009 +0000 e1000e: Use the instance of net_device_stats from net_device. Since net_device has an instance of net_device_stats, we can remove the instance of this from the private adapter structure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 72dad218f872dbd53f5dc5df9df45709e4b77870 Author: Sridhar Samudrala Date: Wed Oct 7 12:41:17 2009 +0000 bridge: Allow enable/disable UFO on bridge device via ethtool Allow enable/disable UFO on bridge device via ethtool Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit d9f5950f90292f7cc42834338dfd5f44dc4cc4ca Author: Sridhar Samudrala Date: Wed Oct 7 12:24:25 2009 +0000 net: Make UFO on master device independent of attached devices Now that software UFO is supported, UFO can be enabled on master devices like bridge, bond even though the attached device doesn't support this feature in hardware. This allows UFO to be used between KVM host and guest even when a physical interface attached to the bridge doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit f86dcc5aa8c7908f2c287e7a211228df599e3e71 Author: Eric Dumazet Date: Wed Oct 7 00:37:59 2009 +0000 udp: dynamically size hash tables at boot time UDP_HTABLE_SIZE was initialy defined to 128, which is a bit small for several setups. 4000 active UDP sockets -> 32 sockets per chain in average. An incoming frame has to lookup all sockets to find best match, so long chains hurt latency. Instead of a fixed size hash table that cant be perfect for every needs, let UDP stack choose its table size at boot time like tcp/ip route, using alloc_large_system_hash() helper Add an optional boot parameter, uhash_entries=x so that an admin can force a size between 256 and 65536 if needed, like thash_entries and rhash_entries. dmesg logs two new lines : [ 0.647039] UDP hash table entries: 512 (order: 0, 4096 bytes) [ 0.647099] UDP Lite hash table entries: 512 (order: 0, 4096 bytes) Maximal size on 64bit arches would be 65536 slots, ie 1 MBytes for non debugging spinlocks. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 170a0bc3808909d8ea0f3f9c725c6565efe7f9c4 Author: John Kacur Date: Wed Oct 7 20:19:32 2009 +0200 x86, cpuid: Remove the bkl from cpuid_open() Most of the variables are local to the function. It IS possible that for struct cpuinfo_x86 *c c could point to the same area. However, this is used read only. Signed-off-by: John Kacur LKML-Reference: Signed-off-by: H. Peter Anvin commit f8631e7bba34d46d6ccea4cd90f7a0482770ff70 Author: Alistair Buxton Date: Tue Sep 22 10:05:30 2009 +0100 OMAP850: Fix zImage booting This adds the OMAP850 JTAG ID to the IDs checked by OMAP uncompress.h putc. Without this putc hangs up trying to check the uarts and zImage crashes. Signed-off-by: Alistair Buxton commit 1f73b4de93e06d18c28cb282761c8507bc476489 Author: Alistair Buxton Date: Fri Sep 18 20:53:04 2009 +0100 OMAP850: PM: Add an ARCH_OMAP850 check This just makes the same warning be printed on omap850 and omap730. Signed-off-by: Alistair Buxton commit ab985ff471048479b475f973358ccc6af8e42bc4 Author: Angelo Arrifano Date: Fri Sep 4 23:41:49 2009 +0100 OMAP7XX: Clocks: Add ck_ref and armxor These clocks are required for booting. Signed-off-by: Angelo Arrifano Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 7a8f48f8c611ac8c07023260258e2fec312b9242 Author: Alistair Buxton Date: Tue Sep 22 10:04:51 2009 +0100 OMAP7XX: omap_uwire.c: Convert to omap7xx.h This also replaces CPU checks with cpu_is_omap7xx() Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 7c0069264017fdac8ef017b8893f0f0d7a13851a Author: Alistair Buxton Date: Tue Sep 22 10:02:58 2009 +0100 OMAP7XX: Rename all the rest of the omap730 references in omap1 core This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. This updates all the remaining omap730 references in miscellaneous local variables, macros and similar. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 372b1c32e7e7d7aa5f44e0eaed4ad8ae21e4e9da Author: Alistair Buxton Date: Fri Sep 18 04:09:39 2009 +0100 OMAP7XX: Replace omap730 references in irqs.h and all users This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. Turns INT_730_* to INT_7XX_* for definitions in irqs.h and all users. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit b51988db94faec47d6e7c69c8e691cfc194f66db Author: Alistair Buxton Date: Tue Sep 22 07:34:13 2009 +0100 OMAP7XX: Update core omap1 files to use omap7xx.h This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit e6684f7132c6e6333e96407b06910bebaa4c1935 Author: Alistair Buxton Date: Tue Sep 22 07:22:56 2009 +0100 OMAP7XX: Create omap7xx.h This patch is part of a series which removes references to omap730 in code which is shared with omap850, replacing them with references to omap7xx. This include file is intended to replace omap730.h and omap850.h All values defined herein are identical to those in both the old files. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit bf1cb7eb4fe35e50798f03e00d3900db0474f7d0 Author: Alistair Buxton Date: Tue Sep 22 06:49:35 2009 +0100 OMAP7XX: McBSP: Add omap850 support This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 39a8b08610a10f3456ef9f4a38986d0407f1c57e Author: Alistair Buxton Date: Tue Sep 22 06:47:14 2009 +0100 OMAP7XX: Clocks: Add omap850 support This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. This file had no omap850 specific code. Initial clock support was done in the Linwizard tree by Zebediah C. McClure. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 4b9100dde2820296003940ffd81e006c33c9bf5d Author: Alistair Buxton Date: Tue Sep 22 06:41:09 2009 +0100 OMAP7XX: PM: Add omap850 support This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. This file had no omap850 specific code. Original omap850 support in Linwizard was done by cloning the omap730 code. That work was done by Zebediah C. McClure. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 559663b980c8293b3624b4d91d08efc71f6fae82 Author: Alistair Buxton Date: Tue Sep 22 06:33:04 2009 +0100 OMAP7XX: IRQ: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. This fixes a bug which prevents IRQs from being enabled on omap850 due to a missing check in entry-macro.S, which was found by Cory Maccarrone. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 207b0e9cfef296c469cce84f74455f97f8ab2227 Author: Alistair Buxton Date: Tue Sep 22 06:01:08 2009 +0100 OMAP7XX: USB: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 190215f963551405cc97ed220003bb7524219131 Author: Alistair Buxton Date: Tue Sep 22 05:58:54 2009 +0100 OMAP7XX: Mux: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit ab49df737d28c67eb6a5cb5be40dbab43fd7582c Author: Alistair Buxton Date: Tue Sep 22 05:58:08 2009 +0100 OMAP7XX: IO: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit b718aa810b50e0d988d8b83f1011865b19b17491 Author: Alistair Buxton Date: Wed Sep 23 18:56:19 2009 +0100 OMAP7XX: GPIO: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit d8723ae2a416473f8e974baadcb6acb7f8b0b485 Author: Alistair Buxton Date: Tue Sep 22 05:49:53 2009 +0100 OMAP7XX: Serial: Remove duplicate omap850 code This patch is part of a series which unifies all duplicated code between omap730 and omap850. All cpu checks are converted to cpu_is_omap7xx() and CONFIG_ARCH_OMAP850 is added to all CONFIG_ARCH_OMAP730 checks. Signed-off-by: Alistair Buxton Reviewed-by: Zebediah C. McClure commit 8a6dfd43d1891882f8ca05d73aa7735fb0edae3b Author: Alexandre Cassen Date: Wed Oct 7 14:50:30 2009 -0700 IPv6: Fix 6RD typo Following fix a small typo. Signed-off-by: Alexandre Cassen Signed-off-by: David S. Miller commit 4b17d50f9e9034be3fe0414dc3492c0071dba75c Author: Hagen Paul Pfeifer Date: Wed Oct 7 14:45:58 2009 -0700 ipv4: Define cipso_v4_delopt static There is no reason that cipso_v4_delopt() is not defined as a static function. Signed-off-by: Hagen Paul Pfeifer Signed-off-by: David S. Miller commit 9e8342971d44ce86d8567047f5366fc1c06a75ed Author: Hagen Paul Pfeifer Date: Wed Oct 7 14:43:04 2009 -0700 econet: Fix redeclaration of symbol len Function argument len was redeclarated within the function. This patch fix the redeclaration of symbol 'len'. Signed-off-by: Hagen Paul Pfeifer Signed-off-by: David S. Miller commit 49b4ad92d1a5bb9909deb3216ffec6f0febc7b71 Author: Nicolas de Pesloüan Date: Wed Oct 7 14:11:00 2009 -0700 bonding: remove useless assignment The variable old_active is first set to bond->curr_active_slave. Then, it is unconditionally set to new_active, without being used in between. The first assignment, having no side effect, is useless. Signed-off-by: Nicolas de Pesloüan Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit 3c6aaa24613cbd56f853363e3ce00091a9d2eac8 Author: Nicolas de Pesloüan Date: Wed Oct 7 14:10:36 2009 -0700 bonding: fix a parameter name in error message When parsing module parameters, bond_check_params() erroneously use 'xor_mode' as the name of a module parameter in an error message. The right name for this parameter is 'xmit_hash_policy'. Signed-off-by: Nicolas de Pesloüan Signed-off-by: David S. Miller commit b301e82cf8104cfddbe5452ebe625bab49597c64 Author: Brian Haley Date: Wed Oct 7 13:58:25 2009 -0700 IPv6: use ipv6_addr_set_v4mapped() Might as well use the ipv6_addr_set_v4mapped() inline we created last year. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 86c36ce45dc2e2f022562c6481cd778f4cc381a9 Author: Brian Haley Date: Wed Oct 7 13:58:01 2009 -0700 IPv6: use ipv6_addr_copy() in ip6_route_redirect() Change ip6_route_redirect() to use ipv6_addr_copy(). Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 125a77ed9fbd21d1277f53e9ed6b39ad3d34e613 Author: Brian Haley Date: Wed Oct 7 13:57:10 2009 -0700 IPv6: Fix 6RD build error Fix build error introduced in commit fa857afcf - ipv6 sit: 6rd (IPv6 Rapid Deployment) Support. Struct in6_addr is the issue. I'm only seeing this on x86_64 systems, not on 32-bit with same IPv6 config options, so it could be there's a missing forward declaration somewhere, but including the correct header file fixes the problem too. CC [M] net/ipv6/ip6_tunnel.o In file included from net/ipv6/ip6_tunnel.c:31: include/linux/if_tunnel.h:59: error: field ‘prefix’ has incomplete type make[2]: *** [net/ipv6/ip6_tunnel.o] Error 1 make[1]: *** [net/ipv6] Error 2 Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit ffce908246c93b17304c313886d25cfa8aecd1d7 Author: Atis Elsts Date: Wed Oct 7 13:55:57 2009 -0700 net: Add sk_mark route lookup support for IPv4 listening sockets Add support for route lookup using sk_mark on IPv4 listening sockets. Signed-off-by: Atis Elsts Signed-off-by: David S. Miller commit 996ccf49005662ee7fee38a45be5cb27bf370b1d Author: Gerrit Renker Date: Mon Oct 5 00:53:13 2009 +0000 dccp ccid-3: Remove CCID naming redundancy 2/2 This continues the previous patch, by applying the same change to CCID-3. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 77d2dd93742222973d253443d98ab8402d641038 Author: Gerrit Renker Date: Mon Oct 5 00:53:12 2009 +0000 dccp ccid-2: Remove CCID naming redundancy 1/2 This removes a redundancy in the CCID half-connection (hc) naming scheme: * instead of 'hctx->tx_...', write 'hc->tx_...'; * instead of 'hcrx->rx_...', write 'hc->rx_...'; which works because the 'type' of the half-connection is encoded in the 'rx_' / 'tx_' prefixes. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 388d5e9905dd80648fff5ccaefdd8c0fcedb3eae Author: Gerrit Renker Date: Mon Oct 5 00:53:11 2009 +0000 dccp ccid-3: Overhaul CCID naming convention 2/2 This implements the new naming scheme also for CCID-3. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b1c00fe3cf8f54d97d20cdf196145a106f04bd63 Author: Gerrit Renker Date: Mon Oct 5 00:53:10 2009 +0000 dccp ccid-2: Overhaul CCID naming convention 1/2 This patch starts a less problematic naming convention for CCID structs. The old naming convention used 'hc{tx,rx}->ccid?hc{tx,rx}->...' as recurring prefixes, which made the code * hard to write (not easy to fit into 80 characters); * hard to read (most of the space is occupied by prefixes). The new naming scheme: * struct entries for the TX socket are prefixed by 'tx_'; * and those for the RX socket are prefixed by 'rx_'. The identifiers then remain distinguishable when grep-ing through the tree: (a) RX/TX sockets are distinguished by the naming scheme, (b) individual CCIDs are distinguished by filename (ccid{2,3,4}.{c,h}). This first patch implements the scheme for CCID-2. Signed-off-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d6c304055b3cecd4ca865769ac7cea97a320727b Author: Frederic Weisbecker Date: Wed Oct 7 21:43:22 2009 +0200 x86, msr: Remove the bkl from msr_open() Remove the big kernel lock from msr_open() as it doesn't protect anything there. The only racy event that can happen here is a concurrent cpu shutdown. So let's look at what could be racy during/after the above event: - The cpu_online() check is racy, but the bkl doesn't help about that anyway it disables preemption but we may be chcking another cpu than the current one. Also the cpu can still become offlined between open and read calls. - The cpu_data(cpu) returns a safe pointer too. It won't be released on cpu offlining. But some fields can be changed from arch/x86/kernel/smpboot.c:remove_siblinginfo() : - phys_proc_id - cpu_core_id Those are not read from msr_open(). What we are checking is the x86_capability that is left untouched on offlining. So this removal looks safe. Signed-off-by: Frederic Weisbecker Cc: John Kacur Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Sven-Thorsten Dietrich LKML-Reference: <1254944602-7382-1-git-send-email-fweisbec@gmail.com> Signed-off-by: H. Peter Anvin commit 82e62926ab31d5a535f85be36d6621635ee34c3c Author: Holger Schurig Date: Wed Oct 7 09:10:33 2009 +0200 libertas: remove extraneous select FW_LOADER As kindly pointed out by Andrey Yurovsky, CONFIG_LIBERTAS already selects FW_LOADER. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 63f275df64dc69a46bbc21e6a68d5506d2da9c51 Author: Amitkumar Karwar Date: Tue Oct 6 19:20:28 2009 -0700 libertas: Use lbs_is_cmd_allowed() check in command handling routines. lbs_is_cmd_allowed() check is added in __lbs_cmd_async() and lbs_prepare_and_send_command(). The check is removed from other places. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 536b3a7a10c8fd39576a0602bfeca9bbd04658a6 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:11 2009 -0400 ath9k: rename ath_beaconq_setup() to ath9k_hw_beaconq_setup() And move it to hw code on mac.c where it belongs. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bd96d3909549a0c09388987810e3e81397b500a9 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:10 2009 -0400 ath9k: move ath_cleanup() below helpers to avoid forward declarations This should fix the oops which occurs during module unload due to the dereferencig of ah upon debugfs exit. IP: [<46412d6b>] 0x46412d6b *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC last sysfs file: /sys/class/power_supply/BAT0/energy_full Modules linked in: ath9k(-) ath9k_hw mac80211 ath cfg80211 Pid: 3112, comm: rmmod Not tainted (2.6.32-rc2-wl #101) 9461DUU EIP: 0060:[<46412d6b>] EFLAGS: 00010246 CPU: 0 EIP is at 0x46412d6b EAX: f5870004 EBX: f6700d94 ECX: 00000000 EDX: c14313a7 ESI: f5870000 EDI: fb58ce70 EBP: f6661eb4 ESP: f6661ea8 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process rmmod (pid: 3112, ti=f6660000 task=f6579380 task.ti=f6660000) Stack: fb57e5e5 f5ca5d50 fb58ce70 f6661ebc fb58629a f6661ec8 c11b715e f5ca5da8 <0> f6661ed8 c1223d98 f5ca5da8 f5ca5ddc f6661eec c1223e6f fb58ce70 fb58ce70 <0> c14958a0 f6661f00 c1222edb fb58ce70 fb58ce70 fb58cebc f6661f1c c12243c9 Call Trace: [] ? ath_cleanup+0x35/0x50 [ath9k] [] ? ath_pci_remove+0x1a/0x20 [ath9k] [] ? pci_device_remove+0x1e/0x40 [] ? __device_release_driver+0x58/0xa0 [] ? driver_detach+0x8f/0xa0 [] ? bus_remove_driver+0x7b/0xb0 [] ? driver_unregister+0x49/0x80 [] ? sysfs_remove_file+0x12/0x20 [] ? pci_unregister_driver+0x35/0x90 [] ? ath_pci_exit+0x12/0x20 [ath9k] [] ? ath9k_exit+0x10/0x3d [ath9k] [] ? mutex_unlock+0xd/0x10 [] ? sys_delete_module+0x16f/0x220 [] ? do_munmap+0x23d/0x290 [] ? trace_hardirqs_off_thunk+0xc/0x10 [] ? trace_hardirqs_on_thunk+0xc/0x10 [] ? sysenter_exit+0xf/0x1a [] ? sysenter_do_call+0x12/0x3c Code: Bad EIP value. EIP: [<46412d6b>] 0x46412d6b SS:ESP 0068:f6661ea8 CR2: 0000000046412d6b ---[ end trace 847f3b05ff3dcb19 ]--- Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2568835cb44d6fe976e977d96aeca73c9fe1642c Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:09 2009 -0400 ath9k: add a helper to clean the core driver upon module unload The core driver needs to be stopped and then as a last step the hardware needs to be stopped and its structure free'd. We do this by moving the core driver cleanup to a new helper ath_clean_core() and have ath_cleanup() call it. Only as a last step does ath_cleanup() now free the hw. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7fda16665152851fe65ee73e24afdcaf67acba59 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:08 2009 -0400 ath9k: add helper to un-init the hw properly This is used in several places, ensure we do it right in all callers by using a helper. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 211f5859af951788a3fe4752142a5e9047afa5d8 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:07 2009 -0400 ath9k: initialize hw prior to debugfs debugfs uses the hardware for several debugfs files as such the hardware must be initialized and available prior to its usage. The same applies to when we free the hw structs -- free debufs file entries prior to free'ing the hardware. Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit faa27fae7da900b6d977124410caa3d014676478 Author: Luis R. Rodriguez Date: Tue Oct 6 21:19:06 2009 -0400 ath9k: move common->debug_mask setting to ath_init_softc() What this means is we can enable now debug prints without requiring CONFIG_ATH9K_DEBUG. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8ce54c5a5f5d2f4f03993395d60f3110670002ca Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:34 2009 -0400 ath5k: enable Power-Save Polls by setting the association ID mac80211 has long provided us the association ID. This isn't useful except for Power-Save polling which now gets enabled. We can now poll for our pending frames on the AP during power save. You can review the details of Power-Save on the wireless wiki: http://wireless.kernel.org/en/developers/Documentation/ieee80211/power-savings Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a3f86bff1c056f47c2df4c58bfcf7bdda8eaf9d0 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:33 2009 -0400 ath5k: fix regression which triggers an SME join upon assoc This fixes a regression introduced by patch titled: "atheros: define shared bssidmask setting" The register for the BSSID was exchanged for the bssid mask register. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit abba06869e2546484fa142528737d1a0622add54 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:32 2009 -0400 ath5k: remove temporary low_id and high_id vars on ath5k_hw_set_associd() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit be5d6b75e0fb3f7e23ea5325109ef4195f2b282a Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:31 2009 -0400 ath5k: simplify passed params to ath5k_hw_set_associd() We have access to common->curbssid and common->curaid so just use those. Note that common->curaid is always 0 so this keeps our current behaviour of always using 0 for now. Once we fix storing the association ID passed by mac80211 this will require no changes here. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 91b9eb8261acfe473c369750036df24ad071e5c1 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:30 2009 -0400 ath5k: fix regression introduced upon the removal of AR5K_HIGH_ID() The trick was to add four bytes whenever this was used. There are two places where this was missed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a72d57a862f700edf85da81aae3cd8f923e989a1 Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:29 2009 -0400 ath5k: use ath_hw_setbssidmask() for bssid mask setting upon assoc This should avoid future typos. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eb053a037d8951018bdc9133c8d312da9cd0aefb Author: Luis R. Rodriguez Date: Tue Oct 6 20:44:28 2009 -0400 ath5k: fix regression on setting bssid mask on association There was a typo on the second bssid mask register. This was caused by the patch titled: "ath5k: use common curbssid, bssidmask and macaddr" Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c6d3597cd54739281e964aa3c063f794e960f75e Author: Randy Dunlap Date: Tue Oct 6 13:27:29 2009 -0700 wireless: fix CFG80211_WEXT build problems Fix CFG80211_WEXT build dependencies/errors: ERROR: "cfg80211_wext_siwscan" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_siwmode" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwrange" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwmode" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwscan" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit a82ac21efcefabb4879eb5b4e7a2c7a142026bdb Author: John W. Linville Date: Wed Oct 7 10:49:33 2009 -0400 net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h Everything including this header includes net/cfg80211.h, which includes linux/netdevice.h, which includes linux/ethtool.h already. Why slow-down the build, even a little bit? Signed-off-by: John W. Linville commit cf32ed92432303022be208bb6a173994712f1f23 Author: John W. Linville Date: Tue Oct 6 16:47:23 2009 -0400 orinoco: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit 5e5eab5dd4339b66e9e59695812fd4b96c3bb1c0 Author: John W. Linville Date: Tue Oct 6 16:45:14 2009 -0400 ipw2200: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit 5b367378ee826b0566e51d32b78b00ce24eac8f9 Author: John W. Linville Date: Tue Oct 6 16:41:21 2009 -0400 iwmc3200wifi: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit 0adc23f58e21cb47be998063ea1b82de33ccdd46 Author: John W. Linville Date: Tue Oct 6 16:27:18 2009 -0400 mac80211: support ETHTOOL_GPERMADDR Signed-off-by: John W. Linville commit ff9fc791940f9ff51387c35f9332efe5007154f1 Author: Holger Schurig Date: Tue Oct 6 16:31:54 2009 +0200 libertas: first stab at cfg80211 support Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0465af8e03bdc6cd0b49dc5548671387a8674b69 Author: Holger Schurig Date: Tue Oct 6 16:31:20 2009 +0200 libertas: separate libertas' Kconfig in it's own file Also sorts all "source" lines in the wireless/Kconfig. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit baee1f3caa5a771880144358dd07d32e09ba4dcf Author: Rafael J. Wysocki Date: Mon Oct 5 00:52:09 2009 +0200 Wireless / ath5k: Simplify suspend and resume callbacks Simplify the suspend and resume callbacks of ath5k by converting the driver to struct dev_pm_ops and allowing the PCI PM core to do the PCI-specific suspend/resume handling. Signed-off-by: Rafael J. Wysocki Signed-off-by: John W. Linville commit fe348cb628e6a78cc1e82fe64404c9a304ed9c12 Author: Kalle Valo Date: Thu Sep 24 11:02:51 2009 -0700 at76c50x-usb: set firmware and hardware version in wiphy Set firmware and hardware version in wiphy so that user space can access it. (Modification from original in favor of cfg80211 ethtool support. -- JWL) Cc: Kalle Valo Signed-off-by: John W. Linville commit dfce95f51fe34fa18c87a7d0bea53594b9bf1b9a Author: Kalle Valo Date: Thu Sep 24 11:02:42 2009 -0700 cfg80211: add firmware and hardware version to wiphy It's useful to provide firmware and hardware version to user space and have a generic interface to retrieve them. Users can provide the version information in bug reports etc. Add fields for firmware and hardware version to struct wiphy. (Dropped nl80211 bits for now and modified remaining bits in favor of ethtool. -- JWL) Cc: Kalle Valo Signed-off-by: John W. Linville commit 4890e3beddfb4a6859c4bb782c9cd05dd94ead82 Author: John W. Linville Date: Wed Sep 30 14:50:17 2009 -0400 wireless: implement basic ethtool support for cfg80211 devices Signed-off-by: John W. Linville commit f41bb897f202d23a7d896c716002a3d6050b991e Author: Wey-Yi Guy Date: Fri Oct 2 13:44:06 2009 -0700 iwlwifi: validate the signature for EEPROM and OTP Both 1000 & 6000 series NICs contain on-chip OTP memory that replaces the off-chip EEPROM memory. The nature of OTP means there is a limited number of times a particular board can go through the factory flow and be (re)calibrated. As a consequence there will be some boards that contain EEPROM memory because OTP blocks were full. In the signature validation routine, iwlwifi needs to make sure "select bit" and "EEPROM/OTP signature" agree on the type of NVM to be used to configure the system. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1739d3322008fb95e88ad0530bcc057789107879 Author: Abhijeet Kolekar Date: Fri Oct 2 13:44:05 2009 -0700 iwlwifi: replace iwl_poll_direct_bit with iwl_poll_bit for CSR access Replace iwl_poll_direct_bit with iwl_poll_bit when accessing CSR registers. There is no need to power up the mac to access CSR registers. Signed-off-by: Abhijeet Kolekar Acked-by: Ben M Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d68b603cf01a6e7d8c85c5a86db751ed3960c0c7 Author: Abhijeet Kolekar Date: Fri Oct 2 13:44:04 2009 -0700 iwlwifi/iwl3945 : unify apm stop operation Unify the usage of apm_stop_master and apm_stop across all hardwares. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e932a609e9759cc75db0c234f465a5fd6e20d362 Author: Johannes Berg Date: Fri Oct 2 13:44:03 2009 -0700 iwlwifi: LED cleanup The iwlwifi drivers have LED blinking requirements that mac80211 cannot fulfill due to the use of just a single LED instead of different ones for TX, RX, radio etc. Instead, the single LED blinks according to transfers and is solid on the rest of the time. As such, having LED class devices registered that mac80211 triggers are connected to is pointless as we don't use the triggers anyway. Remove all the useless code and add hooks into the driver itself. At the same time, make the LED code abstracted so the core code that determines blink rate etc. can be shared between 3945 and agn in iwlcore. At the same time, the fact that we removed the use of the mac80211 LED triggers means we can also remove the IWLWIFI_LEDS Kconfig symbol since the LED support is now self-contained. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit be1a71a128ed91372d4ad8d54d8fd972a1a356eb Author: Johannes Berg Date: Fri Oct 2 13:44:02 2009 -0700 iwlwifi: device tracing In order to have an easier way to debug issues, create trace events (using the ftrace framework) that will allow us to follow exactly what the driver is doing with the device. The text format isn't all that useful, but the binary format can also be obtained easily via debugfs and then analysed on the fly or offline with debugging tools. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4d80d7210bb5a36a18978d1305b44375ecb857d9 Author: Wey-Yi Guy Date: Fri Oct 2 13:44:01 2009 -0700 iwlwifi: set default aggregation frame count limit to 31 Multiple MPDUs can be aggregated, transmitted, and finally acknowledged together using a single BA frame. Block ACK (BA) contains bitmap size of 64*16 bits so the maximum frame count is 64. The default value of aggregation frame count suggested by uCode is 31 to achieve best performance. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 39d5e0ce0f2ab9a4bb88e22a9f07ba3943e3646d Author: Huaxu Wan Date: Fri Oct 2 13:44:00 2009 -0700 iwlwifi: clear the translate table area Driver should clear the translate table area after receiving "Alive" response from uCode. This patch corrects a mistake when doing this. Signed-off-by: Huaxu Wan Signed-off-by: Guo Chaohong Acked-by: Ben M Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 72f0ebd9e0af0cb642b5f8955380c5043c5c83b4 Author: Wey-Yi Guy Date: Fri Oct 2 13:43:59 2009 -0700 iwlwifi: change valid EEPROM version for 1000 series In order to support different type of 1000 series NICs we release to customers before the production release, iwlwifi driver need to support all the NICs has EEPROM version greater than 0x15c. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7812b16730ccebce71a3b2228ac08dd4f8b39469 Author: Wey-Yi Guy Date: Fri Oct 2 13:43:58 2009 -0700 iwlwifi: reliable entering of critical temperature state When uCode detects critical temperature it should send "card state notification" interrupt to driver and then shut itself down to prevent overheating. There is a race condition where uCode shuts down before it can deliver the interrupt to driver. Additional method provided here for driver to enter CT_KILL state based on temperature reading. How it works: Method 1: If driver receive "card state notification" interrupt from uCode; it enters "CT_KILL" state immediately Method 2: If the last temperature report by Card reach Critical temperature, driver will send "statistic notification" request to uCode to verify the temperature reading, if driver can not get reply from uCode within 300ms, driver will enter CT_KILL state automatically. Method 3: If the last temperature report by Card did not reach Critical temperature, but uCode already shut down due to critical temperature. All the host commands send to uCode will not get process by uCode; when command queue reach the limit, driver will check the last reported temperature reading, if it is within pre-defined margin, enter "CT_KILL" state immediately. In this case, when uCode ready to exit from "CT_KILL" state, driver need to restart the adapter in order to reset all the queues and resume normal operation. One additional issue being address here, when system is in CT_KILL state, both tx and rx already stopped, but driver still can send host command to uCode, it will flood the command queue since card was not responding; adding STATUS_CT_KILL flag to reject enqueue host commands to uCode if it is in CT_KILL state, when uCode is ready to come out of CT_KILL, driver will clear the STATUS_CT_KILL bit and allow enqueue the host commands to uCode to recover from CT_KILL state. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ffe9793252de2e9a3cc7e29a6c7debd1d549df07 Author: Kalle Valo Date: Thu Oct 1 12:51:20 2009 +0300 wl1251: remove wl1251_netlink.h The file was accidentally added in commit ef2f8d4577 ("wl1251: add wl1251 prefix to all 1251 files"). This happened when I rebased the patches from a private tree. Reported-by: Robert P. J. Day Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4912545472d71e3dd546b18b397aec4c89fd7403 Author: Amitkumar Karwar Date: Wed Sep 30 20:04:38 2009 -0700 libertas: Add auto deep sleep support for SD8385/SD8686/SD8688 Add timer based auto deep sleep feature in libertas driver which can be configured using iwconfig command. This is tested on SD8688, SD8686 cards with firmware versions 10.38.1.p25, 9.70.4.p0 respectively on 32-bit and 64-bit platforms. Tests have been done for USB/CS cards to make sure that the patch won't break USB/CS code. We didn't test the if_spi driver. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 125b181aec7a67c71234284ecf6d9c729d05deda Author: Larry Finger Date: Thu Oct 1 13:22:27 2009 -0500 staging: Add proper selection of WIRELESS_EXT and WEXT_PRIV After the incorporation of the patch entitled "wext: refactor", some of the wireless drivers in drivers/staging fail to build because they need to have CONFIG_WIRELESS_EXT and CONFIG_WEXT_PRIV defined. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3d23e349d807177eaf519d444677cee86b1a04cf Author: Johannes Berg Date: Tue Sep 29 23:27:28 2009 +0200 wext: refactor Refactor wext to * split out iwpriv handling * split out iwspy handling * split out procfs support * allow cfg80211 to have wireless extensions compat code w/o CONFIG_WIRELESS_EXT After this, drivers need to - select WIRELESS_EXT - for wext support - select WEXT_PRIV - for iwpriv support - select WEXT_SPY - for iwspy support except cfg80211 -- which gets new hooks in wext-core.c and can then get wext handlers without CONFIG_WIRELESS_EXT. Wireless extensions procfs support is auto-selected based on PROC_FS and anything that requires the wext core (i.e. WIRELESS_EXT or CFG80211_WEXT). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bc974f4a230756faf4f69114f271de2e678b363b Author: Luis R. Rodriguez Date: Mon Sep 28 02:54:40 2009 -0400 atheros: define a common priv struct hw code should never use private driver data, but sometimes we need a backpointer so just stuff it on the common ath struct. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7c89606e24cdabaceb8ca9b3c7ab866c6bcc9e38 Author: Holger Schurig Date: Thu Sep 24 12:21:01 2009 +0200 nl80211: report age of scan results Linux keeps scan results up to 15 seconds. This can be a problem for fast moving clients: they get back stale data. But if the kernel reports the age of the BSS items, then user-space can simply weed out old entries by itself. Signed-off-by: Holger Schurig Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7976b4263cb05dc638297d35f2a42375090ebaff Author: Luis R. Rodriguez Date: Wed Sep 23 23:07:02 2009 -0400 ath9k_hw: add AR9271 srev and device ID to allow hw to support ar9271 This allows for hw support to be enabled for ar9271. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3ca340381a1da26906dc766a1e4f8a5d0a613189 Author: Luis R. Rodriguez Date: Wed Sep 23 23:07:01 2009 -0400 ath9k_hw: print device ID if not supported Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7322fd19295fa7f7d954a19a5f0b77687d441846 Author: Luis R. Rodriguez Date: Wed Sep 23 23:07:00 2009 -0400 ath9k: move hw code to its own module hw code for Atheros 802.11n hardware is commmon between different chipsets. This moves this code into a separate module, the next expected user of this code will be the ath9k_htc module. The ath9k/ dir is now selected by ATH9K_HW, an option which gets selected by either ath9k or ath9k_htc, but remains invisible for user menuconfig configuration. If either ath9k or ath9k_htc will be compiled into the kernel ath9k_hw will also be compiled in. Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 475a6e4d3907d6af412d081a9eab3b1e8a24afd1 Author: Luis R. Rodriguez Date: Wed Sep 23 23:06:59 2009 -0400 ath9k: use common read/write ops on pci and debug code PCI and debug code will not be shared between ath9k and ath9k_htc, so make that code use the common read/write ops. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bdcf8ff3dd7e89ee4b3f303b6f7e5e04876f9d76 Author: Jaswinder Singh Rajput Date: Sun Sep 20 13:39:24 2009 +0530 b43: Comment unused functions lpphy_restore_dig_flt_state and lpphy_disable_rx_gain_override Commenting unused functions lpphy_restore_dig_flt_state and lpphy_disable_rx_gain_override, may be we need these functions in future. This also fixed following compilation warnings : CC [M] drivers/net/wireless/b43/phy_lp.o drivers/net/wireless/b43/phy_lp.c:383: warning: ‘lpphy_restore_dig_flt_state’ defined but not used drivers/net/wireless/b43/phy_lp.c:891: warning: ‘lpphy_disable_rx_gain_override’ defined but not used Signed-off-by: Jaswinder Singh Rajput Signed-off-by: John W. Linville commit c099752ae06784fcd9cd393cbf3dfbc6b54f4569 Author: Christian Lamparter Date: Fri Sep 18 18:20:03 2009 +0200 iwlwifi: drop lib80211 dependency Ever since Johannes' "iwlwifi: improve scan support" iwlwifi no longer needs any of lib80211's functions or definitions. This patch updates iwlwifi's Kconfig _selections_ and removes all left lib80211.h inclusions from the source files. Signed-off-by: Christian Lamparter Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit e41f0bfcb130d9f17cf5ee8e46d739c1bebda963 Author: Senthil Balasubramanian Date: Fri Sep 18 15:08:20 2009 +0530 ath9k: Fix bugs in handling TX power * Get power table offset from the EEPROM instead of using a hardcoded value of -5 if the EEPROM rev is >= 21. * Add support in the 4k eeprom code for tx power offset in case we have a 4k AR9280 implementation. * Fix tx power accuracy at high powers. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ebb90cfc32f0d7ee55be7787ce7d88e521e9ed01 Author: Senthil Balasubramanian Date: Fri Sep 18 15:07:33 2009 +0530 ath9k: Advertise midband for AR5416 devices This has to be done if the EEPROM supports FCC Midband capability. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 63a75b912b00fbafeb54849ca3bcd0295ad68609 Author: Senthil Balasubramanian Date: Fri Sep 18 15:07:03 2009 +0530 ath9k: Reduce PLL Settle time and eliminate redundant PLL calls. Reduce PLL Settle time and eliminate redundant PLL calls. Also reduce the LoadNF timeout from 10 msec to 250usec as the 10 msec timeout was hit with AR9285 in some cases. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 1d50a69b18818b276333590d1f2c9382d292d84d Author: Senthil Balasubramanian Date: Fri Sep 18 15:06:37 2009 +0530 ath9k: Handle ATH9K_BEACON_RESET_TSF properly Clearing a local variable is unnecessary. Get rid of it. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 66afad0156a0b673688f309147e57c3a85541329 Author: Senthil Balasubramanian Date: Fri Sep 18 15:06:07 2009 +0530 ath9k: Allow PSPOLL only when the interface is configured in AP mode Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 7aa034928392f16d48c536b315575e2dcfa53252 Author: Vasanthakumar Thiagarajan Date: Fri Sep 18 15:04:51 2009 +0530 ath9k: Update initvals * Move 0xa274 and 0xa27c to the top of tx_gain table. * Update initvals to fix random failure of noise floor calibration. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4921be8058f1c8854e501305b96196856fe7f830 Author: Sujith Date: Fri Sep 18 15:04:27 2009 +0530 ath9k: Fix RTC reset for AR5416 For AR5416 chipsets, clearing RTC_RESET_EN when setting the chip to SLEEP mode results in high power consumption. This patch fixes this issue by not clearing it for AR5416. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 193cd4585e6c5650875e98ccfef2fa93616fef30 Author: Sujith Date: Fri Sep 18 15:04:07 2009 +0530 ath9k: Update INI release for AR9287 If the current channel is between 2412 and 2472 MHz and if the channel is changing to 2484 MHz, then the registers 0xa1f4, 0xa1f8 and 0xa1fc need to be programmed to the "japan_2484" values. Conversely, if the current channel is 2484 MHz and if the channel is changing to one between 2412 and 2472 MHz, then the three registers need to be programmed to the "normal" values. This is needed for compliance with Japanese regulatory requirements. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0b98eaaa02965fb06dee4ad8c605bb3c93df2c98 Author: Vivek Natarajan Date: Fri Sep 18 15:03:42 2009 +0530 ath9k: Add Calibration checks * Prevent divide-by-zero errors in IQ Calibration. * Do not run temperature compensation if initPDADC or currPDADC is zero. * Also, introduce a separate function for handling OLC for AR9287. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 181af387033e20065e94363d07ecbace7738278c Author: Joerg Albert Date: Tue Sep 15 23:27:53 2009 +0200 ar9170: handle overflow in tsf_low register during get_tsf ar9170_op_get_tsf: handle a carry from TSF_L into TSF_H by reading TSF_H twice. Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 7c52c07de8bd0433db6b3e0147544e5a2f01b786 Author: Joerg Albert Date: Tue Sep 15 22:23:06 2009 +0200 ar9170: add heavy clip handling add heavy clip handling for 2.4GHz only (similar to the vendor driver). Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 90f2908d3263e5c84c8408ce382a669b528b10e3 Author: Joerg Albert Date: Tue Sep 15 22:20:22 2009 +0200 ar9170: fixed coding style, moved define This patch fixes some coding style issues and moves MAX_RATE_POWER into hw.h Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 9554b34ad5817f424253aab265d0e2a54207f810 Author: Huaxu Wan Date: Fri Sep 25 14:24:28 2009 -0700 iwlwifi: add module firmware info for 1000 series The module firmware information of 1000 series is missing from iwlagn. Signed-off-by: Huaxu Wan Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 78f5fb7fc6c2c668a12fd6892c18baa20e4ffd27 Author: Johannes Berg Date: Fri Sep 25 14:24:27 2009 -0700 iwlwifi: support idle for 6000 series hw Using powersave while idle saves a lot of power, but we've had problems with this on some cards (5150 has been reported to be problematic). However, on the new 6000 series we're seeing no problems, so for now let that hardware benefit from idle mode, we can look at the problems with other hardware one by one and then enable those once we figure out the problems. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d8c07e7a84950b5fdef424c6dabe6bed3a9ffa19 Author: Wey-Yi Guy Date: Fri Sep 25 14:24:26 2009 -0700 iwlwifi: Chain Noise Calibration for 6000 series Adding support of Chain Noise Calibration for 6000 series NICs. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2b396a120922062a0ffd2648be3ed7e72ff83620 Author: Johannes Berg Date: Fri Sep 25 14:24:25 2009 -0700 iwlwifi: default to using all chains When instructing the microcode to use just a single chain when we have power saving enabled, we should also tell the AP that we are doing SM powersave. However, using a single chain doesn't actually have any power saving advantage while idle -- measurements show that the power consumption is no different when using one vs. two or three chains. Therefore, always instruct the microcode to use all chains. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9bddbab36d736c181678e07515aaa63045bdcea7 Author: Johannes Berg Date: Fri Sep 25 14:24:24 2009 -0700 iwlwifi: fix a typo We never have four chains, but let's fix the typo while we noticed it. You count 0, 1, 2, 3, not 0, 1, 2, 4 :) Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02f5dac08364d01a8b2c8e298b529b97f356b3f5 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:54 2009 -0700 iwlwifi: add LED mode to support different LED behavior Today's implementation allow LED to blink based on the traffic condition. We introduce an additional LED mode that reflects the RF state. The supported LED modes after this are: IWL_LED_BLINK (current/default) - blink rate based on current Tx/Rx traffic IWL_LED_RF_STATE (new) - LED OFF: No power/RF disabled, the LED is emitting no light LED ON: Powered/RF enabled, the LED is emitting light in a stable non-flashing state. In order to provide the flexibility to support different LED behavior per user/system preference we add "led_mode" iwlcore module parameter. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5953a62e7df064a5d7ba7e790d590f27c65ddf4c Author: Wey-Yi Guy Date: Thu Sep 17 10:43:53 2009 -0700 iwlwifi: update PCI Subsystem ID for 6000 series Update PCI Subsystem ID for 60x0 series based on HW SKU. Adding new SKU for "ABG" and "BG" only devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4bd0914fa2a09d655c54fb0355aed7f9182b2187 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:52 2009 -0700 iwlwifi: update PCI Subsystem ID for 1000 series Update PCI Subsystem ID for 1000 series based on HW SKU. Adding new SKU for "BG" only devices. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2f748deceee10bac563df0e859830cc628d1a841 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:51 2009 -0700 iwlwifi: send cmd to uCode to configure valid tx antenna In order for uCode to select the valid antennas for transmit, driver need to configure the allowed tx antennas through host command. The TX_ANT_CONFIGURATION_CMD should be used for 5000 series and up Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e3949d62861b3fdef19e80080d670aa1153a23c4 Author: Daniel C Halperin Date: Thu Sep 17 10:43:50 2009 -0700 iwlwifi: add aggregation tables to the rate scaling algorithm Current rate scale algorithm fluctuates between different MIMO modes fairly rapidly, causing widely varying performance. These fluctuations occur because in the rate_scale tables for expected throughput the values are not very different for different modes. However, when aggregation is turned on and MAC overhead is reduced, the expected throughput for different MIMO modes grows and different modes have vastly different performance. Add expected throughput tables for this case. We also need to keep track of aggregation status per-station, so we add the "is_agg" field to struct lq_sta. Also includes cleanup of comments and variable names in/around the affected code. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 91a55ae60168847c3c8ab348f10d517407052b71 Author: Daniel C Halperin Date: Thu Sep 17 10:43:49 2009 -0700 iwlwifi: do not clear TX info flags when receiving BlockAckResponse OR-in AMPDU flags rather than assigning them. This lets the TX status for aggregated packets be processed by rs_tx_status. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 95407aa4d48a8b3a2adf6a110853b544342913bd Author: Daniel C Halperin Date: Thu Sep 17 10:43:48 2009 -0700 iwlwifi: clean up rs_tx_status Cut down on redundant code, reorganize structure, and add/improve comments. Should contain no functional changes. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e30cb691b9ba62642cc1594ef08f7439deb5a02 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:47 2009 -0700 iwlwifi: use S_IRUGO and S_IWUSR in module parameters Instead of hardcode module parameter's permissions, use pre-defined. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f4b9665032c4a1d60efd9ceaad2781cae6c7e92 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:46 2009 -0700 iwlwifi: EEPROM version for 1000 and 6000 series Update EEPROM version requirement for 1000 and 6000 series of NIC for EEPROM version verification. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 01abfbb282482d01e2ac2e6b00e75b248bf517c8 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:45 2009 -0700 iwlwifi: allow user change protection mechanism for HT Allow user to change protection mechanism for HT between RTS/CTS and CTS-to-self through sysfs: Show current protection mechanism for HT cat /sys/class/net/wlan0/device/rts_ht_protection Change protection mechanism for HT (only allowed while not-associated) CTS-to-self: echo 0 > /sys/class/net/wlan0/device/rts_ht_protection RTS/CTS: echo 1 > /sys/class/net/wlan0/device/rts_ht_protection Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 47eef9bd1079edbc3e6606309c733a2316ca5a72 Author: Wey-Yi Guy Date: Thu Sep 17 10:43:44 2009 -0700 iwlwifi: Use RTS/CTS as the preferred protection mechanism for 6000 series When 802.11g was introduced, we had RTS/CTS and CTS-to-Self protection mechanisms. In an HT Beacon, HT stations use the "Operating Mode" field in the HT Information Element to determine whether or not to use protection. The Operating Mode field has 4 possible settings: 0-3: Mode 0: If all stations in the BSS are 20/40 MHz HT capable, or if the BSS is 20/40 MHz capable, or if all stations in the BSS are 20 MHz HT stations in a 20 MHz BSS Mode 1: used if there are non-HT stations or APs using the primary or secondary channels Mode 2: if only HT stations are associated in the BSS and at least one 20 MHz HT station is associated. Mode 3: used if one or more non-HT stations are associated in the BSS. When in operating modes 1 or 3, and the Use_Protection field is 1 in the Beacon's ERP IE, all HT transmissions must be protected using RTS/CTS or CTS-to-Self. By default, CTS-to-self is the preferred protection mechanism for less overhead and higher throughput; but using the full RTS/CTS will better protect the inner exchange from interference, especially in highly-congested environment. For 6000 series WIFI NIC, RTS/CTS protection mechanism is the recommended choice for HT traffic based on the HW design. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02bb1bea85e6570b4e64825026382556970b9296 Author: Johannes Berg Date: Fri Sep 11 10:38:17 2009 -0700 iwlwifi: clarify and clean up chain settings The chain settings we currently use in iwlwifi are rather confusing -- and we also go by the wrong settings entirely under certain circumstances. To clean it up, create a new variable in the current HT config -- single_chain_sufficient -- that tells us whether we need more than one chain. Calculate that based on the AP and operating mode (no IBSS HT implemented -- so no need for multiple chains, for station mode we use the AP's capabilities). Additionally, since APs always send disabled SM PS mode, keeping track of their sm_ps mode isn't very useful -- doubly not so for our _own_ RX config since that should depend on our, not the AP's, SM PS mode. Finally, document that our configuration of the number of RX chains used is currently wrong when in powersave (by adding a comment). All together this removes the two remaining items in struct iwl_ht_config that were done wrong there. For the future, the number of RX chains and some SM PS handshaking needs to be added to mac80211, which then needs to tell us, and the new variable current_ht_config.single_chain_sufficient should also be calculated by mac80211. Signed-off-by: Johannes Berg Acked-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e307ddce394ee7bcec41fb74330ac89eafaea1d9 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:16 2009 -0700 iwlwifi: show NVM version in debugfs Show version number along with dumping NVM data, the version information being removed from sysfs, add it back to debugfs to help debugging. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fad95bf59bf14f72e7d45d3887044e88b8584637 Author: Johannes Berg Date: Fri Sep 11 10:38:15 2009 -0700 iwlwifi: clean up ht config naming Daniel Halperin pointed out that the naming here is rather inconsistent with at least 3 different names being used for one thing in different contexts. Rename the struct to iwl_ht_config (rather than iwl_ht_info) and use ht_conf as a variable for it. Signed-off-by: Johannes Berg Acked-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f2d0d0e2bab7a325071dbaba3bef51c90868e1e6 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:14 2009 -0700 iwlwifi: Adjust blink rate to compensate Clock difference Adjust led blink rate to compensate on a MAC Clock difference on every HW. Led blink rate analysis showed an average deviation of 0% on 3945, 5% on 4965 HW and 20% on 5000 series and up. Need to compensate on the led on/off time per HW according to the deviation to achieve the desired led frequency The calculation is: (100-averageDeviation)/100 * blinkTime For code efficiency the calculation will be: compensation = (100 - averageDeviation) * 64 / 100 NewBlinkTime = (compensation * BlinkTime) / 64 Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c812ee24855e20f43cf211e51e3eb53fe6dc6f1d Author: Johannes Berg Date: Fri Sep 11 10:38:13 2009 -0700 iwlwifi: clean up ht config a little is_ht can be bool instead of u8, and there's no need to use IWL_CHANNEL_WIDTH_* constants in supported_chan_width when that could just be named is_40mhz instead. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f3a2a42470c1c362b9a7b4e933a15a274d4b090e Author: Wey-Yi Guy Date: Fri Sep 11 10:38:11 2009 -0700 iwlwifi: separate set_hw_params function for 6000 series Separate set_hw_params() function for 6000 series from 5000/1000 series because: 1) 6000 series use different set of sensitivity range table 2) 6000 series has different uCode image size Also include the new sensitivity parameters needed by sensitivity algorithm. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9371d4ed79c1c2efefa00226f7f6b95e0e0b8f2b Author: Wey-Yi Guy Date: Fri Sep 11 10:38:10 2009 -0700 iwlwifi: separate nic_config for different NIC Different NIC has different requirements for configuration. Currently all 5000 series hardware and later share the same configuration function even though they do not need the same configurations. Fix this by separating the needed configuration actions for each hardware model. .5000 series: L1-ASPM H/W bug work-around configure radio write CSR_HW_IF_CONFIG_REG for uCode use work-around for NIC get stuck after early PCIe power off .1000 series: write CSR_HW_IF_CONFIG_REG for uCode use setting digital SVR for 1000 card to 1.32V .6000 series: configure radio write CSR_HW_IF_CONFIG_REG for uCode use write CSR_GP_DRIVER_REG to indicate radio sku Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1b07a1307250e55fe00c076b33d0ab5ac088a489 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:09 2009 -0700 iwlwifi: remove un-supported eeprom parameters Remove few of the parameters not used and no longer valid in EEPROM. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 85fecff155ed2ba0cccd618ab92d5b4e7d69cd5d Author: Wey-Yi Guy Date: Fri Sep 11 10:38:07 2009 -0700 iwlwifi: modify LED blink index table Modify LED blink index table to include 1Mbps. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2ddb5c8b8739ec054d22ef8efd9bf04cac12a36c Author: Luis R. Rodriguez Date: Mon Sep 14 02:09:38 2009 -0700 ath9k: make ath9k_common_ops const As noted by Jiri. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5bb127913299b37fceecf66ce86ee8ede70e7d13 Author: Luis R. Rodriguez Date: Mon Sep 14 00:55:09 2009 -0700 atheros: move bus ops to ath_common This is the last part to make ath9k hw code core driver agnostic. I believe ath9k_htc can now use use the hw code unmodified. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 990b70ab24cbce585a3436c8c88cb48b888d48b4 Author: Luis R. Rodriguez Date: Sun Sep 13 23:55:05 2009 -0700 ath9k: move ATH9K_RSSI_BAD to hw.h mac.c is now core driver independent. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cfe8cba982cda73d4970dab712411bebdcc3b9cd Author: Luis R. Rodriguez Date: Sun Sep 13 23:39:31 2009 -0700 ath9k: clarify what hw code is and remove ath9k.h from a few files hw code will be shared between ath9k and ath9k_htc. Just a few more files are left to clean up, mark them as well. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9680e8a391078a2bfa099b2c59542a6916a023ed Author: Luis R. Rodriguez Date: Sun Sep 13 23:28:00 2009 -0700 ath9k: remove driver ASSERT, just use BUG_ON() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e3d01bfc3ea4f17c9e91bb930f10062efb0c86eb Author: Luis R. Rodriguez Date: Sun Sep 13 23:11:13 2009 -0700 ath9k: move ATH_AMPDU_LIMIT_MAX to hw.h This is used by hw code. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 25c56eec92b15fdec5be96fa1303dac3443200ae Author: Luis R. Rodriguez Date: Sun Sep 13 23:04:44 2009 -0700 ath9k: remove ath9k_ht_macmode This is used just to determine how to program the MAC, either for 20 MHz operation of 40 MHz so just use conf_is_ht40() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6420014ca4a6b0e853c9a19a8649d93682a5bdac Author: Luis R. Rodriguez Date: Sun Sep 13 22:05:04 2009 -0700 ath9k: remove ath9k 25 MHz HT40 spacing stuff This was for supporting 25 MHz spacing for HT40, this is not used as we use 20 MHz spacing instead for HT40 as per 802.11n. The hardware is capable of it though so we leave the phymode definition and EEPROM parsing for it. If some experimenter wants to work on this stuff stuff you can add an extension enabling bool on ath_common and perhaps some debugfs knob to enable it. Keep in mind you'll also need to update the phymode with the AR_PHY_FC_DYN2040_EXT_CH which has been left on the driver. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 43c2761364b77cd7fd20eb1f14cfee4cd1462abd Author: Luis R. Rodriguez Date: Sun Sep 13 21:07:07 2009 -0700 atheros: move tx/rx chainmask to ath_common Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c46917bb53a546f60c7d3103407fe953c418dd5b Author: Luis R. Rodriguez Date: Sun Sep 13 02:42:02 2009 -0700 atheros: add common debug printing ath9k uses this for now, ath9k_htc is expected to re-use this as well. We lave ath5k as is, but it certainly can also be converted later. The ath9k module parameter and debugfs entry is kept. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cd9bf689600e62d84449d65b3d25fb6d2757589e Author: Luis R. Rodriguez Date: Sun Sep 13 02:08:34 2009 -0700 ath9k: separate core driver and hw timer code Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b002a4a950e41326310795cf4a0c74d0e90fa70a Author: Luis R. Rodriguez Date: Sun Sep 13 00:03:27 2009 -0700 atheros: add ieee80211_hw to ath_common Make use of it on hw code in ath9k to avoid using the ath9k ath_softc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 13b81559200b8e54473e5b140323cbb5f2bb21c0 Author: Luis R. Rodriguez Date: Thu Sep 10 17:52:45 2009 -0700 atheros: define shared bssidmask setting Also make ath5k and ath9k use it, and share register definitions. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e5aa847489e543e33a7c72898e72183871ce2916 Author: Luis R. Rodriguez Date: Thu Sep 10 16:55:11 2009 -0700 ath5k: define ath_common ops Only common ath read/write ops go through the common ops. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9adca126dbf4bf099bc7051deb6b566725a046dc Author: Luis R. Rodriguez Date: Thu Sep 10 18:04:47 2009 -0700 ath5k: allocate ath5k_hw prior to initializing hw We can propagate better errors upon failed hw initialization, and set up the ath_common structure for attach purposes. This will become important once we start using the ath_common for read/write ops. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9e4bffd233f27fe83fc48efb01935aee7d0685bf Author: Luis R. Rodriguez Date: Thu Sep 10 16:11:21 2009 -0700 atheros/ath9k: add common read/write ops and port ath9k to use it In an effort to make hw code driver core agnostic read and write operations are defined on the ath_common structure. This patch adds that and makes ath9k use it. This allows drivers like ath9k_htc to define its own read/write ops and still rely on the same hw code. This also paves the way for sharing code between ath9k/ath5k/ath9k_htc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 867633f026456ff71d4c4890f502c7a61b2adac0 Author: Luis R. Rodriguez Date: Thu Sep 10 12:12:23 2009 -0700 ath9k: Define bus agnostic bluetooth coex prep helper We disable ASPM when enabling bluetooth coexistance. Disabling ASPM is a bus specific operation. In the future other buses may support bluetooth coexistance, an example is USB. To this end move the current routine which disables ASPM into pci.c, and declare it the PCI bt_coex_prep() helper. Additionally, since ASPM is a PCI-Express primitive ensure we don't ever try to muck with ASPM registers on non PCI-express devices. This also cleans up hw.c to not include bus specific headers or utilities. Cc: Vasanthakumar Thiagarajan Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db7197184802578314d974e4b2bc961bdcec8f8c Author: Luis R. Rodriguez Date: Thu Sep 10 11:20:57 2009 -0700 ath5k: move ath_common to ath5k_hw Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 27c51f1a349f3e4eb9c1d6d3a548eafe1828cc7a Author: Luis R. Rodriguez Date: Thu Sep 10 11:08:14 2009 -0700 ath9k: move ath_common to ath_hw This ensures that we can access common on hw related code independent of the driver core. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 394317fc793eb25dbbda4432d29d97cd80f3b561 Author: Luis R. Rodriguez Date: Thu Sep 10 10:57:00 2009 -0700 ath5k: initialize eeprom struct early on attach This fixes this sparse warning: CHECK drivers/net/wireless/ath/ath5k/attach.c drivers/net/wireless/ath/ath5k/attach.c:288:42: warning: symbol 'ee' shadows an earlier one drivers/net/wireless/ath/ath5k/attach.c:109:34: originally declared here Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 954fecea5d1df4d1dc7bf9a822a2fad308e8588e Author: Luis R. Rodriguez Date: Thu Sep 10 10:51:33 2009 -0700 ath5k: use common curbssid, bssidmask and macaddr The ah_sta_id was really being used as the macaddr. ath5k still does not use the association ID now passed up by mac80211, that can be fixed later. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c727e70860dab0cf34a68591cd3f2043a9b9757 Author: Luis R. Rodriguez Date: Thu Sep 10 10:10:54 2009 -0700 ar9170: make use of common macaddr and curbssid These are provided by ath_common. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1510718d0fd6e20803aac95fe1d8a44846098a34 Author: Luis R. Rodriguez Date: Thu Sep 10 09:22:37 2009 -0700 atheros/ath9k: move macaddr, curaid, curbssid and bssidmask to common These are common amongst ath9k and ath5k, so put them into the common structure and make ath9k to use it. ar9170 can use macaddr, and curbssid. We'll change ath5k and ar9170 separately. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3453ad8839ca91e1c11211d4d87dc3657c5a2b44 Author: Luis R. Rodriguez Date: Thu Sep 10 08:57:00 2009 -0700 ath9k: use ath9k_hw_write_associd() on reset Use the already provided helper instead of rewriting the code required in place. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7664072b7937d0bd5563800359e04ff4418572e0 Author: Luis R. Rodriguez Date: Thu Sep 10 08:54:56 2009 -0700 ath9k: Use ath9k_hw_setbssidmask() on reset The same code was being implemented on reset for setting the bssidmask, instead just use the already provided helper. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f2b2143e60651228945f361c09de7ee752360cd1 Author: Luis R. Rodriguez Date: Thu Sep 10 08:50:20 2009 -0700 ath9k: make ath9k_hw_setbssidmask() and ath9k_hw_write_associd() use ath_hw Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bcd8f54a84ce99ade91c250a9bc850a9fd3389c1 Author: Luis R. Rodriguez Date: Wed Sep 9 22:43:17 2009 -0700 atheros: use get_unaligned_le*() for bssid mask setting Historically some macro helpers have been users for this, AR5K_LOW_ID() and AR5K_HIGH_ID(), use upstream unaligned helpers instead. This applid to ath5k and ar9170. ath9k already uses this. Worth noting is ath5k uses an ah_sta_id but that is already the MAC address combined with the associaiton ID, ah_sta_id is really ETH_ALEN in size. Cc: Bob Copeland Cc: Nick Kossifidis Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 17753748e15eaf29c8db15c5c05b8dde5db6e64d Author: Luis R. Rodriguez Date: Wed Sep 9 22:19:26 2009 -0700 ath: move ath_bcast_mac to common header This is used by both ath5k and ath9k to set the first bssid mask. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9ecdef4be864fede4e5964abc82c8d7451288539 Author: Luis R. Rodriguez Date: Wed Sep 9 21:10:09 2009 -0700 ath9k: rename driver core and hw power save helpers ath9k_hw_setpower_nolock --> ath9k_hw_setpower() ath9k_hw_setpower() --> ath9k_setpower() Also change the param for ath9k_setpower() to pass the ath_softc. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c77a5694cd31eb2291948dd1bfe700a199be8e7 Author: Luis R. Rodriguez Date: Wed Sep 9 21:02:34 2009 -0700 ath9k: move ath9k_hw_setpower() to main.c And we make it static. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1adc93c832726c9de4a43445c008a7f17549390b Author: Luis R. Rodriguez Date: Wed Sep 9 20:54:36 2009 -0700 ath9k: avoid usage of ath9k_hw_setpower() on hw.c ath9k_hw_setpower() is a core driver helper with locking protection. Locking protection should be left to the driver core, not the hw code. Hardware code no longer contends for locking when it needs to wake up the chip or put it to sleep. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a91d75aec19d8d23c7c543dd4bc0e394e1d46867 Author: Luis R. Rodriguez Date: Wed Sep 9 20:29:18 2009 -0700 ath9k: move ath9k_ps_wakeup() and ath9k_ps_restore() to main.c These are driver core helpers. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 21526d57ad98635fe12dc8efe46a3d992439a443 Author: Luis R. Rodriguez Date: Wed Sep 9 20:05:39 2009 -0700 ath9k: move ps helpers onto core driver when reseting tsf When the TSF is reset power save state is disabled and then restored. The helpers to disable power save and restore it use a lock provided by the driver core. Move the callers of the helpers outside of the hw code. We reset the TSF when mac80211 tells us and on the beacon.c helper ath9k_hw_beaconinit() when it is made explicitly required. Add a helper on beacon.c which will deal with ps awake/restore if we need to reset the TSF upon ath9k_hw_beaconinit(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a36cfbca21d0acbab0840337f0b59ea58f415e50 Author: Luis R. Rodriguez Date: Wed Sep 9 16:05:32 2009 -0700 ath9k: rename ath_btcoex_supported() to ath9k_hw_btcoex_supported() Also just pass the ath_hw as the parameter. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8b4fc5ba896cd1b73c598d07fc51224abbfe8cdb Author: Luis R. Rodriguez Date: Wed Sep 9 15:24:02 2009 -0700 ath9k: move ath_btcoex_config and ath_bt_mode to btcoex.c These are only used by btcoex.c on one routine, so stuff them into that file. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5e1972929532bfc3a26b1782c8551d3c56306ffd Author: Luis R. Rodriguez Date: Wed Sep 9 15:15:55 2009 -0700 ath9k: now move ath9k_hw_btcoex_set_weight() to btcoex.c After some necessary cleanups we now move ath9k_hw_btcoex_set_weight() to where it belongs. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 269ad8120b2e1f01a7bcea4bdb175142a0e62171 Author: Luis R. Rodriguez Date: Wed Sep 9 15:05:00 2009 -0700 ath9k: simplify ath_btcoex_bt_stomp() The second argument is always the hardware bt coex struct, so remove it, and rename the function on the path with a ath9k_ prefix. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 766ec4a9a813ae262b61842020f150f865c1b10a Author: Luis R. Rodriguez Date: Wed Sep 9 14:52:02 2009 -0700 ath9k: rename ath_btcoex_info to ath_btcoex_hw Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 46289e1e5f2155ba1502b079e786e91755919823 Author: Luis R. Rodriguez Date: Wed Sep 9 14:34:22 2009 -0700 ath9k: rename btcoex_scheme to just scheme btcoex_scheme is already part of a btcoex struct, its implied this is btcoex related. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 05a0b3c9200f4677097937efe634204044c4b4dc Author: Luis R. Rodriguez Date: Wed Sep 9 14:31:24 2009 -0700 ath9k: remove unused bt_duty_cycle Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e08a6ace7db089dc111c6d0abe9278226c39b7b0 Author: Luis R. Rodriguez Date: Wed Sep 9 14:26:15 2009 -0700 ath9k: move bt_stomp_type to driver core The bt_stomp_type defines the bt coex weight, it has a one-to-one mapping. In the future we may want to just use the weight directly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c1b39547e2562f9aa0cc00b1a7d4cc325a46a4c Author: Luis R. Rodriguez Date: Wed Sep 9 13:44:23 2009 -0700 ath9k: replaces SC_OP_BTCOEX_ENABLED with a bool Whether or not bluetooth coex has been enabled is a hardware state and only the hardware helpers will be able to set this. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bc74bf8fc382b30df24c4e280fb84f3b1303958f Author: Luis R. Rodriguez Date: Wed Sep 9 04:17:45 2009 -0700 ath9k: split ath9k_hw_btcoex_enable() into two helpers One for 2-wire and another for 3-wire. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 75d7839f4c4ca472bcf0b71f6f682957e19f777a Author: Luis R. Rodriguez Date: Wed Sep 9 04:00:10 2009 -0700 ath9k: move driver core helpers to main.c Keep on btcoex.c only hardware access helpers, move the driver core specific code to main.c. To accomplish this we had to split ath_init_btcoex_info() into two parts, the driver core part -- ath_init_btcoex_timer() and the hw specific part -- ath9k_hw_init_btcoex_hw_info(). This highlights how ath_gen_timer is part of the driver core, not hw related, so stuff that into ath_btcoex struct. The ath9k_hw_btcoex_init() code is now put inline on ath_init_softc() through a switch to it easier to follow, since we did that we can now call ath_tx_get_qnum() from the main.c instead of btcoex.c Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7a2f0f58c865be9217356528ab6cf73feb35cb07 Author: Luis R. Rodriguez Date: Wed Sep 9 02:54:40 2009 -0700 ath9k: split bluetooth hardware coex init into two helpers Use a helper for 2-wire and another for 3-wire. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit af03abecd8e3646736904431f3335dad5e28cb8d Author: Luis R. Rodriguez Date: Wed Sep 9 02:33:11 2009 -0700 ath9k: move hw specific btcoex info to ath_hw Since we now access it via the ath_hw declare the ath_hw pointer at the header of some routines and se it. ath9k.h no longer needs to access btcoex.h and to adjust for this move ath_btcoex_set_weight() into btcoex.h and instead give main.c a helper for setting initial values upon drv_start() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2e20250a2ce1f4a7ba7c83ccb62d9b7b9b96c736 Author: Luis R. Rodriguez Date: Wed Sep 9 01:18:09 2009 -0700 ath9k: move btcoex core driver info to its own struct There is some bluetooth coexistance data which is driver specific, stuff that into its own structure. Cc: Vasanthakumar Thiagarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4d6b228d84ba992ee13c90312c1ed539191c94b1 Author: Luis R. Rodriguez Date: Mon Sep 7 04:52:26 2009 -0700 ath9k: use ath_hw for DPRINTF() and debug init/exit DPRINTF() is used in hw specific related code, as such ensure we don't rely on the private driver core ath_softc struct when calling it. Drivers can then implement their own DPRINTF() as they see fit. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 132cc538cd90f60a0b5df6a512dfd4bc5fe2039a Author: Randy Dunlap Date: Wed Oct 7 19:26:00 2009 +0200 drbd: needs __ratelimit() drbd_int.h uses __ratelimit(), so it needs to #include ratelimit.h: drivers/block/drbd/drbd_int.h:1765: error: implicit declaration of function '__ratelimit' Signed-off-by: Randy Dunlap Cc: drbd-dev@lists.linbit.com Signed-off-by: Jens Axboe commit 941fc5b2bf8f7dd1d0a9c502e152fa719ff6578e Author: Stephen Smalley Date: Thu Oct 1 14:48:23 2009 -0400 selinux: drop remapping of netlink classes Drop remapping of netlink classes and bypass of permission checking based on netlink message type for policy version < 18. This removes compatibility code introduced when the original single netlink security class used for all netlink sockets was split into finer-grained netlink classes based on netlink protocol and when permission checking was added based on netlink message type in Linux 2.6.8. The only known distribution that shipped with SELinux and policy < 18 was Fedora Core 2, which was EOL'd on 2005-04-11. Given that the remapping code was never updated to address the addition of newer netlink classes, that the corresponding userland support was dropped in 2005, and that the assumptions made by the remapping code about the fixed ordering among netlink classes in the policy may be violated in the future due to the dynamic class/perm discovery support, we should drop this compatibility code now. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 8753f6bec352392b52ed9b5e290afb34379f4612 Author: Stephen Smalley Date: Wed Sep 30 13:41:02 2009 -0400 selinux: generate flask headers during kernel build Add a simple utility (scripts/selinux/genheaders) and invoke it to generate the kernel-private class and permission indices in flask.h and av_permissions.h automatically during the kernel build from the security class mapping definitions in classmap.h. Adding new kernel classes and permissions can then be done just by adding them to classmap.h. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit c6d3aaa4e35c71a32a86ececacd4eea7ecfc316c Author: Stephen Smalley Date: Wed Sep 30 13:37:50 2009 -0400 selinux: dynamic class/perm discovery Modify SELinux to dynamically discover class and permission values upon policy load, based on the dynamic object class/perm discovery logic from libselinux. A mapping is created between kernel-private class and permission indices used outside the security server and the policy values used within the security server. The mappings are only applied upon kernel-internal computations; similar mappings for the private indices of userspace object managers is handled on a per-object manager basis by the userspace AVC. The interfaces for compute_av and transition_sid are split for kernel vs. userspace; the userspace functions are distinguished by a _user suffix. The kernel-private class indices are no longer tied to the policy values and thus do not need to skip indices for userspace classes; thus the kernel class index values are compressed. The flask.h definitions were regenerated by deleting the userspace classes from refpolicy's definitions and then regenerating the headers. Going forward, we can just maintain the flask.h, av_permissions.h, and classmap.h definitions separately from policy as they are no longer tied to the policy values. The next patch introduces a utility to automate generation of flask.h and av_permissions.h from the classmap.h definitions. The older kernel class and permission string tables are removed and replaced by a single security class mapping table that is walked at policy load to generate the mapping. The old kernel class validation logic is completely replaced by the mapping logic. The handle unknown logic is reworked. reject_unknown=1 is handled when the mappings are computed at policy load time, similar to the old handling by the class validation logic. allow_unknown=1 is handled when computing and mapping decisions - if the permission was not able to be mapped (i.e. undefined, mapped to zero), then it is automatically added to the allowed vector. If the class was not able to be mapped (i.e. undefined, mapped to zero), then all permissions are allowed for it if allow_unknown=1. avc_audit leverages the new security class mapping table to lookup the class and permission names from the kernel-private indices. The mdp program is updated to use the new table when generating the class definitions and allow rules for a minimal boot policy for the kernel. It should be noted that this policy will not include any userspace classes, nor will its policy index values for the kernel classes correspond with the ones in refpolicy (they will instead match the kernel-private indices). Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 78122a52b39c9527fa3a32afbb6572964c17c651 Author: Ajit Khaparde Date: Wed Oct 7 03:11:20 2009 -0700 be2net: Get rid of net_device_stats from adapter. adapter doesnot need to maintain a copy of net_device_stats. Use the one already available in net_device. This patch takes care of the same. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 32953543221cfe2bf0a24205fab225e5b8ed81a0 Author: Stephen Hemminger Date: Mon Oct 5 06:01:03 2009 +0000 dcb: data center bridging ops should be r/o The data center bridging ops structure can be const Signed-off-by: Stephen Hemminger Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f Author: Stephen Hemminger Date: Mon Oct 5 05:58:39 2009 +0000 net: mark net_proto_ops as const All usages of structure net_proto_ops should be declared const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50 Author: Octavian Purdila Date: Fri Oct 2 11:39:15 2009 +0000 make TLLAO option for NA packets configurable On Friday 02 October 2009 20:53:51 you wrote: > This is good although I would have shortened the name. Ah, I knew I forgot something :) Here is v4. tavi >From 24d96d825b9fa832b22878cc6c990d5711968734 Mon Sep 17 00:00:00 2001 From: Octavian Purdila Date: Fri, 2 Oct 2009 00:51:15 +0300 Subject: [PATCH] ipv6: new sysctl for sending TLLAO with unicast NAs Neighbor advertisements responding to unicast neighbor solicitations did not include the target link-layer address option. This patch adds a new sysctl option (disabled by default) which controls whether this option should be sent even with unicast NAs. The need for this arose because certain routers expect the TLLAO in some situations even as a response to unicast NS packets. Moreover, RFC 2461 recommends sending this to avoid a race condition (section 4.4, Target link-layer address) Signed-off-by: Cosmin Ratiu Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 51953d5bc43e468f24cc573a45cde1d32af129b8 Author: Brian Haley Date: Mon Oct 5 08:24:16 2009 +0000 Use sk_mark for IPv6 routing lookups Atis Elsts wrote: > Not sure if there is need to fill the mark from skb in tunnel xmit functions. In any case, it's not done for GRE or IPIP tunnels at the moment. Ok, I'll just drop that part, I'm not sure what should be done in this case. > Also, in this patch you are doing that for SIT (v6-in-v4) tunnels only, and not doing it for v4-in-v6 or v6-in-v6 tunnels. Any reason for that? I just sent that patch out too quickly, here's a better one with the updates. Add support for IPv6 route lookups using sk_mark. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit d73d3a8cb4723e161589864741d8528d70b350eb Author: Ben Hutchings Date: Mon Oct 5 10:59:58 2009 +0000 ethtool: Add reset operation After updating firmware stored in flash, users may wish to reset the relevant hardware and start the new firmware immediately. This should not be completely automatic as it may be disruptive. A selective reset may also be useful for debugging or diagnostics. This adds a separate reset operation which takes flags indicating the components to be reset. Drivers are allowed to reset only a subset of those requested, and must indicate the actual subset. This allows the use of generic component masks and some future expansion. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d250a5f90e53f5e150618186230795352d154c88 Author: Eric Dumazet Date: Fri Oct 2 10:32:18 2009 +0000 pkt_sched: gen_estimator: Dont report fake rate estimators Jarek Poplawski a écrit : > > > Hmm... So you made me to do some "real" work here, and guess what?: > there is one serious checkpatch warning! ;-) Plus, this new parameter > should be added to the function description. Otherwise: > Signed-off-by: Jarek Poplawski > > Thanks, > Jarek P. > > PS: I guess full "Don't" would show we really mean it... Okay :) Here is the last round, before the night ! Thanks again [RFC] pkt_sched: gen_estimator: Don't report fake rate estimators We currently send TCA_STATS_RATE_EST elements to netlink users, even if no estimator is running. # tc -s -d qdisc qdisc pfifo_fast 0: dev eth0 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 112833764978 bytes 1495081739 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 User has no way to tell if the "rate 0bit 0pps" is a real estimation, or a fake one (because no estimator is active) After this patch, tc command output is : $ tc -s -d qdisc qdisc pfifo_fast 0: dev eth0 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 561075 bytes 1196 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 We add a parameter to gnet_stats_copy_rate_est() function so that it can use gen_estimator_active(bstats, r), as suggested by Jarek. This parameter can be NULL if check is not necessary, (htb for example has a mandatory rate estimator) Signed-off-by: Eric Dumazet Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 92d326f61b553250780786e9dd8609d4b32f8de7 Author: Tilman Schmidt Date: Thu Oct 1 04:28:44 2009 +0000 net/ppp: fix comments - ppp_{sync,asynctty}_receive() may sleep The receive_buf methods of the N_PPP and N_SYNC_PPP line disciplines, ppp_asynctty_receive() and ppp_sync_receive(), call tty_unthrottle() which may sleep. Fix the comments claiming otherwise. Impact: documentation Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit a549952ad323d68daf5b50bf716db895479af84c Author: Jiri Pirko Date: Fri Sep 25 03:28:09 2009 +0000 bonding: introduce primary_reselect option In some cases there is not desirable to switch back to primary interface when it's link recovers and rather stay with currently active one. We need to avoid packetloss as much as we can in some cases. This is solved by introducing primary_reselect option. Note that enslaved primary slave is set as current active no matter what. Patch modified by Jay Vosburgh as follows: fixed bug in action after change of option setting via sysfs, revised the documentation update, and bumped the bonding version number. Signed-off-by: Jiri Pirko Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 2d37a186cedc51502dbee71c16ae0fbd9114d62c Author: Eric Dumazet Date: Thu Oct 1 19:14:46 2009 +0000 Use sk_mark for routing lookup in more places Here is a followup on this area, thanks. [RFC] af_packet: fill skb->mark at xmit skb->mark may be used by classifiers, so fill it in case user set a SO_MARK option on socket. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fa857afcf77da669eb6b7031ec07ad14b912c307 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Sep 22 23:43:14 2009 +0000 ipv6 sit: 6rd (IPv6 Rapid Deployment) Support. IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly deploy IPv6 unicast service to IPv4 sites to which it provides customer premise equipment. Like 6to4, it utilizes stateless IPv6 in IPv4 encapsulation in order to transit IPv4-only network infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6 prefix of its own in place of the fixed 6to4 prefix. With this option enabled, the SIT driver offers 6rd functionality by providing additional ioctl API to configure the IPv6 Prefix for in stead of static 2002::/16 for 6to4. Original patch was done by Alexandre Cassen based on old Internet-Draft. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit ee5e81f00051b5c373c8de16e3604fd6d3be699e Author: Ilia K Date: Wed Sep 16 05:53:07 2009 +0000 add vif using local interface index instead of IP When routing daemon wants to enable forwarding of multicast traffic it performs something like: struct vifctl vc = { .vifc_vifi = 1, .vifc_flags = 0, .vifc_threshold = 1, .vifc_rate_limit = 0, .vifc_lcl_addr = ip, /* <--- ip address of physical interface, e.g. eth0 */ .vifc_rmt_addr.s_addr = htonl(INADDR_ANY), }; setsockopt(fd, IPPROTO_IP, MRT_ADD_VIF, &vc, sizeof(vc)); This leads (in the kernel) to calling vif_add() function call which search the (physical) device using assigned IP address: dev = ip_dev_find(net, vifc->vifc_lcl_addr.s_addr); The current API (struct vifctl) does not allow to specify an interface other way than using it's IP, and if there are more than a single interface with specified IP only the first one will be found. The attached patch (against 2.6.30.4) allows to specify an interface by its index, instead of IP address: struct vifctl vc = { .vifc_vifi = 1, .vifc_flags = VIFF_USE_IFINDEX, /* NEW */ .vifc_threshold = 1, .vifc_rate_limit = 0, .vifc_lcl_ifindex = if_nametoindex("eth0"), /* NEW */ .vifc_rmt_addr.s_addr = htonl(INADDR_ANY), }; setsockopt(fd, IPPROTO_IP, MRT_ADD_VIF, &vc, sizeof(vc)); Signed-off-by: Ilia K. === modified file 'include/linux/mroute.h' Signed-off-by: David S. Miller commit 03456a158d9067d2f657bec170506009db81756d Author: Frederic Weisbecker Date: Tue Oct 6 23:36:47 2009 +0200 perf tools: Merge trace.info content into perf.data This drops the trace.info file and move its contents into the common perf.data file. This is done by creating a new trace_info section into this file. A user of perf headers needs to call perf_header__set_trace_info() to save the trace meta informations into the perf.data file. A file created by perf after his patch is unsupported by previous version because the size of the headers have increased. That said, it's two new fields that have been added in the end of the headers, and those could be ignored by previous versions if they just handled the dynamic header size and then ignore the unknow part. The offsets guarantee the compatibility. We'll do a -stable fix for that. But current previous versions handle the header size using its static size, not dynamic, then it's not backward compatible with trace records. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <20091006213643.GA5343@nowhere> Signed-off-by: Ingo Molnar commit b209aa1f83964d49a332a7b6b818ebede5cdc6ef Author: Frederic Weisbecker Date: Tue Oct 6 21:21:26 2009 +0200 perf tools: Start the perf.data mapping at data offset in perf trace Currently, we are mapping perf.data in the beginning of the file and use the data offset as a buffer offset. This may exceed the mapping area if the data offset is upper than page_size * mmap_window and result in a page fault (thing that happen if we merge trace.info in perf.data). Instead, let's start the mapping in the page that matches our data offset. v2: Drop a junk from another patch (trace_report() removal) Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras Cc: Tom Zanussi LKML-Reference: <1254856886-10348-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 7bb5fdc2fb021e32703ed1ff0269876bde1fa962 Author: Tilman Schmidt Date: Tue Oct 6 12:19:17 2009 +0000 gigaset: add Kernel CAPI interface (v3) Add a Kernel CAPI interface to the Gigaset driver. Impact: optional new functionality Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit aaba2b3f8213e1d66e71c351fa7a2b1cbd974d3c Author: Tilman Schmidt Date: Tue Oct 6 12:19:12 2009 +0000 gigaset: allow building without I4L Add a dummy LL interface to the Gigaset driver so that it can be built and, in a limited way, used without the ISDN4Linux subsystem. Impact: new configuration alternative Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 088ec0cc96e2befd5f3c035123f95c17bdf26e64 Author: Tilman Schmidt Date: Tue Oct 6 12:19:07 2009 +0000 gigaset: prepare for CAPI implementation Reorganize the code of the Gigaset driver, moving all isdn4linux dependencies to the source file i4l.c so that it can be replaced by a file capi.c interfacing to Kernel CAPI instead. Impact: refactoring, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7ecc59c1b7fd5749667fc31f8683099cbef38977 Merge: bcdce71 1cec972 Author: David S. Miller Date: Tue Oct 6 22:43:16 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit bcdce7195e0eab55b37dbd53be53057f38006380 Author: Eric Dumazet Date: Tue Oct 6 17:28:29 2009 -0700 net: speedup sk_wake_async() An incoming datagram must bring into cpu cache *lot* of cache lines, in particular : (other parts omitted (hash chains, ip route cache...)) On 32bit arches : offsetof(struct sock, sk_rcvbuf) =0x30 (read) offsetof(struct sock, sk_lock) =0x34 (rw) offsetof(struct sock, sk_sleep) =0x50 (read) offsetof(struct sock, sk_rmem_alloc) =0x64 (rw) offsetof(struct sock, sk_receive_queue)=0x74 (rw) offsetof(struct sock, sk_forward_alloc)=0x98 (rw) offsetof(struct sock, sk_callback_lock)=0xcc (rw) offsetof(struct sock, sk_drops) =0xd8 (read if we add dropcount support, rw if frame dropped) offsetof(struct sock, sk_filter) =0xf8 (read) offsetof(struct sock, sk_socket) =0x138 (read) offsetof(struct sock, sk_data_ready) =0x15c (read) We can avoid sk->sk_socket and socket->fasync_list referencing on sockets with no fasync() structures. (socket->fasync_list ptr is probably already in cache because it shares a cache line with socket->wait, ie location pointed by sk->sk_sleep) This avoids one cache line load per incoming packet for common cases (no fasync()) We can leave (or even move in a future patch) sk->sk_socket in a cold location Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bd32cafc4707ccc1e66fafdb47fac42217569070 Author: Sreenivasa Honnur Date: Mon Oct 5 01:59:41 2009 +0000 vxge: Version update. - Version Update. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit eb5f10c21badd967aa466fd4f7eddfc724c8cb64 Author: Sreenivasa Honnur Date: Mon Oct 5 01:57:29 2009 +0000 vxge: Allow multiple functions with INTA. - Allow multiple functions with INTA. - Removed the condition to allow only one vpath with INTA - Ensure that the alarm bit in titan_mask_all_int register is cleared when driver exits. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit fa41fd10038ab575f043a62dace374e07e9193de Author: Sreenivasa Honnur Date: Mon Oct 5 01:56:35 2009 +0000 vxge: Check if FCS stripping is disabled by the firmware. - Added a function to check if FCS stripping is disabled by the firmware, if it is not disabled fail driver load. - By default FCS stripping is disabled by the firmware. With this assumption driver decrements the indicated packet length by 4 bytes(FCS length). - This patch ensures that FCS stripping is disabled during driver load time. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit f0dfebafcc14a7456eb6ae974b68f600fdd8b42d Author: Sreenivasa Honnur Date: Mon Oct 5 01:55:47 2009 +0000 vxge: Removed unused functions. - Removed the wrr_rebalance function - This feature is not supported by the ASIC, hence removing the related code. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a4a987d82258f55c4bc4ab0156fb20a2b3fa4f41 Author: Sreenivasa Honnur Date: Mon Oct 5 01:54:42 2009 +0000 vxge: Fixed crash in PAE system due to wrong typecasting. - Fix a crash in PAE system due to wrong typecasting. - On PAE system size_t is unsigned int which is 32bit. Avoid casting 64 bit address to 32 bit Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 0f8f7d58eb4840ee8790e914a88b8a773aca9143 Author: Sreenivasa Honnur Date: Mon Oct 5 01:53:38 2009 +0000 vxge: Removed accessing non-supported registers. - Removed accessing GENDMA_INT register - This allowed the firmware to perform a generic DMA write to host memory. This feature is not supported by the ASIC, this patch removes access to GENDMA_INT register. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 657205bdd7b276d95b3a5bac7e856e22c4001136 Author: Sreenivasa Honnur Date: Mon Oct 5 01:52:54 2009 +0000 vxge: Update driver_config->vpath_per_dev for each function in probe. - Update driver_config->vpath_per_dev for each function in probe. - vpath_per_device specifies number of vpaths supported for each function/device. The current code was updating vpath_per_device only for physical device, however this has to be updated for each function also in case of a MF(Multi function) device. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 92cdd7c377c893c72d6968537076a18a510ae5cc Author: Sreenivasa Honnur Date: Mon Oct 5 01:51:38 2009 +0000 vxge: Modify __vxge_hw_device_is_privilaged() to not assume function-0 as the privileged function: Resubmit#1 - vxge driver was assuming function-0 is always the privilaged function. Now that restriction has been removed any function can act as a privilaged function. - This patch modifies the __vxge_hw_device_is_privilaged routine to not assume function-0 as the privileged function. - Recreated the patch by incorporating review comments from Dave Miller to remove double slash in path names. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6deac6f2b46f84b8822683cce92eab4edf2ade5e Author: Alexander Duyck Date: Mon Oct 5 06:36:01 2009 +0000 igb: add flushes between RAR writes when setting mac address There are some switches that will do write combining when they see two sequential regions written. In order to avoid any possible write combining issues it is necessary to add a flush after writing each piece of a rar register. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2553bb2681645bf932db2845121b8f33954f6f39 Author: Alexander Duyck Date: Mon Oct 5 06:35:42 2009 +0000 igb: add additional error handling to the phy code This update adds additional exception handling to the phy code to handle situations where it may be called incorrectly. In addition it adds some bounds checking to the cable length checks to prevent an array overrun in the event that the hardware returned a different value than expected. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ab576389b733b458495529f81839f499b3fece78 Author: Alexander Duyck Date: Mon Oct 5 06:35:23 2009 +0000 igb: add code to retry a phy read in the event of failure on link check This patch adds a retry to phy reads in the event of failure. The original code broke out of the loop on failure and this is a mistake as we should be trying to do the read twice. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 81fadd81a5bc897c8d0424d1cd90cb999d8e12b0 Author: Alexander Duyck Date: Mon Oct 5 06:35:03 2009 +0000 igb: move the generic copper link setup code into e1000_phy.c This patch moves the generic portion of the copper link setup into a seperate function in e1000_phy.c. This helps to reduce the size of copper_link_setup_82575 and make it a bit more readable. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 285b4167458ec7cc49008b2e61cbe0362deed335 Author: Alexander Duyck Date: Mon Oct 5 06:34:44 2009 +0000 igb: remove microwire support from igb igb doesn't have any devices that use a microwire interface for NVM. As such the code related to this can be removed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 22896639af98ebc721a94ed71fc3acf2fb4a24dc Author: Alexander Duyck Date: Mon Oct 5 06:34:25 2009 +0000 igb: change how we handle alternate mac addresses This patch allows us to treat the alternate mac address as though it is the physical address on the adapter. This is accomplished by letting the alt_mac_address function to only fail on an NVM error. If no errors occur and the alternate mac address is not present then RAR0 is read as the default mac address. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3272686c98da64d6eeaa2434782f42270b110758 Author: Alexander Duyck Date: Mon Oct 5 06:34:05 2009 +0000 igb: fix a few items where weren't correctly setup for mbx timeout The mailbox timeout routines need to be updated as they were not correctly handling the case of a mailbox timeout and could cause issues with long delays when used. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0acb6fde5fc84009be1c7efc0aaa8e69e394a2e2 Author: Alexander Duyck Date: Mon Oct 5 06:33:46 2009 +0000 igb: add function to handle mailbox lock Both the read and write mailbox functions need to acquire the mailbox lock. Since that is the case we might as well combine both of the procedures into one function so it is easier to maintain. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 747d49baaf4e3f4ad5ae77477830da026eeef69d Author: Alexander Duyck Date: Mon Oct 5 06:33:27 2009 +0000 igb: add support for 82576NS SerDes adapter This patch adds the device ID necessary to support the 82576NS SerDes adapter. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 68d480c4defb69d834e75fd0be9069a8447afe36 Author: Alexander Duyck Date: Mon Oct 5 06:33:08 2009 +0000 igb: make use of the uta to allow for promiscous mode filter In order to support functions such as vlan tag stripping when SR-IOV is enabled any given packet must match at least one filter. However in the case of promiscous mode being enabled on the PF the traffic routed to it may not match any filters and is just sent to the PF by default. In order to make certain that this traffic is processed we can set all bits in the UTA registers to create a pseudo promiscous mode filter that accepts all packets. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 26ad91783c489486d3fd1a6932e5bdab9d404a38 Author: Alexander Duyck Date: Mon Oct 5 06:32:49 2009 +0000 igb: add combined function for setting rar and pool bits This patch adds igb_rar_qsel which sets the mac address and pool bits for a given mac address in the receive address register table. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf6f7a928d313ddecb0a16ea60fa6b45ac1414a7 Author: Alexander Duyck Date: Mon Oct 5 06:32:27 2009 +0000 igb: add locking to reads of the i2c interface The current implementation of sgmii support isn't correctly locking the interfaces for reads/writes. This change pulls the read/write functionality out of 82575.c and moves it to phy.c. In addition it replaces the implementation in 82575.c with one that uses locking around the relocated i2c interface calls. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 008c3422d48b217792789bdea822dbc2efe2165c Author: Alexander Duyck Date: Mon Oct 5 06:32:07 2009 +0000 igb: update the approach taken to acquiring and releasing the phy lock The current approach is just using a ?: type mechanism to set the phy locking bit. This if fine for now but limits us to only 2. Switch to a nested if statement for future compatiblity with more than 2 phys. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 70d92f86dc162fc24e13cd79fd3481ae39b66f72 Author: Alexander Duyck Date: Mon Oct 5 06:31:47 2009 +0000 igb: update comments for serdes config and update to handle duplex This update corrects the driver so that it handles duplex for serdes links correctly instead of just forcing full duplex always. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cc9073bbc901a0b695c9c5966d65520c29af70af Author: Alexander Duyck Date: Mon Oct 5 06:31:25 2009 +0000 igb: remove unused temp variable from stats clearing path There is a temp variable in the stats clearing path that isn't needed since the results from the stats read can be immediately discared. Since it isn't needed we might as well just drop it from the function call. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 907bc6c7fc7071b00083fc11e510e47dd93df45d Merge: d2b247a 2a0f5cb Author: Mark Brown Date: Tue Oct 6 16:01:27 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit d2b247a8be57647d1745535acd58169fbcbe431a Author: Mark Brown Date: Tue Oct 6 15:21:04 2009 +0100 ASoC: Add virtual enumeration support for DAPM muxes Sometimes it is desirable to have a mux which does not reflect any direct register configuration but which will instead only have an effect implicitly (for example, as a result of changing which parts of the device are powered up). Provide a virtual mux for this purpose. Signed-off-by: Mark Brown commit 42e59d7d19dc4b49feab2a860fd9a8ca3248c833 Author: Ingo Molnar Date: Tue Oct 6 15:14:21 2009 +0200 perf tools: Default to 1 KHz auto-sampling freq events Use auto-freq events by default in perf record and perf top. This allows more consistent hardware event sampling, regardless of the intensity of the underlying event. It also keeps us from over-sampling on larger/busier systems. (also make surrounding initializations more consistent) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 064739bc4b3d7f424b2f25547e6611bcf0132415 Author: Tom Zanussi Date: Tue Oct 6 01:09:52 2009 -0500 perf trace: Add string/dynamic cases to format_flags Needed for distinguishing string fields in event stream processing. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: rostedt@goodmis.org Cc: lizf@cn.fujitsu.com Cc: hch@infradead.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1254809398-8078-4-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 2774601811bedd04ee7e38624343ea80b4a62d7e Author: Tom Zanussi Date: Tue Oct 6 01:09:51 2009 -0500 perf trace: Add subsystem string to struct event Needed to fully qualify event names for event stream processing. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: rostedt@goodmis.org Cc: lizf@cn.fujitsu.com Cc: hch@infradead.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1254809398-8078-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit 26a50744b21fff65bd754874072857bee8967f4d Author: Tom Zanussi Date: Tue Oct 6 01:09:50 2009 -0500 tracing/events: Add 'signed' field to format files The sign info used for filters in the kernel is also useful to applications that process the trace stream. Add it to the format files and make it available to userspace. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: rostedt@goodmis.org Cc: lizf@cn.fujitsu.com Cc: hch@infradead.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1254809398-8078-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar commit d9b2002c406011164f245de7a81304625989f1c9 Merge: c3b32fc 906010b Author: Ingo Molnar Date: Tue Oct 6 15:02:30 2009 +0200 Merge branch 'perf/urgent' into perf/core Merge reason: Upcoming patch is dependent on a fix in perf/urgent. Signed-off-by: Ingo Molnar commit 3a65577d2199a7b33c85fd32838020c39da200f3 Author: Mark Brown Date: Mon Oct 5 17:23:30 2009 +0100 ASoC: Push DAPM enumeration register change test out Don't assume that enumerations are backed by registers when updating mux power. Signed-off-by: Mark Brown commit 1642e3d42a062221e4df18df260d4703d18ca519 Author: Mark Brown Date: Mon Oct 5 16:24:26 2009 +0100 ASoC: Simplify code for DAPM widget updates We don't need to check for an event callback since we also check for an appropriate event flag when applying mux status changes. Signed-off-by: Mark Brown commit 9f5180e5c331d7b3ccc35e1a78072235d38f9f34 Author: Philipp Reisner Date: Tue Oct 6 09:30:14 2009 +0200 drbd: Work on permission enforcement Now we have the capabilities of the sending process available, use them to enforce CAP_SYS_ADMIN. Signed-off-by: Philipp Reisner Signed-off-by: Jens Axboe commit cf82ff7ea7695b0e82ba07bc5e9f1bd03a74e1aa Author: Jayson R. King Date: Mon Oct 5 05:21:26 2009 -0500 sched: Remove obsolete comment in sched_init() Remove the comment about calling alloc_bootmem() as it is not called here since commit 36b7b6d465489c4754c4fd66fcec6086eba87896. Signed-off-by: Jayson R. King Cc: Peter Zijlstra Cc: Jiri Kosina LKML-Reference: <4AC9C8A6.6010209@jaysonking.com> Signed-off-by: Ingo Molnar commit c3b32fcbc7f4fd9a9b84718b991b175b0fd53f8c Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:16 2009 -0300 perf report: Use kernel_maps__find_symbol as fallback to find vdsos, etc In resolve_symbol, as we're moving to breaking the kernel symbols list per address ranges, i.e. kernel linking sections, so that we don't have a big kernel_map that in its range covers what is in the modules. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit a2a99e8e12798706ec1026e5d8fc36f7c86122ce Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:18 2009 -0300 perf tools: /proc/modules names don't always match its name $ cut -d' ' -f1 /proc/modules|grep _|wc -l 29 $ cut -d' ' -f1 /proc/modules|grep _|sed 's/$/.ko'/g|while read n;do find /lib/modules/`uname -r` -name $n;done|wc -l 12 For instance: $ grep ^aes_x86 /proc/modules aes_x86_64 9056 2 - Live 0xffffffffa0091000 $ l /lib/modules/2.6.31-tip/kernel/arch/x86/crypto/aes-x86_64.ko -rw-r--r-- 1 root root 136438 2009-09-22 19:05 /lib/modules/2.6.31-tip/kernel/arch/x86/crypto/aes-x86_64.ko Handle that by introducing a strxfrchar routine that replaces dashes with underscores when matching file names to loaded modules. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit af427bf529c5991be8d1a36f43e2d0141f532f63 Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:17 2009 -0300 perf tools: Create maps for modules when processing kallsyms So that we get kallsyms processing closer to vmlinux + modules symtabs processing. One change in behaviour is that since when one specifies --vmlinux -m should be used to ask for modules, so it is now for kallsyms as well. Also continue if one manages to load the vmlinux data but module processing fails, so that at least some analisys can be done with part of the needed symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 5c2068059a0e852f72b7c2608d92170b752d821f Author: Arnaldo Carvalho de Melo Date: Mon Oct 5 14:26:15 2009 -0300 perf top: Keep the default of asking for kernel module symbols Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit ed76f652d5329d9dff0ea7f3953b1357ed7f8e6e Author: Takashi Iwai Date: Mon Oct 5 18:27:28 2009 +0200 ALSA: sscape - Remove invalid __devinitdata to module parameters Module parameters shouldn't be marked as __devinitdata since they can be referred via sysfs even after probing. Signed-off-by: Takashi Iwai commit 1cb0fdebae08f6daaac81197d8dde1746e0a1d96 Author: Krzysztof Helt Date: Mon Oct 5 18:18:57 2009 +0200 ALSA: sscape: force AD1848 codec mode on old Soundscape Old Soundscape cards (pre PnP) work only with AD1848 codecs. If the CS4231 codec is installed it must be used in AD1848 compatible mode. Also, add gameport support and remove an unused mpu field. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 48f6ba5e691948caba2e7bc362153fb28e4f1e09 Author: Frederic Weisbecker Date: Mon Oct 5 16:31:37 2009 +0200 kill-the-bkl/reiserfs: fix reiserfs lock to cpu_add_remove_lock dependency While creating the reiserfs workqueue during the journal initialization, we are holding the reiserfs lock, but create_workqueue() also holds the cpu_add_remove_lock, creating then the following dependency: - reiserfs lock -> cpu_add_remove_lock But we also have the following existing dependencies: - mm->mmap_sem -> reiserfs lock - cpu_add_remove_lock -> cpu_hotplug.lock -> slub_lock -> sysfs_mutex The merged dependency chain then becomes: - mm->mmap_sem -> reiserfs lock -> cpu_add_remove_lock -> cpu_hotplug.lock -> slub_lock -> sysfs_mutex But when we fill a dir entry in sysfs_readir(), we are holding the sysfs_mutex and we also might fault while copying the directory entry to the user, leading to the following dependency: - sysfs_mutex -> mm->mmap_sem The end result is then a lock inversion between sysfs_mutex and mm->mmap_sem, as reported in the following lockdep warning: [ INFO: possible circular locking dependency detected ] 2.6.31-07095-g25a3912 #4 ------------------------------------------------------- udevadm/790 is trying to acquire lock: (&mm->mmap_sem){++++++}, at: [] might_fault+0x72/0xc0 but task is already holding lock: (sysfs_mutex){+.+.+.}, at: [] sysfs_readdir+0x7c/0x260 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #5 (sysfs_mutex){+.+.+.}: [...] -> #4 (slub_lock){+++++.}: [...] -> #3 (cpu_hotplug.lock){+.+.+.}: [...] -> #2 (cpu_add_remove_lock){+.+.+.}: [...] -> #1 (&REISERFS_SB(s)->lock){+.+.+.}: [...] -> #0 (&mm->mmap_sem){++++++}: [...] This can be fixed by relaxing the reiserfs lock while creating the workqueue. This is fine to relax the lock here, we just keep it around to pass through reiserfs lock checks and for paranoid reasons. Reported-by: Alexander Beregalov Tested-by: Alexander Beregalov Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 7bc7d637452383d56ba4368d4336b0dde1bb476d Author: john stultz Date: Fri Oct 2 16:24:15 2009 -0700 time: Remove xtime_cache With the prior logarithmic time accumulation patch, xtime will now always be within one "tick" of the current time, instead of possibly half a second off. This removes the need for the xtime_cache value, which always stored the time at the last interrupt, so this patch cleans that up removing the xtime_cache related code. This is a bit simpler, but still could use some wider testing. Signed-off-by: John Stultz Acked-by: Thomas Gleixner Reviewed-by: John Kacur Cc: Clark Williams Cc: Martin Schwidefsky Cc: Andrew Morton LKML-Reference: <1254525855.7741.95.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit a092ff0f90cae22b2ac8028ecd2c6f6c1a9e4601 Author: john stultz Date: Fri Oct 2 16:17:53 2009 -0700 time: Implement logarithmic time accumulation Accumulating one tick at a time works well unless we're using NOHZ. Then it can be an issue, since we may have to run through the loop a few thousand times, which can increase timer interrupt caused latency. The current solution was to accumulate in half-second intervals with NOHZ. This kept the number of loops down, however it did slightly change how we make NTP adjustments. While not an issue with NTPd users, as NTPd makes adjustments over a longer period of time, other adjtimex() users have noticed the half-second granularity with which we can apply frequency changes to the clock. For instance, if a application tries to apply a 100ppm frequency correction for 20ms to correct a 2us offset, with NOHZ they either get no correction, or a 50us correction. Now, there will always be some granularity error for applying frequency corrections. However with users sensitive to this error have seen a 50-500x increase with NOHZ compared to running without NOHZ. So I figured I'd try another approach then just simply increasing the interval. My approach is to consume the time interval logarithmically. This reduces the number of times through the loop needed keeping latency down, while still preserving the original granularity error for adjtimex() changes. Further, this change allows us to remove the xtime_cache code (patch to follow), as xtime is always within one tick of the current time, instead of the half-second updates it saw before. An earlier version of this patch has been shipping to x86 users in the RedHat MRG releases for awhile without issue, but I've reworked this version to be even more careful about avoiding possible overflows if the shift value gets too large. Signed-off-by: John Stultz Acked-by: Thomas Gleixner Reviewed-by: John Kacur Cc: Clark Williams Cc: Martin Schwidefsky Cc: Andrew Morton LKML-Reference: <1254525473.7741.88.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit d4a8da910e6db53d45ff76f7fdc584376de542df Merge: ce3e373 e655a43 Author: Mark Brown Date: Mon Oct 5 10:36:28 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit d519e17e2d01a0ee9abe083019532061b4438065 Author: Andy Gospodarek Date: Fri Oct 2 09:26:12 2009 +0000 net: export device speed and duplex via sysfs This patch exports the link-speed (in Mbps) and duplex of an interface via sysfs. This eliminates the need to use ethtool just to check the link-speed. Not requiring 'ethtool' and not relying on the SIOCETHTOOL ioctl should be helpful in an embedded environment where space is at a premium as well. NOTE: This patch also intentionally allows non-root users to check the link speed and duplex -- something not possible with ethtool. Here's some sample output: # cat /sys/class/net/eth0/speed 100 # cat /sys/class/net/eth0/duplex half # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: Not reported Advertised auto-negotiation: No Speed: 100Mb/s Duplex: Half Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: yes Signed-off-by: David S. Miller commit 053a93dd126f68ba37973f95f00af6045fa7c957 Author: Marcel Holtmann Date: Fri Oct 2 05:15:28 2009 +0000 cfg80211: assign device type in netdev notifier callback Instead of having to modify every non-mac80211 for device type assignment, do this inside the netdev notifier callback of cfg80211. So all drivers that integrate with cfg80211 will export a proper device type. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 7ffbe3fdace0bdfcdab8dc6c77506feda0871f79 Author: Johannes Berg Date: Fri Oct 2 05:15:27 2009 +0000 net: introduce NETDEV_POST_INIT notifier For various purposes including a wireless extensions bugfix, we need to hook into the netdev creation before before netdev_register_kobject(). This will also ease doing the dev type assignment that Marcel was working on for cfg80211 drivers w/o touching them all. Signed-off-by: Johannes Berg Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 225794f8c33fd32721ae1cd3576db99810351d7b Author: Marcel Holtmann Date: Fri Oct 2 05:15:26 2009 +0000 usbnet: Set device type for wlan and wwan devices For usbnet devices with FLAG_WLAN and FLAG_WWAN set the proper device type so that uevent contains the correct value. This then allows an easy identification of the actual underlying technology of the Ethernet device. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit e1e499eef2200c2a7120c9ebf297d48b195cf887 Author: Marcel Holtmann Date: Fri Oct 2 05:15:25 2009 +0000 usbnet: Use wwan%d interface name for mobile broadband devices Add support for usbnet based devices like CDC-Ether to indicate that they are actually mobile broadband devices. In that case use wwan%d as default interface name. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 25d2d4edfa509b69fe4832094b8a07e634363ba3 Author: Jens Axboe Date: Mon Oct 5 09:31:59 2009 +0200 drbd: fixup for reverted dual in_flight patch Signed-off-by: Jens Axboe commit 5d13379a4dba717fb75b749acc0f928c2c02db17 Merge: 08dc872 374576a Author: Jens Axboe Date: Mon Oct 5 09:30:10 2009 +0200 Merge branch 'master' into for-2.6.33 commit 0bfbedb14a8a96c529341bec88991a92b41fac72 Author: Eric Dumazet Date: Mon Oct 5 00:11:22 2009 -0700 tunnels: Optimize tx path We currently dirty a cache line to update tunnel device stats (tx_packets/tx_bytes). We better use the txq->tx_bytes/tx_packets counters that already are present in cpu cache, in the cache line shared with txq->_xmit_lock This patch extends IPTUNNEL_XMIT() macro to use txq pointer provided by the caller. Also &tunnel->dev->stats can be replaced by &dev->stats Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 16c6cf8bb471392fd09b48b7c27e7d83a446b4bc Author: Stephen Hemminger Date: Sun Sep 20 10:35:36 2009 +0000 ipv4: fib table algorithm performance improvement The FIB algorithim for IPV4 is set at compile time, but kernel goes through the overhead of function call indirection at runtime. Save some cycles by turning the indirect calls to direct calls to either hash or trie code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab Author: Neil Horman Date: Fri Oct 2 06:56:41 2009 +0000 af_packet: add interframe drop cmsg (v6) Add Ancilliary data to better represent loss information I've had a few requests recently to provide more detail regarding frame loss during an AF_PACKET packet capture session. Specifically the requestors want to see where in a packet sequence frames were lost, i.e. they want to see that 40 frames were lost between frames 302 and 303 in a packet capture file. In order to do this we need: 1) The kernel to export this data to user space 2) The applications to make use of it This patch addresses item (1). It does this by doing the following: A) Anytime we drop a frame for which we would increment po->stats.tp_drops, we also no increment a stats called po->stats.tp_gap. B) Every time we successfully enqueue a frame to sk_receive_queue, we record the value of po->stats.tp_gap in skb->mark. skb->cb would nominally be the place to record this, but since all the space there is used up, we're overloading skb->mark. Its safe to do since any enqueued packet is guaranteed to be unshared at this point, and skb->mark isn't used for anything else in the rx path to the application. After we record tp_gap in the skb, we zero po->stats.tp_gap. This allows us to keep a counter of the number of frames lost between any two enqueued packets C) When the application goes to dequeue a frame from the packet socket, we look at skb->mark for that frame. If it is non-zero, we add a cmsg chunk to the msghdr of level SOL_PACKET and type PACKET_GAPDATA. Its a 32 bit integer that represents the number of frames lost between this packet and the last previous frame received. Note there is a chance that if there is frame loss after a receive, and then the socket is closed, some gap data might be lost. This is covered by the use of the PACKET_AUXDATA socket option, which gives total loss data. With a bit of math, the final gap can be determined that way. I've tested this patch myself, and it works well. Signed-off-by: Neil Horman Signed-off-by: Eric Dumazet include/linux/if_packet.h | 2 ++ net/packet/af_packet.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) Signed-off-by: David S. Miller commit 69ef9694099802f7feeb23182dfb869e7c5f76f0 Author: chaithrika@ti.com Date: Thu Oct 1 10:25:19 2009 +0000 TI DaVinci EMAC: Minor macro related updates Use BIT for macro definitions wherever possible, remove unused and redundant macros. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 0835acfe72e43b2f9bd46ec8c0d219e94c3525e0 Author: Eric Dumazet Date: Wed Sep 30 13:03:33 2009 +0000 pktgen: Avoid dirtying skb->users when txq is full We can avoid two atomic ops on skb->users if packet is not going to be sent to the device (because hardware txqueue is full) Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit b3a5b6cc7cab89dcc3301add750f88019d910a2b Author: Eric Dumazet Date: Thu Sep 24 12:16:51 2009 +0000 icmp: No need to call sk_write_space() We can make icmp messages tx completion callback a litle bit faster. Setting SOCK_USE_WRITE_QUEUE sk flag tells sock_wfree() to not call sk_write_space() on a socket we know no thread is posssibly waiting for write space. (on per cpu kernel internal icmp sockets only) This avoids the sock_def_write_space() call and read_lock(&sk->sk_callback_lock)/read_unlock(&sk->sk_callback_lock) calls as well. We avoid three atomic ops. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a9828ec6bc0b7e19a65f7e13daa8bd35a926a753 Author: Ben Hutchings Date: Thu Oct 1 11:33:03 2009 +0000 ethtool: Remove support for obsolete string query operations The in-tree implementations have all been converted to get_sset_count(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 15f0a394c6573f4cb65a13095288ab9b9f8135f9 Author: Ben Hutchings Date: Thu Oct 1 11:58:24 2009 +0000 net: Convert ethtool {get_stats, self_test}_count() ops to get_sset_count() These string query operations were supposed to be replaced by the generic get_sset_count() starting in 2007. Convert the remaining implementations. Also remove calls to these operations to initialise drvinfo->n_stats. The ethtool core code already does that. Signed-off-by: Ben Hutchings Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1ddee09ff0420090d5b03ef3f9eba0e4db647035 Author: Ben Hutchings Date: Thu Oct 1 11:27:59 2009 +0000 tehuti: Convert ethtool get_stats_count() ops to get_sset_count() This string query operation was supposed to be replaced by the generic get_sset_count() starting in 2007. Convert tehuti's implementation. Also remove the dummy self-test name which was not used since tehuti does not advertise any self-tests. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit df8b4ec8b15a5db84706548149add3131c3af8ba Author: Ben Hutchings Date: Thu Oct 1 11:24:32 2009 +0000 qeth: Convert ethtool get_stats_count() ops to get_sset_count() This string query operation was supposed to be replaced by the generic get_sset_count() starting in 2007. Convert qeth's implementation. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ec218fc4a796a1b584741d59ef22615d96981188 Author: Arnaldo Carvalho de Melo Date: Sat Oct 3 20:30:48 2009 -0300 perf tools: Remove show_mask bitmask As it was not being exposed via any command line and with --dsos/--comms we can do this and even more, like asking for just kernel + some module: [root@doppio linux-2.6-tip]# perf report --dsos \[kernel\],\[drm\] --vmlinux /home/acme/git/build/tip-recvmmsg/vmlinux --modules | head -15 # Samples: 619669 # # Overhead Command Shared Object Symbol # ........ ............... ............. ...... # 7.12% swapper [kernel] [k] read_hpet 6.86% init [kernel] [k] read_hpet 6.22% init [kernel] [k] mwait_idle_with_hints 5.34% swapper [kernel] [k] mwait_idle_with_hints 3.01% firefox [kernel] [.] vread_hpet 2.14% Xorg [drm] [k] drm_clflush_pages 2.09% pidgin [kernel] [.] vread_hpet 1.58% npviewer.bin [kernel] [.] vread_hpet 1.37% swapper [kernel] [k] hpet_next_event 1.23% Xorg [kernel] [k] read_hpet [root@doppio linux-2.6-tip]# Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20091003233048.GA30535@ghostprotocols.net> Signed-off-by: Ingo Molnar commit bcde1f8a80d1bdfd43fb498996dfa89666fd7fe3 Author: Krzysztof Helt Date: Fri Oct 2 18:41:29 2009 +0200 ALSA: sscape: remove MIDI instances counting with limit ULONG_MAX There is no sense to limit open MIDI connections with limit as high as ULONG_MAX. Also, convert more messages to use the snd_printk. Correct few old and misleading comments as well. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9735abf11bec48bfbbb1b54772a02deb2ae0c403 Author: Arnaldo Carvalho de Melo Date: Sat Oct 3 10:42:45 2009 -0300 perf tools: Move hist_entry__add common code to hist.c Now perf report and annotate do the callgraph/hit processing in their specialized hist_entry__add functions. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 08dc8726d4be85bca793141c827574fd32a681bb Author: Jens Axboe Date: Sat Oct 3 09:40:47 2009 +0200 block: CFQ is more than a desktop scheduler Update Kconfig.iosched entry. Signed-off-by: Jens Axboe commit 492af6350a5ccf087e4964104a276ed358811458 Author: Jens Axboe Date: Sat Oct 3 09:37:51 2009 +0200 block: remove the anticipatory IO scheduler AS is mostly a subset of CFQ, so there's little point in still providing this separate IO scheduler. Hopefully at some point we can get down to one single IO scheduler again, at least this brings us closer by having only one intelligent IO scheduler. Signed-off-by: Jens Axboe commit 88f70d7590538e427c8405a2e02ac2624847386c Author: Masami Hiramatsu Date: Fri Sep 25 11:20:54 2009 -0700 tracing/ftrace: Fix to check create_event_dir() when adding new events Check result of event_create_dir() and add ftrace_event_call to ftrace_events list only if it is succeeded. Thanks to Li for pointing it out. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Acked-by: Ingo Molnar Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090925182054.10157.55219.stgit@omoto> Signed-off-by: Frederic Weisbecker commit c0b11d3af164947c71e2491912c5b8418900dafb Author: Masami Hiramatsu Date: Fri Sep 25 11:20:38 2009 -0700 x86: Add VIA processor instructions in opcodes decoder Add VIA processor's Padlock instructions(MONTMUL, XSHA1, XSHA256) as parts of the kernel may use them. This fixes the following crash in opcodes decoder selftests: make[2]: `scripts/unifdef' is up to date. TEST posttest Error: c145cf71: f3 0f a6 d0 repz xsha256 Error: objdump says 4 bytes, but insn_get_length() says 3 (attr:0) make[1]: *** [posttest] Error 2 make: *** [bzImage] Error 2 Reported-by: Ingo Molnar Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Acked-by: Ingo Molnar Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090925182037.10157.3180.stgit@omoto> Signed-off-by: Frederic Weisbecker commit a1a138d05fa060ac4238c19a1e890aacc25ed3ba Author: Masami Hiramatsu Date: Fri Sep 25 11:20:12 2009 -0700 tracing/kprobes: Use global event perf buffers in kprobe tracer Use new percpu global event buffer instead of stack in kprobe tracer while tracing through perf. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Acked-by: Ingo Molnar Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090925182011.10157.60140.stgit@omoto> Signed-off-by: Frederic Weisbecker commit 98059e3463383b18fd79181179cd539b74846b47 Author: Matteo Croce Date: Thu Oct 1 17:11:10 2009 +0200 x86: AMD Geode LX optimizations Add CPU optimizations for AMD Geode LX. Signed-off-by: Matteo Croce LKML-Reference: <40101cc30910010811v5d15ff4cx9dd57c9cc9b4b045@mail.gmail.com> Signed-off-by: H. Peter Anvin commit 63312b6a6faae3f2e5577f2b001e3b504f10a2aa Author: Arjan van de Ven Date: Fri Oct 2 07:50:50 2009 -0700 x86: Add a Kconfig option to turn the copy_from_user warnings into errors For automated testing it is useful to have the option to turn the warnings on copy_from_user() etc checks into errors: In function ‘copy_from_user’, inlined from ‘fd_copyin’ at drivers/block/floppy.c:3080, inlined from ‘fd_ioctl’ at drivers/block/floppy.c:3503: linux/arch/x86/include/asm/uaccess_32.h:213: error: call to ‘copy_from_user_overflow’ declared with attribute error: copy_from_user buffer size is not provably correct Signed-off-by: Arjan van de Ven Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <20091002075050.4e9f7641@infradead.org> Signed-off-by: Ingo Molnar commit ce3e3737a3361e0c7030f8598eec36bb82050de6 Author: Peter Ujfalusi Date: Fri Oct 2 09:17:37 2009 +0300 ASoC: Improve the debugfs hierarchy Change the way the debugfs entries are created: If the codec->dev is valid, than use: debugfs/asoc/{codec->name}.{dev_name(codec->dev)}/ if the codec->dev is NULL: debugfs/asoc/{codec->name}/ as root for the debugfs entries. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 439d473b4777de510e1322168ac6f2f377ecd5bc Author: Arnaldo Carvalho de Melo Date: Fri Oct 2 03:29:58 2009 -0300 perf tools: Rewrite and improve support for kernel modules Representing modules as struct map entries, backed by a DSO, etc, using /proc/modules to find where the module is loaded. DSOs now can have a short and long name, so that in verbose mode we can show exactly which .ko or vmlinux image was used. As kernel modules now are a DSO separate from the kernel, we can ask for just the hits for a particular set of kernel modules, just like we can do with shared libraries: [root@doppio linux-2.6-tip]# perf report -n --vmlinux /home/acme/git/build/tip-recvmmsg/vmlinux --modules --dsos \[drm\] | head -15 84.58% 13266 Xorg [k] drm_clflush_pages 4.02% 630 Xorg [k] trace_kmalloc.clone.0 3.95% 619 Xorg [k] drm_ioctl 2.07% 324 Xorg [k] drm_addbufs 1.68% 263 Xorg [k] drm_gem_close_ioctl 0.77% 120 Xorg [k] drm_setmaster_ioctl 0.70% 110 Xorg [k] drm_lastclose 0.68% 106 Xorg [k] drm_open 0.54% 85 Xorg [k] drm_mm_search_free [root@doppio linux-2.6-tip]# Specifying --dsos /lib/modules/2.6.31-tip/kernel/drivers/gpu/drm/drm.ko would have the same effect. Allowing specifying just 'drm.ko' is left for another patch. Processing kallsyms so that per kernel module struct map are instantiated was also left for another patch. That will allow removing the module name from each of its symbols. struct symbol was reduced by removing the ->module backpointer and moving it (well now the map) to struct symbol_entry in perf top, that is its only user right now. The total linecount went down by ~500 lines. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: "H. Peter Anvin" Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Avi Kivity Signed-off-by: Ingo Molnar commit 0afe5f891501609f31146798fb41784f4adad27c Author: Takashi Iwai Date: Fri Oct 2 09:20:00 2009 +0200 ALSA: hda - Clean up name string creation in patch_realtek.c Use a common helper to create playback controls. This gives less chance of typos. Signed-off-by: Takashi Iwai commit 081a8c450290401ffc75558c65a188d7b72db07d Merge: 71623855 7085ec1 Author: Takashi Iwai Date: Fri Oct 2 09:19:40 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 7c824f4b69316df55fe243c5a6c7dba2b62285c1 Author: Takashi Iwai Date: Fri Oct 2 07:22:58 2009 +0200 ALSA: sscape - Remove sscap_ioctl.h from include/sound/Kbuild Signed-off-by: Takashi Iwai commit 6a0afdf58d40200abd0c717261d1bc4c49195c2f Author: Jens Axboe Date: Thu Oct 1 09:04:14 2009 +0200 drbd: remove tracing bits They should be reimplemented in the current scheme. Signed-off-by: Jens Axboe commit ab8fafc2e1ecc0090f2c78902d3b992eec8b11f8 Author: Lars Ellenberg Date: Mon Sep 28 10:28:01 2009 +0200 dropping unneeded include autoconf.h It is force-included on the gcc command line since at least 2.6.15. Explicit include lines seem to break compilation now in certain configurations. Signed-off-by: Lars Ellenberg Signed-off-by: Kamalesh Babulal Acked-by: Sam Ravnborg commit b411b3637fa71fce9cf2acf0639009500f5892fe Author: Philipp Reisner Date: Fri Sep 25 16:07:19 2009 -0700 The DRBD driver Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1a35e0f6443f4266dad4c569c55c57a9032596fa Author: Jun'ichi Nomura Date: Thu Oct 1 21:16:13 2009 +0200 Add a tracepoint for block request remapping Since 2.6.31 now has request-based device-mapper, it's useful to have a tracepoint for request-remapping as well as bio-remapping. This patch adds a tracepoint for request-remapping, trace_block_rq_remap(). Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Alasdair G Kergon Cc: Li Zefan Signed-off-by: Jens Axboe commit ca80650cfbde5b17a5fa957a261c7973f84599a7 Author: Christoph Hellwig Date: Wed Sep 30 13:54:20 2009 +0200 block: allow large discard requests Currently we set the bio size to the byte equivalent of the blocks to be trimmed when submitting the initial DISCARD ioctl. That means it is subject to the max_hw_sectors limitation of the HBA which is much lower than the size of a DISCARD request we can support. Add a separate max_discard_sectors tunable to limit the size for discard requests. We limit the max discard request size in bytes to 32bit as that is the limit for bio->bi_size. This could be much larger if we had a way to pass that information through the block layer. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 1122a26f2abe4245ccdaed95ec23f63fe086b332 Author: Christoph Hellwig Date: Wed Sep 30 13:52:12 2009 +0200 block: use normal I/O path for discard requests prepare_discard_fn() was being called in a place where memory allocation was effectively impossible. This makes it inappropriate for all but the most trivial translations of Linux's DISCARD operation to the block command set. Additionally adding a payload there makes the ownership of the bio backing unclear as it's now allocated by the device driver and not the submitter as usual. It is replaced with QUEUE_FLAG_DISCARD which is used to indicate whether the queue supports discard operations or not. blkdev_issue_discard now allocates a one-page, sector-length payload which is the right thing for the common ATA and SCSI implementations. The mtd implementation of prepare_discard_fn() is replaced with simply checking for the request being a discard. Largely based on a previous patch from Matthew Wilcox which did the prepare_discard_fn but not the different payload allocation yet. Signed-off-by: Christoph Hellwig commit 7c68af6e32c73992bad24107311f3433c89016e2 Author: Avi Kivity Date: Sat Sep 19 09:40:22 2009 +0300 core, x86: Add user return notifiers Add a general per-cpu notifier that is called whenever the kernel is about to return to userspace. The notifier uses a thread_info flag and existing checks, so there is no impact on user return or context switch fast paths. This will be used initially to speed up KVM task switching by lazily updating MSRs. Signed-off-by: Avi Kivity LKML-Reference: <1253342422-13811-1-git-send-email-avi@redhat.com> Signed-off-by: H. Peter Anvin commit 88439ac793934a47f47ad285656b63d09f5937c8 Author: Peter Ujfalusi Date: Thu Oct 1 10:32:47 2009 +0300 ASoC: add support for multiple cards/codecs in debugfs In order to support multiple codecs on the same system in the debugfs the directory hierarchy need to be changed by adding directory per codec under the asoc direcorty: debugfs/asoc/{dev_name(socdev->dev)}-{codec->name}/codec_reg /dapm_pop_time /dapm/{widgets} With the original implementation only the debugfs files are only created for the first codec, other codecs loaded later would fail to create the debugfs files (since they are already exist). Furthermore in this situation any of the codecs has been removed, would cause the debugfs entries to disappear, regardless if the codec, which created them are still loaded (the one which loaded first). Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 17c86a32076f0119437a017de70a583431f4bf51 Merge: f36c404 834eb6c Author: Mark Brown Date: Thu Oct 1 11:35:11 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit f36c4045db71af89a7ea63425676925b7e6b4761 Merge: aa983d9 140318a Author: Mark Brown Date: Thu Oct 1 11:33:37 2009 +0100 Merge remote branch 'takashi/topic/asoc' into for-2.6.33 commit 4a3127693001c61a21d1ce680db6340623f52e93 Author: Arjan van de Ven Date: Wed Sep 30 13:05:23 2009 +0200 x86: Turn the copy_from_user check into an (optional) compile time warning A previous patch added the buffer size check to copy_from_user(). One of the things learned from analyzing the result of the previous patch is that in general, gcc is really good at proving that the code contains sufficient security checks to not need to do a runtime check. But that for those cases where gcc could not prove this, there was a relatively high percentage of real security issues. This patch turns the case of "gcc cannot prove" into a compile time warning, as long as a sufficiently new gcc is in use that supports this. The objective is that these warnings will trigger developers checking new cases out before a security hole enters a linux kernel release. Signed-off-by: Arjan van de Ven Cc: Linus Torvalds Cc: "David S. Miller" Cc: James Morris Cc: Jan Beulich LKML-Reference: <20090930130523.348ae6c4@infradead.org> Signed-off-by: Ingo Molnar commit 0aa73ba1c4e1ad1d51a29e0df95ccd9f746918b6 Merge: 925936e 3397409 Author: Ingo Molnar Date: Thu Oct 1 11:20:33 2009 +0200 Merge branch 'tracing/urgent' into tracing/core Merge reason: Pick up latest fixes and update to latest upstream. Signed-off-by: Ingo Molnar commit 2ccdc450e658053681202d42ac64b3638f22dc1a Author: Arnaldo Carvalho de Melo Date: Thu Sep 24 14:24:00 2009 -0700 perf top: Remove dead {min,max}_ip unused variables Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: "H. Peter Anvin" Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20090924212400.GA15321@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 140318aaa924ce9664ff59366993228cf1547f1d Author: Takashi Iwai Date: Thu Oct 1 08:40:32 2009 +0200 ASoC: Fix snd_soc_dai_set_pll() calls in neo1973_*.c Fix the missing argument of snd_soc_dai_set_pll() in neo1973_*.c, which was forgotten in the commit 85488037bb. Signed-off-by: Takashi Iwai commit acd47100914b2896d0699febefd077f85c4dd272 Author: Krzysztof Helt Date: Thu Oct 1 00:10:34 2009 +0200 ALSA: sscape: convert to firmware loader framework The conversion solves the problem that firmware size was set to 64KB while non PnP cards have 128KB firmware files. An additional firmware initialization code has been moved from the OSS driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit bb26276744a80d066681836f4d49c70010b129d6 Author: Takashi Iwai Date: Thu Oct 1 07:39:45 2009 +0200 ASoC: Fix build errors of wm8711.c with SPI Fix a couple of typos and a missing header file inclusion to build wm8711.c properly with CONFIG_SPI_MASTER. Signed-off-by: Takashi Iwai commit 23acb98de5a4109a60b5fe3f0439389218b039d7 Author: Rajiv Andrade Date: Wed Sep 30 12:26:55 2009 -0300 TPM: fix pcrread The previously sent patch: http://marc.info/?l=tpmdd-devel&m=125208945007834&w=2 Had its first hunk cropped when merged, submitting only this first hunk again. Signed-off-by: Jason Gunthorpe Cc: Debora Velarde Cc: Marcel Selhorst Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Rajiv Andrade Acked-by: Mimi Zohar Tested-by: Mimi Zohar Signed-off-by: James Morris commit aa983d9d63c38f596fb87754205da9b7a8d2f6fd Author: Mark Brown Date: Wed Sep 30 14:16:11 2009 +0100 ASoC: Factor out analogue platform data from WM8993 This is also shared with newer CODECs. Signed-off-by: Mark Brown commit 4c0bccbe66ffe34f7bc88d29c345f9a7888656eb Merge: 4fa9c1a c36b2fc Author: Mark Brown Date: Wed Sep 30 15:48:38 2009 +0100 Merge branch 'upstream/wm8974' into for-2.6.33 commit c36b2fc73a6c0e7b185b17d594b38398ce1f7fff Author: Mark Brown Date: Wed Sep 30 14:31:38 2009 +0100 ASoC: Clean up WM8974 PLL configuration Don't use a static for WM8974 PLL factors - we don't support more than one device so it won't happen but no sense in leaving the race condition hanging around. Also, pre_div is a single bit and it's a bit simpler if we move the handling of the factor of 4 in the output into the coefficient setup. Signed-off-by: Mark Brown commit 4fa9c1a5953441e06dbde7b6a655cbf6618e61dd Author: Chaithrika U S Date: Wed Sep 30 17:32:27 2009 -0400 ASoC: DaVinci: McASP FIFO related updates The DMA params for McASP with FIFO has been updated so that it works for various FIFO levels. A member- 'fifo_level' has been added to the DMA params data structure. The fifo_level can be adjusted by the tx[rx]_numevt platform data. This is relevant only for DA8xx/OMAP-L1xx platforms. This implementation has been tested for numevt values 1, 2, 4, 8. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit cad3071424edd7854f63aa80d09473e84f49ed79 Author: Arnaldo Carvalho de Melo Date: Mon Sep 28 17:08:18 2009 -0300 perf trace: Remove dead code Several variables are not used at all, cut'n'paste leftovers. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: "H. Peter Anvin" LKML-Reference: <20090928200818.GF3361@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a80deb622dba7dfb65d9e27b6b74b7c1963c3635 Author: Arnaldo Carvalho de Melo Date: Mon Sep 28 15:23:51 2009 -0300 perf sched: Remove dead code Several variables are not used at all, cut'n'paste leftovers. Also check if the sample_type is RAW earlier, to avoid needless searches. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: "H. Peter Anvin" Cc: Peter Zijlstra Cc: Mike Galbraith Signed-off-by: Ingo Molnar commit 1b46cddfccfec4cc67b187fb53d78198de6a057c Author: Arnaldo Carvalho de Melo Date: Mon Sep 28 14:48:46 2009 -0300 perf tools: Use rb_tree for maps Threads can have many and kernel modules will be represented as a tree of maps as well. Ah, and for a perf.data with 146607 samples: Before: [root@doppio ~]# perf stat -r 5 perf report > /dev/null Performance counter stats for 'perf report' (5 runs): 699.823680 task-clock-msecs # 0.991 CPUs ( +- 0.454% ) 74 context-switches # 0.000 M/sec ( +- 1.709% ) 2 CPU-migrations # 0.000 M/sec ( +- 17.008% ) 23114 page-faults # 0.033 M/sec ( +- 0.000% ) 1381257019 cycles # 1973.721 M/sec ( +- 0.290% ) 1456894438 instructions # 1.055 IPC ( +- 0.007% ) 18779818 cache-references # 26.835 M/sec ( +- 0.380% ) 641799 cache-misses # 0.917 M/sec ( +- 1.200% ) 0.705972729 seconds time elapsed ( +- 0.501% ) [root@doppio ~]# After Performance counter stats for 'perf report' (5 runs): 691.261451 task-clock-msecs # 0.993 CPUs ( +- 0.307% ) 72 context-switches # 0.000 M/sec ( +- 0.829% ) 6 CPU-migrations # 0.000 M/sec ( +- 18.409% ) 23127 page-faults # 0.033 M/sec ( +- 0.000% ) 1366395876 cycles # 1976.670 M/sec ( +- 0.153% ) 1443136016 instructions # 1.056 IPC ( +- 0.012% ) 17956402 cache-references # 25.976 M/sec ( +- 0.325% ) 661924 cache-misses # 0.958 M/sec ( +- 1.335% ) 0.696127275 seconds time elapsed ( +- 0.377% ) I.e. we see some speedup too. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: "H. Peter Anvin" LKML-Reference: <20090928174846.GA3361@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 3d1d07ecd2009f65cb2091563fa21f9600c36774 Author: John Kacur Date: Mon Sep 28 15:32:55 2009 +0200 perf tools: Put common histogram functions in their own file Move histogram related functions into their own files (hist.c and hist.h) and make use of them in builtin-annotate.c and builtin-report.c. Signed-off-by: John Kacur Acked-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit af8ff04917169805b151280155bf772d3ca9bec0 Author: Eric Paris Date: Sun Sep 20 21:23:01 2009 -0400 SELinux: reset the security_ops before flushing the avc cache This patch resets the security_ops to the secondary_ops before it flushes the avc. It's still possible that a task on another processor could have already passed the security_ops dereference and be executing an selinux hook function which would add a new avc entry. That entry would still not be freed. This should however help to reduce the number of needless avcs the kernel has when selinux is disabled at run time. There is no wasted memory if selinux is disabled on the command line or not compiled. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1669b049db50fc7f1d4e694fb115a0f408c63fce Merge: 7f36678 17d857b Author: James Morris Date: Wed Sep 30 07:47:33 2009 +1000 Merge branch 'master' into next commit ff60fab71bb3b4fdbf8caf57ff3739ffd0887396 Author: Arjan van de Ven Date: Mon Sep 28 14:21:22 2009 +0200 x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy GCC provides reasonable memset/memcpy functions itself, with __builtin_memset and __builtin_memcpy. For the "unknown" cases, it'll fall back to our current existing functions, but for fixed size versions it'll inline something smart. Quite often that will be the same as we have now, but sometimes it can do something smarter (for example, if the code then sets the first member of a struct, it can do a shorter memset). In addition, and this is more important, gcc knows which registers and such are not clobbered (while for our asm version it pretty much acts like a compiler barrier), so for various cases it can avoid reloading values. The effect on codesize is shown below on my typical laptop .config: text data bss dec hex filename 5605675 2041100 6525148 14171923 d83f13 vmlinux.before 5595849 2041668 6525148 14162665 d81ae9 vmlinux.after Due to some not-so-good behavior in the gcc 3.x series, this change is only done for GCC 4.x and above. Signed-off-by: Arjan van de Ven LKML-Reference: <20090928142122.6fc57e9c@infradead.org> Signed-off-by: H. Peter Anvin commit 925936ebf35a95c290e010b784c962164e6728f3 Author: Frederic Weisbecker Date: Mon Sep 28 17:12:49 2009 +0200 tracing: Pushdown the bkl tracepoints calls Currently we are calling the bkl tracepoint callbacks just before the bkl lock/unlock operations, ie the tracepoint call is not inside a lock_kernel() function but inside a lock_kernel() macro. Hence the bkl trace event header must be included from smp_lock.h. This raises some nasty circular header dependencies: linux/smp_lock.h -> trace/events/bkl.h -> trace/define_trace.h -> trace/ftrace.h -> linux/ftrace_event.h -> linux/hardirq.h -> linux/smp_lock.h This results in incomplete event declarations, spurious event definitions and other kind of funny behaviours. This is hardly fixable without ugly workarounds. So instead, we push the file name, line number and function name as lock_kernel() parameters, so that we only deal with the trace event header from lib/kernel_lock.c This adds two parameters to lock_kernel() and unlock_kernel() but it should be fine wrt to performances because this pair dos not seem to be called in fast paths. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Ingo Molnar Cc: Li Zefan commit be2500b8353d41463399e997fe8562f772dcaaba Author: Lopez Cruz, Misael Date: Fri Sep 25 21:02:49 2009 -0500 ASoC: Add PDM DAI format definition Add DAI format definition for PDM interfaces. Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 71623855e20c3febebb5fa60528cde2592678bd5 Author: Takashi Iwai Date: Mon Sep 28 13:14:04 2009 +0200 ALSA: hda - Enable MSI as default Since the recent kernel can handle MSI properly on non-Intel platforms, let's enable MSI as default. If any borken device is found, we can add the quirk entry to the list, which is currently empty. Signed-off-by: Takashi Iwai commit 08d7a253e40db5a3b082bd7409b5f2c4f2184e59 Merge: 17d857b 3d80dca Author: Takashi Iwai Date: Mon Sep 28 13:01:57 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 62428f7b8c873d43be8201e66392c3aad82fec93 Author: Clemens Ladisch Date: Mon Sep 28 11:22:18 2009 +0200 sound: oxygen: fix input monitor control names Insert "Playback" into the input monitor control names to prevent alsa-lib from treating these controls as global controls. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 1ff048869eb8e8408856e23b3dc6af094491f837 Author: Clemens Ladisch Date: Mon Sep 28 11:21:51 2009 +0200 sound: oxygen: add high-pass filter control Add a control that allows disabling the high-pass filter of the WM8785 ADC. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4852ad02476ab2bbc874f6f8fda9e677e0f09c87 Author: Clemens Ladisch Date: Mon Sep 28 11:21:21 2009 +0200 sound: oxygen: add digital filter control Add a control to select between sharp and slow roll-of filter responses of the DACs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 973dca93a3d46cca7e4743300f8a510b779906af Author: Clemens Ladisch Date: Mon Sep 28 11:20:47 2009 +0200 sound: virtuoso: add PCM1796 oversampling control Add a control to increase the oversampling factor to 128x on cards with PCM1796 or PCM1792A DACs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 76ffe1e3fb2f65e98d7ed001c5a2b6f334655364 Author: Clemens Ladisch Date: Mon Sep 28 11:20:11 2009 +0200 sound: oxygen: allow custom MCLK rates Add a callback that allows model drivers to modify the default I2S MCLK rate. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a361e247b4e36c567b44fef354ab595458422d44 Author: Clemens Ladisch Date: Mon Sep 28 11:19:19 2009 +0200 sound: virtuoso: add headphone impedance control Add a mixer control to adjust the headphone amplifier output for headphones with different impedances. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6f0de3ce068e48b033b5e4d0822b47218e9d206c Author: Clemens Ladisch Date: Mon Sep 28 11:18:45 2009 +0200 sound: oxygen: cache codec registers Keep a cache of codec registers to avoid unnecessary writes. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit dc0adf48daa81b05765d3c5ebab76321f77e9d21 Author: Clemens Ladisch Date: Mon Sep 28 11:17:36 2009 +0200 sound: oxygen: more hardware documentation Add some comments describing the hardware pin routing. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 3d8bb454c4fbe18cea1adfd4183a4a9ef5f0ef04 Author: Clemens Ladisch Date: Mon Sep 28 11:16:41 2009 +0200 sound: oxygen: add stereo upmixing to center/LFE channels Add the possibility to route a mix of the two channels of stereo data to the center and LFE outputs. This is implemented only for models where the DACs support this, i.e., for the Xonar D1 and DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 75919d7c057be888c7cd7b192fad02182260b04a Author: Clemens Ladisch Date: Mon Sep 28 11:15:49 2009 +0200 sound: oxygen: better defaults for upmixing control On card models with two-channel outputs, the base driver can automatically disable the upmixing control so that the model drivers do not need to do this. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 268304f4c4f0b8677d67400f04ad4e0271ec3742 Author: Clemens Ladisch Date: Mon Sep 28 11:15:01 2009 +0200 sound: virtuoso: fix Xonar Essence ST support The Essence ST uses the CS2000 chip to generate the DAC master clock, so we better initialize and program it appropriately. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 65c3ac885ce9852852b895a4a62212f62cb5f2e9 Author: Clemens Ladisch Date: Mon Sep 28 11:11:27 2009 +0200 sound: virtuoso: split virtuoso.c The virtuoso.c file has become rather big. This patch splits it up so that only code for very similar card models is in one file. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 362bc24d6746bcd49bb4853fc5aa7d4c728b3f9e Author: Clemens Ladisch Date: Mon Sep 28 11:05:58 2009 +0200 sound: oxygen: fix for PI7C9X110 compatibility If the card is used with a Pericom PI7C9X110 PCI-E/PCI bridge, reconfigure the latter's PCI buffering to fix an unknown problem. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 87b61902ce3dec23a2d8256b9cfcf4e28786a320 Author: Clemens Ladisch Date: Mon Sep 28 11:05:18 2009 +0200 sound: oxygen: do not try to restore nonexistent EEPROM On cards where the EEPROM was deliberately omitted, we do not need to try to restore the EEPROM's contents. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f0968e3f7a8ea30728d2580d3043a30ea9994ec6 Author: Krzysztof Helt Date: Sun Sep 27 23:08:40 2009 +0200 ALSA: sscape: add supoort for SPEA Media FX/Reveal SC-600 Move code from the OSS sscape driver in order to support old Soundscape OEM models. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 9f0cf4adb6aa0bfccf675c938124e68f7f06349d Author: Arjan van de Ven Date: Sat Sep 26 14:33:01 2009 +0200 x86: Use __builtin_object_size() to validate the buffer size for copy_from_user() gcc (4.x) supports the __builtin_object_size() builtin, which reports the size of an object that a pointer point to, when known at compile time. If the buffer size is not known at compile time, a constant -1 is returned. This patch uses this feature to add a sanity check to copy_from_user(); if the target buffer is known to be smaller than the copy size, the copy is aborted and a WARNing is emitted in memory debug mode. These extra checks compile away when the object size is not known, or if both the buffer size and the copy length are constants. Signed-off-by: Arjan van de Ven LKML-Reference: <20090926143301.2c396b94@infradead.org> Signed-off-by: Ingo Molnar commit f34762b64704814838619c1d258bebf19004f5cd Author: Graeme Gregory Date: Fri Sep 25 13:30:26 2009 +0100 ASoC: pxa-ssp increase max_channels to 8 When running in TDM mode there can be more than 2 channels used. Datasheet has figures for upto 8 channels so increase max_channels on all SSP interfaces to this figure. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown commit 7f366784f5c2b8fc0658b5b374f4c63ee42c789f Author: Rajiv Andrade Date: Thu Sep 24 16:27:46 2009 -0300 TPM: increase default TPM buffer The TPM Working Group requested this communication buffer increase given that a particular TPM vendor can support a TPM_SHA1Start command input bigger than the current size. Signed-off-by: Rajiv Andrade Signed-off-by: James Morris commit 3f6fe06dbf67b46d36fedec502300e04dffeb67a Author: Frederic Weisbecker Date: Thu Sep 24 21:31:51 2009 +0200 tracing/filters: Unify the regex parsing helpers The filter code has stolen the regex parsing function from ftrace to get the regex support. We have duplicated this code, so factorize it in the filter area and make it generally available, as the filter code is the most suited to host this feature. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi Cc: Li Zefan commit 1889d20922d14a97b2099fa4d47587217c0ba48b Author: Frederic Weisbecker Date: Thu Sep 24 21:10:44 2009 +0200 tracing/filters: Provide basic regex support This patch provides basic support for regular expressions in filters. It supports the following types of regexp: - *match_beginning - *match_middle* - match_end* - !don't match Example: cd /debug/tracing/events/bkl/lock_kernel echo 'file == "*reiserfs*"' > filter echo 1 > enable gedit-4941 [000] 457.735437: lock_kernel: depth: 0, fs/reiserfs/namei.c:334 reiserfs_lookup() sync_supers-227 [001] 461.379985: lock_kernel: depth: 0, fs/reiserfs/super.c:69 reiserfs_sync_fs() sync_supers-227 [000] 461.383096: lock_kernel: depth: 0, fs/reiserfs/journal.c:1069 flush_commit_list() reiserfs/1-1369 [001] 461.479885: lock_kernel: depth: 0, fs/reiserfs/journal.c:3509 flush_async_commits() Every string is now handled as a regexp in the filter framework, which helps to factorize the code for handling both simple strings and regexp comparisons. (The regexp parsing code has been wildly cherry picked from ftrace.c written by Steve.) v2: Simplify the whole and drop the filter_regex file Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi Cc: Li Zefan commit dd68ada2d417e57b848822a1407b5317a54136c5 Author: John Kacur Date: Thu Sep 24 18:02:49 2009 +0200 perf tools: Create util/sort.and use it Create util/sort.[ch] and move common functionality for builtin-report.c and builtin-annotate.c there, and make use of it. Signed-off-by: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8b40f521cf1c9750eab0c04da9075e7484675e9c Author: John Kacur Date: Thu Sep 24 18:02:18 2009 +0200 perf tools: Protect header files with a consistent style There was a colorful mix of header guards - standardize them. Signed-off-by: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit cbfeb267cb0ff632dbc8ff02685012bee2e87434 Author: John Kacur Date: Thu Sep 24 18:01:51 2009 +0200 perf annotate: Add the cmp_null function and make use of it This function exists in builtin-report.c but not in builtin-annotate.c Functions that use cmp_null are shorter and clearer. Synchronizing functions between these two files will also make it easier to potential share code in the future. Signed-off-by: John Kacur Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit f3f3f0092477d0165f3f1bf0fd518550b2abd097 Author: Frederic Weisbecker Date: Thu Sep 24 15:27:41 2009 +0200 tracing/event: Cleanup the useless dentry variable Cleanup the useless dentry variable while creating a kernel event set of files. trace_create_file() warns if it fails to create the file anyway, and we don't store the dentry anywhere. v2: Fix a small conflict in kernel/trace/trace_events.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit 737f453fd115ea0c9642ed6b30e37e296a4e3ed7 Author: Frederic Weisbecker Date: Sat Aug 1 03:42:44 2009 +0200 tracing/filters: Cleanup useless headers Cleanup remaining headers inclusion that were only useful when the filter framework and its tracing related filesystem user interface weren't yet separated. v2: Keep module.h, needed for EXPORT_SYMBOL_GPL Signed-off-by: Frederic Weisbecker Cc: Tom Zanussi Cc: Steven Rostedt Cc: Li Zefan commit 96a2c464de07d7c72988db851c029b204fc59108 Author: Frederic Weisbecker Date: Sat Aug 1 01:34:24 2009 +0200 tracing/bkl: Add bkl ftrace events Add two events lock_kernel and unlock_kernel() to trace the bkl uses. This opens the door for userspace tools to perform statistics about the callsites that use it, dependencies with other locks (by pairing the trace with lock events), use with recursivity and so on... The {__reacquire,release}_kernel_lock() events are not traced because these are called from schedule, thus the sched events are sufficient to trace them. Example of a trace: hald-addon-stor-4152 [000] 165.875501: unlock_kernel: depth: 0, fs/block_dev.c:1358 __blkdev_put() hald-addon-stor-4152 [000] 167.832974: lock_kernel: depth: 0, fs/block_dev.c:1167 __blkdev_get() How to get the callsites that acquire it recursively: cd /debug/tracing/events/bkl echo "lock_depth > 0" > filter firefox-4951 [001] 206.276967: unlock_kernel: depth: 1, fs/reiserfs/super.c:575 reiserfs_dirty_inode() You can also filter by file and/or line. v2: Use of FILTER_PTR_STRING attribute for files and lines fields to make them traceable. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan commit d7a4b414eed51f1653bb05ebe84122bf9a7ae18b Merge: 1f0ab40 a724ead Author: Frederic Weisbecker Date: Wed Sep 23 23:08:43 2009 +0200 Merge commit 'linus/master' into tracing/kprobes Conflicts: kernel/trace/Makefile kernel/trace/trace.h kernel/trace/trace_event_types.h kernel/trace/trace_export.c Merge reason: Sync with latest significant tracing core changes. commit 2c9ee33d37a6f3808c4319f0849671fafa8a6f4c Merge: 766df6d 539d3d8 Author: Mark Brown Date: Wed Sep 23 10:54:06 2009 -0700 Merge branch 'for-2.6.32' into for-2.6.33 commit 766df6d98f9c28dfc6f72c23a010819719e4c3e0 Author: Barry Song Date: Wed Sep 23 11:51:04 2009 -0400 ASoC: Blackfin I2S: use dai state rather than local counter Since the active field of the dai already tells us the stream activity, the local counter variable is redundant and can be replaced. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 4f272341c7a42a71586523f196b242bccde3be8c Author: Tobias Hansen Date: Tue Sep 22 16:52:08 2009 +0200 ALSA: snd-usb-us122l: add support for US-144 Adds support for US-144 when attached on USB1.1. Unlike the US-122L it uses both USB interfaces 0 and 1. Signed-off-by: Tobias Hansen Signed-off-by: Takashi Iwai commit 3fff4c42bd0a89869a0eb1e7874cc06ffa4aa0f5 Author: Ingo Molnar Date: Tue Sep 22 16:18:09 2009 +0200 printk: Remove ratelimit.h from kernel.h Decouple kernel.h from ratelimit.h: the global declaration of printk's ratelimit_state is not needed, and it leads to messy circular dependencies due to ratelimit.h's (new) adding of a spinlock_types.h include. Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: David S. Miller LKML-Reference: Signed-off-by: Ingo Molnar commit edaac8e3167501cda336231d00611bf59c164346 Author: Ingo Molnar Date: Tue Sep 22 14:44:11 2009 +0200 ratelimit: Fix/allow use in atomic contexts I'd like to use printk_ratelimit() in NMI context, but it's not robust right now due to spinlock usage in lib/ratelimit.c. If an NMI is unlucky enough to hit just that spot we might lock up trying to take the spinlock again. Fix that by using a trylock variant. If we contend on that lock we can genuinely skip the message because the state is just being accessed by another CPU (or by this CPU). ( We could use atomics for the suppressed messages field, but i doubt it matters in practice and it makes the code heavier. ) Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: David S. Miller LKML-Reference: Signed-off-by: Ingo Molnar commit 979f693def9084a452846365dfde5dcb28366333 Author: Ingo Molnar Date: Tue Sep 22 14:44:11 2009 +0200 ratelimit: Use per ratelimit context locking I'd like to use printk_ratelimit() in atomic context, but that's not possible right now due to the spinlock usage this commit introduced more than a year ago: 717115e: printk ratelimiting rewrite As a first step push the lock into the ratelimit state structure. This allows us to deal with locking failures to be considered as an event related to that state being too busy. Also clean up the code a bit (without changing functionality): - tidy up the definitions - clean up the code flow This also shrinks the code a tiny bit: text data bss dec hex filename 264 0 4 268 10c ratelimit.o.before 255 0 0 255 ff ratelimit.o.after ( Whole-kernel data size got a bit larger, because we have two ratelimit-state data structures right now. ) Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: David S. Miller LKML-Reference: Signed-off-by: Ingo Molnar commit 6ef80706184be792499a4485a7957f2660b6a076 Author: Pavel Hofman Date: Wed Sep 16 22:25:41 2009 +0200 ALSA: ice1724 - Infrasonic Quartet support * three external clock types * all controls supported Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 1ff97cb9dd9f53b33ce6710a4f861f43e70e8ca4 Author: Pavel Hofman Date: Wed Sep 16 22:25:40 2009 +0200 ALSA: ice1724 - Support for multiple external clock types * Support for customization of the external clock names * Adding hooks to playback_pro_open and capture_pro_open, allowing e.g. limiting available stream rates to a single value when the external clock rate is detected Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 6796d5a05f4d3caad17d2586b3e5776fda50ef82 Author: Pavel Hofman Date: Wed Sep 16 22:25:39 2009 +0200 ALSA: ice1724 - pro-rate-locking makes sense only for internal clock mode * pro-rate-locking applies to internal clock mode only * required rate and current rate are compared for internal clock mode only Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 494703062b6e6ef5e72364aafc9bcbc172d53dea Author: Pavel Hofman Date: Wed Sep 16 22:25:38 2009 +0200 ALSA: ice1724 - adding GPIO routines for mask and direction * get/set routines for GPIO mask and direction Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 42cfa276aebd28e5cc4350ff6c7d75f1cb84dd98 Author: Pavel Hofman Date: Wed Sep 16 22:25:37 2009 +0200 ALSA: ak4113 support * complete support for ak4113 * based on code for ak4114 and ak4117 Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 8f34692f63d66805b51ff408f4067748d3c1c3fd Author: Pavel Hofman Date: Wed Sep 16 22:25:36 2009 +0200 ALSA: ak4620 support, codec regs listed in proc * complete support for ak4620 * codec regs listed in proc for all codecs/chips * adding total regs for each codec * fixing nb. of steps in input attenuation controls Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit c0a9eedf9acafb083adf3ddbff0a1e4d6d9a6949 Author: Pavel Hofman Date: Wed Sep 16 22:25:35 2009 +0200 ALSA: ak4114 - fix errors in output selector bits * the previous version had a typo - values of AK4114_OPS10-12 were identical with AK4114_OPS00-02 * Since no cards actually use this feature, the bug was not identified earlier Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit e0274b0a300e58cad19ab347566c68762bb22d2c Merge: d62ab35 b5ab887 Author: Mark Brown Date: Mon Sep 21 04:54:21 2009 -0700 Merge branch 'upstream/wm8711' into for-2.6.33 commit d62ab3589462d406e98731799361f46095467882 Author: Mark Brown Date: Mon Sep 21 04:21:47 2009 -0700 ASoC: Convert soc-cache to use C99 style initialisers for the table Signed-off-by: Mark Brown commit d01d4827858cdc2e1c437c87ab65ec0a00fd40f8 Author: Heiko Carstens Date: Mon Sep 21 11:06:27 2009 +0200 sched: Always show Cpus_allowed field in /proc//status The Cpus_allowed fields in /proc//status is currently only shown in case of CONFIG_CPUSETS. However their contents are also useful for the !CONFIG_CPUSETS case. So change the current behaviour and always show these fields. Signed-off-by: Heiko Carstens Cc: Andrew Morton Cc: Oleg Nesterov Cc: Peter Zijlstra LKML-Reference: <20090921090627.GD4649@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar commit d0f5fa17aa63262685e43b798ca0830d89786235 Author: jassi brar Date: Sat Sep 19 09:46:06 2009 +0900 ASoC: Support WM8580 based audio subsystem on SMDK64xx machines New machine driver for WM8580 I2S i/f on SMDK64XX. By default SoC-Slave is set and WM8580 is configured to use it's PLLA to generate clocks from a 12MHz crystal attached to WM8580. [Added dependency on BROKEN since the IISv4 interface hasn't been merged yet, fixed the PLL API usage and removed the disabling of the PLL in the hw_free function since that'll break simultaneous playback and record -- broonie.] Signed-off-by: Jassi Signed-off-by: Mark Brown commit 9f072b7b2260a588bfb5fb43418c3358104e7c13 Merge: b1cd6b9 0c31cf3 Author: Mark Brown Date: Fri Sep 18 15:09:44 2009 +0100 Merge branch 'for-2.6.32' into for-2.6.33 commit b1cd6b9ec7c749ddfad628c8c12659591ae195e6 Author: Jassi Date: Fri Sep 18 15:22:27 2009 +0900 ASoC: Return correct codec clock in s3c64xx-i2s Instead of always returnig pointer to the 'audio-bus' clock, check which clock is used to generate internal clocks and then return it's pointer. Signed-off-by: Jassi Signed-off-by: Mark Brown commit 193be0ee17dd7ea309ddab1093da17e5924d7f36 Author: Frederic Weisbecker Date: Thu Sep 17 05:31:37 2009 +0200 kill-the-bkl/reiserfs: Fix induced mm->mmap_sem to sysfs_mutex dependency Alexander Beregalov reported the following warning: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-03149-gdcc030a #1 ------------------------------------------------------- udevadm/716 is trying to acquire lock: (&mm->mmap_sem){++++++}, at: [] might_fault+0x4a/0xa0 but task is already holding lock: (sysfs_mutex){+.+.+.}, at: [] sysfs_readdir+0x5a/0x200 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (sysfs_mutex){+.+.+.}: [...] -> #2 (&bdev->bd_mutex){+.+.+.}: [...] -> #1 (&REISERFS_SB(s)->lock){+.+.+.}: [...] -> #0 (&mm->mmap_sem){++++++}: [...] On reiserfs mount path, we take the reiserfs lock and while initializing the journal, we open the device, taking the bdev->bd_mutex. Then rescan_partition() may signal the change to sysfs. We have then the following dependency: reiserfs_lock -> bd_mutex -> sysfs_mutex Later, while entering reiserfs_readpage() after a pagefault in an mmaped reiserfs file, we are holding the mm->mmap_sem, and we are going to take the reiserfs lock too. We have then the following dependency: mm->mmap_sem -> reiserfs_lock which, expanded with the previous dependency gives us: mm->mmap_sem -> reiserfs_lock -> bd_mutex -> sysfs_mutex Now while entering the sysfs readdir path, we are holding the sysfs_mutex. And when we copy a directory entry to the user buffer, we might fault and then take the mm->mmap_sem lock. Which leads to the circular locking dependency reported. We can fix that by relaxing the reiserfs lock during the call to journal_init_dev(), which is the place where we open the mounted device. This is fine to relax the lock here because we are in the begining of the reiserfs mount path and there is nothing to protect at this time, the journal is not intialized. We just keep this lock around for paranoid reasons. Reported-by: Alexander Beregalov Tested-by: Alexander Beregalov Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 1f0ab40976460bc4673fa204ce917a725185d8f2 Author: Ananth N Mavinakayanahalli Date: Tue Sep 15 10:43:07 2009 +0530 kprobes: Prevent re-registration of the same kprobe Prevent re-registration of the same kprobe. This situation, though unlikely, needs to be flagged since it can lead to a system crash if it's not handled. The core change itself is small, but the helper routine needed to be moved around a bit; hence the diffstat. Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu Cc: Jim Keniston Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090915051307.GB26458@in.ibm.com> Signed-off-by: Frederic Weisbecker commit 5a0d9050db4d1147722b42afef9011251b2651ee Author: Masami Hiramatsu Date: Mon Sep 14 16:49:37 2009 -0400 tracing/kprobes: Disable kprobe events by default after creation Disable newly created kprobe events by default, not to disturb another user using ftrace. "Disturb" means when someone is using ftrace and another user tries to use perf-tools, (in near future) if he defines new kprobe event via perf-tools, then new events will mess up the frace buffer. Fix this to allow proper and transparent kprobes events concurrent usage between ftrace users and perf users. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204937.18779.59422.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 74ebb63e7cd25f6fb02a45fc2ea7735bce1217c9 Author: Masami Hiramatsu Date: Mon Sep 14 16:49:28 2009 -0400 tracing/kprobes: Fix profiling alignment for perf_counter buffer Fix *probe_profile_func() to align buffer size, since perf_counter requires its buffer entries to be 8 bytes aligned. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204928.18779.60029.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 50d780560785b068c358675c5f0bf6c83b5c373e Author: Masami Hiramatsu Date: Mon Sep 14 16:49:20 2009 -0400 tracing/kprobes: Add probe handler dispatcher to support perf and ftrace concurrent use Add kprobe_dispatcher and kretprobe_dispatcher to dispatch event in both profile and tracing handlers. This allows simultaneous kprobe uses by ftrace and perf. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204920.18779.57555.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 4fead8e46fded93cc0d432ced774d9a3a8d21bad Author: Masami Hiramatsu Date: Mon Sep 14 16:49:12 2009 -0400 ftrace: Fix trace_remove_event_call() to lock trace_event_mutex Lock not only event_mutex but also trace_event_mutex in trace_remove_event_call() to protect __unregister_ftrace_event(). Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204912.18779.68734.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 588bebb74fe87270f94c2810652bd683d63c4b54 Author: Masami Hiramatsu Date: Wed Sep 16 11:42:55 2009 -0400 ftrace: Fix trace_add_event_call() to initialize list Handle failure path in trace_add_event_call() to fix the below bug which occurred when I tried to add invalid event twice. Could not create debugfs 'kmalloc' directory Failed to register kprobe event: kmalloc Faild to register probe event(-1) ------------[ cut here ]------------ WARNING: at /home/mhiramat/ksrc/random-tracing/lib/list_debug.c:26 __list_add+0x27/0x5c() Hardware name: list_add corruption. next->prev should be prev (c07d78cc), but was 00001000. (next=d854236c). Modules linked in: sunrpc uinput virtio_net virtio_balloon i2c_piix4 pcspkr i2c_core virtio_blk virtio_pci virtio_ring virtio [last unloaded: scsi_wait_scan] Pid: 1394, comm: tee Not tainted 2.6.31-rc9 #51 Call Trace: [] warn_slowpath_common+0x65/0x7c [] ? __list_add+0x27/0x5c [] warn_slowpath_fmt+0x24/0x27 [] __list_add+0x27/0x5c [] list_add+0xa/0xc [] trace_add_event_call+0x60/0x97 [] command_trace_probe+0x42c/0x51b [] ? remove_wait_queue+0x22/0x27 [] ? __wake_up+0x32/0x3b [] probes_write+0xd4/0x10a [] ? probes_write+0x0/0x10a [] vfs_write+0x80/0xdf [] sys_write+0x3b/0x5d [] syscall_call+0x7/0xb ---[ end trace 2b962b5dc1fdc07d ]--- Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <4AB1077F.6020107@redhat.com> Signed-off-by: Frederic Weisbecker commit 2d5e067edc4635ff7515bfa9ab3edb38bc344cab Author: Masami Hiramatsu Date: Mon Sep 14 16:48:56 2009 -0400 tracing/kprobes: Fix trace_probe registration order Fix trace_probe registration order. ftrace_event_call and ftrace_event must be registered before kprobe/kretprobe, because tracing/profiling handlers dereference the event-id. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Tom Zanussi LKML-Reference: <20090914204856.18779.52961.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit f52487e9c0041842eeb77c6c48774414b1cede08 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:53 2009 -0400 tracing/kprobes: Support custom subsystem for each kprobe event Support specifying a custom subsystem(group) for each kprobe event. This allows users to create new group to control several probes at once, or add events to existing groups as additional tracepoints. New synopsis: p[:[subsys/]event-name] KADDR|KSYM[+offs] [ARGS] Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235353.22412.15149.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 8bb014895547eeeb9aa61a654f24e41e15919304 Author: Mark Brown Date: Wed Sep 16 19:38:53 2009 +0100 ASoC: Add S3C64xx IIS CDCLK source selection CDCLK can either be an output generated by the CPU, intended for use as the CODEC master clock, or an input (probably from the CODEC) providing a master clock for the IIS block. Signed-off-by: Mark Brown commit 9b95b166789d3ec57cea8cca0d42e602b8643ab0 Author: Miguel Aguilar Date: Wed Sep 2 15:33:59 2009 -0600 ASoC: Davinci: Add audio codec support for DM365 EVM This patch enables tlv320aic3101 support on DM365 EVM and it was tested on DM365 EVM rev c. Note: this patch was created based on temp/asoc branch. Signed-off-by: Miguel Aguilar Signed-off-by: Mark Brown commit 08db48f1ee1adf8919484f731d4ad6b264cfc564 Author: Barry Song Date: Tue Sep 15 11:24:52 2009 +0800 ASoC: use set_channel_map api to reorder channels for AD1938 and AD1836 Signed-off-by: Barry Song Signed-off-by: Mark Brown commit fd5ad654e665b5c30c8d755a106309c8ea9f3e7b Author: Jassi Date: Tue Sep 15 19:02:38 2009 +0900 ASoC: S3C I2S LRCLK polarity option. 1) Explicitly set LRCLK polarity for I2S Vs LSM/MSB modes. 2) Convert from numerical to bit-field values for BCLK selection. 3) Use proper error checking for return value from clk_get Signed-off-by: Jassi Signed-off-by: Mark Brown commit dca2d6ac09d9ef59ff46820d4f0c94b08a671202 Merge: d6a65df 1824090 Author: Ingo Molnar Date: Tue Sep 15 12:18:15 2009 +0200 Merge branch 'linus' into tracing/hw-breakpoints Conflicts: arch/x86/kernel/process_64.c Semantic conflict fixed in: arch/x86/kvm/x86.c Signed-off-by: Ingo Molnar commit b8a4754147d61f5359a765a3afd3eb03012aa052 Author: Borislav Petkov Date: Thu Jul 30 11:10:02 2009 +0200 x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus Since rdmsr_on_cpus and wrmsr_on_cpus are almost identical, unify them into a common __rwmsr_on_cpus helper thus avoiding code duplication. While at it, convert cpumask_t's to const struct cpumask *. Signed-off-by: Borislav Petkov Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 80503185989b2dd84170bb842e23d3fd45ebdf40 Author: Frederic Weisbecker Date: Tue Aug 25 04:18:06 2009 +0200 kill-the-bkl/reiserfs: panic in case of lock imbalance Until now, trying to unlock the reiserfs write lock whereas the current task doesn't hold it lead to a simple warning. We should actually warn and panic in this case to avoid the user datas to reach an unstable state. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 7e94277050e31aa4204060f03953bba72598cf7d Author: Frederic Weisbecker Date: Tue Aug 25 03:38:12 2009 +0200 kill-the-bkl/reiserfs: fix recursive reiserfs write lock in reiserfs_commit_write() reiserfs_commit_write() is always called with the write lock held. Thus the current calls to reiserfs_write_lock() in this function are acquiring the lock recursively. We can safely drop them. This also solves further assumptions for this lock to be really released while calling reiserfs_write_unlock(). Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit b10ab4c337a600456ed2d9daea0331016f7cdeeb Author: Frederic Weisbecker Date: Tue Aug 25 02:44:21 2009 +0200 kill-the-bkl/reiserfs: fix recursive reiserfs lock in reiserfs_mkdir() reiserfs_mkdir() acquires the reiserfs lock, assuming it has been called from the dir inodes callbacks, without the lock held. But it can also be called from other internal sites such as reiserfs_xattr_init() which already holds the lock. This recursive locking leads to further wrong assumptions. For example, later calls to reiserfs_mutex_lock_safe() won't actually unlock the reiserfs lock the time we acquire a given mutex, creating unexpected lock inversions. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit ae635c0bbd6c10aa62bf5149c6f41add59fbf4d2 Author: Frederic Weisbecker Date: Tue Aug 25 02:24:45 2009 +0200 kill-the-bkl/reiserfs: fix "reiserfs lock" / "inode mutex" lock inversion dependency reiserfs_xattr_init is called with the reiserfs write lock held, but if the ".reiserfs_priv" entry is not created, we take the superblock root directory inode mutex until .reiserfs_priv is created. This creates a lock dependency inversion against other sites such as reiserfs_file_release() which takes an inode mutex and the reiserfs lock after. Signed-off-by: Frederic Weisbecker Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Cc: Laurent Riffard commit 08f14fc8963e585e65b71212ce8050607b9b6c36 Author: Frederic Weisbecker Date: Sat May 16 19:10:38 2009 +0200 kill-the-bkl/reiserfs: move the concurrent tree accesses checks per superblock When do_balance() balances the tree, a trick is performed to provide the ability for other tree writers/readers to check whether do_balance() is executing concurrently (requires CONFIG_REISERFS_CHECK). This is done to protect concurrent accesses to the tree. The trick is the following: When do_balance is called, a unique global variable called cur_tb takes a pointer to the current tree to be rebalanced. Once do_balance finishes its work, cur_tb takes the NULL value. Then, concurrent tree readers/writers just have to check the value of cur_tb to ensure do_balance isn't executing concurrently. If it is, then it proves that schedule() occured on do_balance(), which then relaxed the bkl that protected the tree. Now that the bkl has be turned into a mutex, this check is still fine even though do_balance() becomes preemptible: the write lock will not be automatically released on schedule(), so the tree is still protected. But this is only fine if we have a single reiserfs mountpoint. Indeed, because the bkl is a global lock, it didn't allowed concurrent executions between a tree reader/writer in a mount point and a do_balance() on another tree from another mountpoint. So assuming all these readers/writers weren't supposed to be reentrant, the current check now sometimes detect false positives with the current per-superblock mutex which allows this reentrancy. This patch keeps the concurrent tree accesses check but moves it per superblock, so that only trees from a same mount point are checked to be not accessed concurrently. [ Impact: fix spurious panic while running several reiserfs mount-points ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit c72e05756b900b3be24cd73a16de52bab80984c0 Author: Frederic Weisbecker Date: Sat May 16 18:12:08 2009 +0200 kill-the-bkl/reiserfs: acquire the inode mutex safely While searching a pathname, an inode mutex can be acquired in do_lookup() which calls reiserfs_lookup() which in turn acquires the write lock. On the other side reiserfs_fill_super() can acquire the write_lock and then call reiserfs_lookup_privroot() which can acquire an inode mutex (the root of the mount point). So we theoretically risk an AB - BA lock inversion that could lead to a deadlock. As for other lock dependencies found since the bkl to mutex conversion, the fix is to use reiserfs_mutex_lock_safe() which drops the lock dependency to the write lock. [ Impact: fix a possible deadlock with reiserfs ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 2ac626955ed62ee8596f00581f959cc86e6198d1 Author: Frederic Weisbecker Date: Thu May 14 02:56:39 2009 +0200 kill-the-bkl/reiserfs: unlock only when needed in search_by_key search_by_key() is the site which most requires the lock. This is mostly because it is a very central function and also because it releases/reaqcuires the write lock at least once each time it is called. Such release/reacquire creates a lot of contention in this place and also opens more the window which let another thread changing the tree. When it happens, the current path searching over the tree must be retried from the beggining (the root) which is a wasteful and time consuming recovery. This patch factorizes two release/reacquire sequences: - reading leaf nodes blocks - reading current block The latter immediately follows the former. The whole sequence is safe as a single unlocked section because we check just after if the tree has changed during these operations. Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit c63e3c0b2498adec921b06c670d12c8c74b85538 Author: Frederic Weisbecker Date: Fri May 8 20:01:09 2009 +0200 kill-the-bkl/reiserfs: use mutex_lock in reiserfs_mutex_lock_safe reiserfs_mutex_lock_safe() is a hack to avoid any dependency between an internal reiserfs mutex and the write lock, it has been proposed to follow the old bkl logic. The code does the following: while (!mutex_trylock(m)) { reiserfs_write_unlock(s); schedule(); reiserfs_write_lock(s); } It then imitate the implicit behaviour of the lock when it was a Bkl and hadn't such dependency: mutex_lock(m) { if (fastpath) let's go else { wait_for_mutex() { schedule() { unlock_kernel() reacquire_lock_kernel() } } } } The problem is that by using such explicit schedule(), we don't benefit of the adaptive mutex spinning on owner. The logic in use now is: reiserfs_write_unlock(s); mutex_lock(m); // -> possible adaptive spinning reiserfs_write_lock(s); [ Impact: restore the use of adaptive spinning mutexes in reiserfs ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit d6f5b0aa08078c3dabe377d5b1a6077e9c9352d3 Author: Frederic Weisbecker Date: Fri May 8 14:53:52 2009 +0200 kill-the-bkl/reiserfs: factorize the locking in reiserfs_write_end() reiserfs_write_end() is a hot path in reiserfs. We have two wasteful write lock lock/release inside that can be gathered without changing the code logic. This patch factorizes them out in a single protected section, reducing the number of contentions inside. [ Impact: reduce lock contention in a reiserfs hotpath ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 09eb47a7c52ad535aafca889e0b936c445c375ce Author: Frederic Weisbecker Date: Fri May 8 14:21:33 2009 +0200 kill-the-bkl/reiserfs: reduce number of contentions in search_by_key() search_by_key() is a central function in reiserfs which searches the patch in the fs tree from the root to a node given its key. It is the function that is most requesting the write lock because it's a path very often used. Also we forget to release the lock while reading the next tree node, making us holding the lock in a wasteful way. Then we release the lock while reading the current node and its childs, all-in-one. It should be safe because we have a reference to these blocks and even if we read a block that will be concurrently changed, we have an fs_changed check later that will make us retry the path from the root. [ Impact: release the write lock while unused in a hot path ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit b1c839bb2d8d6f1f6bf48f5c657752b4963f88f8 Author: Frederic Weisbecker Date: Fri May 8 01:05:06 2009 +0200 kill-the-bkl/reiserfs: don't hold the write recursively in reiserfs_lookup() The write lock can be acquired recursively in reiserfs_lookup(). But we may want to *really* release the lock before possible rescheduling from a reiserfs_lookup() callee. Hence we want to only acquire the lock once (ie: not recursively). [ Impact: prevent from possible false unreleased write lock on sleeping ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 26931309a47747fd31b2ef029c29d47794c2d93d Author: Frederic Weisbecker Date: Thu May 7 23:48:44 2009 +0200 kill-the-bkl/reiserfs: lock only once on reiserfs_get_block() reiserfs_get_block() is one of these sites where the write lock might be acquired recursively. It's a particular problem because this function is called very often. It's a hot spot which needs to reschedule() periodically while converting direct items to indirect ones because it can take some time. Then if we are applying the write lock release/reacquire pattern on schedule() here, it may not produce the desired effect since we may have locked in more than one depth. The solution is to use reiserfs_write_lock_once() which won't try to reacquire the lock recursively. Then the lock will be *really* released before schedule(). Also, we only release the lock if TIF_NEED_RESCHED is set to not create wasteful numerous contentions. [ Impact: fix a too long holded lock case in reiserfs_get_block() ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit d663af807d8bb226394cb7e02f4665f6141a8140 Author: Frederic Weisbecker Date: Thu May 7 23:25:29 2009 +0200 kill-the-bkl/reiserfs: conditionaly release the write lock on fs_changed() The goal of fs_changed() is to check whether the tree changed during a schedule(). This is a BKL legacy. A recent patch added an explicit unconditional release/reacquire of the write lock around the cond_resched() called inside fs_changed. But it's wasteful to unconditionally do that, we are creating superfluous lock contention in !TIF_NEED_RESCHED case. This patch manage that by calling reiserfs_cond_resched() from fs_changed() which only releases the lock if we are going to reschedule. [ Impact: inject less lock contention and tree job retries ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit e43d3f21c502dec786f2885a75e25859f18d6ffa Author: Frederic Weisbecker Date: Thu May 7 22:51:20 2009 +0200 kill-the-BKL/reiserfs: add reiserfs_cond_resched() Usually, when we call cond_resched(), we want the write lock to be released and then reacquired once we return from scheduling. Not only does it follow the previous bkl based locking scheme, but it also let other waiters to get the lock. But if we aren't going to reschedule(), such as in !TIF_NEED_RESCHED case, it's useless to release the lock. Worse, if we release and reacquire the lock whereas it is not needed, we create useless contentions. Also if someone takes the lock while we are modifying or reading the tree, there are good chances we'll have to retry our operation, eg if the block we were seeeking has moved. So this patch introduces a helper which only unlock the write lock if we are going to schedule. [ Impact: prepare to inject less lock contention and less tree operation attempts ] Reported-by: Andi Kleen Cc: Jeff Mahoney Cc: Chris Mason Cc: Ingo Molnar Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 6e3647acb4f200add1d8e0203514f7ac925ae463 Author: Frederic Weisbecker Date: Fri May 1 02:27:39 2009 +0200 kill-the-BKL/reiserfs: release the write lock on flush_commit_list() flush_commit_list() uses ll_rw_block() to commit the pending log blocks. ll_rw_block() might sleep, and the bkl was released at this point. Then we can also relax the write lock at this point. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 4c5eface5d0e4eb7f77be346193c2850e7e3b983 Author: Frederic Weisbecker Date: Fri May 1 01:44:57 2009 +0200 kill-the-BKL/reiserfs: release the write lock inside reiserfs_read_bitmap_block() reiserfs_read_bitmap_block() uses sb_bread() to read the bitmap block. This helper might sleep. Then, when the bkl was used, it was released at this point. We can then relax the write lock too here. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 148d3504c1d9f964cf14fafc46d2b7d1f0bed2b1 Author: Frederic Weisbecker Date: Fri May 1 01:10:52 2009 +0200 kill-the-BKL/reiserfs: release the write lock inside get_neighbors() get_neighbors() is used to get the left and/or right blocks against a given one in order to balance a tree. sb_bread() is used to read the buffer of these neighors blocks and while it waits for this operation, it might sleep. The bkl was released at this point, and then we can also release the write lock before calling sb_bread(). This is safe because if the filesystem is changed after this lock release, the function returns REPEAT_SEARCH (aka SCHEDULE_OCCURRED in the function header comments) in order to repeat the neighbhor research. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit 5e69e3a4492ea5abfd2e8ddc575448becf28e4d9 Author: Frederic Weisbecker Date: Thu Apr 30 23:36:33 2009 +0200 kill-the-BKL/reiserfs: release write lock while rescheduling on prepare_for_delete_or_cut() prepare_for_delete_or_cut() can process several types of items, including indirect items, ie: items which contain no file data but pointers to unformatted nodes scattering the datas of a file. In this case it has to zero out these pointers to block numbers of unformatted nodes and release the bitmap from these block numbers. It can take some time, so a rescheduling() is performed between each block processed. We can safely release the write lock while rescheduling(), like the bkl did, because the code checks just after if the item has moved after sleeping. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit e6950a4da33fa84ef4402d29e2331cd5e5df9cb8 Author: Frederic Weisbecker Date: Thu Apr 30 23:04:32 2009 +0200 kill-the-BKL/reiserfs: release the write lock before rescheduling on do_journal_end() When do_journal_end() copies data to the journal blocks buffers in memory, it reschedules if needed between each block copied and dirtyfied. We can also release the write lock at this rescheduling stage, like did the bkl implicitly. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit f32049dc244f4d394c8faa161b4f13cb8c4f5c8c Author: Frederic Weisbecker Date: Thu Apr 30 22:05:25 2009 +0200 kill-the-BKL/reiserfs: release write lock on fs_changed() fs_changed() is a macro used by reiserfs to check whether its tree has been rebalanced. It has been designed to check parallel changes on the tree after calling a sleeping function, which released the Bkl. fs_changed() also calls cond_resched(), so that if rescheduling is needed, we are in the best place to do that, since we check if the tree has changed just after (because of the bkl release on schedule()). Even if we are not anymore using the Bkl, we still want to release the lock while we reschedule, so that other waiters for the lock can acquire it safely, because of the following __fs_changed() check. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexander Beregalov Signed-off-by: Frederic Weisbecker commit dc8f6d8936eb244eea452af689df5ee19e635206 Author: Frederic Weisbecker Date: Tue Apr 14 05:34:25 2009 +0200 kill-the-BKL/reiserfs: only acquire the write lock once in reiserfs_dirty_inode Impact: fix a deadlock reiserfs_dirty_inode() is the super_operations::dirty_inode() callback of reiserfs. It can be called from different contexts where the write lock can be already held. But this function also grab the write lock (possibly recursively). Subsequent release of the lock before sleep will actually not release the lock if the caller of mark_inode_dirty() (which in turn calls reiserfs_dirty_inode()) already owns the lock. A typical case: reiserfs_write_end() { acquire_write_lock() mark_inode_dirty() { reiserfs_dirty_inode() { reacquire_write_lock() { journal_begin() { do_journal_begin_r() { /* * fail to release, still * one depth of lock */ release_write_lock() reiserfs_wait_on_write_block() { wait_event() The event is usually provided by something which needs the write lock but it hasn't been released. We use reiserfs_write_lock_once() here to ensure we only grab the write lock in one level. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney Cc: Chris Mason LKML-Reference: <1239680065-25013-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 22c963addcf426bef97a43f6e601f985f8082ed5 Author: Frederic Weisbecker Date: Tue Apr 14 05:34:24 2009 +0200 kill-the-BKL/reiserfs: lock only once in reiserfs_truncate_file Impact: fix a deadlock reiserfs_truncate_file() can be called from multiple context where the write lock can be already hold or not. This function also acquire (possibly recursively) the write lock. Subsequent releases before sleeping will not actually release the lock because we may be in more than one lock depth degree. A typical case is: reiserfs_file_release { acquire_the_lock() reiserfs_truncate_file() reacquire_the_lock() journal_begin() { do_journal_begin_r() { reiserfs_wait_on_write_block() { /* * Not released because still one * depth owned */ release_lock() wait_for_event() At this stage the event never happen because the one which provides it needs the write lock. We use reiserfs_write_lock_once() here to ensure that we don't acquire the write lock recursively. Signed-off-by: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney Cc: Alexander Beregalov Cc: Chris Mason LKML-Reference: <1239680065-25013-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit daf88c898312a22b5385655bc6e0b064eaa2efba Author: Frederic Weisbecker Date: Tue Apr 14 05:34:23 2009 +0200 kill-the-BKL/reiserfs: provide a tool to lock only once the write lock Sometimes we don't want to recursively hold the per superblock write lock because we want to be sure it is actually released when we come to sleep. This patch introduces the necessary tools for that. reiserfs_write_lock_once() does the same job than reiserfs_write_lock() except that it won't try to acquire recursively the lock if the current task already owns it. Also the lock_depth before the call of this function is returned. reiserfs_write_unlock_once() unlock only if reiserfs_write_lock_once() returned a depth equal to -1, ie: only if it actually locked. Signed-off-by: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney Cc: Alexander Beregalov Cc: Chris Mason LKML-Reference: <1239680065-25013-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit a412f9efdd6424bf4bf28c8e8c92060b5e975482 Author: Frederic Weisbecker Date: Tue Apr 14 00:10:35 2009 +0200 reiserfs, kill-the-BKL: fix unsafe j_flush_mutex lock Impact: fix a deadlock The j_flush_mutex is acquired safely in journal.c: if we can't take it, we free the reiserfs per superblock lock and wait a bit. But we have a remaining place in kupdate_transactions() where j_flush_mutex is still acquired traditionnaly. Thus the following scenario (warned by lockdep) can happen: A B mutex_lock(&write_lock) mutex_lock(&write_lock) mutex_lock(&j_flush_mutex) mutex_lock(&j_flush_mutex) //block mutex_unlock(&write_lock) sleep... mutex_lock(&write_lock) //deadlock Fix this by using reiserfs_mutex_lock_safe() in kupdate_transactions(). Signed-off-by: Frederic Weisbecker Cc: Alessio Igor Bogani Cc: Jeff Mahoney LKML-Reference: <1239660635-12940-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8ebc423238341b52912c7295b045a32477b33f09 Author: Frederic Weisbecker Date: Tue Apr 7 04:19:49 2009 +0200 reiserfs: kill-the-BKL This patch is an attempt to remove the Bkl based locking scheme from reiserfs and is intended. It is a bit inspired from an old attempt by Peter Zijlstra: http://lkml.indiana.edu/hypermail/linux/kernel/0704.2/2174.html The bkl is heavily used in this filesystem to prevent from concurrent write accesses on the filesystem. Reiserfs makes a deep use of the specific properties of the Bkl: - It can be acqquired recursively by a same task - It is released on the schedule() calls and reacquired when schedule() returns The two properties above are a roadmap for the reiserfs write locking so it's very hard to simply replace it with a common mutex. - We need a recursive-able locking unless we want to restructure several blocks of the code. - We need to identify the sites where the bkl was implictly relaxed (schedule, wait, sync, etc...) so that we can in turn release and reacquire our new lock explicitly. Such implicit releases of the lock are often required to let other resources producer/consumer do their job or we can suffer unexpected starvations or deadlocks. So the new lock that replaces the bkl here is a per superblock mutex with a specific property: it can be acquired recursively by a same task, like the bkl. For such purpose, we integrate a lock owner and a lock depth field on the superblock information structure. The first axis on this patch is to turn reiserfs_write_(un)lock() function into a wrapper to manage this mutex. Also some explicit calls to lock_kernel() have been converted to reiserfs_write_lock() helpers. The second axis is to find the important blocking sites (schedule...(), wait_on_buffer(), sync_dirty_buffer(), etc...) and then apply an explicit release of the write lock on these locations before blocking. Then we can safely wait for those who can give us resources or those who need some. Typically this is a fight between the current writer, the reiserfs workqueue (aka the async commiter) and the pdflush threads. The third axis is a consequence of the second. The write lock is usually on top of a lock dependency chain which can include the journal lock, the flush lock or the commit lock. So it's dangerous to release and trying to reacquire the write lock while we still hold other locks. This is fine with the bkl: T1 T2 lock_kernel() mutex_lock(A) unlock_kernel() // do something lock_kernel() mutex_lock(A) -> already locked by T1 schedule() (and then unlock_kernel()) lock_kernel() mutex_unlock(A) .... This is not fine with a mutex: T1 T2 mutex_lock(write) mutex_lock(A) mutex_unlock(write) // do something mutex_lock(write) mutex_lock(A) -> already locked by T1 schedule() mutex_lock(write) -> already locked by T2 deadlock The solution in this patch is to provide a helper which releases the write lock and sleep a bit if we can't lock a mutex that depend on it. It's another simulation of the bkl behaviour. The last axis is to locate the fs callbacks that are called with the bkl held, according to Documentation/filesystem/Locking. Those are: - reiserfs_remount - reiserfs_fill_super - reiserfs_put_super Reiserfs didn't need to explicitly lock because of the context of these callbacks. But now we must take care of that with the new locking. After this patch, reiserfs suffers from a slight performance regression (for now). On UP, a high volume write with dd reports an average of 27 MB/s instead of 30 MB/s without the patch applied. Signed-off-by: Frederic Weisbecker Reviewed-by: Ingo Molnar Cc: Jeff Mahoney Cc: Peter Zijlstra Cc: Bron Gondwana Cc: Andrew Morton Cc: Linus Torvalds Cc: Alexander Viro LKML-Reference: <1239070789-13354-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 472df3cbae8da6a949f1392a11958b8d21383735 Author: Barry Song <21cnbao@gmail.com> Date: Sat Sep 12 01:16:29 2009 +0800 ASoC: Provide API for reordering channels The patch adds an interface to set the relationship between audio channel number and slot number. The interface should be really useful because audio channel n doesn't always use slot n in all platforms. And for some devices, the relationship even can change with sound mode switch in 2.1,3.1,4.1,5.1,6.1,7.1 etc. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 6e9f23d1619f7badaf9090dac09e86a22d6061d8 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:45 2009 -0400 tracing/kprobes: Show event name in trace output Show event name in tracing/trace output. This also fixes kprobes events format to comply with other tracepoint events formats. Before patching: <...>-1447 [001] 1038282.286875: do_sys_open+0x0/0xd6: ... <...>-1447 [001] 1038282.286878: sys_openat+0xc/0xe <- do_sys_open: ... After patching: <...>-1447 [001] 1038282.286875: myprobe: (do_sys_open+0x0/0xd6) ... <...>-1447 [001] 1038282.286878: myretprobe: (sys_openat+0xc/0xe <- do_sys_open) ... Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235345.22412.76527.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit eca0d916f6429785bbc88db3ff66631cde62b432 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:38 2009 -0400 tracing/kprobes: Add argument name support Add argument name assignment support and remove "alias" lines from format. This allows user to assign unique name to each argument. For example, $ echo p do_sys_open dfd=a0 filename=a1 flags=a2 mode=a3 > kprobe_events This assigns dfd, filename, flags, and mode to 1st - 4th arguments respectively. Trace buffer shows those names too. <...>-1439 [000] 1200885.933147: do_sys_open+0x0/0xdf: dfd=ffffff9c filename=bfa898ac flags=8000 mode=0 This helps users to know what each value means. Users can filter each events by these names too. Note that you can not filter by argN anymore. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235337.22412.77383.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit e08d1c657f70bcaca11401cd6ac5c8fe59bd2bb7 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:30 2009 -0400 tracing/kprobes: Add event profiling support Add *probe_profile_enable/disable to support kprobes raw events sampling from perf counters, like other ftrace events, when CONFIG_PROFILE_EVENT=y. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235329.22412.94731.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 4a846b443b4e8633057946a2234e23559a67ce42 Author: Masami Hiramatsu Date: Fri Sep 11 05:31:21 2009 +0200 tracing/kprobes: Cleanup kprobe tracer code. Simplify trace_probe to remove a union, and remove some redundant wrappers. And also, cleanup create_trace_probe() function. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235322.22412.52525.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 2fba0c8867af47f6455490e7b59e512dd180c027 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:14 2009 -0400 tracing/kprobes: Fix probe offset to be unsigned Prohibit user to specify negative offset from symbols. Since kprobe.offset is unsigned int, the offset must be always positive value. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235314.22412.64631.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit ad5cafcdb09c57008c990edd309c0a563b09f238 Author: Masami Hiramatsu Date: Thu Sep 10 19:53:06 2009 -0400 x86/ptrace: Fix regs_get_argument_nth() to add correct offset Fix regs_get_argument_nth() to add correct offset bytes. Because offset_of() returns offset in byte, the offset should be added to char * instead of unsigned long *. Signed-off-by: Masami Hiramatsu Acked-by: Steven Rostedt Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <20090910235306.22412.31613.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit a00e817f42663941ea0aa5f85a9d1c4f8b212839 Author: Masami Hiramatsu Date: Tue Sep 8 12:47:55 2009 -0400 kprobes/x86-32: Move irq-exit functions to kprobes section Move irq-exit functions to .kprobes.text section to protect against kprobes recursion. When I ran kprobe stress test on x86-32, I found below symbols cause unrecoverable recursive probing: ret_from_exception ret_from_intr check_userspace restore_all restore_all_notrace restore_nocheck irq_return And also, I found some interrupt/exception entry points that cause similar problems. This patch moves those symbols (including their container functions) to .kprobes.text section to prevent any kprobes probing. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Ingo Molnar LKML-Reference: <20090908164755.24050.81182.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit f12b4f546b4e327d5620a544a2bddab68de66027 Author: Masami Hiramatsu Date: Tue Sep 8 12:32:46 2009 -0400 x86: Add MMX support for instruction decoder Add MMX/SSE instructions to x86 opcode maps, since some of those instructions are used in the kernel. This also fixes failures in the x86 instruction decoder seftest. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Sam Ravnborg Cc: Frederic Weisbecker Cc: Ingo Molnar LKML-Reference: <20090908163246.23516.78835.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Frederic Weisbecker commit 8f8ffe2485bcaa890800681451d380779cea06af Merge: 7006957 d28daf9 Author: Frederic Weisbecker Date: Fri Sep 11 01:09:23 2009 +0200 Merge commit 'tracing/core' into tracing/kprobes Conflicts: kernel/trace/trace_export.c kernel/trace/trace_kprobe.c Merge reason: This topic branch lacks an important build fix in tracing/core: 0dd7b74787eaf7858c6c573353a83c3e2766e674: tracing: Fix double CPP substitution in TRACE_EVENT_FN that prevents from multiple tracepoint headers inclusion crashes. Signed-off-by: Frederic Weisbecker commit 2312fd8f6b252b7d3c1d74b20c75b7bff98bab65 Author: Joonyoung Shim Date: Thu Sep 10 00:12:43 2009 +0900 ASoC: AK4671: add ak4671 codec driver The AK4671 is a stereo CODEC with a built-in Microphone-Amplifier, Receiver-Amplifier and Headphone-Amplifier. The datasheet for the ak4671 can find at the following url: http://www.asahi-kasei.co.jp/akm/en/product/ak4671/ak4671_f01e.pdf Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 215edda3adf502ccdf3a358ab35b616e7abd25ff Author: Mark Brown Date: Tue Sep 8 18:59:05 2009 +0100 ASoC: Allow per-route connectedness checks for supplies Some chips with complex internal supply (particularly clocking) arragements may have multiple options for some of the supply connections. Since these don't affect user-visible audio routing the expectation would be that they would be managed automatically by one of the drivers. Support these users by allowing routes to have a connected function which is queried before the connectedness of the path is checked as normal. Currently this is only done for supplies, other widgets could be supported but are not currently since the expectation for them is that audio routing will be under the control of userspace. Signed-off-by: Mark Brown commit 341c9b84bc01040bd5c75140303e32f6b10098f3 Author: Joonyoung Shim Date: Mon Sep 7 12:04:37 2009 +0900 ASoC: Factor out I2C 8 bit address 8 bit data I/O This patch is for the AK4671 codec driver using this format. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit d6a65dffb30d8636b1e5d4c201564ef401a246cf Author: Frederic Weisbecker Date: Mon Sep 7 03:23:20 2009 +0200 tracing: Fix ring-buffer and ksym tracer merge interaction The compiler warns us about: kernel/trace/trace_ksym.c: In function ksym_hbp_handler: kernel/trace/trace_ksym.c:92: attention : passing argument 1 of trace_buffer_lock_reserve from incompatible pointer type kernel/trace/trace_ksym.c:106: attention : passing argument 1 of trace_buffer_unlock_commit from incompatible pointer type Commit "e77405ad" (tracing: pass around ring buffer instead of tracer) has changed the central tracing APIs. And this change has updated every callsites of these APIs except those that aren't in tracing/core, such as the ksym tracer. Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit a1922ed661ab2c1637d0b10cde933bd9cd33d965 Merge: 75e3375 d28daf9 Author: Ingo Molnar Date: Mon Sep 7 08:19:51 2009 +0200 Merge branch 'tracing/core' into tracing/hw-breakpoints Conflicts: arch/Kconfig kernel/trace/trace.h Merge reason: resolve the conflicts, plus adopt to the new ring-buffer APIs. Signed-off-by: Ingo Molnar commit 85488037bb9b533b064be66412dbe1dbcd2734d9 Author: Mark Brown Date: Sat Sep 5 18:52:16 2009 +0100 ASoC: Add source argument to PLL configuration More and more devices feature PLLs and FLLs with the ability to select between multiple input clocks. In order to better support these devices a new argument, source, has been added to the set_pll() configuration API. Using set_clkdiv() is often difficult due to the need to stop the PLL/FLL before any reconfiguration can be done. Signed-off-by: Mark Brown commit 70069577323e6f72b845166724f34b9858134437 Author: Masami Hiramatsu Date: Fri Aug 28 18:13:26 2009 -0400 x86: Remove unused config macros from instruction decoder selftest Remove dummy definitions of CONFIG_X86_64 and CONFIG_X86_32 because those macros are not used in the instruction decoder anymore. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ingo Molnar LKML-Reference: <20090828221326.8778.70723.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 50a482fbd96943516b7a2783900e8fe61a6425e7 Author: Masami Hiramatsu Date: Fri Aug 28 18:13:19 2009 -0400 x86: Allow x86-32 instruction decoder selftest on x86-64 Pass $(CONFIG_64BIT) to the x86 insn decoder selftest in case we are decoding 32bit code on x86-64, which will happen when building kernel with ARCH=i386 on x86-64. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: Ingo Molnar LKML-Reference: <20090828221319.8778.88508.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 65e234ec2c4a0659ca22531dc1372a185f088517 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:32 2009 -0400 kprobes: Prohibit to probe native_get_debugreg Since do_debug() calls get_debugreg(), native_get_debugreg() will be called from singlestepping. This can cause an int3 infinite loop. We can't put it in the .text.kprobes section because it is inlined, then we blacklist its name. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172332.8246.34194.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 8222d718b3ad3ae49c48f69ae4b6a1128c9a92cf Author: Masami Hiramatsu Date: Thu Aug 27 13:23:25 2009 -0400 kprobes/x86-64: Fix to move common_interrupt to .kprobes.text Since nmi, debug and int3 returns to irq_return inside common_interrupt, probing this function will cause int3-loop, so it should be marked as __kprobes. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172325.8246.40000.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 8f270083587a4cb70fa14f0e2fd698eb08a4dd07 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:18 2009 -0400 kprobes: Fix to add __kprobes to notify_die Add __kprobes to notify_die() because do_int3() calls notify_die() instead of atomic_notify_call_chain() which is already marked as __kprobes. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172318.8246.53702.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 62c9295f9dd250ea1bb2c8078642a275a9ce82f8 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:11 2009 -0400 kprobes/x86: Fix to add __kprobes to in-kernel fault handing functions Add __kprobes to the functions which handle in-kernel fixable page faults. Since kprobes can cause those in-kernel page faults by accessing kprobe data structures, probing those fault functions will cause fault-int3-loop (do_page_fault has already been marked as __kprobes). Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172311.8246.92725.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit f5ad31158d60946b9fd18c8a79c283a6bc432430 Author: Masami Hiramatsu Date: Thu Aug 27 13:23:04 2009 -0400 kprobes/x86-64: Allow to reenter probe on post_handler Allow to reenter probe on the post_handler of another probe on x86-64, because x86-64 already allows reentering int3. In that case, reentered probe just increases kp.nmissed and returns. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172304.8246.4822.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit e9afe9e1b3fdbd56cca53959a2519e70db9c8095 Author: Masami Hiramatsu Date: Thu Aug 27 13:22:58 2009 -0400 kprobes/x86: Call BUG() when reentering probe into KPROBES_HIT_SS Call BUG() when a probe have been hit on the way of kprobe processing path, because that kind of probes are currently unrecoverable (recovering it will cause an infinite loop and stack overflow). The original code seems to assume that it's caused by an int3 which another subsystem inserted on out-of-line singlestep buffer if the hitting probe is same as current probe. However, in that case, int3-hitting-address is on the out-of-line buffer and should be different from first (current) int3 address. Thus, I decided to remove the code. I also removes arch_disarm_kprobe() because it will involve other stuffs in text_poke(). Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ingo Molnar LKML-Reference: <20090827172258.8246.61889.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit c95b4502ad7fe8f3b9954aec794b00ac0046ab3a Author: john stultz Date: Thu Aug 27 17:04:42 2009 -0700 ntp: Provide compability defines (You say MOD_NANO, I say ADJ_NANO) MOD_NANO, ADJ_NANO, MOD_NANO, ADJ_NANO! Lets call the whole thing off! But oh! If we call the whole thing off, Then we must part. And oh! If we ever part, Then that might break my heart^H^H^H^Hclock! So, if you like MOD_NANO and I like ADJ_NANO, I'll include MOD_NANO and give up ADJ_NANO (not really!). For we know we need each other, So we better call the calling off off. Let's call the whole thing off! The tumultuous NTP and Linux relationship has hit another snag: Ends up NTPd still uses the "xntp 3.4 compatability names" and when the STA_NANO value was added (along with ADJ_NANO), NTPd expected MOD_NANO to be added and has apparently hit some build errors. Report to ntp hackers: https://lists.ntp.org/pipermail/hackers/2009-August/004455.html Related Bugs: https://support.ntp.org/bugs/show_bug.cgi?id=1219 https://bugzilla.redhat.com/show_bug.cgi?id=505566 So in an effort to make peace, here's a patch to help get things building again. I also have updated the comment to make sure folks don't think the MOD_* values are just legacy constants. Of course, NTPd really uses the glibc-headers, so those will need to be similarly updated before things are working again (the RH bug above should probably cover that). Thanks to Michael Tatarinov and Hal Murray for finding and reporting the issue! Signed-off-by: John Stultz Cc: Miroslav Lichvar Cc: hmurray@megapathdsl.net Cc: Ulrich Drepper Cc: Michael Tatarinov LKML-Reference: <1251417882.7905.42.camel@localhost.localdomain> Signed-off-by: Thomas Gleixner commit c8bc6f3c806f1fcbfdbf0b1ff6c52dba59192d3b Author: Suresh Siddha Date: Tue Aug 4 12:07:09 2009 -0700 x86: arch specific support for remapping HPET MSIs x86 arch support for remapping HPET MSI's by associating the HPET timer block with the interrupt-remapping HW unit and setting up appropriate irq_chip Signed-off-by: Suresh Siddha Cc: Venkatesh Pallipadi Cc: David Woodhouse Cc: Jesse Barnes Cc: Jay Fenlason LKML-Reference: <20090804190729.630510000@intel.com> Signed-off-by: Thomas Gleixner commit 20f3097bfe5fb5ced0b14f9ea2620c4039bf1dde Author: Suresh Siddha Date: Tue Aug 4 12:07:08 2009 -0700 intr-remap: generic support for remapping HPET MSIs Generic support for remapping HPET MSI's by parsing the HPET timer block device scope in the ACPI DRHD tables. This is needed for platforms supporting interrupt-remapping and MSI capable HPET timer block. Signed-off-by: Suresh Siddha Cc: David Woodhouse Cc: Jesse Barnes Cc: Venkatesh Pallipadi Cc: Jay Fenlason LKML-Reference: <20090804190729.477649000@intel.com> Signed-off-by: Thomas Gleixner commit f8468f3695209735c1595342f6bd95f7bdab66e1 Author: Frederic Weisbecker Date: Thu Aug 27 05:23:29 2009 +0200 tracing: Remove unneeded pointer casts Cleaup uneeded casts from void * to char * in syscalls tracing file. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker commit aeaeae1187d7520f1c5559623f0a149da6a1c96e Author: Frederic Weisbecker Date: Thu Aug 27 05:09:51 2009 +0200 tracing: Restore the const qualifier for field names and types definition Restore the const qualifier in field's name and type parameters of trace_define_field that was lost while solving a conflict. Fields names and types are defined as builtin constant strings in static TRACE_EVENTs. But kprobes allocates these dynamically. That said, we still want to always pass these strings as const char * in trace_define_fields() to avoid any further accidental writes on the pointed strings. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 24851d2447830e6cba4c4b641cb73e713f312373 Author: Frederic Weisbecker Date: Wed Aug 26 23:38:30 2009 +0200 tracing/kprobes: Dump the culprit kprobe in case of kprobe recursion Kprobes can enter into a probing recursion, ie: a kprobe that does an endless loop because one of its core mechanism function used during probing is also probed itself. This patch helps pinpointing the kprobe that raised such recursion by dumping it and raising a BUG instead of a warning (we also disarm the kprobe to try avoiding recursion in BUG itself). Having a BUG instead of a warning stops the stacktrace in the right place and doesn't pollute the logs with hundreds of traces that eventually end up in a stack overflow. Signed-off-by: Frederic Weisbecker Cc: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli commit 30a7e073b590ebd1829a906164b0a637e77cc967 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:51 2009 -0400 tracing/kprobes: Change trace_arg to probe_arg Change trace_arg_string() and parse_trace_arg() to probe_arg_string() and parse_probe_arg(), since those are kprobe-tracer local functions. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194351.12478.15247.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 38a47497d9e34632abbeb484603cedf10c4b05e4 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:43 2009 -0400 tracing/kprobes: Fix format typo in trace_kprobes Fix a format typo in kprobe-tracer. Currently, it shows 'tsize' in format; $ cat /debug/tracing/events/kprobes/event/format ... field: unsigned long ip; offset:16;tsize:8; field: int nargs; offset:24;tsize:4; ... This should be '\tsize'; $ cat /debug/tracing/events/kprobes/event/format ... field: unsigned long ip; offset:16; size:8; field: int nargs; offset:24; size:4; ... Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194343.12478.37618.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 69d991f32152283cbc373136fa45bbb152b32048 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:16 2009 -0400 x86: Check awk features before generating inat-tables.c Check some awk mandatory features to generate inat-tables.c that old mawk doesn't support. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194316.12478.57394.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 8d7d14fb27818eb08ebedf9f4a6e286970fe9977 Author: Masami Hiramatsu Date: Fri Aug 21 15:43:07 2009 -0400 x86: Fix x86 instruction decoder selftest to check only .text Fix x86 instruction decoder selftest to check only .text because other sections (e.g. .notes) will have random bytes which don't need to be checked. Signed-off-by: Masami Hiramatsu Cc: Jim Keniston Cc: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090821194307.12478.76938.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit cd7e7bd5e44718c7625ce1e1f0fda53d77cd3797 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:42 2009 -0400 tracing: Add kprobes event profiling interface Add profiling interfaces for each kprobes event. This interface provides how many times each probe hit or missed. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203541.31965.8452.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit ff50d99136c3315513ef3b2921e77f35ab04d081 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:34 2009 -0400 tracing: Kprobe tracer assigns new event ids for each event Assign new event ids for each kprobes event. This doesn't clear ring_buffer when unregistering each kprobe event. Thus, if you mind 'Unknown event' messages, clear the buffer manually after changing kprobe events. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203534.31965.49105.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 4263565d491145b57621a761714f2ca6f1293a45 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:26 2009 -0400 tracing: Generate names for each kprobe event automatically Generate names for each kprobe event based on the probe point. (SYMBOL+offs or MEMADDR). Also remove generic k*probe event types because there is no user of those types. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203526.31965.56672.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit a82378d8802717b9776a7d9b54422f65c414d6cc Author: Masami Hiramatsu Date: Thu Aug 13 16:35:18 2009 -0400 tracing: Kprobe-tracer supports more than 6 arguments Support up to 128 arguments to fetch for each kprobes event. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203518.31965.96979.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit d8ec91850efaf6cee9234c80260fe03881242374 Author: Masami Hiramatsu Date: Wed Aug 19 21:13:57 2009 +0200 tracing: Add kprobe-based event tracer documentation Add the documentation to use the kprobe based event tracer. [fweisbec@gmail.com: Split tracer and its Documentation in two patchs] Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203510.31965.29123.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 413d37d1eb69c1765b9ace0a612dac9b6c990e66 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:11 2009 -0400 tracing: Add kprobe-based event tracer Add kprobes-based event tracer on ftrace. This tracer is similar to the events tracer which is based on Tracepoint infrastructure. Instead of Tracepoint, this tracer is based on kprobes (kprobe and kretprobe). It probes anywhere where kprobes can probe(this means, all functions body except for __kprobes functions). Similar to the events tracer, this tracer doesn't need to be activated via current_tracer, instead of that, just set probe points via /sys/kernel/debug/tracing/kprobe_events. And you can set filters on each probe events via /sys/kernel/debug/tracing/events/kprobes//filter. This tracer supports following probe arguments for each probe. %REG : Fetch register REG sN : Fetch Nth entry of stack (N >= 0) sa : Fetch stack address. @ADDR : Fetch memory at ADDR (ADDR should be in kernel) @SYM[+|-offs] : Fetch memory at SYM +|- offs (SYM should be a data symbol) aN : Fetch function argument. (N >= 0) rv : Fetch return value. ra : Fetch return address. +|-offs(FETCHARG) : fetch memory at FETCHARG +|- offs address. See Documentation/trace/kprobetrace.txt in the next patch for details. Changes from v13: - Support 'sa' for stack address. - Use call->data instead of container_of() macro. [fweisbec@gmail.com: Fixed conflict against latest tracing/core] Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203510.31965.29123.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit d93f12f3f417e49a175800da85c6fcb2a5096e03 Author: Masami Hiramatsu Date: Thu Aug 13 16:35:01 2009 -0400 tracing: Introduce TRACE_FIELD_ZERO() macro Use TRACE_FIELD_ZERO(type, item) instead of TRACE_FIELD_ZERO_CHAR(item). This also includes a typo fix of TRACE_ZERO_CHAR() macro. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203501.31965.30172.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit bd1a5c849bdcc5c89e4a6a18216cd2b9a7a8a78f Author: Masami Hiramatsu Date: Thu Aug 13 16:34:53 2009 -0400 tracing: Ftrace dynamic ftrace_event_call support Add dynamic ftrace_event_call support to ftrace. Trace engines can add new ftrace_event_call to ftrace on the fly. Each operator function of the call takes an ftrace_event_call data structure as an argument, because these functions may be shared among several ftrace_event_calls. Changes from v13: - Define remove_subsystem_dir() always (revirt a2ca5e03), because trace_remove_event_call() uses it. - Modify syscall tracer because of ftrace_event_call change. [fweisbec@gmail.com: Fixed conflict against latest tracing/core] Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203453.31965.71901.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit b1cf540f0e5278ecfe8532557e547d833ed269d7 Author: Masami Hiramatsu Date: Thu Aug 13 16:34:44 2009 -0400 x86: Add pt_regs register and stack access APIs Add following APIs for accessing registers and stack entries from pt_regs. These APIs are required by kprobes-based event tracer on ftrace. Some other debugging tools might be able to use it too. - regs_query_register_offset(const char *name) Query the offset of "name" register. - regs_query_register_name(unsigned int offset) Query the name of register by its offset. - regs_get_register(struct pt_regs *regs, unsigned int offset) Get the value of a register by its offset. - regs_within_kernel_stack(struct pt_regs *regs, unsigned long addr) Check the address is in the kernel stack. - regs_get_kernel_stack_nth(struct pt_regs *reg, unsigned int nth) Get Nth entry of the kernel stack. (N >= 0) - regs_get_argument_nth(struct pt_regs *reg, unsigned int nth) Get Nth argument at function call. (N >= 0) Signed-off-by: Masami Hiramatsu Cc: linux-arch@vger.kernel.org Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203444.31965.26374.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 89ae465b0ee470f7d3f8a1c61353445c3acbbe2a Author: Masami Hiramatsu Date: Thu Aug 13 16:34:36 2009 -0400 kprobes: Cleanup fix_riprel() using insn decoder on x86 Cleanup fix_riprel() in arch/x86/kernel/kprobes.c by using the new x86 instruction decoder instead of using comparisons with raw ad hoc numeric opcodes. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203436.31965.34374.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit b46b3d70c9c017d7c4ec49f7f3ffd0af5a622277 Author: Masami Hiramatsu Date: Thu Aug 13 16:34:28 2009 -0400 kprobes: Checks probe address is instruction boudary on x86 Ensure safeness of inserting kprobes by checking whether the specified address is at the first byte of an instruction on x86. This is done by decoding probed function from its head to the probe point. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: Jim Keniston Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203428.31965.21939.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit ca0e9badd1a39fecdd235f4bf1481b9da756e27b Author: Masami Hiramatsu Date: Thu Aug 13 16:34:21 2009 -0400 x86: X86 instruction decoder build-time selftest Add a user-space selftest of x86 instruction decoder at kernel build time. When CONFIG_X86_DECODER_SELFTEST=y, Kbuild builds a test harness of x86 instruction decoder and performs it after building vmlinux. The test compares the results of objdump and x86 instruction decoder code and check there are no differences. Signed-off-by: Masami Hiramatsu Signed-off-by: Jim Keniston Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203421.31965.29006.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit eb13296cfaf6c699566473669a96a38a90562384 Author: Masami Hiramatsu Date: Thu Aug 13 16:34:13 2009 -0400 x86: Instruction decoder API Add x86 instruction decoder to arch-specific libraries. This decoder can decode x86 instructions used in kernel into prefix, opcode, modrm, sib, displacement and immediates. This can also show the length of instructions. This version introduces instruction attributes for decoding instructions. The instruction attribute tables are generated from the opcode map file (x86-opcode-map.txt) by the generator script(gen-insn-attr-x86.awk). Currently, the opcode maps are based on opcode maps in Intel(R) 64 and IA-32 Architectures Software Developers Manual Vol.2: Appendix.A, and consist of below two types of opcode tables. 1-byte/2-bytes/3-bytes opcodes, which has 256 elements, are written as below; Table: table-name Referrer: escaped-name opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...] (or) opcode: escape # escaped-name EndTable Group opcodes, which has 8 elements, are written as below; GrpTable: GrpXXX reg: mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...] EndTable These opcode maps include a few SSE and FP opcodes (for setup), because those opcodes are used in the kernel. Signed-off-by: Masami Hiramatsu Signed-off-by: Jim Keniston Acked-by: H. Peter Anvin Cc: Ananth N Mavinakayanahalli Cc: Avi Kivity Cc: Andi Kleen Cc: Christoph Hellwig Cc: Frank Ch. Eigler Cc: Ingo Molnar Cc: Jason Baron Cc: K.Prasad Cc: Lai Jiangshan Cc: Li Zefan Cc: Przemysław Pawełczyk Cc: Roland McGrath Cc: Sam Ravnborg Cc: Srikar Dronamraju Cc: Steven Rostedt Cc: Tom Zanussi Cc: Vegard Nossum LKML-Reference: <20090813203413.31965.49709.stgit@localhost.localdomain> Signed-off-by: Frederic Weisbecker commit 5946fa3d5cdeb846a647a1900026af9f8b08c8b5 Author: Jan Beulich Date: Wed Aug 19 08:44:24 2009 +0100 x86, hpet: Simplify the HPET code On 64-bits, using unsigned long when unsigned int suffices needlessly creates larger code (due to the need for REX prefixes), and most of the logic in hpet.c really doesn't need 64-bit operations. At once this avoids the need for a couple of type casts. Signed-off-by: Jan Beulich Cc: Shaohua Li Cc: Venkatesh Pallipadi LKML-Reference: <4A8BC9780200007800010832@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit b5ab887e6dfa12c32ef39827da47d5d021320a3f Author: Mark Brown Date: Tue Aug 18 21:29:31 2009 +0100 ASoC: Add TLV information to WM8711 Signed-off-by: Mark Brown commit 431f7771774e8f37dde5acb3f7c4c5f6fa1109e3 Author: Mark Brown Date: Tue Aug 18 21:17:34 2009 +0100 ASoC: WM8711 minor cleanups Coding style changes only. Signed-off-by: Mark Brown commit 08aff8cd7a8568588d460c4bf8875a492d430314 Author: Mark Brown Date: Tue Aug 18 21:15:14 2009 +0100 ASoC: Add SPI support to WM8711 Signed-off-by: Mark Brown commit d97d2e35b903b11dc6f7f8fcbe9a82fd8929e234 Author: Mark Brown Date: Tue Aug 18 21:12:30 2009 +0100 ASoC: Factor out WM8711 cache I/O Signed-off-by: Mark Brown commit f72222c74bd642182cc892c99df65cb105c61193 Merge: 318b0b8 d3c9e9a Author: Mark Brown Date: Tue Aug 18 20:59:01 2009 +0100 Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into upstream/wm8711 commit 318b0b8d90326aee6a66c994432eee95c0a9aaea Author: Mark Brown Date: Tue Aug 18 20:57:33 2009 +0100 ASoC: Update WM8711 to driver model registration method Signed-off-by: Mark Brown commit bd6d417743d941c3e5eabb21abbcac9737f11061 Author: Mike Arthur Date: Tue Aug 18 20:37:49 2009 +0100 ASoC: Add WM8711 CODEC driver The WM8711 or WM8711L (WM8711/L) is a low power stereo DAC with an integrated headphone driver. The WM8711/L is designed specifically for portable MP3 audio and speech players. The WM8711/L is also ideal for MD, CD machines and DAT players. Signed-off-by: Mike Arthur Signed-off-by: Mark Brown commit 50dcfa0234753c32e1c838cc0e6d7952dda73201 Author: Andrew Victor Date: Tue Aug 4 19:55:56 2009 +0100 ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers Stop referencing CLOCK_TICK_RATE in the KS8695 drivers, rather refer to a KS8695_CLOCK_RATE. Issue pointed out by Russell King on arm-linux-kernel mailing list. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 39fe05e58c5e448601ce46e6b03900d5bf31c4b0 Author: Shaohua Li Date: Wed Aug 12 11:16:12 2009 +0800 x86, hpet: Disable per-cpu hpet timer if ARAT is supported If CPU support always running local APIC timer, per-cpu hpet timer could be disabled, which is useless and wasteful in such case. Let's leave the timers to others. The effect is that we reserve less timers. Signed-off-by: Shaohua Li Cc: venkatesh.pallipadi@intel.com LKML-Reference: <20090812031612.GA10062@sli10-desk.sh.intel.com> Signed-off-by: Ingo Molnar commit 75e33751ca8bbb72dd6f1a74d2810ddc8cbe4bdf Author: Xiao Guangrong Date: Thu Jul 23 12:01:22 2009 +0800 tracing/ksym_tracer: support quick clear for ksym_trace_filter -- v2 It's rather boring to clear symbol one by one in ksym_trace_filter file, so, this patch will let ksym_trace_filter file support quickly clear all break points. We can write "0" to this file and it will clear all symbols for example: # cat ksym_trace_filter ksym_filter_head:rw- global_trace:rw- # echo 0 > ksym_trace_filter # cat ksym_trace_filter # Changelog v1->v2: Add other ways to clear all breakpoints by writing NULL or "*:---" to ksym_trace_filter file base on K.Prasad's suggestion Signed-off-by: Xiao Guangrong LKML-Reference: <4A67E092.3080202@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 8e068542a8d9efec55126284d2f5cb32f003d507 Author: Xiao Guangrong Date: Wed Jul 22 11:23:41 2009 +0800 tracing/ksym_tracer: fix write operation of ksym_trace_filter This patch fix 2 bugs: - fix the return value of ksym_trace_filter_write() when we want to clear symbol in ksym_trace_filter file for example: # echo global_trace:rw- > /debug/tracing/ksym_trace_filter # echo global_trace:--- > /debug/tracing/ksym_trace_filter -bash: echo: write error: Invalid argument # cat /debug/tracing/ksym_trace_filter # We want to clear 'global_trace' in ksym_trace_filter, it complain with "Invalid argument", but the operation is successful - the "r--" access types is not allowed, but ksym_trace_filter file think it OK for example: # echo ksym_tracer_mutex:r-- > ksym_trace_filter -bash: echo: write error: Resource temporarily unavailable # dmesg ksym_tracer request failed. Try again later!! The error occur at register_kernel_hw_breakpoint(), but It's should at access types parser Signed-off-by: Xiao Guangrong LKML-Reference: <4A66863D.5090802@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit d857ace143df3884954887e1899a65831ca72ece Author: Xiao Guangrong Date: Wed Jul 22 11:21:31 2009 +0800 tracing/ksym_tracer: fix the output of ksym tracer Fix the output format of ksym tracer, make it properly aligned Befor patch: # tracer: ksym_tracer # # TASK-PID CPU# Symbol Type Function # | | | | | bash 1378 1 ksym_tracer_mutex W mutex_lock+0x11/0x27 bash 1378 1 ksym_filter_head W process_new_ksym_entry+0xd2/0x10c bash 1378 1 ksym_tracer_mutex W mutex_unlock+0x12/0x1b cat 1429 0 ksym_tracer_mutex W mutex_lock+0x11/0x27 After patch: # tracer: ksym_tracer # # TASK-PID CPU# Symbol Type Function # | | | | | cat-1423 [000] ksym_tracer_mutex RW mutex_lock+0x11/0x27 cat-1423 [000] ksym_filter_head RW ksym_trace_filter_read+0x6e/0x10d cat-1423 [000] ksym_tracer_mutex RW mutex_unlock+0x12/0x1b cat-1423 [000] ksym_tracer_mutex RW mutex_lock+0x11/0x27 cat-1423 [000] ksym_filter_head RW ksym_trace_filter_read+0x6e/0x10d cat-1423 [000] ksym_tracer_mutex RW mutex_unlock+0x12/0x1b Signed-off-by: Xiao Guangrong LKML-Reference: <4A6685BB.2090809@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 9d7e934408b52cd53dd85270eb36941a6a318cc5 Author: Li Zefan Date: Tue Jul 7 13:55:18 2009 +0800 ksym_tracer: Fix the output of stat tracing - make ksym_tracer_stat_start() return head->first instead of &head->first - make the output properly aligned Before: Access type Symbol Counter NA 0 RW pid_max 0 After: Access Type Symbol Counter ----------- ------ ------- RW pid_max 0 Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E346.5050608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 558df6c8f74ac4a0b9026ef85b0028280f364d96 Author: Li Zefan Date: Tue Jul 7 13:54:48 2009 +0800 ksym_tracer: Fix memory leak - When remove a filter, we leak entry->ksym_hbp->info.name. - With CONFIG_FTRAC_SELFTEST enabled, we leak ->info.name: # echo ksym_tracer > current_tracer # echo 'ksym_selftest_dummy:rw-' > ksym_trace_filter # echo nop > current_tracer Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E328.8010200@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 0d109c8f70eab8b9f693bd5caea23012394e4876 Author: Li Zefan Date: Tue Jul 7 13:54:28 2009 +0800 ksym_tracer: Report error when failed to re-register hbp When access type is changed, the hw break point will be unregistered and then be registered again with new access type. But the registration may fail, in this case, -errno should be returned. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E314.7070004@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 011ed56853e07e30653d6f1bfddc56b396218664 Author: Li Zefan Date: Tue Jul 7 13:54:08 2009 +0800 ksym_tracer: NIL-terminate user input filter Make sure the user input string is NULL-terminated. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E300.7020601@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 92cf9f8f7e89c6bdbb1a724f879b8b18fc0dfe0f Author: Li Zefan Date: Tue Jul 7 13:53:47 2009 +0800 ksym_tracer: Fix validation of length of access type Don't take newline into account, otherwise: # echo 'pid_max:-w-' > ksym_trace_filter # echo -n 'pid_max:rw-' > ksym_trace_filter bash: echo: write error: Invalid argument Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2EB.9070503@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit f088e5471297cc78d7465e1fd997cb1a91a48019 Author: Li Zefan Date: Tue Jul 7 13:53:18 2009 +0800 ksym_tracer: Fix validation of access type # echo 'pid_max:rw-' > ksym_trace_filter # cat ksym_trace_filter pid_max:rw- # echo 'pid_max:ww-' > ksym_trace_filter (should return -EINVAL) # cat ksym_trace_filter (but it ended up removing filter entry) Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2CE.6080409@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit be9742e6cb107fe1d77db7a081ea4eb25e79e1ad Author: Li Zefan Date: Tue Jul 7 13:52:52 2009 +0800 ksym_tracer: Rewrite ksym_trace_filter_read() Reading ksym_trace_filter gave me some arbitrary characters, when it should show nothing. It's because buf is not initialized when there's no filter. Also reduce stack usage by about 512 bytes. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2B4.6030706@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit db59504d89db1462a5281fb55b1d962cb74a398f Author: Li Zefan Date: Tue Jul 7 13:52:36 2009 +0800 ksym_tracer: Extract trace entry from struct trace_ksym struct trace_ksym is used as an entry in hbp list, and is also used as trace_entry stored in ring buffer. This is not necessary and is a waste of memory in ring buffer. There is also a bug that dereferencing field->ksym_hbp in ksym_trace_output() can be invalid. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: "K.Prasad" Cc: Alan Stern Cc: Steven Rostedt LKML-Reference: <4A52E2A4.4050007@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9d22b536609abf0d64648f99518676ea58245e3b Author: Jaswinder Singh Rajput Date: Wed Jul 1 19:52:30 2009 +0530 x86: Mark ptrace_get_debugreg() as static This sparse warning: arch/x86/kernel/ptrace.c:560:15: warning: symbol 'ptrace_get_debugreg' was not declared. Should it be static? triggers because ptrace_get_debugreg() is global but is only used in a single .c file. change ptrace_get_debugreg() to static to fix that - this also addresses the sparse warning. Signed-off-by: Jaswinder Singh Rajput Cc: Steven Rostedt LKML-Reference: <1246458150.6940.19.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit 4555835b707d5c778ee1c9076670bc99b1eeaf61 Author: Jaswinder Singh Rajput Date: Wed Jun 17 14:44:19 2009 +0530 x86: hw_breakpoint.c arch_check_va_in_kernelspace and hw_breakpoint_handler should be static arch_check_va_in_kernelspace() and hw_breakpoint_handler() is used only by same file so it should be static. Also fixed non-ANSI function declaration of function 'arch_uninstall_thread_hw_breakpoint' Fixed following sparse warnings : arch/x86/kernel/hw_breakpoint.c:124:42: warning: non-ANSI function declaration of function 'arch_uninstall_thread_hw_breakpoint' arch/x86/kernel/hw_breakpoint.c:169:5: warning: symbol 'arch_check_va_in_kernelspace' was not declared. Should it be static? arch/x86/kernel/hw_breakpoint.c:313:15: warning: symbol 'hw_breakpoint_handler' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Cc: Alan Stern Cc: "K.Prasad" Cc: Frederic Weisbecker LKML-Reference: <1245230059.2662.4.camel@ht.satnam> Signed-off-by: Ingo Molnar commit eadb8a091b27a840de7450f84ecff5ef13476424 Merge: 7387400 65795ef Author: Ingo Molnar Date: Wed Jun 17 12:52:15 2009 +0200 Merge branch 'linus' into tracing/hw-breakpoints Conflicts: arch/x86/Kconfig arch/x86/kernel/traps.c arch/x86/power/cpu.c arch/x86/power/cpu_32.c kernel/Makefile Semantic conflict: arch/x86/kernel/hw_breakpoint.c Merge reason: Resolve the conflicts, move from put_cpu_no_sched() to put_cpu() in arch/x86/kernel/hw_breakpoint.c. Signed-off-by: Ingo Molnar commit 73874005cd8800440be4299bd095387fff4b90ac Author: Frederic Weisbecker Date: Wed Jun 3 01:43:38 2009 +0200 hw-breakpoints: fix undeclared ksym_tracer_mutex ksym_tracer_mutex is declared inside an #ifdef CONFIG_PROFILE_KSYM_TRACER section. This makes it unavailable for the hardware breakpoint tracer if it is configured without the breakpoint profiler. This patch fixes the following build error: kernel/trace/trace_ksym.c: In function ‘ksym_trace_filter_read’: kernel/trace/trace_ksym.c:226: erreur: ‘ksym_tracer_mutex’ undeclared (first use in this function) kernel/trace/trace_ksym.c:226: erreur: (Each undeclared identifier is reported only once kernel/trace/trace_ksym.c:226: erreur: for each function it appears in.) kernel/trace/trace_ksym.c: In function ‘ksym_trace_filter_write’: kernel/trace/trace_ksym.c:273: erreur: ‘ksym_tracer_mutex’ undeclared (first use in this function) kernel/trace/trace_ksym.c: In function ‘ksym_trace_reset’: kernel/trace/trace_ksym.c:335: erreur: ‘ksym_tracer_mutex’ undeclared (first use in this function) make[1]: *** [kernel/trace/trace_ksym.o] Erreur 1 [ Impact: fix a build error ] Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker commit 62edab9056a6cf0c9207339c8892c923a5217e45 Author: K.Prasad Date: Mon Jun 1 23:47:06 2009 +0530 hw-breakpoints: reset bits in dr6 after the corresponding exception is handled This patch resets the bit in dr6 after the corresponding exception is handled in code, so that we keep a clean track of the current virtual debug status register. [ Impact: keep track of breakpoints triggering completion ] Signed-off-by: K.Prasad Signed-off-by: Frederic Weisbecker commit 0722db015c246204044299eae3b02d18d3ca4faf Author: K.Prasad Date: Mon Jun 1 23:46:40 2009 +0530 hw-breakpoints: ftrace plugin for kernel symbol tracing using HW Breakpoint interfaces This patch adds an ftrace plugin to detect and profile memory access over kernel variables. It uses HW Breakpoint interfaces to 'watch memory addresses. Signed-off-by: K.Prasad Signed-off-by: Frederic Weisbecker commit 432039933a16b8227b7b267f46ac1c1b9b3adf14 Author: K.Prasad Date: Mon Jun 1 23:46:20 2009 +0530 hw-breakpoints: sample HW breakpoint over kernel data address This patch introduces a sample kernel module to demonstrate the use of Hardware Breakpoint feature. It places a breakpoint over the kernel variable 'pid_max' to monitor all write operations and emits a function-backtrace when done. Signed-off-by: K.Prasad Signed-off-by: Frederic Weisbecker commit 17f557e5b5d43a2af66c969f6560ac7105020672 Author: K.Prasad Date: Mon Jun 1 23:46:03 2009 +0530 hw-breakpoints: cleanup HW Breakpoint registers before kexec This patch disables Hardware breakpoints before doing a 'kexec' on the machine so that the cpu doesn't keep debug registers values which would be out of sync for the new image. Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 72f674d203cd230426437cdcf7dd6f681dad8b0d Author: K.Prasad Date: Mon Jun 1 23:45:48 2009 +0530 hw-breakpoints: modify Ptrace routines to access breakpoint registers This patch modifies the ptrace code to use the new wrapper routines around the debug/breakpoint registers. [ Impact: adapt x86 ptrace to the new breakpoint Api ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Signed-off-by: Maneesh Soni Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit da0cdc14f5f7e0faee6b2393fefed056cdb17146 Author: K.Prasad Date: Mon Jun 1 23:45:03 2009 +0530 hw-breakpoints: modify signal handling code to refrain from re-enabling HW Breakpoints This patch disables re-enabling of Hardware Breakpoint registers through the signal handling code. This is now done during from hw_breakpoint_handler(). Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 66cb5917295958652ff6ba36d83f98f2379c46b4 Author: K.Prasad Date: Mon Jun 1 23:44:55 2009 +0530 hw-breakpoints: use the new wrapper routines to access debug registers in process/thread code This patch enables the use of abstract debug registers in process-handling routines, according to the new hardware breakpoint Api. [ Impact: adapt thread breakpoints handling code to the new breakpoint Api ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 1e3500666f7c5daaadadb8431a2927cdbbdb7dd4 Author: K.Prasad Date: Mon Jun 1 23:44:26 2009 +0530 hw-breakpoints: use wrapper routines around debug registers in processor related functions This patch enables the use of wrapper routines to access the debug/breakpoint registers on cpu management. The hardcoded debug registers save and restore operations for threads breakpoints are replaced by wrappers. And now that we handle the kernel breakpoints too, we also need to handle them on cpu hotplug operations. [ Impact: adapt new hardware breakpoint api to cpu hotplug ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 08d68323d1f0c34452e614263b212ca556dae47f Author: K.Prasad Date: Mon Jun 1 23:44:08 2009 +0530 hw-breakpoints: modifying generic debug exception to use thread-specific debug registers This patch modifies the breakpoint exception handler code to use the new abstract debug register names. [ fweisbec@gmail.com: fix conflict against kmemcheck ] [ Impact: refactor and cleanup x86 debug exception handler ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 0067f1297241ea567f2b22a455519752d70fcca9 Author: K.Prasad Date: Mon Jun 1 23:43:57 2009 +0530 hw-breakpoints: x86 architecture implementation of Hardware Breakpoint interfaces This patch introduces the arch-specific implementation of the generic hardware breakpoints in kernel/hw_breakpoint.c inside x86 specific directories. It contains functions which help to validate and serve requests using Hardware Breakpoint registers on x86 processors. [ fweisbec@gmail.com: fix conflict against kmemcheck ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 62a038d34db26771756cf3689e36de638bedd2c4 Author: K.Prasad Date: Mon Jun 1 23:43:33 2009 +0530 hw-breakpoints: introducing generic hardware breakpoint handler interfaces This patch introduces the generic Hardware Breakpoint interfaces for both user and kernel space requests. This core Api handles the hardware breakpoints through new helpers. It handles the user-space breakpoints and kernel breakpoints in front of arch implementation. One can choose kernel wide breakpoints using the following helpers and passing them a generic struct hw_breakpoint: - register_kernel_hw_breakpoint() - unregister_kernel_hw_breakpoint() - modify_kernel_hw_breakpoint() On the other side, you can choose per task breakpoints. - register_user_hw_breakpoint() - unregister_user_hw_breakpoint() - modify_user_hw_breakpoint() [ fweisbec@gmail.com: fix conflict against perfcounter ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit b332828c39326b1dca617f387dd15d12e81cd5f0 Author: K.Prasad Date: Mon Jun 1 23:43:10 2009 +0530 hw-breakpoints: prepare the code for Hardware Breakpoint interfaces The generic hardware breakpoint interface provides an abstraction of hardware breakpoints in front of specific arch implementations for both kernel and user side breakpoints. This includes execution breakpoints and read/write breakpoints, also known as "watchpoints". This patch introduces header files containing constants, structure definitions and declaration of functions used by the hardware breakpoint core and x86 specific code. It also introduces an array based storage for the debug-register values in 'struct thread_struct', while modifying all users of debugreg member in the structure. [ Impact: add headers for new hardware breakpoint interface ] Original-patch-by: Alan Stern Signed-off-by: K.Prasad Reviewed-by: Alan Stern Signed-off-by: Frederic Weisbecker commit 6ce51c431019310ca03371355a4366c4649fa349 Author: Luis Henriques Date: Wed Apr 1 18:06:35 2009 +0100 genirq: do not execute DEBUG_SHIRQ when irq setup failed When requesting an IRQ, the DEBUG_SHIRQ code executes a fake IRQ just to make sure the driver is ready to receive an IRQ immediately. The problem was that this fake IRQ was being executed even if interrupt line failed to be allocated by __setup_irq. Signed-off-by: Luis Henriques LKML-Reference: <20090401170635.GA4392@hades.domain.com> Signed-off-by: Thomas Gleixner [ fixed bug pointed out by a warning reported by Stephen Rothwell ] Cc: Stephen Rothwell Signed-off-by: Ingo Molnar