commit bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff Merge: 8e20487 5a9a436 Author: Linus Torvalds Date: Fri Jul 22 19:02:39 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits) vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp isofs: Remove global fs lock jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory fix IN_DELETE_SELF on overwriting rename() on ramfs et.al. mm/truncate.c: fix build for CONFIG_BLOCK not enabled fs:update the NOTE of the file_operations structure Remove dead code in dget_parent() AFS: Fix silly characters in a comment switch d_add_ci() to d_splice_alias() in "found negative" case as well simplify gfs2_lookup() jfs_lookup(): don't bother with . or .. get rid of useless dget_parent() in btrfs rename() and link() get rid of useless dget_parent() in fs/btrfs/ioctl.c fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers drivers: fix up various ->llseek() implementations fs: handle SEEK_HOLE/SEEK_DATA properly in all fs's that define their own llseek Ext4: handle SEEK_HOLE/SEEK_DATA generically Btrfs: implement our own ->llseek fs: add SEEK_HOLE and SEEK_DATA flags reiserfs: make reiserfs default to barrier=flush ... Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new shrinker callout for the inode cache, that clashed with the xfs code to start the periodic workers later. commit 8e204874db000928e37199c2db82b7eb8966cc3c Merge: 3e0b8df aafade2 Author: Linus Torvalds Date: Fri Jul 22 17:05:15 2011 -0700 Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64, vdso: Do not allocate memory for the vDSO clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option x86, vdso: Drop now wrong comment Document the vDSO and add a reference parser ia64: Replace clocksource.fsys_mmio with generic arch data x86-64: Move vread_tsc and vread_hpet into the vDSO clocksource: Replace vread with generic arch data x86-64: Add --no-undefined to vDSO build x86-64: Allow alternative patching in the vDSO x86: Make alternative instruction pointers relative x86-64: Improve vsyscall emulation CS and RIP handling x86-64: Emulate legacy vsyscalls x86-64: Fill unused parts of the vsyscall page with 0xcc x86-64: Remove vsyscall number 3 (venosys) x86-64: Map the HPET NX x86-64: Remove kernel.vsyscall64 sysctl x86-64: Give vvars their own page x86-64: Document some of entry_64.S x86-64: Fix alignment of jiffies variable commit 3e0b8df79ddb8955d2cce5e858972a9cfe763384 Merge: 8051207 ae90c23 Author: Linus Torvalds Date: Fri Jul 22 17:04:55 2011 -0700 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: Correct UV2 BAU destination timeout x86, UV: Correct failed topology memory leak x86, UV: Remove cpumask_t from the stack x86, UV: Rename hubmask to pnmask x86, UV: Correct reset_with_ipi() x86, UV: Allow for non-consecutive sockets x86, UV: Inline header file functions x86, UV: Fix smp_processor_id() use in a preemptable region x66, UV: Enable 64-bit ACPI MFCG support for SGI UV2 platform x86, UV: Clean up uv_mmrs.h commit 805120795947008612ef64618bba8a6aa30cf88b Merge: 9e39264 73d382d Author: Linus Torvalds Date: Fri Jul 22 17:04:32 2011 -0700 Merge branch 'x86-signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Kill handle_signal()->set_fs() x86, do_signal: Simplify the TS_RESTORE_SIGMASK logic x86, signals: Convert the X86_32 code to use set_current_blocked() x86, signals: Convert the IA32_EMULATION code to use set_current_blocked() commit 9e39264ed4f687251632c0a6f4a70c2e51719662 Merge: dc43d9f 1e01979 Author: Linus Torvalds Date: Fri Jul 22 17:04:18 2011 -0700 Merge branch 'x86-numa-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-numa-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, numa: Implement pfn -> nid mapping granularity check x86, mm: s/PAGES_PER_ELEMENT/PAGES_PER_SECTION/ commit dc43d9fa73d82083656fb9c02f4823bcdcfb9f91 Merge: 8077506 50c31e4 Author: Linus Torvalds Date: Fri Jul 22 17:04:04 2011 -0700 Merge branch 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mtrr: Use pci_dev->revision x86, mtrr: use stop_machine APIs for doing MTRR rendezvous stop_machine: implement stop_machine_from_inactive_cpu() stop_machine: reorganize stop_cpus() implementation x86, mtrr: lock stop machine during MTRR rendezvous sequence commit 80775068dbcf849dca81316e43bcc309985956ac Merge: 7c6582b 40b7f3d Author: Linus Torvalds Date: Fri Jul 22 17:03:52 2011 -0700 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, microcode, AMD: Fix section header size check x86, microcode, AMD: Correct buf references commit 7c6582b28a7debef031a8b7e31953c7d45ddb05d Merge: 227ad9b c7cece8 Author: Linus Torvalds Date: Fri Jul 22 17:03:40 2011 -0700 Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: Use mce_sysdev_ prefix to group functions x86, mce: Use mce_chrdev_ prefix to group functions x86, mce: Cleanup mce_read() x86, mce: Cleanup mce_create()/remove_device() x86, mce: Check the result of ancient_init() x86, mce: Introduce mce_gather_info() x86, mce: Replace MCM_ with MCI_MISC_ x86, mce: Replace MCE_SELF_VECTOR by irq_work x86, mce, severity: Clean up trivial coding style problems x86, mce, severity: Cleanup severity table x86, mce, severity: Make formatting a bit more readable x86, mce, severity: Fix two severities table signatures commit 227ad9bc070db2801a7f586b4d350dd1d8b82e03 Merge: 35b004c d80603c Author: Linus Torvalds Date: Fri Jul 22 17:03:14 2011 -0700 Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, efi: Properly pre-initialize table pointers x86, efi: Add infrastructure for UEFI 2.0 runtime services x86, efi: Fix argument types for SetVariable() commit 35b004cce1b0880876faecb8e0bd7cb2cb5a59d1 Merge: 0a613b6 17edf2d Author: Linus Torvalds Date: Fri Jul 22 17:02:54 2011 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, intel, power: Correct the MSR_IA32_ENERGY_PERF_BIAS message x86, msr: Fix typo in ENERGY_PERF_BIAS_POWERSAVE x86, intel, power: Initialize MSR_IA32_ENERGY_PERF_BIAS commit 0a613b647bac0cfab7b7d81f11271883209a70ef Merge: eb47418 a6c2390 Author: Linus Torvalds Date: Fri Jul 22 17:02:38 2011 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, smpboot: Mark the names[] array in __inquire_remote_apic() as const x86: Convert vmalloc()+memset() to vzalloc() commit eb47418dc56baaca33d270a868d8ddaa81150952 Merge: 2c9e88a a750036 Author: Linus Torvalds Date: Fri Jul 22 17:02:24 2011 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix write lock scalability 64-bit issue x86: Unify rwsem assembly implementation x86: Unify rwlock assembly implementation x86, asm: Fix binutils 2.16 issue with __USER32_CS x86, asm: Cleanup thunk_64.S x86, asm: Flip RESTORE_ARGS arguments logic x86, asm: Flip SAVE_ARGS arguments logic x86, asm: Thin down SAVE/RESTORE_* asm macros commit 2c9e88a1085b3183e5f92170a74980e5654f817b Merge: 52de84f 42f0efc Author: Linus Torvalds Date: Fri Jul 22 17:02:07 2011 -0700 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: x86, ioapic: Print IR_IO_APIC_route_entry when IR is enabled x86, ioapic: Print IRTE when IR is enabled x86, x2apic: Preserve high 32-bits of IA32_APIC_BASE MSR x86, ioapic: Also print Dest field x86, ioapic: Format clean up for IOAPIC output x86: print APIC data a little later during boot commit 52de84f3f3f407013a7f7872601e7a43a505abd3 Merge: 112ec46 ef68c8f Author: Linus Torvalds Date: Fri Jul 22 16:52:39 2011 -0700 Merge branch 'timers-rtc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-rtc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Serialize EFI time accesses on rtc_lock x86: Serialize SMP bootup CMOS accesses on rtc_lock rtc: stmp3xxx: Remove UIE handlers rtc: stmp3xxx: Get rid of mach-specific accessors rtc: stmp3xxx: Initialize drvdata before registering device rtc: stmp3xxx: Port stmp-functions to mxs-equivalents rtc: stmp3xxx: Restore register definitions rtc: vt8500: Use define instead of hardcoded value for status bit commit 112ec469663e09ffc815761254b52f3ca787ce83 Merge: a99a7d1 cbaa515 Author: Linus Torvalds Date: Fri Jul 22 16:52:18 2011 -0700 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: time: Fix stupid KERN_WARN compile issue rtc: Avoid accumulating time drift in suspend/resume time: Avoid accumulating time drift in suspend/resume time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime commit a99a7d1436f9375662f35ccac8f1a1e1b0302a11 Merge: bdc7ccf ded7c1e Author: Linus Torvalds Date: Fri Jul 22 16:51:56 2011 -0700 Merge branch 'timers-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: mips: Fix i8253 clockevent fallout i8253: Cleanup outb/inb magic arm: Footbridge: Use common i8253 clockevent mips: Use common i8253 clockevent x86: Use common i8253 clockevent i8253: Create common clockevent implementation i8253: Export i8253_lock unconditionally pcpskr: MIPS: Make config dependencies finer grained pcspkr: Cleanup Kconfig dependencies i8253: Move remaining content and delete asm/i8253.h i8253: Consolidate definitions of PIT_LATCH x86: i8253: Consolidate definitions of global_clock_event i8253: Alpha, PowerPC: Remove unused asm/8253pit.h alpha: i8253: Cleanup remaining users of i8253pit.h i8253: Remove I8253_LOCK config i8253: Make pcsp sound driver use the shared i8253_lock i8253: Make pcspkr input driver use the shared i8253_lock i8253: Consolidate all kernel definitions of i8253_lock i8253: Unify all kernel declarations of i8253_lock i8253: Create linux/i8253.h and use it in all 8253 related files commit bdc7ccfc0631797636837b10df7f87bc1e2e4ae3 Merge: 4d4abdc 0f31714 Author: Linus Torvalds Date: Fri Jul 22 16:45:02 2011 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits) sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair sched: Replace use of entity_key() sched: Separate group-scheduling code more clearly sched: Reorder root_domain to remove 64 bit alignment padding sched: Do not attempt to destroy uninitialized rt_bandwidth sched: Remove unused function cpu_cfs_rq() sched: Fix (harmless) typo 'CONFG_FAIR_GROUP_SCHED' sched, cgroup: Optimize load_balance_fair() sched: Don't update shares twice on on_rq parent sched: update correct entity's runtime in check_preempt_wakeup() xtensa: Use generic config PREEMPT definition h8300: Use generic config PREEMPT definition m32r: Use generic PREEMPT config sched: Skip autogroup when looking for all rt sched groups sched: Simplify mutex_spin_on_owner() sched: Remove rcu_read_lock() from wake_affine() sched: Generalize sleep inside spinlock detection sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT sched: Isolate preempt counting in its own config option sched: Remove pointless in_atomic() definition check ... commit 4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17 Merge: 0342cbc 7fcfd1a Author: Linus Torvalds Date: Fri Jul 22 16:44:39 2011 -0700 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: (123 commits) perf: Remove the nmi parameter from the oprofile_perf backend x86, perf: Make copy_from_user_nmi() a library function perf: Remove perf_event_attr::type check x86, perf: P4 PMU - Fix typos in comments and style cleanup perf tools: Make test use the preset debugfs path perf tools: Add automated tests for events parsing perf tools: De-opt the parse_events function perf script: Fix display of IP address for non-callchain path perf tools: Fix endian conversion reading event attr from file header perf tools: Add missing 'node' alias to the hw_cache[] array perf probe: Support adding probes on offline kernel modules perf probe: Add probed module in front of function perf probe: Introduce debuginfo to encapsulate dwarf information perf-probe: Move dwarf library routines to dwarf-aux.{c, h} perf probe: Remove redundant dwarf functions perf probe: Move strtailcmp to string.c perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END tracing/kprobe: Update symbol reference when loading module tracing/kprobes: Support module init function probing kprobes: Return -ENOENT if probe point doesn't exist ... commit 0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc Merge: 391d627 7f70893 Author: Linus Torvalds Date: Fri Jul 22 16:44:08 2011 -0700 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: rcu: Fix wrong check in list_splice_init_rcu() net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu() sysctl,rcu: Convert call_rcu(free_head) to kfree vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu() vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu() ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu() ipc,rcu: Convert call_rcu(free_un) to kfree_rcu() security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu() security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu() ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu() block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu() scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu() audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu() security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu() md,rcu: Convert call_rcu(free_conf) to kfree_rcu() commit 391d6276db9fbdedfbc30e1b56390414f0e55988 Merge: 75b56ec dd4e5d3 Author: Linus Torvalds Date: Fri Jul 22 16:43:49 2011 -0700 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: lockdep: Fix trace_[soft,hard]irqs_[on,off]() recursion printk: Fix console_sem vs logbuf_lock unlock race printk: Release console_sem after logbuf_lock commit 75b56ec294b074d70f8a676ab02611a3fea76cab Merge: 6d16d6d efbe2ee Author: Linus Torvalds Date: Fri Jul 22 16:43:21 2011 -0700 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: lockdep: Fix lockdep_no_validate against IRQ states mutex: Make mutex_destroy() an inline function plist: Remove the need to supply locks to plist heads lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option commit 5a9a43646cf709312d71eca71cef90ad802f28f9 Author: Konstantin Khlebnikov Date: Sun Jul 17 15:35:12 2011 +0400 vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp Replace unclear (struct dentry *) to (struct file *) typecast with ERR_CAST() macro. Signed-off-by: Konstantin Khlebnikov Signed-off-by: Al Viro commit d769b3c2ab7184ddd42056595b627cc871caa90e Author: Jan Kara Date: Thu Jul 21 22:22:25 2011 +0200 isofs: Remove global fs lock sbi->s_mutex isn't needed for isofs at all so we can just remove it. Generally, since isofs is always mounted read-only, filesystem structure cannot change under us. So buffer_head contents stays constant after it's filled in. That leaves us with possible changes of global data structures. Superblock changes only during filesystem mount (even remount does not change it), inodes are only filled in during reading from disk. So there are no changes of these structures to bother about. Arguments why sbi->s_mutex can be removed at each place: isofs_readdir: Accesses sb, inode, filp, local variables => s_mutex not needed isofs_lookup: Protected by directory's i_mutex. Accesses sb, inode, dentry, local variables => s_mutex not needed rock_ridge_symlink_readpage: Protected by page lock. Accesses sb, inode, local variables => s_mutex not needed. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 22ba747f660c0acd14761628c24aa972d18058a0 Author: Al Viro Date: Thu Jul 21 15:57:47 2011 -0400 jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory We don't generate IN_DELETE_SELF on victim of overwriting rename() if it happens to be a directory. Trivially fixed by doing to ->i_nlink what we do ->pino_nlink a couple of lines later in jffs2_rename(). Signed-off-by: Al Viro commit 841590ce16c19a3ce38028adfc8b1955482ee00c Author: Al Viro Date: Thu Jul 21 15:49:09 2011 -0400 fix IN_DELETE_SELF on overwriting rename() on ramfs et.al. On ramfs and other simple_rename() users IN_DELETE_SELF is not generated for victim of overwriting rename() if it's is a directory. Works on most of the local filesystems and really trivial to fix... Signed-off-by: Al Viro commit ed70afcd6e795e3de98df56f1cd0f898fbf641a7 Author: Randy Dunlap Date: Thu Jul 21 13:55:37 2011 -0700 mm/truncate.c: fix build for CONFIG_BLOCK not enabled Fix build error when CONFIG_BLOCK is not enabled by providing a stub inode_dio_wait() function. mm/truncate.c:612: error: implicit declaration of function 'inode_dio_wait' Signed-off-by: Randy Dunlap Signed-off-by: Al Viro commit 6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f Merge: 431bf99 b395fb3 Author: Linus Torvalds Date: Fri Jul 22 16:39:42 2011 -0700 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: iommu/core: Fix build with INTR_REMAP=y && CONFIG_DMAR=n iommu/amd: Don't use MSI address range for DMA addresses iommu/amd: Move missing parts to drivers/iommu iommu: Move iommu Kconfig entries to submenu x86/ia64: intel-iommu: move to drivers/iommu/ x86: amd_iommu: move to drivers/iommu/ msm: iommu: move to drivers/iommu/ drivers: iommu: move to a dedicated folder x86/amd-iommu: Store device alias as dev_data pointer x86/amd-iommu: Search for existind dev_data before allocting a new one x86/amd-iommu: Allow dev_data->alias to be NULL x86/amd-iommu: Use only dev_data in low-level domain attach/detach functions x86/amd-iommu: Use only dev_data for dte and iotlb flushing routines x86/amd-iommu: Store ATS state in dev_data x86/amd-iommu: Store devid in dev_data x86/amd-iommu: Introduce global dev_data_list x86/amd-iommu: Remove redundant device_flush_dte() calls iommu-api: Add missing header file Fix up trivial conflicts (independent additions close to each other) in drivers/Makefile and include/linux/pci.h commit 431bf99d26157d56689e5de65bd27ce9f077fc3f Merge: 72f96e0 7ae033c Author: Linus Torvalds Date: Fri Jul 22 16:01:57 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (51 commits) PM: Improve error code of pm_notifier_call_chain() PM: Add "RTC" to PM trace time stamps to avoid confusion PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem PM / Suspend: Add .suspend_again() callback to suspend_ops PM / OPP: Introduce function to free cpufreq table ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active PM / Domains: Take .power_off() error code into account ARM / shmobile: Use genpd_queue_power_off_work() ARM / shmobile: Use pm_genpd_poweroff_unused() PM / Domains: Introduce function to power off all unused PM domains OMAP: PM: disable idle on suspend for GPIO and UART OMAP: PM: omap_device: add API to disable idle on suspend OMAP: PM: omap_device: add system PM methods for PM domain handling OMAP: PM: omap_device: conditionally use PM domain runtime helpers PM / Runtime: Add new helper function: pm_runtime_status_suspended() PM / Domains: Queue up power off work only if it is not pending PM / Domains: Improve handling of wakeup devices during system suspend PM / Domains: Do not restore all devices on power off error PM / Domains: Allow callbacks to execute all runtime PM helpers PM / Domains: Do not execute device callbacks under locks ... commit 72f96e0e38d7e29ba16dcfd824ecaebe38b8293e Merge: 17413f5 fa49515 Author: Linus Torvalds Date: Fri Jul 22 16:01:14 2011 -0700 Merge branch 'for-linus-core' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending * 'for-linus-core' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (38 commits) target: Bump version to v4.1.0-rc1-ml target: remove custom hex2bin() implementation target: fix typo Assoication -> Association target: Update QUEUE ALGORITHM MODIFIER control page default target: ->map_task_SG conversion to ->map_control_SG and ->map_data_SG target: Follow up core updates from AGrover and HCH (round 4) target: Eliminate usage of struct se_mem target: Pass 2nd param of transport_split_cdb by value target: Enforce 1 page max for control cdb buffer sizes target: Make all control CDBs scatter-gather target: Implement Block Device Characteristics VPD page target: Fix reporting of supported VPD pages target: Allow for built-in target modules tcm_fc: Convert to wake_up_process and schedule_timeout_interruptible tcm_fc: Makefile cleanups loopback: Fix memory leak in tcm_loop_make_scsi_hba() loopback: Remove duplicate scsi/scsi_tcq.h include loopback: off by one in tcm_loop_make_naa_tpg() target/iblock: Remove unused iblock_dev members target/iblock: Use request_queue->nr_request for se_device defaults ... commit 17413f5acd03224bcd09eefc5c4088894e832cad Merge: 5a791ea 688d3be Author: Linus Torvalds Date: Fri Jul 22 15:07:35 2011 -0700 Merge branch 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: Fixup __this_cpu_xchg* operations commit 5a791ea4fa4495f7136679cb5366f6544148e613 Merge: 8209f53 9c5a2ba Author: Linus Torvalds Date: Fri Jul 22 15:07:15 2011 -0700 Merge branch 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: separate out drain_workqueue() from destroy_workqueue() workqueue: remove cancel_rearming_delayed_work[queue]() commit 8209f53d79444747782a28520187abaf689761f2 Merge: 22a3b97 eac1b5e Author: Linus Torvalds Date: Fri Jul 22 15:06:50 2011 -0700 Merge branch 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc * 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (39 commits) ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever ptrace: fix ptrace_signal() && STOP_DEQUEUED interaction connector: add an event for monitoring process tracers ptrace: dont send SIGSTOP on auto-attach if PT_SEIZED ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task() ptrace_init_task: initialize child->jobctl explicitly has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/ ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop ptrace: wait_consider_task: s/same_thread_group/ptrace_reparented/ ptrace: kill real_parent_is_ptracer() in in favor of ptrace_reparented() ptrace: ptrace_reparented() should check same_thread_group() redefine thread_group_leader() as exit_signal >= 0 do not change dead_task->exit_signal kill task_detached() reparent_leader: check EXIT_DEAD instead of task_detached() make do_notify_parent() __must_check, update the callers __ptrace_detach: avoid task_detached(), check do_notify_parent() kill tracehook_notify_death() make do_notify_parent() return bool ptrace: s/tracehook_tracer_task()/ptrace_parent()/ ... commit 22a3b9771117d566def0150ea787fcc95f16e724 Merge: acb41c0 a91f423 Author: Linus Torvalds Date: Fri Jul 22 15:02:58 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (31 commits) HID: fix support for Microsoft comfort mouse 4500 HID: hid-multitouch: add one new multitouch device's VID/PID HID: prodikeys: remove a redundant forward declaration of struct pcmidi_snd HID: prodikeys: make needlessly global symbols static HID: emsff: properly handle emsff_init failure HID: ACRUX - add missing hid_hw_stop() in ax_probe() error path HID: fix horizontal wheel for ms comfort mouse 4500 HID: uclogic: Add support for UC-Logic WP1062 HID: wiimote: Add sysfs support to wiimote driver HID: wiimote: Cache wiimote led state HID: wiimote: Add wiimote led request HID: wiimote: Add wiimote input button parser HID: wiimote: Add wiimote event handler HID: wiimote: Add output queue for wiimote driver HID: wiimote: Add wiimote send function HID: wiimote: Synchronize wiimote input and hid event handling HID: wiimote: Register input device in wiimote hid driver HID: wiimote: Add wiimote device structure HID: wiimote: Register wiimote hid driver stub HID: wiimote: Add Nintendo Wii Remote driver stub ... commit acb41c0f928fdb84a1c3753ac92c534a2a0f08d2 Merge: 8181780 ef3b4f8 Author: Linus Torvalds Date: Fri Jul 22 14:54:02 2011 -0700 Merge branch 'of-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'of-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: pci/of: Consolidate pci_bus_to_OF_node() pci/of: Consolidate pci_device_to_OF_node() x86/devicetree: Use generic PCI <-> OF matching microblaze/pci: Move the remains of pci_32.c to pci-common.c microblaze/pci: Remove powermac originated cruft pci/of: Match PCI devices to OF nodes dynamically commit 8181780c163e7111f15619067cfa044172d532e1 Merge: 7235dd7 99ce39e Author: Linus Torvalds Date: Fri Jul 22 14:53:38 2011 -0700 Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 * 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6: dt: include linux/errno.h in linux/of_address.h of/address: Add of_find_matching_node_by_address helper dt: remove extra xsysace platform_driver registration tty/serial: Add devicetree support for nVidia Tegra serial ports dt: add empty of_property_read_u32[_array] for non-dt dt: bindings: move SEC node under new crypto/ dt: add helper function to read u32 arrays tty/serial: change of_serial to use new of_property_read_u32() api dt: add 'const' for of_property_read_string parameter **out_string dt: add helper functions to read u32 and string property values tty: of_serial: support for 32 bit accesses dt: document the of_serial bindings dt/platform: allow device name to be overridden drivers/amba: create devices from device tree dt: add of_platform_populate() for creating device from the device tree dt: Add default match table for bus ids commit 7235dd74a4733d4b3651349b5261d2e06996427d Merge: c7c8518 22a85e4 Author: Linus Torvalds Date: Fri Jul 22 14:52:44 2011 -0700 Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 * 'spi/next' of git://git.secretlab.ca/git/linux-2.6: (34 commits) spi/imx: add device tree probe support spi/imx: copy gpio number passed by platform data into driver private data spi/imx: use soc name in spi device type naming scheme spi/imx: merge type SPI_IMX_VER_0_7 into SPI_IMX_VER_0_4 spi/imx: do not use spi_imx2_3 to name SPI_IMX_VER_2_3 function and macro spi/imx: use mx21 to name SPI_IMX_VER_0_0 function and macro spi/imx: do not make copy of spi_imx_devtype_data spi/dw: Add spi number into spi irq desc spi/tegra: Use engineering names in DT compatible property spi/fsl_spi: fix CPM spi driver mach-s3c2410: remove unused spi-gpio.h file spi: remove obsolete spi-s3c24xx-gpio driver mach-gta2: remove unused spi-gpio.h include mach-qt2410: convert to spi_gpio mach-jive: convert to spi_gpio spi/pxa2xx: Remove unavailable ssp_type from documentation spi/bfin_spi: uninline fat queue funcs spi/bfin_spi: constify pin array spi/bfin_spi: use structs for accessing hardware regs spi/topcliff-pch: Support new device ML7223 IOH ... Fix up trivial conflict in arch/arm/mach-ep93xx/Makefile commit c7c8518498e82591d7784452f5674c3aeb4d079c Merge: ece236c 591567a Author: Linus Torvalds Date: Fri Jul 22 14:50:57 2011 -0700 Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6 * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: (61 commits) gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renaming mcp23s08: add i2c support mcp23s08: isolate spi specific parts mcp23s08: get rid of setup/teardown callbacks gpio/tegra: dt: add binding for gpio polarity mcp23s08: remove unused work queue gpio/da9052: remove a redundant assignment for gpio->da9052 gpio/mxc: add device tree probe support ARM: mxc: use ARCH_NR_GPIOS to define gpio number gpio/mxc: get rid of the uses of cpu_is_mx() gpio/mxc: add missing initialization of basic_mmio_gpio shadow variables gpio: Move mpc5200 gpio driver to drivers/gpio GPIO: DA9052 GPIO module v3 gpio/tegra: Use engineering names in DT compatible property of/gpio: Add new method for getting gpios under different property names gpio/dt: Refine GPIO device tree binding gpio/ml-ioh: fix off-by-one for displaying variable i in dev_err gpio/pca953x: Deprecate meaningless device-tree bindings gpio/pca953x: Remove dynamic platform data pointer gpio/pca953x: Fix IRQ support. ... commit ece236ce2fad9c27a6fd2530f899289025194bce Merge: 441c196 4460207 Author: Linus Torvalds Date: Fri Jul 22 14:50:12 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits) IB/qib: Defer HCA error events to tasklet mlx4_core: Bump the driver version to 1.0 RDMA/cxgb4: Use printk_ratelimited() instead of printk_ratelimit() IB/mlx4: Support PMA counters for IBoE IB/mlx4: Use flow counters on IBoE ports IB/pma: Add include file for IBA performance counters definitions mlx4_core: Add network flow counters mlx4_core: Fix location of counter index in QP context struct mlx4_core: Read extended capabilities into the flags field mlx4_core: Extend capability flags to 64 bits IB/mlx4: Generate GID change events in IBoE code IB/core: Add GID change event RDMA/cma: Don't allow IPoIB port space for IBoE RDMA: Allow for NULL .modify_device() and .modify_port() methods IB/qib: Update active link width IB/qib: Fix potential deadlock with link down interrupt IB/qib: Add sysfs interface to read free contexts IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP IB/qib: Remove double define IB/qib: Remove unnecessary read of PCI_CAP_ID_EXP ... commit 441c196e84b11aad3123baa9320eee7abc6b5c98 Merge: 951cc93 9a00c24 Author: Linus Torvalds Date: Fri Jul 22 14:49:48 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: document the sysfs ABIs firewire: cdev: ABI documentation enhancements firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing firewire: cdev: return -ENOTTY for unimplemented ioctls, not -EINVAL firewire: ohci: skip soft reset retries after card ejection firewire: ohci: fix PHY reg access after card ejection firewire: ohci: add a comment on PHY reg access serialization firewire: ohci: reduce potential context_stop latency firewire: ohci: remove superfluous posted write flushes firewire: net: replacing deprecated __attribute__((packed)) with __packed commit 951cc93a7493a81a47e20231441bc6cf17c98a37 Merge: a7e1aab 415b333 Author: Linus Torvalds Date: Fri Jul 22 14:43:13 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1287 commits) icmp: Fix regression in nexthop resolution during replies. net: Fix ppc64 BPF JIT dependencies. acenic: include NET_SKB_PAD headroom to incoming skbs ixgbe: convert to ndo_fix_features ixgbe: only enable WoL for magic packet by default ixgbe: remove ifdef check for non-existent define ixgbe: Pass staterr instead of re-reading status and error bits from descriptor ixgbe: Move interrupt related values out of ring and into q_vector ixgbe: add structure for containing RX/TX rings to q_vector ixgbe: inline the ixgbe_maybe_stop_tx function ixgbe: Update ATR to use recorded TX queues instead of CPU for routing igb: Fix for DH89xxCC near end loopback test e1000: always call e1000_check_for_link() on e1000_ce4100 MACs. netxen: add fw version compatibility check be2net: request native mode each time the card is reset ipv4: Constrain UFO fragment sizes to multiples of 8 bytes virtio_net: Fix panic in virtnet_remove ipv6: make fragment identifications less predictable ipv6: unshare inetpeers can: make function can_get_bittiming static ... commit a91f423e598912ab301592c7759cfd89e10682a1 Merge: 901e64d b580169 3c1c2fc Author: Jiri Kosina Date: Fri Jul 22 22:47:08 2011 +0200 Merge branches 'roccat', 'upstream' and 'wiimote' into for-linus commit a7e1aabb28e8154ce987b622fd78d80a1ca39361 Merge: 111ad11 996ba96 Author: Linus Torvalds Date: Fri Jul 22 13:45:50 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: Fix in/out emulation lguest: Fix translation count about wikipedia's cpuid page lguest: Fix three simple typos in comments lguest: update comments lguest: Simplify device initialization. lguest: don't rewrite vmcall instructions lguest: remove remaining vmcall lguest: use a special 1:1 linear pagetable mode until first switch. lguest: Do not exit on non-fatal errors commit 111ad119d1765b1bbef2629a5f2bd825caeb7e74 Merge: 997271c 3a6d28b Author: Linus Torvalds Date: Fri Jul 22 13:45:15 2011 -0700 Merge branch 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/pciback: Have 'passthrough' option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI xen/pciback: Remove the DEBUG option. xen/pciback: Drop two backends, squash and cleanup some code. xen/pciback: Print out the MSI/MSI-X (PIRQ) values xen/pciback: Don't setup an fake IRQ handler for SR-IOV devices. xen: rename pciback module to xen-pciback. xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases. xen/pciback: Allocate IRQ handler for device that is shared with guest. xen/pciback: Disable MSI/MSI-X when reseting a device xen/pciback: guest SR-IOV support for PV guest xen/pciback: Register the owner (domain) of the PCI device. xen/pciback: Cleanup the driver based on checkpatch warnings and errors. xen/pciback: xen pci backend driver. xen: tmem: self-ballooning and frontswap-selfshrinking xen: Add module alias to autoload backend drivers xen: Populate xenbus device attributes xen: Add __attribute__((format(printf... where appropriate xen: prepare tmem shim to handle frontswap xen: allow enable use of VGA console on dom0 commit 997271cf5e12c1b38aec0764187094663501c984 Merge: 896d017 97ffab1 Author: Linus Torvalds Date: Fri Jul 22 13:44:53 2011 -0700 Merge branch 'stable/pci.cleanups.v1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/pci.cleanups.v1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/pci: Use 'acpi_gsi_to_irq' value unconditionally. xen/pci: Remove 'xen_allocate_pirq_gsi'. xen/pci: Retire unnecessary #ifdef CONFIG_ACPI xen/pci: Move the allocation of IRQs when there are no IOAPIC's to the end xen/pci: Squash pci_xen_initial_domain and xen_setup_pirqs together. xen/pci: Use the xen_register_pirq for HVM and initial domain users xen/pci: In xen_register_pirq bind the GSI to the IRQ after the hypercall. xen/pci: Provide #ifdef CONFIG_ACPI to easy code squashing. xen/pci: Update comments and fix empty spaces. xen/pci: Shuffle code around. commit 896d01796d33e50589c96bbef5f0017d3cfc4ee8 Merge: 0df55ea 3c52b7b Author: Linus Torvalds Date: Fri Jul 22 13:44:45 2011 -0700 Merge branch 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen:pvhvm: Modpost section mismatch fix commit 0df55ea55bf1f4827115af4740899980b4fce77f Merge: c1f792a d1057c4 Author: Linus Torvalds Date: Fri Jul 22 13:44:18 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (78 commits) mmc: MAINTAINERS: add myself as a tmio-mmc maintainer mmc: print debug messages for runtime PM actions mmc: fix runtime PM with -ENOSYS suspend case mmc: at91_mci: move register header from include/ to drivers/ mmc: mxs-mmc: fix clock rate setting mmc: tmio: fix a deadlock mmc: tmio: fix a recently introduced bug in DMA code mmc: sh_mmcif: maximize power saving mmc: tmio: maximize power saving mmc: tmio: fix recursive spinlock, don't schedule with interrupts disabled mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency mmc: omap_hsmmc: fix oops in omap_hsmmc_dma_cb() mmc: omap_hsmmc: refactor duplicated code mmc: omap_hsmmc: fix a few bugs when setting the clock divisor mmc: omap_hsmmc: introduce start_clock and re-use stop_clock mmc: omap_hsmmc: split duplicate code to calc_divisor() function mmc: omap_hsmmc: move hardcoded frequency constants to defines mmc: omap_hsmmc: correct debug report error status mnemonics mmc: block: fixed NULL pointer dereference mmc: documentation of mmc non-blocking request usage and design. ... commit c1f792a5bfebcf7ee1d739c3cb9baeaede0160e7 Merge: 6aaf440 55fb25d5 Author: Linus Torvalds Date: Fri Jul 22 13:16:33 2011 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (49 commits) xfs: add size update tracepoint to IO completion xfs: convert AIL cursors to use struct list_head xfs: remove confusing ail cursor wrapper xfs: use a cursor for bulk AIL insertion xfs: failure mapping nfs fh to inode should return ESTALE xfs: Remove the second parameter to xfs_sb_count() xfs: remove the dead XFS_DABUF_DEBUG code xfs: remove leftovers of the old btree tracing code xfs: remove the dead QUOTADEBUG code xfs: remove the unused xfs_buf_delwri_sort function xfs: remove wrappers around b_iodone xfs: remove wrappers around b_fspriv xfs: add a proper transaction pointer to struct xfs_buf xfs: factor out xfs_da_grow_inode_int xfs: factor out xfs_dir2_leaf_find_stale xfs: cleanup struct xfs_dir2_free xfs: reshuffle dir2 headers xfs: start periodic workers later Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc" xfs: remove variables that serve no purpose in xfs_alloc_ag_vextent_exact() ... commit 6aaf4404ab2efff2f2f3ee4a5bb5379c1c8092b3 Merge: ba1f9db 10d1459 Author: Linus Torvalds Date: Fri Jul 22 13:16:07 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: don't limit active work items dlm: use workqueue for callbacks dlm: remove deadlock debug print dlm: improve rsb searches dlm: keep lkbs in idr dlm: fix kmalloc args dlm: don't do pointless NULL check, use kzalloc and fix order of arguments dlm: dump address of unknown node dlm: use vmalloc for hash tables dlm: show addresses in configfs commit ba1f9db908a9ac4038f6b694de3e55959886258d Merge: 49302ba 6596528 Author: Linus Torvalds Date: Fri Jul 22 13:12:17 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus: hfsplus: ensure bio requests are not smaller than the hardware sectors hfsplus: Add additional range check to handle on-disk corruptions hfsplus: Add error propagation for hfsplus_ext_write_extent_locked hfsplus: add error checking for hfs_find_init() hfsplus: lift the 2TB size limit hfsplus: fix overflow in hfsplus_read_wrapper hfsplus: fix overflow in hfsplus_get_block hfsplus: assignments inside `if' condition clean-up commit 49302baa640d90074d26297156d180320a7aed2f Merge: eadc387 46fcb2e Author: Linus Torvalds Date: Fri Jul 22 13:10:41 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: combine duplicated block freeing routines GFS2: Add S_NOSEC support GFS2: Automatically adjust glock min hold time GFS2: Cache dir hash table in a contiguous buffer commit eadc3875ebb724bc749bf604c92c6577d06158d1 Merge: 59a7ac1 01dc9cc Author: Linus Torvalds Date: Fri Jul 22 13:09:55 2011 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: clarify the volume notification types' doc UBI: remove dead code UBI: dump stack when switching to R/O mode UBI: fix oops in error path UBI: switch debugging tests knobs to debugfs UBI: make it possible to use struct ubi_device in debug.h UBI: prepare debugging stuff to further debugfs conversion UBI: use debugfs for the extra checks knobs UBI: change the interface of a debugging check function commit 59a7ac12110f27951c6f754b4e451a9df686aea9 Merge: f99b788 cc8f9b9 Author: Linus Torvalds Date: Fri Jul 22 13:09:35 2011 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: (32 commits) MAINTAINERS: change e-mail of Adrian Hunter UBIFS: fix master node recovery UBIFS: improve power cut emulation testing UBIFS: rename recovery testing variables UBIFS: remove custom list of superblocks UBIFS: stop re-defining UBI operations UBIFS: switch to I/O helpers UBIFS: switch to ubifs_leb_write UBIFS: switch to ubifs_leb_read UBIFS: introduce more I/O helpers UBIFS: always print stacktrace when switching to R/O mode UBIFS: remove unused and unneeded debugging function UBIFS: add global debugfs knobs UBIFS: introduce debugfs helpers UBIFS: re-arrange debugging code a bit UBIFS: be more informative in failure mode UBIFS: switch self-check knobs to debugfs UBIFS: lessen amount of debugging check types UBIFS: introduce helper functions for debugging checks and tests UBIFS: amend debugging inode size check function prototype ... commit f99b7880cb9863e11441bd8b2f31d4f556ef1a44 Merge: 02f8c6a 7ea466f Author: Linus Torvalds Date: Fri Jul 22 12:44:30 2011 -0700 Merge branch 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slab: fix DEBUG_SLAB warning slab: shrink sizeof(struct kmem_cache) slab: fix DEBUG_SLAB build SLUB: Fix missing include slub: reduce overhead of slub_debug slub: Add method to verify memory is not freed slub: Enable backtrace for create/delete points slab allocators: Provide generic description of alignment defines slab, slub, slob: Unify alignment definition slob/lockdep: Fix gfp flags passed to lockdep commit 4460207561290c3be7e6c7538f22690028170c1d Merge: 2efdd6a 3cbe182 5763181 10e1b54 e1892fa 9b89925 e67306a fd1b6c4 Author: Roland Dreier Date: Fri Jul 22 11:56:11 2011 -0700 Merge branches 'cma', 'cxgb4', 'ipath', 'misc', 'mlx4', 'mthca', 'qib' and 'srp' into for-next commit e67306a38063d75f61d405527ff8bf1c8e92eb84 Author: Mike Marciniszyn Date: Thu Jul 21 13:21:16 2011 +0000 IB/qib: Defer HCA error events to tasklet With ib_qib options: options ib_qib krcvqs=1 pcie_caps=0x51 rcvhdrcnt=4096 singleport=1 ibmtu=4 a run of ib_write_bw -a yields the following: ------------------------------------------------------------------ #bytes #iterations BW peak[MB/sec] BW average[MB/sec] 1048576 5000 2910.64 229.80 ------------------------------------------------------------------ The top cpu use in a profile is: CPU: Intel Architectural Perfmon, speed 2400.15 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 1002300 Counted LLC_MISSES events (Last level cache demand requests from this core that missed the LLC) with a unit mask of 0x41 (No unit mask) count 10000 samples % samples % app name symbol name 15237 29.2642 964 17.1195 ib_qib.ko qib_7322intr 12320 23.6618 1040 18.4692 ib_qib.ko handle_7322_errors 4106 7.8860 0 0 vmlinux vsnprintf Analysis of the stats, profile, the code, and the annotated profile indicate: - All of the overflow interrupts (one per packet overflow) are serviced on CPU0 with no mitigation on the frequency. - All of the receive interrupts are being serviced by CPU0. (That is the way truescale.cmds statically allocates the kctx IRQs to CPU) - The code is spending all of its time servicing QIB_I_C_ERROR RcvEgrFullErr interrupts on CPU0, starving the packet receive processing. - The decode_err routine is very inefficient, using a printf variant to format a "%s" and continues to loop when the errs mask has been cleared. - Both qib_7322intr and handle_7322_errors read pci registers, which is very inefficient. The fix does the following: - Adds a tasklet to service QIB_I_C_ERROR - Replaces the very inefficient scnprintf() with a memcpy(). A field is added to qib_hwerror_msgs to save the sizeof("string") at compile time so that a strlen is not needed during err_decode(). - The most frequent errors (Overflows) are serviced first to exit the loop as early as possible. - The loop now exits as soon as the errs mask is clear rather than fruitlessly looping through the msp array. With this fix the performance changes to: ------------------------------------------------------------------ #bytes #iterations BW peak[MB/sec] BW average[MB/sec] 1048576 5000 2990.64 2941.35 ------------------------------------------------------------------ During testing of the error handling overflow patch, it was determined that some CPU's were slower when servicing both overflow and receive interrupts on CPU0 with different MSI interrupt vectors. This patch adds an option (krcvq01_no_msi) to not use a dedicated MSI interrupt for kctx's < 2 and to service them on the default interrupt. For some CPUs, the cost of the interrupt enter/exit is more costly than then the additional PCI read in the default handler. Signed-off-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 6596528e391ad978a6a120142cba97a1d7324cb6 Author: Seth Forshee Date: Mon Jul 18 08:06:23 2011 -0700 hfsplus: ensure bio requests are not smaller than the hardware sectors Currently all bio requests are 512 bytes, which may fail for media whose physical sector size is larger than this. Ensure these requests are not smaller than the block device logical block size. BugLink: http://bugs.launchpad.net/bugs/734883 Signed-off-by: Seth Forshee Signed-off-by: Christoph Hellwig commit aac4e4198eff7f9551d586c55342403d49249d95 Author: Naohiro Aota Date: Tue Jul 12 02:54:13 2011 +0900 hfsplus: Add additional range check to handle on-disk corruptions 'recoff' is read from disk and used for an argument to memcpy, so if the value read from disk is larger than the page size, it result to "general protection fault". This patch add additional range check for the value, so that disk fuzz won't cause such fault. Signed-off-by: Naohiro Aota Signed-off-by: Christoph Hellwig commit 415b3334a21aa67806c52d1acf4e72e14f7f402f Author: David S. Miller Date: Fri Jul 22 06:22:10 2011 -0700 icmp: Fix regression in nexthop resolution during replies. icmp_route_lookup() uses the wrong flow parameters if the reverse session route lookup isn't used. So do not commit to the re-decoded flow until we actually make a final decision to use a real route saved in 'rt2'. Reported-by: Florian Westphal Signed-off-by: David S. Miller commit eac1b5e57d7abc836e78fd3fbcf77dbeed01edc9 Author: Oleg Nesterov Date: Thu Jul 21 20:00:43 2011 +0200 ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever Test-case: void *tfunc(void *arg) { execvp("true", NULL); return NULL; } int main(void) { int pid; if (fork()) { pthread_t t; kill(getpid(), SIGSTOP); pthread_create(&t, NULL, tfunc, NULL); for (;;) pause(); } pid = getppid(); assert(ptrace(PTRACE_ATTACH, pid, 0,0) == 0); while (wait(NULL) > 0) ptrace(PTRACE_CONT, pid, 0,0); return 0; } It is racy, exit_notify() does __wake_up_parent() too. But in the likely case it triggers the problem: de_thread() does release_task() and the old leader goes away without the notification, the tracer sleeps in do_wait() without children/tracees. Change de_thread() to do __wake_up_parent(traced_leader->parent). Since it is already EXIT_DEAD we can do this without ptrace_unlink(), EXIT_DEAD threads do not exist from do_wait's pov. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd Author: Lin Ming Date: Fri Jul 22 09:14:31 2011 +0800 sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair No need to define a new "cfs_rq" variable in the "for" block. Just use the one at the top of the function. Signed-off-by: Lin Ming Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1311297271.3938.1352.camel@minggr.sh.intel.com Signed-off-by: Ingo Molnar commit b580169affd7ccc9347cbf4d5f4db1480ee7ee06 Author: Jiri Kosina Date: Fri Jul 22 12:11:15 2011 +0200 HID: fix support for Microsoft comfort mouse 4500 Add forgotten entry into the global blacklist. Signed-off-by: Jiri Kosina commit fa4951595648c14754621c99a07c47c9b9dcf05b Author: Nicholas Bellinger Date: Fri Jul 22 08:24:22 2011 +0000 target: Bump version to v4.1.0-rc1-ml This patch bumps the target core version to v4.1.0-rc1 now that we are in sync with upstream lio-core-2.6.git/master Signed-off-by: Nicholas Bellinger commit 11650b859681e03fdbf26277fcfc5f1f62186703 Author: Andy Shevchenko Date: Mon Jul 18 22:26:40 2011 -0700 target: remove custom hex2bin() implementation This patch drops transport_asciihex_to_binaryhex() in favor of proper hex2bin usage from include/linux/kernel.h:hex2bin() Signed-off-by: Andy Shevchenko Signed-off-by: Nicholas Bellinger commit 163cd5fa9fcb7ccc73a9e39d5f601cfd41a23bfa Author: Andy Shevchenko Date: Mon Jul 18 22:17:43 2011 -0700 target: fix typo Assoication -> Association Additionally this patch brings proper apply of the designator type. However, the original code luckily has no bug, because the association equals to 0. Signed-off-by: Andy Shevchenko Cc: James Bottomley Signed-off-by: Nicholas Bellinger commit 5de619a31d9cb051d1f818e661af4e54def82316 Author: Nicholas Bellinger Date: Sun Jul 17 02:57:58 2011 -0700 target: Update QUEUE ALGORITHM MODIFIER control page default This patch adds the default 'Unrestricted reordering allowed' for SCSI control mode page QUEUE ALGORITHM MODIFIER on a per se_device basis in target_modesense_control() following spc4r23. This includes a new emuluate_rest_reord configfs attribute that currently (only) accepts zero to signal 'Unrestricted reordering allowed' in control mode page usage by the backend target device. Reported-by: Roland Dreier Signed-off-by: Nicholas Bellinger commit 1d20bb6147954d4fbd337a3d1b40c7eeae254cd7 Author: Nicholas Bellinger Date: Thu Jul 21 04:41:48 2011 +0000 target: ->map_task_SG conversion to ->map_control_SG and ->map_data_SG This patch breaks up the ->map_task_SG() backend call into two seperate ->map_control_SG() and ->map_data_SG() in order to better address IBLOCK and pSCSI. IBLOCK only allocates bios for ->map_data_SG(), and pSCSI will allocate a struct request for both cases. This patch fixes incorrect usage of ->map_task_SG() for all se_cmd descriptors in transport_generic_new_cmd() by moving the call into it's proper location directly inside of transport_allocate_data_tasks() Reported-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit 6708bb27bb2703da238f21f516034263348af5be Author: Andy Grover Date: Wed Jun 8 10:36:43 2011 -0700 target: Follow up core updates from AGrover and HCH (round 4) This patch contains the squashed version of forth round series cleanups from Andy and Christoph following the post heavy lifting in the preceeding: 'Eliminate usage of struct se_mem' and 'Make all control CDBs scatter-gather' changes. This also includes a conversion of target core and the v3.0 mainline fabric modules (loopback and tcm_fc) to use pr_debug and the CONFIG_DYNAMIC_DEBUG infrastructure! These have been squashed into this third and final round for v3.1. target: Remove ifdeffed code in t_g_process_write target: Remove direct ramdisk code target: Rename task_sg_num to task_sg_nents target: Remove custom debug macros for pr_debug. Use pr_err(). target: Remove custom debug macros in mainline fabrics target: Set WSNZ=1 in block limits VPD. Abort if WRITE_SAME sectors = 0 target: Remove transport do_se_mem_map callback target: Further simplify transport_free_pages target: Redo task allocation return value handling target: Remove extra parentheses target: change alloc_task call to take *cdb, not *cmd (nab: Fix bogus struct file assignments in fd_do_readv and fd_do_writev) Signed-off-by: Andy Grover Reviewed-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit ec98f7825c6eaa4a9afb0eb518826efc8a2ed4a2 Author: Andy Grover Date: Wed Jul 20 19:28:46 2011 +0000 target: Eliminate usage of struct se_mem Both backstores and fabrics use arrays of struct scatterlist to describe data buffers. However TCM used struct se_mems, basically a linked list of scatterlist entries. We are able to simplify the code by eliminating this intermediate data structure and just using struct scatterlist[] throughout. Also, moved attachment of task to cmd out of transport_generic_get_task and into allocate_control_task and allocate_data_tasks. The reasoning is that it's nonintuitive that get_task should automatically add it to the cmd's task list -- it should just return an allocated, initialized task. That's all it should do, based on the function's name, so either the function shouldn't do it, or the name should change to encapsulate the entire essence of what it does. (nab: Fix compile warnings in tcm_fc, and make transport_kmap_first_data_page honor sg->offset for SGLs from contigious memory with TCM_Loop, and fix control se_cmd descriptor memory leak) Signed-off-by: Andy Grover Signed-off-by: Nicholas Bellinger commit 3a86720567fd92819b449df10db85a2f73447d87 Author: Andy Grover Date: Tue Jun 28 10:31:18 2011 -0700 target: Pass 2nd param of transport_split_cdb by value Since sectors is not modified, it's more straightforward to do this. Signed-off-by: Andy Grover Signed-off-by: Nicholas Bellinger commit d0229ae3fed59b4009e33f836d9ad4e312294d46 Author: Andy Grover Date: Fri Jul 8 17:04:53 2011 -0700 target: Enforce 1 page max for control cdb buffer sizes Due to all cdbs' data buffers being referenced by scatterlists, buffers of more than a page are not contiguous. Instead of handling this in all control command handlers, we may be able to get away with just limiting control cdb data buffers to one page. The only control CDBs we handle that have potentially large data buffers are REPORT LUNS and UNMAP, so if we didn't want to live with this limitation, they would need to be modified to walk the pages in the data buffer's sgl. Signed-off-by: Andy Grover Signed-off-by: Nicholas Bellinger commit 05d1c7c0d0db4cc25548d9aadebb416888a82327 Author: Andy Grover Date: Wed Jul 20 19:13:28 2011 +0000 target: Make all control CDBs scatter-gather Previously, some control CDBs did not allocate memory in pages for their data buffer, but just did a kmalloc. This patch makes all cdbs allocate pages. This has the benefit of streamlining some paths that had to behave differently when we used two allocation methods. The downside is that all accesses to the data buffer need to kmap it before use, and need to handle data in page-sized chunks if more than a page is needed for a given command's data buffer. Finally, note that cdbs with no data buffers are handled a little differently. Before, SCSI_NON_DATA_CDBs would not call get_mem at all (they'd be in the final else in transport_allocate_resources) but now these will make it into generic_get_mem, but just not allocate any buffers. Signed-off-by: Andy Grover Signed-off-by: Nicholas Bellinger commit e22a7f075226c51f3f71b922e9eeb4f99fac1475 Author: Roland Dreier Date: Tue Jul 5 13:34:52 2011 -0700 target: Implement Block Device Characteristics VPD page Implement page B1h, Block Device Characteristics, so that we can report a medium rotation rate of 1 (non-rotating / solid state) if the is_nonrot device attribute is set; we update the iblock backend to set this attribute if the underlying Linux block device has its nonrot flag set. Signed-off-by: Roland Dreier Reviewed-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit b2eb705e00a9b9a9b3122192a7ab3e9058f0c48a Author: Roland Dreier Date: Tue Jul 5 13:34:51 2011 -0700 target: Fix reporting of supported VPD pages The current handling of VPD page 00h (Supported VPD Pages) for INQUIRY commands has a couple of problems: - The page length field is incorrectly set to 3, so the entry for 86h (Extended INQUIRY Data) is ignored since it is in the fourth slot. - Even though the code handles pages B0h and B2h, those pages aren't mentioned in the Supported VPD Pages list, so eg the Linux SCSI stack won't actually try to use them. Fix these problems and make things more robust to avoid future problems by moving to a table of supported VPD pages, which means that any added VPD page support will automatically get reported on page 0. Signed-off-by: Roland Dreier Reviewed-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit f5fbed856931faa1e94a76caf0f0c273c67f0d32 Author: Roland Dreier Date: Tue Jul 5 13:34:50 2011 -0700 target: Allow for built-in target modules In target_fabric_configfs_init(), we should allow fabric_mod to be NULL, since THIS_MODULE is NULL for built-in modules. The main method of using the target code may be as modules, but having everything built-in is useful eg to be able to do quick testing with "qemu -kernel". In any case, we shouldn't bomb out fabric registration for a perfectly valid configuration, so simply drop the check of fabric_mod. Signed-off-by: Roland Dreier Reviewed-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit 2be18149d9d7ebfde7c3081d60f7c9d8d3b6f8c7 Author: Nicholas Bellinger Date: Fri May 27 13:58:48 2011 -0700 tcm_fc: Convert to wake_up_process and schedule_timeout_interruptible This patch converts ft_queue_cmd() to use wake_up_process() and ft_thread() to use schedule_timeout_interruptible(MAX_SCHEDULE_TIMEOUT) instead of wait_event_interruptible(). This fixes a potential race with the wait_event_interruptible() conditional with qobj->queue_cnt in ft_thread(). This patch also drops the unnecessary set_user_nice(current, -20) in ft_thread(), and drops extra () around two if (!(acl)) conditionals in tfc_conf.c. Reported-by: Christoph Hellwig Signed-off-by: Nicholas A. Bellinger commit a1fa3759583ef2379da6e2cc346ee9f99dfba309 Author: Nicholas Bellinger Date: Fri May 27 13:34:20 2011 -0700 tcm_fc: Makefile cleanups This patch removes the unnecessary EXTRA_CFLAGS includes, and drops the unused -DTCM_FC_DEBUG define. Reported-by: Christoph Hellwig Signed-off-by: Nicholas A. Bellinger commit a57b5d36453cc9335f75ae191ffd682a250d08ba Author: Jesper Juhl Date: Tue Jun 28 00:30:17 2011 +0200 loopback: Fix memory leak in tcm_loop_make_scsi_hba() There is a memory leak in tcm_loop_make_scsi_hba(). If all the strstr() calls return NULL and we end up at return ERR_PTR(-EINVAL); then we'll be leaking the memory previously allocated to tl_hba as that variable goes out of scope. This patch should fix the leak. Signed-off-by: Jesper Juhl Signed-off-by: Dan Carpenter Signed-off-by: Nicholas Bellinger commit 824cc5ff37a0dc3ec8c9e7002e3b1ca0b408917e Author: Jesper Juhl Date: Wed Jun 22 01:55:50 2011 -0700 loopback: Remove duplicate scsi/scsi_tcq.h include Signed-off-by: Jesper Juhl Signed-off-by: Nicholas Bellinger commit 12f09ccb4612734a53e47ed5302e0479c10a50f8 Author: Dan Carpenter Date: Sat Apr 2 14:32:47 2011 -0700 loopback: off by one in tcm_loop_make_naa_tpg() This is an off by one 'tgpt' check in tcm_loop_make_naa_tpg() that could result in memory corruption. Signed-off-by: Dan Carpenter Signed-off-by: Nicholas A. Bellinger commit 21bca31c9678edda8eb1dc823be00d190965c53b Author: Roland Dreier Date: Tue Jul 5 15:35:02 2011 -0700 target/iblock: Remove unused iblock_dev members ibd_depth and ibd_force are used write-only. Remove them. ibd_major/minor can be easily retrieved from ibd_bd, so get rid of them too. Signed-off-by: Roland Dreier Reviewed-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit 8f3d14e2b0352e41c8e64a39c95c7d9498c96e89 Author: Nicholas Bellinger Date: Wed Jun 22 01:32:20 2011 -0700 target/iblock: Use request_queue->nr_request for se_device defaults This patch converts iblock_create_virtdevice() to use request_queue->nr_request for se_dev_limits usage of ->hw_queue_depth and ->queue_depth for individual struct se_device export. It also removes the now unused defines for IBLOCK_DEVICE_QUEUE_DEPTH and IBLOCK_MAX_DEVICE_QUEUE_DEPTH Signed-off-by: Nicholas Bellinger commit 5e1be919820175a2becc3c72051050aaa3fae954 Author: Roland Dreier Date: Wed Jul 20 09:28:56 2011 +0000 target: Make se_tmr_lock IRQ-safe transport_lookup_tmr_lun() can be called from interrupt context and therefore needs to use IRQ-safe spinlock functions. Fix this up, and to make the locking work, convert the other uses of se_tmr_lock to be IRQ-disabling. Signed-off-by: Roland Dreier Signed-off-by: Nicholas Bellinger commit 56e34ee2adb59a35bfa5714bdf4dcb3f4d14a41d Author: Roland Dreier Date: Mon Jun 13 20:55:06 2011 -0700 target: Make se_dev_check_online() locking IRQ-safe se_dev_check_online() is called from transport_lookup_cmd_lun(), which as discussed before may be called from interrupt context. So it needs to use spin_lock_irqsave() instead of spin_lock_irq() to avoid enabling interrupts at the wrong time. Signed-off-by: Roland Dreier Signed-off-by: Nicholas Bellinger commit 78faae37897dc2a9ccc7c19155294a4bfdcae077 Author: Roland Dreier Date: Wed Jul 20 09:09:10 2011 +0000 target: Make transport_lookup_cmd_lun() locking IRQ-safe transport_lookup_cmd_lun() may be called from interrupt context (eg tcm_loop_allocate_core_cmd() calls it, and it has a comment that says, "Can be called from interrupt context"), so it needs to use spin_lock_irqsave() instead of spin_lock_irq() to avoid enabling interrupts at the wrong time. (And indeed the last set of lock operations, on lun_cmd_lock, were already using spin_lock_irqsave(), so we just need to fix the other two locks we take) Signed-off-by: Roland Dreier Signed-off-by: Nicholas Bellinger commit 07bde79a5c355dbca66ca4318645aa17b4c0d859 Author: Nicholas Bellinger Date: Mon Jun 13 14:46:09 2011 -0700 target: Add SCF_EMULATE_QUEUE_FULL -> transport_handle_queue_full This patch adds SCF_EMULATE_QUEUE_FULL support using -EAGAIN failures via transport_handle_queue_full() to signal queue full in completion path TFO->queue_data_in() and TFO->queue_status() callbacks. This is done using a new se_cmd->transport_qf_callback() to handle the following queue full exception cases within target core: *) TRANSPORT_COMPLETE_OK (for completion path queue full) *) TRANSPORT_COMPLETE_QF_WP (for TRANSPORT_WRITE_PENDING queue full) *) transport_send_check_condition_and_sense() failure paths in transport_generic_request_failure() and transport_generic_complete_ok() All logic is driven using se_device->qf_work_queue -> target_qf_do_work() to to requeue outstanding se_cmd at the head of se_dev->queue_obj->qobj_list for transport_processing_thread() execution. Tested using tcm_qla2xxx with MAX_OUTSTANDING_COMMANDS=128 for FCP READ to trigger the TRANSPORT_COMPLETE_OK queue full cases, and a simulated TFO->write_pending() -EAGAIN failure to trigger TRANSPORT_COMPLETE_QF_WP. Reported-by: Roland Dreier Signed-off-by: Nicholas Bellinger commit 695434e1cbd57f404110bf4ab187a5127ffd79bb Author: Nicholas Bellinger Date: Fri Jun 3 20:59:19 2011 -0700 target: Add transport_handle_cdb_direct optimization This patch adds a transport_handle_cdb_direct() optimization for mapping and queueing tasks directly from within fabric processing context by calling the newly exported transport_generic_new_cmd(). This currently expects to be called from process context only, and will fail if called within interrupt context. This patch also leaves transport_generic_handle_cdb() unmodified for the moment to function as expected with existing tcm_fc and ib_srpt fabrics, and will be removed once these have been converted and tested with v4.1 code using transport_handle_cdb_direct(). Based on Andy's original patch here: [PATCH 39/42] target: Call transport_new_cmd instead of adding to cmd queue Signed-off-by: Nicholas Bellinger commit 35462975b2b197b990fedbb74b81f9bea9d344cb Author: Christoph Hellwig Date: Tue May 31 23:56:57 2011 -0400 target: merge release_cmd methods The release_cmd_to_pool and release_cmd_direct methods are always the same. Merge them into a single release_cmd method, and clean up the fallout. (nab: fix breakage in transport_generic_free_cmd() parameter build breakage in drivers/target/tcm_fc/tfc_cmd.c) Signed-off-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit db1620a2788f6c470804f6a5f983a0152188bd90 Author: Christoph Hellwig Date: Tue May 31 17:06:43 2011 -0400 target: remove the unused SCF_* flags This patch contains a squashed version to remove unused SCF_* flags: target: remove the unused SCF_SE_DISABLE_ONLINE_CHECK flag target: remove the unused SCF_CMD_PASSTHROUGH_NOALLOC flag target: remove the unused SCF_EMULATE_SYNC_UNMAP flag target: remove the unused SCF_EMULATE_SYNC_CACHE flag Signed-off-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit dc2e652d5f36d7b1c8764c3c3174e28ec2d9903b Author: Christoph Hellwig Date: Tue May 31 17:06:42 2011 -0400 target: remove the always-noop ->new_cmd_failure method Signed-off-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit a1d8b49abd60ba5d09e7c968731abcb0f8f1cbf6 Author: Andy Grover Date: Mon May 2 17:12:10 2011 -0700 target: Updates from AGrover and HCH (round 3) This patch contains a squashed version of third round series cleanups, improvements ,and simplfications from Andy and Christoph ahead of the heavy lifting between round 3 -> 4 for the target core SGL conversion. This include cleanups to the main target I/O path and other miscellaneous updates. target: Replace custom sg<->buf functions with lib funcs target: Simplify sector limiting code target: get_cdb should never return NULL target: Simplify transport_memcpy_se_mem_read_contig target: Use assignment rather than increment for t_task_cdbs target: Don't pass dma_size to generic_get_mem target: Pass sg with type scatterlist in transport_map_sg_to_mem target: Move task_sg_num next to task_sg in struct se_task target: inline struct se_transport_task into struct se_cmd target: Change name & semantics of transport_get_sectors() target: Remove unused members of se_cmd target: Rename se_cmd.t_task_cdbs to t_task_list_num target: Fix some spelling target: Remove unused var from transport_generic_do_tmr target: map_sg_to_mem: return sg_count in return value target/pscsi: Use min_t for sector limits target/pscsi: Unused param for pscsi_get_bio() target: Rename get_cdb_count to allocate_tasks target: Make transport_generic_new_cmd() available for iscsi-target target: Remove fabric callback to allocate iovecs target: Fix transport_generic_new_cmd WRITE comment (hch: Use __GFP_ZERO usage for alloc_pages() usage) Signed-off-by: Andy Grover Reviewed-by: Christoph Hellwig Signed-off-by: Nicholas Bellinger commit dd3a5ad8e0c8706659f02c4a72b8c87f6f7ab479 Author: Nicholas Bellinger Date: Fri May 6 17:55:35 2011 -0700 target: Fix WRITE_SAME_[16,32] number of blocks=0 case This patch fixes the handling of WRITE_SAME_[16,32] emulation where a WRITE_SAME_* CDB with number of blocks=0 was being rejected by SCSI expected data transfer length overflow checking in target core. It changes both CDB cases in transport_generic_cmd_sequencer() to use dev->se_sub_dev->se_dev_attrib.block_size to match what sg_write_same is sending us with --num=0. It also fixes target_emulate_write_same() to properly determine the num_blocks with --num=0 case to determine the remaining range for dev->transport->do_discard(). Reported-by: Chris Greiveldinger Signed-off-by: Nicholas A. Bellinger commit 1eb437a4ac1813f21424b8c9c39575fd61528a26 Author: Nicholas Bellinger Date: Tue May 3 14:23:54 2011 -0700 target: Fix WRITE_SAME_16 t_task_lba assignment bug This patch fixes a bug in the assignment of cmd->t_task.t_task_lba with WRITE_SAME_16 to correctly use get_unaligned_be64() for the 64-bit LBA. Reported-by: Chris Greiveldinger Signed-off-by: Nicholas A. Bellinger commit 5951146dea1ac8ff2f177477c907084d63913cad Author: Andy Grover Date: Tue Jul 19 10:26:37 2011 +0000 target: More core cleanups from AGrover (round 2) This patch contains the squashed version of second round of target core cleanups and simplifications and Andy and Co. It also contains a handful of fixes to address bugs the original series and other minor cleanups. Here is the condensed shortlog: target: Remove unneeded casts to void* target: Rename get_lun_for_{cmd,tmr} to lookup_{cmd,tmr}_lun target: Make t_task a member of se_cmd, not a pointer target: Handle functions returning "-2" target: Use cmd->se_dev over cmd->se_lun->lun_se_dev target: Embed qr in struct se_cmd target: Replace embedded struct se_queue_req with a list_head target: Rename list_heads that are nodes in struct se_cmd to "*_node" target: Fold transport_device_setup_cmd() into lookup_{tmr,cmd}_lun() target: Make t_mem_list and t_mem_list_bidi members of t_task target: Add comment & cleanup transport_map_sg_to_mem() target: Remove unneeded checks in transport_free_pages() (Roland: Fix se_queue_req removal leftovers OOPs) (nab: Fix transport_lookup_tmr_lun failure case) (nab: Fix list_empty(&cmd->t_task.t_mem_bidi_list) inversion bugs) Signed-off-by: Andy Grover Signed-off-by: Roland Dreier Signed-off-by: Nicholas Bellinger commit f22c119683e73498d8126581a1be75e1b7a339a3 Author: Roland Dreier Date: Mon May 2 22:15:37 2011 -0700 target: Fix double test of inquiry_prod The code in transport_add_device_to_core_hba() really intends to make sure that neither inquiry_prod nor inquiry_rev is NULL. Signed-off-by: Roland Dreier Signed-off-by: Nicholas A. Bellinger commit e3d6f909ed803d92a5ac9b4a2c087e0eae9b90d0 Author: Andy Grover Date: Tue Jul 19 08:55:10 2011 +0000 target: Core cleanups from AGrover (round 1) This patch contains the squashed version of a number of cleanups and minor fixes from Andy's initial series (round 1) for target core this past spring. The condensed log looks like: target: use errno values instead of returning -1 for everything target: Rename transport_calc_sg_num to transport_init_task_sg target: Fix leak in error path in transport_init_task_sg target/pscsi: Remove pscsi_get_sh() usage target: Make two runtime checks into WARN_ONs target: Remove hba queue depth and convert to spin_lock_irq usage target: dev->dev_status_queue_obj is unused target: Make struct se_queue_req.cmd type struct se_cmd * target: Remove __transport_get_qr_from_queue() target: Rename se_dev->g_se_dev_list to se_dev_node target: Remove struct se_global target: Simplify scsi mib index table code target: Make dev_queue_obj a member of se_device instead of a pointer target: remove extraneous returns at end of void functions target: Ensure transport_dump_vpd_ident_type returns null-terminated str target: Function pointers don't need to use '&' to be assigned target: Fix comment in __transport_execute_tasks() target: Misc style cleanups target: rename struct pr_reservation_template to pr_reservation target: Remove #defines that just perform indirection target: Inline transport_get_task_from_execute_queue() target: Minor header comment fixes Signed-off-by: Andy Grover Signed-off-by: Nicholas Bellinger commit a8c6da90b823fb94ca76ca0df6bb44e6e205dc87 Author: Nicholas Bellinger Date: Sun Mar 6 11:49:36 2011 -0800 target: Remove unused su_group usage in fabric register/dergister This patch removes two instances of left over v3.x code performing local scope access to struct target_core_fabric_ops->tf_subsys->su_group in target_fabric_configfs_register() and target_fabric_configfs_deregister(). Reported-by: Christophe Fergeau Signed-off-by: Nicholas A. Bellinger commit efa4988d72c69d3024ee25ad1ae87c83b9f8267e Author: Nicholas Bellinger Date: Tue Jul 19 08:09:01 2011 +0000 target: Remove unnecessary *cdb transport_get_lun_for_cmd parameter This patch removes the now unnecessary 'unsigned char *cdb' function parameter from transport_get_lun_for_cmd(). This also includes updating lio-target, tcm_loop and tcm_fc usage of transport_get_lun_for_cmd(). Reported-by: Fubo Chen Signed-off-by: Nicholas A. Bellinger commit e434f1f182674d775c52869d49f714a2614d1c66 Author: Nicholas Bellinger Date: Mon Feb 21 07:49:26 2011 +0000 target: use MAINTENANCE_IN and MAINTENANCE_OUT definitions in scsi.h Signed-off-by: FUJITA Tomonori Signed-off-by: Nicholas A. Bellinger commit d814495599354924eb4de84727680564d685ce9e Author: Fubo Chen Date: Sun Feb 13 15:13:42 2011 -0800 target: Check LUN numbers in transport_get_lun_for_[cmd,tmr] This patch checks the passed 'unpacked_lun' against TRANSPORT_MAX_LUNS_PER_TPG before reading from struct se_node_acl->device_list[]. Signed-off-by: Fubo Chen Signed-off-by: Nicholas A. Bellinger commit ded7c1ee9799fe0ca725b459f151402e3ca4d12b Author: Thomas Gleixner Date: Fri Jul 22 11:17:11 2011 +0200 mips: Fix i8253 clockevent fallout pit_clockevent wants to replaced in the argument of the callback function as well. Reported-by; Ingo Molnar Signed-off-by: Thomas Gleixner commit 7ea466f2256b02a7047dfd47d76a2f6c1e427e3e Author: Tetsuo Handa Date: Thu Jul 21 09:42:45 2011 +0900 slab: fix DEBUG_SLAB warning In commit c225150b "slab: fix DEBUG_SLAB build", "if ((unsigned long)objp & (ARCH_SLAB_MINALIGN-1))" is always true if ARCH_SLAB_MINALIGN == 0. Do not print warning if ARCH_SLAB_MINALIGN == 0. Signed-off-by: Tetsuo Handa Signed-off-by: Pekka Enberg commit cc8f9b99ed9b728e4dd154337a4332cda9e6d38b Author: Artem Bityutskiy Date: Fri Jul 22 10:55:50 2011 +0300 MAINTAINERS: change e-mail of Adrian Hunter ... he does not work in Nokia any longer. Signed-off-by: Artem Bityutskiy commit ace62dd1a805ab9de9ef8d67585d0588cb379653 Merge: 368940d 9e38082 Author: David S. Miller Date: Thu Jul 21 23:36:41 2011 -0700 Merge branch 'vhost-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit 368940d0a847041415fe8128dd062efe2567a1a9 Author: David S. Miller Date: Thu Jul 21 23:26:13 2011 -0700 net: Fix ppc64 BPF JIT dependencies. Signed-off-by: David S. Miller commit ecdfeee25f7e9779dc3eed608e54271e6ed17000 Author: Eric Dumazet Date: Thu Jul 21 23:24:52 2011 -0700 acenic: include NET_SKB_PAD headroom to incoming skbs Some workloads need some headroom (NET_SKB_PAD) to avoid expensive reallocations. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 97c7b1798f3de24315f0a3a7abcc7cf5de3285b9 Merge: e933d01 082757a Author: David S. Miller Date: Thu Jul 21 23:18:00 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 commit 082757afcf7d6e44b24c4927ce5b158196d63e84 Author: Don Skidmore Date: Thu Jul 21 05:55:00 2011 +0000 ixgbe: convert to ndo_fix_features Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM. We remove those duplicates and now use the net_device_ops ndo_set_features. This was based on the original patch submitted by Michal Miroslaw . I also removed the special case not requiring a reset for X540 hardware. It is needed just as it is in 82599 hardware. Signed-off-by: Don Skidmore Cc: Michal Miroslaw Tested-by: Phil Schmitt Signed-off-by: Jeff Kirsher commit 9417c464ba834ae29982fcd71bc59dc8e734327c Author: Andy Gospodarek Date: Sat Jul 16 07:31:33 2011 +0000 ixgbe: only enable WoL for magic packet by default Martin Wilck reported that systems using the ixgbe-driver that were capable of WoL were rebooting almost as soon as they were shut down. This is because the default WoL settings enabled magic packet, broadcast, unicast, and multicast. Other Intel devices seem to use the stored eeprom value for initial WoL capabilities. The 82578DM (e1000e) and 82576 (igb) the devices I looked at had only the magic packet enabled in the eeprom, so that seems appropriate on ixgbe-based devices as well. I set the WoL options on my 82578DM to be the same default as the ixgbe devices (umbg) and saw the same as Martin -- almost as soon as my box shutdown, it booted again. This patch changes the default to only be the magic packet. This is the same as the default for most Intel and non-Intel hardware currently upstream. Signed-off-by: Andy Gospodarek CC: Martin Wilck Tested-by: Phil Schmitt Signed-off-by: Jeff Kirsher commit 34c6ee8181d6ec1ed761ed2fdac4f1b0358e5447 Author: Emil Tantilov Date: Tue Jul 12 08:13:41 2011 +0000 ixgbe: remove ifdef check for non-existent define Signed-off-by: Emil Tantilov Tested-by: Phil Schmitt Signed-off-by: Jeff Kirsher commit ff886dfce2bdacbe71583ec973cec117973d8859 Author: Alexander Duyck Date: Sat Jun 11 01:45:13 2011 +0000 ixgbe: Pass staterr instead of re-reading status and error bits from descriptor This change is meant to address possible race conditions from the status and error bits on the RX descriptors being re-read by multiple functions in the RX cleanup path. To resolve this I have added code that will pass the staterr value to those functions. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit bd19805803a954415ec36a559fd3b8a0a3647d7c Author: Alexander Duyck Date: Sat Jun 11 01:45:08 2011 +0000 ixgbe: Move interrupt related values out of ring and into q_vector This change moves work_limit, total_packets, and total_bytes into the ring container struct of the q_vector. The advantage of this is that it should reduce the size of memory used in the event of multiple rings being assigned to a single q_vector. In addition it should help to reduce the total workload for calculating itr since now total_packets and total_bytes will be the total work done of the interrupt instead of for the ring. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 08c8833b29cfa4343ff132eebc5648b234eb3f85 Author: Alexander Duyck Date: Sat Jun 11 01:45:03 2011 +0000 ixgbe: add structure for containing RX/TX rings to q_vector This patch adds support for a ring container structure to be used within the q_vector. The basic idea is to provide a means of separating the RX and TX rings while maintaining a common structure for their containment. The advantage to this is that later we should be able to pass this structure to the update_itr functions without needing to pass individual rings. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit e1892fa80def35f7d0e9963e582edba01dd8e453 Author: Dotan Barak Date: Thu Jul 14 14:36:42 2011 +0000 mlx4_core: Bump the driver version to 1.0 Many features were added to this driver, so the driver version should change too. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 82d4e46e2a398154273044dd9813206f0d85bc09 Author: Alexander Duyck Date: Sat Jun 11 01:44:58 2011 +0000 ixgbe: inline the ixgbe_maybe_stop_tx function The ixgbe_maybe_stop_tx function is only a few lines long and is called multiple times through the xmit hotpath. In order to streamline things it makes sense to just inline it. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 6440752c872e418452a2cbbf5e73d546affe2b28 Author: Alexander Duyck Date: Sat Jun 11 01:44:53 2011 +0000 ixgbe: Update ATR to use recorded TX queues instead of CPU for routing This change is meant to update ATR so that it will use the recorded RX queue instead of the CPU in the case of routing. This change is meant to help ixgbe default behavior to more closely match that of the kernel. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit a14bc2bb7075e59be635a2470dc0a32c5a0e8e21 Author: Robert Healy Date: Tue Jul 12 08:46:20 2011 +0000 igb: Fix for DH89xxCC near end loopback test On this chipset it is required to configure the MPHY block for loopback tests. If MPHY is not configured then all loopback tests will report failures. Signed-off-by: Robert Healy Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 6d9e5130b96daa1656966f7271e8a0928b3906c4 Author: Nicolas Schichan Date: Sat Jul 9 00:24:18 2011 +0000 e1000: always call e1000_check_for_link() on e1000_ce4100 MACs. Interrupts about link lost or rx sequence errors are not reported by the ce4100 hardware, leading to transitions from link UP to link DOWN never being reported. Signed-off-by: Nicolas Schichan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 996ba96a97f7406052486682846d68935a60e986 Author: Rusty Russell Date: Fri Jul 22 14:39:51 2011 +0930 lguest: Fix in/out emulation We were blatting too much of the register. Linux didn't care, but in theory it might. Reported-by: Jonas Maebe Signed-off-by: Rusty Russell commit 8d431f41603acff8a20cf5df99bc8958c91879c1 Author: Adrian Knoth Date: Mon Jul 11 18:08:47 2011 +0200 lguest: Fix translation count about wikipedia's cpuid page The comment is outdated, wikipedia now has six translations of the cpuid page. Signed-off-by: Adrian Knoth Signed-off-by: Rusty Russell commit 64be11583bac5ca65d017a5c4288f10b2bcf1928 Author: Adrian Knoth Date: Mon Jul 11 18:07:14 2011 +0200 lguest: Fix three simple typos in comments This patch fixes three typos I've accidentally spotted. Signed-off-by: Adrian Knoth Signed-off-by: Rusty Russell (one was already fixed) commit 9f54288def3f92b7805eb6d4b1ddcd73ecf6e889 Author: Rusty Russell Date: Fri Jul 22 14:39:50 2011 +0930 lguest: update comments Also removes a long-unused #define and an extraneous semicolon. Signed-off-by: Rusty Russell commit 3c3ed482dc077a67903a58c9e1aedba1bb18c18a Author: Rusty Russell Date: Fri Jul 22 14:39:49 2011 +0930 lguest: Simplify device initialization. We used to notify the Host every time we updated a device's status. However, it only really needs to know when we're resetting the device, or failed to initialize it, or when we've finished our feature negotiation. In particular, we used to wait for VIRTIO_CONFIG_S_DRIVER_OK in the status byte before starting the device service threads. But this corresponds to the successful finish of device initialization, which might (like virtio_blk's partition scanning) use the device. So we had a hack, if they used the device before we expected we started the threads anyway. Now we hook into the finalize_features hook in the Guest: at that point we tell the Launcher that it can rely on the features we have acked. On the Launcher side, we look at the status at that point, and start servicing the device. Signed-off-by: Rusty Russell commit 6d7a5d1ea34495ecb1d608f0e40afba7776ee408 Author: Rusty Russell Date: Fri Jul 22 14:39:49 2011 +0930 lguest: don't rewrite vmcall instructions Now we no longer use vmcall, we don't need to rewrite it in the Guest. Signed-off-by: Rusty Russell commit 7e1941444f808d8001aa3b63588150c516321a3c Author: Rusty Russell Date: Fri Jul 22 14:39:49 2011 +0930 lguest: remove remaining vmcall We switch back from using vmcall in 091ebf07a2408f9a56634caa0f86d9360e9af23b because it was unreliable under kvm, but I missed one (rarely-used) place. Signed-off-by: Rusty Russell commit 5dea1c88ed11a1221581c4b202f053c4fc138704 Author: Rusty Russell Date: Fri Jul 22 14:39:48 2011 +0930 lguest: use a special 1:1 linear pagetable mode until first switch. The Host used to create some page tables for the Guest to use at the top of Guest memory; it would then tell the Guest where this was. In particular, it created linear mappings for 0 and 0xC0000000 addresses because lguest used to switch to its real page tables quite late in boot. However, since d50d8fe19 Linux initialized boot page tables in head_32.S even before the "are we lguest?" boot jump. So, now we can simplify things: the Host pagetable code assumes 1:1 linear mapping until it first calls the LHCALL_NEW_PGTABLE hypercall, which we now do before we reach C code. This also means that the Host doesn't need to know anything about the Guest's PAGE_OFFSET. (Non-Linux guests might not even have such a thing). Signed-off-by: Rusty Russell commit e0377e25206328998d036cafddcd00a7c3252e3e Author: Sakari Ailus Date: Sun Jun 26 19:36:46 2011 +0300 lguest: Do not exit on non-fatal errors Do not exit on some non-fatal errors: - writev() fails in net_output(). The result is a lost packet or packets. - writev() fails in console_output(). The result is partially lost console output. - readv() fails in net_input(). The result is a lost packet or packets. Rather than bringing the guest down, this patch ignores e.g. an allocation failure on the host side. Example: lguest: page allocation failure. order:4, mode:0x4d0 Pid: 4045, comm: lguest Tainted: G W 2.6.36 #1 Call Trace: [] ? printk+0x18/0x1c [] __alloc_pages_nodemask+0x4d2/0x570 [] cache_alloc_refill+0x2a4/0x4d0 [] ? __netif_receive_skb+0x189/0x270 [] __kmalloc+0xda/0xf0 [] __alloc_skb+0x55/0x100 [] ? net_rx_action+0x79/0x100 [] sock_alloc_send_pskb+0x18d/0x280 [] ? _copy_from_user+0x35/0x130 [] ? memcpy_fromiovecend+0x56/0x80 [] tun_chr_aio_write+0x1cc/0x500 [] do_sync_readv_writev+0x95/0xd0 [] ? _copy_from_user+0x35/0x130 [] ? rw_copy_check_uvector+0x58/0x100 [] do_readv_writev+0x9c/0x1d0 [] ? tun_chr_aio_write+0x0/0x500 [] vfs_writev+0x4a/0x60 [] sys_writev+0x41/0x80 [] syscall_call+0x7/0xb Mem-Info: DMA per-cpu: CPU 0: hi: 0, btch: 1 usd: 0 Normal per-cpu: CPU 0: hi: 186, btch: 31 usd: 0 HighMem per-cpu: CPU 0: hi: 186, btch: 31 usd: 0 active_anon:134651 inactive_anon:50543 isolated_anon:0 active_file:96881 inactive_file:132007 isolated_file:0 unevictable:0 dirty:3 writeback:0 unstable:0 free:91374 slab_reclaimable:6300 slab_unreclaimable:2802 mapped:2281 shmem:9 pagetables:330 bounce:0 DMA free:3524kB min:64kB low:80kB high:96kB active_anon:0kB inactive_anon:8kB active_file:8760kB inactive_file:2760kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15868kB mlocked:0kB dirty:0kB writeback:0kB mapped:16kB shmem:0kB slab_reclaimable:88kB slab_unreclaimable:148kB kernel_stack:40kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 865 2016 2016 Normal free:150100kB min:3728kB low:4660kB high:5592kB active_anon:6224kB inactive_anon:15772kB active_file:324084kB inactive_file:325944kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:885944kB mlocked:0kB dirty:12kB writeback:0kB mapped:1520kB shmem:0kB slab_reclaimable:25112kB slab_unreclaimable:11060kB kernel_stack:1888kB pagetables:1320kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 9207 9207 HighMem free:211872kB min:512kB low:1752kB high:2992kB active_anon:532380kB inactive_anon:186392kB active_file:54680kB inactive_file:199324kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:1178504kB mlocked:0kB dirty:0kB writeback:0kB mapped:7588kB shmem:36kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 0 0 DMA: 3*4kB 65*8kB 35*16kB 18*32kB 11*64kB 9*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3524kB Normal: 35981*4kB 344*8kB 158*16kB 28*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 150100kB HighMem: 5732*4kB 5462*8kB 2826*16kB 1598*32kB 84*64kB 10*128kB 7*256kB 1*512kB 1*1024kB 1*2048kB 9*4096kB = 211872kB 231237 total pagecache pages 2340 pages in swap cache Swap cache stats: add 160060, delete 157720, find 189017/194106 Free swap = 4179840kB Total swap = 4194300kB 524271 pages RAM 296946 pages HighMem 5668 pages reserved 867664 pages shared 82155 pages non-shared Signed-off-by: Sakari Ailus Signed-off-by: Rusty Russell commit e933d0198d399842f075c2c8af0f38630e7e4bee Author: Amit Kumar Salecha Date: Wed Jul 20 00:08:53 2011 +0000 netxen: add fw version compatibility check o Minimum fw version supported for P3 chip is 4.0.505 o File Fw > 4.0.554 is not supported if flash fw < 4.0.554. o In mn firmware case, file fw older than flash fw is allowed. o Change variable names for readability o Update driver version 4.0.76 Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 2dc1deb659d1fc29aaafc2c0b987547d6b383602 Author: Sathya Perla Date: Tue Jul 19 19:52:33 2011 +0000 be2net: request native mode each time the card is reset Currently be3-native mode is requested only in probe(). It must be requested, each time the card is reset either after an EEH error or after sleep/hibernation. Also, the be_cmd_check_native_mode() is better named be_cmd_req_native_mode() Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit d9be4f7a6f5a8da3133b832eca41c3591420b1ca Author: Bill Sommerfeld Date: Tue Jul 19 15:22:33 2011 +0000 ipv4: Constrain UFO fragment sizes to multiples of 8 bytes Because the ip fragment offset field counts 8-byte chunks, ip fragments other than the last must contain a multiple of 8 bytes of payload. ip_ufo_append_data wasn't respecting this constraint and, depending on the MTU and ip option sizes, could create malformed non-final fragments. Google-Bug-Id: 5009328 Signed-off-by: Bill Sommerfeld Signed-off-by: David S. Miller commit 2e66f55b3afa290337a47e6ea134ac071c5dd9a7 Author: Krishna Kumar Date: Wed Jul 20 03:56:02 2011 +0000 virtio_net: Fix panic in virtnet_remove Fix a panic in virtnet_remove. unregister_netdev has already freed up the netdev (and virtnet_info) due to dev->destructor being set, while virtnet_info is still required. Remove virtnet_free altogether, and move the freeing of the per-cpu statistics from virtnet_free to virtnet_remove. Tested patch below. Signed-off-by: Krishna Kumar Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 87c48fa3b4630905f98268dde838ee43626a060c Author: Eric Dumazet Date: Thu Jul 21 21:25:58 2011 -0700 ipv6: make fragment identifications less predictable IPv6 fragment identification generation is way beyond what we use for IPv4 : It uses a single generator. Its not scalable and allows DOS attacks. Now inetpeer is IPv6 aware, we can use it to provide a more secure and scalable frag ident generator (per destination, instead of system wide) This patch : 1) defines a new secure_ipv6_id() helper 2) extends inet_getid() to provide 32bit results 3) extends ipv6_select_ident() with a new dest parameter Reported-by: Fernando Gont Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 21efcfa0ff27776902a8a15e810147be4d937d69 Author: Eric Dumazet Date: Tue Jul 19 20:18:36 2011 +0000 ipv6: unshare inetpeers We currently cow metrics a bit too soon in IPv6 case : All routes are tied to a single inetpeer entry. Change ip6_rt_copy() to get destination address as second argument, so that we fill rt6i_dst before the dst_copy_metrics() call. icmp6_dst_alloc() must set rt6i_dst before calling dst_metric_set(), or else the cow is done while rt6i_dst is still NULL. If orig route points to readonly metrics, we can share the pointer instead of performing the memory allocation and copy. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 61463a30f65225e19e68f59dbd7b888bb308ec99 Author: Thadeu Lima de Souza Cascardo Date: Thu Jul 21 16:22:31 2011 +0000 can: make function can_get_bittiming static The function can_get_bittiming is not used anywhere else, so it should be static. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: David S. Miller commit e3dbc46c2a62688d1aaa1f7291a054fb2b502849 Author: Choi, Jong-Hwan Date: Wed Jul 20 20:33:03 2011 +0000 net: Kobj and queues_kset should be used when CONFIG_XPS is enabled Kobj and queues_kset are used with CONFIG_XPS=y. Signed-off-by: Choi, Jong-Hwan Signed-off-by: David S. Miller commit ebbf9295b17ed605f31f45d9269adb216be3a181 Author: Shreyas Bhatewara Date: Wed Jul 20 17:21:51 2011 +0000 vmxnet3: fix publicity of NETIF_F_HIGHDMA NETIF_F_HIGHDMA is being disabled even when dma64 is true. This patch fixes it. CC: Michal Miroslaw Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit e101e7ddad7a16ada030d6d1f044381924bcc0c1 Author: Shreyas Bhatewara Date: Wed Jul 20 16:01:11 2011 +0000 vmxnet3: set netdev parant device before calling netdev_info Parent device for netdev should be set before netdev_info() can be called otherwise there is a NULL pointer dereference and probe() fails. Signed-off-by: Shreyas N Bhatewara Signed-off-by: Scott J. Goldman -- Signed-off-by: David S. Miller commit 308859097831831a979f2e82cbeef0a94f438080 Author: Marek Vasut Date: Wed Jul 20 05:57:04 2011 +0000 ASIX: Add AX88772B USB ID This device can be found in Acer Iconia TAB W500 tablet dock. Signed-off-by: Marek Vasut Signed-off-by: David S. Miller commit e627539090d5a4efe1d55f1dfa24f8ce08a454e8 Merge: 557e2a3 94c5b41 Author: David S. Miller Date: Thu Jul 21 20:21:27 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 557e2a394de0d142ba930ff3cdb2909419414e06 Author: Giuseppe CAVALLARO Date: Wed Jul 20 00:05:24 2011 +0000 stmmac: improve and up-to-date the documentation This patch adds new information for the driver especially about its platform structure fields. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 36bcfe7d74782c07f601edc4831f6b1ef40e9e43 Author: Giuseppe CAVALLARO Date: Wed Jul 20 00:05:23 2011 +0000 stmmac: unify MAC and PHY configuration parameters (V2) Prior to this change, most PHY configuration parameters were passed into the STMMAC device as a separate PHY device. As well as being unusual, this made it difficult to make changes to the MAC/PHY relationship. This patch moves all the PHY parameters into the MAC configuration structure, mainly as a separate structure. This allows us to completely ignore the MDIO bus attached to a stmmac if desired, and not create the PHY bus. It also allows the stmmac driver to use a different PHY from the one it is connected to, for example a fixed PHY or bit banging PHY. Also derive the stmmac/PHY connection type (MII/RMII etc) from the mode can be passed into _configure_ethernet. STLinux kernel at git://git.stlinux.com/stm/linux-sh4-2.6.32.y.git provides several examples how to use this new infrastructure (that actually is easier to maintain and clearer). Signed-off-by: Stuart Menefy Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit f3240e2811f05f11126b0947ff9bb411b692b2aa Author: Giuseppe CAVALLARO Date: Wed Jul 20 00:05:22 2011 +0000 stmmac: remove warning when compile as built-in (V2) The patch removes the following serie of warnings when the driver is compiled as built-in: drivers/net/stmmac/stmmac_main.c: In function stmmac_cmdline_opt: drivers/net/stmmac/stmmac_main.c:1855:12: warning: ignoring return value of kstrtoul, declared with attribute warn_unused_result [snip] Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 3bec5dcc649bf6b9c8f9ea996c3333381665f263 Author: Giuseppe CAVALLARO Date: Wed Jul 20 00:05:21 2011 +0000 stmmac: update the version (V2) Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 67ae7cf1eeda777f79259c4c6cb17a0bd28dee71 Author: Ben Hutchings Date: Thu Jul 21 15:25:30 2011 -0700 ethtool: Allow zero-length register dumps again Some drivers (ab)use the ethtool_ops::get_regs operation to expose only a hardware revision ID. Commit a77f5db361ed9953b5b749353ea2c7fed2bf8d93 ('ethtool: Allocate register dump buffer with vmalloc()') had the side-effect of breaking these, as vmalloc() returns a null pointer for size=0 whereas kmalloc() did not. For backward-compatibility, allow zero-length dumps again. Reported-by: Kalle Valo Signed-off-by: Ben Hutchings Cc: stable@kernel.org [2.6.37+] Signed-off-by: David S. Miller commit 94c5b41b327e08de0ddf563237855f55080652a1 Author: Guo-Fu Tseng Date: Wed Jul 20 16:57:36 2011 +0000 jme: Fix unmap error (Causing system freeze) This patch add the missing dma_unmap(). Which solved the critical issue of system freeze on heavy load. Michal Miroslaw's rejected patch: [PATCH v2 10/46] net: jme: convert to generic DMA API Pointed out the issue also, thank you Michal. But the fix was incorrect. It would unmap needed address when low memory. Got lots of feedback from End user and Gentoo Bugzilla. https://bugs.gentoo.org/show_bug.cgi?id=373109 Thank you all. :) Cc: stable@kernel.org Signed-off-by: Guo-Fu Tseng Acked-by: Chris Wright Signed-off-by: David S. Miller commit 1511022c9aabf253253e35730a6a3b945a2a53a9 Author: Dan Carpenter Date: Tue Jul 19 22:51:49 2011 +0000 skbuff: fix error handling in pskb_copy() There are two problems: 1) "n" was allocated with alloc_skb() so we should free it with kfree_skb() instead of regular kfree(). 2) We return the freed pointer instead of NULL. Signed-off-by: Dan Carpenter Reviewed-by: Eric Dumazet Signed-off-by: David S. Miller commit 536d1d4a076210f763b60d7c3823f2edbddf3a9c Author: Jiri Pirko Date: Wed Jul 20 04:54:49 2011 +0000 vlan: move vlan_group_[gs]et_device to public header there are no users outside vlan code Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 7890a5b9cbfd159c81ffd7866b5b2d4425886e7f Author: Jiri Pirko Date: Wed Jul 20 04:54:48 2011 +0000 vlan: kill ndo_vlan_rx_register has no users so remove it Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 4f7a4505f8356a739b13e55e964a7f4dc43a1633 Author: Jiri Pirko Date: Wed Jul 20 04:54:47 2011 +0000 macvlan: do vlan cleanup ndo_vlan_rx_register is no longer in use in any driver so remove it. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit cc0e40700656b09d93b062ef6c818aa45429d09a Author: Jiri Pirko Date: Wed Jul 20 04:54:46 2011 +0000 bonding: do vlan cleanup Now when all devices are cleaned up, bond can be cleaned up as well - remove bond->vlgrp - remove bond_vlan_rx_register - substitute necessary occurences of vlan_group_get_device Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 9d846fec22db7b4876353e5e6e97dfc0878b6ada Author: Jiri Pirko Date: Wed Jul 20 04:54:45 2011 +0000 staging: et131x: remove unused prototype et131x_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 223bb15e4a78115bb1bbc3e58e246d26f2c16462 Author: Jiri Pirko Date: Wed Jul 20 04:54:44 2011 +0000 qlcnic: remove usage of vlan_group_get_device Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 5526c0313777d4e5a6551de6b34705ac1fce92a7 Author: Jiri Pirko Date: Wed Jul 20 04:54:43 2011 +0000 stmmac: do vlan cleanup - kill priv->vlgrp and stmmac_vlan_rx_register (used for nothing :)) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit ffcf9b767293ebc3e59e639cd4ec0dff5ca39798 Author: Jiri Pirko Date: Wed Jul 20 04:54:42 2011 +0000 vlan: kill vlan_gro_frags and vlan_gro_receive Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 7ff0bcf676f7ed224ce21b58c7858c8e527068b2 Author: Jiri Pirko Date: Wed Jul 20 04:54:41 2011 +0000 qeth: do vlan cleanup - unify vlan and nonvlan rx path - kill card->vlangrp and qeth_l3_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 53515734888e018af7bcec6b4464bd9e28f1d655 Author: Jiri Pirko Date: Wed Jul 20 04:54:40 2011 +0000 vxge: do vlan cleanup - unify vlan and nonvlan rx path - kill vdev->vlgrp and vxge_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit b2cb09b1a7725408a3464b2f593ceb222eff1042 Author: Jiri Pirko Date: Thu Jul 21 03:27:27 2011 +0000 igb: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and igb_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 3326c784c9f492e988617d93f647ae0cfd4c8d09 Author: Jiri Pirko Date: Wed Jul 20 04:54:38 2011 +0000 forcedeth: do vlan cleanup - unify vlan and nonvlan rx path - kill np->vlangrp and nv_vlan_rx_register - allow to turn on/off rx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 5622e4044a916de1af84bfcc4d437ce0c799d531 Author: Jiri Pirko Date: Thu Jul 21 03:26:31 2011 +0000 e1000: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and e1000_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit a4aeb26628b5184386f99cf202ac837b0e56c975 Author: Jiri Pirko Date: Wed Jul 20 04:54:36 2011 +0000 vlan: kill __vlan_hwaccel_rx and vlan_hwaccel_rx Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 892ef5d85259e193505d553c10237fd5dc9a3d0d Author: Jiri Pirko Date: Wed Jul 20 04:54:35 2011 +0000 cxgb3: do vlan cleanup - unify vlan and nonvlan rx path - kill pi->vlan_grp and vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit dc437974af52e78f2736543dfee94cc385dae6e9 Author: Jiri Pirko Date: Wed Jul 20 04:54:34 2011 +0000 atl2: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and atl2_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 924917098e4bc3561a372a6eb36993e7c3bb02f2 Author: Jiri Pirko Date: Wed Jul 20 04:54:33 2011 +0000 atl1: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and atlx_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit a4f676b80f9ca2a76cb27b8378343a5f4f972d3f Author: Jiri Pirko Date: Wed Jul 20 04:54:32 2011 +0000 ns83820: do vlan cleanup - unify vlan and nonvlan rx path - kill dev->vlgrp and ns83820_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 5da96be53a16a62488316810d0c7c5d58ce3ee4f Author: Jiri Pirko Date: Wed Jul 20 04:54:31 2011 +0000 starfire: do vlan cleanup - unify vlan and nonvlan rx path - kill np->vlgrp and netdev_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 73b54688815f76bdccb8b94b5d1fd2dd0af3ea70 Author: Jiri Pirko Date: Wed Jul 20 04:54:30 2011 +0000 via-velocity: do vlan cleanup - unify vlan and nonvlan rx path - kill vptr->vlgrp and velocity_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 08dddfc3f6e39fc81238ef4804815c559f314066 Author: Jiri Pirko Date: Wed Jul 20 04:54:29 2011 +0000 acenic: do vlan cleanup - unify vlan and nonvlan rx path - kill ap->vlgrp and ace_vlan_rx_register - enable vlan hw accel always (kill vlan ifdefs) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit dadcd65f52921456112183fde543fc214bb0a227 Author: Jiri Pirko Date: Thu Jul 21 03:25:09 2011 +0000 ixgbevf: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and ixgbevf_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 6dacaddd4850cbd6390d4f87548262b5ed79b4a5 Author: Jiri Pirko Date: Wed Jul 20 04:54:27 2011 +0000 vlan: kill vlan_hwaccel_receive_skb Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 312cd51353a4f5940eea963570b8b14b7d9290c4 Author: Jiri Pirko Date: Wed Jul 20 04:54:26 2011 +0000 tehuti: do vlan cleanup - unify vlan and nonvlan rx path - kill priv->vlgrp and bdx_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 9c5d061429b0abc74bcd95d1896a848d1ab663b1 Author: Jiri Pirko Date: Wed Jul 20 04:54:25 2011 +0000 spider_net: do not mention dying vlan_hwaccel_receive_skb Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit b85da2c00453d9b97e66b5be7d035d6e0736eca0 Author: Jiri Pirko Date: Wed Jul 20 04:54:24 2011 +0000 s2io: do vlan cleanup - unify vlan and nonvlan rx path - kill sp->vlgrp and s2io_vlan_rx_register and s2io_vlan_rx_kill_vid (which does nothing and is never called :)) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 18c49b91777c66265d640f8fb221039bdf46b2d3 Author: Jiri Pirko Date: Thu Jul 21 03:24:11 2011 +0000 qlge: do vlan cleanup - unify vlan and nonvlan path - kill qdev->vlgrp and qlge_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit f1b553fbe73bfad38f41269d1c7a7ce3176d9539 Author: Jiri Pirko Date: Wed Jul 20 04:54:22 2011 +0000 mlx4: do vlan cleanup - unify vlan and nonvlan path - kill priv->vlgrp and mlx4_en_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 5043f5057773ba8b539eb51b9a4007e99599824f Author: Jiri Pirko Date: Wed Jul 20 04:54:21 2011 +0000 jme: do vlan cleanup - unify vlan and nonvlan rx path - kill jme->vlgrp and jme_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit a0f1d603ee4186081fda0ad48ccf6163c2009f10 Author: Jiri Pirko Date: Thu Jul 21 06:30:00 2011 +0000 igbvf: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and igbvf_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 87c288c6e9aa31720b72e2bc2d665e24e1653c3e Author: Jiri Pirko Date: Wed Jul 20 04:54:19 2011 +0000 gianfar: do vlan cleanup - unify vlan and nonvlan rx path - kill priv->vlgrp and gfar_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 6ede746b62627b6f03fe88afad1a07d38917b85d Author: Jiri Pirko Date: Wed Jul 20 04:54:18 2011 +0000 enic: do vlan cleanup - unify vlan and nonvlan rx path - kill enic->vlan_group and enic_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit c74ea2f75e40776607f614afde67f1241e283ed6 Author: Jiri Pirko Date: Wed Jul 20 04:54:17 2011 +0000 cxgb4: remove forgotten unused vlan_group Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 87737663d5d7668c8553c572a5a7c26e86c5842b Author: Jiri Pirko Date: Wed Jul 20 04:54:16 2011 +0000 cxgb4vf: do vlan cleanup - unify vlan and nonvlan rx path - kill pi->vlan_grp and cxgb4vf_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 133b08513a99d44d9ed916bb83e46343f6ad2855 Author: Jiri Pirko Date: Wed Jul 20 04:54:15 2011 +0000 chelsio: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlan_grp and t1_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit f859d7cb7967efaedae194dd90a23a7a72fb216d Author: Jiri Pirko Date: Wed Jul 20 04:54:14 2011 +0000 bnad: do vlan cleanup - unify vlan and nonvlan rx path - kill bnad->vlan_grp and bnad_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 2707fffc0f330662d75ff609470700100392673f Author: Jiri Pirko Date: Wed Jul 20 04:54:13 2011 +0000 atl1e: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and atl1e_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 46facce9130ee5a4e4863094049af85c4a757356 Author: Jiri Pirko Date: Wed Jul 20 04:54:12 2011 +0000 atl1c: do vlan cleanup - unify vlan and nonvlan rx path - kill adapter->vlgrp and atl1c_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit c8d9e6dd484a2e10875d2c277f7e8584b92779e5 Author: Jiri Pirko Date: Wed Jul 20 04:54:11 2011 +0000 amd8111e: do vlan cleanup - unify vlan and nonvlan rx path - kill lp->vlgrp and amd8111e_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 9fea03302ada3291fb3066a3c276e3f43556548b Author: Jiri Pirko Date: Wed Jul 20 04:54:10 2011 +0000 lro: do vlan cleanup - remove useless vlan parameters and pointers Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 0f7257281dcbc9bcb46b882c23fa57b6738fce5e Author: Jiri Pirko Date: Wed Jul 20 04:54:09 2011 +0000 lro: kill lro_vlan_hwaccel_receive_frags Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 7756a96e1925addedc87db21ca6646e03b3c674f Author: Jiri Pirko Date: Wed Jul 20 04:54:08 2011 +0000 lro: kill lro_vlan_hwaccel_receive_skb no longer used Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit b49500957a2c90a559dd91f0dcfeb83d84458664 Author: Jiri Pirko Date: Wed Jul 20 04:54:07 2011 +0000 ehea: do vlan cleanup - unify vlan and nonvlan rx path - kill port->vgrp and ehea_vlan_rx_register Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 7033c4ad87c3cf1050eb8190c93f94f5c8b9fae9 Author: Jiri Pirko Date: Wed Jul 20 04:54:06 2011 +0000 nes: do vlan cleanup - unify vlan and nonvlan rx path - kill nesvnic->vlan_grp and nes_netdev_vlan_rx_register - allow to turn on/off rx/tx vlan accel via ethtool (set_features) Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit cec9c133631039f82e4a5ff3bf47b3eba14ff1aa Author: Jiri Pirko Date: Wed Jul 20 04:54:05 2011 +0000 vlan: introduce __vlan_find_dev_deep() Since vlan_group_get_device and vlan_group is not going to be accessible from device drivers, introduce function which substitutes it. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit f605234066852b11096ab071124e3fe415e94420 Author: Jiri Pirko Date: Wed Jul 20 04:54:04 2011 +0000 vlan: finish removing vlan_find_dev from public header else case remained forgotten. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit aafade242ff24fac3aabf61c7861dfa44a3c2445 Author: Andy Lutomirski Date: Thu Jul 21 15:47:10 2011 -0400 x86-64, vdso: Do not allocate memory for the vDSO We can map the vDSO straight from kernel data, saving a few page allocations. As an added bonus, the deleted code contained a memory leak. Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/2c4ed5c2c2e93603790229e0c3403ae506ccc0cb.1311277573.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit 033b1142f4bd44a116d1356fe4a0510437ceddf9 Merge: f5caadb e6625fa Author: David S. Miller Date: Thu Jul 21 13:38:42 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/bluetooth/l2cap_core.c commit ae7bd11b471931752e5609094ca0a49386590524 Author: H. Peter Anvin Date: Thu Jul 21 13:34:05 2011 -0700 clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option The machinery for __ARCH_HAS_CLOCKSOURCE_DATA assumed a file in asm-generic would be the default for architectures without their own file in asm/, but that is not how it works. Replace it with a Kconfig option instead. Link: http://lkml.kernel.org/r/4E288AA6.7090804@zytor.com Signed-off-by: H. Peter Anvin Cc: Andy Lutomirski Cc: Arnd Bergmann Cc: Tony Luck commit f5caadbb3d8fc0b71533e880c684b2230bdb76ac Merge: 0ca87f0 0f598f0 Author: David S. Miller Date: Thu Jul 21 12:39:35 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 0ca87f05ba8bdc6791c14878464efc901ad71e99 Author: Matt Evans Date: Wed Jul 20 15:51:00 2011 +0000 net: filter: BPF 'JIT' compiler for PPC64 An implementation of a code generator for BPF programs to speed up packet filtering on PPC64, inspired by Eric Dumazet's x86-64 version. Filter code is generated as an ABI-compliant function in module_alloc()'d mem with stackframe & prologue/epilogue generated if required (simple filters don't need anything more than an li/blr). The filter's local variables, M[], live in registers. Supports all BPF opcodes, although "complicated" loads from negative packet offsets (e.g. SKF_LL_OFF) are not yet supported. There are a couple of further optimisations left for future work; many-pass assembly with branch-reach reduction and a register allocator to push M[] variables into volatile registers would improve the code quality further. This currently supports big-endian 64-bit PowerPC only (but is fairly simple to port to PPC32 or LE!). Enabled in the same way as x86-64: echo 1 > /proc/sys/net/core/bpf_jit_enable Or, enabled with extra debug output: echo 2 > /proc/sys/net/core/bpf_jit_enable Signed-off-by: Matt Evans Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 3aeb7d2243e55ddcad3c0b402e7b09619a67f5da Author: Michael Chan Date: Wed Jul 20 14:55:25 2011 +0000 bnx2: Fix endian swapping on firmware version string so that ethtool -i will display it correctly on big endian systems. Signed-off-by: Michael Chan Reviewed-by: Bhanu Prakash Gollapudi Signed-off-by: David S. Miller commit 415199f2bd977fa4065d4e836b4b7543f7993bc3 Author: Michael Chan Date: Wed Jul 20 14:55:24 2011 +0000 cnic: Add VLAN ID as a parameter during netevent upcall The bnx2fc driver needs to handle netdev events on VLAN devices. Signed-off-by: Michael Chan Reviewed-by: Bhanu Prakash Gollapudi Signed-off-by: David S. Miller commit 74e49bbdabbac34c77b280152b1de9bef9bf9be7 Author: Michael Chan Date: Wed Jul 20 14:55:23 2011 +0000 cnic: Wait for all Context IDs to be deleted before sending FCOE_DESTROY_FUNC Otherwise, the firmware will not respond and we'll have to wait for timeout. Refactor the wait loop we already have into a separate function for this purpose. Signed-off-by: Michael Chan Reviewed-by: Bhanu Prakash Gollapudi Signed-off-by: David S. Miller commit b37a41e390310429d4171b0f7b6c6eab04512dc0 Author: Michael Chan Date: Wed Jul 20 14:55:22 2011 +0000 cnic: Fix Context ID space calculation Include FCoE CID space only for E2_PLUS devices. Remove old CID offset adjustments that are no longer needed. Signed-off-by: Michael Chan Reviewed-by: Bhanu Prakash Gollapudi Signed-off-by: David S. Miller commit bda18faf630ae3731f4b4e8f4b94a26e326c4797 Author: Matt Carlson Date: Wed Jul 20 10:20:57 2011 +0000 tg3: Fix NVRAM selftest failures for 5720 devs This patch fixes NVRAM selftest failures for 5720 devices by fixing the checksum area size. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 535a490eaddab484c53717fe2feeba800c9cdda2 Author: Matt Carlson Date: Wed Jul 20 10:20:56 2011 +0000 tg3: Return size from tg3_vpd_readblock() Newer VPD datablocks can exceed the size the tg3 driver is traditionally used to. This can cause some of the routines that operate on the VPD data to fail when in-fact they could have succeeded had they known the correct size. This patch fixes the problem. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 3aa1cdf87c0b3f2345e75c474acc32ebbf0a4724 Author: Matt Carlson Date: Wed Jul 20 10:20:55 2011 +0000 tg3: Fix int selftest for recent devices. This patch fixes interrupt selftest failures for recent devices (57765, 5717, 5718. 5719, 5720) by disabling MSI one-shot mode and applying the status tag workaround to the selftest code. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 9d53fa129628d4899083b06fa66b7ca10fed8eb4 Author: Matt Carlson Date: Wed Jul 20 10:20:54 2011 +0000 tg3: Fix RSS indirection table distribution The current RSS indirection table is populated such that more traffic will hit the first RSS ring. This patch adjusts the indirection table so that the load is more evenly distributed. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 5baa5e9aa28baccd2a1227095c25bb3e999f250d Author: Matt Carlson Date: Wed Jul 20 10:20:53 2011 +0000 tg3: Add 5719 and 5720 to EEE_CAP list This patch adds the 5719 and the 5720 to the list of devices that are EEE capable. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b715ce947f51c6637e78b262501f0c4ff9d848cc Author: Matt Carlson Date: Wed Jul 20 10:20:52 2011 +0000 tg3: Fix link down notify failure when EEE disabled Occasionally, when the network cable is removed after a successful autonegotiation, the device will not send a link down interrupt to the driver. This happens because of a bad interaction of an EEE workaround. The fix is to adjust the code so that the root cause condition does not happen. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit be671947b5b3efc6863ff429c1f265aa38e291db Author: Matt Carlson Date: Wed Jul 20 10:20:51 2011 +0000 tg3: Fix link flap at 100Mbps with EEE enabled This patch increases the scope of the EEE interoperability workaround to include more asic revisions. The workarond value is tuned to workaround a link flap issue at 100Mbps. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 9e975cc291d80d5e4562d6bed15ec171e896d69b Author: Matt Carlson Date: Wed Jul 20 10:20:50 2011 +0000 tg3: Fix io failures after chip reset Commit f2096f94b514d88593355995d5dd276961e88af1, entitled "tg3: Add 5720 H2BMC support", needed to add code to preserve some bits set by firmware. Unfortunately the new code causes throughput to stop after a chip reset because it enables state machines before they are ready. This patch undoes the problematic code. The bits will be restored later in the init sequence. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 7961689586d30a34c10b18ac95ba1cd72cefe725 Author: Vladislav Zolotarov Date: Thu Jul 21 07:58:54 2011 +0000 bnx2x: Broken self-test in SF mode on 578xx This patch fixes both the failure in the self-test on 578xx and a hole in a parity recovery flow that this failure has discovered: - internal 'pending' state in a VLAN_MAC object wasn't been cleared when the object state change was called with DRV_ONLY flag, which in particular happens when a parity error happens during the self-test. - bp->sp_state wasn't cleared in the similar circumstances as described above. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8736c82650500222c031dd7f59f0126e59808e36 Author: Vladislav Zolotarov Date: Thu Jul 21 07:58:36 2011 +0000 bnx2x: Parity errors recovery for 578xx Fix the parity errors recovery flow for 578xx: - Add a separate column for the 578xx in the parity mask registers DB. - Fix the bnx2x_process_kill_chip_reset() to handle the blocks newly introduced in the 578xx. Cover ATC and PGLUE_B blocks for 57712 and 578xx. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c03bd39c564f4b5d7683514e9249986e1404940d Author: Vladislav Zolotarov Date: Thu Jul 21 07:57:52 2011 +0000 bnx2x: Read FIP mac from SHMEM in single function mode Read FIP MAC address from SHMEM's "port" section similar to what we do in a MF mode when we read it from a "func" section of SHMEM. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0fea29c129bdae7aca217551acb1108e00cc5ff1 Author: Vladislav Zolotarov Date: Thu Jul 21 07:57:23 2011 +0000 bnx2x: Fixed ethtool -d for 578xx Registers dump code erroneously treated 578xx as 57712. This patch fixes the above and also removes unused data structures. Signed-off-by: Vladislav Zolotarov Signed-off-by: Ariel Elior Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit bf61ee146749de86a5ac46b25d28f8da5bb39d03 Author: Vladislav Zolotarov Date: Thu Jul 21 07:56:51 2011 +0000 bnx2x: Implementation for netdev->ndo_fcoe_get_wwn Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit efbe2eee6dc0f179be84292bf269528b3ec365e9 Author: Peter Zijlstra Date: Thu Jul 7 11:39:45 2011 +0200 lockdep: Fix lockdep_no_validate against IRQ states Thomas noticed that a lock marked with lockdep_set_novalidate_class() will still trigger warnings for IRQ inversions. Cure this by skipping those when marking irq state. Reported-and-tested-by: Thomas Gleixner Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-2dp5vmpsxeraqm42kgww6ge2@git.kernel.org Signed-off-by: Ingo Molnar commit 7fcfd1abd6480d3b9ef17f5759c175e036e835cf Author: Will Deacon Date: Fri Jul 8 18:34:42 2011 +0100 perf: Remove the nmi parameter from the oprofile_perf backend In commit a8b0ca17b80e ("perf: Remove the nmi parameter from the swevent and overflow interface") one site was overlooked. Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110708173442.GB31972@e102144-lin.cambridge.arm.com Signed-off-by: Ingo Molnar commit 1ac2e6ca44e13a087eb7438d284f887097ee7e84 Author: Robert Richter Date: Tue Jun 7 11:49:55 2011 +0200 x86, perf: Make copy_from_user_nmi() a library function copy_from_user_nmi() is used in oprofile and perf. Moving it to other library functions like copy_from_user(). As this is x86 code for 32 and 64 bits, create a new file usercopy.c for unified code. Signed-off-by: Robert Richter Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110607172413.GJ20052@erda.amd.com Signed-off-by: Ingo Molnar commit 9985c20f9e4aee6857c08246b273a3695a52b929 Author: Lin Ming Date: Thu Jun 30 08:09:55 2011 +0000 perf: Remove perf_event_attr::type check PMU type id can be allocated dynamically, so perf_event_attr::type check when copying attribute from userspace to kernel is not valid. Signed-off-by: Lin Ming Cc: Robert Richter Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1309421396-17438-4-git-send-email-ming.m.lin@intel.com Signed-off-by: Ingo Molnar commit f53173e47dee5f7514d264796bec58d43ed0f67f Author: Cyrill Gorcunov Date: Thu Jul 21 20:06:25 2011 +0400 x86, perf: P4 PMU - Fix typos in comments and style cleanup This patch: - fixes typos in comments and clarifies the text - renames obscure p4_event_alias::original and ::alter members to ::original and ::alternative as appropriate - drops parenthesis from the return of p4_get_alias_event() No functional changes. Reported-by: Ingo Molnar Signed-off-by: Cyrill Gorcunov Link: http://lkml.kernel.org/r/20110721160625.GX7492@sun Signed-off-by: Ingo Molnar commit 2bd2d6f2dc952fc44fc52887de36e51896da96b9 Author: Stephan Baerwolf Date: Wed Jul 20 14:46:59 2011 +0200 sched: Replace use of entity_key() "entity_key()" is only used in "__enqueue_entity()" and its only function is to subtract a tasks vruntime by its groups minvruntime. Before this patch a rbtree enqueue-decision is done by comparing two tasks in the style: "if (entity_key(cfs_rq, se) < entity_key(cfs_rq, entry))" which would be "if (se->vruntime-cfs_rq->min_vruntime < entry->vruntime-cfs_rq->min_vruntime)" or (if reducing cfs_rq->min_vruntime out) "if (se->vruntime < entry->vruntime)" which is "if (entity_before(se, entry))" So we do not need "entity_key()". If "entity_before()" is inline we will also save one subtraction (only one, because "entity_key(cfs_rq, se)" was cached in "key") Signed-off-by: Stephan Baerwolf Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-ns12mnd2h5w8rb9agd8hnsfk@git.kernel.org Signed-off-by: Ingo Molnar commit acb5a9ba3bd7cd8b3264f67a3789a9587d3b935b Author: Jan H. Schönherr Date: Thu Jul 14 18:32:43 2011 +0200 sched: Separate group-scheduling code more clearly Clean up cfs/rt runqueue initialization by moving group scheduling related code into the corresponding functions. Also, keep group scheduling as an add-on, so that things are only done additionally, i. e. remove the init_*_rq() calls from init_tg_*_entry(). (This removes a redundant initalization during sched_init()). In case of group scheduling rt_rq->highest_prio.curr is now initialized twice, but adding another #ifdef seems not worth it. Signed-off-by: Jan H. Schönherr Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1310661163-16606-1-git-send-email-schnhrr@cs.tu-berlin.de Signed-off-by: Ingo Molnar commit 26a148eb9c790149750f7e77da0d96029443d400 Author: Richard Kennedy Date: Fri Jul 15 11:41:31 2011 +0100 sched: Reorder root_domain to remove 64 bit alignment padding Reorder root_domain to remove 8 bytes of alignment padding on 64 bit builds, this shrinks the size from 1736 to 1728 bytes, therefore using one fewer cachelines. Signed-off-by: Richard Kennedy Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1310726492.1977.5.camel@castor.rsk Signed-off-by: Ingo Molnar commit 99bc52429f11d1f4f81495ac8237085aaeb6bccf Author: Bianca Lutz Date: Wed Jul 13 20:13:36 2011 +0200 sched: Do not attempt to destroy uninitialized rt_bandwidth If a task group is to be created and alloc_fair_sched_group() fails, then the rt_bandwidth of the corresponding task group is not yet initialized. The caller, sched_create_group(), starts a clean up procedure which calls free_rt_sched_group() which unconditionally destroys the not yet initialized rt_bandwidth. This crashes or hangs the system in lock_hrtimer_base(): UP systems dereference a NULL pointer, while SMP systems loop endlessly on a condition that cannot become true. This patch simply avoids the destruction of rt_bandwidth when the initialization code path was not reached. (This was discovered by accident with a custom kernel modification.) Signed-off-by: Bianca Lutz Signed-off-by: Jan Schoenherr Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1310580816-10861-7-git-send-email-schnhrr@cs.tu-berlin.de Signed-off-by: Ingo Molnar commit 045176d22f08bc0b650a028df0f62fc3c2747699 Author: Jan Schoenherr Date: Wed Jul 13 20:13:32 2011 +0200 sched: Remove unused function cpu_cfs_rq() The last reference to cpu_cfs_rq() was removed with commit 88ec22d3 ("sched: Remove the cfs_rq dependency from set_task_cpu()"). Thus, remove this function, too. Signed-off-by: Jan Schoenherr Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1310580816-10861-3-git-send-email-schnhrr@cs.tu-berlin.de Signed-off-by: Ingo Molnar commit 5f817d676b7b7ac4a29f5ed93063ae7a24550c12 Author: Jan Schoenherr Date: Wed Jul 13 20:13:31 2011 +0200 sched: Fix (harmless) typo 'CONFG_FAIR_GROUP_SCHED' This patch fixes a typo located in a comment. Signed-off-by: Jan Schoenherr Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1310580816-10861-2-git-send-email-schnhrr@cs.tu-berlin.de Signed-off-by: Ingo Molnar commit 9763b67fb9f3050c6da739105888327587c30c4d Author: Peter Zijlstra Date: Wed Jul 13 13:09:25 2011 +0200 sched, cgroup: Optimize load_balance_fair() Use for_each_leaf_cfs_rq() instead of list_for_each_entry_rcu(), this achieves that load_balance_fair() only iterates those task_groups that actually have tasks on busiest, and that we iterate bottom-up, trying to move light groups before the heavier ones. No idea if it will actually work out to be beneficial in practice, does anybody have a cgroup workload that might show a difference one way or the other? [ Also move update_h_load to sched_fair.c, loosing #ifdef-ery ] Signed-off-by: Peter Zijlstra Reviewed-by: Paul Turner Link: http://lkml.kernel.org/r/1310557009.2586.28.camel@twins Signed-off-by: Ingo Molnar commit 9598c82dcacadc3b9daa8170613fd054c6124d30 Author: Paul Turner Date: Wed Jul 6 22:30:37 2011 -0700 sched: Don't update shares twice on on_rq parent In dequeue_task_fair() we bail on dequeue when we encounter a parenting entity with additional weight. However, we perform a double shares update on this entity as we continue the shares update traversal from this point, despite dequeue_entity() having already updated its queuing cfs_rq. Avoid this by starting from the parent when we resume. Signed-off-by: Paul Turner Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110707053059.797714697@google.com Signed-off-by: Ingo Molnar commit 9bbd7374361d9bfc75108c3ad1c1b6db28b1be59 Author: Paul Turner Date: Tue Jul 5 19:07:21 2011 -0700 sched: update correct entity's runtime in check_preempt_wakeup() While looking at check_preempt_wakeup() I realized that we are potentially updating the wrong entity in the fair-group scheduling case. In this case the current task's cfs_rq may not be the same as the one used for the comparison between the waking task and the existing task's vruntime. This potentially results in us using a stale vruntime in the pre-emption decision, providing a small false preference for the previous task. The effects of this are bounded since we always perform a hierarchal update on the tick. Signed-off-by: Paul Turner Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/CAPM31R+2Ke2urUZKao5W92_LupdR4AYEv-EZWiJ3tG=tEes2cw@mail.gmail.com Signed-off-by: Ingo Molnar commit 994bf1c92270e3d7731ea08f1d1bd7a668314e60 Merge: bd96efe cf6ace1 Author: Ingo Molnar Date: Thu Jul 21 17:59:54 2011 +0200 Merge branch 'linus' into sched/core Merge reason: pick up the latest scheduler fixes. Signed-off-by: Ingo Molnar commit 8a35241803eeb0e9fd3fe27835d6b2775c73b641 Author: Oleg Nesterov Date: Thu Jul 21 17:06:53 2011 +0200 ptrace: fix ptrace_signal() && STOP_DEQUEUED interaction Simple test-case, int main(void) { int pid, status; pid = fork(); if (!pid) { pause(); assert(0); return 0x23; } assert(ptrace(PTRACE_ATTACH, pid, 0,0) == 0); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP); kill(pid, SIGCONT); // <--- also clears STOP_DEQUEUD assert(ptrace(PTRACE_CONT, pid, 0,0) == 0); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGCONT); assert(ptrace(PTRACE_CONT, pid, 0, SIGSTOP) == 0); assert(wait(&status) == pid); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP); kill(pid, SIGKILL); return 0; } Without the patch it hangs. After the patch SIGSTOP "injected" by the tracer is not ignored and stops the tracee. Note also that if this test-case uses, say, SIGWINCH instead of SIGCONT, everything works without the patch. This can't be right, and this is confusing. The problem is that SIGSTOP (or any other sig_kernel_stop() signal) has no effect without JOBCTL_STOP_DEQUEUED. This means it is simply ignored after PTRACE_CONT unless JOBCTL_STOP_DEQUEUED was set "by accident", say it wasn't cleared after initial SIGSTOP sent by PTRACE_ATTACH. At first glance we could change ptrace_signal() to add STOP_DEQUEUED after return from ptrace_stop(), but this is not right in case when the tracer does not change the reported SIGSTOP and SIGCONT comes in between. This is even more wrong with PT_SEIZED, SIGCONT adds JOBCTL_TRAP_NOTIFY which will be "lost" during the TRAP_STOP | TRAP_NOTIFY report. So lets add STOP_DEQUEUED _before_ we report the signal. It has no effect unless sig_kernel_stop() == T after the tracer resumes us, and in the latter case the pending STOP_DEQUEUED means no SIGCONT in between, we should stop. Note also that if SIGCONT was sent, PT_SEIZED tracee will correctly report PTRACE_EVENT_STOP/SIGTRAP and thus the tracer can notice the fact SIGSTOP was cancelled. Also, move the current->ptrace check from ptrace_signal() to its caller, get_signal_to_deliver(), this looks more natural. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit d1057c40682990d29d4ee93d6ffd9836043552e6 Author: Guennadi Liakhovetski Date: Sun Jul 17 22:04:07 2011 +0200 mmc: MAINTAINERS: add myself as a tmio-mmc maintainer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Chris Ball commit bb9cab941c7139304899fa7922f3069bb2097f4e Author: Daniel Drake Date: Sun Jul 17 16:38:41 2011 +0100 mmc: print debug messages for runtime PM actions At http://www.mail-archive.com/linux-mmc@vger.kernel.org/msg08371.html (thread: "mmc: sdio: reset card during power_restore") we found and fixed a bug where mmc's runtime power management functions were not being called. We have now also made improvements to the SDIO powerup routine which could possibly mask this kind of issue in future. Add debug messages to the runtime PM hooks so that it is easy to verify if and when runtime PM is happening. Signed-off-by: Daniel Drake Signed-off-by: Chris Ball commit ecc024419a13da1e589aebc422d9d1e3c0124ba4 Author: Ohad Ben-Cohen Date: Sun Jul 17 16:38:21 2011 +0100 mmc: fix runtime PM with -ENOSYS suspend case In the case where a driver returns -ENOSYS from its suspend handler to indicate that the device should be powered down over suspend, the remove routine of the driver was not being called, leading to lots of confusion during resume. The problem is that runtime PM is disabled during this process, and when we reach mmc_sdio_remove, calling the runtime PM functions here (validly) return errors, and this was causing us to skip the remove function. Fix this by ignoring the error value of pm_runtime_get_sync(), which can return valid errors. This also matches the behaviour of pci_device_remove(). Signed-off-by: Daniel Drake Signed-off-by: Chris Ball commit b0a68ec9444384269ec06b474c0a841ccd6fcdf9 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Fri Jul 15 01:52:01 2011 +0200 mmc: at91_mci: move register header from include/ to drivers/ Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Cc: Nicolas Ferre Signed-off-by: Chris Ball commit d982dcdc4e64eb1881df44b0035a8268bf1ab067 Author: Koen Beel Date: Fri Jul 15 17:39:00 2011 -0400 mmc: mxs-mmc: fix clock rate setting Fix clock rate setting in the mxs-mmc driver. Previously, if div2 was 0 then the value for TIMING_CLOCK_RATE would have been 255 instead of 0. The limits for div1 (TIMING_CLOCK_DIVIDE) and div2 (TIMING_CLOCK_RATE+1) were also not correctly defined. Can easily be reproduced on mx23evk: default clock for high speed sdio cards is 50 MHz. With a SSP_CLK of 28.8 MHz default), this resulted in an actual clock rate of about 56 kHz. Tested on mx23evk. Signed-off-by: Koen Beel Reviewed-by: Wolfram Sang Signed-off-by: Chris Ball commit 162f43e31c5a376ec16336e5d0ac973373d54c89 Author: Guennadi Liakhovetski Date: Thu Jul 14 18:39:10 2011 +0200 mmc: tmio: fix a deadlock Currently the tmio-mmc driver contains a recursive runtime PM method invocation, which leads to a deadlock on a mutex. Avoid it by taking care not to request DMA too early. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Chris Ball commit 332bdb506f800d177f6657247347a253dd5b5be8 Author: Guennadi Liakhovetski Date: Thu Jul 14 18:39:06 2011 +0200 mmc: tmio: fix a recently introduced bug in DMA code A recent commit "mmc: tmio: Share register access functions" has swapped arguments of a macro and broken DMA with TMIO MMC. This patch fixes the arguments back. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Chris Ball commit c9b0cef23f8d2a16c97623d25d6e8f8e93a56e4b Author: Guennadi Liakhovetski Date: Thu May 26 15:33:30 2011 +0200 mmc: sh_mmcif: maximize power saving This patch uses runtime PM to allow the system to power down the MMC controller, when the MMC closk is switched off. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Chris Ball commit 71d111cd34ee119c93d056ad9e84dc0e82367f82 Author: Guennadi Liakhovetski Date: Thu Jul 14 12:16:59 2011 +0200 mmc: tmio: maximize power saving This patch uses runtime PM to allow the system to power down the MMC controller, when the MMC closk is switched off. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Chris Ball commit b9269fdd4f61aa4d185c982b0f84a3e7b7ccb4d2 Author: Guennadi Liakhovetski Date: Thu Jul 14 12:12:38 2011 +0200 mmc: tmio: fix recursive spinlock, don't schedule with interrupts disabled Calling mmc_request_done() under a spinlock with interrupts disabled leads to a recursive spin-lock on request retry path and to scheduling in atomic context. This patch fixes both these problems by moving mmc_request_done() to the scheduler workqueue. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Chris Ball commit 15bed0f2fa8e1d7db201692532c210a7823d2d21 Author: Manoj Iyer Date: Mon Jul 11 16:28:35 2011 -0500 mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency Ricoh 1180:e823 does not recognize certain types of SD/MMC cards, as reported at http://launchpad.net/bugs/773524. Lowering the SD base clock frequency from 200Mhz to 50Mhz fixes this issue. This solution was suggest by Koji Matsumuro, Ricoh Company, Ltd. This change has no negative performance effect on standard SD cards, though it's quite possible that there will be one on UHS-1 cards. Signed-off-by: Manoj Iyer Tested-by: Daniel Manrique Cc: Koji Matsumuro Cc: Acked-by: Jesse Barnes Signed-off-by: Chris Ball commit 770d7432009c8bc89cf72d47313866adf600c66a Author: Adrian Hunter Date: Fri May 6 12:14:11 2011 +0300 mmc: omap_hsmmc: fix oops in omap_hsmmc_dma_cb() In the case of an I/O error, the DMA will have been cleaned up in the MMC interrupt and the request structure pointer will be null. In that case, it is essential to check if the DMA is over before dereferencing host->mrq->data. Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit 3796fb8ac40920e04ed36e45b1b40d13aec3909d Author: Andy Shevchenko Date: Wed Jul 13 11:31:15 2011 -0400 mmc: omap_hsmmc: refactor duplicated code There are a few places with the same functionality. This patch creates two functions omap_hsmmc_set_bus_width() and omap_hsmmc_set_bus_mode() to do the job. Signed-off-by: Andy Shevchenko Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit 5934df2f10a48d048fafe0d3c8b242a7c9106e69 Author: Andy Shevchenko Date: Fri May 6 12:14:06 2011 +0300 mmc: omap_hsmmc: fix a few bugs when setting the clock divisor There are two pieces of code which are similar, but not the same. Each of them contains a bug. The SYSCTL register should be read before writing to it in omap_hsmmc_context_restore() to retain the state of the reserved bits. Before setting the clock divisor and DTO bits the value from the SYSCTL register should be masked properly. We were lucky to have no problems with DTO bits. So, make sure we have clear DTO bits properly in omap_hsmmc_set_ios(). Additionally get rid of msleep(1). The actual time is rarely higher than 30us on OMAP 3630. The resulting pieces of code are refactored into the omap_hsmmc_set_clock() function. Signed-off-by: Andy Shevchenko Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit e0c7f99b863b485ad0cde371ea1f62ec8ff70c5d Author: Andy Shevchenko Date: Fri May 6 12:14:05 2011 +0300 mmc: omap_hsmmc: introduce start_clock and re-use stop_clock There is similar code in two functions which enable the clock. Refactor this code to omap_hsmmc_start_clock(). Re-use omap_hsmmc_stop_clock() in omap_hsmmc_context_restore() as well. Signed-off-by: Andy Shevchenko Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit ac330f44c6bcc5f8ef7eb6ea7fd00575a1d5ef1a Author: Andy Shevchenko Date: Tue May 10 15:51:54 2011 +0300 mmc: omap_hsmmc: split duplicate code to calc_divisor() function There are two places where the same calculations are done. Let's split them into a separate function. In addition, simplify by using the DIV_ROUND_UP kernel macro. Signed-off-by: Andy Shevchenko Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit 6b206efeccacafc8cd0cc0b72ff92f2be175ca9e Author: Andy Shevchenko Date: Wed Jul 13 11:16:29 2011 -0400 mmc: omap_hsmmc: move hardcoded frequency constants to defines Move the min and max frequency constants to the definition block in the source file. Signed-off-by: Andy Shevchenko Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit 699b958ba0608cde3b767d0d7445f080cc3fe975 Author: Adrian Hunter Date: Fri May 6 12:14:01 2011 +0300 mmc: omap_hsmmc: correct debug report error status mnemonics CERR and BADA were in the wrong place and there are only 32 not 35. Signed-off-by: Adrian Hunter Reviewed-by: Venkatraman S Signed-off-by: Chris Ball commit 393f9a08e2ee72e42379489a5781feaf9c406d5f Author: Jaehoon Chung Date: Wed Jul 13 17:02:16 2011 +0900 mmc: block: fixed NULL pointer dereference We already check for ongoing async transfers when handling discard requests, but not in mmc_blk_issue_flush(). This patch fixes that omission. Tested with an SDHCI controller and eMMC4.41. Signed-off-by: Jaehoon Chung Signed-off-by: Kyungmin Park Acked-by: Per Forlin Cc: Signed-off-by: Chris Ball commit 7937e878f91ccc32c09177f44cfdc45183d78605 Author: Per Forlin Date: Sun Jul 10 21:21:59 2011 +0200 mmc: documentation of mmc non-blocking request usage and design. Documentation about the background and the design of mmc non-blocking. Host driver guidelines to minimize request preparation overhead. Signed-off-by: Per Forlin Acked-by: Randy Dunlap Signed-off-by: Chris Ball commit bc8a2a9b4e5c418bebaa6bb812982b7ecd298821 Author: ice chien Date: Fri Jul 15 16:58:06 2011 +0800 HID: hid-multitouch: add one new multitouch device's VID/PID This patch adds support for the CSR panel built by XAT. Signed-off-by: Ice Chien Signed-off-by: Jiri Kosina commit d6b8f5819f56ab79741871a4bd8a6e9f9d127bd6 Author: Axel Lin Date: Thu Jul 21 15:47:28 2011 +0800 HID: prodikeys: remove a redundant forward declaration of struct pcmidi_snd Signed-off-by: Axel Lin Signed-off-by: Jiri Kosina commit f4c79818ac6e36e304a01ea2fb6be6e14a545bcf Author: Axel Lin Date: Thu Jul 21 15:21:33 2011 +0800 HID: prodikeys: make needlessly global symbols static The following symbols are not referenced outside this file so there's no need for it to be in the global name space. pcmidi_sustained_note_release init_sustain_timers stop_sustain_timers pcmidi_handle_report pcmidi_setup_extra_keys pcmidi_snd_initialise pcmidi_snd_terminate Make them static. Signed-off-by: Axel Lin Signed-off-by: Jiri Kosina commit 0f598f0b4c3b2259366cfa8adc01bd8e714c82d0 Author: Chris Friesen Date: Thu Jul 21 12:07:10 2011 +0200 netfilter: ipset: fix compiler warnings "'hash_ip4_data_next' declared inline after being called" Some gcc versions warn about prototypes without "inline" when the declaration includes the "inline" keyword. The fix generates a false error message "marked inline, but without a definition" with sparse below 0.4.2. Signed-off-by: Chris Friesen Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 89dc79b787d20e4b6c4077dcee1c5b1be4ab55b8 Author: Jozsef Kadlecsik Date: Thu Jul 21 12:06:18 2011 +0200 netfilter: ipset: hash:net,iface fixed to handle overlapping nets behind different interfaces If overlapping networks with different interfaces was added to the set, the type did not handle it properly. Example ipset create test hash:net,iface ipset add test 192.168.0.0/16,eth0 ipset add test 192.168.0.0/24,eth1 Now, if a packet was sent from 192.168.0.0/24,eth0, the type returned a match. In the patch the algorithm is fixed in order to correctly handle overlapping networks. Limitation: the same network cannot be stored with more than 64 different interfaces in a single set. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit a6a7b759ba62e62542308e091f7fc9cfac4f978e Author: Jozsef Kadlecsik Date: Thu Jul 21 12:05:31 2011 +0200 netfilter: ipset: make possible to hash some part of the data element only Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit baf040a0d1ac6319725c0fe400503683ac016580 Author: Jiri Olsa Date: Thu Jul 14 11:25:34 2011 +0200 perf tools: Make test use the preset debugfs path Use preset debugfs path instead of hardcoded one. Signed-off-by: Jiri Olsa Cc: acme@redhat.com Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org Link: http://lkml.kernel.org/r/1310635534-4013-4-git-send-email-jolsa@redhat.com Signed-off-by: Ingo Molnar commit 13b62567e909125145f90e91625b1062196d1258 Author: Jiri Olsa Date: Thu Jul 14 11:25:33 2011 +0200 perf tools: Add automated tests for events parsing Adding builtin test for parse_events function, which is responsible for parsing/processing "-e" option for stat/top/record commands. This new test will run within the builtin test command suite (perf test). One or several tests were added for each type of event. More tests could be added easily if needed. Signed-off-by: Jiri Olsa Cc: acme@redhat.com Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org Link: http://lkml.kernel.org/r/1310635534-4013-3-git-send-email-jolsa@redhat.com Signed-off-by: Ingo Molnar commit f120f9d51be3a7db8991e7b78dc08bab5f8ab8f3 Author: Jiri Olsa Date: Thu Jul 14 11:25:32 2011 +0200 perf tools: De-opt the parse_events function Moving out the option parameter from parse_events function, and adding new parse_events_option function instead. The option parameter is used only to carry "struct perf_evlist" pointer for chaining new events. Putting it away, enable us to call parse_events from other places without using the option parameter. Signed-off-by: Jiri Olsa Cc: acme@redhat.com Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org Link: http://lkml.kernel.org/r/1310635534-4013-2-git-send-email-jolsa@redhat.com Signed-off-by: Ingo Molnar commit adc4bf9955856f8aa081ba613dbf56ffd664f0b7 Author: David Ahern Date: Mon May 30 09:16:27 2011 -0600 perf script: Fix display of IP address for non-callchain path Non-callchain path is using al.addr which prints as: openssl 14564 17672.003587: 7862d _x86_64_AES_encrypt_compact This should be sample->ip to print as: openssl 14564 17672.003587: 3f7867862d _x86_64_AES_encrypt_compact Signed-off-by: David Ahern Acked-by: Frederic Weisbecker Cc: acme@ghostprotocols.net Cc: peterz@infradead.org Cc: paulus@samba.org Link: http://lkml.kernel.org/r/1306768587-15376-1-git-send-email-dsahern@gmail.com Signed-off-by: Ingo Molnar commit a6c23905ff0d6bbddf590ef0838489ee0f6c74ac Author: Greg Dietsche Date: Thu Jun 30 20:10:53 2011 -0500 x86, smpboot: Mark the names[] array in __inquire_remote_apic() as const This array is read-only. Make it explicit by marking as const. Signed-off-by: Greg Dietsche Link: http://lkml.kernel.org/r/1309482653-23648-1-git-send-email-Gregory.Dietsche@cuw.edu Signed-off-by: Ingo Molnar commit eda3913bb70ecebac13adccffe1e7f96e93cee02 Author: David Ahern Date: Fri Jul 15 12:34:09 2011 -0600 perf tools: Fix endian conversion reading event attr from file header The perf_event_attr struct has two __u32's at the top and they need to be swapped individually. With this change I was able to analyze a perf.data collected in a 32-bit PPC VM on an x86 system. I tested both 32-bit and 64-bit binaries for the Intel analysis side; both read the PPC perf.data file correctly. -v2: - changed the existing perf_event__attr_swap() to swap only elements of perf_event_attr and exported it for use in swapping the attributes in the file header - updated swap_ops used for processing events Signed-off-by: David Ahern Acked-by: Frederic Weisbecker Cc: acme@ghostprotocols.net Cc: peterz@infradead.org Cc: paulus@samba.org Cc: Link: http://lkml.kernel.org/r/1310754849-12474-1-git-send-email-dsahern@gmail.com Signed-off-by: Ingo Molnar commit 0111919da268e1ced315e009ad0d0435a2fb32ac Author: Jiri Olsa Date: Wed Jul 13 22:58:18 2011 +0200 perf tools: Add missing 'node' alias to the hw_cache[] array Add "node" as a simple alias for NODE cache events. The addition of NODE cache events broke the parse_alias function, so any mismatched event caused the segfault, like: # ./perf stat -e krava ls The hw_cache/hw_cache_op/hw_cache_result arrays needs to follow PERF_COUNT_HW_CACHE_*MAX enums. Adding those MAXs to be size of those arrays, so possible ommision in future wil not lead to segfault. Adding read/write/prefetch as allowed operations for node cache event. Signed-off-by: Jiri Olsa Acked-by: Peter Zijlstra Cc: acme@redhat.com Link: http://lkml.kernel.org/r/20110713205818.GB7827@jolsa.brq.redhat.com Signed-off-by: Ingo Molnar commit 9e380825ab3f5176f65306c4ac119fd23634ce03 Author: Shirley Ma Date: Wed Jul 20 10:23:12 2011 -0700 vhost: handle wrap around in # of bufs math The meth for calculating the # of outstanding buffers gives incorrect results when vq->upend_idx wraps around zero. Fix that. Signed-off-by: Shirley Ma Signed-off-by: Michael S. Tsirkin commit 4582c0a4866ea70c35aa9279e1f91834d3348a93 Author: Jean Delvare Date: Sat Jul 16 17:42:00 2011 +0200 mutex: Make mutex_destroy() an inline function The non-debug variant of mutex_destroy is a no-op, currently implemented as a macro which does nothing. This approach fails to check the type of the parameter, so an error would only show when debugging gets enabled. Using an inline function instead, offers type checking for earlier bug catching. Signed-off-by: Jean Delvare Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/20110716174200.41002352@endymion.delvare Signed-off-by: Ingo Molnar commit 40bcea7bbe8fe452a2d272e2ffd3dea281eec9ff Merge: 492f73a 14a8fd7 Author: Ingo Molnar Date: Thu Jul 21 09:32:40 2011 +0200 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 492f73a303b488ffd67097b2351d54aa6e6c7c73 Merge: e08fbb7 f7bc8b6 Author: Ingo Molnar Date: Thu Jul 21 09:29:14 2011 +0200 Merge branch 'perf/urgent' into perf/core Merge reason: pick up the latest fixes - they won't make v3.0. Signed-off-by: Ingo Molnar commit c047e5f3170c2595e66ed67f87cec01afd717212 Author: Michael S. Tsirkin Date: Wed Jul 20 13:41:31 2011 +0300 vhost-net: update used ring on backend change On backend change, we flushed out outstanding skbs but forgot to update the used ring, so that done entries were left in the ubuf_info ring. As a result we lose heads or complete incorrect ones, crashing the guest or leaking memory. Fix by updating the used ring. Signed-off-by: Michael S. Tsirkin commit ef68c8f87ed13f65df867dddf36c0e185b27b942 Author: Jan Beulich Date: Tue Jul 19 11:53:07 2011 +0100 x86: Serialize EFI time accesses on rtc_lock The EFI specification requires that callers of the time related runtime functions serialize with other CMOS accesses in the kernel, as the EFI time functions may choose to also use the legacy CMOS RTC. Besides fixing a latent bug, this is a prerequisite to safely enable the rtc-efi driver for x86, which ought to be preferred over rtc-cmos on all EFI platforms. Signed-off-by: Jan Beulich Acked-by: Matthew Garrett Cc: Link: http://lkml.kernel.org/r/4E257E33020000780004E319@nat28.tlf.novell.com Signed-off-by: Ingo Molnar Cc: Matthew Garrett commit ac619f4eba45da10053fc991f8a5d47b3be79fa3 Author: Jan Beulich Date: Tue Jul 19 11:39:03 2011 +0100 x86: Serialize SMP bootup CMOS accesses on rtc_lock With CPU hotplug, there is a theoretical race between other CMOS (namely RTC) accesses and those done in the SMP secondary processor bringup path. I am unware of the problem having been noticed by anyone in practice, but it would very likely be rather spurious and very hard to reproduce. So to be on the safe side, acquire rtc_lock around those accesses. Signed-off-by: Jan Beulich Cc: John Stultz Link: http://lkml.kernel.org/r/4E257AE7020000780004E2FF@nat28.tlf.novell.com Signed-off-by: Ingo Molnar commit a750036f35cda160ef77408ec92c3dc41f8feebb Author: Jan Beulich Date: Tue Jul 19 13:00:45 2011 +0100 x86: Fix write lock scalability 64-bit issue With the write lock path simply subtracting RW_LOCK_BIAS there is, on large systems, the theoretical possibility of overflowing the 32-bit value that was used so far (namely if 128 or more CPUs manage to do the subtraction, but don't get to do the inverse addition in the failure path quickly enough). A first measure is to modify RW_LOCK_BIAS itself - with the new value chosen, it is good for up to 2048 CPUs each allowed to nest over 2048 times on the read path without causing an issue. Quite possibly it would even be sufficient to adjust the bias a little further, assuming that allowing for significantly less nesting would suffice. However, as the original value chosen allowed for even more nesting levels, to support more than 2048 CPUs (possible currently only for 64-bit kernels) the lock itself gets widened to 64 bits. Signed-off-by: Jan Beulich Cc: Linus Torvalds Cc: Andrew Morton Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/4E258E0D020000780004E3F0@nat28.tlf.novell.com Signed-off-by: Ingo Molnar commit a738669464a1e0d8e7b20f631120192f9cf7cfbd Author: Jan Beulich Date: Tue Jul 19 13:00:19 2011 +0100 x86: Unify rwsem assembly implementation Rather than having two functionally identical implementations for 32- and 64-bit configurations, use the previously extended assembly abstractions to fold the rwsem two implementations into a shared one. Signed-off-by: Jan Beulich Cc: Linus Torvalds Cc: Andrew Morton Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/4E258DF3020000780004E3ED@nat28.tlf.novell.com Signed-off-by: Ingo Molnar commit 4625cd637919edfb562e0d62abf94f52e9321335 Author: Jan Beulich Date: Tue Jul 19 12:59:51 2011 +0100 x86: Unify rwlock assembly implementation Rather than having two functionally identical implementations for 32- and 64-bit configurations, extend the existing assembly abstractions enough to fold the two rwlock implementations into a shared one. Signed-off-by: Jan Beulich Cc: Linus Torvalds Cc: Andrew Morton Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/4E258DD7020000780004E3EA@nat28.tlf.novell.com Signed-off-by: Ingo Molnar commit 295cc522c2b2834b302424e41ebb5846df6d61bd Author: Wanlong Gao Date: Tue Jul 19 09:48:39 2011 +0800 fs:update the NOTE of the file_operations structure Big kernel lock had been removed and setlease now use the lock_flocks() to hold a special spin lock file_lock_lock by Matthew. So just remove the out-of-date NOTE. Signed-off-by: Wanlong Gao Signed-off-by: Al Viro commit 86c98e8cdb21ff4628f4d48559ab6e006380fa4b Author: Al Viro Date: Mon Jul 18 23:39:07 2011 -0400 Remove dead code in dget_parent() ->d_parent is never NULL... Signed-off-by: Al Viro commit e4b9f0058145a3bed4199eacee62a9969c163401 Author: David Howells Date: Mon Jul 18 13:50:00 2011 +0100 AFS: Fix silly characters in a comment Fix silly characters in a comment in AFS code (some weird characters replaced the word 'flag' some point way back). Reported-by: viro@ZenIV.linux.org.uk Signed-off-by: David Howells Signed-off-by: Al Viro commit 4513d899c418ff69052420e29e354e4c64b3ef76 Author: Al Viro Date: Sun Jul 17 10:52:14 2011 -0400 switch d_add_ci() to d_splice_alias() in "found negative" case as well Signed-off-by: Al Viro commit 6c673ab393bc18e8bff729cd04cf384d15e72a04 Author: Al Viro Date: Sun Jul 17 10:22:27 2011 -0400 simplify gfs2_lookup() d_splice_alias() will DTRT when given NULL or ERR_PTR Signed-off-by: Al Viro commit 79ac5a46c5c1c17476fbf84b4d4600d6d565defd Author: Al Viro Date: Sun Jul 17 10:17:46 2011 -0400 jfs_lookup(): don't bother with . or .. they'll never be passed to ->lookup() Signed-off-by: Al Viro commit 10d9f309d88ca7f47133d57e99b72810f119f75b Author: Al Viro Date: Sat Jul 16 23:09:10 2011 -0400 get rid of useless dget_parent() in btrfs rename() and link() ->d_parent is locked and stable there... Signed-off-by: Al Viro commit 2fbe8c8ad176db69dfc682b4abb721c8fc19c3fd Author: Al Viro Date: Sat Jul 16 21:38:06 2011 -0400 get rid of useless dget_parent() in fs/btrfs/ioctl.c both callers there have dentry->d_parent stabilized by the fact that their caller had obtained dentry from lookup_one_len() and had not dropped ->i_mutex on parent since then. Signed-off-by: Al Viro commit 02c24a82187d5a628c68edfe71ae60dc135cd178 Author: Josef Bacik Date: Sat Jul 16 20:44:56 2011 -0400 fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers Btrfs needs to be able to control how filemap_write_and_wait_range() is called in fsync to make it less of a painful operation, so push down taking i_mutex and the calling of filemap_write_and_wait() down into the ->fsync() handlers. Some file systems can drop taking the i_mutex altogether it seems, like ext3 and ocfs2. For correctness sake I just pushed everything down in all cases to make sure that we keep the current behavior the same for everybody, and then each individual fs maintainer can make up their mind about what to do from there. Thanks, Acked-by: Jan Kara Signed-off-by: Josef Bacik Signed-off-by: Al Viro commit 22735068d53c7115e384bc88dea95b17e76a6839 Author: Josef Bacik Date: Mon Jul 18 13:21:39 2011 -0400 drivers: fix up various ->llseek() implementations Fix up a few ->llseek() implementations that won't deal with SEEK_HOLE/SEEK_DATA properly. Make them future proof so that if we ever add new options they will return -EINVAL. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Al Viro commit 06222e491e663dac939f04b125c9dc52126a75c4 Author: Josef Bacik Date: Mon Jul 18 13:21:38 2011 -0400 fs: handle SEEK_HOLE/SEEK_DATA properly in all fs's that define their own llseek This converts everybody to handle SEEK_HOLE/SEEK_DATA properly. In some cases we just return -EINVAL, in others we do the normal generic thing, and in others we're simply making sure that the properly due-dilligence is done. For example in NFS/CIFS we need to make sure the file size is update properly for the SEEK_HOLE and SEEK_DATA case, but since it calls the generic llseek stuff itself that is all we have to do. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Al Viro commit c334b1138bd44bea578eab7971c59bd9212a1093 Author: Josef Bacik Date: Mon Jul 18 13:21:37 2011 -0400 Ext4: handle SEEK_HOLE/SEEK_DATA generically Since Ext4 has its own lseek we need to make sure it handles SEEK_HOLE/SEEK_DATA. For now just do the same thing that is done in the generic case, somebody else can come along and make it do fancy things later. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Al Viro commit b26751575a9aa55fd6dbf3febde3ff06dfadc44f Author: Josef Bacik Date: Mon Jul 18 13:21:36 2011 -0400 Btrfs: implement our own ->llseek In order to handle SEEK_HOLE/SEEK_DATA we need to implement our own llseek. Basically for the normal SEEK_*'s we will just defer to the generic helper, and for SEEK_HOLE/SEEK_DATA we will use our fiemap helper to figure out the nearest hole or data. Currently this helper doesn't check for delalloc bytes for prealloc space, so for now treat prealloc as data until that is fixed. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Al Viro commit 982d816581eeeacfe5b2b7c6d47d13a157616eff Author: Josef Bacik Date: Mon Jul 18 13:21:35 2011 -0400 fs: add SEEK_HOLE and SEEK_DATA flags This just gets us ready to support the SEEK_HOLE and SEEK_DATA flags. Turns out using fiemap in things like cp cause more problems than it solves, so lets try and give userspace an interface that doesn't suck. We need to match solaris here, and the definitions are *o* If /whence/ is SEEK_HOLE, the offset of the start of the next hole greater than or equal to the supplied offset is returned. The definition of a hole is provided near the end of the DESCRIPTION. *o* If /whence/ is SEEK_DATA, the file pointer is set to the start of the next non-hole file region greater than or equal to the supplied offset. So in the generic case the entire file is data and there is a virtual hole at the end. That means we will just return i_size for SEEK_HOLE and will return the same offset for SEEK_DATA. This is how Solaris does it so we have to do it the same way. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Al Viro commit b4d5b10fb2e3a4327838c07d8ebd9e350fcc133d Author: Christoph Hellwig Date: Sat Jul 16 16:47:00 2011 -0400 reiserfs: make reiserfs default to barrier=flush Change the default reiserfs mount option to barrier=flush. Based on a patch from Jeff Mahoney in the SuSE tree. Signed-off-by: Jeff Mahoney Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 00eacd66cd8ab5fff9df49aa3f261ad43d495434 Author: Christoph Hellwig Date: Sat Jul 16 16:46:50 2011 -0400 ext3: make ext3 mount default to barrier=1 This patch turns on barriers by default for ext3. mount -o barrier=0 will turn them off. Based on a patch from Chris Mason in the SuSE tree. Signed-off-by: Chris Mason Signed-off-by: Christoph Hellwig Acked-by: Eric Sandeen Acked-by: Jan Kara Acked-by: Jeff Mahoney Acked-by: Ted Ts'o Signed-off-by: Al Viro commit b85fd6bdc99da917f5ae0f90f0c2d86ef9a766aa Author: Al Viro Date: Sun Jul 17 11:19:44 2011 -0400 don't open-code parent_ino() in assorted ->readdir() Signed-off-by: Al Viro commit 2def9e4ec75e6771def66a07960dd516e119ab4c Author: Al Viro Date: Sat Jul 16 17:43:09 2011 -0400 minix_getattr(): don't bother with ->d_parent we can find superblock easier, TYVM... Signed-off-by: Al Viro commit ee60498f3ef94d7ed58dcd38077e27e839e7cafc Author: Al Viro Date: Sat Jul 16 17:06:30 2011 -0400 coda_venus_readdir(): use offsetof() Signed-off-by: Al Viro commit c066b65abfe20b7a23ad3b1161cd67315f65f3c1 Author: Al Viro Date: Sat Jul 16 12:41:29 2011 -0400 arm: don't create useless copies to pass into debugfs_create_dir() its first argument is const char * and it's really not modified... Signed-off-by: Al Viro commit 12520c438f48113593130d210eba821a532c893b Author: Al Viro Date: Sat Jul 16 12:37:57 2011 -0400 switch assorted clock drivers to debugfs_remove_recursive() Signed-off-by: Al Viro commit f15146380d28b746df3c8b81b392812eb982382a Author: Kay Sievers Date: Tue Jul 12 20:48:39 2011 +0200 fs: seq_file - add event counter to simplify poll() support Moving the event counter into the dynamically allocated 'struc seq_file' allows poll() support without the need to allocate its own tracking structure. All current users are switched over to use the new counter. Requested-by: Andrew Morton akpm@linux-foundation.org Acked-by: NeilBrown Tested-by: Lucas De Marchi lucas.demarchi@profusion.mobi Signed-off-by: Kay Sievers Signed-off-by: Al Viro commit 72c5052ddc3956d847f21c2b8d55c93664a51b2c Author: Christoph Hellwig Date: Fri Jun 24 14:29:48 2011 -0400 fs: move inode_dio_done to the end_io handler For filesystems that delay their end_io processing we should keep our i_dio_count until the the processing is done. Enable this by moving the inode_dio_done call to the end_io handler if one exist. Note that the actual move to the workqueue for ext4 and XFS is not done in this patch yet, but left to the filesystem maintainers. At least for XFS it's not needed yet either as XFS has an internal equivalent to i_dio_count. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit aacfc19c626ebd3daa675652457d71019a1f583f Author: Christoph Hellwig Date: Fri Jun 24 14:29:47 2011 -0400 fs: simplify the blockdev_direct_IO prototype Simple filesystems always pass inode->i_sb_bdev as the block device argument, and never need a end_io handler. Let's simply things for them and for my grepping activity by dropping these arguments. The only thing not falling into that scheme is ext4, which passes and end_io handler without needing special flags (yet), but given how messy the direct I/O code there is use of __blockdev_direct_IO in one instead of two out of three cases isn't going to make a large difference anyway. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit df2d6f26586f12a24f3ae5df4e236dc5c08d6eb4 Author: Christoph Hellwig Date: Fri Jun 24 14:29:46 2011 -0400 fs: always maintain i_dio_count Maintain i_dio_count for all filesystems, not just those using DIO_LOCKING. This these filesystems to also protect truncate against direct I/O requests by using common code. Right now the only non-DIO_LOCKING filesystem that appears to do so is XFS, which uses an opencoded variant of the i_dio_count scheme. Behaviour doesn't change for filesystems never calling inode_dio_wait. For ext4 behaviour changes when using the dioread_nonlock option, which previously was missing any protection between truncate and direct I/O reads. For ocfs2 that handcrafted i_dio_count manipulations are replaced with the common code now enable. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 562c72aa57c36b178eacc3500a0215651eca9429 Author: Christoph Hellwig Date: Fri Jun 24 14:29:45 2011 -0400 fs: move inode_dio_wait calls into ->setattr Let filesystems handle waiting for direct I/O requests themselves instead of doing it beforehand. This means filesystem-specific locks to prevent new dio referenes from appearing can be held. This is important to allow generalizing i_dio_count to non-DIO_LOCKING filesystems. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 11b80f459adaf91a712f95e7734a17655a36bf30 Author: Christoph Hellwig Date: Fri Jun 24 14:29:44 2011 -0400 rw_semaphore: remove up/down_read_non_owner Now that the last users is gone these can be removed. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit bd5fe6c5eb9c548d7f07fe8f89a150bb6705e8e3 Author: Christoph Hellwig Date: Fri Jun 24 14:29:43 2011 -0400 fs: kill i_alloc_sem i_alloc_sem is a rather special rw_semaphore. It's the last one that may be released by a non-owner, and it's write side is always mirrored by real exclusion. It's intended use it to wait for all pending direct I/O requests to finish before starting a truncate. Replace it with a hand-grown construct: - exclusion for truncates is already guaranteed by i_mutex, so it can simply fall way - the reader side is replaced by an i_dio_count member in struct inode that counts the number of pending direct I/O requests. Truncate can't proceed as long as it's non-zero - when i_dio_count reaches non-zero we wake up a pending truncate using wake_up_bit on a new bit in i_flags - new references to i_dio_count can't appear while we are waiting for it to read zero because the direct I/O count always needs i_mutex (or an equivalent like XFS's i_iolock) for starting a new operation. This scheme is much simpler, and saves the space of a spinlock_t and a struct list_head in struct inode (typically 160 bits on a non-debug 64-bit system). Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit f9b5570d7fdedff32a2e78102bfb54cd1b12b289 Author: Christoph Hellwig Date: Fri Jun 24 14:29:42 2011 -0400 fs: simplify handling of zero sized reads in __blockdev_direct_IO Reject zero sized reads as soon as we know our I/O length, and don't borther with locks or allocations that might have to be cleaned up otherwise. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 9ea7df534ed2a18157434a496a12cf073ca00c52 Author: Jan Kara Date: Fri Jun 24 14:29:41 2011 -0400 ext4: Rewrite ext4_page_mkwrite() to use generic helpers Rewrite ext4_page_mkwrite() to use __block_page_mkwrite() helper. This removes the need of using i_alloc_sem to avoid races with truncate which seems to be the wrong locking order according to lock ordering documented in mm/rmap.c. Also calling ext4_da_write_begin() as used by the old code seems to be problematic because we can decide to flush delay-allocated blocks which will acquire s_umount semaphore - again creating unpleasant lock dependency if not directly a deadlock. Also add a check for frozen filesystem so that we don't busyloop in page fault when the filesystem is frozen. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 582686915803e34adc8fdcd90bff7ca7f6a42221 Author: Christoph Hellwig Date: Fri Jun 24 14:29:40 2011 -0400 fat: remove i_alloc_sem abuse Add a new rw_semaphore to protect bmap against truncate. Previous i_alloc_sem was abused for this, but it's going away in this series. Note that we can't simply use i_mutex, given that the swapon code calls ->bmap under it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 8c5dc70aae29d2571c0f461d69b37e4e6e01ff4c Author: Tobias Klauser Date: Fri Jul 1 13:44:51 2011 +0200 VFS: Fixup kerneldoc for generic_permission() The flags parameter went away in d749519b444db985e40b897f73ce1898b11f997e Signed-off-by: Tobias Klauser Signed-off-by: Al Viro commit e46ebd27823b27273da780376d54c080250ff1a2 Author: Tomasz Stanislawski Date: Tue Jul 12 11:27:20 2011 +0200 anonfd: fix missing declaration The forward declaration of struct file_operations is added to avoid compilation warnings. Signed-off-by: Tomasz Stanislawski Signed-off-by: Al Viro commit 8daaa83145ef1f0a146680618328dbbd0fa76939 Author: Dave Chinner Date: Fri Jul 8 14:14:46 2011 +1000 xfs: make use of new shrinker callout for the inode cache Convert the inode reclaim shrinker to use the new per-sb shrinker operations. This allows much bigger reclaim batches to be used, and allows the XFS inode cache to be shrunk in proportion with the VFS dentry and inode caches. This avoids the problem of the VFS caches being shrunk significantly before the XFS inode cache is shrunk resulting in imbalances in the caches during reclaim. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 8ab47664d51a69ea79fe70bb07ca80664f74f76b Author: Dave Chinner Date: Fri Jul 8 14:14:45 2011 +1000 vfs: increase shrinker batch size Now that the per-sb shrinker is responsible for shrinking 2 or more caches, increase the batch size to keep econmies of scale for shrinking each cache. Increase the shrinker batch size to 1024 objects. To allow for a large increase in batch size, add a conditional reschedule to prune_icache_sb() so that we don't hold the LRU spin lock for too long. This mirrors the behaviour of the __shrink_dcache_sb(), and allows us to increase the batch size without needing to worry about problems caused by long lock hold times. To ensure that filesystems using the per-sb shrinker callouts don't cause problems, document that the object freeing method must reschedule appropriately inside loops. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 0e1fdafd93980eac62e778798549ce0f6073905c Author: Dave Chinner Date: Fri Jul 8 14:14:44 2011 +1000 superblock: add filesystem shrinker operations Now we have a per-superblock shrinker implementation, we can add a filesystem specific callout to it to allow filesystem internal caches to be shrunk by the superblock shrinker. Rather than perpetuate the multipurpose shrinker callback API (i.e. nr_to_scan == 0 meaning "tell me how many objects freeable in the cache), two operations will be added. The first will return the number of objects that are freeable, the second is the actual shrinker call. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 4f8c19fdf3f97402b68f058b1c72a6c7166c9e59 Author: Dave Chinner Date: Fri Jul 8 14:14:43 2011 +1000 inode: remove iprune_sem Now that we have per-sb shrinkers with a lifecycle that is a subset of the superblock lifecycle and can reliably detect a filesystem being unmounted, there is not longer any race condition for the iprune_sem to protect against. Hence we can remove it. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit b0d40c92adafde7c2d81203ce7c1c69275f41140 Author: Dave Chinner Date: Fri Jul 8 14:14:42 2011 +1000 superblock: introduce per-sb cache shrinker infrastructure With context based shrinkers, we can implement a per-superblock shrinker that shrinks the caches attached to the superblock. We currently have global shrinkers for the inode and dentry caches that split up into per-superblock operations via a coarse proportioning method that does not batch very well. The global shrinkers also have a dependency - dentries pin inodes - so we have to be very careful about how we register the global shrinkers so that the implicit call order is always correct. With a per-sb shrinker callout, we can encode this dependency directly into the per-sb shrinker, hence avoiding the need for strictly ordering shrinker registrations. We also have no need for any proportioning code for the shrinker subsystem already provides this functionality across all shrinkers. Allowing the shrinker to operate on a single superblock at a time means that we do less superblock list traversals and locking and reclaim should batch more effectively. This should result in less CPU overhead for reclaim and potentially faster reclaim of items from each filesystem. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 55fb25d5b39320242b41af894921f5cef0c7e293 Author: Dave Chinner Date: Mon Jul 18 03:40:19 2011 +0000 xfs: add size update tracepoint to IO completion For improving insight into IO completion behaviour. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit af3e40228fb2dbc18d94fbd5103f07344a720ae7 Author: Dave Chinner Date: Mon Jul 18 03:40:18 2011 +0000 xfs: convert AIL cursors to use struct list_head The list of active AIL cursors uses a roll-your-own linked list with special casing for the AIL push cursor. Simplify this code by replacing the list with standard struct list_head lists, and use a separate list_head to track the active cursors. This allows us to treat the AIL push cursor as a generic cursor rather than as a special case, further simplifying the code. Further, fix the duplicate push cursor initialisation that the special case handling was hiding, and clean up all the comments around the active cursor list handling. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 16b5902943c793e632cf8c9526619f59893bdc29 Author: Dave Chinner Date: Mon Jul 18 03:40:17 2011 +0000 xfs: remove confusing ail cursor wrapper xfs_trans_ail_cursor_set() doesn't set the cursor to the current log item, it sets it to the next item. There is already a function for doing this - xfs_trans_ail_cursor_next() - and the _set function is simply a two line wrapper. Remove it and open code the setting of the cursor in the two locations that call it to remove the confusion. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 1d8c95a363bf8cd4d4182dd19c01693b635311c2 Author: Dave Chinner Date: Mon Jul 18 03:40:16 2011 +0000 xfs: use a cursor for bulk AIL insertion Delayed logging can insert tens of thousands of log items into the AIL at the same LSN. When the committing of log commit records occur, we can get insertions occurring at an LSN that is not at the end of the AIL. If there are thousands of items in the AIL on the tail LSN, each insertion has to walk the AIL to find the correct place to insert the new item into the AIL. This can consume large amounts of CPU time and block other operations from occurring while the traversals are in progress. To avoid this repeated walk, use a AIL cursor to record where we should be inserting the new items into the AIL without having to repeat the walk. The cursor infrastructure already provides this functionality for push walks, so is a simple extension of existing code. While this will not avoid the initial walk, it will avoid repeating it tens of thousands of times during a single checkpoint commit. This version includes logic improvements from Christoph Hellwig. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit ad1a2c878ca70829874b4fcc83223cccb4e26dab Author: J. Bruce Fields Date: Thu Jul 14 20:50:36 2011 +0000 xfs: failure mapping nfs fh to inode should return ESTALE On xfs exports, nfsd is incorrectly returning ENOENT instead of ESTALE on attempts to use a filehandle of a deleted file (spotted with pynfs test PUTFH3). The ENOENT was coming from xfs_iget. (It's tempting to wonder whether we should just map all xfs_iget errors to ESTALE, but I don't believe so--xfs_iget can also return ENOMEM at least, which we wouldn't want mapped to ESTALE.) While we're at it, the other return of ENOENT in xfs_nfs_get_inode() also looks wrong. Signed-off-by: J. Bruce Fields Signed-off-by: Alex Elder commit adab0f67d1cdaf468bbc311bce4d61f17626a536 Author: Chandra Seetharaman Date: Wed Jun 29 22:10:14 2011 +0000 xfs: Remove the second parameter to xfs_sb_count() Remove the second parameter to xfs_sb_count() since all callers of the function set them. Also, fix the header comment regarding it being called periodically. Signed-off-by: Chandra Seetharaman Signed-off-by: Alex Elder commit cbaa51524b3224813814607177a00c350ee35d12 Author: John Stultz Date: Wed Jul 20 15:42:55 2011 -0700 time: Fix stupid KERN_WARN compile issue Terribly embarassing. Don't know how I committed this, but its KERN_WARNING not KERN_WARN. This fixes the following compile error: kernel/time/timekeeping.c: In function ‘__timekeeping_inject_sleeptime’: kernel/time/timekeeping.c:608: error: ‘KERN_WARN’ undeclared (first use in this function) kernel/time/timekeeping.c:608: error: (Each undeclared identifier is reported only once kernel/time/timekeeping.c:608: error: for each function it appears in.) kernel/time/timekeeping.c:608: error: expected ‘)’ before string constant make[2]: *** [kernel/time/timekeeping.o] Error 1 Reported-by: Ingo Molnar Signed-off-by: John Stultz commit 101ed47e01516adeffeb4769df77b9207e6ba48a Author: Balaji T K Date: Fri Jul 1 22:09:36 2011 +0530 mmc: omap_hsmmc: Remove unused iclk After runtime conversion to handle clk, iclk node is not used. However fclk node is still used to get clock rate. Signed-off-by: Balaji T K Signed-off-by: Chris Ball commit fa4aa2d48dabed9d1288d235524cb8d0a8e81c00 Author: Balaji T K Date: Fri Jul 1 22:09:35 2011 +0530 mmc: omap_hsmmc: add runtime pm support * Add runtime pm support to HSMMC host controller. * Use runtime pm API to enable/disable HSMMC clock. * Use runtime autosuspend APIs to enable auto suspend delay. Based on OMAP HSMMC runtime implementation by Kevin Hilman and Kishore Kadiyala. Signed-off-by: Balaji T K Signed-off-by: Chris Ball commit 7a8c2cef3dd6ffc586dfc5e3f63b73b4be2662e7 Author: Balaji T K Date: Fri Jul 1 22:09:34 2011 +0530 mmc: omap_hsmmc: Remove lazy_disable lazy_disable framework in OMAP HSMMC manages multiple low power states and card is powered off after inactivity time of 8 seconds. Based on previous discussion on the list, card power (regulator) handling (when to power OFF/ON) should ideally be handled by core layer. Remove usage of lazy disable to allow core layer _only_ to handle card power. With the removal of lazy disable framework, MMC regulators are left ON until MMC_POWER_OFF via set_ios. Signed-off-by: Balaji T K Signed-off-by: Chris Ball commit ca8e99b32e3863c98ac958617cc157a00bf445b8 Author: Philip Rakity Date: Wed Jul 6 08:51:32 2011 -0700 mmc: core: Set non-default Drive Strength via platform hook Non default Drive Strength cannot be set automatically. It is a function of the board design and only if there is a specific platform handler can it be set. The platform handler needs to take into account the board design. Pass to the platform code the necessary information. For example: The card and host controller may indicate they support HIGH and LOW drive strength. There is no way to know what should be chosen without specific board knowledge. Setting HIGH may lead to reflections and setting LOW may not suffice. There is no mechanism (like ethernet duplex or speed pulses) to determine what should be done automatically. If no platform handler is defined -- use the default value. Signed-off-by: Philip Rakity Reviewed-by: Arindam Nath Signed-off-by: Chris Ball commit ee8a43a51c7681f19fe23b6b936e1d8094a8b7d1 Author: Per Forlin Date: Fri Jul 1 18:55:33 2011 +0200 mmc: block: add handling for two parallel block requests in issue_rw_rq Change mmc_blk_issue_rw_rq() to become asynchronous. The execution flow looks like this: * The mmc-queue calls issue_rw_rq(), which sends the request to the host and returns back to the mmc-queue. * The mmc-queue calls issue_rw_rq() again with a new request. * This new request is prepared in issue_rw_rq(), then it waits for the active request to complete before pushing it to the host. * When the mmc-queue is empty it will call issue_rw_rq() with a NULL req to finish off the active request without starting a new request. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 04296b7bfda45295a568b4b312e03828fae801dc Author: Per Forlin Date: Fri Jul 1 18:55:31 2011 +0200 mmc: queue: add a second mmc queue request member Add an additional mmc queue request instance to make way for two active block requests. One request may be active while the other request is being prepared. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit d78d4a8ad53f345dd3c0bb5f8d377baa523739f7 Author: Per Forlin Date: Fri Jul 1 18:55:30 2011 +0200 mmc: block: move error path in issue_rw_rq to a separate function. Break out code without functional changes. This simplifies the code and makes way for handling two parallel requests. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 54d49d77628bed77e5491b8a2a1158a492843a19 Author: Per Forlin Date: Fri Jul 1 18:55:29 2011 +0200 mmc: block: add a block request prepare function Break out code from mmc_blk_issue_rw_rq to create a block request prepare function. This doesn't change any functionallity. This helps when handling more than one active block request. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 97868a2bdfc2fc79a987b64f1611034b56a3f8c4 Author: Per Forlin Date: Sat Jul 9 17:12:36 2011 -0400 mmc: block: add member in mmc queue struct to hold request data The way the request data is organized in the mmc queue struct, it only allows processing of one request at a time. This patch adds a new struct to hold mmc queue request data such as sg list, request, blk request and bounce buffers, and updates any functions depending on the mmc queue struct. This prepares for using multiple active requests in one mmc queue. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit bf043330362b1ccb0c0611b8fc394e06ba8498b0 Author: Per Forlin Date: Fri Jul 1 18:55:27 2011 +0200 mmc: mmc_test: test to measure how sg_len affect performance Add a test that measures how the mmc bandwidth depends on the numbers of sg elements in the sg list. The transfer size if fixed and sg length goes from a few up to 512. The purpose is to measure overhead caused by multiple sg elements. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 9f9c4180f88d127e2bb83913d80750a8fbdb8f3e Author: Per Forlin Date: Fri Jul 1 18:55:26 2011 +0200 mmc: mmc_test: add test for non-blocking transfers Add four tests for read and write performance per different transfer size, 4k to 4M. * Read using blocking mmc request * Read using non-blocking mmc request * Write using blocking mmc request * Write using non-blocking mmc request The host driver must support pre_req() and post_req() in order to run the non-blocking test cases. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 54f3caf5bcb732c9ac48308b7b43eb9aaa7ed8ca Author: Per Forlin Date: Fri Jul 1 18:55:25 2011 +0200 mmc: mmc_test: add debugfs file to list all tests Add a debugfs file "testlist" to print all available tests. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 58c7ccbf9109abcc6b7ed2f76c21ebee244d31a8 Author: Per Forlin Date: Fri Jul 1 18:55:24 2011 +0200 mmc: mmci: implement pre_req() and post_req() pre_req() runs dma_map_sg() and prepares the dma descriptor for the next mmc data transfer. post_req() runs dma_unmap_sg. If not calling pre_req() before mmci_request(), mmci_request() will prepare the cache and dma just like it did it before. It is optional to use pre_req() and post_req() for mmci. Signed-off-by: Per Forlin Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 9782aff8df7e32e7745cc484f34ec471d9251651 Author: Per Forlin Date: Fri Jul 1 18:55:23 2011 +0200 mmc: omap_hsmmc: add support for pre_req and post_req pre_req() runs dma_map_sg(), post_req() runs dma_unmap_sg. If not calling pre_req() before omap_hsmmc_request(), dma_map_sg will be issued before starting the transfer. It is optional to use pre_req(). If issuing pre_req(), post_req() must be called as well. Signed-off-by: Per Forlin Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Signed-off-by: Chris Ball commit aa8b683a7d392271ed349c6ab9f36b8c313794b7 Author: Per Forlin Date: Fri Jul 1 18:55:22 2011 +0200 mmc: core: add non-blocking mmc request function Previously there has only been one function mmc_wait_for_req() to start and wait for a request. This patch adds: * mmc_start_req() - starts a request wihtout waiting If there is on ongoing request wait for completion of that request and start the new one and return. Does not wait for the new command to complete. This patch also adds new function members in struct mmc_host_ops only called from core.c: * pre_req - asks the host driver to prepare for the next job * post_req - asks the host driver to clean up after a completed job The intention is to use pre_req() and post_req() to do cache maintenance while a request is active. pre_req() can be called while a request is active to minimize latency to start next job. post_req() can be used after the next job is started to clean up the request. This will minimize the host driver request end latency. post_req() is typically used before ending the block request and handing over the buffer to the block layer. Add a host-private member in mmc_data to be used by pre_req to mark the data. The host driver will then check this mark to see if the data is prepared or not. Signed-off-by: Per Forlin Acked-by: Kyungmin Park Acked-by: Arnd Bergmann Reviewed-by: Venkatraman S Tested-by: Sourav Poddar Tested-by: Linus Walleij Signed-off-by: Chris Ball commit 0500f10cc2d624034f350edae2529975c0f1c1f8 Author: Madhusudhan Chikkature Date: Fri Jul 1 10:36:42 2011 -0700 mmc: MAINTAINERS: change omap_hsmmc maintainence to orphan Update the OMAP HSMMC entry from the MAINTAINERS file as I will no longer be able to maintain this driver. Signed-off-by: Madhusudhan Chikkature [khilman@ti.com: change to Orphan rather than complete removal] Signed-off-by: Kevin Hilman Acked-by: Venkatraman S Signed-off-by: Chris Ball commit 5c209f1fb7cc7691b51df0d7341ae58e43aa8c0f Author: Nicolas Ferre Date: Wed Jun 29 18:54:20 2011 +0200 mmc: kconfig: remove EXPERIMENTAL from the DMA selection of atmel-mci This driver has been used for years with this option enabled. Signed-off-by: Nicolas Ferre Signed-off-by: Chris Ball commit 5c2f2b9bd0db84eabaf0d2cf7a9392a1581c2545 Author: Nicolas Ferre Date: Wed Jul 6 11:31:36 2011 +0200 mmc: atmel-mci: add suspend/resume support Take care of slots while going to suspend state. Signed-off-by: Nicolas Ferre Reviewed-by: Felipe Balbi Signed-off-by: Chris Ball commit 0d013bcf5c272faea1f8e7a5ef3cb2e98103d5cb Author: Adrian Hunter Date: Wed Jun 29 14:23:47 2011 +0300 mmc: sdhci-pci: allow 8-bit bus width for Intel Medfield eMMCs Unless MMC_CAP_8_BIT_DATA is set, the bus width defaults to 4. Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit 68077b0261f00e4eb2d26f066efca1edb89488a8 Author: Major Lee Date: Wed Jun 29 14:23:46 2011 +0300 mmc: sdhci-pci: add 8-bit bus width support for mrst hc0 And hook platform_8bit_width to support 8-bit bus width. Signed-off-by: Major Lee Signed-off-by: Alan Cox Signed-off-by: Dirk Brandewie Signed-off-by: Chris Ball commit 94dd5b3371c989b32685a00a54cba7bb530f864d Author: James Hogan Date: Wed Jun 29 09:30:47 2011 +0100 mmc: dw_mmc: reset FIFO after an error If an error occurs mid way through a transaction (such as a missing CRC status response after the 2nd block written out of 3), then the FIFO may still contain data which will interfere with the next transaction. Therefore after an error has been detected, reset the fifo using the CTRL register. Signed-off-by: James Hogan Acked-by: Will Newton Tested-by: Jaehoon Chung Signed-off-by: Chris Ball commit 55c5efbc0dbcb20b7f0d264d172ab376494d79a1 Author: James Hogan Date: Wed Jun 29 09:29:58 2011 +0100 mmc: dw_mmc: handle "no CRC status" error When a data write isn't acknowledged by the card (so no CRC status token is detected after the data), the error -EIO is returned instead of the -ETIMEDOUT expected by mmc_test 15 - "Correct xfer_size at write (start failure)" and 17 "Correct xfer_size at write (midway failure)". In PIO mode the reported number of bytes transferred is also exaggerated since the last block actually failed. Handle the "Write no CRC" error specially, setting the error to -ETIMEDOUT and setting the bytes_xferred to 0. Signed-off-by: James Hogan Acked-by: Will Newton Tested-by: Jaehoon Chung Signed-off-by: Chris Ball commit ae837fe6ddb1e4e9238191629baa08c35ed4a6bb Author: James Hogan Date: Wed Jun 29 09:29:17 2011 +0100 mmc: dw_mmc: remove unnecessary error messages Remove error messages for timeout and CRC failure, since the error code already indicates the problem. Signed-off-by: James Hogan Acked-by: Will Newton Tested-by: Jaehoon Chung Signed-off-by: Chris Ball commit 03e8cb534e7cc3f71a07528a44da7ce68e5b5708 Author: James Hogan Date: Wed Jun 29 09:28:43 2011 +0100 mmc: dw_mmc: fix stop when fallen back to PIO There are several situations when dw_mci_submit_data_dma() decides to fall back to PIO mode instead of using DMA, due to a short (to avoid overhead) or "complex" (e.g. with unaligned buffers) transaction, even though host->use_dma is set. However dw_mci_stop_dma() decides whether to stop DMA or set the EVENT_XFER_COMPLETE event based on host->use_dma. When falling back to PIO mode this results in data timeout errors getting missed and the driver locking up. Therefore add host->using_dma to indicate whether the current transaction is using dma or not, and adjust dw_mci_stop_dma() to use that instead. Signed-off-by: James Hogan Acked-by: Will Newton Tested-by: Jaehoon Chung Signed-off-by: Chris Ball commit 65d13516b2358c38ac56a5f83e989a6837dcf825 Author: Wonil Choi Date: Wed Jun 29 11:38:38 2011 +0900 mmc: sdhci-s3c: Fix return value in sdhci_s3c_suspend/resume() Signed-off-by: Wonil Choi Signed-off-by: Minho Ban Cc: Ben Dooks Signed-off-by: Kukjin Kim Signed-off-by: Chris Ball commit 58d1246db340793c408b22884598e4ce4d1d4aba Author: Adrian Hunter Date: Tue Jun 28 17:16:03 2011 +0300 mmc: sdhci: specify maximum discard timeout In general, SDHC hardware timeout cannot be avoided. Accordingly, the maximum timeout is specified to limit the maximum discard size. Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit e056a1b5b67b4e4bfad00bf143ab14f634777705 Author: Adrian Hunter Date: Tue Jun 28 17:16:02 2011 +0300 mmc: queue: let host controllers specify maximum discard timeout Some host controllers will not operate without a hardware timeout that is limited in value. However large discards require large timeouts, so there needs to be a way to specify the maximum discard size. A host controller driver may now specify the maximum discard timeout possible so that max_discard_sectors can be calculated. However, for eMMC when the High Capacity Erase Group Size is not in use, the timeout calculation depends on clock rate which may change. For that case Preferred Erase Size is used instead. Signed-off-by: Adrian Hunter Signed-off-by: Chris Ball commit e8cd77e467f7bb1d4b942037c47b087334a484d4 Author: Shawn Guo Date: Tue Jun 21 22:41:50 2011 +0800 mmc: sdhci-esdhc-imx: remove "WP" from flag ESDHC_FLAG_GPIO_FOR_CD_WP The use of flag ESDHC_FLAG_GPIO_FOR_CD_WP is all CD related. It does not necessarily need to bother WP in the flag name. Signed-off-by: Shawn Guo Signed-off-by: Chris Ball commit 803862a6f7de4939e0a557214e5e4b37e36f87ff Author: Shawn Guo Date: Tue Jun 21 22:41:49 2011 +0800 mmc: sdhci-esdhc-imx: SDHCI_CARD_PRESENT does not get cleared The function esdhc_readl_le intends to clear bit SDHCI_CARD_PRESENT, when the card detect gpio tells there is no card. But it does not clear the bit actually. The patch gives a fix on that. Signed-off-by: Shawn Guo Acked-by: Wolfram Sang Cc: Signed-off-by: Chris Ball commit d25928d1eed06a9c23c723466dfa7cbee0a5e07d Author: Shawn Guo Date: Tue Jun 21 22:41:48 2011 +0800 mmc: sdhci: fix interrupt storm from card detection The issue was initially found by Eric Benard as below. http://permalink.gmane.org/gmane.linux.ports.arm.kernel/108031 Not sure about other SDHCI based controller, but on Freescale eSDHC, the SDHCI_INT_CARD_INSERT bits will be immediately set again when it gets cleared, if a card is inserted. The driver need to mask the irq to prevent interrupt storm which will freeze the system. And the SDHCI_INT_CARD_REMOVE gets the same situation. The patch fixes the problem based on the initial idea from Eric Benard. Signed-off-by: Shawn Guo Cc: Eric Benard Tested-by: Arnaud Patard Signed-off-by: Chris Ball commit e312eb1e66e4357000e4e7438849d5a5fd738219 Author: Paul Parsons Date: Sun May 15 13:24:41 2011 +0000 mmc: tmio: Fix race condition resulting in spurious interrupts There is a race condition in the tmio_mmc_irq() interrupt handler, caused by the presence of a while loop, which results in warnings of spurious interrupts. This was found on an HP iPAQ hx4700 whose HTC ASIC3 reportedly incorporates the Toshiba TC6380AF controller. Towards the end of a multiple read (CMD18) operation the handler clears the final RXRDY status bit in the first loop iteration, sees the DATAEND status bit at the bottom of the loop, and so clears the DATAEND status bit in the second loop iteration. However the DATAEND interrupt is still queued in the system somewhere and can't be delivered until the handler has returned. This second interrupt is then reported as spurious in the next call to the handler. Likewise for single read (CMD17) operations. And something similar occurs for multiple write (CMD25) and single write (CMD24) operations, where CMDRESPEND and TXRQ status bits are cleared in a single call. In these cases the interrupt handler clears two separate interrupts when it should only clear the one interrupt for which it was invoked. The fix is to remove the while loop. Signed-off-by: Paul Parsons Signed-off-by: Chris Ball commit d6fec69d0da640366e1f0a0df092757d46821b10 Author: Paul Parsons Date: Thu Jun 30 11:50:12 2011 -0400 mmc: tmio: Fix build error without CONFIG_MMC_SDHI Only compile tmio_mmc_dma.o when CONFIG_MMC_SDHI is selected (as y or m). Signed-off-by: Paul Parsons Signed-off-by: Chris Ball commit 34b664a20e2664de0d0d7990ca60276b96c08c75 Author: James Hogan Date: Fri Jun 24 13:57:56 2011 +0100 mmc: dw_mmc: handle unaligned buffers and sizes Update functions for PIO pushing and pulling data to and from the FIFO so that they can handle unaligned output buffers and unaligned buffer lengths. This makes more of the tests in mmc_test pass. Unaligned lengths in pulls are handled by reading the full FIFO item, and storing the remaining bytes in a small internal buffer (part_buf). The next data pull will copy data out of this buffer first before accessing the FIFO again. Similarly, for pushes the final bytes that don't fill a FIFO item are stored in the part_buf (or sent anyway if it's the last transfer), and then the part_buf is included at the beginning of the next buffer pushed. Unaligned buffers in pulls are handled specially if the architecture cannot do efficient unaligned accesses, by reading FIFO items into a aligned local buffer, and memcpy'ing them into the output buffer, again storing any remaining bytes in the internal buffer. Similarly for pushes the buffer is memcpy'd into an aligned local buffer then written to the FIFO. Signed-off-by: James Hogan Acked-by: Will Newton Signed-off-by: Chris Ball commit b86d825323b4c5d0c406e5b1a85af614acf0cf5a Author: James Hogan Date: Fri Jun 24 13:57:18 2011 +0100 mmc: dw_mmc: don't hard code fifo depth, fix usage The FIFO_DEPTH hardware configuration parameter can be found from the power-on value of RX_WMark in the FIFOTH register. This is used to initialise the watermarks, but when calculating the number of free fifo spaces a preprocessor definition is used which is hard coded to 32. Fix reading the value out of FIFOTH (the default value in the RX_WMark field is FIFO_DEPTH-1 not FIFO_DEPTH). Allow the fifo depth to be overriden by platform data (since a bootloader may have changed FIFOTH making auto-detection unreliable). Store the fifo_depth for later use. Also fix the calculation to find the number of free bytes in the fifo to include the fifo depth in the left shift by the data shift, since the fifo depth is measured in fifo items not bytes. Signed-off-by: James Hogan Acked-by: Will Newton Signed-off-by: Chris Ball commit 892b1e312b179139026e366a9d70065a7f897dbc Author: James Hogan Date: Fri Jun 24 13:56:38 2011 +0100 mmc: dw_mmc: brackets in register access macros Add brackets around use of the dev argument to the mci_{read,write}{w,l,q}() macros, for extra safety. Signed-off-by: James Hogan Acked-by: Will Newton Signed-off-by: Chris Ball commit 1791b13ea4d97a6a7c162edd54485e932ad92f1b Author: James Hogan Date: Fri Jun 24 13:55:55 2011 +0100 mmc: dw_mmc: convert card tasklet to workqueue Convert the card insert/remove tasklet to a workqueue, and call the setpower platform specific callback without the spinlock held. This means neither of the setpower or get_cd callbacks are called from atomic context which allows them to sleep. Signed-off-by: James Hogan Acked-by: Will Newton Signed-off-by: Chris Ball commit 7456caae37396fc1bc6f8e9461d07664b8c2f280 Author: James Hogan Date: Fri Jun 24 13:55:10 2011 +0100 mmc: dw_mmc: fix race with request and removal When a request is made, the card presence is checked and the request is queued. These two parts must be atomic with respect to card removal, or a card removal could be handled in between, and the new request wouldn't get cancelled until another card was inserted. Therefore move the spinlock protection from dw_mci_queue_request() up into dw_mci_request() to cover the presence check. Note that the test_bit() used for the presence check isn't atomic itself, so should have been protected by a spinlock anyway. Signed-off-by: James Hogan Acked-by: Will Newton Signed-off-by: Chris Ball commit b40af3aa7712e8f1b73e00e781cd93181483f649 Author: James Hogan Date: Fri Jun 24 13:54:06 2011 +0100 mmc: dw_mmc: clear TXDR/RXDR ints before enabling DMA is only used for transactions exceeding a certain length, otherwise PIO is used. The TXDR and RXDR interrupts are masked when in DMA mode but still fire. When switching to PIO mode (e.g. to get SCR field when an SD card is inserted) these interrupts are not cleared and so they trigger the ISR as soon as they are unmasked. If the previous DMA did a write, then the ISR will handle the TXDR interrupt even if the transaction is a read, completing the transaction without modifying the read buffer. This is fixed primarily by clearing these two interrupts before unmasking them when setting up PIO mode, and also by making the ISR more robust by only handling TXDR/RXDR in the correct read/write direction. Signed-off-by: James Hogan Acked-by: Will Newton Signed-off-by: Chris Ball commit 973ed3af1a570612771ed10dec6506c757767668 Author: Simon Horman Date: Tue Jun 21 08:00:10 2011 +0900 mmc: sdhi: Add write16_hook Some controllers require waiting for the bus to become idle before writing to some registers. I have implemented this by adding a hook to sd_ctrl_write16() and implementing a hook for SDHI which waits for the bus to become idle. Cc: Guennadi Liakhovetski Cc: Magnus Damm Signed-off-by: Simon Horman Signed-off-by: Chris Ball commit a11862d3389d4304211eed0758f510d5e573f93c Author: Simon Horman Date: Tue Jun 21 08:00:09 2011 +0900 mmc: tmio: Share register access functions Move register access functions into a shared header. Use sd_ctrl_write16 in tmio_mmc_dma.c:tmio_mmc_enable_dma(). Other than avoiding (trivial) open-coding, the motivation for this is to allow platform-hooks in access functions to be applied across all applicable accesses. Cc: Guennadi Liakhovetski Cc: Magnus Damm Signed-off-by: Simon Horman Signed-off-by: Chris Ball commit 95c7348d948dc4832434ddfaeba804ac14732f02 Author: Simon Horman Date: Tue Jun 21 08:00:08 2011 +0900 mmc: tmio: name 0xd8 as CTL_DMA_ENABLE This reflects at least the current usage of this register and I think it improves the readability of the code ever so slightly. Cc: Guennadi Liakhovetski Cc: Magnus Damm Signed-off-by: Simon Horman Signed-off-by: Chris Ball commit 4c2b8f26eb8b54203e0e7834e0f7a11a7ae15ef1 Author: Russell King - ARM Linux Date: Mon Jun 20 20:10:49 2011 +0100 mmc: block: add checking of r/w command response Check the status bits in the r/w command response for any errors. If error bits are set, then we won't have seen any data transferred, so it's pointless doing any further checking. Signed-off-by: Russell King Acked-by: Linus Walleij Tested-by: Pawel Moll Signed-off-by: Chris Ball commit a01f3ccf845067de32189f8a8e85d22c381f93b9 Author: Russell King - ARM Linux Date: Mon Jun 20 20:10:28 2011 +0100 mmc: block: improve error recovery from command channel errors Command channel errors fall into four classes: 1. The command was issued with the card in the wrong state 2. The command failed to be received by the card correctly 3. The cards response failed to be received by the host (CRC error) 4. The card failed to respond to the card For (1), in theory we should know that the card is in the correct state. However, a failed stop command (or other failure) may result in the card remaining in a data transfer state from the previous command. If we detect this condition, we try to recover by sending a stop command. For the initial commands (set block count and the read/write command) no data will have been transferred. All that we need deal with is retrying at this point. A failed stop command can be remedied as above. If we are unable to recover the card (eg, the card ignores our requests for status, or we don't recognise the error code) then we immediately fail the request. Signed-off-by: Russell King Acked-by: Linus Walleij Tested-by: Pawel Moll Signed-off-by: Chris Ball commit 0a2d4048a22079d7e79d6654bbacbef57bd5728a Author: Russell King - ARM Linux Date: Mon Jun 20 20:10:08 2011 +0100 mmc: block: allow get_card_status() to return error status If the MMC_SEND_STATUS command is not successful, we should not return a zero status word, but instead allow the caller to know positively that an error occurred. Convert the open-coded get_card_status() to use the helper function, and provide definitions for the card state field. Signed-off-by: Russell King Acked-by: Linus Walleij Tested-by: Pawel Moll Signed-off-by: Chris Ball commit 6e83e10d92e12fa0181766a1fbb00d857bfab779 Author: Seungwon Jeon Date: Mon Jun 20 17:24:16 2011 +0900 mmc: dw_mmc: protect a sequence of request and request-done. Response timeout (RTO), Response crc error (RCRC) and Response error (RE) signals come with command done (CD) and can be raised preceding command done (CD). That is these error interrupts and CD can be handled in separate dw_mci_interrupt(). If mmc_request_done() is called because of a response timeout before command done has occured, we might send the next request before the CD of current request is finished. This can bring about a broken sequence of request and request-done. And Data error interrupt (DRTO, DCRC, SBE, EBE) and data transfer over (DTO) have the same problem. Signed-off-by: Seungwon Jeon Acked-by: Will Newton Signed-off-by: Chris Ball commit 1d56c453b14854637567c838109127b8decbf328 Author: Seungwon Jeon Date: Mon Jun 20 17:23:53 2011 +0900 mmc: dw_mmc: set the card_width bit per card. This patch sets the card_width bit of CTYPE for the corresponding card. CTYPE[31] and CTYPE[16] correspond respectively to card[15] and card[0] for 8-bit mode. And CTYPE[15] and CTYPE[0] correspond respectively to card[15] and CTYPE[0] for 1-bit or 4-bit mode. Signed-off-by: Seungwon Jeon Acked-by: Will Newton Signed-off-by: Chris Ball commit a5556f3cc7cbf65921dadc9b18f8eb0a07359619 Author: Zhangfei Gao Date: Wed Jun 8 17:42:01 2011 +0800 ARM: mmp2: update mmp2_defconfig to support mmc 1. support brownstone 2. support mmc 3. support basic filesystem and language 4. remove dynamic_debug, since too many log during access sd Signed-off-by: Zhangfei Gao Acked-by: Philip Rakity Acked-by: Mark F. Brown Signed-off-by: Chris Ball commit bfed345edfe05b291f7e5d396d4b447b6e8e66fa Author: Zhangfei Gao Date: Mon Jun 20 22:11:52 2011 +0800 mmc: sdhci-pxa: move platform data to include/linux/platform_data As suggested by Arnd, move platform data to include/linux/platform_data in order to improve build coverage for the driver. Signed-off-by: Zhangfei Gao Acked-by: Arnd Bergmann Signed-off-by: Chris Ball commit c984c2638501e9bdb23438e61b922e3234959fac Author: Zhangfei Gao Date: Wed Jun 8 17:42:00 2011 +0800 mmc: host: delete obsolete sdhci-pxa.c Delete obsolete sdhci-pxa.c, which was previously shared amongst the entire PXA series. Instead we now use sdhci-pxav3.c for mmp2 and sdhci-pxav2.c for pxa9xx. Signed-off-by: Zhangfei Gao Acked-by: Philip Rakity Acked-by: Mark F. Brown Signed-off-by: Chris Ball commit 6f984f3b26f08297b7d4c6af9c8f09de603f40a8 Author: Zhangfei Gao Date: Wed Jun 8 17:41:59 2011 +0800 mmc: update mmp2 mmc resources in arch/arm Update MMP2 platform code to "sdhci-pxav3", following the driver rename. Signed-off-by: Zhangfei Gao Acked-by: Philip Rakity Acked-by: Mark F. Brown Signed-off-by: Chris Ball commit 9f5d71e4a78a02f80f0bfbbbe84555d5a5468774 Author: Zhangfei Gao Date: Wed Jun 8 17:41:58 2011 +0800 mmc: host: split up sdhci-pxa, create sdhci-pxav2.c sdhci-pltfm driver for PXAV2 SoCs, such as pxa910. Signed-off-by: Zhangfei Gao Signed-off-by: Jun Nie Signed-off-by: Qiming Wu Acked-by: Philip Rakity Acked-by: Mark F. Brown Signed-off-by: Chris Ball commit a702c8abb2a95a5b5920373a727be0b94d96b33c Author: Zhangfei Gao Date: Wed Jun 8 17:41:57 2011 +0800 mmc: host: split up sdhci-pxa, create sdhci-pxav3.c sdhci-pltfm driver for PXAV3 SoCs, such as MMP2. Signed-off-by: Zhangfei Gao Signed-off-by: Philip Rakity Acked-by: Philip Rakity Acked-by: Mark F. Brown Signed-off-by: Chris Ball commit f0de836923186e1fc0acb65299c2f2089c7992af Author: Shawn Guo Date: Thu Jun 2 10:57:50 2011 +0800 mmc: sdhci: change sdhci-pltfm into a module There are a couple of problems left from the sdhci pltfm and OF consolidation changes. * When building more than one sdhci-pltfm based drivers in the same image, linker will give multiple definition error on the sdhci-pltfm helper functions. For example right now, building sdhci-of-esdhc and sdhci-of-hlwd together is a valid combination from Kconfig view. * With the current build method, there is error with building the drivers as module, but module installation fails with modprobe. The patch fixes above problems by changing sdhci-pltfm into a module. To avoid EXPORT_SYMBOL on so many big endian IO accessors, it moves these accessors into sdhci-pltfm.h as the 'static inline' functions. As a result, sdhci.h needs to be included in sdhci-pltfm.h, and in turn can be removed from individual drivers which already include sdhci-pltfm.h. Signed-off-by: Shawn Guo Signed-off-by: Chris Ball commit 100e918610b7487fa18db97b3879cd8d1fdd5974 Author: Robert P. J. Day Date: Fri May 27 16:04:03 2011 -0400 mmc: Standardize header file inclusion checks. Standardize the checks for multiple MMC header file inclusion, including adding comments to terminating #endif's, and fixing one incorrect comment. Signed-off-by: Robert P. J. Day Signed-off-by: Chris Ball commit 94cc6a86567cb3c2234807081a46ce5400c36b31 Author: Shawn Guo Date: Fri May 27 23:48:15 2011 +0800 mmc: sdhci: merge two sdhci-pltfm.h into one The structure sdhci_pltfm_data is not necessarily to be in a public header like include/linux/mmc/sdhci-pltfm.h, so the patch moves it into drivers/mmc/host/sdhci-pltfm.h and eliminates the former one. Signed-off-by: Shawn Guo Reviewed-by: Grant Likely Reviewed-by: Wolfram Sang Signed-off-by: Chris Ball commit 38576af1f8cad48446df47dcf404b197c9206dba Author: Shawn Guo Date: Fri May 27 23:48:14 2011 +0800 mmc: sdhci: make sdhci-of device drivers self registered The patch turns the sdhci-of-core common stuff into helper functions added into sdhci-pltfm.c, and makes sdhci-of device drviers self registered using the same pair of .probe and .remove used by sdhci-pltfm device drivers. As a result, sdhci-of-core.c and sdhci-of.h can be eliminated with those common things merged into sdhci-pltfm.c and sdhci-pltfm.h respectively. Signed-off-by: Shawn Guo Acked-by: Anton Vorontsov Reviewed-by: Wolfram Sang Signed-off-by: Chris Ball commit e307148fd4f971cecfaebb516ee28e164948a24b Author: Shawn Guo Date: Wed Jul 20 17:13:36 2011 -0400 mmc: sdhci: eliminate sdhci_of_host and sdhci_of_data The patch migrates the use of sdhci_of_host and sdhci_of_data to sdhci_pltfm_host and sdhci_pltfm_data, so that the former pair can be eliminated. Signed-off-by: Shawn Guo Reviewed-by: Grant Likely Reviewed-by: Wolfram Sang Acked-by: Anton Vorontsov Signed-off-by: Chris Ball commit 85d6509dc8ca24b2b652863ef7a75622ddca17d6 Author: Shawn Guo Date: Fri May 27 23:48:12 2011 +0800 mmc: sdhci: make sdhci-pltfm device drivers self registered The patch turns the common stuff in sdhci-pltfm.c into functions, and add device drivers their own .probe and .remove which in turn call into the common functions, so that those sdhci-pltfm device drivers register itself and keep all device specific things away from common sdhci-pltfm file. Signed-off-by: Shawn Guo Reviewed-by: Grant Likely Acked-by: Arnd Bergmann Acked-by: Anton Vorontsov Signed-off-by: Chris Ball commit 7f70893173b056df691b2ee7546bb44fd9abae6a Author: Jan H. Schönherr Date: Tue Jul 19 21:10:26 2011 +0200 rcu: Fix wrong check in list_splice_init_rcu() If the list to be spliced is empty, then list_splice_init_rcu() has nothing to do. Unfortunately, list_splice_init_rcu() does not check the list to be spliced; it instead checks the list to be spliced into. This results in memory leaks given current usage. This commit therefore fixes the empty-list check. Signed-off-by: Jan H. Schönherr Signed-off-by: Paul E. McKenney commit cefcb602012482003ca2ccc44fcba628d006e4bd Author: Paul E. McKenney Date: Mon May 2 01:00:18 2011 -0700 net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu() The RCU callback xt_rateest_free_rcu() just calls kfree(), so we can use kfree_rcu() instead of call_rcu(). This also allows us to dispense with an rcu_barrier() call, speeding up unloading of this module. Signed-off-by: Paul E. McKenney Cc: Patrick McHardy Reviewed-by: Josh Triplett commit a95cded32de3deae13af34715200532e6823cc9f Author: Paul E. McKenney Date: Sun May 1 23:21:00 2011 -0700 sysctl,rcu: Convert call_rcu(free_head) to kfree The RCU callback free_head just calls kfree(), so we can use kfree_rcu() instead of call_rcu(). Signed-off-by: Paul E. McKenney Cc: Andrew Morton Reviewed-by: Josh Triplett commit 22a3c7d188c2b7bfc8e949bf9fad215c094ba78b Author: Lai Jiangshan Date: Fri Mar 18 12:13:08 2011 +0800 vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu() The rcu callback rcu_free_vb() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(rcu_free_vb). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Andrew Morton Cc: Namhyung Kim Cc: David Rientjes Reviewed-by: Josh Triplett commit 14769de93ffcaeead98bcb5771d9f88a84f7153c Author: Lai Jiangshan Date: Fri Mar 18 12:12:19 2011 +0800 vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu() The rcu callback rcu_free_va() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(rcu_free_va). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Andrew Morton Cc: Namhyung Kim Cc: David Rientjes Reviewed-by: Josh Triplett commit d4ee9aa33db94120532601a22566e989efc3e70c Author: Lai Jiangshan Date: Fri Mar 18 12:11:44 2011 +0800 ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu() The rcu callback ipc_immediate_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(ipc_immediate_free). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Andrew Morton Reviewed-by: Josh Triplett commit 693a8b6eecce1a0cfe91a469e85c56016dc1cc53 Author: Lai Jiangshan Date: Fri Mar 18 12:09:35 2011 +0800 ipc,rcu: Convert call_rcu(free_un) to kfree_rcu() The rcu callback free_un() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_un). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Andrew Morton Cc: Manfred Spraul Reviewed-by: Josh Triplett commit 449a68cc656fddeda448e324c57062a19cf451b9 Author: Lai Jiangshan Date: Fri Mar 18 12:05:57 2011 +0800 security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu() The rcu callback sel_netport_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(sel_netport_free). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Stephen Smalley Cc: James Morris Cc: Eric Paris Reviewed-by: Josh Triplett commit 9801c60e99ed76c5730fb290c00bfad12a419972 Author: Lai Jiangshan Date: Fri Mar 18 12:05:22 2011 +0800 security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu() The rcu callback sel_netnode_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(sel_netnode_free). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Stephen Smalley Cc: James Morris Cc: Eric Paris Reviewed-by: Josh Triplett commit f218a7ee7a1c37058eef4bb5fefff9bdb0f52766 Author: Lai Jiangshan Date: Fri Mar 18 11:48:01 2011 +0800 ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu() The rcu callback sn_irq_info_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(sn_irq_info_free). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Jes Sorensen Cc: Tony Luck Cc: Fenghua Yu Reviewed-by: Josh Triplett commit 57bdfbf9ee2b0856d8b62180c3b3f8fa1533b8d1 Author: Lai Jiangshan Date: Fri Mar 18 11:42:58 2011 +0800 block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu() The rcu callback disk_free_ptbl_rcu_cb() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(disk_free_ptbl_rcu_cb). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Jens Axboe Reviewed-by: Josh Triplett commit 8497a24a43374f0142335b0ef0614ccc459e3d8d Author: Lai Jiangshan Date: Fri Mar 18 11:41:14 2011 +0800 scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu() The rcu callback fc_rport_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(fc_rport_free_rcu). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Robert Love Cc: "James E.J. Bottomley" Reviewed-by: Josh Triplett commit 3b097c46964b07479855b01056c61540b8cadd50 Author: Lai Jiangshan Date: Tue Mar 15 18:03:53 2011 +0800 audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu() The rcu callback __put_tree() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(__put_tree). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Al Viro Cc: Eric Paris Reviewed-by: Josh Triplett commit 3a6d28b11a895d08b6b4fc6f16dd9ff995844b45 Merge: 136d9eb 2ebdc42 Author: Konrad Rzeszutek Wilk Date: Wed Jul 20 15:33:51 2011 -0400 Merge branch 'stable/xen-pciback-0.6.3' into stable/drivers * stable/xen-pciback-0.6.3: xen/pciback: Have 'passthrough' option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI xen/pciback: Remove the DEBUG option. xen/pciback: Drop two backends, squash and cleanup some code. xen/pciback: Print out the MSI/MSI-X (PIRQ) values xen/pciback: Don't setup an fake IRQ handler for SR-IOV devices. xen: rename pciback module to xen-pciback. xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases. xen/pciback: Allocate IRQ handler for device that is shared with guest. xen/pciback: Disable MSI/MSI-X when reseting a device xen/pciback: guest SR-IOV support for PV guest xen/pciback: Register the owner (domain) of the PCI device. xen/pciback: Cleanup the driver based on checkpatch warnings and errors. xen/pciback: xen pci backend driver. Conflicts: drivers/xen/Kconfig commit 6034f7e603cd2dae8ed9a1d8d2ccfeb6b5c48d73 Author: Lai Jiangshan Date: Tue Mar 15 18:07:57 2011 +0800 security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu() The rcu callback whitelist_item_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(whitelist_item_free). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Acked-by: James Morris Reviewed-by: Josh Triplett commit b119cbab3aecd19dbd748a9823c02d200b96b2f8 Author: Lai Jiangshan Date: Fri Mar 18 11:59:14 2011 +0800 md,rcu: Convert call_rcu(free_conf) to kfree_rcu() The rcu callback free_conf() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_conf). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Acked-by: NeilBrown Reviewed-by: Josh Triplett commit b56efcf0a45aa7fc32de90d5f9838541082fbc19 Author: Eric Dumazet Date: Wed Jul 20 19:04:23 2011 +0200 slab: shrink sizeof(struct kmem_cache) Reduce high order allocations for some setups. (NR_CPUS=4096 -> we need 64KB per kmem_cache struct) We now allocate exact needed size (using nr_cpu_ids and nr_node_ids) This also makes code a bit smaller on x86_64, since some field offsets are less than the 127 limit : Before patch : # size mm/slab.o text data bss dec hex filename 22605 361665 32 384302 5dd2e mm/slab.o After patch : # size mm/slab.o text data bss dec hex filename 22349 353473 8224 384046 5dc2e mm/slab.o CC: Andrew Morton Reported-by: Konstantin Khlebnikov Signed-off-by: Eric Dumazet Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 2dcd9543a28da523a179a13b1eefa5f9b8e05d72 Author: Axel Lin Date: Tue Jul 19 16:14:04 2011 +0800 HID: emsff: properly handle emsff_init failure emsff_init() may fail, let's properly handle the failure. Signed-off-by: Axel Lin Signed-off-by: Jiri Kosina commit 12ad3ab66103e6582ca69c0c9de18b13487eaaef Author: Dave Chinner Date: Fri Jul 8 14:14:41 2011 +1000 superblock: move pin_sb_for_writeback() to fs/super.c The per-sb shrinker has the same requirement as the writeback threads of ensuring that the superblock is usable and pinned for the time it takes to run the work. Both need to take a passive reference to the sb, take a read lock on the s_umount lock and then only continue if an unmount is not in progress. pin_sb_for_writeback() does this exactly, so move it to fs/super.c and rename it to grab_super_passive() and exporting it via fs/internal.h for all the VFS code to be able to use. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 09cc9fc7a7c3d872065426d7fb0f0ad6d3eb90fc Author: Dave Chinner Date: Fri Jul 8 14:14:40 2011 +1000 inode: move to per-sb LRU locks With the inode LRUs moving to per-sb structures, there is no longer a need for a global inode_lru_lock. The locking can be made more fine-grained by moving to a per-sb LRU lock, isolating the LRU operations of different filesytsems completely from each other. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 98b745c647a5a90c3c21ea43cbfad9a47b0dfad7 Author: Dave Chinner Date: Fri Jul 8 14:14:39 2011 +1000 inode: Make unused inode LRU per superblock The inode unused list is currently a global LRU. This does not match the other global filesystem cache - the dentry cache - which uses per-superblock LRU lists. Hence we have related filesystem object types using different LRU reclaimation schemes. To enable a per-superblock filesystem cache shrinker, both of these caches need to have per-sb unused object LRU lists. Hence this patch converts the global inode LRU to per-sb LRUs. The patch only does rudimentary per-sb propotioning in the shrinker infrastructure, as this gets removed when the per-sb shrinker callouts are introduced later on. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit fcb94f72d3e0f4f34b326c2986da8e5996daf72c Author: Dave Chinner Date: Fri Jul 8 14:14:38 2011 +1000 inode: convert inode_stat.nr_unused to per-cpu counters Before we split up the inode_lru_lock, the unused inode counter needs to be made independent of the global inode_lru_lock. Convert it to per-cpu counters to do this. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit e9299f5058595a655c3b207cda9635e28b9197e6 Author: Dave Chinner Date: Fri Jul 8 14:14:37 2011 +1000 vmscan: add customisable shrinker batch size For shrinkers that have their own cond_resched* calls, having shrink_slab break the work down into small batches is not paticularly efficient. Add a custom batchsize field to the struct shrinker so that shrinkers can use a larger batch size if they desire. A value of zero (uninitialised) means "use the default", so behaviour is unchanged by this patch. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 3567b59aa80ac4417002bf58e35dce5c777d4164 Author: Dave Chinner Date: Fri Jul 8 14:14:36 2011 +1000 vmscan: reduce wind up shrinker->nr when shrinker can't do work When a shrinker returns -1 to shrink_slab() to indicate it cannot do any work given the current memory reclaim requirements, it adds the entire total_scan count to shrinker->nr. The idea ehind this is that whenteh shrinker is next called and can do work, it will do the work of the previously aborted shrinker call as well. However, if a filesystem is doing lots of allocation with GFP_NOFS set, then we get many, many more aborts from the shrinkers than we do successful calls. The result is that shrinker->nr winds up to it's maximum permissible value (twice the current cache size) and then when the next shrinker call that can do work is issued, it has enough scan count built up to free the entire cache twice over. This manifests itself in the cache going from full to empty in a matter of seconds, even when only a small part of the cache is needed to be emptied to free sufficient memory. Under metadata intensive workloads on ext4 and XFS, I'm seeing the VFS caches increase memory consumption up to 75% of memory (no page cache pressure) over a period of 30-60s, and then the shrinker empties them down to zero in the space of 2-3s. This cycle repeats over and over again, with the shrinker completely trashing the inode and dentry caches every minute or so the workload continues. This behaviour was made obvious by the shrink_slab tracepoints added earlier in the series, and made worse by the patch that corrected the concurrent accounting of shrinker->nr. To avoid this problem, stop repeated small increments of the total scan value from winding shrinker->nr up to a value that can cause the entire cache to be freed. We still need to allow it to wind up, so use the delta as the "large scan" threshold check - if the delta is more than a quarter of the entire cache size, then it is a large scan and allowed to cause lots of windup because we are clearly needing to free lots of memory. If it isn't a large scan then limit the total scan to half the size of the cache so that windup never increases to consume the whole cache. Reducing the total scan limit further does not allow enough wind-up to maintain the current levels of performance, whilst a higher threshold does not prevent the windup from freeing the entire cache under sustained workloads. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit acf92b485cccf028177f46918e045c0c4e80ee10 Author: Dave Chinner Date: Fri Jul 8 14:14:35 2011 +1000 vmscan: shrinker->nr updates race and go wrong shrink_slab() allows shrinkers to be called in parallel so the struct shrinker can be updated concurrently. It does not provide any exclusio for such updates, so we can get the shrinker->nr value increasing or decreasing incorrectly. As a result, when a shrinker repeatedly returns a value of -1 (e.g. a VFS shrinker called w/ GFP_NOFS), the shrinker->nr goes haywire, sometimes updating with the scan count that wasn't used, sometimes losing it altogether. Worse is when a shrinker does work and that update is lost due to racy updates, which means the shrinker will do the work again! Fix this by making the total_scan calculations independent of shrinker->nr, and making the shrinker->nr updates atomic w.r.t. to other updates via cmpxchg loops. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit 095760730c1047c69159ce88021a7fa3833502c8 Author: Dave Chinner Date: Fri Jul 8 14:14:34 2011 +1000 vmscan: add shrink_slab tracepoints It is impossible to understand what the shrinkers are actually doing without instrumenting the code, so add a some tracepoints to allow insight to be gained. Signed-off-by: Dave Chinner Signed-off-by: Al Viro commit a9049376ee05bf966bfe2b081b5071326856890a Author: Al Viro Date: Fri Jul 8 21:20:11 2011 -0400 make d_splice_alias(ERR_PTR(err), dentry) = ERR_PTR(err) ... and simplify the living hell out of callers Signed-off-by: Al Viro commit 0c1aa9a952c3608eb17bf990466f1491d1ee8b6c Author: Al Viro Date: Fri Jul 8 20:57:47 2011 -0400 deuglify squashfs_lookup() d_splice_alias(NULL, dentry) is equivalent to d_add(dentry, NULL), NULL so no need for that if (inode) ... in there (or ERR_PTR(0), for that matter) Signed-off-by: Al Viro commit 5b4b299cc7b6adfb9401bf7f826a80f190b971be Author: Al Viro Date: Thu Jul 7 18:43:21 2011 -0400 nfsd4_list_rec_dir(): don't bother with reopening rec_file just rewind it to the beginning before vfs_readdir() and be done with that... Signed-off-by: Al Viro commit e7f59097071f2e193e900093742a4be85839f3d9 Author: Al Viro Date: Thu Jul 7 15:45:59 2011 -0400 kill useless checks for sb->s_op == NULL never is... Signed-off-by: Al Viro commit 0ee5dc676a5f8fadede608c7281dfedb1ae714ea Author: Al Viro Date: Thu Jul 7 15:44:25 2011 -0400 btrfs: kill magical embedded struct superblock Signed-off-by: Al Viro commit fb408e6ccc32404a05783911b6f3fed56bd17b06 Author: Al Viro Date: Thu Jul 7 15:12:51 2011 -0400 get rid of pointless checks for dentry->sb == NULL it never is... Signed-off-by: Al Viro commit a4464dbc0ca6a3ab8e9d1206bc05059dae2a559d Author: Al Viro Date: Thu Jul 7 15:03:58 2011 -0400 Make ->d_sb assign-once and always non-NULL New helper (non-exported, fs/internal.h-only): __d_alloc(sb, name). Allocates dentry, sets its ->d_sb to given superblock and sets ->d_op accordingly. Old d_alloc(NULL, name) callers are converted to that (all of them know what superblock they want). d_alloc() itself is left only for parent != NULl case; uses __d_alloc(), inserts result into the list of parent's children. Note that now ->d_sb is assign-once and never NULL *and* ->d_parent is never NULL either. Signed-off-by: Al Viro commit e3c3d9c838d48c0341c40ea45ee087e3d8c8ea39 Author: Al Viro Date: Mon Jun 27 17:14:56 2011 -0400 unexport kern_path_parent() Signed-off-by: Al Viro commit e0a0124936171af6156b80fe8ac8799f039e767f Author: Al Viro Date: Mon Jun 27 17:00:37 2011 -0400 switch vfs_path_lookup() to struct path Signed-off-by: Al Viro commit ed75e95de574c99575e5f3e1d9ca59ea8c12a9cb Author: Al Viro Date: Mon Jun 27 16:53:43 2011 -0400 kill lookup_create() folded into the only caller (kern_path_create()) Signed-off-by: Al Viro commit 5da4e689449ad99ab31cf2208d99eddfce0498ba Author: Al Viro Date: Mon Jun 27 16:37:12 2011 -0400 devtmpfs: get rid of bogus mkdir in create_path() We do _NOT_ want to mkdir the path itself - we are preparing to mknod it, after all. Normally it'll fail with -ENOENT and just do nothing, but if somebody has created the parent in the meanwhile, we'll get buggered... Signed-off-by: Al Viro commit 69753a0f14d3cb2e8a70e559ef8d409e4deeac8a Author: Al Viro Date: Mon Jun 27 16:35:45 2011 -0400 switch devtmpfs to kern_path_create() Signed-off-by: Al Viro commit 2780f1ff6aec0cf708a61c022d475bfcaa648965 Author: Al Viro Date: Mon Jun 27 16:25:29 2011 -0400 switch devtmpfs object creation/removal to separate kernel thread ... and give it a namespace where devtmpfs would be mounted on root, thus avoiding abuses of vfs_path_lookup() (it was never intended to be used with LOOKUP_PARENT). Games with credentials are also gone. Signed-off-by: Al Viro commit 6657719390cd05be45f4e3b501d8bb46889c0a19 Author: Al Viro Date: Tue Jun 28 15:41:10 2011 -0400 make sure that nsproxy_cache is initialized early enough Signed-off-by: Al Viro commit 1ba106818615faddb63ba782f85f3498b9eb61c6 Author: Al Viro Date: Sun Jun 26 11:54:58 2011 -0400 switch do_spufs_create() to user_path_create(), fix double-unlock Signed-off-by: Al Viro commit dae6ad8f37529963ae7df52baaccf056b38f210e Author: Al Viro Date: Sun Jun 26 11:50:15 2011 -0400 new helpers: kern_path_create/user_path_create combination of kern_path_parent() and lookup_create(). Does *not* expose struct nameidata to caller. Syscalls converted to that... Signed-off-by: Al Viro commit 49084c3bb2055c401f3493c13edae14d49128ca0 Author: Al Viro Date: Sat Jun 25 21:59:52 2011 -0400 kill LOOKUP_CONTINUE LOOKUP_PARENT is equivalent to it now Signed-off-by: Al Viro commit 8aeb376ca0fe61038166c3b8243c678addb80abf Author: Al Viro Date: Sat Jun 25 21:48:43 2011 -0400 nfs: LOOKUP_{OPEN,CREATE,EXCL} is set only on the last step Signed-off-by: Al Viro commit 4352780386139ff33d2203868b392e6535deff61 Author: Al Viro Date: Sat Jun 25 21:45:21 2011 -0400 cifs_lookup(): LOOKUP_OPEN is set only on the last component Signed-off-by: Al Viro commit a127e0af59ab610e8b37ac2dfa4cdb2ec8c8f604 Author: Al Viro Date: Sat Jun 25 21:43:56 2011 -0400 ceph: LOOKUP_OPEN is set only when it's the last component Signed-off-by: Al Viro commit 5c0f360b083fb33d05d1bff4b138b82d715eb419 Author: Al Viro Date: Sat Jun 25 21:41:09 2011 -0400 jfs_ci_revalidate() is safe from RCU mode Signed-off-by: Al Viro commit 407938e79edcadba1b5a17cf928584d8a191a8d7 Author: Al Viro Date: Sat Jun 25 21:37:18 2011 -0400 LOOKUP_CREATE and LOOKUP_RENAME_TARGET can be set only on the last step Signed-off-by: Al Viro commit dd7dd556e45133ef13f2c4bddc0e0b1ac23bc0e4 Author: Al Viro Date: Sat Jun 25 21:17:17 2011 -0400 no need to check for LOOKUP_OPEN in ->create() instances ... it will be set in nd->flag for all cases with non-NULL nd (i.e. when called from do_last()). Signed-off-by: Al Viro commit bf6c7f6c7bd0ea779757d35b5fdc9f9157f056b3 Author: Al Viro Date: Sat Jun 25 21:08:31 2011 -0400 don't pass nameidata to vfs_create() from ecryptfs_create() Instead of playing with removal of LOOKUP_OPEN, mangling (and restoring) nd->path, just pass NULL to vfs_create(). The whole point of what's being done there is to suppress any attempts to open file by underlying fs, which is what nd == NULL indicates. Signed-off-by: Al Viro commit 8a5e929dd2e05ab4d3d89f58c5e8fca596af8f3a Author: Al Viro Date: Sat Jun 25 19:15:54 2011 -0400 don't transliterate lower bits of ->intent.open.flags to FMODE_... ->create() instances are much happier that way... Signed-off-by: Al Viro commit 554a8b9f54cd7ca2b89f5dc227df08be082fae0d Author: Al Viro Date: Thu Jun 23 12:35:50 2011 -0400 Don't pass nameidata when calling vfs_create() from mknod() All instances can cope with that now (and ceph one actually starts working properly). Signed-off-by: Al Viro commit f7c85868fcacc331dd3454a4f08f006d7942521f Author: Al Viro Date: Wed Jun 22 18:53:18 2011 -0400 fix mknod() on nfs4 (hopefully) a) check the right flags in ->create() (LOOKUP_OPEN, not LOOKUP_CREATE) b) default (!LOOKUP_OPEN) open_flags is O_CREAT|O_EXCL|FMODE_READ, not 0 c) lookup_instantiate_filp() should be done only with LOOKUP_OPEN; otherwise we need to issue CLOSE, lest we leak stateid on server. Signed-off-by: Al Viro commit 511415980ace0ceecd71088dbe1c7ce4ca7c79fe Author: Al Viro Date: Wed Jun 22 18:47:28 2011 -0400 nameidata_to_nfs_open_context() doesn't need nameidata, actually... just open flags; switched to passing just those and renamed to create_nfs_open_context() Signed-off-by: Al Viro commit 3d4ff43d895c50319af45eb4bf04a4618eccdf76 Author: Al Viro Date: Wed Jun 22 18:40:12 2011 -0400 nfs_open_context doesn't need struct path either just dentry, please... Signed-off-by: Al Viro commit 82a2c1b77ada3b81911deeb871719ec5ff77f83c Author: Al Viro Date: Wed Jun 22 18:30:55 2011 -0400 nfs4_opendata doesn't need struct path either Signed-off-by: Al Viro commit 643168c2dc0d04cb884ae7bcd1ee19d9ecdff6a8 Author: Al Viro Date: Wed Jun 22 18:20:23 2011 -0400 nfs4_closedata doesn't need to mess with struct path instead of path_get()/path_put(), we can just use nfs_sb_{,de}active() to pin the superblock down. Signed-off-by: Al Viro commit 7c97c200e2c5aa8b1067bebb99df0a7c2e12ebf3 Author: Al Viro Date: Tue Jun 21 08:51:28 2011 -0400 cifs: fix the type of cifs_demultiplex_thread() ... and get rid of a bogus typecast, while we are at it; it's not just that we want a function returning int and not void, but cast to pointer to function taking void * and returning void would be (void (*)(void *)) and not (void *)(void *), TYVM... Signed-off-by: Al Viro commit beefebf1aa611242e022e71bae87034f415d3314 Author: Al Viro Date: Tue Jun 21 01:01:59 2011 -0400 ecryptfs_inode_permission() doesn't need to bail out on RCU ... now that inode_permission() can take MAY_NOT_BLOCK and handle it properly. Signed-off-by: Al Viro commit 729cdb3a1ee03a4363f9c7e66ddd979727e99e1f Author: Al Viro Date: Tue Jun 21 01:01:22 2011 -0400 kill IPERM_FLAG_RCU not used anymore Signed-off-by: Al Viro commit 76fe3276be26cff2e609cdcfbc1265cf1dd72b2c Author: Al Viro Date: Mon Jun 20 21:56:31 2011 -0400 ->permission() sanitizing: document API changes Signed-off-by: Al Viro commit d2d9e9fbc2f8f492dae373482da61d34475c53c1 Author: Al Viro Date: Mon Jun 20 10:55:26 2011 -0400 merge do_revalidate() into its only caller Signed-off-by: Al Viro commit 4ad5abb3d01a2c10854969b00982fadb130784a6 Author: Al Viro Date: Mon Jun 20 19:57:03 2011 -0400 no reason to keep exec_permission() separate now cache footprint alone makes it a bad idea... Signed-off-by: Al Viro commit d594e7ec4da6c1a527dea4965eee37cd785792b8 Author: Al Viro Date: Mon Jun 20 19:55:42 2011 -0400 massage generic_permission() to treat directories on a separate path Signed-off-by: Al Viro commit eecdd358b467405a084d400d5ec571bbdbfe97a3 Author: Al Viro Date: Mon Jun 20 19:48:41 2011 -0400 ->permission() sanitizing: don't pass flags to exec_permission() pass mask instead; kill security_inode_exec_permission() since we can use security_inode_permission() instead. Signed-off-by: Al Viro commit cf1dd1dae851ce5765cda5de16aa965eef7c2dbf Author: Al Viro Date: Mon Jun 20 19:44:08 2011 -0400 selinux: don't transliterate MAY_NOT_BLOCK to IPERM_FLAG_RCU Signed-off-by: Al Viro commit e74f71eb78a4a8b9eaf1bc65f20f761648e85f76 Author: Al Viro Date: Mon Jun 20 19:38:15 2011 -0400 ->permission() sanitizing: don't pass flags to ->inode_permission() pass that via mask instead. Signed-off-by: Al Viro commit 10556cb21a0d0b24d95f00ea6df16f599a3345b2 Author: Al Viro Date: Mon Jun 20 19:28:19 2011 -0400 ->permission() sanitizing: don't pass flags to ->permission() not used by the instances anymore. Signed-off-by: Al Viro commit 2830ba7f34ebb27c4e5b8b6ef408cd6d74860890 Author: Al Viro Date: Mon Jun 20 19:16:29 2011 -0400 ->permission() sanitizing: don't pass flags to generic_permission() redundant; all callers get it duplicated in mask & MAY_NOT_BLOCK and none of them removes that bit. Signed-off-by: Al Viro commit 7e40145eb111a5192e6d819f764db9d6828d1abb Author: Al Viro Date: Mon Jun 20 19:12:17 2011 -0400 ->permission() sanitizing: don't pass flags to ->check_acl() not used in the instances anymore. Signed-off-by: Al Viro commit 9c2c703929e4c41210cfa6e3f599514421bab8dc Author: Al Viro Date: Mon Jun 20 19:06:22 2011 -0400 ->permission() sanitizing: pass MAY_NOT_BLOCK to ->check_acl() Signed-off-by: Al Viro commit 1fc0f78ca9f311c6277e2f1b7655bb4d43ceb311 Author: Al Viro Date: Mon Jun 20 18:59:02 2011 -0400 ->permission() sanitizing: MAY_NOT_BLOCK Duplicate the flags argument into mask bitmap. Signed-off-by: Al Viro commit 178ea73521d64ba41d7aa5488fb9f549c6d4507d Author: Al Viro Date: Mon Jun 20 11:31:30 2011 -0400 kill check_acl callback of generic_permission() its value depends only on inode and does not change; we might as well store it in ->i_op->check_acl and be done with that. Signed-off-by: Al Viro commit 07b8ce1ee87d291ff564c02cf878fae973317a52 Author: Al Viro Date: Mon Jun 20 10:52:57 2011 -0400 lockless get_write_access/deny_write_access new helpers: atomic_inc_unless_negative()/atomic_dec_unless_positive() Signed-off-by: Al Viro commit f4d6ff89d8e54b68a4322388d26d518d6133fa4e Author: Al Viro Date: Sun Jun 19 13:14:21 2011 -0400 move exec_permission() up to the rest of permission-related functions ... and convert the comment before it into linuxdoc form. Signed-off-by: Al Viro commit 3bfa784a6539f91a27d7ffdd408efdb638e3bebd Author: Al Viro Date: Sun Jun 19 12:55:10 2011 -0400 kill file_permission() completely convert the last remaining caller to inode_permission() Signed-off-by: Al Viro commit 1b5d783c94c328d406e801566f161adcfb018dda Author: Al Viro Date: Sun Jun 19 12:49:47 2011 -0400 consolidate BINPRM_FLAGS_ENFORCE_NONDUMP handling new helper: would_dump(bprm, file). Checks if we are allowed to read the file and if we are not - sets ENFORCE_NODUMP. Exported, used in places that previously open-coded the same logics. Signed-off-by: Al Viro commit 78f32a9b479e9b9f1ce2bf620a7602c1cdbc4c8e Author: Al Viro Date: Sun Jun 19 11:54:42 2011 -0400 switch path_init() to exec_permission() Signed-off-by: Al Viro commit 6f2861097467852f2271c2b40f9c3d1d01757048 Author: Al Viro Date: Sun Jun 19 11:49:08 2011 -0400 switch udf_ioctl() to inode_permission() Signed-off-by: Al Viro commit 4cf27141cbe0239f48ec6f0b37bad347d51d1785 Author: Al Viro Date: Sun Jun 19 01:50:08 2011 -0400 make exec_permission(dir) really equivalent to inode_permission(dir, MAY_EXEC) capability overrides apply only to the default case; if fs has ->permission() that does _not_ call generic_permission(), we have no business doing them. Moreover, if it has ->permission() that does call generic_permission(), we have no need to recheck capabilities. Besides, the capability overrides should apply only if we got EACCES from acl_permission_check(); any other value (-EIO, etc.) should be returned to caller, capabilities or not capabilities. Signed-off-by: Al Viro commit 43e15cdbefea4ce6d68113de98d4f61c0cf45687 Author: Al Viro Date: Fri Jun 3 20:16:57 2011 -0400 new helper: iterate_supers_type() Call the given function for all superblocks of given type. Function gets a superblock (with s_umount locked shared) and (void *) argument supplied by caller of iterator. Signed-off-by: Al Viro commit 44396f4b5cb8566f7118aec55eeac99be7ad94cb Author: Josef Bacik Date: Tue May 31 11:58:49 2011 -0400 fs: add a DCACHE_NEED_LOOKUP flag for d_flags Btrfs (and I'd venture most other fs's) stores its indexes in nice disk order for readdir, but unfortunately in the case of anything that stats the files in order that readdir spits back (like oh say ls) that means we still have to do the normal lookup of the file, which means looking up our other index and then looking up the inode. What I want is a way to create dummy dentries when we find them in readdir so that when ls or anything else subsequently does a stat(), we already have the location information in the dentry and can go straight to the inode itself. The lookup stuff just assumes that if it finds a dentry it is done, it doesn't perform a lookup. So add a DCACHE_NEED_LOOKUP flag so that the lookup code knows it still needs to run i_op->lookup() on the parent to get the inode for the dentry. I have tested this with btrfs and I went from something that looks like this http://people.redhat.com/jwhiter/ls-noreada.png To this http://people.redhat.com/jwhiter/ls-good.png Thats a savings of 1300 seconds, or 22 minutes. That is a significant savings. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Al Viro commit 2ebdc4263022e0015341016b123fe7f44f9cf396 Author: Konrad Rzeszutek Wilk Date: Mon Jul 11 16:49:41 2011 -0400 xen/pciback: Have 'passthrough' option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI .. compile options. This way the user can decide during runtime whether they want the default 'vpci' (virtual pci passthrough) or where the PCI devices are passed in without any BDF renumbering. The option 'passthrough' allows the user to toggle the it from 0 (vpci) to 1 (passthrough). Signed-off-by: Konrad Rzeszutek Wilk commit 778999703db6d875c22e1a8d02c8296ad4648958 Author: Konrad Rzeszutek Wilk Date: Tue Jul 12 15:29:48 2011 -0400 xen/pciback: Remove the DEBUG option. The latter is easily fixed - by the developer compiling the module with -DDEBUG. And during runtime - the loglvl provides quite a lot of useful data. Signed-off-by: Konrad Rzeszutek Wilk commit a92336a1176b2119eaa990a1e8bf3109665fdbc6 Author: Konrad Rzeszutek Wilk Date: Tue Jul 19 19:40:51 2011 -0400 xen/pciback: Drop two backends, squash and cleanup some code. - Remove the slot and controller controller backend as they are not used. - Document the find pciback_[read|write]_config_[byte|word|dword] to make it easier to find. - Collapse the code from conf_space_capability_msi into pciback_ops.c - Collapse conf_space_capability_[pm|vpd].c in conf_space_capability.c [and remove the conf_space_capability.h file] - Rename all visible functions from pciback to xen_pcibk. - Rename all the printk/pr_info, etc that use the "pciback" to say "xen-pciback". - Convert functions that are not referenced outside the code to be static to save on name space. - Do the same thing for structures that are internal to the driver. - Run checkpatch.pl after the renames and fixup its warnings and fix any compile errors caused by the variable rename - Cleanup any structs that checkpath.pl commented about or just look odd. Signed-off-by: Konrad Rzeszutek Wilk commit c288b67b9b4d65790e1a1a1fd982330730b68f46 Author: Konrad Rzeszutek Wilk Date: Thu Feb 17 11:18:00 2011 -0500 xen/pciback: Print out the MSI/MSI-X (PIRQ) values If the verbose_request is set (and loglevel high enough), print out the MSI/MSI-X values that are sent to the guest. This should aid in debugging issues. Signed-off-by: Konrad Rzeszutek Wilk commit e17ab35f05cb8b3d19c70454a41ea67207caf484 Author: Konrad Rzeszutek Wilk Date: Wed Feb 16 15:43:25 2011 -0500 xen/pciback: Don't setup an fake IRQ handler for SR-IOV devices. If we try to setup an fake IRQ handler for legacy interrupts for devices that only have MSI-X (most if not all SR-IOV cards), we will fail with this: pciback[0000:01:10.0]: failed to install fake IRQ handler for IRQ 0! (rc:-38) Since those cards don't have anything in dev->irq. Signed-off-by: Konrad Rzeszutek Wilk commit a0b2fa8ef8fee0493f6c1e2ac08b9e50a629a7c2 Author: Ian Campbell Date: Thu Dec 3 21:56:20 2009 +0000 xen: rename pciback module to xen-pciback. pciback is rather generic for a modular distro style kernel. Signed-off-by: Ian Campbell Cc: Jeremy Fitzhardinge Cc: Konrad Rzeszutek Wilk Signed-off-by: Jeremy Fitzhardinge commit 494ef20db6ea2e2ab1c3a45a1461e6e717fdcf48 Author: Konrad Rzeszutek Wilk Date: Fri Jul 23 14:35:47 2010 -0400 xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases. We were using coarse spinlocks that could end up with a deadlock. This patch fixes that and makes the spinlocks much more fine-grained. We also drop be->watchding state spinlocks as they are already guarded by the xenwatch_thread against multiple customers. Without that we would trigger the BUG: scheduling while atomic. Signed-off-by: Konrad Rzeszutek Wilk commit 0513fe9e5b54e47e37217ea078dd870e3825e02d Author: Konrad Rzeszutek Wilk Date: Tue Jul 19 18:56:39 2011 -0400 xen/pciback: Allocate IRQ handler for device that is shared with guest. If the device that is to be shared with a guest is a level device and the IRQ is shared with the initial domain we need to take actions. Mainly we install a dummy IRQ handler that will ACK on the interrupt line so as to not have the initial domain disable the interrupt line. This dummy IRQ handler is not enabled when the device MSI/MSI-X lines are set, nor for edge interrupts. And also not for level interrupts that are not shared amongst devices. Lastly, if the user passes to the guest all of the PCI devices on the shared line the we won't install the dummy handler either. There is also SysFS instrumentation to check its state and turn IRQ ACKing on/off if necessary. Signed-off-by: Konrad Rzeszutek Wilk commit a2be65fd363831502afdf0babdf48149b3959cde Author: Konrad Rzeszutek Wilk Date: Wed Mar 3 13:38:43 2010 -0500 xen/pciback: Disable MSI/MSI-X when reseting a device In cases where the guest is abruptly killed and has not disabled MSI/MSI-X interrupts we want to do it for it. Otherwise when the guest is started up and enables MSI, we would get a WARN() that the device already had been enabled. Signed-off-by: Konrad Rzeszutek Wilk commit fd5b221b348adf63d413de9adad030e4f13664b7 Author: Zhao, Yu Date: Wed Mar 3 13:27:55 2010 -0500 xen/pciback: guest SR-IOV support for PV guest These changes are for PV guest to use Virtual Function. Because the VF's vendor, device registers in cfg space are 0xffff, which are invalid and ignored by PCI device scan. Values in 'struct pci_dev' are fixed up by SR-IOV code, and using these values will present correct VID and DID to PV guest kernel. And command registers in the cfg space are read only 0, which means we have to emulate MMIO enable bit (VF only uses MMIO resource) so PV kernel can work properly. Acked-by: Jan Beulich Signed-off-by: Konrad Rzeszutek Wilk commit 6221a9b2a11acfb54e7b41da425e961b31e88553 Author: Konrad Rzeszutek Wilk Date: Wed Dec 9 17:43:15 2009 -0500 xen/pciback: Register the owner (domain) of the PCI device. When the front-end and back-end start negotiating we register the domain that will use the PCI device. Furthermore during shutdown of guest or unbinding of the PCI device (and unloading of module) from pciback we unregister the domain owner. Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Jeremy Fitzhardinge commit 8bfd4e023f5fb5793d7d7483b6e17e04933c53e9 Author: Konrad Rzeszutek Wilk Date: Tue Jul 19 20:09:43 2011 -0400 xen/pciback: Cleanup the driver based on checkpatch warnings and errors. Checkpatch found some extra warnings and errors. This mega patch fixes them all in one big swoop. We also spruce up the pcistub_ids to use DEFINE_PCI_DEVICE_TABLE macro (suggested by Jan Beulich). Signed-off-by: Konrad Rzeszutek Wilk commit 30edc14bf39afde24ef7db2de66c91805db80828 Author: Konrad Rzeszutek Wilk Date: Tue Oct 13 17:22:20 2009 -0400 xen/pciback: xen pci backend driver. This is the host side counterpart to the frontend driver in drivers/pci/xen-pcifront.c. The PV protocol is also implemented by frontend drivers in other OSes too, such as the BSDs. The PV protocol is rather simple. There is page shared with the guest, which has the 'struct xen_pci_sharedinfo' embossed in it. The backend has a thread that is kicked every-time the structure is changed and based on the operation field it performs specific tasks: XEN_PCI_OP_conf_[read|write]: Read/Write 0xCF8/0xCFC filtered data. (conf_space*.c) Based on which field is probed, we either enable/disable the PCI device, change power state, read VPD, etc. The major goal of this call is to provide a Physical IRQ (PIRQ) to the guest. The PIRQ is Xen hypervisor global IRQ value irrespective of the IRQ is tied in to the IO-APIC, or is a vector. For GSI type interrupts, the PIRQ==GSI holds. For MSI/MSI-X the PIRQ value != Linux IRQ number (thought PIRQ==vector). Please note, that with Xen, all interrupts (except those level shared ones) are injected directly to the guest - there is no host interaction. XEN_PCI_OP_[enable|disable]_msi[|x] (pciback_ops.c) Enables/disables the MSI/MSI-X capability of the device. These operations setup the MSI/MSI-X vectors for the guest and pass them to the frontend. When the device is activated, the interrupts are directly injected in the guest without involving the host. XEN_PCI_OP_aer_[detected|resume|mmio|slotreset]: In case of failure, perform the appropriate AER commands on the guest. Right now that is a cop-out - we just kill the guest. Besides implementing those commands, it can also - hide a PCI device from the host. When booting up, the user can specify xen-pciback.hide=(1:0:0)(BDF..) so that host does not try to use the device. The driver was lifted from linux-2.6.18.hg tree and fixed up so that it could compile under v3.0. Per suggestion from Jesse Barnes moved the driver to drivers/xen/xen-pciback. Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Jeremy Fitzhardinge commit 7ad711b49e661a0979ed1a84bed16bc9fa7f872b Author: Matvejchikov Ilya Date: Mon Jul 18 21:58:48 2011 +0000 slcan: remove unused 'leased', 'line' and 'pid' fields from the 'slcan' structure Signed-off-by: Matvejchikov Ilya Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit a9481a38b1474aab0f686b30e4e2b57880065ad2 Author: Matvejchikov Ilya Date: Mon Jul 18 21:56:44 2011 +0000 slip: remove unused 'line' field from the 'slip' structure Signed-off-by: Matvejchikov Ilya Signed-off-by: David S. Miller commit 10d1459fafbb02a18e7bc8f2c384a9e973560b00 Author: David Teigland Date: Mon Jul 18 15:28:34 2011 -0500 dlm: don't limit active work items Allow multiple workqueue items (locks with callbacks) to be processed concurrently. There should be no reason not to take advantage of this workqueue feature. Signed-off-by: David Teigland commit 591567a5ea25852f20b7ef2953f6f72020121199 Author: Shawn Guo Date: Tue Jul 19 21:16:56 2011 +0800 gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renaming The following commit renames irq_gc_ack() to irq_gc_ack_set_bit(), and makes gpio-mxc and gpio-mxs fail to build. 659fb32d1b67476f4ade25e9ea0e2642a5b9c4b5 genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd) The patch fixed a couple of typo of comma to semicolon. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit fd99beb9375b44309d5ed9c2b62063e23151610b Merge: 3fbcf6b b834226 Author: David S. Miller Date: Tue Jul 19 10:12:44 2011 -0700 Merge branch 'vhost-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit 3fbcf6bb55686c36086c8ab15fe9ee5a63eb79d4 Merge: 928ad22 1687b56 Author: David S. Miller Date: Tue Jul 19 10:11:21 2011 -0700 Merge branch 'davem-next.r8169' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 commit 928ad22a3b033a994081dbf49f3c046195dd2349 Author: Dmitry Kravkov Date: Tue Jul 19 01:46:11 2011 +0000 bnx2x: disable FCoE for 578xx devices since not yet supported Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 53e51e2f480aaa000b0a7d2704ce2b4b646a73c7 Author: Vladislav Zolotarov Date: Tue Jul 19 01:45:02 2011 +0000 bnx2x: fix memory barriers Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f5219d8eb8b32eb32522063d2163f95e1cf7bb5c Author: Vladislav Zolotarov Date: Tue Jul 19 01:44:11 2011 +0000 bnx2x: use BNX2X_Q_FLG_TPA_IPV6 for TPA queue configuration Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 019dbb4c0106f11b5c6543bffaedf10067e28398 Author: Vladislav Zolotarov Date: Tue Jul 19 01:43:25 2011 +0000 bnx2x: disable loacal BH when scheduling FCOE napi Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d1c228d9b9b915a14cf362ebd817c10166be01e6 Author: Dmitry Kravkov Date: Tue Jul 19 01:42:40 2011 +0000 bnx2x: fix MB index for 4-port devices Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6debea870a66be4aac2e28be0e3952dad6c7fcdb Author: Dmitry Kravkov Date: Tue Jul 19 01:42:04 2011 +0000 bnx2x: DCB rework create DCB related states in function state-machine allow handling of DCB errors from FW allow disablement of DCB in FW, when peer disappears or error clean up unused functions/variables as pointed by David Binderman Reported-by: David Binderman Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f13ac41f5165c0ac0441f9d42f7d6f6f9ee7c075 Author: Vladislav Zolotarov Date: Tue Jul 19 01:40:27 2011 +0000 bnx2x: remove unnecessary dma_sync Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9505ee376739c26cf1d7d4e551d2f63b9d7e5729 Author: Vladislav Zolotarov Date: Tue Jul 19 01:39:41 2011 +0000 bnx2x: stop tx before CNIC_STOP It may take some time to cnic to respond, this prevents tx_timeout when it happens. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c636322b24eb69b7c1ccdc070164de51cee3f37c Author: Dmitry Kravkov Date: Tue Jul 19 01:38:53 2011 +0000 bnx2x: add missing command in error handling flow Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9924cafc403ca74614c0a8b1ad198406ae02c68b Author: Vladislav Zolotarov Date: Tue Jul 19 01:37:42 2011 +0000 bnx2x: use correct dma_sync function Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1687b56679880a47164ae149530abee543f9d6b1 Author: Francois Romieu Date: Tue Jul 19 17:21:29 2011 +0200 r8169: fix sticky accepts packet bits in RxConfig. e542a2269f232d61270ceddd42b73a4348dee2bb (r8169: adjust the RxConfig settings) broke the return from promiscuous mode to physical address match mode. Signed-off-by: Francois Romieu Cc: Signed-off-by: Hayes Wang commit b834226b04d6fb51178a64e98872856986c71474 Author: Michael S. Tsirkin Date: Tue Jul 19 17:15:43 2011 +0300 vhost: optimize interrupt enable/disable As we now only update used ring after enabling the backend, we can write flags with __put_user: as that's done on data path, it matters. Signed-off-by: Michael S. Tsirkin commit 75fd9edc1054a1fa1d1411adec368dadf68e764e Author: Michael S. Tsirkin Date: Tue Jul 19 13:19:18 2011 +0300 vhost: fix zcopy reference counting Fix get/put refcount imbalance with zero copy, which caused qemu to hang forever on guest driver unload. Signed-off-by: Michael S. Tsirkin commit 2723feaa8ec64f677f644c9189ed87d83f5559c1 Author: Jason Wang Date: Tue Jun 21 18:04:38 2011 +0800 vhost: set log when updating used flags or avail event We need to log writes when updating used flags and avail event fields. Otherwise the guest may see a stale value after migration and miss notifying the host. Signed-off-by: Jason Wang Signed-off-by: Michael S. Tsirkin commit f59281dafb832b161133743fcf3dc29051e6fdb8 Author: Jason Wang Date: Tue Jun 21 18:04:27 2011 +0800 vhost: init used ring after backend was set Move the used ring initialization after backend was set. This makes it possible to disable the backend and tweak the used ring, then restart. This will also make it possible to log the used ring write correctly. Signed-off-by: Jason Wang Signed-off-by: Michael S. Tsirkin commit 97d32cf9440d2111a12471740446d4d63231b79a Author: Florian Westphal Date: Tue Jul 19 11:46:33 2011 +0200 netfilter: nfnetlink_queue: batch verdict support Introduces a new nfnetlink type that applies a given verdict to all queued packets with an id <= the id in the verdict message. If a mark is provided it is applied to all matched packets. This reduces the number of verdicts that have to be sent. Applications that make use of this feature need to maintain a timeout to send a batchverdict periodically to avoid starvation. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 5863702a3421b0d2a63a473cf96afeb9fe09070d Author: Eric Dumazet Date: Tue Jul 19 11:44:17 2011 +0200 netfilter: nfnetlink_queue: assert monotonic packet ids Packet identifier is currently setup in nfqnl_build_packet_message(), using one atomic_inc_return(). Problem is that since several cpus might concurrently call nfqnl_enqueue_packet() for the same queue, we can deliver packets to consumer in non monotonic way (packet N+1 being delivered after packet N) This patch moves the packet id setup from nfqnl_build_packet_message() to nfqnl_enqueue_packet() to guarantee correct delivery order. This also removes one atomic operation. Signed-off-by: Eric Dumazet CC: Florian Westphal CC: Pablo Neira Ayuso CC: Eric Leblond Signed-off-by: Patrick McHardy commit 3cbe182a5b443c4a06a8ddaf13057cbd893963c7 Author: Manuel Zerpies Date: Thu Jun 16 12:10:40 2011 +0000 RDMA/cxgb4: Use printk_ratelimited() instead of printk_ratelimit() Since printk_ratelimit() shouldn't be used anymore (see comment in include/linux/printk.h), replace it with printk_ratelimited(). Signed-off-by: Manuel Zerpies Signed-off-by: Roland Dreier commit c37791349cc79d025df6e9a4f896a7b0a97cdbd3 Author: Or Gerlitz Date: Wed Jun 15 14:51:27 2011 +0000 IB/mlx4: Support PMA counters for IBoE Use the per port counter attached to all QPs created on that port to implement port level packets/bytes performance counters a la IB. Derived from a patch by Eli Cohen Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit cfcde11c3d7ae175f49280bb6f913478c2f1bd8c Author: Or Gerlitz Date: Wed Jun 15 14:49:57 2011 +0000 IB/mlx4: Use flow counters on IBoE ports Allocate flow counter per Ethernet/IBoE port, and attach this counter to all the QPs created on that port. Based on patch by Eli Cohen . Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 6aea213a62122701891fe55cc3405d31b927cfde Author: Or Gerlitz Date: Tue Jul 5 15:46:29 2011 +0000 IB/pma: Add include file for IBA performance counters definitions Move the various definitions and mad structures needed for software implementation of IBA PM agent from the ipath and qib drivers into a single include file, which in turn could be used by more consumers. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit f2a3f6a32cf64db1495b5ced8625b9a80bde44e5 Author: Or Gerlitz Date: Wed Jun 15 14:47:14 2011 +0000 mlx4_core: Add network flow counters ConnectX devices support a set of flow counters that can be attached to a set containing one or more QPs. Each such counter tracks receive and transmit packets and bytes of these QPs. This patch queries the device to check support for counters, handles initialization of the HCA to enable counters, and initializes a bitmap allocator to control counter allocations. Derived from patch by Eli Cohen . Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 98a13e487a3bdac8508e4dcb98d63385fabe6767 Author: Or Gerlitz Date: Wed Jun 15 14:43:43 2011 +0000 mlx4_core: Fix location of counter index in QP context struct Fix the address handle portion of the QP context structure to have the correct bit location for the counter index field. Signed-off-by: Eli Cohen Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit ccf863219675aa86bebdd6a2806acb8176478e37 Author: Or Gerlitz Date: Thu Jul 7 19:19:29 2011 +0000 mlx4_core: Read extended capabilities into the flags field Query another dword containing up to 32 extended device capabilities and merge it into struct mlx4_caps.flags. Update the code that handles the current extended device capabilities (e.g UDP RSS, WoL, vep steering, etc) to use the extended device cap flags field instead of a field per extended capability. Initial patch done by Eli Cohen . Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 52eafc68d601afd699b023201b0c6be5209f39ce Author: Or Gerlitz Date: Wed Jun 15 14:41:42 2011 +0000 mlx4_core: Extend capability flags to 64 bits The latest firmware adds a second dword containing more device flags, so extend the device capabilities flags field from 32 to 64 bits. Derived from patch by Eli Cohen Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 6451c712fef3b13bb3fc5a41adadc539e0d06a42 Author: Or Gerlitz Date: Wed Jun 15 14:40:29 2011 +0000 IB/mlx4: Generate GID change events in IBoE code IBoE doesn't use LIDs. Use the GID change event to update the IB core cache for addition/deletion of GIDs. Signed-off-by: Eli Cohen Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 761d90ed4c36798a2f5fcb161d4ee2119bab478b Author: Or Gerlitz Date: Wed Jun 15 14:39:29 2011 +0000 IB/core: Add GID change event Add IB GID change event type. This is needed for IBoE when the HW driver updates the GID (e.g when new VLANs are added/deleted) table and the change should be reflected to the IB core cache. Signed-off-by: Eli Cohen Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 2efdd6a038b2d72e74deb8d4725db1663135268c Author: Moni Shoua Date: Tue Jul 12 11:23:15 2011 +0000 RDMA/cma: Don't allow IPoIB port space for IBoE This patch fixes a kernel crash in cma_set_qkey(). When the link layer is Ethernet, it is wrong to use IPoIB port space since no IPoIB interface is available. Specifically, setting the Q_Key when port space is RDMA_PS_IPOIB requires MGID calculation and an SA query, which doesn't make sense over Ethernet. Signed-off-by: Moni Shoua Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit 10e1b54bbb51ac134c51996022f3bd10579fbd3b Author: Bart Van Assche Date: Sat Jun 18 16:35:42 2011 +0000 RDMA: Allow for NULL .modify_device() and .modify_port() methods These methods don't make sense for iWARP devices, so rather than forcing them to implement stubs, just return -ENOSYS in the core if the hardware driver doesn't set .modify_device and/or .modify_port. Signed-off-by: Roland Dreier commit 99ce39e359fa29e4b609a6a13485e7573eda5dfb Author: Grant Likely Date: Tue Jul 5 23:42:37 2011 -0600 dt: include linux/errno.h in linux/of_address.h of_address.h makes reference to some of the error code #defines, so it needs to include errno.h. If CONFIG_PCI is not selected, then some files will fail to compile. Signed-off-by: Grant Likely commit 90e33f62e027d330485d03598e1b2d8db3ff031c Author: Grant Likely Date: Tue Jul 5 23:42:28 2011 -0600 of/address: Add of_find_matching_node_by_address helper of_find_matching_node_by_address() can be used to find a device tree node for a device at a specific address. Signed-off-by: Grant Likely commit f701e5b73a1a79ea62ffd45d9e2bed4c7d5c1fd2 Author: Vladimir Zapolskiy Date: Fri Jul 15 20:45:18 2011 +0300 connector: add an event for monitoring process tracers This change adds a procfs connector event, which is emitted on every successful process tracer attach or detach. If some process connects to other one, kernelspace connector reports process id and thread group id of both these involved processes. On disconnection null process id is returned. Such an event allows to create a simple automated userspace mechanism to be aware about processes connecting to others, therefore predefined process policies can be applied to them if needed. Note, a detach signal is emitted only in case, if a tracer process explicitly executes PTRACE_DETACH request. In other cases like tracee or tracer exit detach event from proc connector is not reported. Signed-off-by: Vladimir Zapolskiy Acked-by: Evgeniy Polyakov Cc: David S. Miller Signed-off-by: Oleg Nesterov commit 8c400f6ce068366bc3517f1036bb99169cfec9cd Author: Borislav Petkov Date: Mon Jul 18 21:10:54 2011 +0200 x86, vdso: Drop now wrong comment Now that 1b3f2a72bbcfdf92e368a44448c45eb639b05b5e is in, it is very important that the below lying comment be removed! :-) Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/20110718191054.GA18359@liondog.tnic Acked-by: Andy Lutomirski Signed-off-by: H. Peter Anvin commit e800bd032c2623b10ef38a4d7d646e3e3c7bb3ad Author: Mitko Haralanov Date: Thu Jul 14 13:40:24 2011 +0000 IB/qib: Update active link width Update the active link width on QLE7220 chips when link goes down if chip width does not match shadowed width. Signed-off-by: Mitko Haralanov Signed-off-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 4356d0b64b9be53c507f66c572c1e275b4529239 Author: Ram Vepa Date: Fri May 27 13:41:55 2011 +0000 IB/qib: Fix potential deadlock with link down interrupt There is a possibility of a deadlock due to the way locks are acquired and released in qib_set_uevent_bits(). The function qib_set_uevent_bits() is called in process context and it uses spin_lock() and spin_unlock(). This same lock is acquired/released in interrupt context which can lead to a deadlock when running on the same cpu. The fix is to replace spin_lock() and spin_unlock() with spin_lock_irqsave() and spin_unlock_irqrestore() respectively in qib_set_uevent_bits(). Signed-off-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 2df4f7579d212e8e0df7c8a24f57bf90f23fd516 Author: Ram Vepa Date: Tue May 31 20:20:43 2011 +0000 IB/qib: Add sysfs interface to read free contexts Indicate the number of free user contexts via the sysfs file /sys/class/infiniband/qib0/nfreectxts as required for PSM. Signed-off-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 9b89925c0d8f7d1cc203682df4fab847a7b4b7ec Author: Jon Mason Date: Mon Jun 27 17:39:54 2011 +0000 IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Also, pci_is_pcie is a better way of determining if the device is PCIE or not (as it uses the same saved PCIE capability offset). Signed-off-by: Jon Mason Signed-off-by: Roland Dreier commit ac0cae4495303b8fffd3df9c7cb29c7d0c05f210 Author: Edwin van Vliet Date: Sun Jul 10 21:49:47 2011 +0000 IB/qib: Remove double define Signed-off-by: Edwin van Vliet Reviewed-by: Jesper Juhl Acked-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 7f27cda03708e3460849f82b47c604f1492e3777 Author: Jon Mason Date: Mon Jun 27 17:40:38 2011 +0000 IB/qib: Remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Acked-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 57631811728d12ad9b0e96ed3eccb486124a5605 Author: Motohiro KOSAKI Date: Thu May 19 01:04:42 2011 +0000 IB/ipath: Convert old cpumask api into new one Adapt to new api. We plan to remove old one later. Almost all changes are trivial, but there is one real fix: the following code is unsafe: int ncpus = num_online_cpus() for (i = 0; i < ncpus; i++) { .. } because 1) we don't guarantee last bit of online cpus is equal to num_online_cpus(). some arch assign sparse cpu number. 2) cpu hotplugging may change cpu_online_mask at same time. we need to pin it by get_online_cpus(). Signed-off-by: KOSAKI Motohiro Acked-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 0cd85e6738976b753fb156d833c94083418b3ae4 Author: Motohiro KOSAKI Date: Thu May 19 01:07:05 2011 +0000 IB/qib: Convert old cpumask api into new one Adapt to use new APIs. We plan to remove old one later and plan to change current->cpus_allowed implementation. No functional change. Signed-off-by: KOSAKI Motohiro Acked-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 81fc70d86527a1450560709500ca5f52e661da1f Author: Andy Shevchenko Date: Sun Jul 17 22:26:37 2011 +0000 net: can: remove custom hex_to_bin() Signed-off-by: Andy Shevchenko Cc: Wolfgang Grandegger Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 61b8013a114cb041db2c56f747953cac69637f26 Author: Srinivas Kandagatla Date: Sun Jul 17 20:54:09 2011 +0000 stmmac: Allow SOCs to use Store forward mode eventhough tx_coe is 0. (V2) This patch adds new field 'force_sf_dma_mode' to plat_stmmacenet_data struct to allow users to specify if they want to use force store forward eventhough tx_coe is not available in hw. without this flag stmmac driver will use cut-thru mode not use store-forward mode. Signed-off-by: Srinivas Kandagatla Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit eb0dc4bb2e22c04964d6e9545e86f629f117108b Author: Shiraz Hashim Date: Sun Jul 17 20:54:08 2011 +0000 stmmac: add memory barriers at appropriate places This patch, provided by ST SPEAr developers, has fixed a problem raised on ARM CA9 where happened that the dma_transmission was enabled before the dma descriptors were properly filled. To guarantee this data memory barriers have been explicity used in the driver. Signed-off-by: Shiraz Hashim Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit bab632d69ee48a106e779b60cc01adfe80a72807 Author: Michael S. Tsirkin Date: Mon Jul 18 03:48:46 2011 +0000 vhost: vhost TX zero-copy support >From: Shirley Ma This adds experimental zero copy support in vhost-net, disabled by default. To enable, set experimental_zcopytx module option to 1. This patch maintains the outstanding userspace buffers in the sequence it is delivered to vhost. The outstanding userspace buffers will be marked as done once the lower device buffers DMA has finished. This is monitored through last reference of kfree_skb callback. Two buffer indices are used for this purpose. The vhost-net device passes the userspace buffers info to lower device skb through message control. DMA done status check and guest notification are handled by handle_tx: in the worst case is all buffers in the vq are in pending/done status, so we need to notify guest to release DMA done buffers first before we get any new buffers from the vq. One known problem is that if the guest stops submitting buffers, buffers might never get used until some further action, e.g. device reset. This does not seem to affect linux guests. Signed-off-by: Shirley Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 5c74501f76360ce6f410730b9b5e5976f38e8504 Author: Eric Dumazet Date: Mon Jul 18 03:16:33 2011 +0000 ipv4: save cpu cycles from check_leaf() Compiler is not smart enough to avoid double BSWAP instructions in ntohl(inet_make_mask(plen)). Lets cache this value in struct leaf_info, (fill a hole on 64bit arches) With route cache disabled, this saves ~2% of cpu in udpflood bench on x86_64 machine. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0c9361fcdeccd316ed67d85aa819c08066964c5b Author: Jack Morgenstein Date: Sun Jul 17 10:46:47 2011 +0000 RDMA/cma: Avoid assigning an IS_ERR value to cm_id pointer in CMA id object Avoid assigning an IS_ERR value to the cm_id pointer. This fixes a few anomalies in the error flow due to confusion about checking for NULL vs IS_ERR, and eliminates the need to test for the IS_ERR value every time we wish to determine if the cma_id object has a cm device associated with it. Also, eliminate the now-unnecessary procedure cma_has_cm_dev (we can check directly for the existence of the device pointer -- for a non-NULL check, makes no difference if it is the iwarp or the ib pointer). Finally, make a few code changes here to improve coding consistency. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 84a797dd0b9f7130357b70577fcbda8e638c71a7 Author: Eric Dumazet Date: Mon Jul 18 16:08:27 2011 +0200 netfilter: nfnetlink_queue: provide rcu enabled callbacks nenetlink_queue operations on SMP are not efficent if several queues are used, because of nfnl_mutex contention when applications give packet verdict. Use new call_rcu field in struct nfnl_callback to advertize a callback that is called under rcu_read_lock instead of nfnl_mutex. On my 2x4x2 machine, I was able to reach 2.000.000 pps going through user land returning NF_ACCEPT verdicts without losses, instead of less than 500.000 pps before patch. Signed-off-by: Eric Dumazet CC: Florian Westphal CC: Eric Leblond Signed-off-by: Patrick McHardy commit 6b75e3e8d664a9a1b99d31a7f4976ae70d1d090a Author: Eric Dumazet Date: Mon Jul 18 16:08:07 2011 +0200 netfilter: nfnetlink: add RCU in nfnetlink_rcv_msg() Goal of this patch is to permit nfnetlink providers not mandate nfnl_mutex being held while nfnetlink_rcv_msg() calls them. If struct nfnl_callback contains a non NULL call_rcu(), then nfnetlink_rcv_msg() will use it instead of call() field, holding rcu_read_lock instead of nfnl_mutex Signed-off-by: Eric Dumazet CC: Florian Westphal CC: Eric Leblond Signed-off-by: Patrick McHardy commit c225150b86fef9f7663219b6e9f7606ea1607312 Author: Hugh Dickins Date: Mon Jul 11 13:35:08 2011 -0700 slab: fix DEBUG_SLAB build Fix CONFIG_SLAB=y CONFIG_DEBUG_SLAB=y build error and warnings. Now that ARCH_SLAB_MINALIGN defaults to __alignof__(unsigned long long), it is always defined (when slab.h included), but cannot be used in #if: mm/slab.c: In function `cache_alloc_debugcheck_after': mm/slab.c:3156:5: warning: "__alignof__" is not defined mm/slab.c:3156:5: error: missing binary operator before token "(" make[1]: *** [mm/slab.o] Error 1 So just remove the #if and #endif lines, but then 64-bit build warns: mm/slab.c: In function `cache_alloc_debugcheck_after': mm/slab.c:3156:6: warning: cast from pointer to integer of different size mm/slab.c:3158:10: warning: format `%d' expects type `int', but argument 3 has type `long unsigned int' Fix those with casts, whatever the actual type of ARCH_SLAB_MINALIGN. Acked-by: Christoph Lameter Signed-off-by: Hugh Dickins Signed-off-by: Pekka Enberg commit d3aaeb38c40e5a6c08dd31a1b64da65c4352be36 Author: David S. Miller Date: Mon Jul 18 00:40:17 2011 -0700 net: Add ->neigh_lookup() operation to dst_ops In the future dst entries will be neigh-less. In that environment we need to have an easy transition point for current users of dst->neighbour outside of the packet output fast path. Signed-off-by: David S. Miller commit 69cce1d1404968f78b177a0314f5822d5afdbbfb Author: David S. Miller Date: Sun Jul 17 23:09:49 2011 -0700 net: Abstract dst->neighbour accesses behind helpers. dst_{get,set}_neighbour() Signed-off-by: David S. Miller commit 9cbb7ecbcff85077bb12301aaf4c9b5a56c5993d Author: David S. Miller Date: Sun Jul 17 20:06:13 2011 -0700 ipv6: Get rid of rt6i_nexthop macro. It just makes it harder to see 1) what the code is doing and 2) grep for all users of dst{->,.}neighbour Signed-off-by: David S. Miller commit 8f40b161de4f27402b4c0659ad2ae83fad5a0cdd Author: David S. Miller Date: Sun Jul 17 13:34:11 2011 -0700 neigh: Pass neighbour entry to output ops. This will get us closer to being able to do "neigh stuff" completely independent of the underlying dst_entry for protocols (ipv4/ipv6) that wish to do so. We will also be able to make dst entries neigh-less. Signed-off-by: David S. Miller commit 69ecca86da4890c13a5e29c51b4ac76a1a8a62c9 Author: David Lamparter Date: Sun Jul 17 08:53:12 2011 +0000 net: vlan, qlcnic: make vlan_find_dev private there is only one user of vlan_find_dev outside of the actual vlan code: qlcnic uses it to iterate over some VLANs it knows. let's just make vlan_find_dev private to the VLAN code and have the iteration in qlcnic be a bit more direct. (a few rcu dereferences less too) Signed-off-by: David Lamparter Cc: Patrick McHardy Cc: Amit Kumar Salecha Cc: Anirban Chakraborty Cc: linux-driver@qlogic.com Signed-off-by: David S. Miller commit 178edcbc6b539dfc21062fed9bf31701a8952e1c Author: David Lamparter Date: Sun Jul 17 08:32:12 2011 +0000 net: add 802.1ad / 802.1ah / QinQ ethertypes define ETH_P_8021AD to 88a8 (assigned by IEEE) and add ETH_P_QINQ{1,2,3} for the pre-standard 9{1,2,3}00 types. all of them use 802.1q frame format, with 1 bit used differently in some cases. also define ETH_P_8021AH to 88e7 (assigned by IEEE). this is Mac-in-Mac and uses a different, 16-byte header. Signed-off-by: David Lamparter Signed-off-by: David S. Miller commit d184d6eb1dc3c9869e25a8e422be5c55ab0db4ac Author: Oleg Nesterov Date: Fri Jul 8 19:14:17 2011 +0200 ptrace: dont send SIGSTOP on auto-attach if PT_SEIZED The fake SIGSTOP during attach has numerous problems. PTRACE_SEIZE is already fine, but we have basically the same problems is SIGSTOP is sent on auto-attach, the tracer can't know if this signal signal should be cancelled or not. Change ptrace_event() to set JOBCTL_TRAP_STOP if the new child is PT_SEIZED, this triggers the PTRACE_EVENT_STOP report. Thereafter a PT_SEIZED task can never report the bogus SIGSTOP. Test-case: #define PTRACE_SEIZE 0x4206 #define PTRACE_SEIZE_DEVEL 0x80000000 #define PTRACE_EVENT_STOP 7 #define WEVENT(s) ((s & 0xFF0000) >> 16) int main(void) { int child, grand_child, status; long message; child = fork(); if (!child) { kill(getpid(), SIGSTOP); fork(); assert(0); return 0x23; } assert(ptrace(PTRACE_SEIZE, child, 0,PTRACE_SEIZE_DEVEL) == 0); assert(wait(&status) == child); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP); assert(ptrace(PTRACE_SETOPTIONS, child, 0, PTRACE_O_TRACEFORK) == 0); assert(ptrace(PTRACE_CONT, child, 0,0) == 0); assert(waitpid(child, &status, 0) == child); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP); assert(WEVENT(status) == PTRACE_EVENT_FORK); assert(ptrace(PTRACE_GETEVENTMSG, child, 0, &message) == 0); grand_child = message; assert(waitpid(grand_child, &status, 0) == grand_child); assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGTRAP); assert(WEVENT(status) == PTRACE_EVENT_STOP); kill(child, SIGKILL); kill(grand_child, SIGKILL); return 0; } Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit dcace06cc29df927a74a6bc0e57b9bef87704377 Author: Oleg Nesterov Date: Fri Jul 8 19:13:54 2011 +0200 ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task() If the new child is traced, do_fork() adds the pending SIGSTOP. It assumes that either it is traced because of auto-attach or the tracer attached later, in both cases sigaddset/set_thread_flag is correct even if SIGSTOP is already pending. Now that we have PTRACE_SEIZE this is no longer right in the latter case. If the tracer does PTRACE_SEIZE after copy_process() makes the child visible the queued SIGSTOP is wrong. We could check PT_SEIZED bit and change ptrace_attach() to set both PT_PTRACED and PT_SEIZED bits simultaneously but see the next patch, we need to know whether this child was auto-attached or not anyway. So this patch simply moves this code to ptrace_init_task(), this way we can never race with ptrace_attach(). Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 6634ae1033ceaeca5877dd75723210f8c2648c17 Author: Oleg Nesterov Date: Fri Jul 8 19:13:39 2011 +0200 ptrace_init_task: initialize child->jobctl explicitly new_child->jobctl is not initialized during the fork, it is copied from parent->jobctl. Currently this is harmless, the forking task is running and copy_process() can't succeed if signal_pending() is true, so only JOBCTL_STOP_DEQUEUED can be copied. Still this is a bit fragile, it would be more clean to set ->jobctl = 0 explicitly. Also, check ->ptrace != 0 instead of PT_PTRACED, move the CONFIG_HAVE_HW_BREAKPOINT code up. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 961c4675c75112717705fa5c0c53cb9664051479 Author: Oleg Nesterov Date: Thu Jul 7 21:33:54 2011 +0200 has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/ has_stopped_jobs() naively checks task_is_stopped(group_leader). This was always wrong even without ptrace, group_leader can be dead. And given that ptrace can change the state to TRACED this is wrong even in the single-threaded case. Change the code to check SIGNAL_STOP_STOPPED and simplify the code, retval + break/continue doesn't make this trivial code more readable. We could probably add the usual "|| signal->group_stop_count" check but I don't think this makes sense, the task can start the group-stop right after the check anyway. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 542d4d685febf3110d1a08d0bcb9f6ef060b76f7 Author: David S. Miller Date: Sat Jul 16 18:06:24 2011 -0700 neigh: Kill ndisc_ops->queue_xmit It is always dev_queue_xmit(). Signed-off-by: David S. Miller commit b23b5455b6458920179a1f27513ce42e70d11f37 Author: David S. Miller Date: Sat Jul 16 17:45:02 2011 -0700 neigh: Kill hh_cache->hh_output It's just taking on one of two possible values, either neigh_ops->output or dev_queue_xmit(). And this is purely depending upon whether nud_state has NUD_CONNECTED set or not. Signed-off-by: David S. Miller commit 47ec132a40d788d45e2f088545dea68798034dab Author: David S. Miller Date: Sat Jul 16 17:39:57 2011 -0700 neigh: Kill neigh_ops->hh_output It's always dev_queue_xmit(). Signed-off-by: David S. Miller commit 0895b08adeb3f660cdff21990d0a9c2b59a919e7 Author: David S. Miller Date: Sat Jul 16 17:36:53 2011 -0700 neigh: Simply destroy handling wrt. hh_cache. Now that hh_cache entries are embedded inside of neighbour entries, their lifetimes and accesses are now synchronous to that of the encompassing neighbour object. Therefore we don't need to hook up the blackhole op to hh_output on destroy. Signed-off-by: David S. Miller commit 05e3aa0949c138803185f92bd7db9be59cfca1be Author: David S. Miller Date: Sat Jul 16 17:26:00 2011 -0700 net: Create and use new helper, neigh_output(). Signed-off-by: David S. Miller commit a29282972cc9b80126d4e4d68251c6712bdad051 Author: David S. Miller Date: Sat Jul 16 14:30:47 2011 -0700 ipv6: Use calculated 'neigh' instead of re-evaluating dst->neighbour Signed-off-by: David S. Miller commit fec8292d9cb662274b583c5c69fdfa6932e593a5 Author: David S. Miller Date: Sat Jul 16 14:25:54 2011 -0700 ipv4: Use calculated 'neigh' instead of re-evaluating dst->neighbour Signed-off-by: David S. Miller commit faa2831445cdc95774584045fe10f749fa62244e Author: Dmitry Kravkov Date: Sat Jul 16 13:35:51 2011 -0700 bnx2x: Fix compilation when CNIC is not selected in config Reported-by: Randy Dunlap Signed-off-by: Dmitry Kravkov Signed-off-by: David S. Miller commit 2d9a8db54c4b1e206adb3b7942aefd544306560f Author: Jeff Kirsher Date: Sat Jul 16 12:35:27 2011 -0700 68360enet: Remove Kconfig/Makefile references 68360enet.c no longer exists, and from the research, it appears that 68360enet.c became fec.c back in 2004. The Kconfig and Makefile references were never cleaned up. This patch removes this "dead" references. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cd6340199f65cad63262db0fd561bdcfd69df3bd Author: Michael Chan Date: Fri Jul 15 06:53:58 2011 +0000 bnx2: Close device if tx_timeout reset fails Based on original patch and description from Flavio Leitner When bnx2_reset_task() is called, it will stop, (re)initialize and start the interface to restore the working condition. The bnx2_init_nic() calls bnx2_reset_nic() which will reset the chip and then calls bnx2_free_skbs() to free all the skbs. The problem happens when bnx2_init_chip() fails because bnx2_reset_nic() will just return skipping the ring initializations at bnx2_init_all_rings(). Later, the reset task starts the interface again and the system crashes due a NULL pointer access (no skb in the ring). To fix it, we call dev_close() if bnx2_init_nic() fails. One minor wrinkle to deal with is the cancel_work_sync() call in bnx2_close() to cancel bnx2_reset_task(). The call will wait forever because it is trying to cancel itself and the workqueue will be stuck. Since bnx2_reset_task() holds the rtnl_lock() and checks for netif_running() before proceeding, there is no need to cancel bnx2_reset_task() in bnx2_close() even if bnx2_close() and bnx2_reset_task() are running concurrently. The rtnl_lock() serializes the 2 calls. We need to move the cancel_work_sync() call to bnx2_remove_one() to make sure it is canceled before freeing the netdev struct. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Cc: Flavio Leitner Signed-off-by: David S. Miller commit 9a00c24ae7cb08dcd46edf1327a47871e8466444 Author: Stefan Richter Date: Sat Jul 9 16:48:29 2011 +0200 firewire: document the sysfs ABIs of firewire-core and firewire-sbp2. Signed-off-by: Stefan Richter commit f6a7cd0212c359f7b55414aeee364ee7cac363cc Author: Stefan Richter Date: Thu Jul 14 21:08:39 2011 +0200 firewire: cdev: ABI documentation enhancements Add overview documentation in Documentation/ABI/stable/firewire-cdev. Improve the inline reference documentation in firewire-cdev.h: - Add /* available since kernel... */ comments to event numbers consistent with the comments on ioctl numbers. - Shorten some documentation on an event and an ioctl that are less interesting to current programming because there are newer preferable variants. - Spell Configuration ROM (name of an IEEE 1212 register) in upper case. - Move the dummy FW_CDEV_VERSION out of the reader's field of vision. We should remove it from the header next year or so. Signed-off-by: Stefan Richter commit 93b37905f70083d6143f5f4dba0a45cc64379a62 Author: Stefan Richter Date: Sat Jul 9 16:43:22 2011 +0200 firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing Between open(2) of a /dev/fw* and the first FW_CDEV_IOC_GET_INFO ioctl(2) on it, the kernel already queues FW_CDEV_EVENT_BUS_RESET events to be read(2) by the client. The get_info ioctl is practically always issued right away after open, hence this condition only occurs if the client opens during a bus reset, especially during a rapid series of bus resets. The problem with this condition is twofold: - These bus reset events carry the (as yet undocumented) @closure value of 0. But it is not the kernel's place to choose closures; they are privat to the client. E.g., this 0 value forced from the kernel makes it unsafe for clients to dereference it as a pointer to a closure object without NULL pointer check. - It is impossible for clients to determine the relative order of bus reset events from get_info ioctl(2) versus those from read(2), except in one way: By comparison of closure values. Again, such a procedure imposes complexity on clients and reduces freedom in use of the bus reset closure. So, change the ABI to suppress queuing of bus reset events before the first FW_CDEV_IOC_GET_INFO ioctl was issued by the client. Note, this ABI change cannot be version-controlled. The kernel cannot distinguish old from new clients before the first FW_CDEV_IOC_GET_INFO ioctl. We will try to back-merge this change into currently maintained stable/ longterm series, and we only document the new behaviour. The old behavior is now considered a kernel bug, which it basically is. Signed-off-by: Stefan Richter Cc: commit d873d794235efa590ab3c94d5ee22bb1fab19ac4 Author: Stefan Richter Date: Sat Jul 9 16:42:26 2011 +0200 firewire: cdev: return -ENOTTY for unimplemented ioctls, not -EINVAL On Jun 27 Linus Torvalds wrote: > The correct error code for "I don't understand this ioctl" is ENOTTY. > The naming may be odd, but you should think of that error value as a > "unrecognized ioctl number, you're feeding me random numbers that I > don't understand and I assume for historical reasons that you tried to > do some tty operation on me". [...] > The EINVAL thing goes way back, and is a disaster. It predates Linux > itself, as far as I can tell. You'll find lots of man-pages that have > this line in it: > > EINVAL Request or argp is not valid. > > and it shows up in POSIX etc. And sadly, it generally shows up > _before_ the line that says > > ENOTTY The specified request does not apply to the kind of object > that the descriptor d references. > > so a lot of people get to the EINVAL, and never even notice the ENOTTY. [...] > At least glibc (and hopefully other C libraries) use a _string_ that > makes much more sense: strerror(ENOTTY) is "Inappropriate ioctl for > device" So let's correct this in the ABI while it is still young, relative to distributor adoption. Side note: We return -ENOTTY not only on _IOC_TYPE or _IOC_NR mismatch, but also on _IOC_SIZE mismatch. An ioctl with an unsupported size of argument structure can be seen as an unsupported version of that ioctl. Signed-off-by: Stefan Richter Cc: commit 8c11642a50555e584774737f7c296f9aece310cf Merge: 5d10302 620917d Author: Grant Likely Date: Fri Jul 15 20:11:34 2011 -0600 Merge commit 'v3.0-rc7' into devicetree/next commit 17edf2d79f1ea6dfdb4c444801d928953b9f98d6 Author: Len Brown Date: Fri Jul 15 17:37:15 2011 -0400 x86, intel, power: Correct the MSR_IA32_ENERGY_PERF_BIAS message Fix the printk_once() so that it actually prints (didn't print before due to a stray comma.) [ hpa: changed to an incremental patch and adjusted the description accordingly. ] Signed-off-by: Len Brown Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1107151732480.18606@x980 Cc: Signed-off-by: H. Peter Anvin commit 7ae033cc0dfce68d8e0c83aca60837cf2bf0d2e6 Merge: ba1389d c8c9fda Author: Rafael J. Wysocki Date: Fri Jul 15 23:59:25 2011 +0200 Merge branch 'pm-runtime' into for-linus * pm-runtime: OMAP: PM: disable idle on suspend for GPIO and UART OMAP: PM: omap_device: add API to disable idle on suspend OMAP: PM: omap_device: add system PM methods for PM domain handling OMAP: PM: omap_device: conditionally use PM domain runtime helpers PM / Runtime: Add new helper function: pm_runtime_status_suspended() PM / Runtime: Consistent utilization of deferred_resume PM / Runtime: Prevent runtime_resume from racing with probe PM / Runtime: Replace "run-time" with "runtime" in documentation PM / Runtime: Improve documentation of enable, disable and barrier PM: Limit race conditions between runtime PM and system sleep (v2) PCI / PM: Detect early wakeup in pci_pm_prepare() PM / Runtime: Return special error code if runtime PM is disabled PM / Runtime: Update documentation of interactions with system sleep commit ba1389d74f34c0c6e95cc135a332cd29c29d9c20 Merge: f0c077a 5ca8081 Author: Rafael J. Wysocki Date: Fri Jul 15 23:59:09 2011 +0200 Merge branch 'pm-domains' into for-linus * pm-domains: (33 commits) ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active PM / Domains: Take .power_off() error code into account ARM / shmobile: Use genpd_queue_power_off_work() ARM / shmobile: Use pm_genpd_poweroff_unused() PM / Domains: Introduce function to power off all unused PM domains PM / Domains: Queue up power off work only if it is not pending PM / Domains: Improve handling of wakeup devices during system suspend PM / Domains: Do not restore all devices on power off error PM / Domains: Allow callbacks to execute all runtime PM helpers PM / Domains: Do not execute device callbacks under locks PM / Domains: Make failing pm_genpd_prepare() clean up properly PM / Domains: Set device state to "active" during system resume ARM: mach-shmobile: sh7372 A3RV requires A4LC PM / Domains: Export pm_genpd_poweron() in header ARM: mach-shmobile: sh7372 late pm domain off ARM: mach-shmobile: Runtime PM late init callback ARM: mach-shmobile: sh7372 D4 support ARM: mach-shmobile: sh7372 A4MP support ARM: mach-shmobile: sh7372: make sure that fsi is peripheral of spu2 ARM: mach-shmobile: sh7372 A3SG support ... commit f0c077a8b7f9dce590c760a7b2f3c417dffa52d1 Author: Akinobu Mita Date: Fri Jul 8 20:53:36 2011 +0200 PM: Improve error code of pm_notifier_call_chain() This enables pm_notifier_call_chain() to get the actual error code in the callback rather than always assume -EINVAL by converting all PM notifier calls to return encapsulate error code with notifier_from_errno(). Signed-off-by: Akinobu Mita Signed-off-by: Rafael J. Wysocki commit 1d8047a6f7973470bb1de4606a6e00c0bbee3cc6 Author: Rafael J. Wysocki Date: Mon Jun 27 01:01:16 2011 +0200 PM: Add "RTC" to PM trace time stamps to avoid confusion Some users are apparently confused by dmesg output from read_magic_time(), which looks like "real" time and date. Add the "RTC" string to time stamps printed by read_magic_time() to avoid that confusion. Reported-by: Justin P. Mattock Signed-off-by: Rafael J. Wysocki commit a5e4fd8783a2bec861ecf1138cdc042269ff59aa Author: Kevin Hilman Date: Mon Jun 27 01:01:07 2011 +0200 PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem Some platforms wish to implement their PM core suspend code as modules. To do so, these functions need to be exported to modules. [rjw: Replaced EXPORT_SYMBOL with EXPORT_SYMBOL_GPL] Reported-by: Jean Pihet Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit 3b5fe85252326217cd96f24a7bda4460d8f71bee Author: MyungJoo Ham Date: Sun Jun 12 15:57:05 2011 +0200 PM / Suspend: Add .suspend_again() callback to suspend_ops A system or a device may need to control suspend/wakeup events. It may want to wakeup the system after a predefined amount of time or at a predefined event decided while entering suspend for polling or delayed work. Then, it may want to enter suspend again if its predefined wakeup condition is the only wakeup reason and there is no outstanding events; thus, it does not wakeup the userspace unnecessary or unnecessary devices and keeps suspended as long as possible (saving the power). Enabling a system to wakeup after a specified time can be easily achieved by using RTC. However, to enter suspend again immediately without invoking userland and unrelated devices, we need additional features in the suspend framework. Such need comes from: 1. Monitoring a critical device status without interrupts that can wakeup the system. (in-suspend polling) An example is ambient temperature monitoring that needs to shut down the system or a specific device function if it is too hot or cold. The temperature of a specific device may be needed to be monitored as well; e.g., a charger monitors battery temperature in order to stop charging if overheated. 2. Execute critical "delayed work" at suspend. A driver or a system/board may have a delayed work (or any similar things) that it wants to execute at the requested time. For example, some chargers want to check the battery voltage some time (e.g., 30 seconds) after the battery is fully charged and the charger has stopped. Then, the charger restarts charging if the voltage has dropped more than a threshold, which is smaller than "restart-charger" voltage, which is a threshold to restart charging regardless of the time passed. This patch allows to add "suspend_again" callback at struct platform_suspend_ops and let the "suspend_again" callback return true if the system is required to enter suspend again after the current instance of wakeup. Device-wise suspend_again implemented at dev_pm_ops or syscore is not done because: a) suspend_again feature is usually under platform-wise decision and controls the behavior of the whole platform and b) There are very limited devices related to the usage cases of suspend_again; chargers and temperature sensors are mentioned so far. With suspend_again callback registered at struct platform_suspend_ops suspend_ops in kernel/power/suspend.c with suspend_set_ops by the platform, the suspend framework tries to enter suspend again by looping suspend_enter() if suspend_again has returned true and there has been no errors in the suspending sequence or pending wakeups (by pm_wakeup_pending). Tested at Exynos4-NURI. [rjw: Fixed up kerneldoc comment for suspend_enter().] Signed-off-by: MyungJoo Ham Signed-off-by: Kyungmin Park Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 99f381d3549432a250fe846a2a82d61a032804b0 Author: Nishanth Menon Date: Fri Jun 10 20:24:57 2011 +0200 PM / OPP: Introduce function to free cpufreq table cpufreq table allocated by opp_init_cpufreq_table is better freed by OPP layer itself. This allows future modifications to the table handling to be transparent to the users. Signed-off-by: Nishanth Menon Acked-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit cdb73db0b6bf7a1bcf5c788f0c8f803facb6e517 Author: Goldwyn Rodrigues Date: Thu Jul 7 17:20:40 2011 +0000 IB/mthca: Stop returning separate error and status from FW commands Instead of having firmware command functions return an error and also a status, leading to code like: err = mthca_FW_COMMAND(..., &status); if (err) goto out; if (status) { err = -E...; goto out; } all over the place, just handle the FW status inside the FW command handling code (the way mlx4 does it), so we can simply write: err = mthca_FW_COMMAND(...); if (err) goto out; In addition to simplifying the source code, this also saves a healthy chunk of text: add/remove: 0/0 grow/shrink: 10/88 up/down: 510/-3357 (-2847) function old new delta static.trans_table 324 584 +260 mthca_cmd_poll 352 477 +125 mthca_cmd_wait 511 567 +56 mthca_table_put 213 240 +27 mthca_cleanup_db_tab 372 387 +15 __mthca_remove_one 314 323 +9 mthca_cleanup_user_db_tab 275 283 +8 __mthca_init_one 1738 1746 +8 mthca_cleanup 20 21 +1 mthca_MAD_IFC 1081 1082 +1 mthca_MGID_HASH 43 40 -3 mthca_MAP_ICM_AUX 23 20 -3 mthca_MAP_ICM 19 16 -3 mthca_MAP_FA 23 20 -3 mthca_READ_MGM 43 38 -5 mthca_QUERY_SRQ 43 38 -5 mthca_QUERY_QP 59 54 -5 mthca_HW2SW_SRQ 43 38 -5 mthca_HW2SW_MPT 60 55 -5 mthca_HW2SW_EQ 43 38 -5 mthca_HW2SW_CQ 43 38 -5 mthca_free_icm_table 120 114 -6 mthca_query_srq 214 206 -8 mthca_free_qp 662 654 -8 mthca_cmd 38 28 -10 mthca_alloc_db 1321 1311 -10 mthca_setup_hca 1067 1055 -12 mthca_WRITE_MTT 35 22 -13 mthca_WRITE_MGM 40 27 -13 mthca_UNMAP_ICM_AUX 36 23 -13 mthca_UNMAP_FA 36 23 -13 mthca_SYS_DIS 36 23 -13 mthca_SYNC_TPT 36 23 -13 mthca_SW2HW_SRQ 35 22 -13 mthca_SW2HW_MPT 35 22 -13 mthca_SW2HW_EQ 35 22 -13 mthca_SW2HW_CQ 35 22 -13 mthca_RUN_FW 36 23 -13 mthca_DISABLE_LAM 36 23 -13 mthca_CLOSE_IB 36 23 -13 mthca_CLOSE_HCA 38 25 -13 mthca_ARM_SRQ 39 26 -13 mthca_free_icms 178 164 -14 mthca_QUERY_DDR 389 375 -14 mthca_resize_cq 1063 1048 -15 mthca_unmap_eq_icm 123 107 -16 mthca_map_eq_icm 396 380 -16 mthca_cmd_box 90 74 -16 mthca_SET_IB 433 417 -16 mthca_RESIZE_CQ 369 353 -16 mthca_MAP_ICM_page 240 224 -16 mthca_MAP_EQ 183 167 -16 mthca_INIT_IB 473 457 -16 mthca_INIT_HCA 745 729 -16 mthca_map_user_db 816 798 -18 mthca_SYS_EN 157 139 -18 mthca_cleanup_qp_table 78 59 -19 mthca_cleanup_eq_table 168 149 -19 mthca_UNMAP_ICM 143 121 -22 mthca_modify_srq 172 149 -23 mthca_unmap_fmr 198 174 -24 mthca_query_qp 814 790 -24 mthca_query_pkey 343 319 -24 mthca_SET_ICM_SIZE 34 10 -24 mthca_QUERY_DEV_LIM 1870 1846 -24 mthca_map_cmd 1130 1105 -25 mthca_ENABLE_LAM 401 375 -26 mthca_modify_port 247 220 -27 mthca_query_device 884 850 -34 mthca_NOP 75 41 -34 mthca_table_get 287 249 -38 mthca_init_qp_table 333 293 -40 mthca_MODIFY_QP 348 308 -40 mthca_close_hca 131 89 -42 mthca_free_eq 435 390 -45 mthca_query_port 755 705 -50 mthca_free_cq 581 528 -53 mthca_alloc_icm_table 578 524 -54 mthca_multicast_attach 1041 986 -55 mthca_init_hca 326 271 -55 mthca_query_gid 487 431 -56 mthca_free_srq 524 468 -56 mthca_free_mr 168 111 -57 mthca_create_eq 1560 1501 -59 mthca_multicast_detach 790 728 -62 mthca_write_mtt 918 854 -64 mthca_register_device 1406 1342 -64 mthca_fmr_alloc 947 883 -64 mthca_mr_alloc 652 582 -70 mthca_process_mad 1242 1164 -78 mthca_dev_lim 910 830 -80 find_mgm 482 400 -82 mthca_modify_qp 3852 3753 -99 mthca_init_cq 1281 1181 -100 mthca_alloc_srq 1719 1610 -109 mthca_init_eq_table 1807 1679 -128 mthca_init_tavor 761 491 -270 mthca_init_arbel 2617 2098 -519 Signed-off-by: Goldwyn Rodrigues commit 14a8fd7ceea6915c613746203d6e9a2bf273f16c Author: Masami Hiramatsu Date: Mon Jun 27 16:27:51 2011 +0900 perf probe: Support adding probes on offline kernel modules Support adding probes on offline kernel modules. This enables perf-probe to trace kernel-module init functions via perf-probe. If user gives the path of module with -m option, perf-probe expects the module is offline. This feature works with --add, --funcs, and --vars. E.g) # perf probe -m /lib/modules/`uname -r`/kernel/fs/btrfs/btrfs.ko \ -a "extent_io_init:5 extent_state_cache" Add new events: probe:extent_io_init (on extent_io_init:5 with extent_state_cache) probe:extent_io_init_1 (on extent_io_init:5 with extent_state_cache) You can now use it on all perf tools, such as: perf record -e probe:extent_io_init_1 -aR sleep 1 Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072751.6528.10230.stgit@fedora15 Signed-off-by: Steven Rostedt commit 190b57fcb9c5fed5414935a174094f534fc510bc Author: Masami Hiramatsu Date: Mon Jun 27 16:27:45 2011 +0900 perf probe: Add probed module in front of function Add probed module name and ":" in front of function name if -m module option is given. In the result, the symbol name passed to kprobe-tracer becomes MODULE:FUNCTION, so that kallsyms can solve it as a symbol in the module correctly. Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072745.6528.26416.stgit@fedora15 Signed-off-by: Steven Rostedt commit ff741783506c340035659a71be68ddb4068760d1 Author: Masami Hiramatsu Date: Mon Jun 27 16:27:39 2011 +0900 perf probe: Introduce debuginfo to encapsulate dwarf information Introduce debuginfo to encapsulate dwarf information. This new object allows us to reuse and expand debuginfo easily. Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072739.6528.12438.stgit@fedora15 Signed-off-by: Steven Rostedt commit e0d153c69040bb37cbdf09deb52fee3013c07742 Author: Masami Hiramatsu Date: Mon Jun 27 16:27:27 2011 +0900 perf-probe: Move dwarf library routines to dwarf-aux.{c, h} Move dwarf library related routines to dwarf-aux.{c,h}. This includes several minor changes. - Add simple documents for each API. - Rename die_find_real_subprogram() to die_find_realfunc() - Rename line_walk_handler_t to line_walk_callback_t. - Minor cleanups. Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072727.6528.57647.stgit@fedora15 Signed-off-by: Steven Rostedt commit bcfc082150c6b1e9443c1277bca8be80094150b5 Author: Masami Hiramatsu Date: Mon Jun 27 16:27:21 2011 +0900 perf probe: Remove redundant dwarf functions Since there are dwarf_bitsize, dwarf_bitoffset and dwarf_bytesize defined in libdw, we don't need die_get_bit_size, die_get_bit_offset and die_get_byte_size anymore. Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072721.6528.2747.stgit@fedora15 Signed-off-by: Steven Rostedt commit bad03ae476214d9d66bb96be02b630385936f788 Author: Masami Hiramatsu Date: Mon Jun 27 16:27:15 2011 +0900 perf probe: Move strtailcmp to string.c Since strtailcmp() is enough generic, it should be defined in string.c. Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072715.6528.10677.stgit@fedora15 Signed-off-by: Steven Rostedt commit baad2d3e69ba154dae340904a47ae12414f1894f Author: Masami Hiramatsu Date: Mon Jun 27 16:27:09 2011 +0900 perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END Since die_find/walk* callbacks use DIE_FIND_CB_FOUND for both of failed and found cases, it should be "END" instead "FOUND" for avoiding confusion. Signed-off-by: Masami Hiramatsu Reported-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Ingo Molnar Link: http://lkml.kernel.org/r/20110627072709.6528.45706.stgit@fedora15 Signed-off-by: Steven Rostedt commit 752ad5e82dfd83851e44a2b9da8761994cd7e61c Author: Peter Korsgaard Date: Fri Jul 15 10:25:32 2011 +0200 mcp23s08: add i2c support Add i2c bindings for the mcp230xx devices. This is quite a lot simpler than the spi one as there's no funky sub addressing done (one struct i2c_client per struct gpio_chip). The mcp23s08_platform_data structure is reused for i2c, even though only a single mcp23s08_chip_info structure is needed. To use, simply fill out a platform_data structure and pass it in i2c_board_info, E.G.: static const struct mcp23s08_platform_data mcp23017_data = { .chip[0] = { .pullups = 0x00ff, }, .base = 240, }; static struct i2c_board_info __initdata i2c_devs[] = { { I2C_BOARD_INFO("mcp23017", 0x20), .platform_data = &smartview_mcp23017_data, }, ... }; Signed-off-by: Peter Korsgaard Signed-off-by: Grant Likely commit d62b98f305a6b0d32fbdc72ac6ba3d4f4768adeb Author: Peter Korsgaard Date: Fri Jul 15 10:25:31 2011 +0200 mcp23s08: isolate spi specific parts Change spi member of struct mcp23s08 to be a ops-specific opaque data pointer, and move spi specific knowledge out of mcp23s08_probe_one(). No functional change, but is needed to add i2c support. Signed-off-by: Peter Korsgaard Signed-off-by: Grant Likely commit 1bb6f9b042eb1428ba927d2e851a00df6308877a Author: Peter Korsgaard Date: Fri Jul 15 10:25:30 2011 +0200 mcp23s08: get rid of setup/teardown callbacks There's no in-tree users, and bus notifiers are more generic anyway. Signed-off-by: Peter Korsgaard Signed-off-by: Grant Likely commit 7f6878a3d707b947603e09d95df0c3a98987e3a4 Author: Masami Hiramatsu Date: Mon Jun 27 16:27:03 2011 +0900 tracing/kprobe: Update symbol reference when loading module Since the address of a module-local variable can only be solved after the target module is loaded, the symbol fetch-argument should be updated when loading target module. Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072703.6528.75042.stgit@fedora15 Signed-off-by: Steven Rostedt commit 614243181050436785f5a621749a7da2336a7916 Author: Masami Hiramatsu Date: Mon Jun 27 16:26:56 2011 +0900 tracing/kprobes: Support module init function probing To support probing module init functions, kprobe-tracer allows user to define a probe on non-existed function when it is given with a module name. This also enables user to set a probe on a function on a specific module, even if a same name (but different) function is locally defined in another module. The module name must be in the front of function name and separated by a ':'. e.g. btrfs:btrfs_init_sysfs Signed-off-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/20110627072656.6528.89970.stgit@fedora15 Signed-off-by: Steven Rostedt commit bc81d48d13d8839fae6833c95794c403b2133f36 Author: Masami Hiramatsu Date: Mon Jun 27 16:26:50 2011 +0900 kprobes: Return -ENOENT if probe point doesn't exist Return -ENOENT if probe point doesn't exist, but still returns -EINVAL if both of kprobe->addr and kprobe->symbol_name are specified or both are not specified. Acked-by: Ananth N Mavinakayanahalli Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Arnaldo Carvalho de Melo Cc: Ingo Molnar Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Anil S Keshavamurthy Cc: "David S. Miller" Link: http://lkml.kernel.org/r/20110627072650.6528.67329.stgit@fedora15 Signed-off-by: Steven Rostedt commit 1538f888f1e793de04e0f90372352ac1b05833cf Author: Masami Hiramatsu Date: Mon Jun 27 16:26:44 2011 +0900 tracing/kprobes: Merge trace probe enable/disable functions Merge redundant enable/disable functions into enable_trace_probe() and disable_trace_probe(). Signed-off-by: Masami Hiramatsu Cc: Arnaldo Carvalho de Melo Cc: Ingo Molnar Cc: Peter Zijlstra Cc: yrl.pp-manager.tt@hitachi.com Cc: Frederic Weisbecker Cc: Ingo Molnar Link: http://lkml.kernel.org/r/20110627072644.6528.26910.stgit@fedora15 [ converted kprobe selftest to use enable_trace_probe ] Signed-off-by: Steven Rostedt commit eb5064db408eaffa332f93ddcc19c0b653849093 Author: Olof Johansson Date: Thu Jul 14 22:17:13 2011 -0700 gpio/tegra: dt: add binding for gpio polarity Allocate one bit in the available extra cell to indicate if the gpio should be considered logically inverted. Signed-off-by: Olof Johansson Acked-by: Stephen Warren Signed-off-by: Grant Likely commit 23e8e1aaacb10d9f05e44a93e10ea4ee5b3838a5 Author: David Teigland Date: Tue Apr 5 13:16:24 2011 -0500 dlm: use workqueue for callbacks Instead of creating our own kthread (dlm_astd) to deliver callbacks for all lockspaces, use a per-lockspace workqueue to deliver the callbacks. This eliminates complications and slowdowns from many lockspaces sharing the same thread. Signed-off-by: David Teigland commit 25009a1ae1171eda6bff44b7e44eb0e076713811 Merge: 6864ddb 95a943c Author: David S. Miller Date: Fri Jul 15 08:51:13 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6864ddb2d3089739d29418a1ff52adb2fbf9c0ca Author: françois romieu Date: Fri Jul 15 00:21:44 2011 +0000 8139cp: convert to new VLAN model. The registers and descriptors bits are identical to the pre-8168 8169 chipsets : {RxDesc / TxDesc}.opts2 can only contain VLAN information. Signed-off-by: Francois Romieu Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit f0c50c7c9a4b0e92a9189c498e4960919fe66d45 Author: Krishna Kumar Date: Thu Jul 14 23:16:21 2011 +0000 Remove redundant variable/code in __qdisc_run Remove redundant variable "work". Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 2af4ba85913bb1755a06193109917c3ddc130265 Author: Oliver Hartkopp Date: Thu Jul 14 21:49:19 2011 +0000 slcan: remove obsolete code in slcan initialisation This patch removes obsolete code in the initialisation/creation of slcan devices. It follows the suggested cleanups from Ilya Matvejchikov in drivers/net/slip.c that where recently applied to net-next-2.6: - slip: remove dead code within the slip initialization - slip: remove redundant check slip_devs for NULL Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 8279171a5fe95902be12f4018907f246d51616d4 Author: Shyam Iyer Date: Thu Jul 14 15:00:32 2011 +0000 Separate handling of irq type flags variable from the irq_flags request_irq variable Commit 5f77898de17ff983ff0e2988b73a6bdf4b6f9f8b does not completely fix the problem of handling allocations with irqs disabled.. The below patch on top of it fixes the problem completely. Based on review by "Ivan Vecera" .. " Small note, the root of the problem was that non-atomic allocation was requested with IRQs disabled. Your patch description does not contain wwhy were the IRQs disabled. The function bnad_mbox_irq_alloc incorrectly uses 'flags' var for two different things, 1) to save current CPU flags and 2) for request_irq call. First the spin_lock_irqsave disables the IRQs and saves _all_ CPU flags (including one that enables/disables interrupts) to 'flags'. Then the 'flags' is overwritten by 0 or 0x80 (IRQF_SHARED). Finally the spin_unlock_irqrestore should restore saved flags, but these flags are now either 0x00 or 0x80. The interrupt bit value in flags register on x86 arch is 0x100. This means that the interrupt bit is zero (IRQs disabled) after spin_unlock_irqrestore so the request_irq function is called with disabled interrupts. " Signed-off-by: Shyam Iyer Signed-off-by: David S. Miller commit 95a943c162d74b20d869917bdf5df11293c35b63 Merge: ecae42d 95acac6 Author: John W. Linville Date: Fri Jul 15 10:05:24 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: net/bluetooth/l2cap_core.c commit 46fcb2ed29ff7a9ec34c4ae67b631743eb7e756f Author: Eric Sandeen Date: Thu Jun 23 10:39:34 2011 -0500 GFS2: combine duplicated block freeing routines __gfs2_free_data and __gfs2_free_meta are almost identical, and can be trivially combined. [This is as per Eric's original patch minus gfs2_free_data() which had no callers left and plus the conversion of the bmap.c calls to these functions. All in all, a nice clean up] Signed-off-by: Eric Sandeen Signed-off-by: Steven Whitehouse commit 9964afbb797329e4c6e5d05ebc199c39af618c5f Author: Steven Whitehouse Date: Thu Jun 16 14:06:55 2011 +0100 GFS2: Add S_NOSEC support This adds S_NOSEC support to GFS2. We set/reset the flag either when a user calls setattr or when we have just regained the glock from another node. The flag is only set if there are no xattrs on the inode and there is no suid bit set. Signed-off-by: Steven Whitehouse Reviewed-by: Andi Kleen Cc: Al Viro commit 7cf8dcd3b68a760d66fbc7f0d75d3fbb8f21775d Author: Bob Peterson Date: Wed Jun 15 11:41:48 2011 -0400 GFS2: Automatically adjust glock min hold time This patch is a performance improvement for GFS2 in a clustered environment. It makes the glock hold time self-adjusting. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 17d539f0499fa2c0321b7c260831cca2bb36d119 Author: Steven Whitehouse Date: Wed Jun 15 10:29:37 2011 +0100 GFS2: Cache dir hash table in a contiguous buffer This patch adds a cache for the hash table to the directory code in order to help simplify the way in which the hash table is accessed. This is intended to be a first step towards introducing some performance improvements in the directory code. There are two follow ups that I'm hoping to see fairly shortly. One is to simplify the hash table reading code now that we always read the complete hash table, whether we want one entry or all of them. The other is to introduce readahead on the heads of the hash chains which are referred to from the table. The hash table is a maximum of 128k in size, so it is not worth trying to read it in small chunks. Signed-off-by: Steven Whitehouse commit 73d382deccac186d103496bf10388bc2432a8384 Author: Oleg Nesterov Date: Sun Jul 10 18:44:24 2011 +0200 x86: Kill handle_signal()->set_fs() handle_signal()->set_fs() has a nice comment which explains what set_fs() is, but it doesn't explain why it is needed and why it depends on CONFIG_X86_64. Afaics, the history of this confusion is: 1. I guess today nobody can explain why it was needed in arch/i386/kernel/signal.c, perhaps it was always wrong. This predates 2.4.0 kernel. 2. then it was copy-and-past'ed to the new x86_64 arch. 3. then it was removed from i386 (but not from x86_64) by b93b6ca3 "i386: remove unnecessary code". 4. then it was reintroduced under CONFIG_X86_64 when x86 unified i386 and x86_64, because the patch above didn't touch x86_64. Remove it. ->addr_limit should be correct. Even if it was possible that it is wrong, it is too late to fix it after setup_rt_frame(). Linus commented in: http://lkml.kernel.org/r/alpine.LFD.0.999.0707170902570.19166@woody.linux-foundation.org ... about the equivalent bit from i386: Heh. I think it's entirely historical. Please realize that the whole reason that function is called "set_fs()" is that it literally used to set the %fs segment register, not "->addr_limit". So I think the "set_fs(USER_DS)" is there _only_ to match the other regs->xds = __USER_DS; regs->xes = __USER_DS; regs->xss = __USER_DS; regs->xcs = __USER_CS; things, and never mattered. And now it matters even less, and has been copied to all other architectures where it is just totally insane. Signed-off-by: Oleg Nesterov Link: http://lkml.kernel.org/r/20110710164424.GA20261@redhat.com Signed-off-by: H. Peter Anvin commit 9b429620740945363b746414e8b9a84b8119914c Author: Oleg Nesterov Date: Sun Jul 10 20:22:03 2011 +0200 x86, do_signal: Simplify the TS_RESTORE_SIGMASK logic 1. do_signal() looks at TS_RESTORE_SIGMASK and calculates the mask which should be stored in the signal frame, then it passes "oldset" to the callees, down to setup_rt_frame(). This is ugly, setup_rt_frame() can do this itself and nobody else needs this sigset_t. Move this code into setup_rt_frame. 2. do_signal() also clears TS_RESTORE_SIGMASK if handle_signal() succeeds. We can move this to setup_rt_frame() as well, this avoids the unnecessary checks and makes the logic more clear. 3. use set_current_blocked() instead of sigprocmask(SIG_SETMASK), sigprocmask() should be avoided. Signed-off-by: Oleg Nesterov Link: http://lkml.kernel.org/r/20110710182203.GA27979@redhat.com Signed-off-by: H. Peter Anvin commit 3982294b0342474ff91472b34c6afb701785f524 Author: Oleg Nesterov Date: Sun Jul 10 21:27:27 2011 +0200 x86, signals: Convert the X86_32 code to use set_current_blocked() sys_sigsuspend() and sys_sigreturn() change ->blocked directly. This is not correct, see the changelog in e6fa16ab "signal: sigprocmask() should do retarget_shared_pending()" Change them to use set_current_blocked(). Signed-off-by: Oleg Nesterov Link: http://lkml.kernel.org/r/20110710192727.GA31759@redhat.com Signed-off-by: H. Peter Anvin commit 905f29e2aa004560907199cc96248fa11bafea8a Author: Oleg Nesterov Date: Sun Jul 10 21:27:24 2011 +0200 x86, signals: Convert the IA32_EMULATION code to use set_current_blocked() sys32_sigsuspend() and sys32_*sigreturn() change ->blocked directly. This is not correct, see the changelog in e6fa16ab "signal: sigprocmask() should do retarget_shared_pending()" Change them to use set_current_blocked(). Signed-off-by: Oleg Nesterov Link: http://lkml.kernel.org/r/20110710192724.GA31755@redhat.com Signed-off-by: H. Peter Anvin commit f7bc8b61f65726ff98f52e286b28e294499d7a08 Author: Steven Rostedt Date: Thu Jul 14 23:02:27 2011 -0400 ftrace: Fix regression where ftrace breaks when modules are loaded Enabling function tracer to trace all functions, then load a module and then disable function tracing will cause ftrace to fail. This can also happen by enabling function tracing on the command line: ftrace=function and during boot up, modules are loaded, then you disable function tracing with 'echo nop > current_tracer' you will trigger a bug in ftrace that will shut itself down. The reason is, the new ftrace code keeps ref counts of all ftrace_ops that are registered for tracing. When one or more ftrace_ops are registered, all the records that represent the functions that the ftrace_ops will trace have a ref count incremented. If this ref count is not zero, when the code modification runs, that function will be enabled for tracing. If the ref count is zero, that function will be disabled from tracing. To make sure the accounting was working, FTRACE_WARN_ON()s were added to updating of the ref counts. If the ref count hits its max (> 2^30 ftrace_ops added), or if the ref count goes below zero, a FTRACE_WARN_ON() is triggered which disables all modification of code. Since it is common for ftrace_ops to trace all functions in the kernel, instead of creating > 20,000 hash items for the ftrace_ops, the hash count is just set to zero, and it represents that the ftrace_ops is to trace all functions. This is where the issues arrise. If you enable function tracing to trace all functions, and then add a module, the modules function records do not get the ref count updated. When the function tracer is disabled, all function records ref counts are subtracted. Since the modules never had their ref counts incremented, they go below zero and the FTRACE_WARN_ON() is triggered. The solution to this is rather simple. When modules are loaded, and their functions are added to the the ftrace pool, look to see if any ftrace_ops are registered that trace all functions. And for those, update the ref count for the module function records. Reported-by: Thomas Gleixner Signed-off-by: Steven Rostedt commit 8ff37c38a26dbdba16f07d48c13bf5f212a98c89 Author: Peter Korsgaard Date: Thu Jul 14 21:59:26 2011 +0200 mcp23s08: remove unused work queue Never accessed anywhere. Signed-off-by: Peter Korsgaard Signed-off-by: Grant Likely commit 98eedc3a9dbf90cecb91093d2a7fa083942b7d13 Author: Andy Lutomirski Date: Wed Jul 13 09:24:16 2011 -0400 Document the vDSO and add a reference parser It turns out that parsing the vDSO is nontrivial if you don't already have an ELF dynamic loader around. So document it in Documentation/ABI and add a reference CC0-licenced parser. This code is dedicated to Go issue 1933: http://code.google.com/p/go/issues/detail?id=1933 Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/a315a9514cd71bcf29436cc31e35aada21a5ff21.1310563276.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit 574c44fa8fa6262ffd5939789ef51a6e98ed62d7 Author: Andy Lutomirski Date: Wed Jul 13 09:24:15 2011 -0400 ia64: Replace clocksource.fsys_mmio with generic arch data Now that clocksource.archdata is available, use it for ia64-specific code. Cc: Clemens Ladisch Cc: linux-ia64@vger.kernel.org Cc: Tony Luck Cc: Fenghua Yu Cc: John Stultz Cc: Thomas Gleixner Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/d31de0ee0842a0e322fb6441571c2b0adb323fa2.1310563276.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit 98d0ac38ca7b1b7a552c9a2359174ff84decb600 Author: Andy Lutomirski Date: Thu Jul 14 06:47:22 2011 -0400 x86-64: Move vread_tsc and vread_hpet into the vDSO The vsyscall page now consists entirely of trap instructions. Cc: John Stultz Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/637648f303f2ef93af93bae25186e9a1bea093f5.1310639973.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit ecae42d37045ec71831d0e0e493e00b0e0732edd Author: Geoff Levand Date: Thu Jul 14 16:03:29 2011 -0700 net/ps3: Fix gelic RX DMA restart Fix the condition where PS3 network RX hangs when no network TX is occurring by calling gelic_card_enable_rxdmac() during RX_DMA_CHAIN_END event processing. The gelic hardware automatically clears its RX_DMA_EN flag when it detects an RX_DMA_CHAIN_END event. In its processing of RX_DMA_CHAIN_END the gelic driver is required to set RX_DMA_EN (with a call to gelic_card_enable_rxdmac()) to restart RX DMA transfers. The existing gelic driver code does not set RX_DMA_EN directly in its processing of the RX_DMA_CHAIN_END event, but uses a flag variable card->rx_dma_restart_required to schedule the setting of RX_DMA_EN until next inside the interrupt handler. It seems this delayed setting of RX_DMA_EN causes the hang since the next RX interrupt after the RX_DMA_CHAIN_END event where RX_DMA_EN is scheduled to be set will not occur since RX_DMA_EN was not set. In the case were network TX is occuring, RX_DMA_EN is set in the next TX interrupt and RX processing continues. Signed-off-by: Geoff Levand Signed-off-by: David S. Miller commit 6383c0b35b48bfbd0fc8c6fe126a6603c5a9a4b3 Author: Ariel Elior Date: Thu Jul 14 08:31:57 2011 +0000 bnx2x: Multiple concurrent l2 traffic classes Overview: Support mapping of priorities to traffic classes and traffic classes to transmission queues ranges in the net device. The queue ranges are (count, offset) pairs relating to the txq array. This can be done via DCBX negotiation or by kernel. As a result Enhanced Transmission Selection (ETS) and Priority Flow Control (PFC) are supported between L2 network traffic classes. Mapping: This patch uses the netdev_set_num_tc, netdev_set_prio_tc_map and netdev_set_tc_queue functions to map priorities to traffic classes and traffic classes to transmission queue ranges. This mapping is performed by bnx2x_setup_tc function which is connected to the ndo_setup_tc. This function is always called at nic load where by default it maps all priorities to tc 0, and it may also be called by the kernel or by the bnx2x upon DCBX negotiation to modify the mapping. rtnl lock: When the ndo_setup_tc is called at nic load or by kernel the rtnl lock is already taken. However, when DCBX negotiation takes place the lock is not taken. The work is therefore scheduled to be handled by the sp_rtnl task. Fastpath: The fastpath structure of the bnx2x which was previously used to hold the information of one tx queue and one rx queue was redesigned to represent multiple tx queues, one for each traffic class. The transmission queue supplied in the skb by the kernel can no longer be interpreted as a straightforward index into the fastpath structure array, but it must rather be decoded to the appropriate fastpath index and the tc within that fastpath. Slowpath: The bnx2x's queue object was redesigned to accommodate multiple transmission queues. The queue object's state machine was enhanced to allow opening multiple transmission-only connections on top of the regular tx-rx connection. Firmware: This feature relies on the tx-only queue feature introduced in the bnx2x 7.0.23 firmware and the FW likewise must have the bnx2x multi cos support. Signed-off-by: Ariel Elior Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7be08a7222c345798b0697a89ea3dd2c7c83f47c Author: Ariel Elior Date: Thu Jul 14 08:31:19 2011 +0000 bnx2x: Renaming the "reset_task" to "sp_rtnl_task" Renaming the "reset_task" to a more general purpose name, "sp_rtnl_task", as it is already used for another purpose other than reset which is parity recovery, and since I plan to add a third operation for this task, updating the priority to traffic class and traffic class to transmission queues mappings after dcbx negotiation takes place. Signed-off-by: Ariel Elior Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 39770653ca4423562e88726a629886c41139610b Merge: e20e694 e542a22 Author: David S. Miller Date: Thu Jul 14 15:59:38 2011 -0700 Merge branch 'davem-next.r8169' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 commit 4bb82178f5cb074783aaeaa06f9f840c67af7707 Author: H. Peter Anvin Date: Thu Jul 14 14:58:44 2011 -0700 x86, msr: Fix typo in ENERGY_PERF_BIAS_POWERSAVE Fix a trivial typo in the name of the constant ENERGY_PERF_BIAS_POWERSAVE. This didn't cause trouble because this constant is not currently used for anything. Signed-off-by: H. Peter Anvin Cc: Len Brown Link: http://lkml.kernel.org/r/tip-abe48b108247e9b90b4c6739662a2e5c765ed114@git.kernel.org commit e20e6940736fb7b4dd024933f7456b9da4c44118 Author: Michał Mirosław Date: Thu Jul 14 14:45:59 2011 -0700 net: remove SK_ROUTE_CAPS from meta ematch Remove it, as it indirectly exposes netdev features. It's not used in iproute2 (2.6.38) - is anything else using its interface? Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 974151e6119f20d2af4acb97526c780ae0f18ccb Author: Michał Mirosław Date: Thu Jul 14 14:45:15 2011 -0700 net: remove /sys/class/net/*/features The same information and more can be obtained by using ethtool with ETHTOOL_GFEATURES. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 7143f168e2aa4bc7f8a8bcfe46d8dc52f7be869a Author: Masami Hiramatsu Date: Mon Jun 27 16:26:36 2011 +0900 tracing/kprobes: Rename probe_* to trace_probe_* Rename probe_* to trace_probe_* for avoiding namespace confliction. This also fixes improper names of find_probe_event() and cleanup_all_probes() to find_trace_probe() and release_all_trace_probes() respectively. Signed-off-by: Masami Hiramatsu Cc: Arnaldo Carvalho de Melo Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Frederic Weisbecker Link: http://lkml.kernel.org/r/20110627072636.6528.60374.stgit@fedora15 Signed-off-by: Steven Rostedt commit fec30c33819b442fd618b10f405248ee7cbb51d8 Author: Michał Mirosław Date: Wed Jul 13 14:10:30 2011 +0000 net: unexport netdev_fix_features() It is not used anywhere except net/core/dev.c now. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 1180e7d6599c1fb0c56a23a649a3eb37d877b9d0 Author: Michał Mirosław Date: Thu Jul 14 14:41:11 2011 -0700 net: cleanup vlan_features setting in register_netdev vlan_features contains features inherited from underlying device. NETIF_SOFT_FEATURES are not inherited but belong to the vlan device itself (ensured in vlan_dev_fix_features()). Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 6c9c1b5456e3ba0b4a1a43866600e84bbba0db12 Author: Michał Mirosław Date: Thu Jul 14 14:39:29 2011 -0700 net: vlan: remove reduntant check in ndo_fix_features callback Use the fact that ORing with zero is a no-op. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 512e4002ab9ac54a2d8f7f198a9cd503dcc3c161 Author: Michał Mirosław Date: Thu Jul 14 14:38:17 2011 -0700 net: m68k/nfeth: Remove wrong usage of dev->flags Remove wrong setting of dev->flags. NETIF_F_NO_CSUM maps to IFF_DEBUG there, so looks like a mistake. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit f91298709790b9a483752ca3c967845537df2af3 Author: Cyrill Gorcunov Date: Sat Jul 9 00:17:12 2011 +0400 perf, x86: P4 PMU - Introduce event alias feature Instead of hw_nmi_watchdog_set_attr() weak function and appropriate x86_pmu::hw_watchdog_set_attr() call we introduce even alias mechanism which allow us to drop this routines completely and isolate quirks of Netburst architecture inside P4 PMU code only. The main idea remains the same though -- to allow nmi-watchdog and perf top run simultaneously. Note the aliasing mechanism applies to generic PERF_COUNT_HW_CPU_CYCLES event only because arbitrary event (say passed as RAW initially) might have some additional bits set inside ESCR register changing the behaviour of event and we can't guarantee anymore that alias event will give the same result. P.S. Thanks a huge to Don and Steven for for testing and early review. Acked-by: Don Zickus Tested-by: Steven Rostedt Signed-off-by: Cyrill Gorcunov CC: Ingo Molnar CC: Peter Zijlstra CC: Stephane Eranian CC: Lin Ming CC: Arnaldo Carvalho de Melo CC: Frederic Weisbecker Link: http://lkml.kernel.org/r/20110708201712.GS23657@sun Signed-off-by: Steven Rostedt commit e542a2269f232d61270ceddd42b73a4348dee2bb Author: Hayes Wang Date: Wed Jul 6 15:58:04 2011 +0800 r8169: adjust the RxConfig settings. Set the init value before reset in probe function. And then just modify the relative bits and keep the init settings. For 8110S, 8110SB, and 8110SC series, the initial value of RxConfig needs to be set after the tx/rx is enabled. Signed-off-by: Hayes Wang Acked-by: Francois Romieu commit aaa89c08d9ffa3739c93d65d98b73ec2aa2e93a5 Author: Hayes Wang Date: Wed Jul 6 15:58:08 2011 +0800 r8169: don't enable rx when shutdown. Only 8111b needs to enable rx when shutdowning with WoL. Signed-off-by: Hayes Wang Acked-by: Francois Romieu commit d4ed95d796e5126bba51466dc07e287cebc8bd19 Author: Hayes Wang Date: Wed Jul 6 15:58:07 2011 +0800 r8169: fix wake on lan setting for non-8111E. Only 8111E needs enable RxConfig bit 0 ~ 3 when suspending or shutdowning for wake on lan. Signed-off-by: Hayes Wang Acked-by: Francois Romieu commit 70090424e59652c4b2e777b533cc23134b176b83 Author: Hayes Wang Date: Wed Jul 6 15:58:06 2011 +0800 r8169: support RTL8111E-VL. Signed-off-by: Hayes Wang Acked-by: Francois Romieu commit 133ac40ac26a6cba957ad5765892f0531ba6ccee Author: Hayes Wang Date: Wed Jul 6 15:58:05 2011 +0800 r8169: add ERI functions. Add the ERI functions which would be used by the new chips. Signed-off-by: Hayes Wang Acked-by: Francois Romieu commit 92fc43b4159b518f5baae57301f26d770b0834c9 Author: Hayes Wang Date: Wed Jul 6 15:58:03 2011 +0800 r8169: modify the flow of the hw reset. - Disable tx and rx by resetting hw, so replace rtl8169_asic_down with rtl8169_hw_reset. - RxConfig bits 0 ~ 5 have to be cleared before hw reset to avoid receiving spurious data. - Certain chips need to do some checking before reset. - Remove hw reset which is done before hw_start. It is done in close, down or device probe functions. - Move rtl8169_init_ring_indexes function into rtl_hw_reset function. The indexes of tx and rx only need to be zero when the hw resets. Signed-off-by: Hayes Wang Acked-by: Francois Romieu commit 4f6b00e5f139d7be3ca8371b769778f94fa549dd Author: Hayes Wang Date: Wed Jul 6 15:58:02 2011 +0800 r8169: adjust some registers. Define new registers and modify some existing ones. Signed-off-by: Hayes Wang Acked-by: Francois Romieu commit 4a9bd3f134decd6d16ead8d288342d57aad486be Author: Steven Rostedt Date: Thu Jul 14 16:36:53 2011 -0400 tracing: Have dynamic size event stack traces Currently the stack trace per event in ftace is only 8 frames. This can be quite limiting and sometimes useless. Especially when the "ignore frames" is wrong and we also use up stack frames for the event processing itself. Change this to be dynamic by adding a percpu buffer that we can write a large stack frame into and then copy into the ring buffer. For interrupts and NMIs that come in while another event is being process, will only get to use the 8 frame stack. That should be enough as the task that it interrupted will have the full stack frame anyway. Requested-by: Thomas Gleixner Signed-off-by: Steven Rostedt commit 259032bfe379281bf7cba512b7705bdb4ce41db5 Author: Sonny Rao Date: Thu Jul 14 13:34:43 2011 +1000 perf: Robustify proc and debugfs file recording While attempting to create a timechart of boot up I found perf didn't tolerate modules being loaded/unloaded. This patch fixes this by reading the file once and then writing the size read at the correct point in the file. It also simplifies the code somewhat. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Signed-off-by: Sonny Rao Signed-off-by: Michael Neuling Link: http://lkml.kernel.org/r/10011.1310614483@neuling.org Signed-off-by: Steven Rostedt commit 22a85e4cd51b49ec99703ddfdff8686d5442a093 Author: Shawn Guo Date: Sun Jul 10 01:16:41 2011 +0800 spi/imx: add device tree probe support It adds device tree probe support for spi-imx driver. Signed-off-by: Shawn Guo Cc: Grant Likely Signed-off-by: Grant Likely commit c2387cb9e55f9c85ed33a5bf086f348312158133 Author: Shawn Guo Date: Sun Jul 10 01:16:40 2011 +0800 spi/imx: copy gpio number passed by platform data into driver private data It copies gpio number passed via platform data embedded pointer into driver private data, so that we do not need to refer to this embedded pointer passed by platform data after probe function exits. Signed-off-by: Shawn Guo Cc: Uwe Kleine-König Cc: Sascha Hauer Cc: Grant Likely Signed-off-by: Grant Likely commit 04ee585495a6d474d1ff9a821b52abf7db99cad3 Author: Shawn Guo Date: Sun Jul 10 01:16:39 2011 +0800 spi/imx: use soc name in spi device type naming scheme Software defined version number is not stable enough to be used in device type naming scheme. The patch changes it to use implicit soc name for spi device type definition. In this way, we can easily align the naming scheme with device tree binding, which comes later. It removes fifosize from spi_imx_data and adds devtype there, so that fifosize can be set in an inline function according to devtype. Also, cpu_is_mx can be replaced by inline functions checking devtype. Signed-off-by: Shawn Guo Cc: Uwe Kleine-König Cc: Sascha Hauer Cc: Grant Likely Signed-off-by: Grant Likely commit 2a64a90a2c64420e880b25dfeec6524ea78926fb Author: Shawn Guo Date: Sun Jul 10 01:16:38 2011 +0800 spi/imx: merge type SPI_IMX_VER_0_7 into SPI_IMX_VER_0_4 The only difference between SPI_IMX_VER_0_7 and SPI_IMX_VER_0_4 is .config function. The patch uses cpu_is_mx35 (to be removed) as the temporary solution to consolidate functions spi_imx0_4_config and spi_imx0_7_config into mx31_config. As a result, type SPI_IMX_VER_0_7 can be merged into SPI_IMX_VER_0_4. It also renames function spi_imx0_4_reset to mx31_reset to keep consistency with other function naming. A couple of redundant macros, MX3_CSPISTAT and MX3_CSPISTAT_RR, together with the useless type SPI_IMX_VER_0_5 also get cleaned up. Signed-off-by: Shawn Guo Cc: Uwe Kleine-König Cc: Sascha Hauer Cc: Grant Likely Signed-off-by: Grant Likely commit 66de757c589bedc13f503fb23df67bc86803f371 Author: Shawn Guo Date: Sun Jul 10 01:16:37 2011 +0800 spi/imx: do not use spi_imx2_3 to name SPI_IMX_VER_2_3 function and macro It's confusing to use spi_imx2_3 to name SPI_IMX_VER_2_3 function and macro, as it easily make people think of imx2 and imx3. It's better to use specific soc name just like what other SPI_IMX_VER do. For SPI_IMX_VER_2_3 case, it will be mx51. To distinguish it from CSPI on mx51, mx51_ecspi might be a good choice. Signed-off-by: Shawn Guo Cc: Uwe Kleine-König Cc: Sascha Hauer Cc: Grant Likely Signed-off-by: Grant Likely commit 3451fb15635d11c52a2ba4d3f1ae3a6b4c265070 Author: Shawn Guo Date: Sun Jul 10 01:16:36 2011 +0800 spi/imx: use mx21 to name SPI_IMX_VER_0_0 function and macro SPI_IMX_VER_0_0 covers i.mx21 and i.mx27. It makes more sense to use mx21 rather than mx27 to name SPI_IMX_VER_0_0 function and macro, since i.mx21 comes out ealier than i.mx27. Signed-off-by: Shawn Guo Cc: Uwe Kleine-König Cc: Sascha Hauer Cc: Grant Likely Signed-off-by: Grant Likely commit edd501bbf177ab62f963476c917cbdb0dc7dc862 Author: Shawn Guo Date: Sun Jul 10 01:16:35 2011 +0800 spi/imx: do not make copy of spi_imx_devtype_data spi_imx_devtype_data has already been driver private data. There is really no need to make a copy in spi_imx_data. Instead, a reference pointer works perfectly fine. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit abe48b108247e9b90b4c6739662a2e5c765ed114 Author: Len Brown Date: Thu Jul 14 00:53:24 2011 -0400 x86, intel, power: Initialize MSR_IA32_ENERGY_PERF_BIAS Since 2.6.36 (23016bf0d25), Linux prints the existence of "epb" in /proc/cpuinfo, Since 2.6.38 (d5532ee7b40), the x86_energy_perf_policy(8) utility has been available in-tree to update MSR_IA32_ENERGY_PERF_BIAS. However, the typical BIOS fails to initialize the MSR, presumably because this is handled by high-volume shrink-wrap operating systems... Linux distros, on the other hand, do not yet invoke x86_energy_perf_policy(8). As a result, WSM-EP, SNB, and later hardware from Intel will run in its default hardware power-on state (performance), which assumes that users care for performance at all costs and not for energy efficiency. While that is fine for performance benchmarks, the hardware's intended default operating point is "normal" mode... Initialize the MSR to the "normal" by default during kernel boot. x86_energy_perf_policy(8) is available to change the default after boot, should the user have a different preference. Signed-off-by: Len Brown Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1107140051020.18606@x980 Acked-by: Rafael J. Wysocki Signed-off-by: H. Peter Anvin Cc: commit 5ca80817e231723f1399bff495854ba2171103ca Author: Rafael J. Wysocki Date: Thu Jul 14 20:59:35 2011 +0200 ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active Since the A4LC should only be powered off if the A3RV is off, make the A4LC's power down routine return -EBUSY if A3RV is not off to indicate to the core that it doesn't want to power off the domain in that case. This will cause the core to regard A4LC as active, so the pm_genpd_poweron() in pd_power_down_a3rv() is not necessary any more. Signed-off-by: Rafael J. Wysocki Acked-by: Magnus Damm commit d28054020f97c7c9f15327a53945f0f40ffc5d7a Author: Rafael J. Wysocki Date: Thu Jul 14 20:59:20 2011 +0200 PM / Domains: Take .power_off() error code into account Currently pm_genpd_poweroff() discards error codes returned by the PM domain's .power_off() callback, because it's safer to always regard the domain as inaccessible to drivers after a failing .power_off(). Still, there are situations in which the low-level code may want to indicate that it doesn't want to power off the domain, so allow it to do that by returning -EBUSY from .power_off(). Signed-off-by: Rafael J. Wysocki Acked-by: Magnus Damm commit 0bc5b2debb832191a42baea7ff59d2ca6ce9f7d5 Author: Rafael J. Wysocki Date: Thu Jul 14 20:59:07 2011 +0200 ARM / shmobile: Use genpd_queue_power_off_work() Make pd_power_down_a3rv() use genpd_queue_power_off_work() to queue up the powering off of the A4LC domain to avoid queuing it up when it is pending. Signed-off-by: Rafael J. Wysocki Acked-by: Magnus Damm commit 883ba74f43092823d0ed4c6b21f0171e9b334607 Author: David Teigland Date: Thu Jul 14 12:31:49 2011 -0500 dlm: remove deadlock debug print gfs2 recently began using this feature heavily, creating more debug output than we want to see. Signed-off-by: David Teigland commit eff896ce0b4231a998d8b3aa81e846ffc4f6c0a4 Author: Andre Heider Date: Tue Jul 12 10:13:26 2011 +0000 ps3_gelic: Don't kill the device on DMA failure Reset card->tx_dma_progress when lv1_net_start_tx_dma() fails or it won't send anything afterwards anymore Signed-off-by: Andre Heider Acked-by: Geoff Levand Signed-off-by: David S. Miller commit bb4f85ce1731d78648870333f0ce77123fa162e6 Author: Andre Heider Date: Tue Jul 12 10:13:25 2011 +0000 ps3_gelic: Fix start_xmit kick error path Revert to a proper state when gelic_card_kick_txdma() fails: - Don't trigger BUG_ON when releasing the unsent tx descriptor - Reset the tx chain head since the tail was not modified and hence not in sync - Unlink the released descriptor bus address from its predecessor Signed-off-by: Andre Heider Acked-by: Geoff Levand Signed-off-by: David S. Miller commit e3001c98df51d81a72534837d8069bfb53f3e1ea Author: Andre Heider Date: Tue Jul 12 10:13:24 2011 +0000 ps3_gelic: Fix typos Signed-off-by: Andre Heider Acked-by: Geoff Levand Signed-off-by: David S. Miller commit 40522998dec20d970fe6f0ea8507004aef18f72d Author: Anirban Chakraborty Date: Thu Jul 14 03:16:55 2011 +0000 qlcnic: change capture mask for FW dump o Change FW dump capture mask to a defult value, instead of using the recommended value from the FW. This was done to keep the capture mask consistent with other function drivers. o Update driver version to 5.0.21 Signed-off-by: Anirban Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit fef0c0600b265ea5d4b1e39574801e6509a1dae6 Author: Amit Kumar Salecha Date: Thu Jul 14 03:16:54 2011 +0000 qlcnic: define error code for loopback test o Defined error code such as fw not responding, test already running and cable not connected. o Check Fw capability before performing loopback test. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit f127f4727f3f60359570b6daa136ac1156e38fbf Author: Sucheta Chakraborty Date: Thu Jul 14 03:16:53 2011 +0000 qlcnic: fix race in skb->len access. As soon as skb is given to hardware, TX completion can free skb under us. Therefore, we should update dev stats before kicking the device. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit e5dcf6dcde26ffdbd237dda4956bc6d7115dfae6 Author: Sucheta Chakraborty Date: Thu Jul 14 03:16:52 2011 +0000 qlcnic: enable mac-learning in promiscous mode. MAC learning is required in bridge mode. During bridge mode device will be put in promiscous mode. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit a941fef81b48179ea64728034f3ed5cda2336987 Author: Sritej Velaga Date: Thu Jul 14 03:16:51 2011 +0000 qlcnic: updated supported cards information Added QME8242-k 10GbE Dual Port Mezzanine Card to supported card info. Signed-off-by: Sritej Velaga Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 7b749ff4dfba109d25a6b4fd011ee78877831e86 Author: Sritej Velaga Date: Thu Jul 14 03:16:50 2011 +0000 qlcnic: fix chip reset logic Chip reset logic (IDC logic) has changed with fw dump support. This broked compatibility with driver using older IDC logic. Changes to make it compatible with drivers using older IDC logic. Signed-off-by: Sritej Velaga Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 41c2178adce37b249147063624f8a27b064b471e Author: Michael Chan Date: Wed Jul 13 17:24:22 2011 +0000 bnx2: Read iSCSI config from shared memory during ->probe() The scratchpad location that we were reading from has not been initialized yet during ->probe(), so we were getting inaccurate information. Update version to 2.1.10. Signed-off-by: Michael Chan Reviewed-by: Matt Carlson Signed-off-by: David S. Miller commit ecdbf6e0d555d353188647d1b2dee9a79db69c68 Author: Jeffrey Huang Date: Wed Jul 13 17:24:21 2011 +0000 bnx2: Add MCP dump to help debug issues related to management firmware. Signed-off-by: Jeffrey Huang Signed-off-by: Michael Chan Reviewed-by: Matt Carlson Signed-off-by: David S. Miller commit 558e4c758c4c7bf209325f5865189c6558860b2b Author: Michael Chan Date: Wed Jul 13 17:24:20 2011 +0000 cnic: Return proper error code if we fail to send netlink message to allow iSCSI connection to fail faster instead of waiting for the long timeout. Update version to 2.5.6. Signed-off-by: Michael Chan Reviewed-by: Matt Carlson Signed-off-by: David S. Miller commit e1dd883cb15310dc2ded9995a1f1d8b1cb1e88f3 Author: Michael Chan Date: Wed Jul 13 17:24:19 2011 +0000 cnic: Fix ring setup/shutdown code Latest bnx2x driver uses different CID for the iSCSI rings, so we need to pass it in the ring init data. The rx ring is also zeroed out to prevent stale DMA addresses from being used after shutdown. The same cp local variable redefined inside the else branch is also eliminated. Signed-off-by: Michael Chan Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit b7d40315c9643034ac4b5c9dda480d0124416f89 Author: Michael Chan Date: Wed Jul 13 17:24:18 2011 +0000 cnic: Fix port_mode setting CHIP_2_PORT_MODE was not set correctly. Signed-off-by: Michael Chan Reviewed-by: Matt Carlson Signed-off-by: David S. Miller commit 973e574e26cc8f4704e5d7f112fd566386e37f04 Author: Michael Chan Date: Wed Jul 13 17:24:17 2011 +0000 cnic: Replace get_random_bytes() with random32() Suggested by Stephen Hemminger Signed-off-by: Michael Chan Reviewed-by: Matt Carlson Signed-off-by: David S. Miller commit 10d1e8ca8d7136111641472e9800775205ef5a0f Merge: cd0d722 ff79c8a Author: David S. Miller Date: Thu Jul 14 08:43:32 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next commit cd0d7228b4f0279f219bc555fa0192dc072d79cd Author: Matt Carlson Date: Wed Jul 13 09:27:33 2011 +0000 tg3: Match power source to driver state Now that the driver state (and power source) is being more intensely scrutinized, we need to make sure it is correct 100% of the time. This patch finds and fixes all dangling power state transitions. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 3a1e19d383c7b91c8af52e8938ab60c40e3d26b3 Author: Matt Carlson Date: Wed Jul 13 09:27:32 2011 +0000 tg3: Add function status reporting This patch adds code to update the status of the function to a common location to the critical section added in the previous patch. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 6f5c8f8317d37045ffc7ea21dab8319a53c1ae57 Author: Matt Carlson Date: Wed Jul 13 09:27:31 2011 +0000 tg3: Create critical section around GPIO toggling The code that performs the power source switching will need to consider the status of the other devices before making any switches. The status updates and power source switching will need to be an atomic operation, so a critical section will be needed. This patch establishes the critical section through a CPMU mutex. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 69f11c9936ba310ed3620072983da6ed95e86cc0 Author: Matt Carlson Date: Wed Jul 13 09:27:30 2011 +0000 tg3: Determine PCI function number in one place tg3 devices will need to know exactly what function number they are so that they can communicate their status to the other functions. In a KVM environment, the function number of a device presented by the kernel might not be the true function number, so an alternative method to determine the function number is needed. This patch used to contain an implementation for the alternative method, but recently we discovered a hardware bug that renders it incorrect. While new method is not yet known, it is still useful to consolidate the code that determines the PCI function to one location and use the results throughout the code. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit bed9829f3ec4b30d5cbec6511a11368ba5f169fb Author: Matt Carlson Date: Wed Jul 13 09:27:29 2011 +0000 tg3: Check transitions to D0 power state Currently pci_set_power_state() does not return useful return codes for transitions to the D0 power state. If a device refuses to go into D0, the PCI layer issues a warning but returns success. Entering into D0 is a requirement for correct operation of tg3 devices though. If the PCI layer should be changed to return an error code for this type of failure, the tg3 driver would be interested in catching it and reacting to it. This patch makes the necessary modifications. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 168212858712b12c65e0fa1bec6c9c65808e7621 Author: Matt Carlson Date: Wed Jul 13 09:27:28 2011 +0000 tg3: Move power state transitions to init_one The tg3 driver is going to require memory mapped register access much sooner than before. This patch makes sure the device is in the D0 power state as soon as possible, and moves the code that enables the memory arbiter outside tg3_get_eeprom_hw_cfg() where it can be more easily monitored. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit c9cab24e954867a03ab833ea3b4c0e6e607eb0d6 Author: Matt Carlson Date: Wed Jul 13 09:27:27 2011 +0000 tg3: Detect APE enabled devs earlier The following patch will require the driver to communicate with the APE much sooner than before. This patch make sure the APE registers are memory mapped and that the ENABLE_APE bit is set before the first use. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit cc9f01b246ca8e4fa245991840b8076394f86707 Author: Chetan Loke Date: Thu Jul 14 08:36:33 2011 -0700 af-packet: fix - avoid reading stale data Currently we flush tp_status and then flush the remainder of the header+payload. tp_status should be flushed in the end to avoid stale data being read by user-space. Incorrectly re-ordered barriers in v1. Signed-off-by: Chetan Loke Signed-off-by: David S. Miller commit 6a7ebdf2fd15417e87b4fd02ff411aeaca34da5f Merge: f6b72b6 51414d4 Author: David S. Miller Date: Thu Jul 14 07:56:40 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/bluetooth/l2cap_core.c commit f6b72b6217f8c24f2a54988e58af858b4e66024d Author: David S. Miller Date: Thu Jul 14 07:53:20 2011 -0700 net: Embed hh_cache inside of struct neighbour. Now that there is a one-to-one correspondance between neighbour and hh_cache entries, we no longer need: 1) dynamic allocation 2) attachment to dst->hh 3) refcounting Initialization of the hh_cache entry is indicated by hh_len being non-zero, and such initialization is always done with the neighbour's lock held as a writer. Signed-off-by: David S. Miller commit 5d10302f46df1d9a85c34ea97f9b6c29e414482e Author: Grant Likely Date: Thu Jul 14 05:33:52 2011 -0600 dt: remove extra xsysace platform_driver registration After commit 1c48a5c93, "dt: Eliminate of_platform_{,un}register_driver", the xsysace driver attempts to register two platform_drivers with the same name, which a) doesn't work, and b) isn't necessary. This patch merges the two platform_drivers. Reported-by: Daniel Hellstrom Signed-off-by: Grant Likely commit b30d89d1055f9acd14b5eaf82d8f6a4763e91d85 Author: Axel Lin Date: Thu Jul 14 13:07:51 2011 +0800 HID: ACRUX - add missing hid_hw_stop() in ax_probe() error path hid_hw_stop() must be called in ax_probe() error path if hid_hw_start() was successful. Signed-off-by: Axel Lin Signed-off-by: Jiri Kosina commit cd27918dc9d2b730fbb898ff075d4fbfb7f674aa Author: Axel Lin Date: Mon Jul 11 08:53:38 2011 +0800 gpio/da9052: remove a redundant assignment for gpio->da9052 We just set it twice in da9052_gpio_probe. Signed-off-by: Axel Lin Signed-off-by: Grant Likely commit 6331c28c962561aee59e5a493b7556a4bb585957 Author: Steven Rostedt Date: Wed Jul 13 15:11:02 2011 -0400 ftrace: Fix dynamic selftest failure on some archs Archs that do not implement CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST, will fail the dynamic ftrace selftest. The function tracer has a quick 'off' variable that will prevent the call back functions from being called. This variable is called function_trace_stop. In x86, this is implemented directly in the mcount assembly, but for other archs, an intermediate function is used called ftrace_test_stop_func(). In dynamic ftrace, the function pointer variable ftrace_trace_function is used to update the caller code in the mcount caller. But for archs that do not have CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST set, it only calls ftrace_test_stop_func() instead, which in turn calls __ftrace_trace_function. When more than one ftrace_ops is registered, the function it calls is ftrace_ops_list_func(), which will iterate over all registered ftrace_ops and call the callbacks that have their hash matching. The issue happens when two ftrace_ops are registered for different functions and one is then unregistered. The __ftrace_trace_function is then pointed to the remaining ftrace_ops callback function directly. This mean it will be called for all functions that were registered to trace by both ftrace_ops that were registered. This is not an issue for archs with CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST, because the update of ftrace_trace_function doesn't happen until after all functions have been updated, and then the mcount caller is updated. But for those archs that do use the ftrace_test_stop_func(), the update is immediate. The dynamic selftest fails because it hits this situation, and the ftrace_ops that it registers fails to only trace what it was suppose to and instead traces all other functions. The solution is to delay the setting of __ftrace_trace_function until after all the functions have been updated according to the registered ftrace_ops. Also, function_trace_stop is set during the update to prevent function tracing from calling code that is caused by the function tracer itself. Signed-off-by: Steven Rostedt commit 072126f4529196f71a97960248bca54fd4554c2d Author: Steven Rostedt Date: Wed Jul 13 15:08:31 2011 -0400 ftrace: Update filter when tracing enabled in set_ftrace_filter() Currently, if set_ftrace_filter() is called when the ftrace_ops is active, the function filters will not be updated. They will only be updated when tracing is disabled and re-enabled. Update the functions immediately during set_ftrace_filter(). Signed-off-by: Steven Rostedt commit 41fb61c2d08107ce96a5dcb3a6289b2afd3e135c Author: Steven Rostedt Date: Wed Jul 13 15:03:44 2011 -0400 ftrace: Balance records when updating the hash Whenever the hash of the ftrace_ops is updated, the record counts must be balance. This requires disabling the records that are set in the original hash, and then enabling the records that are set in the updated hash. Moving the update into ftrace_hash_move() removes the bug where the hash was updated but the records were not, which results in ftrace triggering a warning and disabling itself because the ftrace_ops filter is updated while the ftrace_ops was registered, and then the failure happens when the ftrace_ops is unregistered. The current code will not trigger this bug, but new code will. Signed-off-by: Steven Rostedt commit ff79c8ac40a115adf5d94e1349f4a379ae156f55 Author: Ben Hutchings Date: Wed Jul 13 16:21:24 2011 +0100 sfc: Remove 'Communications' after 'Solarflare' in references to hardware Branding can now be abbreviated. Signed-off-by: Ben Hutchings commit 95acac61ba66c4abd40e038dae8c1ed2e176c7b1 Author: Johannes Berg Date: Tue Jul 12 12:30:59 2011 +0200 mac80211: allow driver to disconnect after resume In WoWLAN, devices may use crypto keys for TX/RX and could also implement GTK rekeying. If the driver isn't able to retrieve replay counters and similar information from the device upon resume, or if the device isn't responsive due to platform issues, it isn't safe to keep the connection up as GTK rekey messages from during the sleep time could be replayed against it. The only protection against that is disconnecting from the AP. Modifying mac80211 to do that while it is resuming would be very complex and invasive in the case that the driver requires a reconfig, so do it after it has resumed completely. In that case, however, packets might be replayed since it can then only happen after TX/RX are up again, so mark keys for interfaces that need to disconnect as "tainted" and drop all packets that are sent or received with those keys. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2fcf282471f04f465d0368e46e973e01504292b3 Author: Mohammed Shafi Shajakhan Date: Tue Jul 12 15:19:04 2011 +0530 mac80211: remove a redundant check is_valid_ether_addr itself checks for is_zero_ether_addr Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5d82c53a380ca96421a714481c9113ba54ede609 Author: Yogesh Ashok Powar Date: Mon Jul 11 20:04:44 2011 -0700 mwifiex: add cfg80211 handler for set_bitrate_mask Currently, setting only legacy bitrates on 2.4GHz band are supported. Mode 802.11b/g/bg is enabled based on bitrates selection. If only CCK bitrates selected then 802.11b mode is enabled. If only OFDM bitrates are selected then 802.11g mode is enabled. For both: CCK and OFDM rates 802.11bg mixed mode is enabled. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 4e868796bbcbae2f2ea3a828c803686787392b71 Author: Felix Fietkau Date: Tue Jul 12 09:02:05 2011 +0800 ath5k: do not call ieee80211_stop_queue for queues not managed by mac80211 Instead of using ieee80211_stop_queue, check the configured tx queue limit before calling ieee80211_get_buffered_bc. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6340211c5f4775a52c98052fb5661565f79249fd Author: Felix Fietkau Date: Tue Jul 12 09:02:04 2011 +0800 ath5k: disable 32KHz sleep clock operation by default While 32 KHz sleep clock might provide some power saving benefits, it is also a major source of stability issues, on OpenWrt it produced some reproducible data bus errors on register accesses on several different MIPS platforms. All the Atheros drivers that I can find do not enable this feature, so it makes sense to leave it disabled in ath5k as well. Signed-off-by: Felix Fietkau Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit f00643888ca435ce6934482243733cc140281d10 Author: Felix Fietkau Date: Tue Jul 12 09:02:03 2011 +0800 ath5k: fix reference clock usec duration setting restore enabling the sleep clock alters the AR5K_USEC_32 field, but disabling it didn't restore it. Signed-off-by: Felix Fietkau Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit fe00deb3e4b50eede61cc7d4ab9bce7911f0a074 Author: Felix Fietkau Date: Tue Jul 12 09:02:02 2011 +0800 ath5k: delay full calibration after reset During scans the full calibration usually does not make much sense, PAPD probing and IQ calibration should be deferred until there is enough time to complete them. Adding 100 ms to the initial full calibration delay should be enough to do this. Signed-off-by: Felix Fietkau Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 26d16d23e621cdc679118ca2fe604752b3a36e9f Author: Felix Fietkau Date: Tue Jul 12 09:02:01 2011 +0800 ath5k: initialize common->clockrate Fixes a division by zero when setting distance before activating the device for the first time. Signed-off-by: Felix Fietkau Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 2d2cf471d51743c631f216f62a02a62b58126191 Author: Felix Fietkau Date: Tue Jul 12 09:02:00 2011 +0800 ath5k: fix reference clock frequency for spur mitigation on AR2413 AR2413 uses the same reference clock as AR5413 Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ca8bfd94bbe5bd89ff6a4bbf5a050251950cce25 Author: Felix Fietkau Date: Tue Jul 12 09:01:59 2011 +0800 ath5k: apply the synth voltage tweak only on AR5112 rev 2 Might fix some stability issues on newer chips Signed-off-by: Felix Fietkau Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit b613c7262dda30563bb1759573e39392a81524e6 Author: Felix Fietkau Date: Tue Jul 12 09:01:58 2011 +0800 ath5k: add missing checks for rfgain probe rfgain probe is only necessary for OFDM operation on AR5111 and AR5112. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0472ade031b5c0c69c21cf96acf64c50eb9ba3c2 Author: Senthil Balasubramanian Date: Tue Jul 12 00:02:56 2011 +0530 ath9k_hw: Fix incorrect key_miss handling Decryping frames on key_miss handling shouldn't be done for Michael MIC failed frames as h/w would have already decrypted such frames successfully anyway. Also leaving CRC and PHY error(where the frame is going to be dropped anyway), we are left to prcoess Decrypt error for which s/w decrypt is selected anway and so having key_miss as a separate check doesn't serve anything. So making key_miss handling mutually exlusive with other RX status handling makes much more sense. This patch addresses an issue with STA not reporting MIC failure events resulting in STA being disconnected immediately. Cc: stable@kernel.org Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 2a897d41a30b0af2dbc61c18aa3d2edd9b80fe6a Author: Joe Perches Date: Fri Jul 8 23:20:25 2011 -0700 iwlagn: Add missing comma between constant string array Multiple quoted strings are concatenated without comma separators. Make the array const while there. Signed-off-by: Joe Perches Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 861d9c3f25d216ccbec71a45280eff17fb912434 Author: Joe Perches Date: Fri Jul 8 23:20:24 2011 -0700 iwlegacy: Add missing comma between constant string array Multiple quoted strings are concatenated without comma separators. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 433bd805e5fd2c731b3a9025b034f066272d336e Author: Andy Lutomirski Date: Wed Jul 13 09:24:13 2011 -0400 clocksource: Replace vread with generic arch data The vread field was bloating struct clocksource everywhere except x86_64, and I want to change the way this works on x86_64, so let's split it out into per-arch data. Cc: x86@kernel.org Cc: Clemens Ladisch Cc: linux-ia64@vger.kernel.org Cc: Tony Luck Cc: Fenghua Yu Cc: John Stultz Cc: Thomas Gleixner Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/3ae5ec76a168eaaae63f08a2a1060b91aa0b7759.1310563276.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit 7f79ad15f33cf4968cafb0e3d2beba427de01d3a Author: Andy Lutomirski Date: Wed Jul 13 09:24:12 2011 -0400 x86-64: Add --no-undefined to vDSO build This gives much nicer diagnostics when something goes wrong. It's supported at least as far back as binutils 2.15. Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/de0b50920469ff6359c529526e7639fdd36fa83c.1310563276.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit 1b3f2a72bbcfdf92e368a44448c45eb639b05b5e Author: Andy Lutomirski Date: Wed Jul 13 09:24:11 2011 -0400 x86-64: Allow alternative patching in the vDSO This code is short enough and different enough from the module loader that it's not worth trying to share anything. Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/e73112e4381fff29e31b882c2d0856822edaea53.1310563276.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit 59e97e4d6fbcd5b74a94cb48bcbfc6f8478a5e93 Author: Andy Lutomirski Date: Wed Jul 13 09:24:10 2011 -0400 x86: Make alternative instruction pointers relative This save a few bytes on x86-64 and means that future patches can apply alternatives to unrelocated code. Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/ff64a6b9a1a3860ca4a7b8b6dc7b4754f9491cd7.1310563276.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit c9712944b2a12373cb6ff8059afcfb7e826a6c54 Author: Andy Lutomirski Date: Wed Jul 13 09:24:09 2011 -0400 x86-64: Improve vsyscall emulation CS and RIP handling Three fixes here: - Send SIGSEGV if called from compat code or with a funny CS. - Don't BUG on impossible addresses. - Add a missing local_irq_disable. This patch also removes an unused variable. Signed-off-by: Andy Lutomirski Link: http://lkml.kernel.org/r/6fb2b13ab39b743d1e4f466eef13425854912f7f.1310563276.git.luto@mit.edu Signed-off-by: H. Peter Anvin commit fd1b6c4a693c9cac59375ffb36ffe5d7c079037c Author: Bart Van Assche Date: Wed Jul 13 09:19:16 2011 -0700 IB/srp: Avoid duplicate devices from LUN scan SCSI scanning of a channel:id:lun triplet in Linux works as follows (function scsi_scan_target() in drivers/scsi/scsi_scan.c): - If lun == SCAN_WILD_CARD, send a REPORT LUNS command to the target and process the result. - If lun != SCAN_WILD_CARD, send an INQUIRY command to the LUN corresponding to the specified channel:id:lun triplet to verify whether the LUN exists. So a SCSI driver must either take the channel and target id values in account in its quecommand() function or it should declare that it only supports one channel and one target id. Currently the ib_srp driver does neither. As a result scanning the SCSI bus via e.g. rescan-scsi-bus.sh causes many duplicate SCSI devices to be created. For each 0:0:L device, several duplicates are created with the same LUN number and with (C:I) != (0:0). Fix this by declaring that the ib_srp driver only supports one channel and one target id. Signed-off-by: Bart Van Assche Cc: Acked-by: David Dillow Signed-off-by: Roland Dreier commit 52a09a040dc258ca9eb4fa6530e52ccdbc72e353 Author: Mike Marciniszyn Date: Wed Jul 13 09:19:10 2011 -0700 MAINTAINERS: Update ipath/qib (QLogic IB adapter) entries Signed-off-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 851f186835c850cf51001369e4e22c0f9241e745 Author: Ben Hutchings Date: Wed Jul 13 16:10:02 2011 +0100 sfc: Remove 'Solarstorm' from Kconfig descriptions The 'Solarstorm' brand is being retired and it's redundant with the company name. Signed-off-by: Ben Hutchings commit d0f9e8fb4cc6dd5d07c72eeecc2f332b6e85e221 Author: Christoph Hellwig Date: Wed Jul 13 13:43:50 2011 +0200 xfs: remove the dead XFS_DABUF_DEBUG code Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit c84470dda7a1165d90f55c2025c4c8ca403d485e Author: Christoph Hellwig Date: Wed Jul 13 13:43:50 2011 +0200 xfs: remove leftovers of the old btree tracing code Remove various bits left over from the old kdb-only btree tracing code, but leave the actual trace point stubs in place to ease adding new event based btree tracing. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit ea15ab3cdda1bc6822f572ce9ce5d86f097f9b08 Author: Christoph Hellwig Date: Wed Jul 13 13:43:50 2011 +0200 xfs: remove the dead QUOTADEBUG code Remove the dead hash table test rid which has been rotting away under QUOTADEBUG, including some code that was compiled for normal debug builds, but not actually called without QUOTADEBUG, and enable a few cheap debug checks that were hidden under QUOTADEBUG for normal debug builds. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 54244fec67024032cb54eb604b2a36579b5db2d3 Author: Christoph Hellwig Date: Wed Jul 13 13:43:49 2011 +0200 xfs: remove the unused xfs_buf_delwri_sort function Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit cb669ca5701153a808db6627521cc8aa52fc42d1 Author: Christoph Hellwig Date: Wed Jul 13 13:43:49 2011 +0200 xfs: remove wrappers around b_iodone Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit adadbeefb34f755a3477da51035eeeec2c1fde38 Author: Christoph Hellwig Date: Wed Jul 13 13:43:49 2011 +0200 xfs: remove wrappers around b_fspriv Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit bf9d9013a2a559858efb590bf922377be9d6d969 Author: Christoph Hellwig Date: Wed Jul 13 13:43:49 2011 +0200 xfs: add a proper transaction pointer to struct xfs_buf Replace the typeless b_fspriv2 and the ugly macros around it with a properly typed transaction pointer. As a fallout the log buffer state debug checks are also removed. We could have kept them using casts, but as they do not have a real purpose we can as well just remove them. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 77936d0280616d84d1eb0eb38a6f857d2827a434 Author: Christoph Hellwig Date: Wed Jul 13 13:43:49 2011 +0200 xfs: factor out xfs_da_grow_inode_int xfs_da_grow_inode and xfs_dir2_grow_inode are mostly duplicate code. Factor the meat of those two functions into a new common helper. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit a230a1df40864ef68ff6fbd09302f16d2a216ea5 Author: Christoph Hellwig Date: Wed Jul 13 13:43:48 2011 +0200 xfs: factor out xfs_dir2_leaf_find_stale Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit a00b7745c6e68ee89a123cd81e1dbc52fb55868e Author: Christoph Hellwig Date: Wed Jul 13 13:43:48 2011 +0200 xfs: cleanup struct xfs_dir2_free Change the bests array to be a proper variable sized entry. This is done easily as no one relies on the size of the structure. Also change XFS_DIR2_MAX_FREE_BESTS to an inline function while we're at it. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 5792664070c62479b088e4909000582de3686396 Author: Christoph Hellwig Date: Wed Jul 13 13:43:48 2011 +0200 xfs: reshuffle dir2 headers Replace the current mess of dir2 headers with just three that have a clear purpose: - xfs_dir2_format.h for all format definitions, including the inline helpers to access our variable size structures - xfs_dir2_priv.h for all prototypes that are internal to the dir2 code and not needed by anything outside of the directory code. For this purpose xfs_da_btree.c, and phase6.c in xfs_repair are considered part of the directory code. - xfs_dir2.h for the public interface to the directory code In addition to the reshuffle I have also update the comments to not only match the new file structure, but also to describe the directory format better. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 2bcf6e970f5a88fa05dced5eeb0326e13d93c4a1 Author: Christoph Hellwig Date: Wed Jul 13 13:43:48 2011 +0200 xfs: start periodic workers later Start the periodic sync workers only after we have finished xfs_mountfs and thus fully set up the filesystem structures. Without this we can call into xfs_qm_sync before the quotainfo strucute is set up if the mount takes unusually long, and probably hit other incomplete states as well. Also clean up the xfs_fs_fill_super error path by using consistent label names, and removing an impossible to reach case. Signed-off-by: Christoph Hellwig Reported-by: Arkadiusz Miskiewicz Reviewed-by: Alex Elder commit 796204142a98b6e0e71b494e808d1b6ee62cc75f Author: Rafael J. Wysocki Date: Wed Jul 13 12:32:07 2011 +0200 ARM / shmobile: Use pm_genpd_poweroff_unused() Make shmobile use pm_genpd_poweroff_unused() instead of the open-coded powering off PM domains without devices in use. Signed-off-by: Rafael J. Wysocki Acked-by: Magnus Damm commit 5125bbf3880755419eff68672623cde49c4f31e8 Author: Rafael J. Wysocki Date: Wed Jul 13 12:31:52 2011 +0200 PM / Domains: Introduce function to power off all unused PM domains Add a new function pm_genpd_poweroff_unused() queuing up the execution of pm_genpd_poweroff() for every initialized generic PM domain. Calling it will cause every generic PM domain without devices in use to be powered off. Signed-off-by: Rafael J. Wysocki Acked-by: Magnus Damm commit 390fd0b388e4f85549e5d60bdeb21364b344d9b9 Author: Matvejchikov Ilya Date: Tue Jul 12 21:47:38 2011 +0000 slip: remove dead code within the slip initialization This following code contains a dead "if (dev).." block: ... for (i = 0; i < slip_maxdev; i++) { dev = slip_devs[i]; if (dev == NULL) break; } /* Sorry, too many, all slots in use */ if (i >= slip_maxdev) return NULL; if (dev) { sl = netdev_priv(dev); if (test_bit(SLF_INUSE, &sl->flags)) { unregister_netdevice(dev); dev = NULL; slip_devs[i] = NULL; } } ... The reason is that the code starting with "if (dev).." is never called as when we found an empty slot (dev == NULL) we break the loop and "if (dev).." not works eiter the loop ends and we get out with "i >= slip_maxdev". Signed-off-by: Matvejchikov Ilya Signed-off-by: David S. Miller commit 9173a88f46bf53e2fa85337563b39e13c43c7f2e Author: Matvejchikov Ilya Date: Tue Jul 12 21:46:57 2011 +0000 slip: remove redundant check slip_devs for NULL As slip_devs is initialized on module load stage there is no reason to check it for NULL anywhere instead of the deinitialization routine because if we can't get enough memory on startup we don't run at all. Signed-off-by: Matvejchikov Ilya Signed-off-by: David S. Miller commit e28634d6b229dec216596298c765c203d6b6fa4c Author: Matvejchikov Ilya Date: Tue Jul 12 21:46:17 2011 +0000 slip: fix MTU comparation operation when reallocating buffers In sl_realloc_bufs() there is no reason to check if the requested MTU greater than or equal to the current MTU value as this function called only when requested MTU not equals to the current value. So, the ">=" operation can be safely replaced with the ">". Signed-off-by: Matvejchikov Ilya Signed-off-by: David S. Miller commit 30c5f8ecf246997d16ba5b11becc5f10f9deaf7a Author: Matvejchikov Ilya Date: Tue Jul 12 21:45:37 2011 +0000 slip: remove redundant NULL-pointer check before calling slhc_free Signed-off-by: Matvejchikov Ilya Signed-off-by: David S. Miller commit 5c25f686db352082eef8daa21b760192351a023a Author: David S. Miller Date: Wed Jul 13 00:51:10 2011 -0700 net: Kill support for multiple hh_cache entries per neighbour This never, ever, happens. Neighbour entries are always tied to one address family, and therefore one set of dst_ops, and therefore one dst_ops->protocol "hh_type" value. This capability was blindly imported by Alexey Kuznetsov when he wrote the neighbour layer. Signed-off-by: David S. Miller commit e69dd336ee3a05a589629b505b18ba5e7a5b4c54 Author: David S. Miller Date: Tue Jul 12 23:28:12 2011 -0700 net: Push protocol type directly down to header_ops->cache() Signed-off-by: David S. Miller commit 3769cffb1c48f64640ffab7ce3bffe867342c0f0 Author: David Miller Date: Mon Jul 11 22:44:24 2011 +0000 ipv4: Inline neigh binding. Get rid of all of the useless and costly indirection by doing the neigh hash table lookup directly inside of the neighbour binding. Rename from arp_bind_neighbour to rt_bind_neighbour. Use new helpers {__,}ipv4_neigh_lookup() In rt_bind_neighbour() get rid of useless tests which are never true in the context this function is called, namely dev is never NULL and the dst->neighbour is always NULL. Signed-off-by: David S. Miller commit e5b1de1f5ebe0200e988e195fefb6c7396de6e20 Author: Michał Mirosław Date: Tue Jul 12 22:27:00 2011 -0700 net: Add documentation for netdev features handling v2: incorporated suggestions from Randy Dunlap Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 4c5102f94c175d81790a3a288e85efd4a8a1649a Author: Ajit Khaparde Date: Tue Jul 12 22:10:01 2011 -0700 be2net: move to new vlan model Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 1e75896294d282ecd5b1717fcb3f6aa2908d5946 Author: Eric Dumazet Date: Tue Jul 12 22:09:18 2011 -0700 be2net: account for skb allocation failures If we cannot allocate new skbs in RX completion handler, we should increase netdevice rx_dropped counter, not spam console messages. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c2fed9965c60e1f989f57889357c557f7b907ab7 Author: Jeff Kirsher Date: Tue Jul 12 16:10:12 2011 +0000 e1000e: use GFP_KERNEL allocations at init time In process and sleep allowed context, favor GFP_KERNEL allocations over GFP_ATOMIC ones. -v2: fixed checkpatch.pl warnings CC: Eric Dumazet CC: Ben Greear CC: Bruce Allan Signed-off-by: Jeff Kirsher Tested-by: Aaron Brown Signed-off-by: David S. Miller commit a3d72d5d01b82a86f3b16ca1918d2040b1acba8c Author: Carolyn Wyborny Date: Tue Jul 12 16:10:11 2011 +0000 e1000e: Add Jumbo Frame support to 82583 devices This patch adds support for the Jumbo Frames feature on 82583 devices. Signed-off-by: Carolyn Wyborny Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1e01979c8f502ac13e3cdece4f38712c5944e6e8 Author: Tejun Heo Date: Tue Jul 12 09:45:34 2011 +0200 x86, numa: Implement pfn -> nid mapping granularity check SPARSEMEM w/o VMEMMAP and DISCONTIGMEM, both used only on 32bit, use sections array to map pfn to nid which is limited in granularity. If NUMA nodes are laid out such that the mapping cannot be accurate, boot will fail triggering BUG_ON() in mminit_verify_page_links(). On 32bit, it's 512MiB w/ PAE and SPARSEMEM. This seems to have been granular enough until commit 2706a0bf7b (x86, NUMA: Enable CONFIG_AMD_NUMA on 32bit too). Apparently, there is a machine which aligns NUMA nodes to 128MiB and has only AMD NUMA but not SRAT. This led to the following BUG_ON(). On node 0 totalpages: 2096615 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 3927 pages, LIFO batch:0 Normal zone: 1740 pages used for memmap Normal zone: 220978 pages, LIFO batch:31 HighMem zone: 16405 pages used for memmap HighMem zone: 1853533 pages, LIFO batch:31 BUG: Int 6: CR2 (null) EDI (null) ESI 00000002 EBP 00000002 ESP c1543ecc EBX f2400000 EDX 00000006 ECX (null) EAX 00000001 err (null) EIP c16209aa CS 00000060 flg 00010002 Stack: f2400000 00220000 f7200800 c1620613 00220000 01000000 04400000 00238000 (null) f7200000 00000002 f7200b58 f7200800 c1620929 000375fe (null) f7200b80 c16395f0 00200a02 f7200a80 (null) 000375fe 00000002 (null) Pid: 0, comm: swapper Not tainted 2.6.39-rc5-00181-g2706a0b #17 Call Trace: [] ? early_fault+0x2e/0x2e [] ? mminit_verify_page_links+0x12/0x42 [] ? memmap_init_zone+0xaf/0x10c [] ? free_area_init_node+0x2b9/0x2e3 [] ? free_area_init_nodes+0x3f2/0x451 [] ? paging_init+0x112/0x118 [] ? setup_arch+0x791/0x82f [] ? start_kernel+0x6a/0x257 This patch implements node_map_pfn_alignment() which determines maximum internode alignment and update numa_register_memblks() to reject NUMA configuration if alignment exceeds the pfn -> nid mapping granularity of the memory model as determined by PAGES_PER_SECTION. This makes the problematic machine boot w/ flatmem by rejecting the NUMA config and provides protection against crazy NUMA configurations. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/20110712074534.GB2872@htj.dyndns.org LKML-Reference: <20110628174613.GP478@escobedo.osrc.amd.com> Reported-and-Tested-by: Hans Rosenfeld Cc: Conny Seidel Signed-off-by: H. Peter Anvin commit d0ead157387f19801beb1b419568723b2e9b7c79 Author: Tejun Heo Date: Tue Jul 12 09:44:22 2011 +0200 x86, mm: s/PAGES_PER_ELEMENT/PAGES_PER_SECTION/ DISCONTIGMEM on x86-32 implements pfn -> nid mapping similarly to SPARSEMEM; however, it calls each mapping unit ELEMENT instead of SECTION. This patch renames it to SECTION so that PAGES_PER_SECTION is valid for both DISCONTIGMEM and SPARSEMEM. This will be used by the next patch to implement mapping granularity check. This patch is trivial constant rename. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/20110712074422.GA2872@htj.dyndns.org Cc: Hans Rosenfeld Signed-off-by: H. Peter Anvin commit 42f0efc5aae2bd7e3bc420c0902c7024ef77391f Author: Naga Chumbalkar Date: Tue Jul 12 21:17:35 2011 +0000 x86, ioapic: Print IR_IO_APIC_route_entry when IR is enabled When IR (interrupt remapping) is enabled print_IO_APIC() displays output according to legacy RTE (redirection table entry) definitons: NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect: 00 00 1 0 0 0 0 0 0 00 01 00 0 0 0 0 0 0 0 01 02 00 0 0 0 0 0 0 0 02 03 00 1 0 0 0 0 0 0 03 04 00 1 0 0 0 0 0 0 04 05 00 1 0 0 0 0 0 0 05 06 00 1 0 0 0 0 0 0 06 ... The above output is as per Sec 3.2.4 of the IOAPIC datasheet: 82093AA I/O Advanced Programmable Interrupt Controller (IOAPIC): http://download.intel.com/design/chipsets/datashts/29056601.pdf Instead the output should display the fields as discussed in Sec 5.5.1 of the VT-d specification: (Intel Virtualization Technology for Directed I/O: http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf) After the fix: NR Indx Fmt Mask Trig IRR Pol Stat Indx2 Zero Vect: 00 0000 0 1 0 0 0 0 0 0 00 01 000F 1 0 0 0 0 0 0 0 01 02 0001 1 0 0 0 0 0 0 0 02 03 0002 1 1 0 0 0 0 0 0 03 04 0011 1 1 0 0 0 0 0 0 04 05 0004 1 1 0 0 0 0 0 0 05 06 0005 1 1 0 0 0 0 0 0 06 ... Signed-off-by: Naga Chumbalkar Link: http://lkml.kernel.org/r/20110712211658.2939.93123.sendpatchset@nchumbalkar.americas.cpqcorp.net Signed-off-by: H. Peter Anvin commit 3040db92ee1b6c5b6b6d73f8cdcad54c0da11563 Author: Naga Chumbalkar Date: Tue Jul 12 21:17:41 2011 +0000 x86, ioapic: Print IRTE when IR is enabled When "apic=debug" is used as a boot parameter, Linux prints the IOAPIC routing entries in "dmesg". Below is output from IOAPIC whose apic_id is 8: # dmesg | grep "routing entry" IOAPIC[8]: Set routing entry (8-1 -> 0x31 -> IRQ 1 Mode:0 Active:0 Dest:0) IOAPIC[8]: Set routing entry (8-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:0) IOAPIC[8]: Set routing entry (8-3 -> 0x33 -> IRQ 3 Mode:0 Active:0 Dest:0) ... Similarly, when IR (interrupt remapping) is enabled, and the IRTE (interrupt remapping table entry) is set up we should display it. After the fix: # dmesg | grep IRTE IOAPIC[8]: Set IRTE entry (P:1 FPD:0 Dst_Mode:0 Redir_hint:1 Trig_Mode:0 Dlvry_Mode:0 Avail:0 Vector:31 Dest:00000000 SID:00F1 SQ:0 SVT:1) IOAPIC[8]: Set IRTE entry (P:1 FPD:0 Dst_Mode:0 Redir_hint:1 Trig_Mode:0 Dlvry_Mode:0 Avail:0 Vector:30 Dest:00000000 SID:00F1 SQ:0 SVT:1) IOAPIC[8]: Set IRTE entry (P:1 FPD:0 Dst_Mode:0 Redir_hint:1 Trig_Mode:0 Dlvry_Mode:0 Avail:0 Vector:33 Dest:00000000 SID:00F1 SQ:0 SVT:1) ... The IRTE is defined in Sec 9.5 of the Intel VT-d Specification. Signed-off-by: Naga Chumbalkar Link: http://lkml.kernel.org/r/20110712211704.2939.71291.sendpatchset@nchumbalkar.americas.cpqcorp.net Signed-off-by: H. Peter Anvin commit 25970852280c9d5fb2de899769880d3e97332baa Author: Naga Chumbalkar Date: Tue Jul 12 05:59:07 2011 +0000 x86, x2apic: Preserve high 32-bits of IA32_APIC_BASE MSR If there's no special reason to zero-out the "high" 32-bits of the IA32_APIC_BASE MSR, let's preserve it. The x2APIC Specification doesn't explicitly state any such requirement. (Sec 2.2 in: http://www.intel.com/Assets/PDF/manual/318148.pdf). Signed-off-by: Naga Chumbalkar Link: http://lkml.kernel.org/r/20110712055831.2498.78521.sendpatchset@nchumbalkar.americas.cpqcorp.net Reviewed-by: Cyrill Gorcunov Reviewed-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 3881ac04ebf94268ba3d6e486aa524fd41f893a9 Author: David Teigland Date: Thu Jul 7 14:05:03 2011 -0500 dlm: improve rsb searches By pre-allocating rsb structs before searching the hash table, they can be inserted immediately. This avoids always having to repeat the search when adding the struct to hash list. This also adds space to the rsb struct for a max resource name, so an rsb allocation can be used by any request. The constant size also allows us to finally use a slab for the rsb structs. Signed-off-by: David Teigland commit c8c9fda5069456eb9e0e403c19764b2e257802e1 Author: Kevin Hilman Date: Tue Jul 12 22:48:42 2011 +0200 OMAP: PM: disable idle on suspend for GPIO and UART Until these drivers are runtime PM converted, their device power states are managed by calling custom driver hooks late in the idle/suspend path. Therefore, do not let the suspend/resume core code automatically idle these devices since they will be managed manually by the OMAP PM core very late in the idle/suspend path. Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit 80c6d1e65c25fbf198b463cfaec015820fb9bcdc Author: Kevin Hilman Date: Tue Jul 12 22:48:29 2011 +0200 OMAP: PM: omap_device: add API to disable idle on suspend By default, omap_devices will be automatically idled on suspend (and re-enabled on resume.) Using this new API, device init code can disable this feature if desired. NOTE: any driver/device that has been runtime PM converted should not be using this API. Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit c03f007a8bf0e092caeb6856a5c8a850df10b974 Author: Kevin Hilman Date: Tue Jul 12 22:48:19 2011 +0200 OMAP: PM: omap_device: add system PM methods for PM domain handling In the omap_device PM domain callbacks, use omap_device idle/enable to automatically manage device idle states during system suspend/resume. If an omap_device has not already been runtime suspended, the ->suspend_noirq() method of the PM domain will use omap_device_idle() to idle the HW after calling the driver's ->runtime_suspend() callback. Similarily, upon resume, if the device was suspended during ->suspend_noirq(), the ->resume_noirq() method of the PM domain will use omap_device_enable() to enable the HW and then call the driver's ->runtime_resume() callback. If a device has already been runtime suspended, the noirq methods of the PM domain leave the device runtime suspended by default. However, if a driver needs to runtime resume a device during suspend (for example, to change its wakeup settings), it may do so using pm_runtime_get* in it's ->suspend() callback. Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit 256a5435975e344b975f89c5434aa6f6eeb03fa1 Author: Kevin Hilman Date: Tue Jul 12 22:48:03 2011 +0200 OMAP: PM: omap_device: conditionally use PM domain runtime helpers Only build and use the runtime PM helper functions only when runtime PM is actually enabled. Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit e2270ea62ae4d7a47d6d72942cdb8c669be6357a Author: David S. Miller Date: Tue Jul 12 10:37:21 2011 -0700 netdevice: Kill 'feature' test macros. Almost all of these have long outstayed their welcome. And for every one of these macros, there are 10 features for which we didn't add macros. Let's just delete them all, and get out of habit of doing things this way. Signed-off-by: David S. Miller Acked-by: Stephen Hemminger Acked-by: Arnd Bergmann commit b691347a92e12e0bf19fe500eb23cf0363f2ecd5 Author: Sergei Shtylyov Date: Tue Jul 12 07:59:38 2011 -0700 lanai: use pci_dev->subsystem_device The driver reads PCI subsystem IDs from the PCI configuration registers while it is already stored by the PCI subsystem in the 'subsystem_device' field of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Signed-off-by: David S. Miller commit 688d3be815b1563b1484ce67702249a4a7a6314e Author: Christoph Lameter Date: Tue Jul 12 13:35:57 2011 +0200 percpu: Fixup __this_cpu_xchg* operations Somehow we got into a situation where the __this_cpu_xchg() operations were not defined in the same way as this_cpu_xchg() and friends. I had some build failures under 32 bit that were addressed by these fixes. Signed-off-by: Christoph Lameter Signed-off-by: Tejun Heo commit f3393b62f157cc87f8d78247e97b87778dc077b8 Author: Kevin Hilman Date: Tue Jul 12 11:17:09 2011 +0200 PM / Runtime: Add new helper function: pm_runtime_status_suspended() This boolean function simply returns whether or not the runtime status of the device is 'suspended'. Unlike pm_runtime_suspended(), this function returns the runtime status whether or not runtime PM for the device has been disabled or not. Also add entry to Documentation/power/runtime.txt Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit 23c10becdbc712de3fb35d0c7ec105a81d21f4c7 Author: Ari Savolainen Date: Mon Jul 11 21:42:52 2011 +0300 HID: fix horizontal wheel for ms comfort mouse 4500 Microsoft comfort mouse 4500 report descriptor contains duplicate usages for horizontal wheel. This patch fixes the wrong mapping caused by that. Signed-off-by: Ari Savolainen Signed-off-by: Jiri Kosina commit bd0d7aa6b20a9e78def76a0ba8c414daf253c295 Author: Jesper Juhl Date: Mon Jul 11 22:15:02 2011 -0700 drivers/net: static should be at beginning of declaration Make sure that the 'static' keywork is at the beginning of declaration for drivers/net/usb/kalmia.c This gets rid of warnings like warning: ‘static’ is not at beginning of declaration when building with -Wold-style-declaration (and/or -Wextra which also enables it). Signed-off-by: Jesper Juhl Signed-off-by: David S. Miller commit 6d1a3e042f55861a785527a35a6f1ab4217ee810 Author: Eric Dumazet Date: Mon Jul 11 02:49:52 2011 +0000 inetpeer: kill inet_putpeer race We currently can free inetpeer entries too early : [ 782.636674] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f130f44c) [ 782.636677] 1f7b13c100000000000000000000000002000000000000000000000000000000 [ 782.636686] i i i i u u u u i i i i u u u u i i i i u u u u u u u u u u u u [ 782.636694] ^ [ 782.636696] [ 782.636698] Pid: 4638, comm: ssh Not tainted 3.0.0-rc5+ #270 Hewlett-Packard HP Compaq 6005 Pro SFF PC/3047h [ 782.636702] EIP: 0060:[] EFLAGS: 00010286 CPU: 0 [ 782.636707] EIP is at inet_getpeer+0x25b/0x5a0 [ 782.636709] EAX: 00000002 EBX: 00010080 ECX: f130f3c0 EDX: f0209d30 [ 782.636711] ESI: 0000bc87 EDI: 0000ea60 EBP: f0209ddc ESP: c173134c [ 782.636712] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 782.636714] CR0: 8005003b CR2: f0beca80 CR3: 30246000 CR4: 000006d0 [ 782.636716] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 782.636717] DR6: ffff4ff0 DR7: 00000400 [ 782.636718] [] rt_set_nexthop.clone.45+0x56/0x220 [ 782.636722] [] __ip_route_output_key+0x309/0x860 [ 782.636724] [] tcp_v4_connect+0x124/0x450 [ 782.636728] [] inet_stream_connect+0xa3/0x270 [ 782.636731] [] sys_connect+0xa1/0xb0 [ 782.636733] [] sys_socketcall+0x25d/0x2a0 [ 782.636736] [] sysenter_do_call+0x12/0x28 [ 782.636738] [] 0xffffffff Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 995181b9529adbfecd6882c734ee702b5ed9226c Author: Eric Dumazet Date: Mon Jul 11 10:00:40 2011 +0000 e1000e: remove e1000_queue_stats struct e1000_queue_stats is not used, lets remove it Signed-off-by: Eric Dumazet Acked-by: Bruce Allan Signed-off-by: David S. Miller commit 4915a0de43c3e9aef92005c1f94a8ff3a6cfced5 Author: Eric Dumazet Date: Mon Jul 11 20:08:34 2011 -0700 net: introduce __netdev_alloc_skb_ip_align RX rings should use GFP_KERNEL allocations if possible, add __netdev_alloc_skb_ip_align() helper to ease this. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 039f02ebd9c2f3f3cb95c00b763fb70870c9116e Merge: f610b74 1fc5f03 Author: David S. Miller Date: Mon Jul 11 20:07:20 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 commit 1fc5f0386461dcb3fcbda7a8bcac87f7a822bc56 Author: Alexander Duyck Date: Thu Jun 2 04:28:39 2011 +0000 ixgbe: Make certain to initialize the fdir_perfect_lock in all cases This fix makes it so that the fdir_perfect_lock is initialized in all cases. This is necessary as the fdir_filter_exit routine will always attempt to take the lock before inspecting the filter table. Reported-by: Ben Greear Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit 2c670b5bd794ef93c81bf8797b7d6393c8453fc6 Author: Carolyn Wyborny Date: Tue May 24 06:52:51 2011 +0000 igb: Add support of SerDes Forced mode for certain hardware This patch changes the serdes link code to support a forced mode for some hardware, based on bit set in EEPROM. Signed-off-by: Carolyn Wyborny Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher commit 4297f99b846942c6068f4ec80585c05ac94e612e Author: Carolyn Wyborny Date: Wed Jun 29 01:16:10 2011 +0000 igb: Update copyright on all igb driver files. This patch updates the copyright on the igb driver files to 2011. Signed-off-by: Carolyn Wyborny Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 064b43304ed8ede8e13ff7b4338d09fd37bcffb1 Author: Carolyn Wyborny Date: Sat Jun 25 13:18:12 2011 +0000 igb: Fix lack of flush after register write and before delay Register writes followed by a delay are required to have a flush before the delay in order to commit the values to the register. Without the flush, the code following the delay may not function correctly. Reported-by: Tong Ho Reported-by: Guenter Roeck Signed-off-by: Carolyn Wyborny Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 56375fd420f851944960bd53dbb08d674f4d9406 Author: Rafael J. Wysocki Date: Tue Jul 12 00:40:03 2011 +0200 PM / Domains: Queue up power off work only if it is not pending In theory it is possible that pm_genpd_poweroff() for two different subdomains of the same parent domain will attempt to queue up the execution of pm_genpd_poweroff() for the parent twice in a row. This would lead to unpleasant consequences, so prevent it from happening by checking if genpd->power_off_work is pending before attempting to queue it up. Signed-off-by: Rafael J. Wysocki commit 4ecd6e651dd25ebbf0cc53c68162c0ab08641725 Author: Rafael J. Wysocki Date: Tue Jul 12 00:39:57 2011 +0200 PM / Domains: Improve handling of wakeup devices during system suspend Kevin points out that if there's a device that can wake up the system from sleep states, but it doesn't generate wakeup signals by itself (they are generated on its behalf by other parts of the system) and it currently is not enabled to wake up the system (that is, device_may_wakeup() returns "false" for it), we may need to change its wakeup settings during system suspend (for example, the device might have been configured to signal remote wakeup from the system's working state, as needed by runtime PM). Therefore the generic PM domains code should invoke the system suspend callbacks provided by the device's driver, which it doesn't do if the PM domain is powered off during the system suspend's "prepare" stage. This is a valid point. Moreover, this code also should make sure that system wakeup devices that are enabled to wake up the system from sleep states and have to remain active for this purpose are not suspended while the system is in a sleep state. To avoid the above issues, make the generic PM domains' .prepare() routine, pm_genpd_prepare(), force runtime resume of devices whose system wakeup settings may need to be changed during system suspend or that should remain active while the system is in a sleep state to be able to wake it up from that state. Reported-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit 697a7f3727b53c7d4c927948bbe1f6afc4fabfde Author: Rafael J. Wysocki Date: Tue Jul 12 00:39:48 2011 +0200 PM / Domains: Do not restore all devices on power off error Since every device in a PM domain has its own need_restore flag, which is set by __pm_genpd_save_device(), there's no need to walk the domain's device list and restore all devices on an error from one of the drivers' .runtime_suspend() callbacks. Signed-off-by: Rafael J. Wysocki commit c6d22b37263607ba5aeeb2e11169fa65caa29bee Author: Rafael J. Wysocki Date: Tue Jul 12 00:39:36 2011 +0200 PM / Domains: Allow callbacks to execute all runtime PM helpers A deadlock may occur if one of the PM domains' .start_device() or .stop_device() callbacks or a device driver's .runtime_suspend() or .runtime_resume() callback executed by the core generic PM domain code uses a "wrong" runtime PM helper function. This happens, for example, if .runtime_resume() from one device's driver calls pm_runtime_resume() for another device in the same PM domain. A similar situation may take place if a device's parent is in the same PM domain, in which case the runtime PM framework may execute pm_genpd_runtime_resume() automatically for the parent (if it is suspended at the moment). This, of course, is undesirable, so the generic PM domains code should be modified to prevent it from happening. The runtime PM framework guarantees that pm_genpd_runtime_suspend() and pm_genpd_runtime_resume() won't be executed in parallel for the same device, so the generic PM domains code need not worry about those cases. Still, it needs to prevent the other possible race conditions between pm_genpd_runtime_suspend(), pm_genpd_runtime_resume(), pm_genpd_poweron() and pm_genpd_poweroff() from happening and it needs to avoid deadlocks at the same time. To this end, modify the generic PM domains code to relax synchronization rules so that: * pm_genpd_poweron() doesn't wait for the PM domain status to change from GPD_STATE_BUSY. If it finds that the status is not GPD_STATE_POWER_OFF, it returns without powering the domain on (it may modify the status depending on the circumstances). * pm_genpd_poweroff() returns as soon as it finds that the PM domain's status changed from GPD_STATE_BUSY after it's released the PM domain's lock. * pm_genpd_runtime_suspend() doesn't wait for the PM domain status to change from GPD_STATE_BUSY after executing the domain's .stop_device() callback and executes pm_genpd_poweroff() only if pm_genpd_runtime_resume() is not executed in parallel. * pm_genpd_runtime_resume() doesn't wait for the PM domain status to change from GPD_STATE_BUSY after executing pm_genpd_poweron() and sets the domain's status to GPD_STATE_BUSY and increments its counter of resuming devices (introduced by this change) immediately after acquiring the lock. The counter of resuming devices is then decremented after executing __pm_genpd_runtime_resume() for the device and the domain's status is reset to GPD_STATE_ACTIVE (unless there are more resuming devices in the domain, in which case the status remains GPD_STATE_BUSY). This way, for example, if a device driver's .runtime_resume() callback executes pm_runtime_resume() for another device in the same PM domain, pm_genpd_poweron() called by pm_genpd_runtime_resume() invoked by the runtime PM framework will not block and it will see that there's nothing to do for it. Next, the PM domain's lock will be acquired without waiting for its status to change from GPD_STATE_BUSY and the device driver's .runtime_resume() callback will be executed. In turn, if pm_runtime_suspend() is executed by one device driver's .runtime_resume() callback for another device in the same PM domain, pm_genpd_poweroff() executed by pm_genpd_runtime_suspend() invoked by the runtime PM framework as a result will notice that one of the devices in the domain is being resumed, so it will return immediately. Signed-off-by: Rafael J. Wysocki commit 17b75eca7683d4942f4d8d00563fd15f37c39589 Author: Rafael J. Wysocki Date: Tue Jul 12 00:39:29 2011 +0200 PM / Domains: Do not execute device callbacks under locks Currently, the .start_device() and .stop_device() callbacks from struct generic_pm_domain() as well as the device drivers' runtime PM callbacks used by the generic PM domains code are executed under the generic PM domain lock. This, unfortunately, is prone to deadlocks, for example if a device and its parent are boths members of the same PM domain. For this reason, it would be better if the PM domains code didn't execute device callbacks under the lock. Rework the locking in the generic PM domains code so that the lock is dropped for the execution of device callbacks. To this end, introduce PM domains states reflecting the current status of a PM domain and such that the PM domain lock cannot be acquired if the status is GPD_STATE_BUSY. Make threads attempting to acquire a PM domain's lock wait until the status changes to either GPD_STATE_ACTIVE or GPD_STATE_POWER_OFF. This change by itself doesn't fix the deadlock problem mentioned above, but the mechanism introduced by it will be used for for this purpose by a subsequent patch. Signed-off-by: Rafael J. Wysocki commit b6c10c84665912985d0bf9b6ae8ce19fc4298d9f Author: Rafael J. Wysocki Date: Tue Jul 12 00:39:21 2011 +0200 PM / Domains: Make failing pm_genpd_prepare() clean up properly If pm_generic_prepare() in pm_genpd_prepare() returns error code, the PM domains counter of "prepared" devices should be decremented and its suspend_power_off flag should be reset if this counter drops down to zero. Otherwise, the PM domain runtime PM code will not handle the domain correctly (it will permanently think that system suspend is in progress). Signed-off-by: Rafael J. Wysocki commit 6f00ff78278fd5d6ac110b6903ee042af2d6af91 Author: Rafael J. Wysocki Date: Tue Jul 12 00:39:10 2011 +0200 PM / Domains: Set device state to "active" during system resume The runtime PM status of devices in a power domain that is not powered off in pm_genpd_complete() should be set to "active", because those devices are operational at this point. Some of them may not be in use, though, so make pm_genpd_complete() call pm_runtime_idle() in addition to pm_runtime_set_active() for each of them. Signed-off-by: Rafael J. Wysocki commit a67792789868d95d14e46a7b6e0c1f214a6fcfb1 Author: Wey-Yi Guy Date: Mon Jul 11 10:47:39 2011 -0700 iwlagn: fix warning in testmode attribute table Fix the compile warning cause by [IWL_TM_ATTR_MAX - 1] Reported-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9dff387046ef20547236b75dd0d095904e4c0779 Author: Mohammed Shafi Shajakhan Date: Mon Jul 11 20:14:14 2011 +0530 ath9k: remove an unnecessary function declaration Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 43bf8c245237b8309153aa39d4e8f1586cf56af0 Author: Eduardo Bacchi Kienetz Date: Sun Jul 10 17:05:14 2011 +0200 rt2800usb: Add new device ID for Belkin Belkin's Connect N150 Wireless USB Adapter, model F7D1101 version 2, uses ID 0x945b. Chipset info: rt: 3390, rf: 000b, rev: 3213. I have just bought one, which started to work perfectly after the ID was added through this patch. Signed-off-by: Eduardo Bacchi Kienetz Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3ffca4fc404f056ecd79e57515dd7c2670db1fbf Author: Joe Perches Date: Sun Jul 10 02:28:26 2011 -0700 ath5k: Add missing breaks in switch/case Signed-off-by: Joe Perches Acked-by: Pavel Roskin Signed-off-by: John W. Linville commit 1288aa4e80145d9f4196df32f717b4c1cf6aab61 Author: Larry Finger Date: Sat Jul 9 13:15:58 2011 -0500 rtlwifi: rtl8192cu: Fix duplicate if test A typo causes routine rtl92cu_phy_rf6052_set_cck_txpower() to test the same condition twice. The problem was found using cppcheck-1.49, and the proper fix was verified against the pre-mac80211 version of the code. Reported-by: David Binderman Signed-off-by: Larry Finger Cc: stable [back to 2.6.39] Signed-off-by: John W. Linville commit df90d84382b03faf81637db31b6be14f477482c7 Author: Daniel Drake Date: Sat Jul 9 15:41:25 2011 +0100 libertas: fix handling of command timeout, completion and interruption When commands time out, corruption ensues. As lbs_complete_command() is called without locking, the command node is mistakenly freed twice. Also fixed up locking here in a few other places. The nature of command timeout may be that the card didn't even acknowledge receipt of the request. Detect this case and reset dnld_sent so that other commands don't hang forever. When cmdnodes are moved between the free list and the pending list, their list heads should be reinitialized. Fixed this. Sometimes commands are completed without actually submitting them or removing them from cmdpendingq. We must remember to remove them from cmdpendingq in these cases, so handle this in lbs_complete_command(). Harmless signals generated during suspend/resume were interrupting lbs_cmd. Convert to an uninterruptible sleep to avoid this. lbs_thread must be woken up every time there is some new work to do. I found that when 2 commands are queued, ther completion of the first command would not wake up lbs_thread to submit the second. Poke lbs_thread at the end of lbs_complete_command() to fix this. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 55d990592f83cbfabfefde6e32bf27d4e7493d0c Author: Johannes Berg Date: Sat Jul 9 15:39:16 2011 +0200 mac80211: allocate only one RX queue We don't have multiple RX queues, so there's no use in allocating multiple, use alloc_netdev_mqs() to allocate multiple TX but only one RX queue. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f15220eaa7296154aace6832791a82188dddb8fd Author: Johannes Berg Date: Sat Jul 9 14:48:31 2011 +0200 mac80211: fix docbook I changed the TKIP key functions, but forgot to update the documentation includes, fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit af71ff85047b744d37872491f485f7a1e0677990 Author: Johannes Berg Date: Sat Jul 9 14:48:30 2011 +0200 cfg80211: fix docbook Looks like I forgot to document the "gfp" parameter to cfg80211_gtk_rekey_notify, add it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 534e7a4566ca5fd3c0c92a655bcbaa6f9bd13042 Author: Hauke Mehrtens Date: Sat Jul 9 13:22:03 2011 +0200 bcma: add check if sprom is available before accessing it. The SoCs like the bcm4716 do not have a sprom on the bcma bus like a pcie device. It stores the values in some partition on flash memory. For ssb this informations are read out in the bcm47xx arch code, something like that should also be implemented for bcma. Without this patch bcma panics on SoCs. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit edcc3604805b37344d0569b61a34dbe22943ba9f Author: Olivier Sobrie Date: Sat Jul 9 12:57:05 2011 +0200 libertas: fix errors in functions accessing module registers Problems located in the two functions lbs_set_reg() and lbs_get_reg(): - The offset field of struct cmd_ds_reg_access was not filled in - The test on the return code of lbs_cmd_with_response() in function lbs_get_reg() was inverted Signed-off-by: Olivier Sobrie Signed-off-by: John W. Linville commit 6a2a0e738225fc9ec063f84b79f0adf5c0ed176c Author: Pavel Roskin Date: Sat Jul 9 00:17:51 2011 -0400 ath5k: fix typos, bad comment formatting and GHz in place of MHz Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 86fbe17d7f0856f4111e1ceaf3f5c399315fb4e7 Author: Pavel Roskin Date: Sat Jul 9 00:17:45 2011 -0400 ath5k: validate mode in ath5k_ani_init() before trying to set it Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 21394754bcca59aeb4a0b74c95c0220bb727808f Author: Felix Fietkau Date: Sat Jul 9 11:12:54 2011 +0700 ath9k_hw: add a missing delay for an analog register AR_AN_SYNTH9 is in the analog shift register range and thus needs to be written using the ath9k_hw_analog_shift_rmw function. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 7d865c7080b3cb9d95eaf7d40343712e582fc3e7 Author: Felix Fietkau Date: Sat Jul 9 11:12:53 2011 +0700 ath9k_hw: fix synth delay for half/quarter channels The radio needs twice / four times as much time to stabilize for half/quarter channels. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0407cf1c7f0fdbecab7efbd8214ac2d1196a67f9 Author: Felix Fietkau Date: Sat Jul 9 11:12:52 2011 +0700 ath9k_hw: set 5 GHz half/quarter channels on AR9002 using fractional mode The radio seems to perform better that way Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit fe2b6afbce05abe90d31651d3b92c88e0abc5ecb Author: Felix Fietkau Date: Sat Jul 9 11:12:51 2011 +0700 ath9k_hw: remove ar9287 v1.3+ specific hardcoded register hacks Now that the clock rate is initialized properly and SIFS, EIFS, USEC, slot time and ACK timeout are properly calculated by the generic code, the 'async FIFO' register hacks are no longer necessary. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b6ba41bb27eb9810d54e2301355ce56fd0e94a1a Author: Felix Fietkau Date: Sat Jul 9 11:12:50 2011 +0700 ath9k_hw: initialize more timing related registers for half/quarter channels Initialize the the clock-to-TSF field of AR_USEC and the SIFS and EIFS time registers based on the clock rate instead of relying on initvals. With those changes, some of the hardcoded AR9287 1.3+ specific overrides can be dropped. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 087b6ff682ff62c49c9a36ddfd24fc781367b1d1 Author: Felix Fietkau Date: Sat Jul 9 11:12:49 2011 +0700 ath9k_hw: fix MAC clock rate for AR9287 v1.3+ This chip uses the async FIFO feature and runs the MAC at 117 MHz Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 906c720527b23ba8c99683ea5f9ea1f9d7749e8c Author: Felix Fietkau Date: Sat Jul 9 11:12:48 2011 +0700 ath9k_hw: fix MAC clock for half/quarter rate Enabling half/quarter rate makes the MAC run at half/quarter clock speed. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a949b1725c38775fb869d24433f13d2d104de145 Author: Felix Fietkau Date: Sat Jul 9 11:12:47 2011 +0700 ath9k_hw: always enable 5 GHz fast clock for AR9280 All devices support this, but some disable it using an EEPROM flag for some reason. Improves 5 GHz performance on those devices. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 804f6acb7cea1ea5b3e0ded1bf037f9bf02f1124 Author: Felix Fietkau Date: Sat Jul 9 11:12:46 2011 +0700 ath9k_hw: remove hardcoded PLL overrides for AR9280 Use the proper masks for the register instead. Fixes adding the (still unused) half/quarter PLL flags. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cd27bc3c3efb95ee20e5b627c483eb9513cd0350 Author: Amitkumar Karwar Date: Fri Jul 8 20:40:30 2011 -0700 mwifiex: 11n specific configuration for transmit Currently device is not able to transmit in 40MHz in spite of enabling 40MHz support in HTCapInfo IE in assoc req, because 11n specific FW capabilities for transmission are not initialized. This patch adds code to initilize these capabilities. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 5c3d29fc0d083e674c09407f1bc78e9dbf4ae8a5 Author: Don Fry Date: Fri Jul 8 08:46:29 2011 -0700 iwlagn: remove iwlagn_hcmd_utils structure and call directly Not needed since the driver split. Move single use routines to calling location and keep static where possible. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4e308119771573f949203f9f4732bcbfb9628279 Author: Wey-Yi Guy Date: Fri Jul 8 08:46:28 2011 -0700 iwlagn: separate and enhance the fixed rate from For testing purpose, we need better control of msc from user application. Separate the fixed_rate between debugfs and testmode and enforce it. Signed-off-by: Kenny Hsu Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit eedb6e357a4b1bd3d7e4544e77fbd71718492547 Author: Wey-Yi Guy Date: Fri Jul 8 08:46:27 2011 -0700 iwlagn: block regular host commands if driver don't own uCode The only host command allow to send to uCode is the one initiated from testmode if testmode is the owner of uCode Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e98a1939a2d75354631487328339fe8d2117fce9 Author: Wey-Yi Guy Date: Fri Jul 8 08:46:26 2011 -0700 iwlagn: allow application own the uCode operation Since we open the door to allow application control the device behavior through testmode, add command to allow application request the ownership of the uCode Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c7c1115b8ff485d3a48b70bb7135776a696778ad Author: Wey-Yi Guy Date: Fri Jul 8 08:46:25 2011 -0700 iwlagn: add CMD_ON_DEMAND flag for host command from testmode For all the hist command request from testmode, set the CMD_ON_DEMAND flag. this flag will be used later to control the uCode behavior Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3a3b14c26cd285b4f4700bf10ea634bbbe73eac6 Author: Wey-Yi Guy Date: Fri Jul 8 08:46:24 2011 -0700 iwlagn: declare static Declare iwl_mac_rssi_callback as "static" Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 207ecc5eab908843449c167f7264a35d7d5d5e0b Author: Meenakshi Venkataraman Date: Fri Jul 8 08:46:23 2011 -0700 iwlagn: Enable/disable PS poll based on RSSI and BT coex traffic state WiFi throughput drops drastically when BT is turned on, BT and WiFi are simultaneously transmitting/receiving traffic. This is particularly true when BT has higher priority over WiFi, and hence the device defers TX frames. The AP assumes that the channel is bad and reduces the data rate, implying longer airtime, which exacerbates the problem further, resulting ultimately in what is popularly called the "death-spiral" phenomenon. The use of PS-poll in such scenarios guarantees a low but consistent throughput. Since the death-spiral phenomenon is observed only when the RSSI is low, use PS-poll only when RSSI is low and disable when high, with a known hysterisis. This feature specifies the high and low thresholds and implements the callbacks registered with mac80211, which will be called when threshold events occur. iwlwifi: dynamic pspoll: optimize rssi monitor code Signed-off-by: Meenakshi Venkataraman Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 615f7b9bb1f8e0e3188470245cec44f175189084 Author: Meenakshi Venkataraman Date: Fri Jul 8 08:46:22 2011 -0700 mac80211: add driver RSSI threshold events mac80211 maintains a running average of the RSSI when a STA is associated to an AP. Report threshold events to any driver that has registered callbacks for getting RSSI measurements. Implement callbacks in mac80211 so that driver can set thresholds. Add callbacks in mac80211 which is invoked when an RSSI threshold event occurs. mac80211: add tracing to rssi_reports api and remove extraneous fn argument mac80211: scale up rssi thresholds from driver by 16 before storing Signed-off-by: Meenakshi Venkataraman Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0a49b2c2a6bf2f774675e472afe68951900596fb Author: Wey-Yi Guy Date: Fri Jul 8 08:46:21 2011 -0700 iwlagn: use bt handler for 2030 and 135 series devices For bt combo devices, need to use bt enabled handlers and functions Reported-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 909fc3cba374560ada33a7dc3ab242d0f1d2a135 Author: Wey-Yi Guy Date: Fri Jul 8 08:46:20 2011 -0700 iwlagn: remove double level temperature indirect call No need to do double level indirect call after driver split no functional changes Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 70e3e8a6e831bf58a7eb98187c186221f01d5b64 Author: Fry, Donald H Date: Fri Jul 8 08:46:19 2011 -0700 iwlagn: remove indirection for eeprom_query_addr Not needed since the driver split. Eliminate redundant routine. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e4c598b7ce36f4416f7672617265bc1fa92e5a5f Author: Fry, Donald H Date: Fri Jul 8 08:46:18 2011 -0700 iwlagn: remove the indirection for iwl_apm_init Not needed since the driver split. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6b6db91c8aa14fa9bd041321026d69b9f6ea42ff Author: Fry, Donald H Date: Fri Jul 8 08:46:17 2011 -0700 iwlagn: remove the indirection for update_chain_flags Not needed since the driver split. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit bdfbf0924ab05e02d28e50bd2d5024097642a78d Author: Emmanuel Grumbach Date: Fri Jul 8 08:46:16 2011 -0700 iwlagn: provide heplers to access the transport ops This removes the for priv->trans.ops->... Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 02f6f659b0080e60021aae3503163576f88c5ba8 Author: Wey-Yi Guy Date: Fri Jul 8 08:46:15 2011 -0700 iwlagn: remove the indirection for the dma channel num Not needed since the driver split. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e419d62d72b23392e7f9a5da047fb17d70edc54a Author: Emmanuel Grumbach Date: Fri Jul 8 08:46:14 2011 -0700 iwlagn: consolidate the API that sends host commands and move to transport Now, there are only two functions to send a host command: * send_cmd that receives a iwl_host_cmd * send_cmd_pdu that builds the iwl_host_cmd itself and received flags The flags CMD_ASYNC / CMD_SYNC / CMD_WANT_SKB are not changed by the API functions. Kill the unused flags CMD_SIZE_NORMAL / CMD_NO_SKB on the way. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 06f491ef4b659fa6f6850f31d05a4a03db0d9d96 Author: Emmanuel Grumbach Date: Fri Jul 8 08:46:13 2011 -0700 iwlagn: remove code duplication Code duplication was needed during the move, not needed any more. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c170b867cc119fb9f6e9cac3a8245a3347bc718c Author: Emmanuel Grumbach Date: Fri Jul 8 08:46:12 2011 -0700 iwlagn: add an API for TX stop Tx stop moves to transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c2c52e8bed1a186d060166ec57228e2a123cab2e Author: Emmanuel Grumbach Date: Fri Jul 8 08:46:11 2011 -0700 iwlagn: add an API for RX stop Rx stop moves to transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1359ca4f305a1680ea6a1347a43bea76c352097c Author: Emmanuel Grumbach Date: Fri Jul 8 08:46:10 2011 -0700 iwlagn: add an API to free the TX context Tx free functions move to the transport layer. Unify the functions that deal with tx queues and cmd queue. Since the CMD queue is not fully allocated, but uses the q->n_bd / q->window trick, the release flow of TX queue and CMD queue was different. iwlagn_txq_free_tfd receives now the index of the TFD to be freed, which allows to unify the release flow for all the queues. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit afaf6b5742f85bab46232faae97fdd1493061173 Author: Emmanuel Grumbach Date: Fri Jul 8 08:46:09 2011 -0700 iwlagn: remove the CMD_MAPPED flag It is uneeded since Johannes removed the HUGE flag. The DMA mapping is always held in the same index as the command. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4b42c542afbc119c4012324ea80e0c5a89afea4f Merge: d859898 e2fd318 Author: John W. Linville Date: Mon Jul 11 14:58:22 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 Conflicts: net/bluetooth/l2cap_core.c commit d8598981146241064993e371cea8333f59553cb6 Merge: 8ae2e12 3445951 Author: John W. Linville Date: Mon Jul 11 14:46:59 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/ath/ath5k/sysfs.c net/bluetooth/l2cap_core.c net/mac80211/wpa.c commit 3c52b7bf6967e53dec3fbbcf99fee65e49e600df Author: Raghavendra D Prabhu Date: Sat Jul 9 21:59:07 2011 +0530 xen:pvhvm: Modpost section mismatch fix Removing __init from check_platform_magic since it is called by xen_unplug_emulated_devices in non-init contexts (It probably gets inlined because of -finline-functions-called-once, removing __init is more to avoid mismatch being reported). Signed-off-by: Raghavendra D Prabhu Acked-by: Stefano Stabellini Signed-off-by: Konrad Rzeszutek Wilk commit 97ffab1f14638d2c95ad986ce735481d164a0bd2 Author: Konrad Rzeszutek Wilk Date: Wed Jul 6 13:03:35 2011 -0400 xen/pci: Use 'acpi_gsi_to_irq' value unconditionally. In the past we would only use the function's value if the returned value was not equal to 'acpi_sci_override_gsi'. Meaning that the INT_SRV_OVR values for global and source irq were different. But it is OK to use the function's value even when the global and source irq are the same. Signed-off-by: Konrad Rzeszutek Wilk commit 78316ada2222b5e3abc043eea7644e12319042d6 Author: Konrad Rzeszutek Wilk Date: Wed Jul 6 15:15:23 2011 -0400 xen/pci: Remove 'xen_allocate_pirq_gsi'. In the past (2.6.38) the 'xen_allocate_pirq_gsi' would allocate an entry in a Linux IRQ -> {XEN_IRQ, type, event, ..} array. All of that has been removed in 2.6.39 and the Xen IRQ subsystem uses an linked list that is populated when the call to 'xen_allocate_irq_gsi' (universally done from any of the xen_bind_* calls) is done. The 'xen_allocate_pirq_gsi' is a NOP and there is no need for it anymore so lets remove it. Signed-off-by: Konrad Rzeszutek Wilk commit 34b1d1269d9fdaa1558e3014c3cc03ac0967de95 Author: Konrad Rzeszutek Wilk Date: Wed Jun 15 14:43:52 2011 -0400 xen/pci: Retire unnecessary #ifdef CONFIG_ACPI As the code paths that are guarded by CONFIG_XEN_DOM0 already depend on CONFIG_ACPI so the extra #ifdef is not required. The earlier patch that added them in had done its job. Signed-off-by: Konrad Rzeszutek Wilk commit 9b6519db5e226c0c83acddf788b7091b751fbb75 Author: Konrad Rzeszutek Wilk Date: Mon Jun 6 14:20:35 2011 -0400 xen/pci: Move the allocation of IRQs when there are no IOAPIC's to the end .. which means we can preset of NR_IRQS_LEGACY interrupts using the 'acpi_get_override_irq' API before this loop. This means that we can get the IRQ's polarity (and trigger) from either the ACPI (or MP); or use the default values. This fixes a bug if we did not have an IOAPIC we would not been able to preset the IRQ's polarity if the MP table existed. Signed-off-by: Konrad Rzeszutek Wilk commit a0ee05670915006564962114d4211dd578a8b28a Author: Konrad Rzeszutek Wilk Date: Thu Jun 9 09:49:13 2011 -0400 xen/pci: Squash pci_xen_initial_domain and xen_setup_pirqs together. Since they are only called once and the rest of the pci_xen_* functions follow the same pattern of setup. Signed-off-by: Konrad Rzeszutek Wilk commit ed89eb6396b3307bf9aaa4785f6a0914a68040cf Author: Konrad Rzeszutek Wilk Date: Wed Jul 6 12:42:43 2011 -0400 xen/pci: Use the xen_register_pirq for HVM and initial domain users .. to cut down on the code duplicity. Signed-off-by: Konrad Rzeszutek Wilk commit 30bd35edfd5c82147bdcf0540c6bd3cf92d101f8 Author: Konrad Rzeszutek Wilk Date: Wed Jul 6 10:48:22 2011 -0400 xen/pci: In xen_register_pirq bind the GSI to the IRQ after the hypercall. Not before .. also that code segment starts looking like the HVM one. Signed-off-by: Konrad Rzeszutek Wilk commit d92edd814e3c9d9105de55b14c8958b1f8f20269 Author: Konrad Rzeszutek Wilk Date: Wed Jul 6 10:41:47 2011 -0400 xen/pci: Provide #ifdef CONFIG_ACPI to easy code squashing. In the past we would guard those code segments to be dependent on CONFIG_XEN_DOM0 (which depends on CONFIG_ACPI) so this patch is not stricly necessary. But the next patch will merge common HVM and initial domain code and we want to make sure the CONFIG_ACPI dependency is preserved - as HVM code does not depend on CONFIG_XEN_DOM0. Signed-off-by: Konrad Rzeszutek Wilk commit 996c34aee3525c0ef91052af0e425e87d83ba6e0 Author: Konrad Rzeszutek Wilk Date: Mon Jun 6 12:22:23 2011 -0400 xen/pci: Update comments and fix empty spaces. Update the out-dated comment at the beginning of the file. Also provide the copyrights of folks who have been contributing to this code lately. Signed-off-by: Konrad Rzeszutek Wilk commit fef6e26208879f76bada77c11c80d56ebacb32e4 Author: Konrad Rzeszutek Wilk Date: Wed Jul 6 10:16:21 2011 -0400 xen/pci: Shuffle code around. The file is hard to read. Move the code around so that the contents of it follows a uniform format: - setup GSIs - PV, HVM, and initial domain case - then MSI/MSI-x setup - PV, HVM and then initial domain case. - then MSI/MSI-x teardown - same order. - lastly, the __init functions in PV, HVM, and initial domain order. Signed-off-by: Konrad Rzeszutek Wilk commit b2ce39740066604288876c752d8170b3b17a21aa Author: Alex Elder Date: Mon Jul 11 09:51:44 2011 -0500 Revert "xfs: fix filesystsem freeze race in xfs_trans_alloc" This reverts commit 7a249cf83da1813cfa71cfe1e265b40045eceb47. That commit created a situation that could lead to a filesystem hang. As Dave Chinner pointed out, xfs_trans_alloc() could hold a reference to m_active_trans (i.e., keep it non-zero) and then wait for SB_FREEZE_TRANS to complete. Meanwhile a filesystem freeze request could set SB_FREEZE_TRANS and then wait for m_active_trans to drop to zero. Nobody benefits from this sequence of events... Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 7fece83235a59b15d75d6c8ef2225c24abd4505b Author: Naga Chumbalkar Date: Fri Jul 8 18:46:42 2011 +0000 x86, ioapic: Also print Dest field The code in setup_ioapic_irq() determines the Destination Field, so why not also include it in the debug printk output that gets displayed when the boot parameter "apic=debug" is used. Before the change, "dmesg" will show: IOAPIC[0]: Set routing entry (8-1 -> 0x31 -> IRQ 1 Mode:0 Active:0) IOAPIC[0]: Set routing entry (8-2 -> 0x30 -> IRQ 0 Mode:0 Active:0) IOAPIC[0]: Set routing entry (8-3 -> 0x33 -> IRQ 3 Mode:0 Active:0) ... After the change, you will see: IOAPIC[0]: Set routing entry (8-1 -> 0x31 -> IRQ 1 Mode:0 Active:0 Dest:0) IOAPIC[0]: Set routing entry (8-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:0) IOAPIC[0]: Set routing entry (8-3 -> 0x33 -> IRQ 3 Mode:0 Active:0 Dest:0) ... Signed-off-by: Naga Chumbalkar Link: http://lkml.kernel.org/r/20110708184603.2734.91071.sendpatchset@nchumbalkar.americas.cpqcorp.net Signed-off-by: Ingo Molnar commit bd6a46e087571897f0b2736917500b97d18dac13 Author: Naga Chumbalkar Date: Fri Jul 8 18:46:36 2011 +0000 x86, ioapic: Format clean up for IOAPIC output When IOAPIC data is displayed in "dmesg" with the help of the boot parameter "apic=debug" certain values are not formatted correctly wrt their size. In the "dmesg" snippet below, note that the output for "max redirection entries", and "IO APIC version" which are each defined to be just 8-bits long are displayed as 2 bytes in length. Similarly, "Dst" under the "IRQ redirection table" should only be 8-bits long. IO APIC #0...... ... ... .... register #01: 00170020 ....... : max redirection entries: 0017 ....... : PRQ implemented: 0 ....... : IO APIC version: 0020 ... ... .... IRQ redirection table: NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect: 00 000 1 0 0 0 0 0 0 00 01 000 0 0 0 0 0 0 0 31 02 000 0 0 0 0 0 0 0 30 03 000 1 0 0 0 0 0 0 33 ... ... Do some formatting clean up, so you will see output like below: IO APIC #0...... ... ... .... register #01: 00170020 ....... : max redirection entries: 17 ....... : PRQ implemented: 0 ....... : IO APIC version: 20 ... ... .... IRQ redirection table: NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect: 00 00 1 0 0 0 0 0 0 00 01 00 0 0 0 0 0 0 0 31 02 00 0 0 0 0 0 0 0 30 03 00 1 0 0 0 0 0 0 33 ... ... Signed-off-by: Naga Chumbalkar Link: http://lkml.kernel.org/r/20110708184557.2734.61830.sendpatchset@nchumbalkar.americas.cpqcorp.net Signed-off-by: Ingo Molnar commit 04da85b86188f224cc9b391b5bdd92a3ba20ffcf Author: Steven Rostedt Date: Mon Jul 11 10:12:59 2011 -0400 ftrace: Fix warning when CONFIG_FUNCTION_TRACER is not defined The struct ftrace_hash was declared within CONFIG_FUNCTION_TRACER but was referenced outside of it. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 3d6aa675fff9eee5a6339d67b355b63a6d69565f Author: David Teigland Date: Wed Jul 6 17:00:54 2011 -0500 dlm: keep lkbs in idr This is simpler and quicker than the hash table, and avoids needing to search the hash list for every new lkid to check if it's used. Signed-off-by: David Teigland commit a22ca4806822154c163c6f220f4c2a05adf96fc7 Author: David Teigland Date: Mon Jul 11 08:40:53 2011 -0500 dlm: fix kmalloc args The gfp and size args were switched. Signed-off-by: David Teigland commit 5d70828a7703b1f68e2fd4ce4b42b28d9623f52b Author: Jesper Juhl Date: Sun Jul 10 22:54:31 2011 +0200 dlm: don't do pointless NULL check, use kzalloc and fix order of arguments In fs/dlm/lock.c in the dlm_scan_waiters() function there are 3 small issues: 1) There's no need to test the return value of the allocation and do a memset if is succeedes. Just use kzalloc() to obtain zeroed memory. 2) Since kfree() handles NULL pointers gracefully, the test of 'warned' against NULL before the kfree() after the loop is completely pointless. Remove it. 3) The arguments to kmalloc() (now kzalloc()) were swapped. Thanks to Dr. David Alan Gilbert for pointing this out. Signed-off-by: Jesper Juhl Signed-off-by: David Teigland commit 6be914f11db8e88d11b08d6c496624dbbd642d80 Author: Nikolai Kondrashov Date: Wed Jul 6 09:23:41 2011 +0300 HID: uclogic: Add support for UC-Logic WP1062 Add support for UC-Logic Tablet WP1062 by fixing its report descriptor. This tablet is sold as Monoprice 10X6.25 Inches Graphic Drawing Tablet. Signed-off-by: Nikolai Kondrashov Signed-off-by: Jiri Kosina commit 3c1c2fce64fdfa2f0c0ff4fffb3bb171ea6361ca Author: David Herrmann Date: Tue Jul 5 13:45:19 2011 +0200 HID: wiimote: Add sysfs support to wiimote driver Add sysfs files for each led of the wiimote. Writing 1 to the file enables the led and 0 disables the led. We do not need memory barriers when checking wdata->ready since we use a spinlock directly after it. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit 32a0d9a522b577d0efa6ce793a6ac0516c5e3627 Author: David Herrmann Date: Tue Jul 5 13:45:18 2011 +0200 HID: wiimote: Cache wiimote led state Save the current state of the leds in the wiimote data structure. This allows us to discard new led requests that wouldn't change anything. Protect the whole state structure by a spinlock. Every wiiproto_* function expects this spinlock to be held when called. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit db3083467f1527816fca95ae2d8bfe5d81503a8e Author: David Herrmann Date: Tue Jul 5 13:45:17 2011 +0200 HID: wiimote: Add wiimote led request Add new request that sets the leds on the target device. Also, per default, set led1 after initializing a device. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit 1abb9ad389f037612b6ba6b0dede2095c59cd2fa Author: David Herrmann Date: Tue Jul 5 13:45:16 2011 +0200 HID: wiimote: Add wiimote input button parser Parse input report 0x30 from the wiimote as button input. We need to send events for all buttons on every input report because the wiimote does not send events for single buttons but always for all buttons to us. The input layer, however, filters redundant events. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit a4d19197627e2a8645cccd9039edf513c6384297 Author: David Herrmann Date: Tue Jul 5 13:45:15 2011 +0200 HID: wiimote: Add wiimote event handler Create array of all event handlers and call each handler when we receive the related event. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit 23c063cb02b69244bbc215cb81c2cad0208fbecf Author: David Herrmann Date: Tue Jul 5 13:45:14 2011 +0200 HID: wiimote: Add output queue for wiimote driver The raw hid output function that is supported by bluetooth low-level hid driver does not provide an output queue and also may sleep. The wiimote driver, though, may need to send data in atomic context so this patch adds a buffered output queue for the wiimote driver. We use the shared workqueue to send our buffer to the hid device. There is always only one active worker which flushes the whole output queue to the device. If our queue is full, every further output is discarded. Special care is needed in the deinitialization routine. When wiimote_hid_remove is called, HID input is already disabled, but HID output may still be used from our worker and is then discarded by the lower HID layers. Therefore, we can safely disable the input layer since it is the only layer that still sends input events. Future sysfs attributes must be freed before unregistering input to avoid the sysfs handlers to send input events to a non-existing input layer. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit 0c218f14487fd67e60059458c48b43cc3d36b96e Author: David Herrmann Date: Tue Jul 5 13:45:13 2011 +0200 HID: wiimote: Add wiimote send function The wiimote driver needs to send raw output reports to the wiimote device. Otherwise we could not manage the peripherals of the wiimote or perform memory operations on the wiimote. We cannot use hidinput_input_event of the lowlevel hid driver, since this does not accept raw input. Therefore, we need to use the same function that hidraw uses to send output. Side effect is, the raw output function is not buffered and can sleep. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit 4d36e9754f6b71870a476e84f418a864c2ddf77c Author: David Herrmann Date: Tue Jul 5 13:45:12 2011 +0200 HID: wiimote: Synchronize wiimote input and hid event handling The wiimote first starts HID hardware and then registers the input device. We need to synchronize the startup so no event handler will start parsing events when the wiimote device is not ready, yet. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit 672bc4e090c9a2c655c28f8295e981609a1b84ba Author: David Herrmann Date: Tue Jul 5 13:45:11 2011 +0200 HID: wiimote: Register input device in wiimote hid driver Register input device so the wiimote can report input events on it. We do not use HIDINPUT because the wiimote does not provide any descriptor table which might be used by HIDINPUT. So we avoid having HIDINPUT parse the wiimote descriptor and create unrelated or unknown event flags. Instead we register our own input device that we have full control of. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit e894d0e3e06650510c70e50b317dfaba5295f4db Author: David Herrmann Date: Tue Jul 5 13:45:10 2011 +0200 HID: wiimote: Add wiimote device structure Allocate wiimote device structure with all wiimote related data when registering new wiimote devices. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit 02fb72a06ae1ed55b4373a4c678f25d70fd65902 Author: David Herrmann Date: Tue Jul 5 13:45:09 2011 +0200 HID: wiimote: Register wiimote hid driver stub The wiimote uses a fake HID protocol. Hence, we need to prevent HIDINPUT and HIDDEV from parsing wiimote data and instead parse raw hid events. Add VID/PID to hid-core so the special driver is loaded on new wiimotes. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit fb51b44385a0ded0d629d5cf4a2095f80fb01b56 Author: David Herrmann Date: Tue Jul 5 13:45:08 2011 +0200 HID: wiimote: Add Nintendo Wii Remote driver stub Add stub driver for the Nintendo Wii Remote. The wii remote uses the HID protocol to communicate with the host over bluetooth. Hence, add dependency for HIDP and place driver in hid subsystem. Signed-off-by: David Herrmann Signed-off-by: Jiri Kosina commit f610b74b14d74a069f61583131e689550fd5bab3 Author: David S. Miller Date: Mon Jul 11 01:37:28 2011 -0700 ipv4: Use universal hash for ARP. We need to make sure the multiplier is odd. Signed-off-by: David S. Miller commit cd0893369ca85fd11bc517081b2d9079d2ef2f90 Author: David S. Miller Date: Mon Jul 11 01:28:12 2011 -0700 neigh: Store hash shift instead of mask. And mask the hash function result by simply shifting down the "->hash_shift" most significant bits. Currently which bits we use is arbitrary since jhash produces entropy evenly across the whole hash function result. But soon we'll be using universal hashing functions, and in those cases more entropy exists in the higher bits than the lower bits, because they use multiplies. Signed-off-by: David S. Miller commit e2fd318e3a9208245ee1041f6d413c8593fba29d Author: Ilia Kolomisnky Date: Sun Jul 10 08:47:44 2011 +0300 Bluetooth: Fixes l2cap "command reject" reply according to spec There can 3 reasons for the "command reject" reply produced by the stack. Each such reply should be accompanied by the relevand data ( as defined in spec. ). Currently there is one instance of "command reject" reply with reason "invalid cid" wich is fixed. Also, added clean-up definitions related to the "command reject" replies. Signed-off-by: Ilia Kolomisnky Signed-off-by: Gustavo F. Padovan commit d84e0bd7971eb8357c700151ee4e8e4101ee65fa Author: Daniel Baluta Date: Sun Jul 10 07:04:04 2011 -0700 skbuff: update struct sk_buff members comments Rearrange struct sk_buff members comments to follow their definition order. Also, add missing comments for ooo_okay and dropcount members. Signed-off-by: Daniel Baluta Signed-off-by: David S. Miller commit 775b8ae8707592af9275b8b216c2bf056b3f5d82 Author: Magnus Damm Date: Sun Jul 10 10:39:32 2011 +0200 ARM: mach-shmobile: sh7372 A3RV requires A4LC Add a power domain workaround for the VPU and A3RV on sh7372. The sh7372 data sheet mentions that the VPU is located in the A3RV power domain. The A3RV power domain is not related to A4LC in any way, but testing shows that unless A3RV _and_ A4LC are powered on the VPU test program will bomb out. This issue may be caused by a more or less undocumented dependency on the MERAM block that happens to be located in A4LC. So now we know that the out-of-reset requirement of the VPU is that the MERAM is powered on. This patch adds a workaround for A3RV to make sure A4LC is powered on - this so we can use the VPU even though the LCDCs are in blanking state and A4LC is supposed to be off. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit 18b4f3f5d058b590e7189027eeb5d897742ade0a Author: Magnus Damm Date: Sun Jul 10 10:39:14 2011 +0200 PM / Domains: Export pm_genpd_poweron() in header Allow SoC-specific code to call pm_genpd_poweron(). Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit b9416f03fd9f809225a90f63b2fbc86f90010eab Author: Magnus Damm Date: Sun Jul 10 10:38:53 2011 +0200 ARM: mach-shmobile: sh7372 late pm domain off Add sh7372 specific code to power down unused pm domains. This should really be replaced by some generic PM core code IMO, but until that happens this patch makes sure we don't waste power by leaving unused power domains on. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit 999a4d2a4da0527567e4b17d4da0782509358a83 Author: Magnus Damm Date: Sun Jul 10 10:38:34 2011 +0200 ARM: mach-shmobile: Runtime PM late init callback Add a mach-shmobile specific callback for SoC-specific code to hook into. By having the late_initcall() in a common place we can have multi-SoC/board support in the same kernel binary. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit d24771dec9c62945a5d1c6a37e7a04f5c2a2ae6f Author: Magnus Damm Date: Sun Jul 10 10:38:22 2011 +0200 ARM: mach-shmobile: sh7372 D4 support Add support for the sh7372 D4 power domain. This power domain contains the Coresight-ETM hardware block. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit c1ba5bb5608664b37a3b1ac647e0dd67d46ddc99 Author: Kuninori Morimoto Date: Sun Jul 10 10:12:08 2011 +0200 ARM: mach-shmobile: sh7372 A4MP support Add support for the sh7372 A4MP power domain and hook up the FSI/SPU2 device. Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit a41b64665a79b8be980d450f6e5b9354d7511700 Author: Kuninori Morimoto Date: Sun Jul 10 10:11:57 2011 +0200 ARM: mach-shmobile: sh7372: make sure that fsi is peripheral of spu2 FSI act as peripheral circuits of the SPU2. Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit 2e39e5be1ddf9fc5fbe84fe7ae3e035bb07845e5 Author: Grant Likely Date: Tue Jul 5 23:42:36 2011 -0600 tty/serial: Add devicetree support for nVidia Tegra serial ports Acked-by: Greg Kroah-Hartman Signed-off-by: Grant Likely commit 9f426173e54a4f0882f9516c226f3165a3bd5474 Author: Stefan Richter Date: Sun Jul 3 17:39:26 2011 +0200 firewire: ohci: skip soft reset retries after card ejection The software reset in firewire-ohci's pci_remove does not have a great prospect of success if the card was already physically removed at this point. So let's skip the 500 ms that were spent in retries here. Also, replace a defined constant by its open-coded value. This is not a constant from a specification but an arbitrarily chosen retry limit. It was only used in this single place. Signed-off-by: Stefan Richter commit 215fa444c2a6d571f1f915cf3dc7a8b01cc51a0a Author: Stefan Richter Date: Wed Jun 22 21:05:08 2011 +0200 firewire: ohci: fix PHY reg access after card ejection Detect and handle ejection of FireWire CardBus cards in PHY register accesses: - The last attempt of firewire-core to reset the bus during shutdown caused a spurious "firewire_ohci: failed to write phy reg" error message in the log. Skip this message as well as the prior retry loop that needlessly took 100 milliseconds. - In the unlikely case that a PHY register was read right after card ejection, a bogus value was obtained and possibly acted upon. Instead, fail the read attempt. Signed-off-by: Stefan Richter commit b14c369d87d7fbf120ad21919d34a8f1290290f1 Author: Stefan Richter Date: Tue Jun 21 15:24:26 2011 +0200 firewire: ohci: add a comment on PHY reg access serialization Signed-off-by: Stefan Richter commit 9ef28ccd59a23d219c4660f55a11ac06ca91f632 Author: Stefan Richter Date: Sun Jun 12 14:30:57 2011 +0200 firewire: ohci: reduce potential context_stop latency Stopping an isochronous reception DMA context takes two loop iterations in context_stop on several controllers (JMicron, NEC, VIA). But there is no extra delay necessary between these two reg_read trials; the MMIO reads themselves are slow enough. Hence bring back the behavior from before commit dd6254e5c0efe01ad255188898cb3dadf98cb56d "firewire: ohci: remove superfluous posted write flushes" on these controllers by means of an "if (i)" condition. Isochronous context stop is performed in preemptible contexts (and only rarely), hence this change is of little impact. (Besides, Agere and TI controllers always, or almost always, have the context stopped already at the first ContextControl read.) More important is asynchronous transmit context stop, which is performed while local interrupts are disabled (on the two AT DMAs in bus_reset_tasklet, i.e. after a self-ID-complete event). In my experience with several controllers, tested with a usermode AT-request transmitter as well as with FTP transmission over firewire-net, the AT contexts were luckily already stopped at the first ContextControl read, i.e. never required another MMIO read let alone mdelay. A possible explanation for this is that the controllers which I tested perhaps stop AT DMA before they perform the self-ID reception DMA. But we cannot be sure about that and should keep the interrupts-disabled busy loop as short as possible. Hence, query the ContextControl register in 1000 udelay(10) intervals instead of 10 udelay(1000) intervals. I understand from an estimation by Clemens Ladisch that stopping a busy DMA context should take microseconds or at worst tens of microseconds, not milliseconds. Signed-off-by: Stefan Richter commit 42c8b11e284fe3186e27555d1adb7d4b77398e1b Author: Joe Perches Date: Sat Jul 9 02:56:56 2011 -0700 benet: Add missing comma between constant string array Multiple quoted strings are concatenated without comma separators. Make the arrays const while there. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit a48332f803093d5e3d431a5a1f595698911d1145 Author: Shirley Ma Date: Sat Jul 9 02:55:27 2011 -0700 skbuff: clear tx zero-copy flag This patch clears tx zero-copy flag as needed. Signed-off-by: Shirley Ma Signed-off-by: David S. Miller commit 8f360119243c214eb5c5549c61981d51a276154a Author: Vinicius Costa Gomes Date: Fri Jul 8 18:31:46 2011 -0300 Bluetooth: Add support for returning the encryption key size This will be useful when userspace wants to restrict some kinds of operations based on the length of the key size used to encrypt the link. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 726b4ffcaa450d9593b9b6ac8605967ce9f3e506 Author: Vinicius Costa Gomes Date: Fri Jul 8 18:31:45 2011 -0300 Bluetooth: Add support for storing the key size In some cases it will be useful having the key size used for encrypting the link. For example, some profiles may restrict some operations depending on the key length. The key size is stored in the key that is passed to userspace using the pin_length field in the key structure. For now this field is only valid for LE controllers. 3.0+HS controllers define the Read Encryption Key Size command, this field is intended for storing the value returned by that command. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 5a0a8b49746771fba79866fb9185ffa051a6a183 Author: Vinicius Costa Gomes Date: Fri Jul 8 18:31:44 2011 -0300 Bluetooth: Add support for communicating keys with userspace As the key format has changed to something that has a dynamic size, the way that keys are received and sent must be changed. The structure fields order is changed to make the parsing of the information received from the Management Interface easier. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 0eb08e339836989557ea3aa4c427377bd32ce19c Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:42 2011 -0300 Bluetooth: Remove unused field in hci_conn Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 02bc74556a3f1b26adf3feb372376c56ba990564 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:41 2011 -0300 Bluetooth: Use the stored LTK for restabilishing security Now that it's possible that the exchanged key is present in the link key list, we may be able to estabilish security with an already existing key, without need to perform any SMP procedure. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit e7e62c8592484f79469312fc694d2995918aa152 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:40 2011 -0300 Bluetooth: Use the link key list to temporarily store the STK With this we can use only one place to store all keys, without need to use a field in the connection structure for this purpose. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 16b908396fbf1be49d417ffdb4a8b41c8c8cb670 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:39 2011 -0300 Bluetooth: Add support for storing the LTK Now when the LTK is received from the remote or generated it is stored, so it can later be used. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 54790f73a3ec87c181e4d6e5eb6963de3d50ebd7 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:38 2011 -0300 Bluetooth: Fix SM pairing parameters negotiation Before implementing SM key distribution, the pairing features exchange must be better negotiated, taking into account some features of the host and connection requirements. If we are in the "not pairable" state, it makes no sense to exchange any key. This allows for simplification of the key negociation method. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit bea710feff617e3469789dd8f930b284c83a87f5 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:37 2011 -0300 Bluetooth: Reject an encryption request when the key isn't found Now that we have methods to finding keys by its parameters we can reject an encryption request if the key isn't found. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 75d262c2ad927751bb5f096f3a6a37d81e7784f2 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:36 2011 -0300 Bluetooth: Add functions to manipulate the link key list for SMP As the LTK (the new type of key being handled now) has more data associated with it, we need to store this extra data and retrieve the keys based on that data. Methods for searching for a key and for adding a new LTK are introduced here. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 34918cd71b953905e5f832537ead436bcd57e8f9 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:35 2011 -0300 Bluetooth: Add new structures for supporting SM key distribution We need these changes because SMP keys may have more information associated with them, for example, in the LTK case, it has an encrypted diversifier (ediv) and a random number (rand). Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 7034b911af1aa571995b56db3ed71a25daf00373 Author: Vinicius Costa Gomes Date: Thu Jul 7 18:59:34 2011 -0300 Bluetooth: Add support for SMP phase 3 (key distribution) This adds support for generating and distributing all the keys specified in the third phase of SMP. This will make possible to re-establish secure connections, resolve private addresses and sign commands. For now, the values generated are random. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 40bfff85ffb5c85ffabcb6d71e64f70799595f89 Author: Liu, ShuoX Date: Fri Jul 8 14:24:31 2011 +0800 spi/dw: Add spi number into spi irq desc Signed-off-by: ShuoX Liu Signed-off-by: Grant Likely commit 136d9ebff300044865693a57d68fe5905635992a Merge: 149bb2f a50777c Author: Konrad Rzeszutek Wilk Date: Fri Jul 8 15:07:30 2011 -0400 Merge branch 'xen-tmem-selfballoon-v8' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem into stable/drivers * 'xen-tmem-selfballoon-v8' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem: xen: tmem: self-ballooning and frontswap-selfshrinking commit 2cffff1281a74714c9e035322077ec52ffb1f838 Author: ShuoX Liu Date: Fri Jul 8 20:53:55 2011 +0200 PM / Runtime: Consistent utilization of deferred_resume dev->power.deferred_resume is used as a bool typically, so change one assignment to false from 0, like other places. Signed-off-by: ShuoX Liu commit b98c0239204d6603b3a33bcc2b3916adaa8d4160 Author: Shawn Guo Date: Fri Jul 8 16:27:33 2011 +0800 dt: add empty of_property_read_u32[_array] for non-dt The patch adds empty functions of_property_read_u32 and of_property_read_u32_array for non-dt build, so that drivers migrating to dt can save some '#ifdef CONFIG_OF'. Signed-off-by: Shawn Guo [grant.likely: Moved things around so only one new static inline is needed] [grant.likely: Added _string variant] Signed-off-by: Grant Likely commit 8937cb602bea120248cef64961fc46836a394c8a Author: Shawn Guo Date: Thu Jul 7 00:37:43 2011 +0800 gpio/mxc: add device tree probe support The patch adds device tree probe support for gpio-mxc driver. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit 14305e685dff531583e95c5076f633f2fe2b141c Author: Shawn Guo Date: Thu Jul 7 00:37:42 2011 +0800 ARM: mxc: use ARCH_NR_GPIOS to define gpio number The patch removes MXC_GPIO_IRQS and instead uses ARCH_NR_GPIOS to define gpio number. This change is need when we change mxc gpio driver to be device tree aware. When migrating the driver to device tree, pdev->id becomes unusable. It requires driver get gpio range from gpio core, which will dynamically allocates number from ARCH_NR_GPIOS to 0. As a bonus point, it removes lines of '#if' and make the code a little bit cleaner. The side effect is the waste of number. But this is not a point when we go single image. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit e7fc6ae7446710a487510d212137a43289bbe90e Author: Shawn Guo Date: Thu Jul 7 00:37:41 2011 +0800 gpio/mxc: get rid of the uses of cpu_is_mx() The patch removes all the uses of cpu_is_mx(). Instead, it utilizes platform_device_id to distinguish the different gpio types, IMX1_GPIO on i.mx1, IMX21_GPIO on i.mx21 and i.mx27, IMX31_GPIO on all other i.mx SoCs. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit a50777c791031d7345ce95785ea6220f67339d90 Author: Dan Magenheimer Date: Fri Jul 8 12:26:21 2011 -0600 xen: tmem: self-ballooning and frontswap-selfshrinking This patch introduces two in-kernel drivers for Xen transcendent memory ("tmem") functionality that complement cleancache and frontswap. Both use control theory to dynamically adjust and optimize memory utilization. Selfballooning controls the in-kernel Xen balloon driver, targeting a goal value (vm_committed_as), thus pushing less frequently used clean page cache pages (through the cleancache code) into Xen tmem where Xen can balance needs across all VMs residing on the physical machine. Frontswap-selfshrinking controls the number of pages in frontswap, driving it towards zero (effectively doing a partial swapoff) when in-kernel memory pressure subsides, freeing up RAM for other VMs. More detail is provided in the header comment of xen-selfballooning.c. Signed-off-by: Dan Magenheimer [v8: konrad.wilk@oracle.com: set default enablement depending on frontswap] [v7: konrad.wilk@oracle.com: fix capitalization and punctuation in comments] [v6: fix frontswap-selfshrinking initialization] [v6: konrad.wilk@oracle.com: fix init pr_infos; add comments about swap] [v5: konrad.wilk@oracle.com: add NULL to attr list; move inits up to decls] [v4: dkiper@net-space.pl: use strict_strtoul plus a few syntactic nits] [v3: konrad.wilk@oracle.com: fix potential divides-by-zero] [v3: konrad.wilk@oracle.com: add many more comments, fix nits] [v2: rebased to linux-3.0-rc1] [v2: Ian.Campbell@citrix.com: reorganize as new file (xen-selfballoon.c)] [v2: dkiper@net-space.pl: proper access to vm_committed_as] [v2: dkiper@net-space.pl: accounting fixes] Cc: Jan Beulich Cc: Jeremy Fitzhardinge Cc: commit a05e42c27f80d341a5ec2053b041e24231a002e2 Merge: 0a0e234 204d164 Author: David S. Miller Date: Fri Jul 8 09:36:30 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 81463b1ca8dbd2f4f180feac3f49c7640e2b5f79 Author: Chandra Seetharaman Date: Thu Jun 9 16:47:49 2011 +0000 xfs: remove variables that serve no purpose in xfs_alloc_ag_vextent_exact() Remove two variables that serve no purpose in xfs_alloc_ag_vextent_exact(). Signed-off-by: Chandra Seetharaman Signed-off-by: Alex Elder commit c0e090ced259b85b854636c99dda95b7070a2785 Author: Eric Sandeen Date: Fri May 20 21:52:17 2011 +0000 xfs: consolidate & clarify mount sanity checks Pavol pointed out that there is one silent error case in the mount path, and that others are rather uninformative. I've taken Pavol's suggested patch and extended it a bit to also: * fix a message which says "turned off" but actually errors out * consolidate the vaguely differentiated "SB sanity check [12]" messages, and hexdump the superblock for analysis Original-patch-by: Pavol Gono Signed-off-by: Eric Sandeen Signed-off-by: Alex Elder commit 0a0e2344a62ce9e7fac6129d6292e59aecfceced Author: Eric Dumazet Date: Fri Jul 8 05:29:30 2011 +0000 bna: use netdev_alloc_skb_ip_align() Some workloads need some headroom (NET_SKB_PAD) to avoid expensive reallocations. Using netdev_alloc_skb_ip_align() instead of bare skb_alloc() brings the NET_IP_ALIGN and the NET_SKB_PAD headroom. Signed-off-by: Eric Dumazet CC: Rasesh Mody CC: Debashis Dutt Signed-off-by: David S. Miller commit 135d23d66c53ade614c288d422f4c4b3205eb201 Author: Wang Shaoyan Date: Fri Jul 8 03:01:43 2011 +0000 ATM: Delete no use FILL_RX_POOLS_IN_BH marco The macro FILL_RX_POOLS_IN_BH is never been used, in order to avoid the compiler reports error because of the usage of function INIT_WORK, we just delete the marco. Cc: Chas Williams Cc: linux-atm-general@lists.sourceforge.net Signed-off-by: Wang Shaoyan Signed-off-by: David S. Miller commit 498d8e236304a62a2774d7264bdff2c6e8102b5b Author: Tobias Klauser Date: Thu Jul 7 22:06:26 2011 +0000 drivers/net: Omit check for multicast bit in netdev_for_each_mc_addr There is no need to check for the address being a multicast address in the netdev_for_each_mc_addr loop, so remove it. This patch covers all remaining network drivers still containing such a check. Cc: Joe Perches Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 40f5d72a4fc098c47068e3888cfb055922f6519f Author: Dan Carpenter Date: Thu Jul 7 21:27:24 2011 +0000 dcbnl: unlock on an error path in dcbnl_cee_fill() We need to release "dcb_lock" which we took on the previous line. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 560040b8400bbc9074ff23afb28891378482ee52 Author: stephen hemminger Date: Thu Jul 7 05:51:01 2011 +0000 skge/sky2: change config references to Marvell Change references to SysKonnect in Kconfig to Marvell since SysKonnect was acquired by Marvell back in 2002. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4ec8f0ca2ab6e1f89fd0ea73ede92a2e2d7409ef Author: stephen hemminger Date: Thu Jul 7 05:51:00 2011 +0000 sky2: version 1.29 Since new hardware chip support was added bump version. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4fb99cd6ac4fe6d03a334a6f4ebb2bbfc4b479ed Author: stephen hemminger Date: Thu Jul 7 05:50:59 2011 +0000 sky2: support for new Optima chipsets (EXPERIMENTAL) This is a backport from the vendor driver of support for the newer Optima (Prime and 2) chipsets. It also includes some setup changes for the current Optima chip as well. The code and comments intentionally mirror the vendor sk98lin driver to allow for easier maintenance. Although this adds support for new chip id's, these chip id's are not used by any of the current PCI device id's listed in the driver. The patch is just to get initial infrastructure in place to handle them when they come. I don't have access to any of this hardware to actually test it yet. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8e11680f5e1abc85298c12a99e2b741249eadc0c Author: stephen hemminger Date: Thu Jul 7 05:50:58 2011 +0000 sky2: use correct Inter Packet Gap at 10/100mbit This is another fix picked out of the vendor driver. The IPG value in the serial mode register is supposed to be programmed differently at lower speeds. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aa5ca96c8fffea769aedd795f48695112393dc89 Author: stephen hemminger Date: Thu Jul 7 13:40:00 2011 +0000 sky2: force receive checksum when using RSS on some hardware (v2) Found when reviewing the vendor driver. Apparently some chip versions require receive checksumming to be enabled in order for RSS to work. Also, if fix_features has to change some settings; put in message in log in similar manner to netdev_fix_features. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8ae2e12f1534e647d4a816755e5a09c2de6f9fca Author: Rajkumar Manoharan Date: Fri Jul 8 18:12:03 2011 +0530 ath9k_htc: Inform stack about tx ack status Recent firmware changes report tx ack status properly to driver. Hence updating ath9k_htc driver capabilities. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1fa1238e50385707b8e9fea97d16252c931448d8 Author: Rajkumar Manoharan Date: Fri Jul 8 18:12:02 2011 +0530 ath9k_hw: Remove read-only registers from AR9003 intervals This patch removes read only registers that cause invalid address access and also updates index for measurement filter calibration window size. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 43d9325b2477b556ac1cc95cf15f40cbd4100e5d Author: Rajkumar Manoharan Date: Fri Jul 8 18:12:01 2011 +0530 ath9k_hw: Disable power detector calibration for AR9003 The power detector calibration is disabled because this block doesn't exist in AR9003 based chips and also parallel calibration is enabled otherwise the calibration will never stop. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6fea2b15cc166e8e8851083395c17314c7bd874a Author: Rajkumar Manoharan Date: Fri Jul 8 18:12:00 2011 +0530 ath9k_hw: Update AR9003 interval to improve 5G Tx EVM The number of temperature reading samples to average during a Tx packet is decreased to 1 from 2 to improve 5G Tx EVM with chain 0-only mode. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1a84ff7564ae43dd1ea20e17f867de2700ca5b5b Author: Luciano Coelho Date: Fri Jul 8 11:16:16 2011 +0300 cfg80211: return -ENOENT when stopping sched_scan while not running If we try to stop a scheduled scan while it is not running, we should return -ENOENT instead of simply ignoring the command and returning success. This is more consistent with other parts of the code. Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 331c5ea2d92c76bfe58a9bb5e6d21160850a29bc Author: Mohammed Shafi Shajakhan Date: Fri Jul 8 13:01:32 2011 +0530 ath9k_hw: Disable PAPRD based on paprd_ht20_mask for 5GHz Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit e156103cee78a1dd1c0d14efe08aa36fc9285013 Author: Yogesh Ashok Powar Date: Thu Jul 7 17:37:09 2011 -0700 mwifiex: 4-byte alignment in mwifiex_process_sta_txpd() In XMIT path, the skb that we get from the kernel itself is not aligned with 4-byte boundary on some embedded platforms. Had it not been the presence of tx_pkt_offset field in txpd, 4 byte memory alignment was not possible without memmove of entire skb. And that would have increased MIPS instead of reducing. With this patch few memory cycles can be saved while fetching interface header and txpd structure because of 4 bytes memory alignment. Reported-by: Philip Rakity Signed-off-by: Yogesh Ashok Powar Tested-by: Philip Rakity Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 38869d79e5b498bd35c9967231dfb01cdd301bf5 Author: Amitkumar Karwar Date: Thu Jul 7 17:33:20 2011 -0700 mwifiex: fix minor issue in debugfs command 'info' Debugfs command 'info' shows wrong interface type. The regression occurred due to commit eecd8250e (mwifiex: remove MWIFIEX_BSS_MODE_ macros) in which we replaced MWIFIEX_BSS_MODE_* macros by NL80211_IFTYPE_*, for example, MWIFIEX_BSS_MODE_IBSS (2) --> NL80211_IFTYPE_ADHOC (1) The issue is fixed by swapping static character array used to display interface type information. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit e6faada5daddcdf29056c8abee0869d4e2cd55b5 Author: Amitkumar Karwar Date: Thu Jul 7 17:33:19 2011 -0700 mwifiex: fix regression in WEP security mode Htcapinfo is unnecessarily sent in assoc request in WEP security due to a regression introduced by commit 2be50b8df53 (mwifiex: remove redundant encryption_mode mapping). The issue is fixed in this patch. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 4fc5401c144d95b031e839ba3208e04c79ac84cb Author: Pavel Roskin Date: Thu Jul 7 18:14:25 2011 -0400 ath5k: read sc->imask with sc->irqlock held Signed-off-by: Pavel Roskin sc->imask may change if ath5k_set_current_imask() races against itself. Signed-off-by: John W. Linville commit e2df64c1d767eb52a5c617668e20745d5e3015c8 Author: Pavel Roskin Date: Thu Jul 7 18:14:19 2011 -0400 ath5k: use kstrtoint() to parse numbers coming from sysfs Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 3f9aed7c7d517dbc717a97649d0a5a9dc80bf4f2 Merge: 31817df a7f9bec Author: David S. Miller Date: Fri Jul 8 08:44:57 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/linux-merge commit e4bbf2f541501dcde47ce687ffc6d238bd2f7813 Author: Pavel Roskin Date: Thu Jul 7 18:14:13 2011 -0400 ath5k: fix formatting errors found by checkpatch.pl Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit d2c7f7730e5660c812765acd57516f709ea35fc0 Author: Pavel Roskin Date: Thu Jul 7 18:14:07 2011 -0400 ath5k: fix misplaced or extraneous braces found by checkpatch.pl Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 633d006ee6a7229f1d2c60924084d902d60c0e5f Author: Pavel Roskin Date: Thu Jul 7 18:14:01 2011 -0400 ath5k: use parentheses around macro definitions Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 2753f87a574c4844dfa1709c7d0a474f0dc8d818 Author: Pavel Roskin Date: Thu Jul 7 18:13:55 2011 -0400 ath5k: don't use volatile, it's not needed Signed-off-by: Pavel Roskin The reg variable is only used by __raw_writel() and __raw_readl(), which should guarantee memory access in the right order. Signed-off-by: John W. Linville commit 2724a74a2620f98bd63e866e54938d092a017b21 Author: Pavel Roskin Date: Thu Jul 7 18:13:48 2011 -0400 ath5k: use more readable way to clear MAC address Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 25380d8068dbe983c929f5d10ae18647082511d8 Author: Pavel Roskin Date: Thu Jul 7 18:13:42 2011 -0400 ath5k: use DEFINE_PCI_DEVICE_TABLE in led.c, mark users with __devinit Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit ef82763d8dad6b2312ce388fd9af23dd2b4626d4 Author: Pavel Roskin Date: Thu Jul 7 18:13:36 2011 -0400 ath5k: use KERN_WARNING in ATH5K_PRINTF Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit fdd55d14b7d3a721e60fdc8be12ec0beb9cda8c6 Author: Pavel Roskin Date: Thu Jul 7 18:13:30 2011 -0400 ath5k: remove unneeded parentheses after return Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 0a5d381348fcb12d27289b3a66824fb3481911ce Author: Pavel Roskin Date: Thu Jul 7 18:13:24 2011 -0400 ath5k: replace spaces with tabs as suggested by checkpatch.pl Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit b988a887a448be479696544de31656754c133f30 Author: Pavel Roskin Date: Thu Jul 7 18:13:17 2011 -0400 ath5k: remove PRIV_ENTRY and PRIV_ASSIGN macros, they obfuscate the code Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 69f7235fe69be5c644f934566f3b972988e71ee4 Author: Christian Lamparter Date: Thu Jul 7 23:01:25 2011 +0200 carl9170: Implement tx_frames_pending mac80211 callback function Implementing this callback function will cause mac80211 refrain from going to powersave state when there are still untransmitted TX frames in the queues. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit cae561473e87fd01b07d980c643acd51c07e1f64 Author: Sebastian Andrzej Siewior Date: Thu Jul 7 21:58:10 2011 +0200 net/b43: don't return IRQ_HANDLED if nothing was done Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: John W. Linville commit 21a18f284b00f977b355a2901d0ca6dae929b370 Author: Rafał Miłecki Date: Thu Jul 7 20:06:56 2011 +0200 b43: HT-PHY: define dummy TX power functions Without them we get Oops with NULL pointer Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 676b58c27475a9defccc025fea1cbd2b141ee539 Author: Rajkumar Manoharan Date: Thu Jul 7 23:33:39 2011 +0530 mac80211: Restart STA timers only on associated state A panic was observed when the device is failed to resume properly, and there are no running interfaces. ieee80211_reconfig tries to restart STA timers on unassociated state. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 565dfefbe196206bc1e40bf92e7c5d53e9d9f706 Author: Rajkumar Manoharan Date: Thu Jul 7 23:33:38 2011 +0530 ath9k_htc: do not configure filter before driver is started Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 58eb7ff3dc056c6935c1cedee365ccf554000f45 Author: Rafał Miłecki Date: Thu Jul 7 18:58:25 2011 +0200 b43: LCN-PHY: include new PHY in common code Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 8b9bda759e5b7c042c2b3ae852aaa332c0ee4495 Author: Rafał Miłecki Date: Thu Jul 7 18:58:24 2011 +0200 b43: define firmwares for HT and LCN PHYs We were uploading different firmwares to the hardware until finding responding one. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 42d98795505314c7af42c7c6b988425300958ed3 Author: Johannes Berg Date: Thu Jul 7 18:58:01 2011 +0200 mac80211: allow driver to generate P1K for IV32 In order to support pre-populating the P1K cache in iwlwifi hardware for WoWLAN, we need to calculate the P1K for the current IV32. Allow drivers to get the P1K for any given IV32 instead of for a given packet, but keep the packet-based version around as an inline. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3ea542d3c2862142ae511fac5ce2dfc7419dcc53 Author: Johannes Berg Date: Thu Jul 7 18:58:00 2011 +0200 mac80211: allow drivers to access key sequence counter In order to implement GTK rekeying, the device needs to be able to encrypt frames with the right PN/IV and check the PN/IV in RX frames. To be able to tell it about all those counters, we need to be able to get them from mac80211, this adds the required API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9e26297a56453315ae6829aec609b5a6309af7b4 Author: Johannes Berg Date: Thu Jul 7 18:45:03 2011 +0200 mac80211: simplify RX PN/IV handling The current rx->queue value is slightly confusing. It is set to 16 on non-QoS frames, including data, and then used for sequence number and PN/IV checks. Until recently, we had a TKIP IV checking bug that had been introduced in 2008 to fix a seqno issue. Before that, we always used TID 0 for checking the PN or IV on non-QoS packets. Go back to the old status for PN/IV checks using the TID 0 counter for non-QoS by splitting up the rx->queue value into "seqno_idx" and "security_idx" in order to avoid confusion in the future. They each have special rules on the value used for non- QoS data frames. Since the handling is now unified, also revert the special TKIP handling from my patch "mac80211: fix TKIP replay vulnerability". Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1d738e64f3d957d56c1b51e64ebdef986a8760e3 Author: Rafał Miłecki Date: Thu Jul 7 15:25:27 2011 +0200 b43: LCN-PHY add place for new PHY support LCN-PHY was found in 14e4:4727 card. It uses LCN/1 and 0x2064/1 radio. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0cd20a278e1ef9da9f6a987942794c9d65af8c4d Author: Johannes Berg Date: Wed Jul 6 22:02:14 2011 +0200 mac80211: use AES_BLOCK_SIZE mac80211 has a defnition of AES_BLOCK_SIZE and multiple definitions of AES_BLOCK_LEN. Remove them all and use crypto/aes.h. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 544e5d8bcd7ab305494e57cfa388b2d06a43c520 Author: Rafał Miłecki Date: Wed Jul 6 20:27:25 2011 +0200 b43: read radio ID on new cores Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3fd48508d0d3d8e5423cab6b52a3b818085b6245 Author: Rafał Miłecki Date: Wed Jul 6 20:27:24 2011 +0200 b43: use radio ID reading code to older cores only Newer ones need separated way Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 8c8b964c20adb79a7deb58dc9d55754b0ca1233c Author: Rafał Miłecki Date: Wed Jul 6 18:05:14 2011 +0200 b43: select BLOCKIO for BCMA We want PIO as fallback for BCMA as well. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6ff1e5cf70abbe04b261b4ccd9696e1ab6785086 Author: Rafał Miłecki Date: Wed Jul 6 17:41:55 2011 +0200 b43: change selecting ucode for newer cores Older cores had unique PHY. This is not true anymore for newer ones. For example core rev 16 can be LP, SSLPN or N (PHY). Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 74abacb6b5b91141eb8963faa2f22b3f1bd7c68d Author: Rafał Miłecki Date: Wed Jul 6 15:45:28 2011 +0200 b43: bus: add helpers for getting/setting wldev from/in bus core Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 42c9a458965da2b74e772054fdc4bcdec0351da8 Author: Rafał Miłecki Date: Wed Jul 6 15:45:27 2011 +0200 b43: handle BCMA in bus switches Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6cbab0d9139246405b2449ffebecc8c48d927a6e Author: Rafał Miłecki Date: Wed Jul 6 15:45:26 2011 +0200 b43: use switches for SSB specific code Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 75396ae6d433b49482e377e6f8dbf1f42ad53f3a Author: Johannes Berg Date: Wed Jul 6 22:00:35 2011 +0200 mac80211: fix CMAC races Just like TKIP and CCMP, CMAC has the PN race. It might not actually be possible to hit it now since there aren't multiple ACs for management frames, but fix it anyway. Also move scratch buffers onto the stack. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aba83a0b301c32dbb91c017f33307611e1a1d384 Author: Johannes Berg Date: Wed Jul 6 21:59:39 2011 +0200 mac80211: fix CCMP races Since we can process multiple packets at the same time for different ACs, but the PN is allocated from a single counter, we need to use an atomic value there. Use atomic64_t to make this cheaper on 64-bit platforms, other platforms will support this through software emulation, see lib/atomic64.c. We also need to use an on-stack scratch buf so that multiple packets won't corrupt each others scratch buffers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 523b02ea23b175dd3e46e3daf1bc9354376640a3 Author: Johannes Berg Date: Thu Jul 7 22:28:01 2011 +0200 mac80211: fix TKIP races, make API easier to use Our current TKIP code races against itself on TX since we can process multiple packets at the same time on different ACs, but they all share the TX context for TKIP. This can lead to bad IVs etc. Also, the crypto offload helper code just obtains the P1K/P2K from the cache, and can update it as well, but there's no guarantee that packets are really processed in order. To fix these issues, first introduce a spinlock that will protect the IV16/IV32 values in the TX context. This first step makes sure that we don't assign the same IV multiple times or get confused in other ways. Secondly, change the way the P1K cache works. I add a field "p1k_iv32" that stores the value of the IV32 when the P1K was last recomputed, and if different from the last time, then a new P1K is recomputed. This can cause the P1K computation to flip back and forth if packets are processed out of order. All this also happens under the new spinlock. Finally, because there are argument differences, split up the ieee80211_get_tkip_key() API into ieee80211_get_tkip_p1k() and ieee80211_get_tkip_p2k() and give them the correct arguments. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 397915c30731340ee3f348d1be597b22467acbdf Author: Rafał Miłecki Date: Wed Jul 6 19:03:46 2011 +0200 b43: implement BCMA bus ops Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d1507051bf6004c8ff0cf823fc5e115fc0a740b3 Author: Rafał Miłecki Date: Tue Jul 5 23:54:07 2011 +0200 b43: make b43_wireless_init bus generic Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e441a5eab928ddee8a946b4d48489341b41f88f2 Merge: 5f0dd29 f1a4638 Author: John W. Linville Date: Fri Jul 8 11:05:20 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 204d1641d200709c759d8c269458cbc7de378c40 Merge: 31817df 5f0dd29 Author: John W. Linville Date: Fri Jul 8 11:03:36 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit e163cbde981c5988c3e80ca29589132336f18a72 Author: Christoph Hellwig Date: Fri Jul 8 14:36:36 2011 +0200 xfs: avoid a few disk cache flushes There is no need for a pre-flush when doing writing the second part of a split log buffer, and if we are using an external log there is no need to do a full cache flush of the log device at all given that all writes to it use the FUA flag. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 1d5ae5dfeee024d51fb2c0205035d7611a8f0c86 Author: Christoph Hellwig Date: Fri Jul 8 14:36:32 2011 +0200 xfs: cleanup I/O-related buffer flags Remove the unused and misnamed _XBF_RUN_QUEUES flag, rename XBF_LOG_BUFFER to the more fitting XBF_SYNCIO, and split XBF_ORDERED into XBF_FUA and XBF_FLUSH to allow more fine grained control over the bio flags. Also cleanup processing of the flags in _xfs_buf_ioapply to make more sense, and renumber the sparse flag number space to group flags by purpose. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit c8da0faf6b07623c473cab42967f943ad4ab7560 Author: Christoph Hellwig Date: Fri Jul 8 14:36:25 2011 +0200 xfs: return the buffer locked from xfs_buf_get_uncached All other xfs_buf_get/read-like helpers return the buffer locked, make sure xfs_buf_get_uncached isn't different for no reason. Half of the callers already lock it directly after, and the others probably should also keep it locked if only for consistency and beeing able to use xfs_buf_rele, but I'll leave that for later. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 0c842ad46a51891ac4420b7285613f4134a65ccd Author: Christoph Hellwig Date: Fri Jul 8 14:36:19 2011 +0200 xfs: clean up buffer locking helpers Rename xfs_buf_cond_lock and reverse it's return value to fit most other trylock operations in the Kernel and XFS (with the exception of down_trylock, after which xfs_buf_cond_lock was modelled), and replace xfs_buf_lock_val with an xfs_buf_islocked for use in asserts, or and opencoded variant in tracing. remove the XFS_BUF_* wrappers for all the locking helpers. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit bbb4197c73be356a052dac25cce5ed0c157c6c90 Author: Christoph Hellwig Date: Fri Jul 8 14:36:10 2011 +0200 xfs: remove the unused xfs_bufhash structure Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 69ef921b55cc3788d1d2a27b33b27d04acd0090a Author: Christoph Hellwig Date: Fri Jul 8 14:36:05 2011 +0200 xfs: byteswap constants instead of variables Micro-optimize various comparisms by always byteswapping the constant instead of the variable, which allows to do the swap at compile instead of runtime. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 218106a1104c598011e5df9d9aac7e0416be03e6 Author: Christoph Hellwig Date: Fri Jul 8 14:35:58 2011 +0200 xfs: use generic get_unaligned_beXX helpers Switch the shortform directory code over to use the generic get_unaligned_beXX helpers instead of reinventing them. As a result kill off xfs_arch.h and move the setting of XFS_NATIVE_HOST into xfs_linux.h. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 2282396d8157033503318fe4dee77ba82dc9d144 Author: Christoph Hellwig Date: Fri Jul 8 14:35:53 2011 +0200 xfs: cleanup struct xfs_dir2_leaf Simplify the confusing xfs_dir2_leaf structure. It is supposed to describe an XFS dir2 leaf format btree block, but due to the variable sized nature of almost all elements in it it can't actuall do anything close to that job. Remove the members that are after the first variable sized array, given that they could only be used for sizeof expressions that can as well just use the underlying types directly, and make the ents array a real C99 variable sized array. Also factor out the xfs_dir2_leaf_size, to make the sizing of a leaf entry which already was convoluted somewhat readable after using the longer type names in the sizeof expressions. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 3ed8638f8867b4d0df1ec606231a087ff06c4a59 Author: Christoph Hellwig Date: Fri Jul 8 14:35:50 2011 +0200 xfs: cleanup the definition of struct xfs_dir2_data_entry Remove the tag member which is at a variable offset after the actual name, and make name a real variable sized C99 array instead of the incorrect one-sized array which confuses (not only) gcc. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 0ba9cd84ef2af58645333a86f9c901684ab1fef6 Author: Christoph Hellwig Date: Fri Jul 8 14:35:42 2011 +0200 xfs: kill struct xfs_dir2_data Remove the confusing xfs_dir2_data structure. It is supposed to describe an XFS dir2 data btree block, but due to the variable sized nature of almost all elements in it it can't actuall do anything close to that job. In addition to accessing the fixed offset header structure it was only used to get a pointer to the first dir or unused entry after it, which can be trivially replaced by pointer arithmetics on the header pointer. For most users that is actually more natural anyway, as they don't use a typed pointer but rather a character pointer for further arithmetics. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit c2066e2662070e794f57a96a129c42575e77cfcb Author: Christoph Hellwig Date: Fri Jul 8 14:35:38 2011 +0200 xfs: avoid usage of struct xfs_dir2_data In most places we can simply pass around and use the struct xfs_dir2_data_hdr, which is the first and most important member of struct xfs_dir2_data instead of the full structure. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit a64b04179735de6bfd9f00c130a68ed7f20d18ef Author: Christoph Hellwig Date: Fri Jul 8 14:35:32 2011 +0200 xfs: kill struct xfs_dir2_block Remove the confusing xfs_dir2_block structure. It is supposed to describe an XFS dir2 block format btree block, but due to the variable sized nature of almost all elements in it it can't actuall do anything close to that job. In addition to accessing the fixed offset header structure it was only used to get a pointer to the first dir or unused entry after it, which can be trivially replaced by pointer arithmetics on the header pointer. For most users that is actually more natural anyway, as they don't use a typed pointer but rather a character pointer for further arithmetics. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 4f6ae1a49ed5c81501d6f7385416bb4e07289e99 Author: Christoph Hellwig Date: Fri Jul 8 14:35:27 2011 +0200 xfs: avoid usage of struct xfs_dir2_block In most places we can simply pass around and use the struct xfs_dir2_data_hdr, which is the first and most important member of struct xfs_dir2_block instead of the full structure. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 78f70cd7b7e8fd44dc89af4f72fb110d865338a1 Author: Christoph Hellwig Date: Fri Jul 8 14:35:19 2011 +0200 xfs: cleanup the definition of struct xfs_dir2_sf_entry Remove the inumber member which is at a variable offset after the actual name, and make name a real variable sized C99 array instead of the incorrect one-sized array which confuses (not only) gcc. Based on this clean up the helpers to calculate the entry size. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit ac8ba50f6be4a3ab49a2ad2cb676422af4ebaf8a Author: Christoph Hellwig Date: Fri Jul 8 14:35:13 2011 +0200 xfs: kill struct xfs_dir2_sf The list field of it is never cactually used, so all uses can simply be replaced with the xfs_dir2_sf_hdr_t type that it has as first member. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 8bc387875870c87087f138741f456983cbc54660 Author: Christoph Hellwig Date: Fri Jul 8 14:35:03 2011 +0200 xfs: cleanup shortform directory inode number handling Refactor the shortform directory helpers that deal with the 32-bit vs 64-bit wide inode numbers into more sensible helpers, and kill the xfs_intino_t typedef that is now superflous. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 4fb44c8272a071290d2ad76164c532fa2902b604 Author: Christoph Hellwig Date: Fri Jul 8 14:34:59 2011 +0200 xfs: factor out xfs_dir2_leaf_find_entry Add a new xfs_dir2_leaf_find_entry helper to factor out some duplicate code from xfs_dir2_leaf_addname xfs_dir2_leafn_add. Found by Eric Sandeen using an automated code duplication checker. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 29d104af0a92ba1eac74b636da7fcf88242e1180 Author: Christoph Hellwig Date: Fri Jul 8 14:34:51 2011 +0200 xfs: kill the unused struct xfs_sync_work Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit f3ca87389dbff0a3dc1a7cb2fa7c62e25421c66c Author: Christoph Hellwig Date: Fri Jul 8 14:34:47 2011 +0200 xfs: remove i_transp Remove the transaction pointer in the inode. It's only used to avoid passing down an argument in the bmap code, and for a few asserts in the transaction code right now. Also use the local variable ip in a few more places in xfs_inode_item_unlock, so that it isn't only used for debug builds after the above change. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 7a249cf83da1813cfa71cfe1e265b40045eceb47 Author: Christoph Hellwig Date: Fri Jul 8 14:34:42 2011 +0200 xfs: fix filesystsem freeze race in xfs_trans_alloc As pointed out by Jan xfs_trans_alloc can race with a concurrent filesystem freeze when it sleeps during the memory allocation. Fix this by moving the wait_for_freeze call after the memory allocation. This means moving the freeze into the low-level _xfs_trans_alloc helper, which thus grows a new argument. Also fix up some comments in that area while at it. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 33b8f7c2479dfcbc5c27174e44b5f659d9f33c70 Author: Christoph Hellwig Date: Fri Jul 8 14:34:39 2011 +0200 xfs: improve sync behaviour in the face of aggressive dirtying The following script from Wu Fengguang shows very bad behaviour in XFS when aggressively dirtying data during a sync on XFS, with sync times up to almost 10 times as long as ext4. A large part of the issue is that XFS writes data out itself two times in the ->sync_fs method, overriding the livelock protection in the core writeback code, and another issue is the lock-less xfs_ioend_wait call, which doesn't prevent new ioend from being queue up while waiting for the count to reach zero. This patch removes the XFS-internal sync calls and relies on the VFS to do it's work just like all other filesystems do. Note that the i_iocount wait which is rather suboptimal is simply removed here. We already do it in ->write_inode, which keeps the current supoptimal behaviour. We'll eventually need to remove that as well, but that's material for a separate commit. ------------------------------ snip ------------------------------ #!/bin/sh umount /dev/sda7 mkfs.xfs -f /dev/sda7 # mkfs.ext4 /dev/sda7 # mkfs.btrfs /dev/sda7 mount /dev/sda7 /fs echo $((50<<20)) > /proc/sys/vm/dirty_bytes pid= for i in `seq 10` do dd if=/dev/zero of=/fs/zero-$i bs=1M count=1000 & pid="$pid $!" done sleep 1 tic=$(date +'%s') sync tac=$(date +'%s') echo echo sync time: $((tac-tic)) egrep '(Dirty|Writeback|NFS_Unstable)' /proc/meminfo pidof dd > /dev/null && { kill -9 $pid; echo sync NOT livelocked; } ------------------------------ snip ------------------------------ Signed-off-by: Christoph Hellwig Reported-by: Wu Fengguang Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 8f04c47aa9712874af2c8816c2ca2a332cba80e4 Author: Christoph Hellwig Date: Fri Jul 8 14:34:34 2011 +0200 xfs: split xfs_itruncate_finish Split the guts of xfs_itruncate_finish that loop over the existing extents and calls xfs_bunmapi on them into a new helper, xfs_itruncate_externs. Make xfs_attr_inactive call it directly instead of xfs_itruncate_finish, which allows to simplify the latter a lot, by only letting it deal with the data fork. As a result xfs_itruncate_finish is renamed to xfs_itruncate_data to make its use case more obvious. Also remove the sync parameter from xfs_itruncate_data, which has been unessecary since the introduction of the busy extent list in 2002, and completely dead code since 2003 when the XFS_BMAPI_ASYNC parameter was made a no-op. I can't actually see why the xfs_attr_inactive needs to set the transaction sync, but let's keep this patch simple and without changes in behaviour. Also avoid passing a useless argument to xfs_isize_check, and make it private to xfs_inode.c. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 857b9778d86ccba7d7b42c9d8aeecde794ec8a6b Author: Christoph Hellwig Date: Fri Jul 8 14:34:30 2011 +0200 xfs: kill xfs_itruncate_start xfs_itruncate_start is a rather length wrapper that evaluates to a call to xfs_ioend_wait and xfs_tosspages, and only has two callers. Instead of using the complicated checks left over from IRIX where we can to truncate the pagecache just call xfs_tosspages (aka truncate_inode_pages) directly as we want to get rid of all data after i_size, and truncate_inode_pages handles incorrect alignments and too large offsets just fine. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 681b120018e3c7e2680c93e8188c5ee34215df2f Author: Christoph Hellwig Date: Fri Jul 8 14:34:26 2011 +0200 xfs: always log timestamp updates in xfs_setattr_size Get rid of the special case where we use unlogged timestamp updates for a truncate to the current inode size, and just call xfs_setattr_nonsize for it to treat it like a utimes calls. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit c4ed4243c40f97ed5b7b121777bbbc6aeaa722f0 Author: Christoph Hellwig Date: Fri Jul 8 14:34:23 2011 +0200 xfs: split xfs_setattr Split up xfs_setattr into two functions, one for the complex truncate handling, and one for the trivial attribute updates. Also move both new routines to xfs_iops.c as they are fairly Linux-specific. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit dec58f1dfd30a3c3e9dadc808692f4e5cd922745 Author: Christoph Hellwig Date: Fri Jul 8 14:34:18 2011 +0200 xfs: work around bogus gcc warning in xfs_allocbt_init_cursor GCC 4.6 complains about an array subscript is above array bounds when using the btree index to index into the agf_levels array. The only two indices passed in are 0 and 1, and we have an assert insuring that. Replace the trick of using the array index directly with using constants in the already existing branch for assigning the XFS_BTREE_LASTREC_UPDATE flag. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit dbcdde3e76f45d56c4a30ca6c5d69b6d473d3fd1 Author: Christoph Hellwig Date: Fri Jul 8 14:34:14 2011 +0200 xfs: re-enable non-blocking behaviour in xfs_map_blocks The non-blockig behaviour in xfs_vm_writepage currently is conditional on having both the WB_SYNC_NONE sync_mode and the nonblocking flag set. The latter used to be used by both pdflush, kswapd and a few other places in older kernels, but has been fading out starting with the introduction of the per-bdi flusher threads. Enable the non-blocking behaviour for all WB_SYNC_NONE calls to get back the behaviour we want. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder Reviewed-by: Dave Chinner commit 680a647b49fa52de0b37b8bc58a3a8c4bc76b262 Author: Christoph Hellwig Date: Fri Jul 8 14:34:05 2011 +0200 xfs: PF_FSTRANS should never be set in ->writepage Now that we reject direct reclaim in addition to always using GFP_NOFS allocation there's no chance we'll ever end up in ->writepage with PF_FSTRANS set. Add a WARN_ON if we hit this case, and stop checking if we'd actually need to start a transaction. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Reviewed-by: Dave Chinner commit 732375c6a5a4cc825b676c922d547aba96b8ce15 Author: Dima Zavin Date: Thu Jul 7 17:27:59 2011 -0700 plist: Remove the need to supply locks to plist heads This was legacy code brought over from the RT tree and is no longer necessary. Signed-off-by: Dima Zavin Acked-by: Thomas Gleixner Cc: Daniel Walker Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Andi Kleen Cc: Lai Jiangshan Link: http://lkml.kernel.org/r/1310084879-10351-2-git-send-email-dima@android.com Signed-off-by: Ingo Molnar commit ded1f6ab43a03be74a53649cf388b5424d447584 Author: Naga Chumbalkar Date: Fri Jul 8 08:36:34 2011 +0000 x86: print APIC data a little later during boot To view IOAPIC data you could boot with "apic=debug". When booting in such a way then the kernel will dump the IO-APIC's registers, for example: NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect: 00 000 1 0 0 0 0 0 0 00 01 000 0 0 0 0 0 0 0 31 02 000 0 0 0 0 0 0 0 30 03 000 0 0 0 0 0 0 0 33 04 000 0 0 0 0 0 0 0 34 05 000 0 0 0 0 0 0 0 35 06 000 0 0 0 0 0 0 0 36 07 000 0 0 0 0 0 0 0 37 08 000 0 0 0 0 0 0 0 38 09 000 0 1 0 0 0 0 0 39 0a 000 0 0 0 0 0 0 0 3A 0b 000 0 0 0 0 0 0 0 3B 0c 000 0 0 0 0 0 0 0 3C 0d 000 0 0 0 0 0 0 0 3D 0e 000 0 0 0 0 0 0 0 3E 0f 000 0 0 0 0 0 0 0 3F 10 000 1 0 0 0 0 0 0 00 11 000 1 0 0 0 0 0 0 00 12 000 1 0 0 0 0 0 0 00 13 000 1 0 0 0 0 0 0 00 14 000 1 0 0 0 0 0 0 00 15 000 1 0 0 0 0 0 0 00 16 000 1 0 0 0 0 0 0 00 17 000 1 0 0 0 0 0 0 00 Delaying the call to print_ICs() gives better results: NR Dst Mask Trig IRR Pol Stat Dmod Deli Vect: 00 000 1 0 0 0 0 0 0 00 01 000 0 0 0 0 0 0 0 31 02 000 0 0 0 0 0 0 0 30 03 000 1 0 0 0 0 0 0 33 04 000 1 0 0 0 0 0 0 34 05 000 1 0 0 0 0 0 0 35 06 000 1 0 0 0 0 0 0 36 07 000 1 0 0 0 0 0 0 37 08 000 0 0 0 0 0 0 0 38 09 000 0 1 0 0 0 0 0 39 0a 000 1 0 0 0 0 0 0 3A 0b 000 1 0 0 0 0 0 0 3B 0c 000 0 0 0 0 0 0 0 3C 0d 000 1 0 0 0 0 0 0 3D 0e 000 1 0 0 0 0 0 0 3E 0f 000 1 0 0 0 0 0 0 3F 10 000 1 1 0 1 0 0 0 29 11 000 1 0 0 0 0 0 0 00 12 000 1 0 0 0 0 0 0 00 13 000 1 0 0 0 0 0 0 00 14 000 0 1 0 1 0 0 0 51 15 000 1 0 0 0 0 0 0 00 16 000 0 1 0 1 0 0 0 61 17 000 0 1 0 1 0 0 0 59 Notice that the entries beyond interrupt input signal 0x0f also get populated and arent just the hw-initialization default of all zeroes. Signed-off-by: Naga Chumbalkar Link: http://lkml.kernel.org/r/20110708083555.2598.42216.sendpatchset@nchumbalkar.americas.hpqcorp.net Signed-off-by: Ingo Molnar commit f1a46384ad568f72c11edbe2a3ec284bf32f2dbd Author: Arik Nemtsov Date: Thu Jul 7 14:25:23 2011 +0300 wl12xx: start/stop queues according to global per-AC counters Split tx_queue_count to count per-AC skb's queued, instead of relying on the skb-queue len. The skb queues used were only valid in STA-mode, as AP-mode uses per-link queues. This fixes a major regression in AP-mode, caused by the patch "wl12xx: implement Tx watermarks per AC". With that patch applied, we effectively had no regulation of Tx queues in AP-mode. Therefore a sustained high rate of Tx could cause exhaustion of the skb memory pool. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 19495f70d1ebcdc732dd3c94f5968a4bff198ae5 Author: Anatolij Gustschin Date: Thu Jul 7 12:25:02 2011 +0200 UBIFS: fix master node recovery When the 1st LEB was unmapped and written but 2nd LEB not, the master node recovery doesn't succeed after power cut. We see following error when mounting UBIFS partition on NOR flash: UBIFS error (pid 1137): ubifs_recover_master_node: failed to recover master node Correct 2nd master node offset check is needed to fix the problem. If the 2nd master node is at the end in the 2nd LEB, first master node is used for recovery. When checking for this condition we should check whether the master node is exactly at the end of the LEB (without remaining empty space) or whether it is followed by an empty space less than the master node size. Artem: when the error happened, offs2 = 261120, sz = 512, c->leb_size = 262016. Signed-off-by: Anatolij Gustschin Signed-off-by: Artem Bityutskiy commit 4376cac66778b25e599be3f5d54f33f58ba8ead7 Author: Steven Rostedt Date: Fri Jun 24 23:28:13 2011 -0400 ftrace: Do not disable interrupts for modules in mcount update When I mounted an NFS directory, it caused several modules to be loaded. At the time I was running the preemptirqsoff tracer, and it showed the following output: # tracer: preemptirqsoff # # preemptirqsoff latency trace v1.1.5 on 2.6.33.9-rt30-mrg-test # -------------------------------------------------------------------- # latency: 1177 us, #4/4, CPU#3 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4) # ----------------- # | task: modprobe-19370 (uid:0 nice:0 policy:0 rt_prio:0) # ----------------- # => started at: ftrace_module_notify # => ended at: ftrace_module_notify # # # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| /_--=> lock-depth # |||||/ delay # cmd pid |||||| time | caller # \ / |||||| \ | / modprobe-19370 3d.... 0us!: ftrace_process_locs <-ftrace_module_notify modprobe-19370 3d.... 1176us : ftrace_process_locs <-ftrace_module_notify modprobe-19370 3d.... 1178us : trace_hardirqs_on <-ftrace_module_notify modprobe-19370 3d.... 1178us : => ftrace_process_locs => ftrace_module_notify => notifier_call_chain => __blocking_notifier_call_chain => blocking_notifier_call_chain => sys_init_module => system_call_fastpath That's over 1ms that interrupts are disabled on a Real-Time kernel! Looking at the cause (being the ftrace author helped), I found that the interrupts are disabled before the code modification of mcounts into nops. The interrupts only need to be disabled on start up around this code, not when modules are being loaded. Signed-off-by: Steven Rostedt commit e4a3f541f0b67fdad98b326c851dfe7f4b6b6dad Author: Steven Rostedt Date: Tue Jun 14 19:02:29 2011 -0400 tracing: Still trace filtered irq functions when irq trace is disabled If a function is set to be traced by the set_graph_function, but the option funcgraph-irqs is zero, and the traced function happens to be called from a interrupt, it will not be traced. The point of funcgraph-irqs is to not trace interrupts when we are preempted by an irq, not to not trace functions we want to trace that happen to be *in* a irq. Luckily the current->trace_recursion element is perfect to add a flag to help us be able to trace functions within an interrupt even when we are not tracing interrupts that preempt the trace. Reported-by: Heiko Carstens Tested-by: Heiko Carstens Signed-off-by: Steven Rostedt commit 5a9ebe959967b7d3579de2a53d5df470fe0c7f22 Author: Kim Phillips Date: Thu Jul 7 14:43:12 2011 -0500 dt: bindings: move SEC node under new crypto/ Since technically it's not powerpc arch-specific. Also rename it sec2 to differentiate it from its incompatible successor, the SEC 4. Signed-off-by: Kim Phillips Signed-off-by: Grant Likely commit bfa71457a091ac0e4e20cab36e8ebad63935e504 Author: Pekka Enberg Date: Thu Jul 7 22:47:01 2011 +0300 SLUB: Fix missing include This fixes the following build breakage commit d6543e3 ("slub: Enable backtrace for create/delete points"): CC mm/slub.o mm/slub.c: In function ‘set_track’: mm/slub.c:428: error: storage size of ‘trace’ isn’t known mm/slub.c:435: error: implicit declaration of function ‘save_stack_trace’ mm/slub.c:428: warning: unused variable ‘trace’ make[1]: *** [mm/slub.o] Error 1 make: *** [mm/slub.o] Error 2 Signed-off-by: Pekka Enberg commit c4089f98e943ff445665dea49c190657b34ccffe Author: Marcin Slusarz Date: Sun Jun 26 21:39:18 2011 +0200 slub: reduce overhead of slub_debug slub checks for poison one byte by one, which is highly inefficient and shows up frequently as a highest cpu-eater in perf top. Joining reads gives nice speedup: (Compiling some project with different options) make -j12 make clean slub_debug disabled: 1m 27s 1.2 s slub_debug enabled: 1m 46s 7.6 s slub_debug enabled + this patch: 1m 33s 3.2 s check_bytes still shows up high, but not always at the top. Signed-off-by: Marcin Slusarz Cc: Christoph Lameter Cc: Pekka Enberg Cc: Matt Mackall Cc: linux-mm@kvack.org Signed-off-by: Pekka Enberg commit d18a90dd85f8243ed20cdadb6d8a37d595df456d Author: Ben Greear Date: Thu Jul 7 11:36:37 2011 -0700 slub: Add method to verify memory is not freed This is for tracking down suspect memory usage. Acked-by: Christoph Lameter Signed-off-by: Ben Greear Signed-off-by: Pekka Enberg commit d6543e3935cec9f66b9647c24c2e44c68f8a91fd Author: Ben Greear Date: Thu Jul 7 11:36:36 2011 -0700 slub: Enable backtrace for create/delete points This patch attempts to grab a backtrace for the creation and deletion points of the slub object. When a fault is detected, we can then get a better idea of where the item was deleted. Example output from debugging some funky nfs/rpc behaviour: ============================================================================= BUG kmalloc-64: Object is on free-list ----------------------------------------------------------------------------- INFO: Allocated in rpcb_getport_async+0x39c/0x5a5 [sunrpc] age=381 cpu=3 pid=3750 __slab_alloc+0x348/0x3ba kmem_cache_alloc_trace+0x67/0xe7 rpcb_getport_async+0x39c/0x5a5 [sunrpc] call_bind+0x70/0x75 [sunrpc] __rpc_execute+0x78/0x24b [sunrpc] rpc_execute+0x3d/0x42 [sunrpc] rpc_run_task+0x79/0x81 [sunrpc] rpc_call_sync+0x3f/0x60 [sunrpc] rpc_ping+0x42/0x58 [sunrpc] rpc_create+0x4aa/0x527 [sunrpc] nfs_create_rpc_client+0xb1/0xf6 [nfs] nfs_init_client+0x3b/0x7d [nfs] nfs_get_client+0x453/0x5ab [nfs] nfs_create_server+0x10b/0x437 [nfs] nfs_fs_mount+0x4ca/0x708 [nfs] mount_fs+0x6b/0x152 INFO: Freed in rpcb_map_release+0x3f/0x44 [sunrpc] age=30 cpu=2 pid=29049 __slab_free+0x57/0x150 kfree+0x107/0x13a rpcb_map_release+0x3f/0x44 [sunrpc] rpc_release_calldata+0x12/0x14 [sunrpc] rpc_free_task+0x59/0x61 [sunrpc] rpc_final_put_task+0x82/0x8a [sunrpc] __rpc_execute+0x23c/0x24b [sunrpc] rpc_async_schedule+0x10/0x12 [sunrpc] process_one_work+0x230/0x41d worker_thread+0x133/0x217 kthread+0x7d/0x85 kernel_thread_helper+0x4/0x10 INFO: Slab 0xffffea00029aa470 objects=20 used=9 fp=0xffff8800be7830d8 flags=0x20000000004081 INFO: Object 0xffff8800be7830d8 @offset=4312 fp=0xffff8800be7827a8 Bytes b4 0xffff8800be7830c8: 87 a8 96 00 01 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a .�......ZZZZZZZZ Object 0xffff8800be7830d8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object 0xffff8800be7830e8: 6b 6b 6b 6b 01 08 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkk..kkkkkkkkkk Object 0xffff8800be7830f8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object 0xffff8800be783108: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk� Redzone 0xffff8800be783118: bb bb bb bb bb bb bb bb ������������� Padding 0xffff8800be783258: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ Pid: 29049, comm: kworker/2:2 Not tainted 3.0.0-rc4+ #8 Call Trace: [] print_trailer+0x131/0x13a [] object_err+0x35/0x3e [] verify_mem_not_deleted+0x7a/0xb7 [] rpcb_getport_done+0x23/0x126 [sunrpc] [] rpc_exit_task+0x3f/0x6d [sunrpc] [] __rpc_execute+0x78/0x24b [sunrpc] [] ? rpc_execute+0x42/0x42 [sunrpc] [] rpc_async_schedule+0x10/0x12 [sunrpc] [] process_one_work+0x230/0x41d [] ? process_one_work+0x17b/0x41d [] worker_thread+0x133/0x217 [] ? manage_workers+0x191/0x191 [] kthread+0x7d/0x85 [] kernel_thread_helper+0x4/0x10 [] ? retint_restore_args+0x13/0x13 [] ? __init_kthread_worker+0x56/0x56 [] ? gs_change+0x13/0x13 Acked-by: Christoph Lameter Signed-off-by: Ben Greear Signed-off-by: Pekka Enberg commit fb1492186276ba52d99b58121b8a9a87f20cc9f3 Author: Lothar Waßmann Date: Thu Jul 7 14:50:16 2011 +0200 gpio/mxc: add missing initialization of basic_mmio_gpio shadow variables The bgpio_init() function does not initialise the shadow register for the GPIO direction register. Thus, when configuring the first GPIO with gpio_set_direction() all other GPIOs of the same bank will be configured as inputs. Since the bgpio layer cannot know whether the register is readable, the initialisation should be done by the caller of bgpio_init(). Also, the 'data' shadow variable that is used inside basic_mmio_gpio to cache the current value of the GPIO_DR register is initialised from the GPIO_PSR register within bgpio_init(). Thus when setting the output value of a certain GPIO, the other GPIO outputs of the same bank will be set or cleared depending on the pin state of the GPIO inputs during bgpio_init(). Signed-off-by: Lothar Waßmann Signed-off-by: Grant Likely commit fadd192e81b0a8d8086531b8c11bd88b311b68c2 Author: Mat Martineau Date: Thu Jul 7 09:39:03 2011 -0700 Bluetooth: Remove L2CAP busy queue The ERTM receive buffer is now handled in a way that does not require the busy queue and the associated polling code. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit e328140fdacbba43292a59a22fb55d9185288318 Author: Mat Martineau Date: Thu Jul 7 09:39:02 2011 -0700 Bluetooth: Use event-driven approach for handling ERTM receive buffer This change moves most L2CAP ERTM receive buffer handling out of the L2CAP core and in to the socket code. It's up to the higher layer (the socket code, in this case) to tell the core when its buffer is full or has space available. The recv op should always accept incoming ERTM data or else the connection will go down. Within the socket layer, an skb that does not fit in the socket receive buffer will be temporarily stored. When the socket is read from, that skb will be placed in the receive buffer if possible. Once adequate buffer space becomes available, the L2CAP core is informed and the ERTM local busy state is cleared. Receive buffer management for non-ERTM modes is unchanged. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit 26f880d221302b5d061185d8a6795bb532693bf3 Author: Mat Martineau Date: Thu Jul 7 09:39:01 2011 -0700 Bluetooth: Move code for ERTM local busy state to separate functions The local busy state is entered and exited based on buffer status in the socket layer (or other upper layer). This change is in preparation for general buffer status reports from the socket layer, which will then be used to change the local busy status. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit 90810645f78f894acfb04b3768e8a7d45f2b303a Author: Christoph Lameter Date: Thu Jun 23 09:36:12 2011 -0500 slab allocators: Provide generic description of alignment defines Provide description for alignment defines. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 8c156c322f8a300afe59259bd554db166cf88203 Author: Andre Guedes Date: Thu Jul 7 10:30:36 2011 -0300 Bluetooth: Fix potential deadlock in mgmt All threads running in process context should disable local bottom halve before locking hdev->lock. This patch fix the following message generated when Bluetooh module is loaded with enable_mgmt=y (CONFIG_PROVE_LOCKING enabled). [ 107.880781] ================================= [ 107.881631] [ INFO: inconsistent lock state ] [ 107.881631] 2.6.39+ #1 [ 107.881631] --------------------------------- [ 107.881631] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. [ 107.881631] rcuc0/7 [HC0[0]:SC1[3]:HE1:SE0] takes: [ 107.881631] (&(&hdev->lock)->rlock){+.?...}, at: [] mgmt_set_local_name_complete+0x84/0x10b [bluetooth] [ 107.881631] {SOFTIRQ-ON-W} state was registered at: [ 107.881631] [] __lock_acquire+0x347/0xd52 [ 107.881631] [] lock_acquire+0x8a/0xa7 [ 107.881631] [] _raw_spin_lock+0x2c/0x3b [ 107.881631] [] mgmt_control+0xd4d/0x175b [bluetooth] [ 107.881631] [] hci_sock_sendmsg+0x97/0x293 [bluetooth] [ 107.881631] [] sock_aio_write+0x126/0x13a [ 107.881631] [] do_sync_write+0xba/0xfa [ 107.881631] [] vfs_write+0xaa/0xca [ 107.881631] [] sys_write+0x45/0x69 [ 107.881631] [] system_call_fastpath+0x16/0x1b [ 107.881631] irq event stamp: 2100876 [ 107.881631] hardirqs last enabled at (2100876): [] restore_args+0x0/0x30 [ 107.881631] hardirqs last disabled at (2100875): [] save_args+0x6a/0x70 [ 107.881631] softirqs last enabled at (2100862): [] rcu_cpu_kthread+0x2b5/0x2e2 [ 107.881631] softirqs last disabled at (2100863): [] call_softirq+0x1c/0x26 [ 107.881631] [ 107.881631] other info that might help us debug this: [ 107.881631] Possible unsafe locking scenario: [ 107.881631] [ 107.881631] CPU0 [ 107.881631] ---- [ 107.881631] lock(&(&hdev->lock)->rlock); [ 107.881631] [ 107.881631] lock(&(&hdev->lock)->rlock); [ 107.881631] [ 107.881631] *** DEADLOCK *** [ 107.881631] [ 107.881631] 1 lock held by rcuc0/7: [ 107.881631] #0: (hci_task_lock){++.-..}, at: [] hci_rx_task+0x49/0x2f3 [bluetooth] [ 107.881631] [ 107.881631] stack backtrace: [ 107.881631] Pid: 7, comm: rcuc0 Not tainted 2.6.39+ #1 [ 107.881631] Call Trace: [ 107.881631] [] print_usage_bug+0x1e7/0x1f8 [ 107.881631] [] ? save_stack_trace+0x27/0x44 [ 107.881631] [] ? print_irq_inversion_bug.part.26+0x19a/0x19a [ 107.881631] [] mark_lock+0x106/0x258 [ 107.881631] [] __lock_acquire+0x2d3/0xd52 [ 107.881631] [] ? vprintk+0x3ab/0x3d7 [ 107.881631] [] lock_acquire+0x8a/0xa7 [ 107.881631] [] ? mgmt_set_local_name_complete+0x84/0x10b [bluetooth] [ 107.881631] [] ? lock_release+0x16c/0x179 [ 107.881631] [] _raw_spin_lock_bh+0x31/0x40 [ 107.881631] [] ? mgmt_set_local_name_complete+0x84/0x10b [bluetooth] [ 107.881631] [] mgmt_set_local_name_complete+0x84/0x10b [bluetooth] [ 107.881631] [] hci_event_packet+0x122b/0x3e12 [bluetooth] [ 107.881631] [] ? mark_held_locks+0x4b/0x6d [ 107.881631] [] ? _raw_spin_unlock_irqrestore+0x40/0x4d [ 107.881631] [] ? trace_hardirqs_on_caller+0x13f/0x172 [ 107.881631] [] ? _raw_spin_unlock_irqrestore+0x48/0x4d [ 107.881631] [] hci_rx_task+0xc8/0x2f3 [bluetooth] [ 107.881631] [] ? __local_bh_enable+0x90/0xa4 [ 107.881631] [] tasklet_action+0x87/0xe6 [ 107.881631] [] __do_softirq+0x9f/0x13f [ 107.881631] [] call_softirq+0x1c/0x26 [ 107.881631] [] ? do_softirq+0x46/0x9a [ 107.881631] [] ? rcu_cpu_kthread+0x2b5/0x2e2 [ 107.881631] [] _local_bh_enable_ip+0xac/0xc9 [ 107.881631] [] local_bh_enable+0xd/0xf [ 107.881631] [] rcu_cpu_kthread+0x2b5/0x2e2 [ 107.881631] [] ? __init_waitqueue_head+0x46/0x46 [ 107.881631] [] ? rcu_yield.constprop.42+0x98/0x98 [ 107.881631] [] kthread+0x7f/0x87 [ 107.881631] [] kernel_thread_helper+0x4/0x10 [ 107.881631] [] ? retint_restore_args+0x13/0x13 [ 107.881631] [] ? __init_kthread_worker+0x53/0x53 [ 107.881631] [] ? gs_change+0x13/0x13 Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 8aded7110a5625bc00aef05e94dd4b1a9cf3605f Author: Andre Guedes Date: Thu Jul 7 10:30:35 2011 -0300 Bluetooth: Fix potential deadlock in hci_core Since hdev->lock may be acquired by threads runnning in interrupt context, all threads running in process context should disable local bottom halve before locking hdev->lock. This can be done by using hci_dev_lock_bh macro. This way, we avoid potencial deadlocks like this one reported by CONFIG_PROVE_LOCKING=y. [ 304.788780] ================================= [ 304.789686] [ INFO: inconsistent lock state ] [ 304.789686] 2.6.39+ #1 [ 304.789686] --------------------------------- [ 304.789686] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. [ 304.789686] ksoftirqd/0/3 [HC0[0]:SC1[1]:HE1:SE0] takes: [ 304.789686] (&(&hdev->lock)->rlock){+.?...}, at: [] hci_conn_check_pending+0x38/0x76 [bluetooth] [ 304.789686] {SOFTIRQ-ON-W} state was registered at: [ 304.789686] [] __lock_acquire+0x347/0xd52 [ 304.789686] [] lock_acquire+0x8a/0xa7 [ 304.789686] [] _raw_spin_lock+0x2c/0x3b [ 304.789686] [] hci_blacklist_del+0x1f/0x8a [bluetooth] [ 304.789686] [] hci_sock_ioctl+0x2d9/0x314 [bluetooth] [ 304.789686] [] sock_ioctl+0x1f2/0x214 [ 304.789686] [] do_vfs_ioctl+0x46c/0x4ad [ 304.789686] [] sys_ioctl+0x42/0x65 [ 304.789686] [] system_call_fastpath+0x16/0x1b [ 304.789686] irq event stamp: 9768 [ 304.789686] hardirqs last enabled at (9768): [] restore_args+0x0/0x30 [ 304.789686] hardirqs last disabled at (9767): [] save_args+0x6a/0x70 [ 304.789686] softirqs last enabled at (9726): [] __do_softirq+0x129/0x13f [ 304.789686] softirqs last disabled at (9739): [] run_ksoftirqd+0x82/0x133 [ 304.789686] [ 304.789686] other info that might help us debug this: [ 304.789686] Possible unsafe locking scenario: [ 304.789686] [ 304.789686] CPU0 [ 304.789686] ---- [ 304.789686] lock(&(&hdev->lock)->rlock); [ 304.789686] [ 304.789686] lock(&(&hdev->lock)->rlock); [ 304.789686] [ 304.789686] *** DEADLOCK *** [ 304.789686] [ 304.789686] 1 lock held by ksoftirqd/0/3: [ 304.789686] #0: (hci_task_lock){++.-..}, at: [] hci_rx_task+0x49/0x2f3 [bluetooth] [ 304.789686] [ 304.789686] stack backtrace: [ 304.789686] Pid: 3, comm: ksoftirqd/0 Not tainted 2.6.39+ #1 [ 304.789686] Call Trace: [ 304.789686] [] print_usage_bug+0x1e7/0x1f8 [ 304.789686] [] ? save_stack_trace+0x27/0x44 [ 304.789686] [] ? print_irq_inversion_bug.part.26+0x19a/0x19a [ 304.789686] [] mark_lock+0x106/0x258 [ 304.789686] [] ? retint_restore_args+0x13/0x13 [ 304.789686] [] __lock_acquire+0x2d3/0xd52 [ 304.789686] [] ? vprintk+0x3ab/0x3d7 [ 304.789686] [] ? printk+0x3c/0x3e [ 304.789686] [] lock_acquire+0x8a/0xa7 [ 304.789686] [] ? hci_conn_check_pending+0x38/0x76 [bluetooth] [ 304.789686] [] ? __dynamic_pr_debug+0x10c/0x11a [ 304.789686] [] _raw_spin_lock+0x2c/0x3b [ 304.789686] [] ? hci_conn_check_pending+0x38/0x76 [bluetooth] [ 304.789686] [] hci_conn_check_pending+0x38/0x76 [bluetooth] [ 304.789686] [] hci_event_packet+0x38e/0x3e12 [bluetooth] [ 304.789686] [] ? lock_release+0x16c/0x179 [ 304.789686] [] ? _raw_read_unlock+0x23/0x27 [ 304.789686] [] ? hci_send_to_sock+0x179/0x188 [bluetooth] [ 304.789686] [] hci_rx_task+0xc8/0x2f3 [bluetooth] [ 304.789686] [] tasklet_action+0x87/0xe6 [ 304.789686] [] __do_softirq+0x9f/0x13f [ 304.789686] [] run_ksoftirqd+0x82/0x133 [ 304.789686] [] ? __do_softirq+0x13f/0x13f [ 304.789686] [] kthread+0x7f/0x87 [ 304.789686] [] kernel_thread_helper+0x4/0x10 [ 304.789686] [] ? retint_restore_args+0x13/0x13 [ 304.789686] [] ? __init_kthread_worker+0x53/0x53 [ 304.789686] [] ? gs_change+0x13/0x13 Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit e08fbb78f03fe2c4f88824faf6f51ce6af185e11 Author: Steven Rostedt Date: Fri Jul 1 23:04:36 2011 -0400 tracing, x86/irq: Do not trace arch_local_{*,irq_*}() functions I triggered a triple fault with gcc 4.5.1 because it did not honor the inline annotation to arch_local_save_flags() function and that function was added to the pool of functions traced by the function tracer. When preempt_schedule() called arch_local_save_flags() (called by irqs_disabled()), it was traced, but the first thing the function tracer does is disable preemption. When it enables preemption, the NEED_RESCHED flag will not have been cleared and the preemption check will trigger the call to preempt_schedule() again. Although the dynamic function tracer crashed immediately, the static version of the function tracer (CONFIG_DYNAMIC_FTRACE is not set) actually was able to show where the problem was. swapper-1 3.N.. 103885us : arch_local_save_flags <-preempt_schedule swapper-1 3.N.. 103886us : arch_local_save_flags <-preempt_schedule swapper-1 3.N.. 103886us : arch_local_save_flags <-preempt_schedule swapper-1 3.N.. 103887us : arch_local_save_flags <-preempt_schedule swapper-1 3.N.. 103887us : arch_local_save_flags <-preempt_schedule swapper-1 3.N.. 103888us : arch_local_save_flags <-preempt_schedule swapper-1 3.N.. 103888us : arch_local_save_flags <-preempt_schedule It went on for a while before it triple faulted with a corrupted stack. The arch_local_save_flags and arch_local_irq_* functions should not be traced. Even though they are marked as inline, gcc may still make them a function and enable tracing of them. The simple solution is to just mark them as notrace. I had to add the for this file to include the notrace tag. Signed-off-by: Steven Rostedt Link: http://lkml.kernel.org/r/20110702033852.733414762@goodmis.org Signed-off-by: Ingo Molnar commit 5f0dd296a01c8173fcc05a8b262a1168ae90bc74 Author: Gertjan van Wingerde Date: Wed Jul 6 23:00:21 2011 +0200 rt2x00: Implement tx_frames_pending mac80211 callback function. Implementing this callback function will cause mac80211 refrain from going to powersave state when there are still untransmitted TX frames in the queues. This would exactly mimic the behaviour of the legacy vendor driver which also doesn't go in powersave mode if there are still TX frames that are not transmitted. This should make powersaving and rt2x00 a better couple. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit acb56120d2c386d6dd104a6515c1a15dabc1ef87 Author: Gertjan van Wingerde Date: Wed Jul 6 22:59:19 2011 +0200 rt2x00: Properly identify rt2800usb devices. Sitecom WLA4000 (USB ID 0x0df6:0x0060) is an RT3072 chipset. Sitecom WLA5000 (USB ID 0x0df6:0x0062) is an RT3572 chipset. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 71e0b38c2914018b01f3f08b43ee9e3328197699 Author: Gertjan van Wingerde Date: Wed Jul 6 22:58:55 2011 +0200 rt2x00: Add device ID for RT539F device. Reported-by: Wim Vander Schelden Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 128f8f773d77d41a7dbcaf5d36325a0f4e7955cd Author: Gertjan van Wingerde Date: Wed Jul 6 22:57:37 2011 +0200 rt2x00: Reduce window of a queue's tx lock. Currently a lot of actions that can be done without the queue's tx lock being held are done inside the locked area. Move them out to have a leaner and meaner code that operates while the tx lock is being held. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 77b5621bac4a56b83b9081f48d4e7d1accdde400 Author: Gertjan van Wingerde Date: Wed Jul 6 22:57:00 2011 +0200 rt2x00: Don't use queue entry as parameter when creating TX descriptor. The functions that create the tx descriptor structure do not operate on a queue entry at all. Signal this fact in the code by not providing a queue entry as a parameter, but the rt2x00 device structure and the skb directly. This patch is a preparation for reducing the time a queue is locked for a tx operation. Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 77a861c405da75d81e9e6e32c50eb7f9777777e8 Author: Gertjan van Wingerde Date: Wed Jul 6 22:56:24 2011 +0200 rt2x00: Serialize TX operations on a queue. The rt2x00 driver gets frequent occurrences of the following error message when operating under load: phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2. This is caused by simultaneous attempts from mac80211 to send a frame via rt2x00, which are not properly serialized inside rt2x00queue_write_tx_frame, causing the second frame to fail sending with the above mentioned error message. Fix this by introducing a per-queue spinlock to serialize the TX operations on that queue. Reported-by: Andreas Hartmann Signed-off-by: Gertjan van Wingerde Acked-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9352f69c9194f1dcb3e096377e5c4804ab1bb5fb Author: Rafał Miłecki Date: Tue Jul 5 19:48:26 2011 +0200 bcma: detect PCI core working in hostmode We must not init it like clientmode one, it would break device (tested by Hauke on BCM4718). Add stub hostmode driver for now. Signed-off-by: Rafał Miłecki Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit a7f9becb7d27008af0f72f8449c110276b0df37d Author: Antonio Quartulli Date: Thu Jul 7 14:24:34 2011 +0200 batman-adv: request the full table if tt_crc doesn't match In case of tt_crc mismatching for a certain orig_node after applying the changes, the node must request the full table immediately. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner commit 980d55b20a730cbabc74cdc57be9c47713dba57b Author: Antonio Quartulli Date: Thu Jul 7 01:40:59 2011 +0200 batman-adv: keep global table consistency in case of roaming To keep consistency of other originator tables, new clients detected as roamed, are kept in the global table but are marked as TT_CLIENT_PENDING They are purged only when the new ttvn is received by the corresponding originator. Moreover they need to be considered as removed in case of global transtable lookup. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner commit 058d0e26989e3da2fa031f551235f6ff1e0bc27c Author: Antonio Quartulli Date: Thu Jul 7 01:40:58 2011 +0200 batman-adv: keep local table consistency for further TT_RESPONSE To keep transtable consistency among all the nodes, an originator must not send not yet announced clients within a full table TT_RESPONSE. Instead, deleted client have to be kept in the table in order to be sent within an immediate TT_RESPONSE. In this way all the nodes in the network will always provide the same response for the same request. All the modification are committed at the next ttvn increment event. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner commit c8c991bf2076d711f14ff9063db306fd522ddcd4 Author: Antonio Quartulli Date: Thu Jul 7 01:40:57 2011 +0200 batman-adv: initialise last_ttvn and tt_crc for the orig_node structure The last_ttvn and tt_crc fields of the orig_node structure were not initialised causing an immediate TT_REQ/RES dialogue even if not needed. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner commit dd7f3d5458e5c0eded620fe8192abe7e418fc94c Author: Alexey Khoroshilov Date: Wed Jul 6 02:30:00 2011 +0400 hfsplus: Add error propagation for hfsplus_ext_write_extent_locked Implement error propagation through the callers of hfsplus_ext_write_extent_locked(). Signed-off-by: Alexey Khoroshilov Signed-off-by: Christoph Hellwig commit 5bd9d99d107c56ff7b35a29e930d85f91a07b2fd Author: Alexey Khoroshilov Date: Wed Jul 6 02:29:59 2011 +0400 hfsplus: add error checking for hfs_find_init() hfs_find_init() may fail with ENOMEM, but there are places, where the returned value is not checked. The consequences can be very unpleasant, e.g. kfree uninitialized pointer and inappropriate mutex unlocking. The patch adds checks for errors in hfs_find_init(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov Signed-off-by: Christoph Hellwig commit 43dd61c9a09bd413e837df829e6bfb42159be52a Author: Steven Rostedt Date: Thu Jul 7 11:09:22 2011 -0400 ftrace: Fix regression of :mod:module function enabling The new code that allows different utilities to pick and choose what functions they trace broke the :mod: hook that allows users to trace only functions of a particular module. The reason is that the :mod: hook bypasses the hash that is setup to allow individual users to trace their own functions and uses the global hash directly. But if the global hash has not been set up, it will cause a bug: echo '*:mod:radeon' > /sys/kernel/debug/set_ftrace_filter produces: [drm:drm_mode_getfb] *ERROR* invalid framebuffer id [drm:radeon_crtc_page_flip] *ERROR* failed to reserve new rbo buffer before flip BUG: unable to handle kernel paging request at ffffffff8160ec90 IP: [] add_hash_entry+0x66/0xd0 PGD 1a05067 PUD 1a09063 PMD 80000000016001e1 Oops: 0003 [#1] SMP Jul 7 04:02:28 phyllis kernel: [55303.858604] CPU 1 Modules linked in: cryptd aes_x86_64 aes_generic binfmt_misc rfcomm bnep ip6table_filter hid radeon r8169 ahci libahci mii ttm drm_kms_helper drm video i2c_algo_bit intel_agp intel_gtt Pid: 10344, comm: bash Tainted: G WC 3.0.0-rc5 #1 Dell Inc. Inspiron N5010/0YXXJJ RIP: 0010:[] [] add_hash_entry+0x66/0xd0 RSP: 0018:ffff88003a96bda8 EFLAGS: 00010246 RAX: ffff8801301735c0 RBX: ffffffff8160ec80 RCX: 0000000000306ee0 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880137c92940 RBP: ffff88003a96bdb8 R08: ffff880137c95680 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: ffffffff81c9df78 R13: ffff8801153d1000 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f329c18a700(0000) GS:ffff880137c80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffff8160ec90 CR3: 000000003002b000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process bash (pid: 10344, threadinfo ffff88003a96a000, task ffff88012fcfc470) Stack: 0000000000000fd0 00000000000000fc ffff88003a96be38 ffffffff810d92f5 ffff88011c4c4e00 ffff880000000000 000000000b69f4d0 ffffffff8160ec80 ffff8800300e6f06 0000000081130295 0000000000000282 ffff8800300e6f00 Call Trace: [] match_records+0x155/0x1b0 [] ftrace_mod_callback+0xbc/0x100 [] ftrace_regex_write+0x16f/0x210 [] ftrace_filter_write+0xf/0x20 [] vfs_write+0xc8/0x190 [] sys_write+0x51/0x90 [] system_call_fastpath+0x16/0x1b Code: 48 8b 33 31 d2 48 85 f6 75 33 49 89 d4 4c 03 63 08 49 8b 14 24 48 85 d2 48 89 10 74 04 48 89 42 08 49 89 04 24 4c 89 60 08 31 d2 RIP [] add_hash_entry+0x66/0xd0 RSP CR2: ffffffff8160ec90 ---[ end trace a5d031828efdd88e ]--- Reported-by: Brian Marete Signed-off-by: Steven Rostedt commit 40ee4dffff061399eb9358e0c8fcfbaf8de4c8fe Author: Steven Rostedt Date: Tue Jul 5 14:32:51 2011 -0400 tracing: Have "enable" file use refcounts like the "filter" file The "enable" file for the event system can be removed when a module is unloaded and the event system only has events from that module. As the event system nr_events count goes to zero, it may be freed if its ref_count is also set to zero. Like the "filter" file, the "enable" file may be opened by a task and referenced later, after a module has been unloaded and the events for that event system have been removed. Although the "filter" file referenced the event system structure, the "enable" file only references a pointer to the event system name. Since the name is freed when the event system is removed, it is possible that an access to the "enable" file may reference a freed pointer. Update the "enable" file to use the subsystem_open() routine that the "filter" file uses, to keep a reference to the event system structure while the "enable" file is opened. Cc: Reported-by: Johannes Berg Signed-off-by: Steven Rostedt commit e9dbfae53eeb9fc3d4bb7da3df87fa9875f5da02 Author: Steven Rostedt Date: Tue Jul 5 11:36:06 2011 -0400 tracing: Fix bug when reading system filters on module removal The event system is freed when its nr_events is set to zero. This happens when a module created an event system and then later the module is removed. Modules may share systems, so the system is allocated when it is created and freed when the modules are unloaded and all the events under the system are removed (nr_events set to zero). The problem arises when a task opened the "filter" file for the system. If the module is unloaded and it removed the last event for that system, the system structure is freed. If the task that opened the filter file accesses the "filter" file after the system has been freed, the system will access an invalid pointer. By adding a ref_count, and using it to keep track of what is using the event system, we can free it after all users are finished with the event system. Cc: Reported-by: Johannes Berg Signed-off-by: Steven Rostedt commit 31817df025e24559a01d33ddd68bd11b21bf9d7b Author: David S. Miller Date: Thu Jul 7 08:18:04 2011 -0700 packet: Fix build with INET disabled. af_packet.c:(.text+0x3d130): undefined reference to `ip_defrag' or ERROR: "ip_defrag" [net/packet/af_packet.ko] undefined! Reported-by: Randy Dunlap Signed-off-by: David S. Miller commit afe62c68cd3562c5f8e3ea293e82906dd5a87936 Author: Eric Dumazet Date: Thu Jul 7 06:41:29 2011 -0700 af_packet: lock imbalance fanout_add() might return with fanout_mutex held. Reduce indentation level while we are at it Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 68ac31918ec359a2bfb9f897bb62c2940652d2b8 Author: Eric Dumazet Date: Thu Jul 7 06:13:32 2011 -0700 sky2: use GFP_KERNEL allocations at device setup In process and sleep allowed context, favor GFP_KERNEL allocations over GFP_ATOMIC ones. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c878d4746ca12cc8022f9e02f055f175b847dbc Author: Shmulik Ravid Date: Thu Jul 7 05:11:30 2011 -0700 bnx2x: Add dcbnl notification This patch adds a dcbnl notification to the bnx2x. The notification is sent to user mode clients following a change in the dcb negotiated parameters as resolved by the embedded DCBX stack. Signed-off-by: Shmulik Ravid Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit be0e1e788b0973147b6b83cc940676cc26009eb7 Author: Ian Abbott Date: Thu Jul 7 01:18:49 2011 +0000 lib/checksum.c: optimize do_csum a bit Reduce the number of variables modified by the loop in do_csum() by 1, which seems like a good idea. On Nios II (a RISC CPU with 3-operand instruction set) it reduces the loop from 7 to 6 instructions, including the conditional branch. Signed-off-by: Ian Abbott Signed-off-by: David S. Miller commit 97bc3633bec7ed0fdfbda6b9cf86c51e4f58f8e2 Author: Shirley Ma Date: Wed Jul 6 12:26:11 2011 +0000 macvtap: macvtapTX zero-copy support Only 128 bytes is copied, the rest of data is DMA mapped directly from userspace. Signed-off-by: Shirley Ma Signed-off-by: David S. Miller commit a6686f2f382b13f8a7253401a66690c3633b6a74 Author: Shirley Ma Date: Wed Jul 6 12:22:12 2011 +0000 skbuff: skb supports zero-copy buffers This patch adds userspace buffers support in skb shared info. A new struct skb_ubuf_info is needed to maintain the userspace buffers argument and index, a callback is used to notify userspace to release the buffers once lower device has done DMA (Last reference to that skb has gone). If there is any userspace apps to reference these userspace buffers, then these userspaces buffers will be copied into kernel. This way we can prevent userspace apps from holding these userspace buffers too long. Use destructor_arg to point to the userspace buffer info; a new tx flags SKBTX_DEV_ZEROCOPY is added for zero-copy buffer check. Signed-off-by: Shirley Ma Signed-off-by: David S. Miller commit 1cdebb423202e255366a321814fc6df079802a0d Author: Shirley Ma Date: Wed Jul 6 12:17:30 2011 +0000 sock.h: Add a new sock zero-copy flag Signed-off-by: Shirley Ma Signed-off-by: David S. Miller commit 380b153cf59a5610ca97319fdb9601b8c453ece0 Author: Sebastian Poehn Date: Thu Jul 7 04:30:29 2011 -0700 gianfar v2: code cleanups This patch: # improves readability of some gianfar nfc code Signed-off-by: Sebastian Poehn Signed-off-by: David S. Miller commit 2bda8a0c8af5294b869da1efd2c2b9a562f50dcf Author: Bjørn Mork Date: Tue Jul 5 23:04:13 2011 +0000 Disable router anycast address for /127 prefixes RFC 6164 requires that routers MUST disable Subnet-Router anycast for the prefix when /127 prefixes are used. No need for matching code in addrconf_leave_anycast() as it will silently ignore any attempt to leave an unknown anycast address. Signed-off-by: Bjørn Mork Signed-off-by: David S. Miller commit b395fb36d59e17b9335805c10fa30fc51c8a94c6 Merge: fe0d422 6b385b4 Author: Ingo Molnar Date: Thu Jul 7 12:56:44 2011 +0200 Merge branch 'iommu-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu into core/iommu commit 6b385b46ee17d7e1a68d3411b8cdb2342e0f0445 Author: Joerg Roedel Date: Thu Jul 7 12:18:48 2011 +0200 iommu/core: Fix build with INTR_REMAP=y && CONFIG_DMAR=n IOMMU_API is not selected when no DMA remapping driver is selected, but the whole drivers/iommu/ directory is only built with IOMMU_API=y. Fixed with this patch by including the directory with IOMMU_SUPPORT instead. Signed-off-by: Joerg Roedel commit fa366124ef3aab35e378ae141f379c133d839943 Author: David S. Miller Date: Thu Jul 7 02:41:59 2011 -0700 rose: Delete commented out references to ancient firewalling code. These intefaces haven't existed since 2.2.x Signed-off-by: David S. Miller commit 5a9d69179f294691bdfd1278f64212a9a7815b0e Author: stephen hemminger Date: Wed Jul 6 19:00:08 2011 +0000 skge: update version Update version number, and take "New" off the config information since old sk98lin has been gone for a couple years. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 57d6fa37f56ca594a1becaf5b8774382ddb7d720 Author: stephen hemminger Date: Wed Jul 6 19:00:07 2011 +0000 skge: make support for old Genesis chips optional The GENESIS boards are really old PCI-X boards that are rare. Marvell has dropped support for this hardware and there is no reason for most users to have to have this code. Rather than riddling code with ifdef's make one macro and let the compiler do the dead code elimination. This saves about 15% of the text size. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c074304c2bcf4b45e2b7ff86011beaa035ee52fd Author: stephen hemminger Date: Wed Jul 6 19:00:06 2011 +0000 add pci-id for DGE-530T See also: https://bugzilla.kernel.org/show_bug.cgi?id=38862 Reported-by: jameshenderson@ruggedcom.com Signed-off-by: David S. Miller commit 6f7d32f41e5123cb3bbe8c8ce2df912d7a1e1537 Author: stephen hemminger Date: Wed Jul 6 19:00:05 2011 +0000 skge: cleanup pci id table The PCI table was using mix of defines for device id and hard coded hex values. This patch change it to all hex values. It also adds comments based on the names provided in the vendor driver table. There is NO CHANGE to the actual resulting table. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d804c6f2122ae4ffac21757c7774007e38093390 Author: Shan Wei Date: Thu Jul 7 00:27:49 2011 -0700 net: doc: fix compile warning of no format arguments in ifenslave.c Fix following warning in ifenslave.c with gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4). Documentation/networking/ifenslave.c:263:4: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:271:3: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:277:3: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:285:3: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:291:3: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:292:3: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:312:4: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:323:3: warning: format not a string literal and no format arguments Documentation/networking/ifenslave.c:342:4: warning: format not a string literal and no format arguments Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit fa917ff739eace9e1e1c214bd067a7a0f7bc264b Author: Shan Wei Date: Thu Jul 7 00:26:31 2011 -0700 net: fix warning of versioncheck net-next-2.6/drivers/net/bnx2x/bnx2x_sp.c: 19 linux/version.h not needed. net-next-2.6/drivers/net/caif/caif_hsi.c: 9 linux/version.h not needed. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit 2e65c9d2c5206eb24439f2dd2daa2f6702df358e Author: Andre Guedes Date: Thu Jun 30 19:20:56 2011 -0300 Bluetooth: Remove enable_smp parameter The enable_smp parameter is no longer needed. It can be replaced by checking lmp_host_le_capable. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit eead27da60df80a112d1ac3ea482226e9794c26b Author: Andre Guedes Date: Thu Jun 30 19:20:55 2011 -0300 Bluetooth: Add lmp_host_le_capable() macro Since we have the extended LMP features properly implemented, we should check the LMP_HOST_LE bit to know if the host supports LE. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit e6100a2541987b84af37e4c4247d989644a3aa69 Author: Andre Guedes Date: Thu Jun 30 19:20:54 2011 -0300 Bluetooth: Add enable_le module parameter This patch adds a new module parameter to enable/disable host LE support. By default host LE support is disabled. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit f9b49306dc0b9f514ffb275ae853c50d7ccd6856 Author: Andre Guedes Date: Thu Jun 30 19:20:53 2011 -0300 Bluetooth: Write LE Host Supported command This patch adds a handler to Write LE Host Supported command complete events. Once this commands has completed successfully, we should read the extended LMP features and update the extfeatures field in hci_dev. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 971e3a4bbcbf7378315b85150853d86be59cffe0 Author: Andre Guedes Date: Thu Jun 30 19:20:52 2011 -0300 Bluetooth: Add extfeatures to struct hci_dev This new field holds the extended LMP features value. Some LE mechanism such as discovery procedure needs to read the extended LMP features to work properly. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit bcaadf5c1ac4ff84b52174a84adb86a1e3e806dd Author: Masatake YAMATO Date: Mon Jul 4 12:25:51 2011 +0900 dlm: dump address of unknown node When the dlm fails to make a network connection to another node, include the address of the node in the error message. Signed-off-by: Masatake YAMATO Signed-off-by: David Teigland commit 0e373639ad7c7ef2b0c9cf907574b266791b9778 Author: Rob Herring Date: Wed Jul 6 15:42:58 2011 -0500 dt: add helper function to read u32 arrays Rework of_property_read_u32 to read an array of values. Then of_property_read_u32 becomes an inline with array size of 1. Also make struct device_node ptr const. Signed-off-by: Rob Herring Signed-off-by: Grant Likely commit f0c717e6b7ac032e89611fa7629a1fff57e7667a Author: Amitkumar Karwar Date: Tue Jul 5 18:01:11 2011 -0700 mwifiex: modify SDIO aggregation Tx/Rx buffer size The SDIO aggregation buffer size has been modified to an optimum value which gives good throughput results. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 96a95c1abb8235ed26f5915511ce30fbb42de8dd Author: Jean Delvare Date: Wed Jul 6 00:27:06 2011 +0200 ipw2100: Fix command list for debugging There is a stray "undefined" string in the array, get rid of it. Signed-off-by: Jean Delvare Cc: "John W. Linville" Signed-off-by: John W. Linville commit c68f4b892c241bdddeb6f1c1864ac26197229471 Author: Johannes Berg Date: Tue Jul 5 16:35:41 2011 +0200 mac80211: support GTK rekey offload This adds the necessary mac80211 APIs to support GTK rekey offload, mirroring the functionality from cfg80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e5497d766adb92bcbd1fa4a147e188f84f34b20a Author: Johannes Berg Date: Tue Jul 5 16:35:40 2011 +0200 cfg80211/nl80211: support GTK rekey offload In certain circumstances, like WoWLAN scenarios, devices may implement (partial) GTK rekeying on the device to avoid waking up the host for it. In order to successfully go through GTK rekeying, the KEK, KCK and the replay counter are required. Add API to let the supplicant hand the parameters to the driver which may store it for future GTK rekey operations. Note that, of course, if GTK rekeying is done by the device, the EAP frame must not be passed up to userspace, instead a rekey event needs to be sent to let userspace update its replay counter. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 830af02f24fbc087999b757b8eca51829c67fa6f Author: Johannes Berg Date: Tue Jul 5 16:35:39 2011 +0200 mac80211: allow driver to iterate keys When in suspend/wowlan, devices might implement crypto offload differently (more features), and might require reprogramming keys for the WoWLAN (as it is the case for Intel devices that use another uCode image). Thus allow the driver to iterate all keys in this context. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 68dd49ef907f92127aabb30b3368b80eb0ffb459 Author: Jon Mason Date: Thu Jun 30 10:42:47 2011 -0500 iwlwifi: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 333c0dbfcd7847d02d75a2d2a80d2f5e1cdc51dc Merge: 115f945 95dac04f Author: John W. Linville Date: Wed Jul 6 15:03:16 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 6eae1ace68ab775e9d47f1f8e40c811ac39f733f Author: Grant Likely Date: Wed Jul 6 11:54:19 2011 -0600 gpio: Move mpc5200 gpio driver to drivers/gpio GPIO drivers are getting consolidated into drivers/gpio. While at it, change the driver name to mpc5200-gpio* to avoid collisions. Signed-off-by: Grant Likely commit 07bfc9152365332477083768d0af9ab21bb2019d Author: ashishj3 Date: Wed Jul 6 16:02:13 2011 +0530 GPIO: DA9052 GPIO module v3 DA9052 PMIC has 16 bit GPIO bus for peripheral control. This patch add support for the GPIO pins on the DA9052. Signed-off-by: David Dajun Chen Signed-off-by: Ashish Jangam Acked-by: Arnd Bergmann Acked-by: Mark Brown Signed-off-by: Grant Likely commit 17f5b569e09cfa3488eaa663cbf9feada2e789f5 Author: Joerg Roedel Date: Wed Jul 6 17:14:44 2011 +0200 iommu/amd: Don't use MSI address range for DMA addresses Reserve the MSI address range in the address allocator so that MSI addresses are not handed out as dma handles. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit aec27311c23a8ce8eaf490762249d3ed74be83b6 Author: David S. Miller Date: Wed Jul 6 07:30:59 2011 -0700 packet: Fix leak in pre-defrag support. When we clone the SKB, we forget about the original one. Avoid this problem by using skb_share_check(). Reported-by: Penttilä Mika Signed-off-by: David S. Miller commit dc7f9f6e8838556f226c2ebd1da7bb305cb25654 Author: Eric Dumazet Date: Tue Jul 5 23:25:42 2011 +0000 net: sched: constify tcf_proto and tc_action Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 95ec3eb417115fbb2c73b59e2825f6dd5d2f6cf6 Author: David S. Miller Date: Wed Jul 6 01:56:38 2011 -0700 packet: Add 'cpu' fanout policy. Unfortunately we have to use a real modulus here as the multiply trick won't work as effectively with cpu numbers as it does with rxhash values. Signed-off-by: David S. Miller commit 69c843b45eb3b8f267019e6a05860c9c48337419 Author: Alan Stern Date: Wed Jul 6 10:52:23 2011 +0200 PM / Runtime: Prevent runtime_resume from racing with probe This patch (as1475) adds device_lock() and device_unlock() calls to the store methods for the power/control and power/autosuspend_delay_ms sysfs attribute files. We don't want badly timed writes to these files to cause runtime_resume callbacks to occur while a driver is being probed for a device. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki commit 62052ab1d1a456f5f62f8b753e12d10ca1a83604 Author: Rafael J. Wysocki Date: Wed Jul 6 10:52:13 2011 +0200 PM / Runtime: Replace "run-time" with "runtime" in documentation The runtime PM documentation and kerneldoc comments sometimes spell "runtime" with a dash (i.e. "run-time"). Replace all of those instances with "runtime" to make the naming consistent. Signed-off-by: Rafael J. Wysocki commit e358bad75ff13210f5211cac9f93d76170d43f89 Author: Rafael J. Wysocki Date: Wed Jul 6 10:52:06 2011 +0200 PM / Runtime: Improve documentation of enable, disable and barrier The runtime PM documentation in Documentation/power/runtime_pm.txt doesn't say that pm_runtime_enable() and pm_runtime_disable() work by operating on power.disable_depth, which is wrong, because the possibility of nesting disables doesn't follow from the description of these functions. Also, there is no description of pm_runtime_barrier() at all in the document, which is confusing. Improve the documentation by fixing those issues. Signed-off-by: Rafael J. Wysocki commit 1e2ef05bb8cf851a694d38e9170c89e7ff052741 Author: Rafael J. Wysocki Date: Wed Jul 6 10:51:58 2011 +0200 PM: Limit race conditions between runtime PM and system sleep (v2) One of the roles of the PM core is to prevent different PM callbacks executed for the same device object from racing with each other. Unfortunately, after commit e8665002477f0278f84f898145b1f141ba26ee26 (PM: Allow pm_runtime_suspend() to succeed during system suspend) runtime PM callbacks may be executed concurrently with system suspend/resume callbacks for the same device. The main reason for commit e8665002477f0278f84f898145b1f141ba26ee26 was that some subsystems and device drivers wanted to use runtime PM helpers, pm_runtime_suspend() and pm_runtime_put_sync() in particular, for carrying out the suspend of devices in their .suspend() callbacks. However, as it's been determined recently, there are multiple reasons not to do so, inlcuding: * The caller really doesn't control the runtime PM usage counters, because user space can access them through sysfs and effectively block runtime PM. That means using pm_runtime_suspend() or pm_runtime_get_sync() to suspend devices during system suspend may or may not work. * If a driver calls pm_runtime_suspend() from its .suspend() callback, it causes the subsystem's .runtime_suspend() callback to be executed, which leads to the call sequence: subsys->suspend(dev) driver->suspend(dev) pm_runtime_suspend(dev) subsys->runtime_suspend(dev) recursive from the subsystem's point of view. For some subsystems that may actually work (e.g. the platform bus type), but for some it will fail in a rather spectacular fashion (e.g. PCI). In each case it means a layering violation. * Both the subsystem and the driver can provide .suspend_noirq() callbacks for system suspend that can do whatever the .runtime_suspend() callbacks do just fine, so it really isn't necessary to call pm_runtime_suspend() during system suspend. * The runtime PM's handling of wakeup devices is usually different from the system suspend's one, so .runtime_suspend() may simply be inappropriate for system suspend. * System suspend is supposed to work even if CONFIG_PM_RUNTIME is unset. * The runtime PM workqueue is frozen before system suspend, so if whatever the driver is going to do during system suspend depends on it, that simply won't work. Still, there is a good reason to allow pm_runtime_resume() to succeed during system suspend and resume (for instance, some subsystems and device drivers may legitimately use it to ensure that their devices are in full-power states before suspending them). Moreover, there is no reason to prevent runtime PM callbacks from being executed in parallel with the system suspend/resume .prepare() and .complete() callbacks and the code removed by commit e8665002477f0278f84f898145b1f141ba26ee26 went too far in this respect. On the other hand, runtime PM callbacks, including .runtime_resume(), must not be executed during system suspend's "late" stage of suspending devices and during system resume's "early" device resume stage. Taking all of the above into consideration, make the PM core acquire a runtime PM reference to every device and resume it if there's a runtime PM resume request pending right before executing the subsystem-level .suspend() callback for it. Make the PM core drop references to all devices right after executing the subsystem-level .resume() callbacks for them. Additionally, make the PM core disable the runtime PM framework for all devices during system suspend, after executing the subsystem-level .suspend() callbacks for them, and enable the runtime PM framework for all devices during system resume, right before executing the subsystem-level .resume() callbacks for them. Signed-off-by: Rafael J. Wysocki Acked-by: Kevin Hilman commit eea3fc0357eb89d0b2d1af37bdfb83eb4076a542 Author: Rafael J. Wysocki Date: Wed Jul 6 10:51:40 2011 +0200 PCI / PM: Detect early wakeup in pci_pm_prepare() A subsequent patch is going to move the invocation of pm_runtime_barrier() from dpm_prepare() to __device_suspend(). Consequently, early wakeup events resulting from runtime resume requests for wakeup devices queued up right before system suspend will only be detected after all of the subsystem-level .prepare() callbacks have run. However, the PCI bus type calls pm_runtime_get_sync() from its pci_pm_prepare() callback routine, so it would destroy the early wakeup events information regarding PCI devices. To prevent this from happening add an early wakeup detection mechanism, analogous to the one currently in dpm_prepare(), to pci_pm_prepare(). Signed-off-by: Rafael J. Wysocki Acked-by: Jesse Barnes commit 81b16ba2f1cc93a1ee1dda48be2ea2d91a0cb72e Author: Eric Dumazet Date: Wed Jul 6 01:51:04 2011 -0700 veth: Kill unused tx_dropped Followup to commit f82528bc13a (Exclude duplicated checking for iface-up) : We no longer need percpu tx_dropped field. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3600cdadb7ab9ee5f4e73ed01242c3e8b8e3282c Author: David S. Miller Date: Tue Jul 5 23:49:03 2011 -0700 veth: Kill unused code label and code block. Signed-off-by: David S. Miller commit 5b7f7626743e0912958981343b47ac0ab2206b1c Author: Shmulik Ravid Date: Tue Jul 5 06:16:25 2011 +0000 dcbnl: Add CEE notification This patch add an unsolicited notification of the DCBX negotiated parameters for the CEE flavor of the DCBX protocol. The notification message is identical to the aggregated CEE get operation and holds all the pertinent local and peer information. The notification routine is exported so it can be invoked by drivers supporting an embedded DCBX stack. Signed-off-by: Shmulik Ravid Signed-off-by: David S. Miller commit 37cf4d1a9b0903b874a638d0f8649873ddde8a12 Author: Shmulik Ravid Date: Tue Jul 5 06:16:22 2011 +0000 dcbnl: Aggregated CEE GET operation The following couple of patches add dcbnl an unsolicited notification of the the DCB configuration for the CEE flavor of the DCBX protocol. This is useful when the user-mode DCB client is not responsible for conducting and resolving the DCBX negotiation (either because the DCBX stack is embedded in the HW or the negotiation is handled by another agent in the host), but still needs to get the negotiated parameters. This functionality already exists for the IEEE flavor of the DCBX protocol and these patches add it to the older CEE flavor. The first patch extends the CEE attribute GET operation to include not only the peer information, but also all the pertinent local configuration (negotiated parameters). The second patch adds and export a CEE specific notification routine. Signed-off-by: Shmulik Ravid Signed-off-by: David S. Miller commit e12fe68ce34d60c04bb1ddb1d3cc5c3022388fe4 Merge: 7329f0d 712ae51 Author: David S. Miller Date: Tue Jul 5 23:23:37 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 22032c7774a9619770a1ca92f4f895d69efff386 Author: Stephen Warren Date: Tue Jul 5 14:18:02 2011 -0600 spi/tegra: Use engineering names in DT compatible property Engineering names are more stable than marketing names. Hence, use them for Device Tree compatible properties instead. Signed-off-by: Stephen Warren Signed-off-by: Grant Likely commit f7f678a06326ebafe9005203c0b2fa06885fd12c Author: Stephen Warren Date: Tue Jul 5 14:15:18 2011 -0600 gpio/tegra: Use engineering names in DT compatible property Engineering names are more stable than marketing names. Hence, use them for Device Tree compatible properties instead. Signed-off-by: Stephen Warren Signed-off-by: Grant Likely commit 7329f0d58de01878d9ce4f0be7a76e136f223eef Author: Joe Perches Date: Tue Jul 5 07:43:46 2011 +0000 b44: Use pr__once and DRV_DESCRIPTION Convert a printk with a static to pr__once Add and use DRV_DESCRIPTION to reduce string duplication. Remove now unused version. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit f9d7a1187dfefc6b54b53e0ffff4d26c0eff2702 Author: Shan Wei Date: Tue Jul 5 20:44:17 2011 -0700 net: Add GSO to vlan_features initialization Just add GSO to vlan_features initialization, and update comments. When we set offload features, vlan_dev_fix_features() will do more check. In vlan_dev_fix_features(), final features is decided by features of real device and vlan_features of real device. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit 7736d33f4262d437c51ed7a28114eacbfca236ff Author: David S. Miller Date: Tue Jul 5 01:43:20 2011 -0700 packet: Add pre-defragmentation support for ipv4 fanouts. The skb->rxhash cannot be properly computed if the packet is a fragment. To alleviate this, allow the AF_PACKET client to ask for defragmentation to be done at demux time. Signed-off-by: David S. Miller commit 595fc71baa1e80420fe89a400ff2d9cc099d22fc Author: David S. Miller Date: Tue Jul 5 01:05:48 2011 -0700 ipv4: Add ip_defrag() agent IP_DEFRAG_AF_PACKET. Elide the ICMP on frag queue timeouts unconditionally for this user. Signed-off-by: David S. Miller commit dc99f600698dcac69b8f56dda9a8a00d645c5ffc Author: David S. Miller Date: Tue Jul 5 01:45:05 2011 -0700 packet: Add fanout support. Fanouts allow packet capturing to be demuxed to a set of AF_PACKET sockets. Two fanout policies are implemented: 1) Hashing based upon skb->rxhash 2) Pure round-robin An AF_PACKET socket must be fully bound before it tries to add itself to a fanout. All AF_PACKET sockets trying to join the same fanout must all have the same bind settings. Fanouts are identified (within a network namespace) by a 16-bit ID. The first socket to try to add itself to a fanout with a particular ID, creates that fanout. When the last socket leaves the fanout (which happens only when the socket is closed), that fanout is destroyed. Signed-off-by: David S. Miller commit ce06b03e60fc19c680d1bf873e779bf11c2fc518 Author: David S. Miller Date: Mon Jul 4 01:44:29 2011 -0700 packet: Add helpers to register/unregister ->prot_hook Signed-off-by: David S. Miller commit f8bae99ee5030625a4e7f0d87784191882292f0e Merge: 994635a 44c4349 Author: David S. Miller Date: Tue Jul 5 19:45:12 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/linux-merge commit 994635a137f637466d36a7c6272dae014a46a11c Merge: 7d09926 df2cbe4 Author: David S. Miller Date: Tue Jul 5 18:22:39 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 115f9450babbf2ed530db04e16a99df28cec85dd Author: Sergei Shtylyov Date: Fri Jul 1 22:34:42 2011 +0400 ssb: use pci_dev->subsystem_{vendor,device} The SSB code reads PCI subsystem IDs from the PCI configuration registers while they are already stored by the PCI subsystem in the 'subsystem_{vendor|device}' fields of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit 2fa2319027dd498edde332afe9a27f1b34b34d7f Author: Sergei Shtylyov Date: Fri Jul 1 22:33:08 2011 +0400 ssb: use pci_dev->revision The SSB code reads PCI revision ID from the PCI configuration register while it's already stored by the PCI subsystem in the 'revision' field of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit 73e6cdcf479ce3a8d33a726f0477473db35a4b2e Author: Michael Büsch Date: Mon Jul 4 19:51:11 2011 +0200 b43: Add RX side DMA memory barrier This adds a memory barrier to ensure the writes to the ring memory are committed before the DMA ring pointer is updated. We do a similar thing on the TX side already. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 14205aa21c8041d7e940ee9bcde87824dc00a08a Author: Aloisio Almeida Jr Date: Fri Jul 1 19:31:38 2011 -0300 NFC: add Documentation/networking/nfc.txt Signed-off-by: Aloisio Almeida Jr Signed-off-by: Lauro Ramos Venancio Signed-off-by: John W. Linville commit c46ee38620a2aa2b25b16bc9738ace80dbff76a4 Author: Aloisio Almeida Jr Date: Fri Jul 1 19:31:37 2011 -0300 NFC: pn533: add NXP pn533 nfc device driver Signed-off-by: Lauro Ramos Venancio Signed-off-by: Aloisio Almeida Jr Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 23b7869c0fd08d73c9f83a2db88a13312d6198bb Author: Lauro Ramos Venancio Date: Fri Jul 1 19:31:36 2011 -0300 NFC: add the NFC socket raw protocol This socket protocol is used to perform data exchange with NFC targets. Signed-off-by: Lauro Ramos Venancio Signed-off-by: Aloisio Almeida Jr Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit c7fe3b52c1283b8ba810eb6ecddf1c8a0bcc13ab Author: Aloisio Almeida Jr Date: Fri Jul 1 19:31:35 2011 -0300 NFC: add NFC socket family Signed-off-by: Lauro Ramos Venancio Signed-off-by: Aloisio Almeida Jr Signed-off-by: John W. Linville commit 4d12b8b129f170d0fc3188de1e51a2a1b0f87730 Author: Lauro Ramos Venancio Date: Fri Jul 1 19:31:34 2011 -0300 NFC: add nfc generic netlink interface The NFC generic netlink interface exports the NFC control operations to the user space. Signed-off-by: Lauro Ramos Venancio Signed-off-by: Aloisio Almeida Jr Signed-off-by: Samuel Ortiz Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 3e256b8f8dfa309a80b5dece388d85d9a9801a29 Author: Lauro Ramos Venancio Date: Fri Jul 1 19:31:33 2011 -0300 NFC: add nfc subsystem core The NFC subsystem core is responsible for providing the device driver interface. It is also responsible for providing an interface to the control operations and data exchange. Signed-off-by: Lauro Ramos Venancio Signed-off-by: Aloisio Almeida Jr Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 2b4562dfd6ad3579951de21168cb9d266ed3f1bd Author: Johannes Berg Date: Sat Jul 2 00:02:01 2011 +0200 mac80211: allow driver to impose WoWLAN restrictions If the driver can't support WoWLAN in the current state, this patch allows it to return 1 from the suspend callback to do the normal deconfiguration instead of using suspend/resume calls. Note that if it does this, resume won't be called. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 304e21bbeab0d208dc7e6142fb75db8a466d5217 Author: Sergei Shtylyov Date: Fri Jul 1 22:35:28 2011 +0400 ssb: PCI revision ID register is 8-bit wide The SSB code reads PCI revision ID register as 16-bit entity while the register is actually 8-bit only (the next 8 bits are the programming interface register). Fix the read and make the 'rev' field of 'struct ssb_boardinfo' 8-bit as well, to match the register size. Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit 45a771385ceb644941b195f37ab98f7db39776bd Author: Larry Finger Date: Fri Jul 1 08:56:11 2011 -0500 rtlwifi: rtl8192de: Fix error exit from hw_init In routine rtl92de_hw_init(), there are two places where a failure is not handled correctly. Reported-by: Dan Carpenter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit eb8b27ada953f8de182e628d71feff797707768a Author: Larry Finger Date: Fri Jul 1 08:50:48 2011 -0500 rtlwifi: rtl8192de: Replace loops calling udelay with single mdelay There are a number of loops to implement delays. These are replaced with single calls to mdelay(). The need for a fix was noted by Andrew Morton . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c2a7965f528244bc35f41ca64592132c7b3c2515 Author: Christian Lamparter Date: Fri Jul 1 15:28:22 2011 +0200 carl9170: use carl9170 queue enums Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 9928c7d1b1c5e3dcba04a10c7014c9f3319b1fbc Author: Larry Finger Date: Thu Jun 30 16:47:11 2011 -0500 rtlwifi: rtl8192de: Remove comparison of boolean with true Tests of a boolean against "true" are not needed as non-zero is sufficient.. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f2e795ffae1c4127277ce25727d5ac097f91238c Author: Mike McCormack Date: Thu Jun 30 16:46:14 2011 -0500 rtlwifi: rtl8192{ce,cu,se} Remove irq_enabled This should be unnecessary if synchronize_irq is used. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 80b69593a8dff5266155f33f9c033f670ee55323 Author: Larry Finger Date: Thu Jun 30 16:44:47 2011 -0500 rtlwifi: rtl8192de: Remove irq_enabled boolean Prepare rtl8192de for the removal of irq_enaqbled. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit faeef8acb18f80abb826f314cfac381c6fcf7a34 Author: Andrew Morton Date: Thu Jun 30 16:28:50 2011 -0500 drivers/net/wireless/rtlwifi/rtl8192de/phy.c: fix udelay() usage ERROR: "__bad_udelay" [drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko] undefined! Signed-off-by: Andrew Morton Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5e34069cc4cf0d38abfc38e19ad4715036de1540 Author: Christian Lamparter Date: Thu Jun 30 21:08:43 2011 +0200 mac80211: fix smatch complains mlme.c l.757 ieee80211_dynamic_ps_enable_work(11) variable dereferenced before check 'sdata' mesh_pathtbl.c l.650 mesh_path_del(20) double lock 'bottom_half' l.663 mesh_path_del(33) double unlock 'bottom_half' Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1205f5438f5a9a2dad3a29aa1c015e7bbd3b2b2b Author: Christian Lamparter Date: Thu Jun 30 20:34:54 2011 +0200 carl9170: allow PSM if the 5 GHz band is selected Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f3716fd7494ce5e2af3c6251275d989bfec98906 Author: Christian Lamparter Date: Thu Jun 30 20:31:34 2011 +0200 carl9170: enable IEEE80211_HW_NEED_DTIM_PERIOD Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 85ee5122abbc1b5c5f3622e46942291a2f6f1261 Author: Christian Lamparter Date: Thu Jun 30 20:27:47 2011 +0200 carl9170: import 1.9.4 firmware headers This patch imports all shared header changes from carl9170fw.git. * update copyright boilerplate * add some more strategic __aligned(4). * WoWLAN Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3b4670ffe7824d1fc4db2f73101015056ecb4415 Author: Jesper Juhl Date: Wed Jun 29 22:49:33 2011 +0200 net, wireless: Don't return uninitialized in __cfg80211_stop_sched_scan() If the 'driver_initiated' function argument to __cfg80211_stop_sched_scan() is not 0 then we'll return an uninitialized 'err' from the function. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville commit 3bff1865186c6bb97855f0c13e3850543dce9cef Author: Yogesh Ashok Powar Date: Tue Jun 28 18:41:37 2011 +0530 mac80211: Skip tailroom reservation for full HW-crypto devices with race fix Based on inputs from Johannes Berg from http://article.gmane.org/gmane.linux.kernel.wireless.general/68193 and http://article.gmane.org/gmane.linux.kernel.wireless.general/71702 In xmit path, devices that do full hardware crypto (including MMIC and ICV) need no tailroom. For such devices, tailroom reservation can be skipped if all the keys are programmed into the hardware (i.e software crypto is not used for any of the keys) and none of the keys wants software to generate Michael MIC and IV. v2: Added check for IV along with MMIC. Reported-by: Fabio Rossi Tested-by: Fabio Rossi Signed-off-by: Mohammed Shafi Shajakhan Cc: Mohammed Shafi Shajakhan v3: Fixing races to avoid WARNING: at net/mac80211/wpa.c:397 ccmp_encrypt_skb+0xc4/0x1f0 Reported-by: Andreas Hartmann Tested-by: Andreas Hartmann v4: Added links with message ID Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 097f882153f0ec13617074fa3bdb683b8215e20c Author: Arik Nemtsov Date: Mon Jun 27 22:06:34 2011 +0300 wl12xx: always initialize AP-mode max power level Sometimes we only get the Tx power level via op->config when the FW is off. Record the received power level when this happens and use it to initialize the firmware during boot. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 6cfa5cffde202cabbf0d64c9225ce89f7f7a0d0f Author: Arik Nemtsov Date: Mon Jun 27 22:06:33 2011 +0300 wl12xx: initialize max_power levels for 11a channels Set the maximum FW supported power levels for 11a channels. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 73ecce31fe04a2d6c87192cc752b5bd733a8c94a Author: Eliad Peller Date: Mon Jun 27 13:06:45 2011 +0300 wl12xx: implement cancel_hw_scan() callback After implementing cancel_hw_scan(), there is no more need to flush scan_complete_work on suspend. scan_complete_work enqueues a new scan_work, that might lead to the following warning (if the device was already suspended): WARNING: at drivers/mmc/core/core.c:169 mmc_wait_for_req+0x1ac/0x2c8() Backtrace: [] (dump_backtrace+0x0/0x110) [] (dump_stack+0x0/0x1c) [] (warn_slowpath_common+0x0/0x6c) [] (warn_slowpath_null+0x0/0x2c) [] (mmc_wait_for_req+0x0/0x2c8) [] (mmc_io_rw_extended+0x0/0x1e4) [] (sdio_io_rw_ext_helper+0x0/0x1ac) [] (sdio_memcpy_fromio+0x0/0x2c) [] (wl1271_sdio_raw_read+0x0/0x1bc [wl12xx_sdio]) [] (wl1271_cmd_wait_for_event_or_timeout+0x0/0x19c [wl12xx]) [] (wl1271_cmd_wait_for_event+0x0/0x30 [wl12xx]) [] (wl1271_cmd_disconnect+0x0/0x14c [wl12xx]) [] (wl1271_unjoin+0x0/0x48 [wl12xx]) [] (wl1271_op_config+0x0/0x490 [wl12xx]) [] (ieee80211_hw_config+0x0/0x14c [mac80211]) [] (ieee80211_recalc_idle+0x0/0x4c [mac80211]) [] (__ieee80211_scan_completed+0x0/0x1ac [mac80211]) [] (ieee80211_scan_work+0x0/0x484 [mac80211]) [] (worker_thread+0x0/0x1e8) [] (kthread+0x0/0x90) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2aa01597eb29304fe7d863f15300c7b960b587ca Author: Eliad Peller Date: Mon Jun 27 13:06:44 2011 +0300 wl12xx: add stop_scan command define wl1271_scan_stop() to cancel an ongoing hw scan. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit e85d1629c69f99e91598039e5c05f1608ad19c9f Author: Eliad Peller Date: Mon Jun 27 13:06:43 2011 +0300 wl12xx: configure suspend/resume only if associated/started Configure the device (to wowlan) only if the sta/ap is associated/started. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b5d6e5f66304bddc2b5bc7222e993dfeb629ef0c Author: Ohad Ben-Cohen Date: Sun Jun 26 18:00:11 2011 +0300 wl12xx: one SDIO initialization is enough Skip manual device power on in case runtime PM is enabled for our device. This eliminates a secondary & redundant SDIO init sequence. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit 708bb3cf58a9bc90f3171ba64f30601f690e5aaa Author: Arik Nemtsov Date: Fri Jun 24 13:03:37 2011 +0300 wl12xx: implement Tx watermarks per AC Each AC is stopped when its queue is filled up to the high watermark, and restarted when its queue it lower than the low watermark. This ensures congested ACs are not able to starve other ACs. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 787b2dc44aa1ae2524f022659c6c6b2d3c979e04 Author: Ido Yariv Date: Fri Jun 24 13:03:36 2011 +0300 wl12xx: Increase low & high TX watermarks The current TX watermark settings cause the driver to stop queues too frequently. Among other things, this can have a negative impact on WMM prioritization, since mac80211 sorts pending packets by their ACs. Fix this by increasing the high watermark to 256 packets. Increase the low watermark to 32 to minimize periods with queues being stopped. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 9e374a37b6fa2310b71d3c5657cd0c1e693120c6 Author: Arik Nemtsov Date: Fri Jun 24 13:03:35 2011 +0300 wl12xx: schedule TX packets according to FW occupancy When selecting packets for transmission, prefer the ACs that are least occupied in the FW. When packets for multiple ACs are present in the FW, it decides which to transmit according to WMM QoS parameters. With these changes, lower priority ACs should not be starved when higher priority traffic is present. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit fae2fd767e9d380ed0d05e4a5d6b1673e2c2d3df Author: Arik Nemtsov Date: Sun Jun 26 10:36:04 2011 +0300 wl12xx: use 802.11 header location after relocation to frame start When operating with TKIP encryption, the function wl1271_tx_fill_hdr() relocates the 802.11 header to the start of the frame, and leaves room for the security header. Some functions in the Tx path rely on the location of the header, namely, for purposes of roaming in STA mode and connecting new stations in AP mode. Call these functions only after the header is relocated. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 3618f30f307841dba19f22d9c602a5c59cab30c7 Author: Arik Nemtsov Date: Sun Jun 26 10:36:03 2011 +0300 wl12xx: AP mode - support FW TX inactivity triggers In AP mode we register for the MAX_TX_RETRY and INACTIVE_STA events. Both are reported to the upper layers as a TX failure in the offending stations. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit b992c68228a3ccdf73ea4f57519e1663839a9cbe Author: Oz Krakowski Date: Sun Jun 26 10:36:02 2011 +0300 wl12xx: fix Tx security sequence number handling Do not reset the security sequence number when issuing a join command or interface is removed. Instead, reset the counter only during the unjoin command. Added the notion of counter wrap-around to the LSB number in wl1271_tx_complete_packet. Added post recovery padding to adjust for potential security number progress during the recovery process by the firmware and avoid potential interop issues in encrypted networks. Signed-off-by: Oz Krakowski Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit fb6440955fcc5d175397fd0e9a00c6967cb26a74 Author: Holger Brunck Date: Mon Jun 20 18:31:57 2011 +0200 spi/fsl_spi: fix CPM spi driver This patch fixes the freescale spi driver for CPM. Without this patch SPI on CPM failed because cpm_muram_alloc_fixed tries to allocate muram in an preserved area. The error reported was: mpc8xxx_spi f0011a80.spi: can't allocate spi parameter ram mpc8xxx_spi: probe of f0011a80.spi failed with error -12 Now the driver uses of_iomap to get access to this area similar to i2c driver driver in the i2c-cpm.c which has a similar device tree node. This is tested on a MPC8247 with CPM2. Signed-off-by: Holger Brunck Signed-off-by: Grant Likely commit bd96efe17d945f0bad56d592f8686dc6309905e7 Author: Frederic Weisbecker Date: Tue Jul 5 17:45:34 2011 +0200 xtensa: Use generic config PREEMPT definition So that it can handle the new CONFIG_PREEMPT_COUNT. Signed-off-by: Frederic Weisbecker Cc: Chris Zankel commit e22c8f4616c8e68b7659331409e9c081ce265498 Author: Frederic Weisbecker Date: Tue Jul 5 17:45:34 2011 +0200 h8300: Use generic config PREEMPT definition So that it can handle the new CONFIG_PREEMPT_COUNT. Signed-off-by: Frederic Weisbecker Cc: Yoshinori Sato commit dab16ae1a9fc72a9f419f2dff91854e452d02a5e Author: Frederic Weisbecker Date: Tue Jul 5 16:29:40 2011 +0200 m32r: Use generic PREEMPT config Use the generic preempt config definition in m32r instead of using a custom one. This also makes it handle the new CONFIG_PREEMPT_COUNT that need to be selected by CONFIG_PREEMPT. Without that it breaks kernel/sched.c: In function 'preempt_schedule': kernel/sched.c:4364: error: implicit declaration of function 'add_preempt_count_notrace' kernel/sched.c:4366: error: implicit declaration of function 'sub_preempt_count_notrace' Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Hirokazu Takata commit 44c4349a2a117b22a5c4087f2ac9faf10c575e17 Author: Sven Eckelmann Date: Tue Jul 5 10:42:51 2011 +0200 batman-adv: Replace version info instead of appending them The version number of modules build outside of the tree can get revision numbers added. This is useful to give hints about the revision of a distribution package and the used patchset. The prepended source number or branch name doesn't add any additional information which would help to identify problems and can therefore be omitted. Signed-off-by: Sven Eckelmann Signed-off-by: Marek Lindner commit b539e4cd3b08dddbaa2ba0f158eed3c7c2244eaf Author: Marek Lindner Date: Sun Jun 26 21:15:13 2011 +0200 batman-adv: aggregation checks should use the primary_if pointer The packet aggregation needs to ensure that only compatible packets are aggregated. Some of the checks are based on the interface number while assuming that the first interface also is the primary interface which is not always the case. This patch addresses the issue by using the primary_if pointer. Reported-by: Antonio Quartulli Signed-off-by: Marek Lindner commit 6a020ab452d38b3878903de931c162429072a7d7 Author: Marek Lindner Date: Sun Jun 26 15:26:18 2011 +0200 batman-adv: broadcast primary OGM on all active hard-interfaces The primary interface OGM has to be broadcasted on all hard-interfaces even if the primary interface is not the first interface (if_num = 0). Therefore the code has to compare the originating interface with the primary interface instead of checking the if_num. Reported-by: Linus Luessing Signed-off-by: Marek Lindner commit ff66c975d5e412817f8122012760e852b4571b5e Author: Antonio Quartulli Date: Thu Jun 30 01:14:00 2011 +0200 batman-adv: pass a unique flag arg instead of a sequence of bool ones now tt_local_event() takes a flags argument instead of a sequence of boolean values which would grow up with the time. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner commit 8698529d209c43f6434592caf38733b84ccab5f3 Author: Antonio Quartulli Date: Sat Jun 25 19:09:12 2011 +0200 batman-adv: add_bcast_packet_to_list() takes the sending delay as parameter In order to make possible to use the broadcast list for delayed sendings the "delay" parameter is now provided instead of using 1 as hardcoded value. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner commit 5fbc1598c28555d2aa44bff0ac56ec3739401aff Author: Antonio Quartulli Date: Fri Jun 17 16:11:27 2011 +0200 batman-adv: unify flags for tt_change/tt_local_entry/tt_global_entry The tt_local_entry structure now has a 'flags' field. This helps to unify the flags format to all the client related structures (tt_global_entry and tt_change). The 'never_purge' field is now encoded in the 'flags' one. To optimise the usage of this field, its length has been increased to 16bit in order to use the eight leading bits (from 0 to 7) to store flags that have to be sent on the wire, while the eight ending ones are used for local computation only. Moreover 'enum tt_change_flags' is now called 'enum tt_client_flags' and the defined values apply to the tt_local_entry, tt_global_entry and the tt_change 'flags' field. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner commit d80603c9d876efafd8b07469c891076de470e323 Author: Jan Beulich Date: Tue Jul 5 12:22:18 2011 +0100 x86, efi: Properly pre-initialize table pointers Consumers of the table pointers in struct efi check for EFI_INVALID_TABLE_ADDR to determine validity, hence these pointers should all be pre-initialized to this value (rather than zero). Noticed by the discrepancy between efivars' systab sysfs entry showing all tables (and their pointers) despite the code intending to only display the valid ones. No other bad effects known, but having the various table parsing routines bogusly access physical address zero is certainly not very desirable (even though they're unlikely to find anything useful there). Signed-off-by: Jan Beulich Link: http://lkml.kernel.org/r/4E13100A020000780004C256@nat28.tlf.novell.com Signed-off-by: Ingo Molnar commit 7d09926d1decb658d4e24f70216b6b0b74168026 Author: Yaniv Rosner Date: Tue Jul 5 01:07:16 2011 +0000 bnx2x: Fix warning message during 57712/8727 initialization Clear warning message "MDC/MDIO access timeout" during first driver load by setting MDIO clock. This warning has no significant meaning, since it occurs prior to the first PHY initialization. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a89a1d4a738668ccb2270ac218cddd30f0bef2a0 Author: Yaniv Rosner Date: Tue Jul 5 01:07:05 2011 +0000 bnx2x: Add autogrEEEn support Add autogrEEEn support on BCM84833 and 54618se, which allows to reduce power consumption. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0520e63acb387a265c2a6abbf51c44c67149cf37 Author: Yaniv Rosner Date: Tue Jul 5 01:06:59 2011 +0000 bnx2x: Fix BCM84833 initialization Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 85242eea68f5039458afad0e4030828496bb4034 Author: Yaniv Rosner Date: Tue Jul 5 01:06:53 2011 +0000 bnx2x: Fix false link indication at link partner when DAC is used When driver is unloaded, disable PMD in addition to TX laser, provided that the management firmware will be able to enable it back. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 985848f80ffc61a29d9a72fec46ddce3c9643636 Author: Yaniv Rosner Date: Tue Jul 5 01:06:48 2011 +0000 bnx2x: Reset PHY due to fan failure for 578xx Add hardware PHY reset action for BCM578xx when fan failure occur. The new bnx2x_warpcore_hw_reset warps bnx2x_warpcore_power_module to fit the .hw_reset function template of the phy structure. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a34bc969a19b3a2364c03c101abb3b4d467089c0 Author: Yaniv Rosner Date: Tue Jul 5 01:06:41 2011 +0000 bnx2x: Add CL37 BAM for Warpcore Add CL37 BAM support according to configuration. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 52c4d6c4b543574930667bfc2a4aed8af0713519 Author: Yaniv Rosner Date: Tue Jul 5 01:06:34 2011 +0000 bnx2x: Change BCM54616S to BCM54618SE Change 1G copper PHY BCM54616S to BCM54618SE since we only have HW with latter one of the two. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b8d6d0824d064ad447e6aacbce90f3a340d93d65 Author: Yaniv Rosner Date: Tue Jul 5 01:06:27 2011 +0000 bnx2x: PFC fixes Set the source MAC address for PFC packets and update its status during PMF migration. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8edbb83e5bc3c7d5d76861fc61872105288d2610 Author: Anton Blanchard Date: Tue Jul 5 13:32:40 2011 +1000 lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option Replace CONFIG_DETECT_SOFTLOCKUP with CONFIG_LOCKUP_DETECTOR. Signed-off-by: Anton Blanchard Acked-by: WANG Cong Cc: fweisbec@gmail.com Cc: a.p.zijlstra@chello.nl Link: http://lkml.kernel.org/r/20110705133240.25e81a7a@kryten Signed-off-by: Ingo Molnar commit 931da6137e8e8c622f59251e8b645467aea293f1 Merge: 5d67be9 1fd8df2 Author: Ingo Molnar Date: Tue Jul 5 11:55:43 2011 +0200 Merge branch 'tip/perf/core-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 5d67be97f8903d05ce53597fb5f3bc25a45e8026 Author: Anton Blanchard Date: Mon Jul 4 21:57:50 2011 +1000 perf report/annotate/script: Add option to specify a CPU range Add an option to perf report/annotate/script to specify which CPUs to operate on. This enables us to take a single system wide profile and analyse each CPU (or group of CPUs) in isolation. This was useful when profiling a multiprocess workload where the bottleneck was on one CPU but this was hidden in the overall profile. Per process and per thread breakdowns didn't help because multiple processes were running on each CPU and no single process consumed an entire CPU. The patch converts the list of CPUs returned by cpu_map__new into a bitmap for fast lookup. I wanted to use -C to be consistent with perf top/record/stat, but unfortunately perf report already uses -C . v2: Incorporate suggestions from David Ahern: - Added -c to perf script - Check that SAMPLE_CPU is set when -c is used - Update documentation v3: Create perf_session__cpu_bitmap() Signed-off-by: Anton Blanchard Acked-by: David Ahern Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras Link: http://lkml.kernel.org/r/20110704215750.11647eb9@kryten Signed-off-by: Ingo Molnar commit d4d2d288972233fc054f3b3341c2a15865fba7c6 Author: Tobias Klauser Date: Mon Jul 4 00:00:22 2011 +0000 net/wireless: ipw2x00: Use helpers from linux/etherdevice.h Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit f8d4aa29762fe1ae78ec3164f8f612f7b06d58ea Author: Tobias Klauser Date: Sun Jul 3 23:58:04 2011 +0000 net: vxge: Use is_multicast_ether_addr helper Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit d8ce2fc1adc38fb8c71bbf44b87a982bbee5cda0 Author: Tobias Klauser Date: Sun Jul 3 23:56:22 2011 +0000 net: ewrk3: Use helpers from linux/etherdevice.h Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 2effca33194749cc3d5c2fdae52dcd8a7d6556e5 Author: Tobias Klauser Date: Sun Jul 3 23:55:53 2011 +0000 net: depca: Use helpers from linux/etherdevice.h Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit abfc89c7b5347b869d1c48ddae027caf91a2300d Author: Tobias Klauser Date: Sun Jul 3 23:54:54 2011 +0000 net: rionet: Use is_multicast_ether_addr Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 8bc3e1d8a16e6ef501af1c4d3abd7a90b4db1c0f Author: Tobias Klauser Date: Sun Jul 3 23:52:03 2011 +0000 net: iseries_veth: Use is_unicast_ether_addr helper Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 58d14d4fbaeb0cede14c59e8a2648b4791c0afe2 Author: Tobias Klauser Date: Sun Jul 3 23:50:15 2011 +0000 net: igb: Use is_multicast_ether_addr helper Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 29a40f0676c9388a83396306957f11b359c4be1c Author: Tobias Klauser Date: Sun Jul 3 23:48:13 2011 +0000 net: de4x5: Use helpers from linux/etherdevice.h Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 3e714ad3c2a07ee120044b72222cc20c14959efb Author: Tobias Klauser Date: Sun Jul 3 23:47:04 2011 +0000 net: e1000e: Use is_multicast_ether_addr helper Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 6539fefd9bec5faf948b03aec9f9078691d0be6b Author: Max Matveev Date: Tue Jun 21 21:18:13 2011 +0000 Update documented default values for various TCP/UDP tunables tcp_rmem and tcp_wmem use 1 page as default value for the minimum amount of memory to be used, same as udp_wmem_min and udp_rmem_min. Pages are different size on different architectures - use the right units when describing the defaults. Reviewed-by: Shan Wei Acked-by: Neil Horman Signed-off-by: Max Matveev Signed-off-by: David S. Miller commit a6e1204b82d3e8d7ba1baca35bdb595c722105eb Author: Max Matveev Date: Sun Jun 19 22:08:10 2011 +0000 Update description of net.sctp.sctp_rmem and net.sctp.sctp_wmem tunables sctp does not use second and third ("default" and "max") values of sctp_rmem tunable. The format is the same as tcp_rmem but the meaning is different so make the documentation explicit to avoid confusion. sctp_wmem is not used at all. Acked-by: Neil Horman Signed-off-by: Max Matveev Reviewed-by: Shan Wei Signed-off-by: David S. Miller commit 4924f44b97a034dbf44c14b709b0b0907ee23f04 Author: Eric Dumazet Date: Mon Jul 4 17:57:10 2011 -0700 b44: use dev_kfree_skb() in b44_tx() b44_tx() is run from softirq handler, it can use dev_kfree_skb() instead of dev_kfree_skb_irq() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 113ced1f52e5ed2dfedc0771a1b11b536cde8168 Author: Gerrit Renker Date: Sun Jul 3 09:55:03 2011 -0600 dccp ccid-2: Perform congestion-window validation CCID-2's cwnd increases like TCP during slow-start, which has implications for * the local Sequence Window value (should be > cwnd), * the Ack Ratio value. Hence an exponential growth, if it does not reflect the actual network conditions, can quickly lead to instability. This patch adds congestion-window validation (RFC2861) to CCID-2: * cwnd is constrained if the sender is application limited; * cwnd is reduced after a long idle period, as suggested in the '90 paper by Van Jacobson, in RFC 2581 (sec. 4.1); * cwnd is never reduced below the RFC 3390 initial window. As marked in the comments, the code is actually almost a direct copy of the TCP congestion-window-validation algorithms. By continuing this work, it may in future be possible to use the TCP code (not possible at the moment). The mechanism can be turned off using a module parameter. Sampling of the currently-used window (moving-maximum) is however done constantly; this is used to determine the expected window, which can be exploited to regulate DCCP's Sequence Window value. This patch also sets slow-start-after-idle (RFC 4341, 5.1), i.e. it behaves like TCP when net.ipv4.tcp_slow_start_after_idle = 1. Signed-off-by: Gerrit Renker commit 58fdea0f3170c13a3b875ef904d5b67cf73814be Author: Gerrit Renker Date: Sun Jul 3 09:53:12 2011 -0600 dccp ccid-2: Use existing function to test for data packets This replaces a switch statement with a test, using the equivalent function dccp_data_packet(skb). It also doubles the range of the field `rx_num_data_pkts' by changing the type from `int' to `u32', avoiding signed/unsigned comparison with the u16 field `dccps_r_ack_ratio'. Signed-off-by: Gerrit Renker commit b4d5f4b2884625d13c7ef5b9fd085ec93bbf545c Author: Gerrit Renker Date: Sun Jul 3 09:04:18 2011 -0600 dccp ccid-2: move rfc 3390 function into header file This moves CCID-2's initial window function into the header file, since several parts throughout the CCID-2 code need to call it (CCID-2 still uses RFC 3390). Signed-off-by: Gerrit Renker Acked-by: Leandro Melo de Sales commit 1fd9d2081a9d8d77e5afccd5aafd28310cab3bfc Author: Gerrit Renker Date: Sun Jul 3 09:51:14 2011 -0600 dccp: cosmetics of info message Change the CCID (de)activation message to start with the protocol name, as 'CCID' is already in there. Signed-off-by: Gerrit Renker commit 8695e80193fed35f27c06f462bd5b76132fd5697 Author: Gerrit Renker Date: Sun Jul 3 09:51:29 2011 -0600 dccp: combine the functionality of enqeueing and cloning Realising the following call pattern, * first dccp_entail() is called to enqueue a new skb and * then skb_clone() is called to transmit a clone of that skb, this patch integrates both into the same function. Signed-off-by: Gerrit Renker commit c0c2015056d7bd69f3554208271407e7e2ee69e5 Author: Gerrit Renker Date: Sun Jul 3 09:49:16 2011 -0600 dccp: Clean up slow-path input processing This patch rearranges the order of statements of the slow-path input processing (i.e. any other state than OPEN), to resolve the following issues. 1. Dependencies: the order of statements now better matches RFC 4340, 8.5, i.e. step 7 is before step 9 (previously 9 was before 7), and parsing options in step 8 (which may consume resources) now comes after step 7. 2. Sequence number checks are omitted if in state LISTEN/REQUEST, due to the note underneath the table in RFC 4340, 7.5.3. As a result, CCID processing is now indeed confined to OPEN/PARTOPEN states, i.e. congestion control is performed only on the flow of data packets. This avoids pathological cases of doing congestion control on those messages which set up and terminate the connection. 3. Packets are now passed on to Ack Vector / CCID processing only after - step 7 (receive unexpected packets), - step 9 (receive Reset), - step 13 (receive CloseReq), - step 14 (receive Close) and only if the state is PARTOPEN. This simplifies CCID processing: - in LISTEN/CLOSED the CCIDs are non-existent; - in RESPOND/REQUEST the CCIDs have not yet been negotiated; - in CLOSEREQ and active-CLOSING the node has already closed this socket; - in passive-CLOSING the client is waiting for its Reset. In the last case, RFC 4340, 8.3 leaves it open to ignore further incoming data, which is the approach taken here. Signed-off-by: Gerrit Renker commit c25ded1fbc069265e4d26df45a93ace18780974f Author: Peter Korsgaard Date: Tue Jun 28 14:49:17 2011 +0200 mach-s3c2410: remove unused spi-gpio.h file Not used anymore as the spi_s3c24xx_gpio driver is gone (replaced by the generic spi-gpio). Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Signed-off-by: Grant Likely commit 45fae7def636a2b400595d56c67cfed60051b773 Author: Peter Korsgaard Date: Tue Jun 28 14:49:16 2011 +0200 spi: remove obsolete spi-s3c24xx-gpio driver It was equivalent to spi-gpio, and there's no longer any in-tree users of it, so get rid of it. Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Signed-off-by: Grant Likely commit 947b35d52dabaf4908ea140e81432c71e457342d Author: Peter Korsgaard Date: Tue Jun 28 14:49:15 2011 +0200 mach-gta2: remove unused spi-gpio.h include Not needed, and the file is going away. Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Signed-off-by: Grant Likely commit aa353169226ddc1ea4f07d6946b61dd0b0a7313d Author: Peter Korsgaard Date: Tue Jun 28 14:49:14 2011 +0200 mach-qt2410: convert to spi_gpio Rather than the deprecated spi_s3c24xx_gpio driver. Only compile tested. Notice that the board support seems quite broken as the spi_s3c24xx_gpio platform device name was misspelled and there is no struct spi_board_info defined, but this atleast didn't make it any worse. Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Signed-off-by: Grant Likely commit 932036ce03f6c853a17005bced1e82b23f6378c0 Author: Peter Korsgaard Date: Tue Jun 28 14:49:13 2011 +0200 mach-jive: convert to spi_gpio Rather than the deprecated spi_s3c24xx_gpio driver. Compile tested only. Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Signed-off-by: Grant Likely commit 9f8b6a6cf0ee78de87ebe1e87f54bec1c1741ef7 Merge: 729aa21 a406ab6 Author: Ingo Molnar Date: Mon Jul 4 12:27:28 2011 +0200 Merge branch 'core' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into perf/core commit a7fa94a9fe26a4925914083a31b5387bca530eb1 Author: Artem Bityutskiy Date: Fri Jun 3 16:20:03 2011 +0300 UBIFS: improve power cut emulation testing This patch cleans-up and improves the power cut testing: 1. Kill custom 'simple_random()' function and use 'random32()' instead. 2. Make timeout larger 3. When cutting the buffer - fill the end with random data sometimes, not only with 0xFFs. 4. Some times cut in the middle of the buffer, not always at the end. Signed-off-by: Artem Bityutskiy commit d27462a518c31a4b1093ad866229f85b2b765e7e Author: Artem Bityutskiy Date: Fri Jun 3 15:10:33 2011 +0300 UBIFS: rename recovery testing variables Since the recovery testing is effectively about emulating power cuts by UBIFS, use "power cut" as the base term for all the related variables and name them correspondingly. This is just a minor clean-up for the sake of readability. Signed-off-by: Artem Bityutskiy commit f57cb188ccd9c0242111d99b7283eda7827746c4 Author: Artem Bityutskiy Date: Fri Jun 3 14:51:41 2011 +0300 UBIFS: remove custom list of superblocks This is a clean-up of the power-cut emulation code - remove the custom list of superblocks which we maintained to find the superblock by the UBI volume descriptor. We do not need that crud any longer, because now we can get the superblock as a function argument. Signed-off-by: Artem Bityutskiy commit 0a541b14e819f972d14f29d17cb9fd8b4b71222e Author: Artem Bityutskiy Date: Fri Jun 3 14:38:50 2011 +0300 UBIFS: stop re-defining UBI operations Now when we use UBIFS helpers for all the I/O, we can remove the horrible hack of re-defining UBI I/O functions. Signed-off-by: Artem Bityutskiy commit d3b2578f56e0a77b9e261d83e9b5a0a666b82980 Author: Artem Bityutskiy Date: Fri Jun 3 14:22:05 2011 +0300 UBIFS: switch to I/O helpers Switch the rest of direct UBI calls to UBIFS helper functions. Signed-off-by: Artem Bityutskiy commit 987226a5d3a356792650f8e9028132a79815f6ef Author: Artem Bityutskiy Date: Fri Jun 3 14:12:10 2011 +0300 UBIFS: switch to ubifs_leb_write Stop using 'ubi_leb_write()' directly and switch to the 'ubifs_leb_write()' helper. Signed-off-by: Artem Bityutskiy commit d304820a1f6cdacab691bbcb7faa35ec631c6398 Author: Artem Bityutskiy Date: Fri Jun 3 14:03:25 2011 +0300 UBIFS: switch to ubifs_leb_read Instead of using 'ubi_read()' function directly, used the 'ubifs_leb_read()' helper function instead. This allows to get rid of several redundant error messages and make sure that we always have a stack dump on read errors. Signed-off-by: Artem Bityutskiy commit 83cef708c606f46a2b527af025acb3d24555f0c4 Author: Artem Bityutskiy Date: Fri Jun 3 13:45:09 2011 +0300 UBIFS: introduce more I/O helpers Introduce the following I/O helper functions: 'ubifs_leb_read()', 'ubifs_leb_write()', 'ubifs_leb_change()', 'ubifs_leb_unmap()', 'ubifs_leb_map()', 'ubifs_is_mapped(). The idea is to wrap all UBI I/O functions in order to encapsulate various assertions and error path handling (error message, stack dump, switching to R/O mode). And there are some other benefits of this which will be used in the following patches. This patch does not switch whole UBIFS to use these functions yet. Signed-off-by: Artem Bityutskiy commit d033c98b17ecf30d64d83d96938ce7bfb47f7520 Author: Artem Bityutskiy Date: Fri Jun 3 13:16:08 2011 +0300 UBIFS: always print stacktrace when switching to R/O mode When switching to R/O mode due to an I/O error, always dump the stack, not only when debugging is enabled. Signed-off-by: Artem Bityutskiy commit 891a54a153646f9b16bffe5df6cb74cb3f1e9dc6 Author: Artem Bityutskiy Date: Fri Jun 3 11:32:21 2011 +0300 UBIFS: remove unused and unneeded debugging function This patch contains several minor clean-up and preparational cahnges. 1. Remove 'dbg_read()', 'dbg_write()', 'dbg_change()', and 'dbg_leb_erase()' functions as they are not used. 2. Remove 'dbg_leb_read()' and 'dbg_is_mapped()' as they are not really needed, it is fine to let reads go through in failure mode. 3. Rename 'offset' argument to 'offs' to be consistent with the rest of UBIFS code. Signed-off-by: Artem Bityutskiy commit e7717060ddd509e6c305ad7bf5a090a95e91c8cf Author: Artem Bityutskiy Date: Wed Jun 1 17:43:43 2011 +0300 UBIFS: add global debugfs knobs Now we have per-FS (superblock) debugfs knobs, but they have one drawback - you have to first mount the FS and only after this you can switch self-checks on/off. But often we want to have the checks enabled during the mount. Introduce global debugging knobs for this purpose. Signed-off-by: Artem Bityutskiy commit 28488fc28aa39815b78c2cbeaaf25f33fef92ce8 Author: Artem Bityutskiy Date: Fri Jun 3 09:58:23 2011 +0300 UBIFS: introduce debugfs helpers Separate out pieces of code from the debugfs file read/write functions and create separate 'interpret_user_input()'/'provide_user_output()' helpers. These helpers will be needed in one of the following patches, so this is just a preparational change. Signed-off-by: Artem Bityutskiy commit 7dae997de62bbd78f12305bf10019ec8f1103bd4 Author: Artem Bityutskiy Date: Wed Jun 1 15:44:14 2011 +0300 UBIFS: re-arrange debugging code a bit Move 'dbg_debugfs_init()' and 'dbg_debugfs_exit()' functions which initialize debugfs for whole UBIFS subsystem below the code which initializes debugfs for a particular UBIFS instance. And do the same for 'ubifs_debugging_init()' and 'ubifs_debugging_exit()' functions. This layout is a bit better for the next patches, so this is just a preparation. Also, rename 'open_debugfs_file()' into 'dfs_file_open()' for consistency. Signed-off-by: Artem Bityutskiy commit 24a4f8009ee9e259a412d86373e0d2aac3a80333 Author: Artem Bityutskiy Date: Wed Jun 1 15:23:25 2011 +0300 UBIFS: be more informative in failure mode When we are testing UBIFS recovery, it is better to print in which eraseblock we are going to fail. Currently UBIFS prints it only if recovery debugging messages are enabled, but this is not very practical. So change 'dbg_rcvry()' messages to 'ubifs_warn()' messages. Signed-off-by: Artem Bityutskiy commit 81e79d38df5a17bb1c738a14f8e5f3412fb33afa Author: Artem Bityutskiy Date: Tue May 31 18:16:34 2011 +0300 UBIFS: switch self-check knobs to debugfs UBIFS has many built-in self-check functions which can be enabled using the debug_chks module parameter or the corresponding sysfs file (/sys/module/ubifs/parameters/debug_chks). However, this is not flexible enough because it is not per-filesystem. This patch moves this to debugfs interfaces. We already have debugfs support, so this patch just adds more debugfs files. While looking at debugfs support I've noticed that it is racy WRT file-system unmount, and added a TODO entry for that. This problem has been there for long time and it is quite standard debugfs PITA. The plan is to fix this later. This patch is simple, but it is large because it changes many places where we check if a particular type of checks is enabled or disabled. Signed-off-by: Artem Bityutskiy commit 8d7819b4af697eec45339cc24db7c3fe45fea0e7 Author: Artem Bityutskiy Date: Fri Jun 3 08:53:35 2011 +0300 UBIFS: lessen amount of debugging check types We have too many different debugging checks - lessen the amount by merging all index-related checks into one. At the same time, move the "force in-the-gap" test to the "index checks" class, because it is too heavy for the "general" class. This patch merges TNC, Old index, and Index size check and calles this just "index checks". Signed-off-by: Artem Bityutskiy commit 2b1844a8c934723134ee1ff313e51d0d281cdef1 Author: Artem Bityutskiy Date: Fri Jun 3 08:31:29 2011 +0300 UBIFS: introduce helper functions for debugging checks and tests This patch introduces helper functions for all debugging checks, so instead of doing if (!(ubifs_chk_flags & UBIFS_CHK_GEN)) we now do if (!dbg_is_chk_gen(c)) This is a preparation to further changes where the flags will go away, and we'll need to only change the helper functions, but the code which utilizes them won't be touched. At the same time this patch removes 'dbg_force_in_the_gaps()', 'dbg_force_in_the_gaps_enabled()', and dbg_failure_mode helpers for consistency. Signed-off-by: Artem Bityutskiy commit d808efb407e1a2cf83a8d21411157195f26bdef9 Author: Artem Bityutskiy Date: Tue May 31 18:14:38 2011 +0300 UBIFS: amend debugging inode size check function prototype Add 'const struct ubifs_info *c' parameter to 'dbg_check_synced_i_size()' function because we'll need it in the next patch when we switch to debugfs. So this patch is just a preparation. Signed-off-by: Artem Bityutskiy commit bb2615d4d14777fd37e2b91bd99b92c0354813d1 Author: Artem Bityutskiy Date: Tue May 31 17:47:53 2011 +0300 UBIFS: amend debugging name check function prototype Add 'struct ubifs_info *c' parameter to the 'dbg_check_name()' debugging function - it will be needed in one of the following commits where we switch to debugfs. So this is just a preparation. Mark parameters as 'const' while on it. Signed-off-by: Artem Bityutskiy commit 06b282a4cc02f37414c14c94a2f154ca250cf73f Author: Artem Bityutskiy Date: Mon May 30 18:19:34 2011 +0300 UBIFS: add few commentaries about TNC Add a couple of comments - while looking into TNC I could not easily figure out few facts, so it is a good idea to document them in the code. Signed-off-by: Artem Bityutskiy commit 376624476921e43d8b87498161a2ffba6ab8d5aa Author: Artem Bityutskiy Date: Mon May 30 14:51:20 2011 +0300 UBIFS: use correct flags in lprops The UBIFS lpt tree is in many aspects similar to the TNC tree, and we have similar flags for these trees. And by mistake we use the COW_ZNODE flag for LPT in some places, instead of the right flag COW_CNODE. And this works only because these two constants have the same value. This patch makes all the LPT code to use COW_CNODE and also changes COW_CNODE constant value to make sure we do not misuse the flags any more. Signed-off-by: Artem Bityutskiy commit f42eed7cba7f83197b0ffbb023e7d89a0b2fd71d Author: Artem Bityutskiy Date: Mon May 30 14:45:30 2011 +0300 UBIFS: harmonize znode flag helpers We have 3 znode flags: cow, obsolete, dirty. For the last flag we have a 'ubifs_zn_dirty()' helper function, but for the other 2 flags we use 'test_bit()' directly. This patch makes the situation more consistent and introduces helpers for the other 2 flags: 'ubifs_zn_cow()' and 'ubifs_zn_obsolete()'. Signed-off-by: Artem Bityutskiy commit 1f42596ec0a7d3d50a494d95e3f1afbd117250f8 Author: Artem Bityutskiy Date: Mon May 30 14:30:51 2011 +0300 UBIFS: remove dead code Remove dead pieces of code under "if (c->min_io_size == 1)" statement - we never execute it because in UBIFS 'c->min_io_size' is always at least 8. This are leftovers from old pre-mainline prototype. Signed-off-by: Artem Bityutskiy commit 12e776a0882def45e7ee50918016968b392ac7bd Author: Artem Bityutskiy Date: Fri May 27 15:50:39 2011 +0300 UBIFS: remove unnecessary brackets Remove unnecessary brackets in "inode->i_flags |= (S_NOCMTIME)" statement to make the code not look silly. Signed-off-by: Artem Bityutskiy commit a29fa9dfa4d5d1b962825c79f19d9b6f3f15843b Author: Artem Bityutskiy Date: Thu May 26 09:43:34 2011 +0300 UBIFS: minor cleanup: use S_ISREG helper Instead of using long "(inode->i_mode & S_IFMT) != S_IFREG" expression, use shorted "!S_ISREG(inode->i_mode)". Signed-off-by: Artem Bityutskiy commit 1b51e98365e42c27eb2664f8353bc62ab8c55c85 Author: Artem Bityutskiy Date: Wed May 25 17:38:29 2011 +0300 UBIFS: rename dbg_check_dir_size function Since this function is not only about size checking, rename it to 'dbg_check_dir()'. Signed-off-by: Artem Bityutskiy commit 4315fb4072905e45da94d51e2c1e86fa41c5fc5f Author: Artem Bityutskiy Date: Wed May 25 17:32:42 2011 +0300 UBIFS: improve inode dumping function Teach 'dbg_dump_inode()' dump directory entries for directory inodes. This requires few additional changes: 1. The 'c' argument of 'dbg_dump_inode()' cannot be const any more. 2. Users of 'dbg_dump_inode()' should not have 'tnc_mutex' locked. Signed-off-by: Artem Bityutskiy commit bfcf677decd8051c305b1d8fda407d069c2361e3 Author: Artem Bityutskiy Date: Tue May 24 14:10:03 2011 +0300 UBIFS: dump stack when pnode or nnode reading fails When we fail to read a pnode or nnode - print stacktrace if debugging is enabled. Signed-off-by: Artem Bityutskiy commit ae380ce04731579f45f27b3a84d7d8d8ee1f9b1b Author: Artem Bityutskiy Date: Thu May 19 14:13:16 2011 +0300 UBIFS: lessen the size of debugging info data structure This patch lessens the 'struct ubifs_debug_info' size by 90 bytes by allocating less bytes for the debugfs root directory name. It introduces macros for the name patter an length instead of hard-coding 100 bytes. It also makes UBIFS use 'snprintf()' and teaches it to gracefully catch situations when the name array is too short. Additionally, this patch makes 2 unrelated changes - I just thought they do not deserve separate commits: simplifies 'ubifs_assert()' for non-debugging case and makes 'dbg_debugfs_init()' properly verify debugfs return code which may be an error code or NULL, so we should you 'IS_ERR_OR_NULL()' instead of 'IS_ERR()'. Signed-off-by: Artem Bityutskiy commit 549c999a768a7a144c60a0faa58f34c48f39112b Author: Artem Bityutskiy Date: Thu May 26 16:57:14 2011 +0300 UBIFS: return EROFS in case of broken commit If commit failed and it is in broken state, UBIFS switches to R/O mode. Most operations return -EROFS in this case, except of commit which returns -EINVAL. Make it return -EROFS too for consistency. This is also important for our power cut emulation testing. Signed-off-by: Artem Bityutskiy commit b84e773119e1401e6ebd8906fb0b2a43bbe64871 Author: Grant Likely Date: Thu Jun 30 12:39:12 2011 -0600 tty/serial: change of_serial to use new of_property_read_u32() api Simplifies the code a bit and drops a few lines. Signed-off-by: Grant Likely Acked-by: Arnd Bergmann commit f09bc831b7693f93ecb95dea7180d55b45b88e76 Author: Shawn Guo Date: Mon Jul 4 09:01:18 2011 +0800 dt: add 'const' for of_property_read_string parameter **out_string The existing dt codes usually call of_get_property to get a string property and save it as a 'const char *'. The patch adds'const' for of_property_read_string parameter **out_string to make the converting of existing code a little easier. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit 31fcb99d9958bdf04e84224e202f69e6cdac893b Author: Yoshihiro Shimoda Date: Thu Jun 30 22:52:13 2011 +0000 net: sh_eth: remove __flush_purge_region It is a function of SuperH architecture. There is no good to use the function on a driver generally. So, the driver uses dma_map_single() instead of __flush_purge_region. Signed-off-by: Yoshihiro Shimoda Signed-off-by: David S. Miller commit ee9c88f2283c80d9926f980848ae02cc3e88ee57 Author: Joe Perches Date: Sun Jul 3 08:28:33 2011 +0000 af_econet: Use current logging styles and neatening Use pr_fmt() without KBUILD_MODNAME to allow AUN and econet prefixes. Convert printks with KERN_DEBUG to pr_debug. Hoist assigns from if. 80 column wrapping. Move open braces to end of line. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 2a49e001cbe3ebf5987024052ed0dff67689c5bb Author: Joe Perches Date: Thu Jun 30 15:08:58 2011 +0000 netpoll: Remove wrapper function netpoll_poll Too trivial to live. cc: WANG Cong Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 234b921dbcf144826e2e2b3663cd8090892ee2b2 Author: Joe Perches Date: Thu Jun 30 15:08:57 2011 +0000 netpoll: Remove unused EXPORT_SYMBOLs of netpoll_poll and netpoll_poll_dev Unused symbols waste space. Commit 0e34e93177fb "(netpoll: add generic support for bridge and bonding devices)" added the symbol more than a year ago with the promise of "future use". Because it is so far unused, remove it for now. It can be easily readded if or when it actually needs to be used. cc: WANG Cong Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 729aa21ab85b5d24f3c2b1e581d71c2333f46628 Merge: 29dfc4f a2bbe75 Author: Ingo Molnar Date: Sun Jul 3 20:39:40 2011 +0200 Merge branch 'perf/stacktrace' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core commit a2bbe75089d5eb9a3a46d50dd5c215e213790288 Author: Frederic Weisbecker Date: Sat Jul 2 16:52:45 2011 +0200 x86: Don't use frame pointer to save old stack on irq entry rbp is used in SAVE_ARGS_IRQ to save the old stack pointer in order to restore it later in ret_from_intr. It is convenient because we save its value in the irq regs and it's easily restored using the leave instruction. However this is a kind of abuse of the frame pointer which role is to help unwinding the kernel by chaining frames together, each node following the return address to the previous frame. But although we are breaking the frame by changing the stack pointer, there is no preceding return address before the new frame. Hence using the frame pointer to link the two stacks breaks the stack unwinders that find a random value instead of a return address here. There is no workaround that can work in every case. We are using the fixup_bp_irq_link() function to dereference that abused frame pointer in the case of non nesting interrupt (which means stack changed). But that doesn't fix the case of interrupts that don't change the stack (but we still have the unconditional frame link), which is the case of hardirq interrupting softirq. We have no way to detect this transition so the frame irq link is considered as a real frame pointer and the return address is dereferenced but it is still a spurious one. There are two possible results of this: either the spurious return address, a random stack value, luckily belongs to the kernel text and then the unwinding can continue and we just have a weird entry in the stack trace. Or it doesn't belong to the kernel text and unwinding stops there. This is the reason why stacktraces (including perf callchains) on irqs that interrupted softirqs don't work very well. To solve this, we don't save the old stack pointer on rbp anymore but we save it to a scratch register that we push on the new stack and that we pop back later on irq return. This preserves the whole frame chain without spurious return addresses in the middle and drops the need for the horrid fixup_bp_irq_link() workaround. And finally irqs that interrupt softirq are sanely unwinded. Before: 99.81% perf [kernel.kallsyms] [k] perf_pending_event | --- perf_pending_event irq_work_run smp_irq_work_interrupt irq_work_interrupt | |--41.60%-- __read | | | |--99.90%-- create_worker | | bench_sched_messaging | | cmd_bench | | run_builtin | | main | | __libc_start_main | --0.10%-- [...] After: 1.64% swapper [kernel.kallsyms] [k] perf_pending_event | --- perf_pending_event irq_work_run smp_irq_work_interrupt irq_work_interrupt | |--95.00%-- arch_irq_work_raise | irq_work_queue | __perf_event_overflow | perf_swevent_overflow | perf_swevent_event | perf_tp_event | perf_trace_softirq | __do_softirq | call_softirq | do_softirq | irq_exit | | | |--73.68%-- smp_apic_timer_interrupt | | apic_timer_interrupt | | | | | |--96.43%-- amd_e400_idle | | | cpu_idle | | | start_secondary Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Jan Beulich commit 48ffee7d9e6df51b4957bed64115b7beed671374 Author: Frederic Weisbecker Date: Sat Jul 2 15:03:44 2011 +0200 x86: Remove useless unwinder backlink from irq regs saving The unwinder backlink in interrupt entry is very useless. It's actually not part of the stack frame chain and thus is never used. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Jan Beulich commit 3b99a3ef55b292180473a221f3d6bc24455f0632 Author: Frederic Weisbecker Date: Fri Jul 1 02:25:17 2011 +0200 x86,64: Separate arg1 from rbp handling in SAVE_REGS_IRQ Just for clarity in the code. Have a first block that handles the frame pointer and a separate one that handles pt_regs pointer and its use. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Jan Beulich commit 1871853f7abc3c727c4346539c5062cbeaf016a4 Author: Frederic Weisbecker Date: Fri Jul 1 01:51:22 2011 +0200 x86,64: Simplify save_regs() The save_regs function that saves the regs on low level irq entry is complicated because of the fact it changes its stack in the middle and also because it manipulates data allocated in the caller frame and accesses there are directly calculated from callee rsp value with the return address in the middle of the way. This complicates the static stack offsets calculation and require more dynamic ones. It also needs a save/restore of the function's return address. To simplify and optimize this, turn save_regs() into a macro. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Jan Beulich commit 47ce11a2b6519f9c7843223ea8e561eb71ea5896 Author: Frederic Weisbecker Date: Thu Jun 30 19:04:56 2011 +0200 x86: Fetch stack from regs when possible in dump_trace() When regs are passed to dump_stack(), we fetch the frame pointer from the regs but the stack pointer is taken from the current frame. Thus the frame and stack pointers may not come from the same context. For example this can result in the unwinder to think the context is in irq, due to the current value of the stack, but the frame pointer coming from the regs points to a frame from another place. It then tries to fix up the irq link but ends up dereferencing a random frame pointer that doesn't belong to the irq stack: [ 9131.706906] ------------[ cut here ]------------ [ 9131.707003] WARNING: at arch/x86/kernel/dumpstack_64.c:129 dump_trace+0x2aa/0x330() [ 9131.707003] Hardware name: AMD690VM-FMH [ 9131.707003] Perf: bad frame pointer = 0000000000000005 in callchain [ 9131.707003] Modules linked in: [ 9131.707003] Pid: 1050, comm: perf Not tainted 3.0.0-rc3+ #181 [ 9131.707003] Call Trace: [ 9131.707003] [] warn_slowpath_common+0x7a/0xb0 [ 9131.707003] [] warn_slowpath_fmt+0x41/0x50 [ 9131.707003] [] ? bad_to_user+0x6d/0x10be [ 9131.707003] [] dump_trace+0x2aa/0x330 [ 9131.707003] [] ? native_sched_clock+0x13/0x50 [ 9131.707003] [] perf_callchain_kernel+0x54/0x70 [ 9131.707003] [] perf_prepare_sample+0x19f/0x2a0 [ 9131.707003] [] __perf_event_overflow+0x16c/0x290 [ 9131.707003] [] ? __perf_event_overflow+0x130/0x290 [ 9131.707003] [] ? native_sched_clock+0x13/0x50 [ 9131.707003] [] ? sched_clock+0x9/0x10 [ 9131.707003] [] ? T.375+0x15/0x90 [ 9131.707003] [] ? trace_hardirqs_on_caller+0x64/0x180 [ 9131.707003] [] ? trace_hardirqs_off+0xd/0x10 [ 9131.707003] [] perf_event_overflow+0x14/0x20 [ 9131.707003] [] perf_swevent_hrtimer+0x11c/0x130 [ 9131.707003] [] ? error_exit+0x51/0xb0 [ 9131.707003] [] __run_hrtimer+0x83/0x1e0 [ 9131.707003] [] ? perf_event_overflow+0x20/0x20 [ 9131.707003] [] hrtimer_interrupt+0x106/0x250 [ 9131.707003] [] ? trace_hardirqs_off_thunk+0x3a/0x3c [ 9131.707003] [] smp_apic_timer_interrupt+0x53/0x90 [ 9131.707003] [] apic_timer_interrupt+0x13/0x20 [ 9131.707003] [] ? error_exit+0x51/0xb0 [ 9131.707003] [] ? error_exit+0x4c/0xb0 [ 9131.707003] ---[ end trace b2560d4876709347 ]--- Fix this by simply taking the stack pointer from regs->sp when regs are provided. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo commit 9e46294dadedc0c04adcb8ce760bd2cd74f7332d Author: Frederic Weisbecker Date: Sat Jul 2 15:00:52 2011 +0200 x86: Save stack pointer in perf live regs savings In order to prepare for fetching the stack pointer from the regs when possible in dump_trace() instead of taking the local one, save the current stack pointer in perf live regs saving. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo commit 632e270e01d8a1ee9e8ea56c83028727f17b1d17 Author: Rafael J. Wysocki Date: Fri Jul 1 22:29:15 2011 +0200 PM / Runtime: Return special error code if runtime PM is disabled Some callers of pm_runtime_get_sync() and other runtime PM helper functions, scsi_autopm_get_host() and scsi_autopm_get_device() in particular, need to distinguish error codes returned when runtime PM is disabled (i.e. power.disable_depth is nonzero for the given device) from error codes returned in other situations. For this reason, make the runtime PM helper functions return -EACCES when power.disable_depth is nonzero and ensure that this error code won't be returned by them in any other circumstances. Modify scsi_autopm_get_host() and scsi_autopm_get_device() to check the error code returned by pm_runtime_get_sync() and ignore -EACCES. Signed-off-by: Rafael J. Wysocki commit 455716e9b12ba93e93181ac88bef62e4eb5ac66c Author: Rafael J. Wysocki Date: Fri Jul 1 22:29:05 2011 +0200 PM / Runtime: Update documentation of interactions with system sleep The documents describing the interactions between runtime PM and system sleep generally refer to the model in which the system sleep state is entered through a global firmware or hardware operation. As a result, some recommendations given in there are not entirely suitable for systems in which this is not the case. Update the documentation to take the existence of those systems into account. Signed-off-by: Rafael J. Wysocki Reviewed-by: Kevin Hilman commit c47586b6d36ef2d5d7dc39afc44b75e31bc1a671 Author: Magnus Damm Date: Fri Jul 1 22:15:01 2011 +0200 ARM: mach-shmobile: sh7372 A3SG support Add support for the sh7372 A3SG power domain. This domain contains the SGX hardware block, but there is no open source driver available. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit 082517aa21c60c06bd2a4c287aab5e1b3d8c7c22 Author: Magnus Damm Date: Fri Jul 1 22:14:53 2011 +0200 ARM: mach-shmobile: sh7372 A3RI support Add support for the sh7372 A3RI power domain. This domain contains the ISP hardware block, but there is no driver available. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit 33afebf3da2e8c26faebb1b271c810f937e35788 Author: Magnus Damm Date: Fri Jul 1 22:14:45 2011 +0200 ARM: mach-shmobile: sh7372 A3RV support Add support for the sh7372 A3RV power domain and hook up the VPU device. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit 96f7934e448fd52644b8862ea12761e1524f3bf3 Author: Magnus Damm Date: Fri Jul 1 22:14:34 2011 +0200 ARM: mach-shmobile: sh7372 A4LC support for AP4EVB The AP4EVB board is also using a sh7372 SoC, so tie in A4LC support on that board as well. Signed-off-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit e3e0109138376bb262b8ecf33bad0586fa131925 Author: Rafael J. Wysocki Date: Fri Jul 1 22:13:56 2011 +0200 ARM / shmobile: Support for I/O power domains for SH7372 (v9) Use the generic power domains support introduced by the previous patch to implement support for power domains on SH7372. Signed-off-by: Rafael J. Wysocki Acked-by: Paul Mundt commit 3d5c30367cbc0c55c93bb158e824e00badc7ddc4 Author: Rafael J. Wysocki Date: Fri Jul 1 22:13:44 2011 +0200 PM: Rename clock management functions The common PM clock management functions may be used for system suspend/resume as well as for runtime PM, so rename them accordingly. Modify kerneldoc comments describing these functions and kernel messages printed by them, so that they refer to power management in general rather that to runtime PM. Signed-off-by: Rafael J. Wysocki Reviewed-by: Kevin Hilman commit b7b95920aa2e89e655afe9913ee0e55855ceda90 Author: Rafael J. Wysocki Date: Fri Jul 1 22:13:37 2011 +0200 PM: Allow the clocks management code to be used during system suspend The common clocks management code in drivers/base/power/clock_ops.c is going to be used during system-wide power transitions as well as for runtime PM, so it shouldn't depend on CONFIG_PM_RUNTIME. However, the suspend/resume functions provided by it for CONFIG_PM_RUNTIME unset, to be used during system-wide power transitions, should not behave in the same way as their counterparts defined for CONFIG_PM_RUNTIME set, because in that case the clocks are managed differently at run time. The names of the functions still contain the word "runtime" after this change, but that is going to be modified by a separate patch later. Signed-off-by: Rafael J. Wysocki Reviewed-by: Kevin Hilman commit d4f2d87a8b46c14c4307c690c92bd08229f66ecf Author: Rafael J. Wysocki Date: Fri Jul 1 22:13:29 2011 +0200 PM / Domains: Wakeup devices support for system sleep transitions There is the problem how to handle devices set up to wake up the system from sleep states during system-wide power transitions. In some cases, those devices can be turned off entirely, because the wakeup signals will be generated on their behalf anyway. In some other cases, they will generate wakeup signals if their clocks are stopped, but only if power is not removed from them. Finally, in some cases, they can only generate wakeup signals if power is not removed from them and their clocks are enabled. To allow platform-specific code to decide whether or not to put wakeup devices (and their PM domains) into low-power state during system-wide transitions, such as system suspend, introduce a new generic PM domain callback, .active_wakeup(), that will be used during the "noirq" phase of system suspend and hibernation (after image creation) to decide what to do with wakeup devices. Specifically, if this callback is present and returns "true", the generic PM domain code will not execute .stop_device() for the given wakeup device and its PM domain won't be powered off. Signed-off-by: Rafael J. Wysocki Acked-by: Kevin Hilman commit 596ba34bcd2978ee9823cc1d84df230576f8ffb9 Author: Rafael J. Wysocki Date: Fri Jul 1 22:13:19 2011 +0200 PM / Domains: System-wide transitions support for generic domains (v5) Make generic PM domains support system-wide power transitions (system suspend and hibernation). Add suspend, resume, freeze, thaw, poweroff and restore callbacks to be associated with struct generic_pm_domain objects and make pm_genpd_init() use them as appropriate. The new callbacks do nothing for devices belonging to power domains that were powered down at run time (before the transition). For the other devices the action carried out depends on the type of the transition. During system suspend the power domain .suspend() callback executes pm_generic_suspend() for the device, while the PM domain .suspend_noirq() callback runs pm_generic_suspend_noirq() for it, stops it and eventually removes power from the PM domain it belongs to (after all devices in the domain have been stopped and its subdomains have been powered off). During system resume the PM domain .resume_noirq() callback restores power to the PM domain (when executed for it first time), starts the device and executes pm_generic_resume_noirq() for it, while the .resume() callback executes pm_generic_resume() for the device. Finally, the .complete() callback executes pm_runtime_idle() for the device which should put it back into the suspended state if its runtime PM usage count is equal to zero at that time. The actions carried out during hibernation and resume from it are analogous to the ones described above. Signed-off-by: Rafael J. Wysocki Reviewed-by: Kevin Hilman commit 5248051b9afb6684cd817b2fbdaefa5063761dab Author: Rafael J. Wysocki Date: Fri Jul 1 22:13:10 2011 +0200 PM / Domains: Move code from under #ifdef CONFIG_PM_RUNTIME (v2) There is some code in drivers/base/power/domain.c that will be useful for both runtime PM and system-wide power transitions, so make it depend on CONFIG_PM instead of CONFIG_PM_RUNTIME. Signed-off-by: Rafael J. Wysocki Reviewed-by: Kevin Hilman commit e5291928839877f8e73c2643ee1d3fe0bcdcaf5c Author: Rafael J. Wysocki Date: Fri Jul 1 22:12:59 2011 +0200 PM: Introduce generic "noirq" callback routines for subsystems (v2) Introduce generic "noirq" power management callback routines for subsystems in addition to the "regular" generic PM callback routines. The new routines will be used, among other things, for implementing system-wide PM transitions support for generic PM domains. Signed-off-by: Rafael J. Wysocki commit f721889ff65afa6243c463832c74dee3bed418d5 Author: Rafael J. Wysocki Date: Fri Jul 1 22:12:45 2011 +0200 PM / Domains: Support for generic I/O PM domains (v8) Introduce common headers, helper functions and callbacks allowing platforms to use simple generic power domains for runtime power management. Introduce struct generic_pm_domain to be used for representing power domains that each contain a number of devices and may be parent domains or subdomains with respect to other power domains. Among other things, this structure includes callbacks to be provided by platforms for performing specific tasks related to power management (i.e. ->stop_device() may disable a device's clocks, while ->start_device() may enable them, ->power_off() is supposed to remove power from the entire power domain and ->power_on() is supposed to restore it). Introduce functions that can be used as power domain runtime PM callbacks, pm_genpd_runtime_suspend() and pm_genpd_runtime_resume(), as well as helper functions for the initialization of a power domain represented by a struct generic_power_domain object, adding a device to or removing a device from it and adding or removing subdomains. Introduce configuration option CONFIG_PM_GENERIC_DOMAINS to be selected by the platforms that want to use the new code. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Reviewed-by: Kevin Hilman commit dc6e4e56e6ef473a696a1ab24f80b79b9aceb92d Author: Rafael J. Wysocki Date: Thu Jun 23 01:53:04 2011 +0200 PM: subsys_data in struct dev_pm_info need not depend on RM_RUNTIME The subsys_data field of struct dev_pm_info, introduced by commit 1d2b71f61b6a10216274e27b717becf9ae101fc7 (PM / Runtime: Add subsystem data field to struct dev_pm_info), is going to be used even if CONFIG_PM_RUNTIME is not set, so move it from under the #ifdef. Signed-off-by: Rafael J. Wysocki commit 564b905ab10d17fb42f86aa8b7b9b796276d1336 Author: Rafael J. Wysocki Date: Thu Jun 23 01:52:55 2011 +0200 PM / Domains: Rename struct dev_power_domain to struct dev_pm_domain The naming convention used by commit 7538e3db6e015e890825fbd9f86599b (PM: Add support for device power domains), which introduced the struct dev_power_domain type for representing device power domains, evidently confuses some developers who tend to think that objects of this type must correspond to "power domains" as defined by hardware, which is not the case. Namely, at the kernel level, a struct dev_power_domain object can represent arbitrary set of devices that are mutually dependent power management-wise and need not belong to one hardware power domain. To avoid that confusion, rename struct dev_power_domain to struct dev_pm_domain and rename the related pointers in struct device and struct pm_clk_notifier_block from pwr_domain to pm_domain. Signed-off-by: Rafael J. Wysocki Acked-by: Kevin Hilman commit 50c31e4a2497ea17747b587e8f96b278f07f5483 Author: Sergei Shtylyov Date: Fri Jul 1 22:42:08 2011 +0400 x86, mtrr: Use pci_dev->revision This code uses PCI_CLASS_REVISION instead of PCI_REVISION_ID, so it wasn't converted by commit 44c10138fd4 ("PCI: Change all drivers to use pci_device->revision") before being moved to arch/x86/... Do it now at last -- and save one level of indentation... Signed-off-by: Sergei Shtylyov Cc: Suresh Siddha Link: http://lkml.kernel.org/r/201107012242.08347.sshtylyov@ru.mvista.com Signed-off-by: Ingo Molnar commit 7e794cb7e36ccdb8c44b8ca7738720625b7aa2da Author: Wolfram Sang Date: Wed May 25 12:56:53 2011 +0200 rtc: stmp3xxx: Remove UIE handlers The RTC core handles UIE since 6610e08 (RTC: Rework RTC code to use timerqueue for events), so remove the specific interrupt in this driver. To make it work at all, enable interrupts in set_alarm() if needed. Drop IRQF_DISABLED which is deprecated, while we are here. Finally, add my copyright after all these changes. Signed-off-by: Wolfram Sang Tested-by: Shawn Guo Signed-off-by: John Stultz commit b5167159d4341d408ef6b941975f2fe8973b2a94 Author: Wolfram Sang Date: Wed May 25 12:56:52 2011 +0200 rtc: stmp3xxx: Get rid of mach-specific accessors Replace the accessors with standard readl/writel to remove their platform-dependency. Also, drop __raw_(read|write)l-accessors while we are here. Signed-off-by: Wolfram Sang Tested-by: Shawn Guo Signed-off-by: John Stultz commit a91d2bab355f3a5caa767d7316f80422bfcd2ad6 Author: Wolfram Sang Date: Wed May 25 12:56:51 2011 +0200 rtc: stmp3xxx: Initialize drvdata before registering device Commit f44f7f96a20 ("RTC: Initialize kernel state from RTC") uncovered an issue in a number of RTC drivers, where the drivers call rtc_device_register before initializing the device or platform drvdata. This frequently results in null pointer dereferences when the rtc_device_register immediately makes use of the rtc device, calling rtc_read_alarm. The solution is to ensure the drvdata is initialized prior to registering the rtc device. Signed-off-by: Wolfram Sang Tested-by: Shawn Guo Signed-off-by: John Stultz commit 46b21218145ecef0936eb4338a9e0ffef84f00cf Author: Wolfram Sang Date: Wed May 25 12:56:50 2011 +0200 rtc: stmp3xxx: Port stmp-functions to mxs-equivalents The stmp3xxx driver used to include functions from a stmp-specific include. Because of consolidation, plat-stmp has now been removed and merged with the compatible mach-mxs. Use the apropriate mxs-functions for transition. The accessors will be converted to readl/writel in a later patch. Signed-off-by: Wolfram Sang Tested-by: Shawn Guo Signed-off-by: John Stultz commit 47eac337cd87464b90d0ad2eb2a060036a95b649 Author: Wolfram Sang Date: Wed May 25 12:56:49 2011 +0200 rtc: stmp3xxx: Restore register definitions The stmp3xxx driver used to include register names from a stmp-specific include. Because of consolidation, plat-stmp has now been removed and merged with the compatible mach-mxs. Restore the register names directly in the driver and rename them to be specific to this driver. Signed-off-by: Wolfram Sang Tested-by: Shawn Guo Signed-off-by: John Stultz commit 07187ee13f2b4ba183d4a4832ea153dbb2e030d3 Author: Wolfram Sang Date: Wed Jun 22 23:20:14 2011 +0200 rtc: vt8500: Use define instead of hardcoded value for status bit Fixes the vt8500 driver to use a define value for the isr is-alarm bit. Cc: Alexey Charkov Signed-off-by: Wolfram Sang Signed-off-by: John Stultz commit aea54bce01c44bf3e35ac016fcd584b0de137673 Merge: 3e878b8 0ac9ebe Author: David S. Miller Date: Fri Jul 1 16:16:48 2011 -0700 Merge branch 'for-next' of git://git2.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 3e878b8d54e0fc12df363ee8e4a638c8147aac98 Author: Greg Dietsche Date: Fri Jul 1 16:16:19 2011 -0700 net: rds: fix const array syntax Correct the syntax so that both array and pointer are const. Signed-off-by: Greg Dietsche Signed-off-by: David S. Miller commit fddc5f3e9164858cd9264a17580f9fc5ad948458 Author: Joe Perches Date: Fri Jul 1 09:43:13 2011 +0000 x25: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows 80 column line reflowing. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 89f0e4feafb64643b0f0aba9d89984362bac9739 Author: Joe Perches Date: Fri Jul 1 09:43:12 2011 +0000 sunrpc: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows 80 column line reflowing. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 7fd71b1e0787d4d32c6225ca59e23e522cd67cc3 Author: Joe Perches Date: Fri Jul 1 09:43:11 2011 +0000 sctp: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows useless break;s removed after returns and a comment added to an unnecessary default: break; because of a dubious gcc warning. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit c485538901e0334a3016241bf73b864216ff2e73 Author: Joe Perches Date: Fri Jul 1 09:43:10 2011 +0000 netrom: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows code on same line as case moved to separate lines and a "/* Fallthrough */" comment added where appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit fcb261f35714fdf3d5c37d714e55b507b8cd55bc Author: Joe Perches Date: Fri Jul 1 09:43:09 2011 +0000 lapb: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows 80 column reflowing. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 207ec0abbed50b43a44cb7c69a07aeee08da5e45 Author: Joe Perches Date: Fri Jul 1 09:43:08 2011 +0000 ipv6: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows 80 column reflowing, removal of a useless break after return, and moving open brace after case instead of separate line. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4500ebf8d1cc749e1b438136745127e437c54002 Author: Joe Perches Date: Fri Jul 1 09:43:07 2011 +0000 ipv4: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows no difference. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 181b1e9ce1b9e705d4cd27b542ce05bc43abdab0 Author: Joe Perches Date: Fri Jul 1 09:43:06 2011 +0000 netfilter: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows miscellaneous 80 column wrapping, comment reflowing and a comment for a useless gcc warning for an otherwise unused default: case. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 1d67a51682443ffd1209d76dcc2f24a685259530 Author: Joe Perches Date: Fri Jul 1 09:43:05 2011 +0000 ipconfig: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows miscellaneous 80 column wrapping. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 075e1913e1fd7ef6dc8885fc844cfb6c48210104 Author: Joe Perches Date: Fri Jul 1 09:43:04 2011 +0000 econet: Reduce switch/case indent Make the case labels the same indent as the switch. Simplify a default case / return (unreached) Remove unnecessary break after return. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 06f8fe11bb4a84de9d9faa50c7ffbe40b90d395a Author: Joe Perches Date: Fri Jul 1 09:43:03 2011 +0000 decnet: Reduce switch/case indent Make the case labels the same indent as the switch. git diff -w shows differences for line wrapping. (fit multiple lines to 80 columns, join where possible) Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4a9e4b09326baa6db30ae35e3521bf5259b238f5 Author: Joe Perches Date: Fri Jul 1 09:43:02 2011 +0000 appletalk: Reduce switch/case indent Make the case labels the same indent as the switch. (git diff -w net/appletalk shows no difference) Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4e985adaa504c1c1a05c8e013777ea0791a17b4d Author: Thomas Graf Date: Tue Jun 21 03:11:20 2011 +0000 rtnl: provide link dump consistency info This patch adds a change sequence counter to each net namespace which is bumped whenever a netdevice is added or removed from the list. If such a change occurred while a link dump took place, the dump will have the NLM_F_DUMP_INTR flag set in the first message which has been interrupted and in all subsequent messages of the same dump. Note that links may still be modified or renamed while a dump is taking place but we can guarantee for userspace to receive a complete list of links and not miss any. Testing: I have added 500 VLAN netdevices to make sure the dump is split over multiple messages. Then while continuously dumping links in one process I also continuously deleted and re-added a dummy netdevice in another process. Multiple dumps per seconds have had the NLM_F_DUMP_INTR flag set. I guess we can wait for Johannes patch to hit net-next via the wireless tree. I just wanted to give this some testing right away. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c282af49901679b63c139b8330b0aba027aa3b56 Author: Bryn M. Reeves Date: Fri Jul 1 15:49:23 2011 -0500 dlm: use vmalloc for hash tables Allocate dlm hash tables in the vmalloc area to allow a greater maximum size without restructuring of the hash table code. Signed-off-by: Bryn M. Reeves Signed-off-by: David Teigland commit 02f1b641060486df8eecd66b060ae6551f398593 Author: Mat Martineau Date: Wed Jun 29 14:35:19 2011 -0700 Bluetooth: Check earlier for L2CAP ERTM frames to drop Even when the received tx_seq is expected, the frame still needs to be dropped if the TX window is exceeded or the receiver is in the local busy state. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit f8c1fbdb767f7487983b369a0b07ddc82b29f709 Author: Gustavo F. Padovan Date: Fri Jun 17 15:46:46 2011 -0300 Bluetooth: Clean up unused struct hci_conn items priv and lock are never used Signed-off-by: Gustavo F. Padovan commit 2461daacb3e2ecca5edea2fa637a1b0922e86515 Author: Gustavo F. Padovan Date: Fri Jun 17 12:57:25 2011 -0300 Bluetooth: Fix bad locking balance Signed-off-by: Gustavo F. Padovan commit 2d25f8b462f3b849d8913d02978657ef06e67dd8 Author: Steven.Li Date: Fri Jul 1 14:02:36 2011 +0800 Bluetooth: Add Atheros AR3012 one PID/VID supported The new Ath3k needs to download patch and radio table, and it keeps same PID/VID even after downloading the patch and radio table. This patch is to use the bcdDevice (Device Release Number) to judge whether the chip has been patched or not. The init bcdDevice value of the chip is 0x0001, this value increases after patch and radio table downloading. Signed-off-by: Steven.Li Signed-off-by: Gustavo F. Padovan commit bb188d7e64deb0e9cf13a99f44ae0065de5352d6 Author: Denys Vlasenko Date: Wed Jun 29 04:13:39 2011 +0200 ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop When multithreaded program execs under ptrace, all traced threads report WIFEXITED status, except for thread group leader and the thread which execs. Unless tracer tracks thread group relationship between tracees, which is a nontrivial task, it will not detect that execed thread no longer exists. This patch allows tracer to figure out which thread performed this exec, by requesting PTRACE_GETEVENTMSG in PTRACE_EVENT_EXEC stop. Another, samller problem which is solved by this patch is that tracer now can figure out which of the several concurrent execs in multithreaded program succeeded. Signed-off-by: Denys Vlasenko Signed-off-by: Oleg Nesterov commit 252e735d64880b011f6cdeb41ebcac2eaeb58fd3 Author: Emmanuel Grumbach Date: Tue Jun 28 13:13:59 2011 -0700 iwlagn: remove the indirection for the rx write pointer Not needed since the driver split. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit e3f10cea039b235c1de12648ea87b752990c11bf Author: Wey-Yi Guy Date: Fri Jul 1 07:59:26 2011 -0700 iwlagn: remove hcmd ops All "agn" devices use the same hcmd functions, no need to call indirectly. remove hcmd_ops Signed-off-by: Wey-Yi Guy commit e55b517c4d853a5168ebb4cdd58933b17c593827 Author: Wey-Yi Guy Date: Tue Jun 28 11:46:28 2011 -0700 iwlagn: call bt_coex directlly Call the 2-wire and advanced bt-coex function directly to avoid mistake Signed-off-by: Wey-Yi Guy commit f86af7ba82e3449e6ee957e0407cb6c683fa37db Author: Wey-Yi Guy Date: Tue Jun 28 08:01:12 2011 -0700 iwlagn: scd memory boundary Assign memory boundary for SCD context, tx status and translation table Signed-off-by: Wey-Yi Guy commit 02aca585f58a331288026cf78fd4f4ca404cbe12 Author: Emmanuel Grumbach Date: Tue Jun 28 08:58:41 2011 -0700 iwlagn: move the tx allocation funcs to the transport layer These functions allocate all the Tx context. Only the simple tx_init is exported as API. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit a0f6b0a211fbdfbae603ffa434f0d9e691e55ab9 Author: Emmanuel Grumbach Date: Tue Jun 21 14:25:45 2011 +0300 iwlagn: add rx_free to transport layer The transport layer ness to release all rx ressources. This function is an API for it. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit c85eb6196958ae54eba3ff0660d2b5af3d58521a Author: Emmanuel Grumbach Date: Tue Jun 14 10:13:24 2011 +0300 iwlagn: introduce transport layer and implement rx_init The transport layer is responsible for all the queues, DMA rings etc... This is the beginning of the separation of all the code that is tighly related to HW design to the aforementioned transport layer. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 300d0834ebd3f3c57b0063c2fd6bc26d8405626c Author: Wey-Yi Guy Date: Sat Jun 25 09:17:41 2011 -0700 iwlagn: add module parameter to disable stuck queue watchdog timer Add the parameter to disable stuck queue watchdog timer, different platforms might have different timing. Provide the option to disable the timer to prevent un-necessary firmware reload. Signed-off-by: Wey-Yi Guy commit 54e9c409a5f9e58465d80d6774afd85a449a4615 Author: Wey-Yi Guy Date: Fri Jul 1 07:47:59 2011 -0700 iwlagn: add correct firmware name for 135 series 135 series are WiFi/BT combo and require different uCode from 105 series. [A Signed-off-by: Wey-Yi Guy commit 4466320f053bb9aa1d68f73d92cb8d6c5bd75b1c Author: Wey-Yi Guy Date: Fri Jun 24 09:02:44 2011 -0700 iwlagn: re-define the testmode cmd and attr enum To make sure not having issues when adding new testmode commands or attributes in the future, re-define the enum. no functional changes Signed-off-by: Wey-Yi Guy commit 98a648e10a3c4eb30f8043281345506e17ace007 Author: Johannes Berg Date: Mon Jun 27 06:06:42 2011 -0700 iwlagn: verify mutex held for sync commands Emmanuel noticed that there's no explicit checking that prevents the driver from attempting to issue multiple synchronous commands at the same time and wrote a patch to check. However, his patch warns only if a collision actually happened, an unlikely thing since the driver mutex should be held for synchronous command submissions. So instead of checking that a collision happened add a check that the mutex is held which ensures that collisions can't happen. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 29dfc4fd7e792854b30d771d4e299fbdd2adb763 Author: Peter Zijlstra Date: Fri Jul 1 15:24:53 2011 +0200 perf, powerpc: Fix build borkage The patch a8b0ca17b80e ("perf: Remove the nmi parameter from the swevent and overflow interface") missed a spot in the ppc hw_breakpoint code, fix this up so things compile again. Reported-by: Ingo Molnar Cc: Anton Blanchard Cc: Eric B Munson Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-09pfip95g88s70iwkxu6nnbt@git.kernel.org Signed-off-by: Ingo Molnar commit 1ecc818c51b1f6886825dae3885792d5e49ec798 Merge: 1c09ab0 d902db1 Author: Ingo Molnar Date: Fri Jul 1 13:20:51 2011 +0200 Merge branch 'sched/core-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into sched/core commit 3ae9a34d747f9abf2bcc85dc0e77b951513ccdf2 Author: Zhengyu He Date: Thu Jun 23 13:45:42 2011 -0700 perf stat: Add noise output for csv mode Previously, when you want perf-stat to output the statistics in csv mode, no information of the noise will be printed out. For example right now we output this --repeat information: ./perf stat -r3 -x, sleep 1 1.164789,task-clock 8,context-switches 0,CPU-migrations 219,page-faults 3337800,cycles With this patch, the output will be appended with an additional entry for the noise value: ./perf stat -r3 -x, sleep 1 1.164789,task-clock,3.75% 8,context-switches,75.00% 0,CPU-migrations,100.00% 219,page-faults,0.00% 3337800,cycles,3.36% Signed-off-by: Zhengyu He Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Stephane Eranian Cc: Venkatesh Pallipadi Cc: Peter Zijlstra Cc: Frederic Weisbecker Link: http://lkml.kernel.org/r/1308861942-4945-1-git-send-email-zhengyuh@google.com Signed-off-by: Ingo Molnar commit 343a031f3c4a7a663192cf56368bb5a6c56870c0 Merge: 26ca5c1 cb1955b Author: Ingo Molnar Date: Fri Jul 1 11:51:58 2011 +0200 Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core commit 26ca5c11fb45ae2b2ac7e3574b8db6b3a3c7d350 Author: Avi Kivity Date: Wed Jun 29 18:42:37 2011 +0300 perf: export perf_event_refresh() to modules KVM needs one-shot samples, since a PMC programmed to -X will fire after X events and then again after 2^40 events (i.e. variable period). Signed-off-by: Avi Kivity Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1309362157-6596-4-git-send-email-avi@redhat.com Signed-off-by: Ingo Molnar commit 0af3ac1fdb9d5c297b4b07c9e0172531d42b6716 Author: Avi Kivity Date: Wed Jun 29 18:42:36 2011 +0300 x86, perf: Add constraints for architectural PMU The v1 PMU does not have any fixed counters. Using the v2 constraints, which do have fixed counters, causes an additional choice to be present in the weight calculation, but not when actually scheduling the event, leading to an event being not scheduled at all. Signed-off-by: Avi Kivity Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1309362157-6596-3-git-send-email-avi@redhat.com Signed-off-by: Ingo Molnar commit 4dc0da86967d5463708631d02a70cfed5b104884 Author: Avi Kivity Date: Wed Jun 29 18:42:35 2011 +0300 perf: Add context field to perf_event The perf_event overflow handler does not receive any caller-derived argument, so many callers need to resort to looking up the perf_event in their local data structure. This is ugly and doesn't scale if a single callback services many perf_events. Fix by adding a context parameter to perf_event_create_kernel_counter() (and derived hardware breakpoints APIs) and storing it in the perf_event. The field can be accessed from the callback as event->overflow_handler_context. All callers are updated. Signed-off-by: Avi Kivity Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1309362157-6596-2-git-send-email-avi@redhat.com Signed-off-by: Ingo Molnar commit 89d6c0b5bdbb1927775584dcf532d98b3efe1477 Author: Peter Zijlstra Date: Fri Apr 22 23:37:06 2011 +0200 perf, arch: Add generic NODE cache events Add a NODE level to the generic cache events which is used to measure local vs remote memory accesses. Like all other cache events, an ACCESS is HIT+MISS, if there is no way to distinguish between reads and writes do reads only etc.. The below needs filling out for !x86 (which I filled out with unsupported events). I'm fairly sure ARM can leave it like that since it doesn't strike me as an architecture that even has NUMA support. SH might have something since it does appear to have some NUMA bits. Sparc64, PowerPC and MIPS certainly want a good look there since they clearly are NUMA capable. Signed-off-by: Peter Zijlstra Cc: David Miller Cc: Anton Blanchard Cc: David Daney Cc: Deng-Cheng Zhu Cc: Paul Mundt Cc: Will Deacon Cc: Robert Richter Cc: Stephane Eranian Link: http://lkml.kernel.org/r/1303508226.4865.8.camel@laptop Signed-off-by: Ingo Molnar commit b79e8941fb9af07d810da91b4e29da2bba331b6e Author: Peter Zijlstra Date: Mon May 23 11:08:15 2011 +0200 perf, intel: Try alternative OFFCORE encodings Since the OFFCORE registers are fully symmetric, try the other one when the specified one is already in use. Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1306141897.18455.8.camel@twins Signed-off-by: Ingo Molnar commit ee89cbc2d48150c7c0e9f2aaac00afde99af098c Author: Stephane Eranian Date: Mon Jun 6 16:57:12 2011 +0200 perf_events: Add Intel Sandy Bridge offcore_response low-level support This patch adds Intel Sandy Bridge offcore_response support by providing the low-level constraint table for those events. On Sandy Bridge, there are two offcore_response events. Each uses its own dedictated extra register. But those registers are NOT shared between sibling CPUs when HT is on unlike Nehalem/Westmere. They are always private to each CPU. But they still need to be controlled within an event group. All events within an event group must use the same value for the extra MSR. That's not controlled by the second patch in this series. Furthermore on Sandy Bridge, the offcore_response events have NO counter constraints contrary to what the official documentation indicates, so drop the events from the contraint table. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110606145712.GA7304@quad Signed-off-by: Ingo Molnar commit cd8a38d33e2528998998bae70a45ad27e442f114 Author: Stephane Eranian Date: Mon Jun 6 16:57:08 2011 +0200 perf_events: Fix validation of events using an extra reg The validate_group() function needs to validate events with extra shared regs. Within an event group, only events with the same value for the extra reg can co-exist. This was not checked by validate_group() because it was missing the shared_regs logic. This patch changes the allocation of the fake cpuc used for validation to also point to a fake shared_regs structure such that group events be properly testing. It modifies __intel_shared_reg_get_constraints() to use spin_lock_irqsave() to avoid lockdep issues. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110606145708.GA7279@quad Signed-off-by: Ingo Molnar commit efc9f05df2dd171280dcb736a4d973ffefd5508e Author: Stephane Eranian Date: Mon Jun 6 16:57:03 2011 +0200 perf_events: Update Intel extra regs shared constraints management This patch improves the code managing the extra shared registers used for offcore_response events on Intel Nehalem/Westmere. The idea is to use static allocation instead of dynamic allocation. This simplifies greatly the get and put constraint routines for those events. The patch also renames per_core to shared_regs because the same data structure gets used whether or not HT is on. When HT is off, those events still need to coordination because they use a extra MSR that has to be shared within an event group. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110606145703.GA7258@quad Signed-off-by: Ingo Molnar commit a7ac67ea021b4603095d2aa458bc41641238f22c Author: Peter Zijlstra Date: Mon Jun 27 16:47:16 2011 +0200 perf: Remove the perf_output_begin(.sample) argument Since only samples call perf_output_sample() its much saner (and more correct) to put the sample logic in there than in the perf_output_begin()/perf_output_end() pair. Saves a useless argument, reduces conditionals and shrinks struct perf_output_handle, win! Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-2crpvsx3cqu67q3zqjbnlpsc@git.kernel.org Signed-off-by: Ingo Molnar commit a8b0ca17b80e92faab46ee7179ba9e99ccb61233 Author: Peter Zijlstra Date: Mon Jun 27 14:41:57 2011 +0200 perf: Remove the nmi parameter from the swevent and overflow interface The nmi parameter indicated if we could do wakeups from the current context, if not, we would set some state and self-IPI and let the resulting interrupt do the wakeup. For the various event classes: - hardware: nmi=0; PMI is in fact an NMI or we run irq_work_run from the PMI-tail (ARM etc.) - tracepoint: nmi=0; since tracepoint could be from NMI context. - software: nmi=[0,1]; some, like the schedule thing cannot perform wakeups, and hence need 0. As one can see, there is very little nmi=1 usage, and the down-side of not using it is that on some platforms some software events can have a jiffy delay in wakeup (when arch_irq_work_raise isn't implemented). The up-side however is that we can remove the nmi parameter and save a bunch of conditionals in fast paths. Signed-off-by: Peter Zijlstra Cc: Michael Cree Cc: Will Deacon Cc: Deng-Cheng Zhu Cc: Anton Blanchard Cc: Eric B Munson Cc: Heiko Carstens Cc: Paul Mundt Cc: David S. Miller Cc: Frederic Weisbecker Cc: Jason Wessel Cc: Don Zickus Link: http://lkml.kernel.org/n/tip-agjev8eu666tvknpb3iaj0fg@git.kernel.org Signed-off-by: Ingo Molnar commit 1880c4ae182afb5650c5678949ecfe7ff66a724e Author: Cyrill Gorcunov Date: Thu Jun 23 16:49:18 2011 +0400 perf, x86: Add hw_watchdog_set_attr() in a sake of nmi-watchdog on P4 Due to restriction and specifics of Netburst PMU we need a separated event for NMI watchdog. In particular every Netburst event consumes not just a counter and a config register, but also an additional ESCR register. Since ESCR registers are grouped upon counters (i.e. if ESCR is occupied for some event there is no room for another event to enter until its released) we need to pick up the "least" used ESCR (or the most available one) for nmi-watchdog purposes -- so MSR_P4_CRU_ESCR2/3 was chosen. With this patch nmi-watchdog and perf top should be able to run simultaneously. Signed-off-by: Cyrill Gorcunov CC: Lin Ming CC: Arnaldo Carvalho de Melo CC: Frederic Weisbecker Tested-and-reviewed-by: Don Zickus Tested-and-reviewed-by: Stephane Eranian Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110623124918.GC13050@sun Signed-off-by: Ingo Molnar commit 0d6412085b7ff58612af52e51ffa864f0df4b8fd Author: Eric B Munson Date: Fri Jun 24 12:26:26 2011 -0400 events: Ensure that timers are updated without requiring read() call The event tracing infrastructure exposes two timers which should be updated each time the value of the counter is updated. Currently, these counters are only updated when userspace calls read() on the fd associated with an event. This means that counters which are read via the mmap'd page exclusively never have their timers updated. This patch adds ensures that the timers are updated each time the values in the mmap'd page are updated. Signed-off-by: Eric B Munson Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1308932786-5111-1-git-send-email-emunson@mgebm.net Signed-off-by: Ingo Molnar commit c4794295917ebeda8013b6cb9c8d71ab4f74a1fa Author: Eric B Munson Date: Thu Jun 23 16:34:38 2011 -0400 events: Move lockless timer calculation into helper function Take the timer calculation from perf_output_read and move it to a helper function for any place that needs timer values but cannot take the ctx->lock. Signed-off-by: Eric B Munson Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1308861279-15216-2-git-send-email-emunson@mgebm.net Signed-off-by: Ingo Molnar commit b7526f0ca6dc68f57ca467ce503151b1d476a3e4 Author: Eric B Munson Date: Thu Jun 23 16:34:37 2011 -0400 events: Add note to update_event_times comment about holding ctx->lock Signed-off-by: Eric B Munson Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1308861279-15216-1-git-send-email-emunson@mgebm.net Signed-off-by: Ingo Molnar commit 28009ce4a8130af7260a9271901b4419834ad152 Author: Richard Kennedy Date: Tue Jun 7 16:33:38 2011 +0100 perf: Remove 64-bit alignment padding from perf_event_context Reorder perf_event_context to remove 8 bytes of 64 bit alignment padding shrinking its size to 192 bytes, allowing it to fit into a smaller slab and use one fewer cache lines. Signed-off-by: Richard Kennedy Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1307460819.1950.5.camel@castor.rsk Signed-off-by: Ingo Molnar commit 4ec8363dfc1451f8c8f86825731fe712798ada02 Author: Vince Weaver Date: Wed Jun 1 15:15:36 2011 -0400 perf_events: Fix perf buffer watermark setting Since 2.6.36 (specifically commit d57e34fdd60b ("perf: Simplify the ring-buffer logic: make perf_buffer_alloc() do everything needed"), the perf_buffer_init_code() has been mis-setting the buffer watermark if perf_event_attr.wakeup_events has a non-zero value. This is because perf_event_attr.wakeup_events is a union with perf_event_attr.wakeup_watermark. This commit re-enables the check for perf_event_attr.watermark being set before continuing with setting a non-default watermark. This bug is most noticable when you are trying to use PERF_IOC_REFRESH with a value larger than one and perf_event_attr.wakeup_events is set to one. In this case the buffer watermark will be set to 1 and you will get extraneous POLL_IN overflows rather than POLL_HUP as expected. [ avoid using attr.wakeup_events when attr.watermark is set ] Signed-off-by: Vince Weaver Signed-off-by: Peter Zijlstra Cc: Link: http://lkml.kernel.org/r/alpine.DEB.2.00.1106011506390.5384@cl320.eecs.utk.edu Signed-off-by: Ingo Molnar commit 0f933625e7b6c3d91878ae95e341bf1984db7eaf Author: Peter Zijlstra Date: Tue Jun 28 12:15:51 2011 +0200 irq_work, alpha: Fix up arch hooks Commit e360adbe29 ("irq_work: Add generic hardirq context callbacks") fouled up the Alpha bit, not properly naming the arch specific function that raises the 'self-IPI'. Signed-off-by: Peter Zijlstra Cc: Michael Cree Cc: stable@kernel.org # 37+ Link: http://lkml.kernel.org/n/tip-gukh0txmql2l4thgrekzzbfy@git.kernel.org Signed-off-by: Ingo Molnar commit 4f8b50bbbe63ae4ec6bea28a90a9a603c745ea71 Author: Peter Zijlstra Date: Mon Jun 27 17:22:43 2011 +0200 irq_work, ppc: Fix up arch hooks Commit e360adbe29 ("irq_work: Add generic hardirq context callbacks") fouled up the ppc bit, not properly naming the arch specific function that raises the 'self-IPI'. Cc: Huang Ying Cc: Benjamin Herrenschmidt Cc: Anton Blanchard Cc: Eric B Munson Cc: stable@kernel.org # 37+ Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-eg0aqien8p1aqvzu9dft6dtv@git.kernel.org Signed-off-by: Ingo Molnar commit e77aeb71f04ed236fffe5f347e208c8b0e92d48a Author: Tobias Klauser Date: Thu Jun 30 21:37:52 2011 +0000 net: de4x5: Omit check for multicast bit in netdev_for_each_mc_addr There is no need to check for the address being a multicast address in the netdev_for_each_mc_addr loop, so remove it. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 1c09ab0d257317f97e8629a3d0c8713d6dd9de4c Author: Yong Zhang Date: Tue Jun 28 10:51:31 2011 +0800 sched: Skip autogroup when looking for all rt sched groups Since commit ec514c48 ("sched: Fix rt_rq runtime leakage bug") 'cat /proc/sched_debug' will print data of root_task_group.rt_rq multiple times. This is because autogroup does not have its own rt group, instead rt group of autogroup is linked to root_task_group. So skip it when we are looking for all rt sched groups, and it will also save some noop operation against root_task_group when __disable_runtime()/__enable_runtime(). -v2: Based on Cheng Xu's idea which uses less code. Signed-off-by: Yong Zhang Cc: Mike Galbraith Cc: Cheng Xu Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/BANLkTi=87P3RoTF_UEtamNfc_XGxQXE__Q@mail.gmail.com Signed-off-by: Ingo Molnar commit 307bf9803f25a8a3f53c1012110fb74e2f893eb0 Author: Thomas Gleixner Date: Fri Jun 10 15:08:55 2011 +0200 sched: Simplify mutex_spin_on_owner() It does not make sense to rcu_read_lock/unlock() in every loop iteration while spinning on the mutex. Move the rcu protection outside the loop. Also simplify the return path to always check for lock->owner == NULL which meets the requirements of both owner changed and need_resched() caused loop exits. Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1106101458350.11814@ionos Signed-off-by: Ingo Molnar commit 2a46dae38087e62dd5fb08a6dadf1407717ed13c Author: Nikunj A. Dadhania Date: Tue Jun 7 15:43:22 2011 +0530 sched: Remove rcu_read_lock() from wake_affine() wake_affine() is only called from one path: select_task_rq_fair(), which already has the RCU read lock held. Signed-off-by: Nikunj A. Dadhania Signed-off-by: Peter Zijlstra Cc: Paul E. McKenney Link: http://lkml.kernel.org/r/20110607101251.777.34547.stgit@IBM-009124035060.in.ibm.com Signed-off-by: Ingo Molnar commit 01898e3e29ea8242d81923da11ce88ba71290a48 Author: Thomas Gleixner Date: Thu Jun 9 13:08:30 2011 +0000 i8253: Cleanup outb/inb magic Remove the hysterical outb/inb_pit defines and use outb_p/inb_p in the code. Signed-off-by: Thomas Gleixner Cc: Russell King Cc: Ralf Baechle Cc: John Stultz Link: http://lkml.kernel.org/r/20110609130622.348437125@linutronix.de commit 8560a6cfc9818edde1fd8677961714b264ffa03d Author: Thomas Gleixner Date: Thu Jun 9 13:08:28 2011 +0000 arm: Footbridge: Use common i8253 clockevent Signed-off-by: Thomas Gleixner Cc: Russell King Cc: Ralf Baechle Cc: John Stultz Link: http://lkml.kernel.org/r/20110609130622.241312122@linutronix.de commit 2d02612f61cc15b2025c90e32ed4a43eaa6753cd Author: Thomas Gleixner Date: Thu Jun 9 13:08:27 2011 +0000 mips: Use common i8253 clockevent Signed-off-by: Thomas Gleixner Cc: Russell King Cc: Ralf Baechle Cc: John Stultz Link: http://lkml.kernel.org/r/20110609130622.133068765@linutronix.de commit 0a779c571314b7951ff12edac80aa0cbe7c12b6e Author: Thomas Gleixner Date: Thu Jun 9 13:08:26 2011 +0000 x86: Use common i8253 clockevent Signed-off-by: Thomas Gleixner Cc: Russell King Cc: Ralf Baechle Cc: John Stultz Link: http://lkml.kernel.org/r/20110609130622.026152527@linutronix.de commit e6220bdc9485c5ea972f9e0e6d062a05934bb74b Author: Thomas Gleixner Date: Thu Jun 9 13:08:25 2011 +0000 i8253: Create common clockevent implementation arm, mips and x86 implement i8253 based clockevents. All the same code copied. Create a common implementation in drivers/clocksource/i8253.c. About time to rename drivers/clocksource/ to something else. Signed-off-by: Thomas Gleixner Cc: Russell King Cc: Ralf Baechle Cc: John Stultz Link: http://lkml.kernel.org/r/20110609130621.921710458@linutronix.de commit 36b2e922b5acd291051fab25bc7535274ce49532 Merge: e197f09 b0af8df Author: Ingo Molnar Date: Fri Jul 1 10:34:09 2011 +0200 Merge commit 'v3.0-rc5' into sched/core Merge reason: Move to a (much) newer base. Signed-off-by: Ingo Molnar commit 10e6962765f8213941eaa1cbb9de425ff0689e2e Merge: af07ce3 b0af8df Author: Ingo Molnar Date: Fri Jul 1 10:28:42 2011 +0200 Merge commit 'v3.0-rc5' into perf/core Merge reason: Pick up the latest fixes. Signed-off-by: Ingo Molnar commit b9ab82c774d8abcca8b6c1d5f30f5912a4448980 Author: Sathya Perla Date: Wed Jun 29 23:33:37 2011 +0000 be2net: clear intr bit in be_probe() It may be set in the card while the driver is probed by kdump kernel after a crash. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 482c9e798738dea847a5e5e0d20692fe80d48a76 Author: Sathya Perla Date: Wed Jun 29 23:33:17 2011 +0000 be2net: create/destroy rx-queues on interface open/close On some skews, the BE card sends pause frames (and not drop pkts) if there are no more posted buffers available for packet reception. This behaviour has a side effect: When an interface is disabled, buffers are no longer posted on the corresponding RX rings. All broadcast and multicast traffic being received on the port will quickly fill up the PMEM and cause pause push back. As the PMEM is shared by both the ports, all traffic being received on the other (enabled) port also gets stalled. The fix is to destroy RX rings when the interface is disabled. If there is no RX ring match in the RXF lookup, the packets are discarded and so don't hog the PMEM. The RXQ creation cmd must now use MCC instead of MBOX as they are are called post MCC queue creation. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 2b3f291bf98e7cbf76afd9b0c96c81df5f5890f9 Author: Sathya Perla Date: Wed Jun 29 23:32:56 2011 +0000 be2net: fix certain cmd failure logging Some (older)versions of cards/fw may not recognize certain cmds and return illegal/unsupported errors. As long as the driver can handle this gracefully there is no need to log an error msg. Also finetuned 2 existing error log messages. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit e1428d26b404133dcbcc8f758f0f4f6575afd7b7 Author: Amit Kumar Salecha Date: Wed Jun 29 20:00:50 2011 +0000 qlcnic: add external loopback support o Add external loopback test in self test: - Send set external loopback mode request to fw. To quiscent other storage functions. - Perform test - Send unset loopback mode request to fw. o Rename ilb to lb. o Update driver version 5.0.20. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 0209bcd4d9ee66569d4ea76f9ab2de3a9c740c71 Author: Amit Kumar Salecha Date: Wed Jun 29 20:00:49 2011 +0000 net: add external loopback test in ethtool self test External loopback test can be performed by application without any driver support on normal Ethernet cards. But on CNA devices, where multiple functions share same physical port. Here internal loopback test and external loopback test can be initiated by multiple functions at same time. To co exist all functions, firmware need to regulate what test can be run by which function. So before performing external loopback test, command need to send to firmware, which will quiescent other functions. User may not want to run external loopback test always. As special cable need to be connected for this test. So adding explicit flag in ethtool self test, which will specify interface to perform external loopback test. ETH_TEST_FL_EXTERNAL_LB: Application set to request external loopback test ETH_TEST_FL_EXTERNAL_LB_DONE: Driver ack if test performed Signed-off-by: Amit Kumar Salecha Reviewed-by: Ben Hutchings Signed-off-by: David S. Miller commit 781b864711d8cff56af9478be1b892b098e10de8 Author: Tobias Klauser Date: Wed Jun 29 02:16:33 2011 +0000 net: ucc_geth: Omit check for multicast bit in netdev_for_each_mc_addr There is no need to check for the address being a multicast address in the netdev_for_each_mc_addr loop, so remove it. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit eb31c4e0b0d8d7f673f95644cbfd2993f1c36840 Author: Tobias Klauser Date: Wed Jun 29 02:15:35 2011 +0000 net: iseries_veth: Omit check for multicast bit in netdev_for_each_mc_addr There is no need to check for the address being a multicast address in the netdev_for_each_mc_addr loop, so remove it. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 3170ff54c26004ea627022af695d0c8709d29b04 Author: Tobias Klauser Date: Wed Jun 29 02:15:15 2011 +0000 net: depca: Omit check for multicast bit in netdev_for_each_mc_addr There is no need to check for the address being a multicast address in the netdev_for_each_mc_addr loop, so remove it. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit bda7ed47937bd9ba8c10631ca884f7fefb162f4d Author: Tobias Klauser Date: Wed Jun 29 02:14:46 2011 +0000 net: am79c961a: Omit check for multicast bit in netdev_for_each_mc_addr There is no need to check for the address being a multicast address in the netdev_for_each_mc_addr loop, so remove it. Signed-off-by: Tobias Klauser Acked-by: Russell King Signed-off-by: David S. Miller commit 0311ee2262440b903a81fa38512d12bc2478e66f Author: Dan Carpenter Date: Tue Jun 28 20:29:51 2011 +0000 wanxl: remove a stray irq enable This is error path calls unlock_irq() where we haven't disabled the IRQs. The comment says that this error path can never happen. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit f82528bc13a157335dc53e78ce801883b26831e2 Author: Alexander Smirnov Date: Tue Jun 28 03:30:44 2011 +0000 Exclude duplicated checking for iface-up. This flags is checked in 'is_skb_forwardable' function, which is subroutine of 'dev_forward_skb'. Signed-off-by: Alexander Smirnov Reviewed-by: WANG Cong Signed-off-by: David S. Miller commit bc057e0366cad58e55038a2cb69572d51c40cdf3 Author: Guo-Fu Tseng Date: Tue Jun 28 01:38:30 2011 +0000 jme: Cleanup PM operations after using new PM API 1. Using enum name instead of numeric value. 2. device_set_wakeup_enable expect bool argument adding !!() to the argument to be passed. 3. Remove non-jme-hardware related operations from jme_clear_pm() 4. Reuse jme_clear_pm() in jme_resume() and jme_powersave_phy() Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit aab6fb82b1912a312f7547c92ac8d4ecb072e807 Author: Guo-Fu Tseng Date: Mon Jun 27 19:23:34 2011 +0000 jme: Fix compile warning introduced by new pm macro SIMPLE_DEV_PM_OPS is using SET_SYSTEM_SLEEP_PM_OPS and SET_SYSTEM_SLEEP_PM_OPS is empty when CONFIG_PM_SLEEP is not defined. Switching #ifdef CONFIG_PM to #ifdef CONFIG_PM_SLEEP Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit b21f3c7ed98a153865a7094af7d85d84c188667e Author: Kurt Van Dijck Date: Mon Jun 27 05:00:13 2011 +0000 can: remove useless defaults in Kconfig There's no need for "default N' (or 'default n') as it's default. Signed-off-by: Kurt Van Dijck Acked-by: Marc Kleine-Budde Signed-off-by: David S. Miller commit ea7ea65a3b37bf207d5c352ac6254506b3dc3901 Author: Vasanthy Kolluri Date: Fri Jun 17 07:56:48 2011 +0000 enic: Add support to configure hardware interrupt coalesce timers in a platform independent way enic driver and the underlying hardware use different units for representing the interrupt coalesce timer. Driver converts the interrupt coalesce timer in usec to hardware cycles while setting the relevant hardware registers. The conversion factor can be different for each of the adapter hardware types. So it is dynamically learnt from the adapter firmware using the devcmd CMD_INTR_COAL_CONVERT. This allows the driver to configure the hardware interrupt coalesce timers in a platform independent way. Signed-off-by: Danny Guo Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 3fa2a1df909482cc234524906e4bd30dee3514df Author: stephen hemminger Date: Wed Jun 15 06:36:29 2011 +0000 virtio-net: per cpu 64 bit stats (v2) Use per-cpu variables to maintain 64 bit statistics. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e1447d8d8da5ceea60dca027e78274e6ea9b660e Author: Joe Perches Date: Thu Jun 30 19:15:37 2011 -0300 Bluetooth: Add bt_printk Add a local logging function to emit bluetooth specific messages. Using vsprintf extension %pV saves code/text space. Convert the current BT_INFO and BT_ERR macros to use bt_printk. Remove __func__ from BT_ERR macro (and the uses). Prefix "Bluetooth: " to BT_ERR Remove __func__ from BT_DBG as function can be prefixed when using dynamic_debug. With allyesconfig: text data bss dec hex filename 129956 8632 36096 174684 2aa5c drivers/bluetooth/built-in.o.new2 134402 8632 36064 179098 2bb9a drivers/bluetooth/built-in.o.old 14778 1012 3408 19198 4afe net/bluetooth/bnep/built-in.o.new2 15067 1012 3408 19487 4c1f net/bluetooth/bnep/built-in.o.old 346595 19163 86080 451838 6e4fe net/bluetooth/built-in.o.new2 353751 19163 86064 458978 700e2 net/bluetooth/built-in.o.old 18483 1172 4264 23919 5d6f net/bluetooth/cmtp/built-in.o.new2 18927 1172 4264 24363 5f2b net/bluetooth/cmtp/built-in.o.old 19237 1172 5152 25561 63d9 net/bluetooth/hidp/built-in.o.new2 19581 1172 5152 25905 6531 net/bluetooth/hidp/built-in.o.old 59461 3884 14464 77809 12ff1 net/bluetooth/rfcomm/built-in.o.new2 61206 3884 14464 79554 136c2 net/bluetooth/rfcomm/built-in.o.old with x86 defconfig (and just bluetooth): $ size net/bluetooth/built-in.o.defconfig.* text data bss dec hex filename 66358 933 100 67391 1073f net/bluetooth/built-in.o.defconfig.new 66643 933 100 67676 1085c net/bluetooth/built-in.o.defconfig.old Signed-off-by: Joe Perches Signed-off-by: Gustavo F. Padovan commit e175072f377047e28e399c5c661e39e69722f35b Author: Joe Perches Date: Wed Jun 29 18:18:29 2011 -0700 Bluetooth: Rename function bt_err to bt_to_errno Make it easier to use more normal logging styles later. Signed-off-by: Joe Perches Signed-off-by: Gustavo F. Padovan commit 942ecc9c4643db5ce071562e0a23f99464d6b461 Author: Mat Martineau Date: Wed Jun 29 14:35:21 2011 -0700 Bluetooth: ERTM timeouts need to be converted to jiffies ERTM timeouts are defined in milliseconds, but need to be converted to jiffies when passed to mod_timer(). Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit 774e5651460ee7c688914fd76b6caa1675de355c Author: Mat Martineau Date: Wed Jun 29 14:35:20 2011 -0700 Bluetooth: Fix indentation whitespace Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit 55b3286d3dfd74a1daa5c902cb76575ba0187388 Author: Masatake YAMATO Date: Thu Jun 30 21:37:10 2011 +0900 dlm: show addresses in configfs Display all addresses the dlm is using for the local node from the configfs file config/dlm//comms//addr_list Also make the addr file write only. Signed-off-by: Masatake YAMATO Signed-off-by: David Teigland commit a3b853633d78c3930b513ee219df48637ac82eed Author: Thomas Abraham Date: Thu Jun 30 21:26:10 2011 +0530 dt: add helper functions to read u32 and string property values Add helper functions to retrieve unsigned integer and string property values from properties of a device node. These helper functions can be used to lookup a property in a device node, perform error checking and read the property value. [grant.likely@secretlab.ca: Proposal and initial implementation] Signed-off-by: Thomas Abraham [grant.likely: some word smithing and be more defensive validating the string] Signed-off-by: Grant Likely commit 7423734e19e7e0a90e3379152eacca2647f4377e Author: Jamie Iles Date: Mon Jun 27 13:32:34 2011 +0100 tty: of_serial: support for 32 bit accesses Some platforms e.g. TI Davinci require 32-bit accesses to the UARTs. The of_serial driver currently registers all UARTs as UPIO_MEM. Add a new attribute "reg-io-width" to allow the port to be registered with different IO width requirements. Acked-by: Alan Cox Signed-off-by: Jamie Iles Signed-off-by: Grant Likely commit f984cec64a8dbe559f357fa0ed3e1bef7c247700 Author: Bastian Blank Date: Thu Jun 30 11:19:09 2011 -0700 xen/netback: Add module alias for autoloading Add xen-backend:vif module alias to the xen-netback module. This allows automatic loading of the module. Signed-off-by: Bastian Blank Acked-by: Ian Campbell Acked-by: Konrad Rzeszutek Wilk commit df2cbe40753dc36af294c30209ed909869aca6cf Merge: 1049f64 9a4ba83 Author: John W. Linville Date: Thu Jun 30 13:34:06 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 149bb2fab547253e6359e76f1b86b95247110e68 Author: Bastian Blank Date: Wed Jun 29 14:40:08 2011 +0200 xen: Add module alias to autoload backend drivers All the Xen backend drivers are assigned to a special bus type xen-backend. This patch exports xen-backend:* names through modalias and uevent to autoload them. Signed-off-by: Bastian Blank Acked-by: Ian Campbell Signed-off-by: Konrad Rzeszutek Wilk commit cc85e93342c030f8ba07f572afa159ec4518231f Author: Bastian Blank Date: Wed Jun 29 14:39:26 2011 +0200 xen: Populate xenbus device attributes The xenbus bus type uses device_create_file to assign all used device attributes. However it does not remove them when the device goes away. This patch uses the dev_attrs field of the bus type to specify default attributes for all devices. Signed-off-by: Bastian Blank Acked-by: Ian Campbell Signed-off-by: Konrad Rzeszutek Wilk commit 08b8bfc1c649cf82edf43f686cbb9a4bac809679 Author: Joe Perches Date: Sun Jun 12 09:21:13 2011 -0700 xen: Add __attribute__((format(printf... where appropriate Use the compiler to verify printf formats and arguments. Fix fallout. Signed-off-by: Joe Perches Signed-off-by: Konrad Rzeszutek Wilk commit 0ac9ebedce444ec6f93cf6a995e4a20009191b00 Author: Werner Almesberger Date: Fri Jun 17 18:48:29 2011 +0000 IEEE 802.15.4: do not enable driver debugging by default The IEEE 802.15.4 drivers were compiled by default with debugging, which caused them to be rather chatty and slow. This patch silences them. People debugging drivers can still add a #define DEBUG in the beginning of the respective file or use dynamic debug This patch also removes the now unused option CONFIG_FFD. Signed-off-by: Werner Almesberger Signed-off-by: Dmitry Eremin-Solenikov commit fa1da8835b0764a77a72dea8861bdb1b8c4c59d2 Author: Alexander Smirnov Date: Wed Jun 29 12:51:37 2011 +0000 ieee802154: free skb buffer if dev isn't running Signed-off-by: Alexander Smirnov Signed-off-by: Dmitry Eremin-Solenikov commit 5fd72607a4e9a4a7147d670526431944976035b8 Author: Dmitry Eremin-Solenikov Date: Fri Oct 22 01:25:25 2010 +0400 ieee802154: it's IEEE 802.15.4, not ZigBee Signed-off-by: Dmitry Eremin-Solenikov commit 060e41794e3f09f0b28f79b8d6c7ac1a9641d672 Author: Dmitry Eremin-Solenikov Date: Thu Mar 18 19:26:23 2010 +0300 ieee802154: support specifying hw address for created devices Signed-off-by: Dmitry Eremin-Solenikov commit 6e10c469f0997a5ebaffa955d8716c59ba102a1f Author: Dmitry Eremin-Solenikov Date: Mon Nov 16 17:04:21 2009 +0300 fakehard: stop setting platform_data as it's unused anymore Previously dev.platform_data was used to store a pointer to net device. Now this code was gone. Drop it. Signed-off-by: Dmitry Eremin-Solenikov commit c6d5f5fa658f2569a7baaff5acda261a1316cee9 Author: Christoph Hellwig Date: Wed Feb 16 09:34:26 2011 +0100 hfsplus: lift the 2TB size limit Replace the hardcoded 2TB limit with a dynamic limit based on the block size now that we have fixed the few overflows preventing operation with large volumes. Signed-off-by: Christoph Hellwig commit 4ba2d5fdcfd19de0dedf394ddc48db2f219fa89a Author: Christoph Hellwig Date: Wed Feb 16 09:34:22 2011 +0100 hfsplus: fix overflow in hfsplus_read_wrapper For partitions larger than 2TB or at such an offset the hfs wrapper code in hfsplus might overflow the range representable in a 32-bit data type. Make sure we use a sector_t for the arithmetics leading to it. I'm not sure this code can be readed at all as hfs itself never supported such large volumes. Signed-off-by: Christoph Hellwig commit bf1a1b31fa3ea24e3a90821d69a5c3da066f7d6c Author: Christoph Hellwig Date: Wed Feb 16 09:34:17 2011 +0100 hfsplus: fix overflow in hfsplus_get_block For filesystems larger than 2TB the final sector number passed to map_bh might overflow the range representable in a 32-bit data type. Make sure we use a sector_t for it and the arithmetics calculating it. Signed-off-by: Christoph Hellwig commit 2b4f9ca8a575ce6d7ddb59d668e2be250bf86a8f Author: Anton Salikhmetov Date: Thu Dec 16 18:08:42 2010 +0200 hfsplus: assignments inside `if' condition clean-up Make assignments outside `if' conditions for unicode.c module where the checkpatch.pl script reported this coding style error. Signed-off-by: Anton Salikhmetov Signed-off-by: Christoph Hellwig commit 131ad62d8fc06d9d0a5c61d9526876352c2f2bbd Author: Mr Dash Four Date: Thu Jun 30 13:31:57 2011 +0200 netfilter: add SELinux context support to AUDIT target In this revision the conversion of secid to SELinux context and adding it to the audit log is moved from xt_AUDIT.c to audit.c with the aid of a separate helper function - audit_log_secctx - which does both the conversion and logging of SELinux context, thus also preventing internal secid number being leaked to userspace. If conversion is not successful an error is raised. With the introduction of this helper function the work done in xt_AUDIT.c is much more simplified. It also opens the possibility of this helper function being used by other modules (including auditd itself), if desired. With this addition, typical (raw auditd) output after applying the patch would be: type=NETFILTER_PKT msg=audit(1305852240.082:31012): action=0 hook=1 len=52 inif=? outif=eth0 saddr=10.1.1.7 daddr=10.1.2.1 ipid=16312 proto=6 sport=56150 dport=22 obj=system_u:object_r:ssh_client_packet_t:s0 type=NETFILTER_PKT msg=audit(1306772064.079:56): action=0 hook=3 len=48 inif=eth0 outif=? smac=00:05:5d:7c:27:0b dmac=00:02:b3:0a:7f:81 macproto=0x0800 saddr=10.1.2.1 daddr=10.1.1.7 ipid=462 proto=6 sport=22 dport=3561 obj=system_u:object_r:ssh_server_packet_t:s0 Acked-by: Eric Paris Signed-off-by: Mr Dash Four Signed-off-by: Patrick McHardy commit cb1955b86c86782ff20037da42ef030057501c34 Author: Frederic Weisbecker Date: Wed Jun 29 23:52:52 2011 +0200 perf tools: Only display parent field if explictly sorted We don't need to display the parent field if the parent sorting machinery is only used for parent filtering (as in "-p foo"). However if parent filtering is used in combination with explicit parent sorting ( -s parent), we want to display it. Result with: perf report -p kernel_thread -s parent Before: # Overhead Parent symbol # ........ ............. # 0.07% | --- ioread8 ata_sff_check_status ata_sff_tf_load ata_sff_qc_issue ata_bmdma_qc_issue ata_qc_issue ata_scsi_translate ata_scsi_queuecmd scsi_dispatch_cmd scsi_request_fn __blk_run_queue __make_request generic_make_request submit_bio submit_bh journal_submit_commit_record jbd2_journal_commit_transaction kjournald2 kthread kernel_thread_helpe After: # Overhead Parent symbol # ........ ............. # 0.07% kernel_thread_helper | --- ioread8 ata_sff_check_status ata_sff_tf_load ata_sff_qc_issue ata_bmdma_qc_issue ata_qc_issue ata_scsi_translate ata_scsi_queuecmd scsi_dispatch_cmd scsi_request_fn __blk_run_queue __make_request generic_make_request submit_bio submit_bh journal_submit_commit_record jbd2_journal_commit_transaction kjournald2 kthread kernel_thread_helper Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Stephane Eranian Cc: David Ahern Cc: Sam Liao commit fd8ea21276adefc7f0133bd42fcf3b2faf0b15f8 Author: Frederic Weisbecker Date: Wed Jun 29 23:08:14 2011 +0200 perf tools: Allow sort dimensions to be registered more than once So that the parent sort dimension can be registered twice: once if we add it as an explicit sort dimension (-s parent) and twice if we request a parent filter (-p foo). We'll have only one parent sort dimension in the end but this allows to override the default parent filter with we gave in "-p" option. The goal of this is to prepare to allow the use of "-s parent" and "-p foo" at the same time, ie: sort by filtered parent. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Stephane Eranian Cc: David Ahern Cc: Sam Liao commit e84d21227c6865fe1f3d0c79d1539b6877f54c84 Author: Frederic Weisbecker Date: Wed Jun 29 22:23:03 2011 +0200 perf tools: Don't display ignored entries on stdio ui As for newt ui, don't display entries that have been marked as ignored. The practical current effect of this is to make parent filtering really working. Before, entries that were ignored were given a null parent but were still displayed. This resulted in some weird effects: # Overhead Command Shared Object Symbol # ........ ........... ................. ............ # ^A | --- __lock_acquire | |--95.97%-- lock_acquire | | | |--30.75%-- _raw_spin_lock Discard these from the stdio display. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Stephane Eranian Cc: David Ahern Cc: Sam Liao commit 2fd701bc782fad8792059dd586e1f00b64f6a52e Author: Frederic Weisbecker Date: Wed Jun 29 03:25:14 2011 +0200 perf tools: Remove sort print helpers declarations These are probably some old leftovers. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Stephane Eranian Cc: David Ahern Cc: Sam Liao commit 872a878fb1ee53e21c90040de2c01b3fc53b5942 Author: Frederic Weisbecker Date: Wed Jun 29 03:14:52 2011 +0200 perf tools: Make sort operations static These don't need to be globally visible. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Stephane Eranian Cc: David Ahern Cc: Sam Liao commit d797fdc5c5c245fbb05f553e68cb95d962fbdd01 Author: Sam Liao Date: Tue Jun 7 23:49:46 2011 +0800 perf tools: Add inverted call graph report support. Add "caller/callee" option to support inverted butterfly report, in the inverted report (with caller option), the call graph start from the callee's ancestor. Users can use such view to catch system's performance bottleneck from a sysprof like view. Using this option with specified sort order like pid gives us high level view of call graph statistics. Also add "-G" alias for inverted call graph. Signed-off-by: Sam Liao Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Stephane Eranian Cc: David Ahern Signed-off-by: Frederic Weisbecker commit 9a4ba833a2d0016cf836827e136f0c219834bd41 Author: Dan Carpenter Date: Wed Jun 29 09:31:49 2011 +0300 rtlwifi: potential forever loop in rtl92de_hw_init() "i" should be an int here because we are trying to use it to count to 10000. The original code looks like it could hang in a forever loop. Signed-off-by: Dan Carpenter Acked-by: Larry Finger Signed-off-by: John W. Linville commit ab049fbf5ea87fc92441fc5211c315d04a312cca Author: Larry Finger Date: Tue Jun 28 18:55:50 2011 -0500 rtlwifi: rtl8192de: Fix build errors when using allyes configuration After adding rtl8192de to linux-next, making the rtlwifi drivers be built-in results in the following warnings: LD drivers/net/wireless/rtlwifi/built-in.o drivers/net/wireless/rtlwifi/rtl8192de/built-in.o: In function `rtl92ce_sw_led_on': (.text+0x11fb6): multiple definition of `rtl92ce_sw_led_on' drivers/net/wireless/rtlwifi/rtl8192ce/built-in.o:(.text+0xa326): first defined here drivers/net/wireless/rtlwifi/rtl8192de/built-in.o:(.bss+0x0): multiple definition of `dm_digtable' drivers/net/wireless/rtlwifi/rtl8192c/built-in.o:(.bss+0x0): first defined here ld: Warning: size of symbol `dm_digtable' changed from 40 in drivers/net/wireless/rtlwifi/rtl8192c/built-in.o to 48 in drivers/net/wireless/rtlwifi/rtl8192de/built-in.o drivers/net/wireless/rtlwifi/rtl8192de/built-in.o: In function `rtl92ce_sw_led_off': (.text+0x11cfe): multiple definition of `rtl92ce_sw_led_off' drivers/net/wireless/rtlwifi/rtl8192ce/built-in.o:(.text+0xa06e): first defined here Reported-by: Stephen Rothwell Signed-off-by: Larry Finger Acked-by: Stephen Rothwell Signed-off-by: John W. Linville commit a5f377fb9c9758b248773c5b8b1a20d4e7e2c982 Author: Rafał Miłecki Date: Wed Jun 29 00:56:49 2011 +0200 b43: HT-PHY: correct 0x2059 radio init Sometimes additional steps are performed while initializing 2059 radio. We did not find the condition yet, so make it always true for now. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5cf6fa784a979dce59a5c1b7085e59ee130369e8 Author: Mohammed Shafi Shajakhan Date: Tue Jun 28 20:13:41 2011 +0530 ath9k_htc: Add device ID for Sony UWA-BR100 for more details please take a look at: http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/6541 http://www.wikidevi.com/wiki/Sony_UWA-BR100 Reported-by: Thomas Novin Cc: Rajkumar Manoharan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit c3d77696b084a644693db0b02419d13375cb5b89 Author: Mohammed Shafi Shajakhan Date: Tue Jun 28 17:30:54 2011 +0530 ath9k: move few descriptor macros to ath9k.h Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 2d02c86b7720c2f0614ed838187b05a7ddb0ea83 Author: Rafał Miłecki Date: Tue Jun 28 09:28:39 2011 +0200 b43: HT-PHY: basic PHY init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 71d3b0d592601f26be2233a7922d53e762516fee Author: Rafał Miłecki Date: Tue Jun 28 09:28:38 2011 +0200 b43: HT-PHY: add init tables They were written from observing MMIO writes to registers 0x72 0x74 and 0x73 right after phy_write(0x017e) <- 0x3830 which finishes chennel switching. RegExps were used to translate writes to arrays. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3e644ab47e0cbedc7dd694d3af9996dc514ebf4a Author: Rafał Miłecki Date: Tue Jun 28 00:08:53 2011 +0200 b43: HT-PHY: init radio when enabling it Masks and sets were found in MMIO dumps by using MMIO hacks. Shortly: radio_write(0x0c51) <- 0x0070 radio_write(0x0c5a) <- 0x0003 radio_write(0x0146) <- 0x0003 radio_write(0x0546) <- 0x0003 radio_write(0x0946) <- 0x0003 radio_write(0x002e) <- 0x0078 radio_write(0x00c0) <- 0x0080 radio_write(0x002e) <- 0xff87 radio_write(0x00c0) <- 0xff7f radio_write(0x0011) <- 0xfff7 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e8dec1e99aee468c6fb19f07a2660f9205a70f2c Author: Rafał Miłecki Date: Tue Jun 28 00:08:52 2011 +0200 b43: HT-PHY: replace radio routing magic numbers Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b4d38db121c19fe94862357763b374e44fc23ebb Author: Arik Nemtsov Date: Mon Jun 27 23:58:46 2011 +0300 wl12xx: AP-mode - use mac80211 indication about STA WME support When adding a station, use the information given in the mac80211 populated ieee80211_sta structure to determine if it supports WME. Provide this information to the FW. This patch depends on "mac80211: propagate information about STA WME support down". Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit 39df600aa6ac027b53c4ce3089cba57467a960df Author: Arik Nemtsov Date: Mon Jun 27 23:58:45 2011 +0300 mac80211: propagate information about STA WME support down Add a memeber to the ieee80211_sta structure to indicate whether the STA supports WME. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit f01dce9474e9f09290707b523a134a9605845b00 Author: Jon Mason Date: Mon Jun 27 13:03:44 2011 -0500 rtlwifi: use PCI_VENDOR_ID_* Use PCI_VENDOR_ID_* from pci_ids.h instead of creating #define locally. Signed-off-by: Jon Mason Signed-off-by: John W. Linville commit 6a4ecc29c90c322e28941e6dec406b08b5e1f0ea Author: Jon Mason Date: Mon Jun 27 12:50:14 2011 -0500 rtlwifi: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Also, remove unnecessary and unused #defines for PCI. Signed-off-by: Jon Mason Signed-off-by: John W. Linville commit f05b691150af4cfccbfba6cc708b9a58b9216903 Author: Jon Mason Date: Mon Jun 27 12:48:54 2011 -0500 iwlegacy: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: John W. Linville commit bfc8dfec45237e4c9e28f96fdb91167e7e8ddb96 Author: Rafał Miłecki Date: Mon Jun 27 15:04:47 2011 +0200 b43: HT-PHY: implement lacking 0x908 PHY reg op Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit feb90636cc6a99733d3b0b18344b04ca2d2f203e Author: Rafał Miłecki Date: Mon Jun 27 14:58:54 2011 +0200 b43: HT-PHY: add channel switching tables for 2 GHz band Tables were taken from observing writes in MMIO dumps. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e5b61007bc15b34fe78d4100dbe1be209b761d9b Author: Rafał Miłecki Date: Mon Jun 27 14:58:52 2011 +0200 b43: HT-PHY: perform some tables ops on channel switching Starring at MMIO dumps around PHY channel switching has led to finding serie of 3 similar ops this patch implements. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bdb2dfb237997babac7b32c7a94dcfa18507a055 Author: Rafał Miłecki Date: Mon Jun 27 14:58:51 2011 +0200 b43: HT-PHY: upload PHY values when switching channel After calibrating radio you can find few PHY writes in MMIO dumps: phy_read(0x0009) -> 0x0000 phy_write(0x01ce) <- 0x03dd phy_write(0x01cf) <- 0x03d9 phy_write(0x01d0) <- 0x03d5 phy_write(0x01d1) <- 0x0424 phy_write(0x01d2) <- 0x0429 phy_write(0x01d3) <- 0x042d By comparing to N-PHY code we found out that they are PHY tables for channel switching plus band info read at the beginning. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1a93139237180404dc01970dfd33f4a5d5b2054c Author: Rafał Miłecki Date: Mon Jun 27 14:58:50 2011 +0200 b43: HT-PHY: prepare place for HT-PHY tables They are big arrays uploaded to the hardware on init, calibration, etc. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1049f6413f6e52572a768ca1590fa479ef0a48e8 Author: Jon Mason Date: Mon Jun 27 05:05:08 2011 +0000 myri10ge: Update MAINTAINERS Update MAINTAINERS to refelect new people working on myri10ge Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 3bea123791d36a7b15f0d14ba5af9bdeb0c51cfc Author: Jon Mason Date: Mon Jun 27 05:05:07 2011 +0000 myri10ge: update version Update version and copyright Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit b3b6ae2c2ac39efbd95b012bb5396edf9c87ecc6 Author: Jon Mason Date: Mon Jun 27 10:56:41 2011 +0000 myri10ge: misc style cleanups Miscellaneous white space, style, and other cleanups v2 includes corrections from Joe Perches Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit effd1edab9fd3dc03cb87097a9da2552b940456b Author: Jon Mason Date: Mon Jun 27 05:05:05 2011 +0000 myri10ge: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 5dcd846712046d68020e9dfddd7ca491dc138f0d Author: Jon Mason Date: Mon Jun 27 05:05:04 2011 +0000 myri10ge: add support for set_phys_id Add myri10ge driver support for the ethtool identify operation. NOTE: Rather than blinking (which is the normal case), when identify is used, the yellow LED turns solid. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 4b47638ab25d90faf4e5499aecd8812f247181fd Author: Jon Mason Date: Mon Jun 27 05:05:03 2011 +0000 myri10ge: allow small_bytes = 0 Allow page-based receive to work when small_bytes is set to 0. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit c689b81b4267b1335b11f18fe8a79c56880d9d43 Author: Jon Mason Date: Mon Jun 27 17:57:28 2011 +0000 myri10ge: rework parity error check and cleanup Clean up watchdog reset code: - move code that checks for stuck slice to a common routine - unless there is a confirmed h/w fault, verify that a stuck slice is still stuck in the watchdog worker; if the slice is no longer stuck, abort the reset. - this removes an egregious 2000ms pause in the watchdog worker that was a diagnostic aid (to look for spurious resets) the snuck into production code. v3 includes corrections from Joe Perches Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 7539a613c646f9e870bbedfa753a54cf13b98d22 Author: Jon Mason Date: Mon Jun 27 05:05:01 2011 +0000 myri10ge: Mask PCI Surprise Link Down Events A SRAM parity error can cause a surprise link down. Since We can recover from SRAM parity errors, mask PCI surprise down events. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 3b20b2dc5f713aa7eca20a8ff942292974a1cc94 Author: Jon Mason Date: Mon Jun 27 05:05:00 2011 +0000 myri10ge: ensure tx queues remain stopped Ensure that our tx queues remain stopped when we stop them in myri10ge_close(). Not doing so can potentially lead to traffic being transmitted when the interface is removed, which can lead to NULL pointer dereferences. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 81399ec683632b85863b093f4fffe2b4511e49e6 Author: Barry Grussling Date: Fri Jun 24 19:53:51 2011 +0000 DSA: Enable cascading in multi-chip 6131 configuration This patch enables the 6131 family of chips to forward DSA packets to other switch chips. This is needed if multiple DSA chips are used in a device. Without this patch the chip will drop any DSA packets not destined for it. This patch only enables the forwarding of DSA packets if multiple chips are used in the switch configuration. Signed-off-by: Barry Grussling Signed-off-by: David S. Miller commit 864834f935b5311004ebbf0c485dbfd10aa9a546 Author: Joe Perches Date: Wed Jun 29 05:52:03 2011 -0700 caif: Fix recieve/receive typo Just spelling fixes. Actually, a twofer with vaiables/variables as well. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 84cac3989a0fa009fff63c315759006560c91c13 Author: Stephen Rothwell Date: Wed Jun 29 02:55:59 2011 -0700 net: include dma-mapping.h in ll_temac_main.c for dma_map_single etc fixes thses build errors: drivers/net/ll_temac_main.c: In function 'temac_dma_bd_release': drivers/net/ll_temac_main.c:209:4: error: implicit declaration of function 'dma_unmap_single' drivers/net/ll_temac_main.c:215:3: error: implicit declaration of function 'dma_free_coherent' drivers/net/ll_temac_main.c: In function 'temac_dma_bd_init': drivers/net/ll_temac_main.c:243:2: error: implicit declaration of function 'dma_alloc_coherent' drivers/net/ll_temac_main.c:243:14: warning: assignment makes pointer from integer without a cast drivers/net/ll_temac_main.c:251:14: warning: assignment makes pointer from integer without a cast drivers/net/ll_temac_main.c:280:3: error: implicit declaration of function 'dma_map_single' drivers/net/ll_temac_main.c: In function 'temac_start_xmit_done': drivers/net/ll_temac_main.c:628:22: warning: cast to pointer from integer of different size Caused by commit commit b7f080cfe223 ("net: remove mm.h inclusion from netdevice.h"). Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 8d0f7cea7aa1bb63ddd0e94589d2c33bc99f0d9a Author: Stephen Rothwell Date: Wed Jun 29 02:55:28 2011 -0700 net: include io.h in sja1000_of_platform.c for iounmap etc fixes these build errors: drivers/net/can/sja1000/sja1000_of_platform.c: In function 'sja1000_ofp_read_reg': drivers/net/can/sja1000/sja1000_of_platform.c:61:2: error: implicit declaration of function 'in_8' drivers/net/can/sja1000/sja1000_of_platform.c: In function 'sja1000_ofp_write_reg': drivers/net/can/sja1000/sja1000_of_platform.c:67:2: error: implicit declaration of function 'out_8' drivers/net/can/sja1000/sja1000_of_platform.c: In function 'sja1000_ofp_remove': drivers/net/can/sja1000/sja1000_of_platform.c:81:2: error: implicit declaration of function 'iounmap' drivers/net/can/sja1000/sja1000_of_platform.c: In function 'sja1000_ofp_probe': drivers/net/can/sja1000/sja1000_of_platform.c:113:2: error: implicit declaration of function 'ioremap_nocache' drivers/net/can/sja1000/sja1000_of_platform.c:113:7: warning: assignment makes pointer from integer without a cast Caused by commit b7f080cfe223 ("net: remove mm.h inclusion from netdevice.h"). Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit a6b0919140b49e0871584362ae0cf1d18c476058 Author: John Bonesio Date: Mon Jun 27 16:49:57 2011 -0700 of/gpio: Add new method for getting gpios under different property names This patch adds a new routine, of_get_named_gpio_flags(), which takes the property name as a parameter rather than assuming "gpios". of_get_gpio_flags() is modified to call of_get_named_gpio_flags() with "gpios" as the property parameter. Signed-off-by: John Bonesio [grant.likely: Tidied up whitespace and tweaked kerneldoc comments.] Signed-off-by: Grant Likely commit bf859f84a19f8e562af4a990a287b5e3edabc572 Author: Grant Likely Date: Fri Jun 3 11:07:16 2011 -0600 gpio/dt: Refine GPIO device tree binding Allow for multiple named gpio properties Signed-off-by: Grant Likely commit 3be3fdb58ad22f67c5fd12548c88cefe3f726588 Merge: 77b7023 5ee0a58 Author: John W. Linville Date: Tue Jun 28 13:53:32 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-tx.c commit 213ade8ca8c854435d99e4d2927655b2ae4191e9 Author: Jesse Gross Date: Fri Jun 24 14:24:35 2011 +0000 vmxnet3: Enable GRO support. When receiving packets from another guest on the same hypervisor, it's generally possible to receive large packets because no segmentation is necessary and these packets are handled by LRO. However, when doing routing or bridging we must disable LRO and lose this benefit. In these cases GRO can still be used and it is very effective because the packets which are segmented in the hypervisor are received very close together and can easily be merged. CC: Shreyas Bhatewara CC: Scott Goldman CC: VMware PV-Drivers Signed-off-by: Jesse Gross Signed-off-by: Scott J. Goldman Signed-off-by: David S. Miller commit 95cab7386bef62f8c7535d4726573ce230778e7b Author: Jon Mason Date: Mon Jun 27 07:48:11 2011 +0000 vxge: remove unnecessary reads of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 1a10ccae9003826cee6f2c625fa4caf51cfc0f40 Author: Jon Mason Date: Mon Jun 27 07:46:56 2011 +0000 sky2: remove unnecessary reads of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Also, pci_is_pcie is a better way of determining if the device is PCIE or not (as it uses the same saved PCIE capability offset). Signed-off-by: Jon Mason Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit e44daaded19baf8b7cf9ab3dedad8a01b8c49251 Author: Jon Mason Date: Mon Jun 27 07:46:31 2011 +0000 r8169: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. Use the value from pci_dev instead of checking in the driver and saving it off the the driver specific structure. Also, it will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit d3aa0cb44f2cfcdfa6df1bd40b9c182b35528849 Author: Jon Mason Date: Mon Jun 27 07:45:44 2011 +0000 niu: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 77c98e6a7a3ab76340b315d31fe1edded17cba15 Author: Jon Mason Date: Mon Jun 27 07:45:12 2011 +0000 bnx2x: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Also, pci_is_pcie is a better way of determining if the device is PCIE or not (as it uses the same saved PCIE capability offset). Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit e82760e7d6498d24d1a92f22767ba578c8980a6d Author: Jon Mason Date: Mon Jun 27 07:44:43 2011 +0000 bnx2: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Also, pci_is_pcie is a better way of determining if the device is PCIE or not (as it uses the same saved PCIE capability offset). Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit bdaae04c65ef88645f50dabb43992033c754c4a7 Author: Jon Mason Date: Mon Jun 27 07:44:01 2011 +0000 igb: remove unnecessary reads of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 353064de8af3bf46757376db66c29fa87a9fda3a Author: Jon Mason Date: Mon Jun 27 07:43:47 2011 +0000 e1000e: remove unnecessary reads of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 6532e9cb33221a31c8514441a972486af713ad6e Author: Jon Mason Date: Mon Jun 27 07:42:49 2011 +0000 cxgb3: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit a875a4c7404c8e259236b650136b8a603923daf9 Author: Jon Mason Date: Mon Jun 27 07:42:17 2011 +0000 mlx4: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 708ebb3a51489e70bc2b67b2772deea336eba849 Author: Jon Mason Date: Mon Jun 27 12:56:50 2011 +0000 tg3: remove unnecessary read of PCI_CAP_ID_EXP The PCIE capability offset is saved during PCI bus walking. Use the value from pci_dev instead of checking in the driver and saving it off the the driver specific structure. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. v2 of the patch re-adds the PCI_EXPRESS flag and adds comments describing why it is necessary. [ pdev->pcie_cap --> pci_pcie_cap(pdev) -DaveM ] Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit ec0d75518cb06261f1823fa2713fe52b9b26455e Author: Kuninori Morimoto Date: Thu Jun 23 16:02:38 2011 +0000 net: sh_eth: tidyup compile warning This patch tidyup below warning ${LINUX}/drivers/net/sh_eth.c:1773: warning: 'mdp' may be used uninitialized in this function Cc: Yoshihiro Shimoda Signed-off-by: Kuninori Morimoto Signed-off-by: David S. Miller commit 72e85c45b9541e1f3d233e775da1dc6f68b85867 Author: Jesse Gross Date: Thu Jun 23 13:04:39 2011 +0000 vmxnet3: Convert to new vlan model. This converts the vmxnet3 driver to use the new vlan model. In doing so it fixes missing tags in tcpdump and failure to do checksum offload when tx vlan offload is disabled. CC: Shreyas Bhatewara CC: VMware PV-Drivers Signed-off-by: Jesse Gross Signed-off-by: Scott J. Goldman Signed-off-by: David S. Miller commit cfbf7586bc07cd6d14cd93ca56d8a3f90e248625 Author: Mike Frysinger Date: Fri Jun 24 04:33:02 2011 +0000 can: bfin_can: auto-calculate accessor sizes Since we have a struct that defines the sizes of the registers, we don't need to explicitly use the 16bit read/write helpers. Let the code figure out which size access to make based on the size of the C type. There should be no functional changes here. Signed-off-by: Mike Frysinger Acked-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 9118f08a7794e9a4908afbb0f9bc9455325a5631 Author: Mike Frysinger Date: Fri Jun 24 04:33:01 2011 +0000 can: bfin_can: simplify xmit id1 setup If we look closely, the 4 writes to TRANSMIT_CHL.id1 can be collapsed down into much simpler code. So do just that. This also fixes a build failure due to the I/O macros no longer getting pulled in. Their minor (and accidental) usage here gets dropped as part of the unification. Signed-off-by: Mike Frysinger Acked-by: Wolfgang Grandegger Acked-by: Kurt Van Dijck Signed-off-by: David S. Miller commit aca7a3acb19a7a4b1084f6f2411f6eaf52dd79c0 Author: Sergei Shtylyov Date: Thu Jun 23 04:44:30 2011 +0000 mlx4: use pci_dev->revision Commit 725c89997e03d71b09ea3c17c997da0712b9d835 (mlx4_en: Reporting HW revision in ethtool -i) added code to read the revision ID from the PCI configuration register while it's already stored by PCI subsystem in the 'revision' field of 'struct pci_dev'... While at it, move the code being changed a bit in order to not break the initialization sequence. Signed-off-by: Sergei Shtylyov Signed-off-by: David S. Miller commit 192d8857427dd23707d5f0b86ca990c3af6f2d74 Author: Suresh Siddha Date: Thu Jun 23 11:19:29 2011 -0700 x86, mtrr: use stop_machine APIs for doing MTRR rendezvous MTRR rendezvous sequence is not implemened using stop_machine() before, as this gets called both from the process context aswell as the cpu online paths (where the cpu has not come online and the interrupts are disabled etc). Now that we have a new stop_machine_from_inactive_cpu() API, use it for rendezvous during mtrr init of a logical processor that is coming online. For the rest (runtime MTRR modification, system boot, resume paths), use stop_machine() to implement the rendezvous sequence. This will consolidate and cleanup the code. Signed-off-by: Suresh Siddha Link: http://lkml.kernel.org/r/20110623182057.076997177@sbsiddha-MOBL3.sc.intel.com Signed-off-by: H. Peter Anvin commit f740e6cd0cb5e7468e46831aeb4d9c30e03d5ebc Author: Tejun Heo Date: Thu Jun 23 11:19:28 2011 -0700 stop_machine: implement stop_machine_from_inactive_cpu() Currently, mtrr wants stop_machine functionality while a CPU is being brought up. As stop_machine() requires the calling CPU to be active, mtrr implements its own stop_machine using stop_one_cpu() on each online CPU. This doesn't only unnecessarily duplicate complex logic but also introduces a possibility of deadlock when it races against the generic stop_machine(). This patch implements stop_machine_from_inactive_cpu() to serve such use cases. Its functionality is basically the same as stop_machine(); however, it should be called from a CPU which isn't active and doesn't depend on working scheduling on the calling CPU. This is achieved by using busy loops for synchronization and open-coding stop_cpus queuing and waiting with direct invocation of fn() for local CPU inbetween. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/20110623182056.982526827@sbsiddha-MOBL3.sc.intel.com Signed-off-by: Suresh Siddha Cc: Ingo Molnar Cc: Andrew Morton Cc: Linus Torvalds Cc: Peter Zijlstra Signed-off-by: H. Peter Anvin commit fd7355ba1e936487f5aae6fc058c6cb300e44a64 Author: Tejun Heo Date: Thu Jun 23 11:19:27 2011 -0700 stop_machine: reorganize stop_cpus() implementation Refactor the queuing part of the stop cpus work from __stop_cpus() into queue_stop_cpus_work(). The reorganization is to help future improvements to stop_machine() and doesn't introduce any behavior difference. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/20110623182056.897818337@sbsiddha-MOBL3.sc.intel.com Signed-off-by: Suresh Siddha Cc: Ingo Molnar Cc: Andrew Morton Cc: Linus Torvalds Cc: Peter Zijlstra Signed-off-by: H. Peter Anvin commit 6d3321e8e2b3bf6a5892e2ef673c7bf536e3f904 Author: Suresh Siddha Date: Thu Jun 23 11:19:26 2011 -0700 x86, mtrr: lock stop machine during MTRR rendezvous sequence MTRR rendezvous sequence using stop_one_cpu_nowait() can potentially happen in parallel with another system wide rendezvous using stop_machine(). This can lead to deadlock (The order in which works are queued can be different on different cpu's. Some cpu's will be running the first rendezvous handler and others will be running the second rendezvous handler. Each set waiting for the other set to join for the system wide rendezvous, leading to a deadlock). MTRR rendezvous sequence is not implemented using stop_machine() as this gets called both from the process context aswell as the cpu online paths (where the cpu has not come online and the interrupts are disabled etc). stop_machine() works with only online cpus. For now, take the stop_machine mutex in the MTRR rendezvous sequence that gets called from an online cpu (here we are in the process context and can potentially sleep while taking the mutex). And the MTRR rendezvous that gets triggered during cpu online doesn't need to take this stop_machine lock (as the stop_machine() already ensures that there is no cpu hotplug going on in parallel by doing get_online_cpus()) TBD: Pursue a cleaner solution of extending the stop_machine() infrastructure to handle the case where the calling cpu is still not online and use this for MTRR rendezvous sequence. fixes: https://bugzilla.novell.com/show_bug.cgi?id=672008 Reported-by: Vadim Kotelnikov Signed-off-by: Suresh Siddha Link: http://lkml.kernel.org/r/20110623182056.807230326@sbsiddha-MOBL3.sc.intel.com Cc: stable@kernel.org # 2.6.35+, backport a week or two after this gets more testing in mainline Signed-off-by: H. Peter Anvin commit 61ab1a90d81b5b8a53fc221a3665715c61614fb7 Author: Jamie Iles Date: Mon Jun 27 13:32:33 2011 +0100 dt: document the of_serial bindings The of_serial bindings can be used to register a number of serial devices. Document this binding with all of the others. v3: remove device-type and clarify used-by-rtas Signed-off-by: Jamie Iles Acked-by: Arnd Bergmann Signed-off-by: Grant Likely commit 77b7023afe93b5e3bdcf2c0faaa5e5caafb6ef44 Author: Arik Nemtsov Date: Sun Jun 26 12:06:54 2011 +0300 mac80211: dynamic PS - don't enter PS when TX frames are pending Use the tx_frames_pending() driver callback to determine if Tx frames are pending for its internal queues. If so postpone the dynamic PS timeout to avoid interrupting Tx traffic. The commit e8306f989483e4b97a8b37dd268de6c8c6f35e75 enabled this behavior for drivers with IEEE80211_HW_PS_NULLFUNC_STACK. We enable this for all drivers supporting dynamic PS. This patch helps improve performance in noisy environments. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit eef726994fc4ce2f9d0c880016bd104628ef44c9 Author: Geert Uytterhoeven Date: Sun Jun 26 10:19:44 2011 +0200 bcma: main.c needs to include m68k allmodconfig: drivers/bcma/main.c: In function ‘bcma_release_core_dev’: drivers/bcma/main.c:68: error: implicit declaration of function ‘kfree’ Signed-off-by: Geert Uytterhoeven -- http://kisskb.ellerman.id.au/kisskb/buildresult/4243344/ drivers/bcma/main.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) Signed-off-by: John W. Linville commit 6691678dca1057840d8f25ee038541d4e4100b17 Author: Sergei Shtylyov Date: Fri Jun 24 19:39:37 2011 +0400 iwlwifi: use pci_dev->revision, again Commit ff938e43d39e926de74b32a3656c190f979ab642 (net: use pci_dev->revision, again) already converted this driver to using the 'revision' field of 'struct pci_dev' but commit 084dd79172cb3aad11d2b7ee5628d57badca7c6e (iwlagn: move PCI related operations from probe and remove to PCI layer) has again added the code to read the PCI revision ID register... Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit a5e5aa6cee4cdb967a1f1c33a31165062783ccea Author: Dan Carpenter Date: Fri Jun 24 16:33:35 2011 +0300 mwifiex: restore handling of NULL parameters Prior to a5ffddb70c5cab "mwifiex: remove casts of void pointers" the code assumed that the data_buf parameter could be a NULL pointer. The patch preserved some NULL checks but not consistently, so there was a potential for NULL dereferences and it changed the behavior. This patch restores the original behavior. Signed-off-by: Dan Carpenter Acked-by: Bing Zhao Signed-off-by: John W. Linville commit f6b4e4d476b890e1ddebbed8ec4924f9c2750a31 Author: Rajkumar Manoharan Date: Fri Jun 24 17:38:13 2011 +0530 ath9k: Fix locking issue during tx completion The received tx status of aggregated frame without BlockAck may cause deaf state in AR5416 cards. So the driver does a reset to recover. When this happens, we release the pcu_lock before doing a reset as ath_rest acquires pcu_lock. This is ugly and also not atomic. Fixing this addresses the TX DMA failure also. ath_tx_complete_aggr can be called from different paths which takes different variants of spin_lock. This patch also addresses the following warning. WARNING: at kernel/timer.c:1011 del_timer_sync+0x4e/0x50() Call Trace: [] warn_slowpath_common+0x7a/0xb0 [] warn_slowpath_null+0x15/0x20 [] del_timer_sync+0x4e/0x50 [] ath_reset+0x3e/0x210 [ath9k] [] ? _raw_spin_unlock_bh+0x1f/0x30 [] ath_tx_complete_aggr.isra.26+0x54a/0xa40 [ath9k] Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 428bc8c3960d2b18cb9f0d90cfe197ec9a822a54 Author: Stanislaw Gruszka Date: Fri Jun 24 11:34:34 2011 +0200 iwlagn: fix rmmod crash priv->bus.bus_specific pointer is used after priv structures was freed, in iwl_pci_remove(), what make ugly rmmod crash. This bug was introduced by current pci changes. On the way remove fake check, if prober error code is returned from .probe() function, .remove() will never be called be null drvdata. Signed-off-by: Stanislaw Gruszka Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1d616b14cf3266684af46db614b7de03c7a8a538 Author: Joe Perches Date: Thu Jun 23 15:35:18 2011 -0700 rt2x00: Fix unspeficied typo Signed-off-by: Joe Perches Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit a806c558e01747b499201d2667818f03d79ef1e3 Author: Paul Stewart Date: Thu Jun 23 09:00:11 2011 -0800 mac80211: Drop DS Channel PARAM in directed probe Do not send DS Channel parameter for directed probe requests in order to maximize the chance that we get a response. Some badly-behaved APs don't respond when this parameter is included. Signed-off-by: Paul Stewart Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit ce2dd3c2d54494195e8820b2432eb47ca61ebdd7 Author: Sergei Shtylyov Date: Thu Jun 23 18:49:52 2011 +0400 ssb: use pci_dev->revision The bus scan code reads PCI revision ID from the PCI configuration register while it's already stored by PCI subsystem in the 'revision' field of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit 05b60d4e3796c25ae1c78b10d5676ab27062d9b4 Author: Mohammed Shafi Shajakhan Date: Thu Jun 23 20:14:29 2011 +0530 ath9k_hw: make use of the gain_table_entry macro Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f68e20f0f8bc57dc91d132eaa66956e9ba5aafcf Author: Mohammed Shafi Shajakhan Date: Thu Jun 23 20:03:38 2011 +0530 ath9k_hw: Add carrier leak correction in desired gain calculation Cc: muddin@qca.qualcomm.com Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit dcfcbd590d91e8385eb554aaed419bdebaf4c72a Author: Rajkumar Manoharan Date: Thu Jun 23 13:39:13 2011 +0530 ath9k_hw: Fix false tx hung detection in AR9003 chips The edma based (AR9003 family) chips update tx status descriptors in a common ring buffer for all transmitted frames. Whenever tx interrupt is raised, the descriptors are processed and tx status index is moved. The complete tx stauts ring are updated with beacons tx status when there are no data frames to be sent for a period of time. In this state, transmitting data frames causes the driver to wait for the tx status on an incorrect tx status index though the status was updated by hw properly. The driver detects this condition as a h/w hang and does unnecessary chip resets. This issue was orginally reported in adhoc mode while sending frames after an idle time. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 15b4d843ab66bc0ac2cd46baa20a3ce9638604e6 Author: Arik Nemtsov Date: Thu Jun 23 01:15:27 2011 +0300 mac80211: reestablish mis-configured existing Rx BA sessions When forming a Rx BA session, sometimes the ADDBA response gets lost. This leads to a situation where the session is configured locally, but doesn't exist on the remote side. Subsequent ADDBA requests are declined by mac80211. Fix this by assuming the session state of the initiator is the correct one. When receiving an unexpected ADDBA request on a TID with an active Rx BA session, delete the existing one and establish a new session. Signed-off-by: Arik Nemtsov Acked-by: Johannes Berg Signed-off-by: John W. Linville commit daf4ce85cd5221a3609e68419d01730170975e94 Author: Randy Dunlap Date: Wed Jun 22 10:08:11 2011 -0700 bluetooth: uses crypto interfaces, select CRYPTO Recent changes to hci_core.c use crypto interfaces, so select CRYPTO to make sure that those interfaces are present. Fixes these build errors when CRYPTO is not enabled: net/built-in.o: In function `hci_register_dev': (.text+0x4cf86): undefined reference to `crypto_alloc_base' net/built-in.o: In function `hci_unregister_dev': (.text+0x4f912): undefined reference to `crypto_destroy_tfm' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 8ee3108075c9e9e2701493a245a754b8b0db8e57 Author: Johannes Berg Date: Wed Jun 22 16:43:48 2011 +0200 mac80211: restrict advertised HW scan rates Advertise only user-requested bitrates in a HW scan. Note that the hw_scan API doesn't currently have a way of asking for a specific probe request bitrate, so we might end up using a bitrate that we don't advertise as supported. I'll fix that later. Also add a hexdump printk to hwsim to verify this. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 04b7dcf979d71e870683c804802e44287a802760 Author: Johannes Berg Date: Wed Jun 22 10:06:59 2011 +0200 wireless: unify QoS control field definitions Move all that mac80211 has into the generic ieee80211.h header file and use them. At the same time move them from mask+shift to just bits and rename them for consistent names. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e913d468308be1cce7cc8e6e6e997d54a403ce64 Author: Hauke Mehrtens Date: Tue Jun 21 20:53:20 2011 +0200 ssb: fix ssb clock rate according to broadcom source This fix was done according to si_clock_rate function in broadcom siutils.c Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit f9fc51365d0cf66d1f95f47618566f27177ecbbc Author: Chaoming Li Date: Fri Jun 10 15:12:10 2011 -0500 rtlwifi: rtl8192de: Modify Kconfig and Makefile routines for new driver Set up Kconfig and Makefile for new driver for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f34317db363636b50750d39e8a75873d4ee64cfa Author: Larry Finger Date: Fri Jun 10 15:11:55 2011 -0500 rtlwifi: Fix build problems introduced by merging rtl8192de These patches allow compilation of rtlwifi, rtl8192c_common, rtl8192ce, rtl8192cu and rtl8192se to compile after rtl8192de was added. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 674f0523ec07a7c716f5ed8a2debe6632be750f8 Author: Chaoming Li Date: Fri Jun 10 15:11:40 2011 -0500 rtlwifi: rtl8192de: Merge TX and RX routines Merge routines trx.c and trx.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e501016884dc2112b3742045834302c8adfe3944 Author: Chaoming Li Date: Fri Jun 10 15:11:25 2011 -0500 rtlwifi: rtl8192de: Merge table routines Merge routines table.c and table.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a7dbd3b50d09c0006babb2ba0bbdba4b0ede5c73 Author: Chaoming Li Date: Fri Jun 10 15:11:10 2011 -0500 rtlwifi: rtl8192de: Merge main (sw) routines Merge routines sw.c and sw.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f219eff1e51aa598107c9deda0fa0f061371eded Author: Chaoming Li Date: Fri Jun 10 15:10:55 2011 -0500 rtlwifi: rtl8192de: Merge rf routines Merge routines rf.c and rf.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3de1ef7304aeecbf666c02baacb173e08fa5cb43 Author: Chaoming Li Date: Fri Jun 10 15:10:40 2011 -0500 rtlwifi: rtl8192de: Merge register definitions Merge routines reg.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 7274a8c229805d5ab1228a2d7d8ed304fcfa2bc6 Author: Chaoming Li Date: Fri Jun 10 15:10:25 2011 -0500 rtlwifi: rtl8192de: Merge phy routines Merge routines phy.c and phy.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f53d5a700694bd8eef081468fd936e0b174b4c94 Author: Chaoming Li Date: Fri Jun 10 15:10:10 2011 -0500 rtlwifi: rtl8192de: Merge led routines Merge routines led.c and led.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3affdf42373e9f2913238c1881610a258b044648 Author: Chaoming Li Date: Fri Jun 10 15:09:55 2011 -0500 rtlwifi: rtl8192de: Merge hardware routines Merge routines hw.c and hw.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 985d4d3f6dced76f37c8c8d2528fcfe7773cc5f0 Author: Chaoming Li Date: Fri Jun 10 15:09:40 2011 -0500 rtlwifi: rtl8192de: Merge firmware routines Merge routines fw.c and fw.h for RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4f01358e5b8a4b0f67cfc7bf785756193006de96 Author: Chaoming Li Date: Fri Jun 10 15:09:25 2011 -0500 rtlwifi: rtl8192de: Merge dynamic management routines Merge routines dm.c and dm.h for RTL8192DE. Signed-off-by: Larry Finger Signed-off-by: Chaoming_Li Signed-off-by: John W. Linville commit 23a8c61416955718dfa7ecbb88184b8307ef7c90 Author: Chaoming Li Date: Fri Jun 10 15:09:09 2011 -0500 rtlwifi: rtl8192de: Merge def.h Introduce routine def.h for rtl8192de. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit be8943a4457549ce507d170b8da8f8731042caa6 Merge: f70490e f775aa0 Author: John W. Linville Date: Mon Jun 27 15:03:40 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 479bf98c1c29b40d86e40a4e6e4944c2f03d9493 Author: Oleg Nesterov Date: Fri Jun 24 17:34:39 2011 +0200 ptrace: wait_consider_task: s/same_thread_group/ptrace_reparented/ wait_consider_task() checks same_thread_group(parent, real_parent), this is the open-coded ptrace_reparented(). __ptrace_detach() remains the only function which has to check this by hand, although we could reorganize the code to delay __ptrace_unlink. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit bb3696da89743d580f869142d0a6e6ba9b7fe89a Author: Oleg Nesterov Date: Fri Jun 24 17:34:23 2011 +0200 ptrace: kill real_parent_is_ptracer() in in favor of ptrace_reparented() Kill real_parent_is_ptracer() and update the callers to use ptrace_reparented(), after the previous patch they do the same. Remove the unnecessary ->ptrace != 0 check in get_signal_to_deliver(), if ptrace_reparented() == T then the task must be ptraced. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 0347e17739095c58c0194fed6a61aced3536d258 Author: Oleg Nesterov Date: Fri Jun 24 17:34:06 2011 +0200 ptrace: ptrace_reparented() should check same_thread_group() ptrace_reparented() naively does parent != real_parent, this means it returns true even if the tracer _is_ the real parent. This is per process thing, not per-thread. The only reason ->real_parent can point to the non-leader thread is that we have __WNOTHREAD. Change it to check !same_thread_group(parent, real_parent). It has two callers, and in both cases the current check does not look right. exit_notify: we should respect ->exit_signal if the exiting leader is traced by any thread from the parent thread group. It is the child of the whole group, and we are going to send the signal to the whole group. wait_task_zombie: without __WNOTHREAD do_wait() should do the same for any thread, only sys_ptrace() is "bound" to the single thread. However do_wait(WEXITED) succeeds but does not release a traced natural child unless the caller is the tracer. Test-case: void *tfunc(void *arg) { assert(ptrace(PTRACE_ATTACH, (long)arg, 0,0) == 0); pause(); return NULL; } int main(void) { pthread_t thr; pid_t pid, stat, ret; pid = fork(); if (!pid) { pause(); assert(0); } assert(pthread_create(&thr, NULL, tfunc, (void*)(long)pid) == 0); assert(waitpid(-1, &stat, 0) == pid); assert(WIFSTOPPED(stat)); kill(pid, SIGKILL); assert(waitpid(-1, &stat, 0) == pid); assert(WIFSIGNALED(stat) && WTERMSIG(stat) == SIGKILL); ret = waitpid(pid, &stat, 0); if (ret < 0) return 0; printf("WTF? %d is dead, but: wait=%d stat=%x\n", pid, ret, stat); return 1; } Note that the main thread simply does pid = fork(); kill(pid, SIGKILL); and then without the patch wait4(WEXITED) succeeds twice and reports WTERMSIG(stat) == SIGKILL. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 087806b1281563e4ae7a5bce3155f894af5f4118 Author: Oleg Nesterov Date: Wed Jun 22 23:10:26 2011 +0200 redefine thread_group_leader() as exit_signal >= 0 Change de_thread() to set old_leader->exit_signal = -1. This is good for the consistency, it is no longer the leader and all sub-threads have exit_signal = -1 set by copy_process(CLONE_THREAD). And this allows us to micro-optimize thread_group_leader(), it can simply check exit_signal >= 0. This also makes sense because we should move ->group_leader from task_struct to signal_struct. Signed-off-by: Oleg Nesterov Reviewed-by: Tejun Heo commit d4f7c511c1c2a67eb287987cf1ce9554149030e6 Author: Oleg Nesterov Date: Wed Jun 22 23:10:11 2011 +0200 do not change dead_task->exit_signal __ptrace_detach() and do_notify_parent() set task->exit_signal = -1 to mark the task dead. This is no longer needed, nobody checks exit_signal to detect the EXIT_DEAD task. Signed-off-by: Oleg Nesterov Reviewed-by: Tejun Heo commit e550f14dc6322e794d4e70825f63c9c99177ae8b Author: Oleg Nesterov Date: Wed Jun 22 23:09:54 2011 +0200 kill task_detached() Upadate the last user of task_detached(), wait_task_zombie(), to use thread_group_leader() and kill task_detached(). Signed-off-by: Oleg Nesterov Reviewed-by: Tejun Heo commit 0976a03e5ce8ec346e985f21046d7a75bb7fdffd Author: Oleg Nesterov Date: Wed Jun 22 23:09:39 2011 +0200 reparent_leader: check EXIT_DEAD instead of task_detached() Change reparent_leader() to check ->exit_state instead of ->exit_signal, this matches the similar EXIT_DEAD check in wait_consider_task() and allows us to cleanup the do_notify_parent/task_detached logic. task_detached() was really needed during reparenting before 9cd80bbb "do_wait() optimization: do not place sub-threads on ->children list" to filter out the sub-threads. After this change task_detached(p) can only be true if p is the dead group_leader and its parent ignores SIGCHLD, in this case the caller of do_notify_parent() is going to reap this task and it should set EXIT_DEAD. Signed-off-by: Oleg Nesterov Reviewed-by: Tejun Heo commit 8677347378044ab564470bced2275520efb3670d Author: Oleg Nesterov Date: Wed Jun 22 23:09:09 2011 +0200 make do_notify_parent() __must_check, update the callers Change other callers of do_notify_parent() to check the value it returns, this makes the subsequent task_detached() unnecessary. Mark do_notify_parent() as __must_check. Use thread_group_leader() instead of !task_detached() to check if we need to notify the real parent in wait_task_zombie(). Remove the stale comment in release_task(). "just for sanity" is no longer true, we have to set EXIT_DEAD to avoid the races with do_wait(). Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 9843a1e977977986d0a4c1000f2229b032572534 Author: Oleg Nesterov Date: Wed Jun 22 23:08:53 2011 +0200 __ptrace_detach: avoid task_detached(), check do_notify_parent() __ptrace_detach() relies on the current obscure behaviour of do_notify_parent(tsk) which changes tsk->exit_signal if this child should be silently reaped. That is why we check task_detached(), it is true if the task is sub-thread, or it is the group_leader but its exit_signal was changed by do_notify_parent(). This is confusing, change the code to rely on !thread_group_leader() or the value returned by do_notify_parent(). Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 45cdf5cc0703c537194588c63d53bad1f2539d36 Author: Oleg Nesterov Date: Thu Jun 23 19:06:50 2011 +0200 kill tracehook_notify_death() Kill tracehook_notify_death(), reimplement the logic in its caller, exit_notify(). Also, change the exec_id's check to use thread_group_leader() instead of task_detached(), this is more clear. This logic only applies to the exiting leader, a sub-thread must never change its exit_signal. Note: when the traced group leader exits the exit_signal-or-SIGCHLD logic looks really strange: - we notify the tracer even if !thread_group_empty() but do_wait(WEXITED) can't work until all threads exit - if the tracer is real_parent, it is not clear why can't we use ->exit_signal event if !thread_group_empty() -v2: do not try to fix the 2nd oddity to avoid the subtle behavior change mixed with reorganization, suggested by Tejun. Signed-off-by: Oleg Nesterov Reviewed-by: Tejun Heo commit 53c8f9f199b239668e6b1a907735ee323a0d1ccd Author: Oleg Nesterov Date: Wed Jun 22 23:08:18 2011 +0200 make do_notify_parent() return bool - change do_notify_parent() to return a boolean, true if the task should be reaped because its parent ignores SIGCHLD. - update the only caller which checks the returned value, exit_notify(). This temporary uglifies exit_notify() even more, will be cleanuped by the next change. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit 9a7b1501182477299e678b787e32fca5844c7ea1 Author: Randy Dunlap Date: Wed Jun 22 10:08:11 2011 -0700 Bluetooth: uses crypto interfaces, select CRYPTO Recent changes to hci_core.c use crypto interfaces, so select CRYPTO to make sure that those interfaces are present. Fixes these build errors when CRYPTO is not enabled: net/built-in.o: In function `hci_register_dev': (.text+0x4cf86): undefined reference to `crypto_alloc_base' net/built-in.o: In function `hci_unregister_dev': (.text+0x4f912): undefined reference to `crypto_destroy_tfm' Signed-off-by: Randy Dunlap Signed-off-by: Gustavo F. Padovan commit 95dac04f881322b510c45e5ae83f0dbee4f823a2 Author: Ido Yariv Date: Mon Jun 6 14:57:06 2011 +0300 wl12xx: Support routing FW logs to the host A recently added feature to the firmware enables the driver to retrieve firmware logs via the host bus (SDIO or SPI). There are two modes of operation: 1. On-demand: The FW collects its log in an internal ring buffer. This buffer can later be read, for example, upon recovery. 2. Continuous: The FW pushes the FW logs as special packets in the RX path. Reading the internal ring buffer does not involve the FW. Thus, as long as the HW is not in ELP, it should be possible to read the logs, even if the FW crashes. A sysfs binary file named "fwlog" was added to support this feature, letting a monitor process read the FW messages. The log is transferred from the FW only when available, so the reading process might block. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit baacb9aed020b890ddf6a57837a169092a25fc9b Author: Ido Yariv Date: Mon Jun 6 14:57:05 2011 +0300 wl12xx: Avoid recovery while one is already in progress During recovery work commands sent to the FW could fail and schedule additional recovery work. Since the chip is going to be powered off, avoid recursive recoveries. Signed-off-by: Ido Yariv Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 842f1a6c71551ac10fbdff4a4e65821228df9ea7 Author: Ido Yariv Date: Mon Jun 6 14:57:04 2011 +0300 wl12xx: Check for FW quirks as soon as the FW boots The FW initialization might depend on the FW revision, so check for any FW quirks right after booting it. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 92ef8960aee2f840c6a54c968d40199843f015c0 Author: Eliad Peller Date: Tue Jun 7 12:50:46 2011 +0300 wl12xx: use freezable workqueue for netstack_work When resuming (after wowlan), we want the rx packets (which is usually the wake-up packet itself) to be passed to mac80211 only after the resume notifier was completed, and mac80211 is up and running (otherwise, the packets will be dropped). By enqueueing the netstack_work to a freezable workqueue, we can guarantee the rx processing to occur only after mac80211 was resumed. Signed-off-by: Eliad Peller Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit c27d3accb6f06b0afedfe472dfe0c8e7d87ff0a6 Author: Eliad Peller Date: Tue Jun 7 10:40:39 2011 +0300 wl12xx: use _ni version of ieee80211_tx_status wl1271_flush_deferred_work(), which calls ieee80211_rx() and ieee80211_tx_status(), is called from a process context. hence, use ieee80211_tx_status_ni() instead of ieee80211_tx_status(). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit ef4b29e976f9e0a622dfd2722b443bb65686f47c Author: Eliad Peller Date: Mon Jun 6 13:03:12 2011 +0300 wl12xx: check the vif's operstate after join When resuming while connected (without wowlan), the interface is already IF_OPER_UP, so we won't get the notifier callback, and hence never complete the association (from wl12xx perspective) This situation, among other potential problems, prevents the station from entering psm. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit d946e65e2ab885c05b8cacf292be65fa292d08f6 Author: Anssi Hannula Date: Mon Jun 27 00:07:31 2011 +0300 HID: add FF support for Holtek On Line Grip based gamepads Add force feedback support for Holtek On Line Grip based HID devices. The protocol is more complex than that of most other rumblepads, but the device still needs to be handled as a memoryless one. Tested by Cleber de Mattos Casali with a 1241:5015 "Clone Joypad Super Power Fire" gamepad, with help from Hendrik Iben . Signed-off-by: Anssi Hannula Tested-by: Cleber de Mattos Casali Signed-off-by: Jiri Kosina commit 6bb043321569ac356c790a8d3bd759742e1f9352 Author: Eliad Peller Date: Mon Jun 6 12:21:55 2011 +0300 wl12xx_sdio: enable wowlan only if enable_irq_wake() succeeded Some platforms don't support the wake_irq, so disable wowlan in this case, and avoid the "Unbalanced IRQ wake disable" warning on disable_irq_wake(). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 8a7cf3febbb2b7c1ade717ddb3065de67c5983c5 Author: Eliad Peller Date: Mon Jun 6 12:21:54 2011 +0300 wl12xx: enable/disable beacon filtering on ap suspend/resume Beacon filtering needs to be enabled so AP won't wake up by by every received beacon. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit ff91afc90a736c97f24dec31e642411563906cfb Author: Eliad Peller Date: Mon Jun 6 12:21:53 2011 +0300 wl12xx: clear wl->wow_enabled on resume We set wl->wow_enabled on every suspend(), so we need to clear it on every resume(). (we can't rely on setting wl->wow_enabled=false in suspend(), as it being called only when wowlan triggers are configured) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 4a859df85a7855b15f5e1bf4b0869a16757a3e43 Author: Eliad Peller Date: Mon Jun 6 12:21:52 2011 +0300 wl12xx: don't check wow param on suspend/resume Since mac80211 calls suspend/resume only when wowlan triggers exist, there is no need to check for triggers existance in the callbacks as well. Add a WARN_ON() to verify it. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0c005048aa3cd3ac7bfdd3c6fcc20ea4f0ab667d Author: Shahar Levi Date: Sun Jun 12 10:34:43 2011 +0300 wl12xx: Add Support for Low Power DRPw (LPD) Mode The Low Power DRPw (LPD) mode contains several optimizations that designed to reduce power consumption. The purpose is to save current consumption in RX and Listen mode. LPD setting apply only for wl127x AP mode (not wl128x) Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 86046da4afe068991b77e0a4c4b79b99ad961bda Author: Ohad Ben-Cohen Date: Sun May 29 16:36:03 2011 +0300 wl12xx: don't bail if mmc isn't MMC_CAP_POWER_OFF_CARD If our SDIO function has its runtime PM disabled, don't try to manipulate its runtime PM status at all. This way we can still power on cards plugged to mmc hosts that are not MMC_CAP_POWER_OFF_CARD. Reported-and-tested-by: Tim Yamin Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit d2c2bb9fccdfe3cb70b276ae69e53d4890b11871 Author: Luciano Coelho Date: Tue May 31 16:38:56 2011 +0300 wl12xx: split channel array per band in sched_scan The firmware, in practice, treats the channels in three separate blocks, one for each band (bg, a and j). Instead of using a single array and doing some magic with indices, split the array in 3 to make it more readable. Signed-off-by: Luciano Coelho commit d192d268a1fb632148046b8efe9ab78e69890dd2 Author: Eliad Peller Date: Tue May 24 14:33:08 2011 +0300 wl12xx: fix erroneous commit (cb5ae0) Due to rebase error, the patch for commit cb5ae0 ("wl12xx: configure rates when working in ibss mode") was wrong - a blob was added into the wrong function. fix it. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a011130265e999056fe0678a064d828c2fd40174 Author: Eliad Peller Date: Wed May 18 11:24:16 2011 +0300 wl12xx: remove unused crc7 references crc7 is used only in wl12xx_spi. Remove redundant crc7.h includes, and update Kconfig to select CRC7 only if WL12XX_SPI is being selected. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 0e44eb209343663ad7041ebf9f5d4c393bd89ae9 Author: Shahar Levi Date: Mon May 16 15:35:30 2011 +0300 wl12xx: Enable beacon early termination in 2.4GHz band only Beacon early termination doesn't help much in the 5GHz band and masks channel switch IE Beacons. Thus, change the code to use BET only in 2.4GHz. [Reworded the commit log slightly -- Luca.] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit c84368e01a00f449d97e8a59e1b0c24dcf70a8b3 Author: Eliad Peller Date: Sun May 15 11:10:30 2011 +0300 wl12xx: add rx_streaming debugfs entry Allow control over rx_streaming interval and operation mode (always/only on coex) via debugfs. e.g. echo 100 > /debug/ieee80211/phy0/wl12xx/rx_streaming/interval echo 1 > /debug/ieee80211/phy0/wl12xx/rx_streaming/always Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 77ddaa108f727b5ef3be004b952d2c3d3ffc48e5 Author: Eliad Peller Date: Sun May 15 11:10:29 2011 +0300 wl12xx: add automatic rx streaming triggers When rx_streaming.interval is non-zero, use automatic rx streaming. Enable rx streaming on the each rx/tx packet, and disable it rx_streaming.duration msecs later. When rx_streaming.always=0 (default), rx streaming is enabled only when there is a coex operation. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f84673d59773ded6efab640c5ee5f44b34116b75 Author: Eliad Peller Date: Sun May 15 11:10:28 2011 +0300 wl12xx: add support for rx streaming wl12xx supports the "rx streaming" feature: When in ps mode, and @timeout msecs have been passed since the last rx/tx, it issues trigger packets (QoS-null/PS-Poll packets, according to the ac type) in const intervals (in order to reduce the rx time). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit ba2274c68e103271ba0c70fb8ad9afb4ede42d20 Author: Felipe Balbi Date: Sat May 14 00:26:23 2011 +0300 net: wl12xx: remove unnecessary prints Those have little value. Remove those to make the driver less noisy. Signed-off-by: Felipe Balbi Signed-off-by: Luciano Coelho commit 4c4cdfa12f389f0addbbbb6ac984997498a3c3af Author: Felipe Balbi Date: Sat May 14 00:26:22 2011 +0300 net: wl12xx: remove the nops Nops aren't needed. When we actually need those calls, then we add them with meat and barbecue sauce. Signed-off-by: Felipe Balbi Signed-off-by: Luciano Coelho commit 77d7d7a36d270fee4591c1c99c83c2da1f399d44 Author: Felipe Balbi Date: Sat May 14 00:26:21 2011 +0300 net: wl12xx: care for optional operations ->init and ->reset are optional - at least sdio.c doesn't implement them - so allow those pointers to be NULL. Signed-off-by: Felipe Balbi Signed-off-by: Luciano Coelho commit 6bdaf79623e285242cb977840358dc7d14438475 Author: Felipe Balbi Date: Sat May 14 00:26:20 2011 +0300 net: wl12xx: remove some unnecessary prints Those have little value. Remove those to make the driver less noisy. Signed-off-by: Felipe Balbi Signed-off-by: Luciano Coelho commit 33dd74c7844852afba46f5e19911bcf55a1f04a1 Author: Felipe Balbi Date: Sat May 14 00:26:18 2011 +0300 net: wl12xx: sdio: id_tables should be __devinitconst That's only needed during init anyway, let's free some space after we're done probing. Signed-off-by: Felipe Balbi Signed-off-by: Luciano Coelho commit d5b8aa1d246fddfe4042be6f6eb169efa5cfbb94 Author: jamal Date: Sun Jun 26 08:13:54 2011 +0000 net_sched: fix dequeuer fairness Results on dummy device can be seen in my netconf 2011 slides. These results are for a 10Gige IXGBE intel nic - on another i5 machine, very similar specs to the one used in the netconf2011 results. It turns out - this is a hell lot worse than dummy and so this patch is even more beneficial for 10G. Test setup: ---------- System under test sending packets out. Additional box connected directly dropping packets. Installed prio qdisc on the eth device and default netdev default length of 1000 used as is. The 3 prio bands each were set to 100 (didnt factor in the results). 5 packet runs were made and the middle 3 picked. results ------- The "cpu" column indicates the which cpu the sample was taken on, The "Pkt runx" carries the number of packets a cpu dequeued when forced to be in the "dequeuer" role. The "avg" for each run is the number of times each cpu should be a "dequeuer" if the system was fair. 3.0-rc4 (plain) cpu Pkt run1 Pkt run2 Pkt run3 ================================================ cpu0 21853354 21598183 22199900 cpu1 431058 473476 393159 cpu2 481975 477529 458466 cpu3 23261406 23412299 22894315 avg 11506948 11490372 11486460 3.0-rc4 with patch and default weight 64 cpu Pkt run1 Pkt run2 Pkt run3 ================================================ cpu0 13205312 13109359 13132333 cpu1 10189914 10159127 10122270 cpu2 10213871 10124367 10168722 cpu3 13165760 13164767 13096705 avg 11693714 11639405 11630008 As you can see the system is still not perfect but is a lot better than what it was before... At the moment we use the old backlog weight, weight_p which is 64 packets. It seems to be reasonably fine with that value. The system could be made more fair if we reduce the weight_p (as per my presentation), but we are going to affect the shared backlog weight. Unless deemed necessary, I think the default value is fine. If not we could add yet another knob. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 85a43a9edaf5b541381acbf4061bace1121d6ef0 Merge: 23efcb7 42532da Author: David S. Miller Date: Mon Jun 27 00:09:56 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 commit 23efcb738ea51befe0674e0685fc6cfe353aa553 Author: Joe Perches Date: Sun Jun 26 19:01:35 2011 +0000 wan: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit c75bb2c6f0cf455c23e60f14d780e841dd47f801 Author: Joe Perches Date: Sun Jun 26 19:01:34 2011 +0000 ixp4xx_hss: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit e8c122f450d0b83d7a15535ba49e55ad21a9e63f Author: Joe Perches Date: Sun Jun 26 19:01:33 2011 +0000 farsync: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 09a1732bee89fc31e63b1bd999f93acd58843f35 Author: Joe Perches Date: Sun Jun 26 19:01:32 2011 +0000 dscc4: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 86fb0ccf90cc34642daf6cd902ee26516a0ff0a2 Author: Joe Perches Date: Sun Jun 26 19:01:31 2011 +0000 frame relay dlci/frad: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit d6810e1375c9b3b28ed1caccb6fb706945903f49 Author: Joe Perches Date: Sun Jun 26 19:01:30 2011 +0000 cyclom: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 9cbe50d4231773396f529f51a048770d0ee54ac1 Author: Joe Perches Date: Sun Jun 26 19:01:29 2011 +0000 cosa: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 12a3bfefc8c1e43ddb50950cb74f8a11d680567a Author: Joe Perches Date: Sun Jun 26 19:01:28 2011 +0000 generic_hdlc: Update to current logging forms Use pr_fmt, pr_ and netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 2903dd654d8788425a9523959b02933ea6555229 Author: Sathya Perla Date: Sun Jun 26 20:41:53 2011 +0000 be2net: fix initialization of vlan_prio_bmap Initialization of this field to "all priorities" must be done before MCC queue creation. As soon as the MCC queue is created, an event modifying this value may be received. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit c814fd3669b43f32ddd505178705c02352b0ac7c Author: Sathya Perla Date: Sun Jun 26 20:41:25 2011 +0000 be2net: get rid of multi_rxq module param Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 6e53391cb4f9491182e7fbd280966ebe2aca07dc Author: Sathya Perla Date: Sun Jun 26 20:40:48 2011 +0000 be2net: fix netdev_stats_update Problem initially reproted and fixed by Eric Dumazet netdev_stats_update() resets netdev->stats and then accumulates stats from various rings. This is wrong as stats readers can sometimes catch zero values. Use temporary variables instead for accumulating per-ring values. Signed-off-by: Sathya Perla Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 42532da64e9c4102decab8f37cf3959af55789a4 Author: John Fastabend Date: Sat Jun 18 07:40:04 2011 +0000 ixgbe: implement DCB ops dcb_ieee_del() Implement DCB ops dcb_ieee_del() and set FCoE to the default priority when no priority exists. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 3b3bf3b92b313db62a07869a649533f7f4f25c24 Author: John Fastabend Date: Sat Jun 18 07:39:58 2011 +0000 ixgbe: remove unused fcoe.tc field and fcoe_setapp() The fcoe.tc field is no longer used so remove it. After the field is removed there is no need to keep fcoe_setapp() around so remove it as well. And finally we can get rid of some DCB #ifdef's in the fcoe code. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 9372453e87560f1602815bf08b9e2af0f5136a61 Author: John Fastabend Date: Sat Jun 18 07:39:52 2011 +0000 ixgbe: complete FCoE initialization from setapp() routine Commit, commit c8ca76ebc6e50752c5311b92bb9aef7edb324577 Author: John Fastabend Date: Sat Mar 12 03:50:53 2011 +0000 ixgbe: DCB, further cleanups to app configuration Removed the getapp() routines from ixgbe because they are no longer needed. It also allowed the set hardware routines to use both IEEE 802.1Qaz app types and CEE app types. This added code to do bit shifting in the IEEE case. This patch reverts the checks and handles the IEEE case from the setapp entry point. I prefer this because it keeps the two paths from having to be aware of the DCB mode. This resolves a bug where I missed setting the selector bit in the IEEE spec value and left it in the CEE value. Now that they are separate routines these types of errors should not occur. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 7555e83df399ef35e031b137442eac2b1894b993 Author: Lior Levy Date: Sat Jun 25 00:09:08 2011 -0700 ixgbe: A fix to VF TX rate limit There is a need to configure MMW_SIZE in register RTTBCNRM with a correct value (0x4 for non jumbo frames and 0x14 for jumbo frames support). For 82599 the value is 0x4 and for X540 the value is 0x14. Signed-off-by: Lior Levy Signed-off-by: Jeff Kirsher commit a535c30e9e98d201089503a0ffa0093cba16e796 Author: Alexander Duyck Date: Fri May 27 05:31:52 2011 +0000 ixgbe: Update method used for determining descriptor count for an skb This patch updates the current methods used for determining if we have enough space to transmit a given skb. The current method is quite wasteful as it has us go through and determine how each page is going to be broken up. That only needs to be done if pages are larger than our maximum data per TXD. As such I have wrapped that in a page size check. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit 897ab15606ce896b6a574a263beb51cbfb43f041 Author: Alexander Duyck Date: Fri May 27 05:31:47 2011 +0000 ixgbe: Add one function that handles most of context descriptor setup There is a significant amount of shared functionality between the checksum and TSO offload configuration that is shared in regards to how they setup the context descriptors. Since so much of the functionality is shared it makes sense to move the shared functionality into a single function and just call that function from the two context descriptor specific routines. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit 63544e9c0055316d0397cb671f2ff99d85c77293 Author: Alexander Duyck Date: Fri May 27 05:31:42 2011 +0000 ixgbe: Move all values that deal with count, next_to_use, next_to_clean to u16 This change updates all values dealing with count, next_to_use, and next_to_clean so that they stay u16 values. The advantage of this is that there is no re-casting of type during the propagation through the stack. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit 7d4987de752a94772ad1ae85ad5c702bbcf73305 Author: Alexander Duyck Date: Fri May 27 05:31:37 2011 +0000 ixgbe: Convert IXGBE_DESC_UNUSED from macro to static inline function This change is a minor cleanup that converts the IXGBE_DESC_UNUSED macro into a static inline function just for the case of the code being a bit cleaner. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit a65151ba201fe56ac146767e018674a84bfef1a6 Author: Alexander Duyck Date: Fri May 27 05:31:32 2011 +0000 ixgbe: pass adapter struct instead of netdev for interrupt data This change makes it so that we pass the adapter struct instead of the netdev for most of the basic interrupts that are not associated with q_vectors. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit c6af9c406ceb3434281cf230938453931dcbab75 Author: Vitaliy Ivanov Date: Wed Jun 22 08:06:44 2011 +0000 net: wimax: Remove of unused 'rfkill_input' pointer Seems like this was not cleaned during the 'rfkill: rewrite' checkin 19d337dff95cbf76edd3ad95c0cee2732c3e1ec5. Signed-off-by: Vitaliy Ivanov Acked-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 6f9edc667d84f11d6455f4c2b4675fc82bf08b45 Author: Shan Wei Date: Fri Jun 24 17:43:16 2011 -0700 net: Kill unuseful net/TUNABLE doc in kernel source File net/TUNABLE has never be updated since git age. For some tunable parameters which user can control with proc file-system, They are all in ip-sysctl.txt doc. For tunable parameters that only at compile time, no meaning to note them. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit 572404ea6bcbfaeb84b9522b46c35f5a5db15392 Author: Joe Perches Date: Wed Jun 22 20:39:00 2011 +0000 zorro8390: Update style, neaten, restructure to eliminate prototypes Convert to current logging styles. Move code blocks to eliminate need for prototypes. Use tabs for code indent and standardize spacing. Comment neatening. Signed-off-by: Joe Perches Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 3c01164e80a11fe2743cc36a0f2915673f1cac74 Author: Joe Perches Date: Wed Jun 22 20:38:59 2011 +0000 lib8390: Remove unnecessary extern Already declared in 8390.h Signed-off-by: Joe Perches Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 5aedcf50e547e37b89d105efc4a2f0f1b0217af4 Author: Joe Perches Date: Wed Jun 22 20:38:58 2011 +0000 lib8390: Convert include Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit be763c940fc3ccdaeda238e3ef5840961b649740 Author: Joe Perches Date: Wed Jun 22 20:38:57 2011 +0000 lib8390: Normalize source code spacing Make more conformant to normal kernel style. Long line lengths > 80 columns ignored. Signed-off-by: Joe Perches Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 7340c4db810f3b129fc4dd648991ed5ca5346592 Author: Joe Perches Date: Wed Jun 22 20:38:56 2011 +0000 lib8390: Indent braces appropriately Move the braces around to conform to kernel standard style. Signed-off-by: Joe Perches Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 840f63933983a1d873c5b2f85d2e169bb94e3c19 Author: Joe Perches Date: Wed Jun 22 20:38:55 2011 +0000 lib8390: Use pr_ and netdev_ Use the current logging styles. Signed-off-by: Joe Perches Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 747e252fa1a061cf63d12ed68ac937cf53a4fe4e Author: Joe Perches Date: Wed Jun 22 20:38:54 2011 +0000 a2065: Use pr_fmt, pr_ and netdev_ Use current logging styles. Other miscellaneous cleanups: Space removal and additions for checkpatch warnings. Signed-off-by: Joe Perches Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 7b5b0abdb6757011ab51eaf1227e3fcf3ab61d97 Author: Joe Perches Date: Wed Jun 22 20:38:53 2011 +0000 ariadne: Update style, neaten, restructure to eliminate prototypes Convert to current logging styles. Move code blocks to eliminate need for prototypes. Use tabs for code indent and sandardize spacing. Comment neatening. Signed-off-by: Joe Perches Acked-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit 1897fe55e1385ddfb7733d0e0819588571cca867 Merge: cd5f3e2 e4a0aee Author: David S. Miller Date: Fri Jun 24 16:49:10 2011 -0700 Merge branch 'tipc-Jun24-2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/net-next-2.6 commit 589327905cf0ce4402f7fb1ed29682f7ae68a82e Author: Ben Hutchings Date: Sat Jun 25 00:22:08 2011 +0100 sfc: Fix assertions in efx_filter_rfs() This function is intended to assert (when DEBUG is defined) that the skb header area includes the header fields it's looking at, which RFS should already have pulled. But it uses pskb_may_pull(), which will attempt to pull more data if necesary. It must instead compare skb_headlen() with the required length. Signed-off-by: Ben Hutchings commit a659b2a94d87add999229ecd9f2f56817d5d737b Author: Steve Hodgson Date: Wed Jun 22 12:11:33 2011 +0100 sfc: Fix Siena mac statistics on big endian platforms [bwh: Use __force in the one place it's needed] Signed-off-by: Ben Hutchings commit 0e2a9c7cb941db993f481cdd6a99d70a302053e0 Author: Ben Hutchings Date: Fri Jun 24 20:50:07 2011 +0100 sfc: Fix mapping of reset reasons and flags to methods There are certain hardware bugs that may occur on Falcon during normal operation, that require a reset to recover from. We try to minimise disruption by keeping the PHY running, following a reset sequence labelled as 'invisible'. Siena does not suffer from these hardware bugs, so we have not implemented an 'invisible' reset sequence. However, if a similar error does occur (due to a hardware fault or software bug) then the code shared with Falcon will wrongly assume that the PHY is not being reset. Since the mapping of reset reasons (internal) and flags (ethtool) to methods must differ significantly between NIC types, move it into per-NIC-type functions (replacing the insufficient reset_world_flags field). Signed-off-by: Ben Hutchings commit a7d529ae2158b5300e4aa16c21f1828bc864449b Author: Ben Hutchings Date: Fri Jun 24 20:46:31 2011 +0100 sfc: Allow resets to be upgraded; use atomic ops for safety Currently an attempt to schedule any reset is ignored if a reset is already pending. This ignores the relative scopes - if the requested reset is greater in scope then the scheduled reset should be upgraded accordingly. There are also some race conditions which could lead to a reset request being lost. Deal with them by using atomic operations on a bitmask. This also makes tests on reset_pending easier to get right. Signed-off-by: Ben Hutchings commit 4017dbdc14af1903dc9fcba4d08b89c02325069d Author: Ben Hutchings Date: Fri Jun 24 20:26:44 2011 +0100 sfc: Fix loop condition for efx_filter_search() when !for_insert efx_filter_remove_filter() fails to remove inserted filters in some cases. For example: 1. Two filters A and B have specifications that result in an initial hash collision. 2. A is inserted first, followed by B. 3. An attempt to remove B first succeeds, but if A is removed first a subsequent attempt to remove B fails. When searching for an existing filter (!for_insert), efx_filter_search() must always continue to the maximum search depth for the given type rather than stopping at the first unused entry. Signed-off-by: Ben Hutchings commit cd5f3e2064ea21e1cbe140728a1b04e7d32f68eb Merge: 95cb365 3609936 Author: David S. Miller Date: Fri Jun 24 14:21:00 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit e4a0aee47e1823025972b8f3defde432e485b7b9 Author: Allan Stephens Date: Wed Jun 1 16:21:12 2011 -0400 tipc: Optimize creation of connection protocol messages Simplifies the creation of connection protocol messages by eliminating the passing of information that is no longer required, is constant, or is contained within the port structure that is issuing the message. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit f55b564054e35dcd171e1191a477327528271f95 Author: Allan Stephens Date: Wed Jun 1 15:48:42 2011 -0400 tipc: Don't create payload message using connection protocol routine Modifies the logic that creates a connection termination payload message so that it no longer (mis)uses a routine that creates a connection protocol message. The revised code is now more easily understood, and avoids setting several fields that are either not present in payload messages or were being set more than once. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 1c1a551acb8b65f842824900b283a96462f907ab Author: Allan Stephens Date: Wed Jun 1 15:08:10 2011 -0400 tipc: Reject connection protocol message sent to unconnected port Restructures the logic used in tipc_port_recv_proto_msg() to ensure that incoming connection protocol messages are handled properly. The routine now uses a two-stage process that first ensures the message applies on an existing connection and then processes the request. This corrects a loophole that allowed a connection probe request to be processed if it was sent to an unconnected port that had no names bound to it. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit e244a915ff7676b1567ba68102c9b53011f5b766 Author: Allan Stephens Date: Tue May 31 16:10:08 2011 -0400 tipc: Optimize creation of FIN messages Speeds up the creation of the FIN message that terminates a TIPC connection. The typical peer termination message is now created by duplicating the terminating port's standard payload message header and adjusting the message size, importance, and error code fields, rather than building all fields of the message from scratch. A FIN message that is directed to the port itself is created the same way. but also requires swapping the origin and destination address fields. In addition to reducing the work required to create FIN messages, these changes eliminate several instances of duplicated code, Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 741d9eb7b8f352071f56aacb77f5245b4e2a4fbe Author: Allan Stephens Date: Tue May 31 15:03:18 2011 -0400 tipc: Cleanup of message header size terminology Performs cosmetic cleanup of the symbolic names used to specify TIPC payload message header sizes. The revised names now more accurately reflect the payload messages in which they can appear. In addition, several places where these payload message symbol names were being used to create non-payload messages have been updated to use the proper internal message symbolic name. No functional changes are introduced by this rework. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 15f4e2b30372695573bc46102790094a92b3eb11 Author: Allan Stephens Date: Tue May 31 14:35:18 2011 -0400 tipc: Eliminate useless check when creating internal message Gets rid of code that allows tipc_msg_init() to create a short payload message header. This optimization is possible because there are no longer any callers who require this capability. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit a9948ba24f764694413207812d2b2dae46eb7275 Author: Allan Stephens Date: Mon May 30 15:50:35 2011 -0400 tipc: Remove unnecessary includes in socket code Eliminates a pair of #include statements for files that are brought in automatically by including core.h. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit f01a2b6378f757727b205419b677d45edfcc5a3b Author: Allan Stephens Date: Mon May 30 15:43:02 2011 -0400 tipc: Eliminate unused field in bearer structure Gets rid of counter that records the number of times a bearer has resumed after congestion or blocking, since the value is never referenced anywhere. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 0f305bf4218c75b6fd1283105bd88736157aa5d2 Author: Allan Stephens Date: Mon May 30 15:36:56 2011 -0400 tipc: Correct typo in link statistics output Fixes a minor error in the title of one of the message size profiling values printed as part of TIPC's link statistics. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 8af4638a297b43c4929fdc01456b7f0698de0c0e Author: Allan Stephens Date: Mon May 30 11:27:50 2011 -0400 tipc: Eliminate checks for empty zone list during name translation Gets rid of a pair of checks to see if a name sequence entry in TIPC's name table has an empty zone list. These checks are pointless since the zone list can never be empty (i.e. as soon as the list becomes empty the associated name sequence entry is deleted). Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit f6f0a4d2d05f758f011a506731e84160d140304b Author: Allan Stephens Date: Mon May 30 10:48:48 2011 -0400 tipc: Convert name table publication lists to standard kernel lists Modifies the main circular linked lists of publications used in TIPC's name table to use the standard kernel linked list type. This change simplifies the deletion of an existing publication by eliminating the need to search up to three lists to locate the publication. The use of standard list routines also helps improve the readability of the name table code by make it clearer what each list operation being performed is actually doing. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit b52124a50fa7b870a3d1a18a8ff56273c7d690dd Author: Allan Stephens Date: Mon May 30 09:44:38 2011 -0400 tipc: Partition name table instance array info into two parts Modifies the name table array structure that contains the name sequence instances for a given name type so that the publication lists associated with a given instance are stored in a dynamically allocated structure, rather than being embedded within the array entry itself. This change is being done for several reasons: 1) It reduces the amount of data that needs to be copied whenever a given array is expanded or contracted to accommodate the first publication of a new name sequence or the removal of the last publication of an existing name sequence. 2) It reduces the amount of memory associated with array entries that are currently unused. 3) It facilitates the upcoming conversion of the publication lists from TIPC-specific circular lists to standard kernel lists. (Standard lists cannot be used with the former array structure because the relocation of array entries during array expansion and contraction would corrupt the lists.) Note that, aside from introducing a small amount of code to dynamically allocate and free the structure that now holds publication list info, this change is largely a simple renaming exercise that replaces references to "sseq->LIST" with "sseq->info->LIST" (or "info->LIST"). Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 7eb878ed8e0eae67269439bfd82234f9ba52ffe4 Author: Allan Stephens Date: Wed May 25 13:28:27 2011 -0400 tipc: Eliminate redundant masking in message header routines Gets rid of unnecessary masking in two routines that set TIPC message header fields. (The msg_set_bits() routine already takes care of masking the new value to the correct size.) Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 74d33b32deaa9ec864d6db3255b3a17a459f75fe Author: Allan Stephens Date: Tue May 24 14:44:56 2011 -0400 tipc: Eliminate message header routines for caching destination node Gets rid of a pair of routines that provide support for temporarily caching the destination node for a message in the associated message buffer's application handle, since this capability is no longer used. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 7dd1bf28ccc44ef205c64aab618863faa914daa9 Author: Allan Stephens Date: Mon May 23 16:23:32 2011 -0400 tipc: Optimizations & corrections to message rejection Optimizes the creation of a returned payload message by duplicating the original message and then updating the small number of fields that need to be adjusted, rather than building the new message header from scratch. In addition, certain operations that are not always required are relocated so that they are only done if needed. These optimizations also have the effect of addressing other issues that were present previously: 1) Fixes a bug that caused the socket send routines to return the size of the returned message, rather than the size of the sent message, when a returnable payload message was sent to a non-existent destination port. 2) The message header of the returned message now matches that of the original message more closely. The header is now always the same size as the original header, and some message header fields that weren't being initialized in the returned message header are now populated correctly -- namely the "d" and "s" bits, and the upper bound of a multicast name instance (where present). Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 017dac31dc8a25ad45421715d88c3869e299fd35 Author: Allan Stephens Date: Tue May 24 13:20:09 2011 -0400 tipc: Optimize routing of returned payload messages Reduces the work involved in transmitting a returned payload message by doing only the work necessary to route such a message directly to the specified destination port, rather than invoking the code used to route an arbitrary message to an arbitrary destination. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 76d12527f74ad1b42b068252fdd2056c8ae48a99 Author: Allan Stephens Date: Mon May 23 13:57:25 2011 -0400 tipc: Add sanity check to detect rejection of non-payload messages Introduces an internal sanity check to ensure that the only undeliverable messages TIPC attempts to return to their origin are application payload messages. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit acc631bf6f597b36f3f014e12e69c710da610027 Author: Allan Stephens Date: Mon May 23 13:47:44 2011 -0400 tipc: Standardize exit logic for message rejection handling Modifies the routine that handles the rejection of payload messages so that it has a single exit point that frees up the rejected message, thereby eliminating some duplicated code. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 7ae4738e9e46a2f88e5d1332b7397bb96c527c44 Author: Allan Stephens Date: Mon May 23 13:38:39 2011 -0400 tipc: Remove unused sanity test macro Eliminates a TIPC-specific assert() macro that is no longer used. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 5e726900380cfff50436ca6c5e08b35b3357d82a Author: Allan Stephens Date: Mon May 23 13:14:18 2011 -0400 tipc: Convert fatal broadcast sanity check to non-fatal check Modifies the existing broadcast link sanity check that detects an attempt to send a message off-node when there are no available destinations so that it no longer causes a kernel panic; instead, the check now issues a warning and stack trace and then returns without sending the message anywhere. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 36099365c7cc64e5184b66b6eb094950a13f540c Merge: 22c8c93 f70490e Author: John W. Linville Date: Fri Jun 24 15:25:51 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/rtlwifi/pci.c include/linux/netlink.h commit f70490e6078abe1182437e629f67a7f0b6f08cd4 Author: Stephen Rothwell Date: Thu Jun 23 12:58:55 2011 +1000 Bluetooth: include scatterlist.h where needed net/bluetooth/smp.c: In function 'smp_e': net/bluetooth/smp.c:49:21: error: storage size of 'sg' isn't known net/bluetooth/smp.c:67:2: error: implicit declaration of function 'sg_init_one' net/bluetooth/smp.c:49:21: warning: unused variable 'sg' Caused by commit d22ef0bc83c5 ("Bluetooth: Add LE SMP Cryptoolbox functions"). Missing include file, presumably. This batch has been in the bluetooth tree since June 14, so it may have been exposed by the removal of linux/mm.h from netdevice.h ... Signed-off-by: Stephen Rothwell Signed-off-by: John W. Linville commit f775aa06d2de583bd291d4bf5814784c9ff7b9cc Author: Johannes Berg Date: Wed Jun 22 06:34:09 2011 -0700 iwlagn: don't use CCK rates for P2P interfaces P2P interfaces must not use CCK rates, only OFDM rates are allowed. To set this up, we need to set up the broadcast station to start with 6M instead of starting with 1M. Since the interface type can change, also reset the broadcast station when RXON changes. This will affect beacons as well. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 0b5b3ff15b301338ccec77ebc051308ac614d05d Author: Johannes Berg Date: Wed Jun 22 06:33:43 2011 -0700 iwlagn: fill beacon TX rate properly Use the rate that mac80211 requested to fill the uCode TX command for the beacon. Unfortunately, the uCode is (currently?) ignoring it, but now at least fill it properly. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 81704d2db99386d718e277cd5ac92663abec8a66 Author: Johannes Berg Date: Wed Jun 22 06:39:43 2011 -0700 iwlagn: extend host command timeout We've infrequently seen timeouts, make the wait time match the windows driver; hopefully our driver is just too impatient. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit f8d651a56ef5c9e26a1cddd4f169f5bf4f8dfa9b Author: Johannes Berg Date: Wed Jun 22 04:25:57 2011 -0700 iwlagn: fix cmd queue unmap When we stop the device while a command is in flight that uses multiple TBs, we can leak the DMA buffers for the second and higher TBs. Fix this by using iwlagn_unmap_tfd() as we do when we normally recover the entry. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 1e5cf9b0be4e8902c06bf9600ea0b256e731c862 Author: Johannes Berg Date: Tue Jun 21 04:30:56 2011 -0700 iwlagn: use PM ops macro Simplify the code and use SIMPLE_DEV_PM_OPS to define iwl_dev_pm_ops instead of doing the same thing manually. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 95cb3656c09fcf6577138337216c27744ebc91e2 Author: Jesper Juhl Date: Fri Jun 24 02:40:08 2011 -0700 net: Remove unneeded version.h includes from drivers/net/ It was pointed out by 'make versioncheck' that some includes of linux/version.h are not needed in drivers/net/. This patch removes them. Signed-off-by: Jesper Juhl Signed-off-by: David S. Miller commit 22c8c9343258feda9ea9ebb9e5f8cbb727b69454 Author: Sucheta Chakraborty Date: Wed Jun 22 02:52:23 2011 +0000 qlcnic: multi protocol internal loopback support added. Driver will generate loopback traffic pattern and do the test. And returns result of the test to application. Updated driver version to 5.0.19. Signed-off-by: Sucheta Chakraborty Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 9d6a6440fe30132e4d1f1aadd099345ced9178fb Author: Anirban Chakraborty Date: Wed Jun 22 02:52:22 2011 +0000 qlcnic: Add support to enable/disable FW dump capability In certain situations, it may be required to not enable FW dump capability. Add support to turn off/on FW dump capability. Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit c55ad8e56b983f03589b38b4504b5d1f41161ff8 Author: Amit Kumar Salecha Date: Wed Jun 22 02:52:21 2011 +0000 qlcnic: fix default operating state of interface Currently interface shows status as RUNNING, even if there is no link. To fix this, netif_carrier_off should be called qlcnic_open(). Signed-off-by: Amit Kumar Salecha Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 5f6ec29abe434676f940357bcd66536bbc69e9f8 Author: Sucheta Chakraborty Date: Wed Jun 22 02:52:20 2011 +0000 qlcnic: fix initial number of msix entries in adapter. Calculation of number of MSI-X vectors was wrong on uniprocessor systems. Signed-off-by: Sucheta Chakraborty Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit c40f4ef77e5123a1d4064d7a34f708483b32b8be Author: Anirban Chakraborty Date: Wed Jun 22 02:52:19 2011 +0000 qlcnic: Add code to tune FW dump To accommodate change in FW dump template, it is required to modify the FW dump routine that captures cache data. Also, the default mask is changed to capture a dump that would cover all the protocols that this FW supports. Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 287e38aa1adee01f63bb28e270afd3f738a6ab8c Author: Anirban Chakraborty Date: Wed Jun 22 02:52:18 2011 +0000 qlcnic: Remove holding api lock while taking the dump With the change in logic for taking FW dump across multiple drivers, there is no need to hold onto the api lock anymore in the fw dump path. Instead use rtnl_lock() to synchronize the access to FW dump data structs. Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 602ca6f00a0d95a0d0cec84f492324ee71d14e09 Author: Sritej Velaga Date: Wed Jun 22 02:52:17 2011 +0000 qlcnic: Add capability to take FW dump deterministically In presence of multiple functions, current driver implementation does not guarantee that the FW dump is taken by the same function that forces it. Change it by adding a fw reset owner flag that could be changed in the device reset path and only when a function determines that it needs to reset it. Signed-off-by: Sritej Velaga Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 21e842579a5fd1ce746be4e34ac53ef67d6f0a6b Merge: d18cd55 a38a104 Author: David S. Miller Date: Thu Jun 23 23:39:33 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 commit a38a104d7af27b7697bf7c4272f4be5d1ec6ef4c Author: Don Skidmore Date: Fri May 20 03:05:14 2011 +0000 ixgbe: update driver version string Update the ixgbe driver version string to better match the Source Driver with similar device support. Likewise update to the current LAD Linux versioning scheme. Signed-of-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 1f4d51836f5e49f2e5201f1daf90239c04b3faf2 Author: Alexander Duyck Date: Sat May 14 01:16:02 2011 +0000 ixgbe: fix ring assignment issues for SR-IOV and drop cases This change fixes the fact that we would trigger a null pointer dereference or specify the wrong ring if the rings were restored. This change makes certain that the DROP queue is a static value, and all other rings are based on the ring offsets for the PF. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 2ba279e2f72a9112a2536eabc8fae5413bbbdfb6 Author: Emil Tantilov Date: Fri May 13 02:22:50 2011 +0000 ixgbe: disable RSC when Rx checksum is off Disabling Rx checksumming leads to performance degradation due to RSC causing packets to have incorrect checksums. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit c988ee829074073d3cd80090ef56a6e370b5c9b4 Author: Emil Tantilov Date: Fri May 13 02:22:45 2011 +0000 ixgbe: move reset code into a separate function Move reset code into a separate function to allow for reuse in other parts of the code. Signed-off-by: Emil Tantilov Signed-off-by: Jeff Kirsher commit 3a28926451a22a2b699962e738c8540da642c319 Author: Emil Tantilov Date: Fri May 13 02:22:40 2011 +0000 ixgbe: move setting RSC into a separate function Move setting RSC into a separate function to allow for reuse in other parts of the code. Signed-off-by: Emil Tantilov Signed-off-by: Jeff Kirsher commit e4911d57a45ca30771c64b56e552891fcd105070 Author: Alexander Duyck Date: Wed May 11 07:18:52 2011 +0000 ixgbe: add support for nfc addition and removal of filters This change is meant to allow for nfc to insert and remove filters in order to test the ethtool interface which includes it's own rules manager. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 3e05334f8be83e8529f1cbf4f4dea06a4d51d676 Author: Alexander Duyck Date: Wed May 11 07:18:47 2011 +0000 ixgbe: add support for displaying ntuple filters via the nfc interface This code adds support for displaying the filters that were added via the nfc interface. This is primarily to test the interface for now, but I am also looking into the feasibility of moving all of the ntuple filter code in ixgbe over to the nfc interface since it seems to be better implemented. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 91cd94bfe4f00fccf692e32dfa86a9fad0d61280 Author: Alexander Duyck Date: Wed May 11 07:18:41 2011 +0000 ixgbe: add basic support for setting and getting nfc controls This change adds basic support for the obtaining of RSS ring counts. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit c04f6ca84866ef207e009a08e4c34ca241df7aa2 Author: Alexander Duyck Date: Wed May 11 07:18:36 2011 +0000 ixgbe: update perfect filter framework to support retaining filters This change is meant to update the internal framework of ixgbe so that perfect filters can be stored and tracked via software. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 03ecf91aae757eeb70763a3393227c4597c87b23 Author: Alexander Duyck Date: Fri May 20 07:36:17 2011 +0000 ixgbe: fix flags relating to perfect filters to support coexistence I am removing the requirement that Ntuple filters have the same number of queues and requirements as ATR. As a result this change will make it so that all the Ntuple flag does is disable ATR for now. This change fixes an issue in which we were incorrectly re-enabling ATR when we exited perfect filter mode. This was due to the fact that the logic assumed RSS and DCB were mutually exclusive which is no longer the case. To correct this we just need to add a check to guarantee DCB is disabled before re-enabling ATR. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit b29a21694f7d12e40537e1e587ec47725849769b Author: Alexander Duyck Date: Wed May 11 07:18:26 2011 +0000 ixgbe: remove ntuple filtering Due to numerous issues in ntuple filters it has been decided to move the interface over to the network flow classification interface. As a first step to achieving this I first need to remove the old ntuple interface. Signed-off-by: Alexander Duyck Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit d18cd551d15b38153ca3641c17ee8590a54b4c7b Author: David S. Miller Date: Thu Jun 23 21:28:52 2011 -0700 net: Fix build failures due to ip_is_fragment() It needs to be available even when CONFIG_INET is not set. Reported-by: Stephen Rothwell Reported-by: Randy Dunlap Signed-off-by: David S. Miller commit 01dc9cc314ad1009f5b7356399b386015fdb0400 Author: David Wagner Date: Mon Jun 20 17:34:19 2011 +0200 UBI: clarify the volume notification types' doc I realized the new descriptions of ADDED and REMOVED could also be misleading: they can also be triggered after using a userland util (ubi{mk,rm}vol). Artem: amend the commentaries Signed-off-by David Wagner Signed-off-by: Artem Bityutskiy commit 4d054f2f1445aceedab3f9642692d55d2caa7ec6 Author: Dan Carpenter Date: Thu Jun 23 03:14:42 2011 -0700 dcb: use nlmsg_free() instead of kfree() These sk_buff structs were allocated with nlmsg_new() so they should be freed with nlmsg_free(). Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 655f8919d549ad1872e24d826b6ce42530516d2e Author: stephen hemminger Date: Wed Jun 22 09:54:39 2011 +0000 bonding: add min links parameter to 802.3ad This adds support for a configuring the minimum number of links that must be active before asserting carrier. It is similar to the Cisco EtherChannel min-links feature. This allows setting the minimum number of member ports that must be up (link-up state) before marking the bond device as up (carrier on). This is useful for situations where higher level services such as clustering want to ensure a minimum number of low bandwidth links are active before switchover. See: http://bugzilla.vyatta.com/show_bug.cgi?id=7196 Signed-off-by: Stephen Hemminger Signed-off-by: Flavio Leitner Signed-off-by: Andy Gospodarek Signed-off-by: David S. Miller commit d902db1eb60387040fe541573083e47469db50ac Author: Frederic Weisbecker Date: Wed Jun 8 19:31:56 2011 +0200 sched: Generalize sleep inside spinlock detection The sleeping inside spinlock detection is actually used for more general sleeping inside atomic sections debugging: preemption disabled, rcu read side critical sections, interrupts, interrupt disabled, etc... Change the name of the config and its help section to reflect its more general role. Signed-off-by: Frederic Weisbecker Acked-by: Paul E. McKenney Acked-by: Randy Dunlap Cc: Peter Zijlstra Cc: Ingo Molnar commit cd15598707aff52da4302d9b6a3fc878bca27383 Author: Hauke Mehrtens Date: Tue Jun 21 20:57:16 2011 +0200 ssb: add __devinit to some functions Two functions in ssb are using register_pci_controller() which is __devinit. The functions ssb_pcicore_init_hostmode() and ssb_gige_probe() should also be __devinit. This fixes the following warning: WARNING: vmlinux.o(.text+0x2727b8): Section mismatch in reference from the function ssb_pcicore_init_hostmode() to the function .devinit.text:register_pci_controller() The function ssb_pcicore_init_hostmode() references the function __devinit register_pci_controller(). This is often because ssb_pcicore_init_hostmode lacks a __devinit annotation or the annotation of register_pci_controller is wrong. WARNING: vmlinux.o(.text+0x273398): Section mismatch in reference from the function ssb_gige_probe() to the function .devinit.text:register_pci_controller() The function ssb_gige_probe() references the function __devinit register_pci_controller(). This is often because ssb_gige_probe lacks a __devinit annotation or the annotation of register_pci_controller is wrong. Reported-by: Ralf Baechle Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 999a7a88f1b062af5617fa55df317446af86a3da Author: Gabor Juhos Date: Tue Jun 21 11:23:52 2011 +0200 ath9k: enable support for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7d95847c9b3631d31f657d8cede153b518ed9e2e Author: Gabor Juhos Date: Tue Jun 21 11:23:51 2011 +0200 ath9k: add external_reset callback to ath9k_platfom_data for AR9330 The patch adds a callback to ath9k_platform_data. If the callback is provided by the platform code, then it can be used to hard reset the WMAC device. The callback is required for doing a hard reset of the AR9330 chips to get them working again after a hang. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 4187afa29a73fec1f68243c03437e7c1b37f315d Author: Gabor Juhos Date: Tue Jun 21 11:23:50 2011 +0200 ath9k: configure internal regulator for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7b09e49ec822fe2bee34b45af89c72beed254a23 Author: Gabor Juhos Date: Tue Jun 21 11:23:49 2011 +0200 ath9k: configure diversity based on eeprom contents for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit dfc3a7b66c963dfadcd0103c71b6bdaab9b2f738 Author: Gabor Juhos Date: Tue Jun 21 11:23:48 2011 +0200 ath9k: fix few register offsets for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit c4cf2c589ddf7526fa1a3f28580ce8e4e611dd3d Author: Gabor Juhos Date: Tue Jun 21 11:23:47 2011 +0200 ath9k: set diversity group for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit e7ef5bc079672058dcb791a378dc3beb134bd84e Author: Gabor Juhos Date: Tue Jun 21 11:23:46 2011 +0200 ath9k: add fast_div_bias configuration for diversity group 1 The patch adds the missing configuration code for diversity group 1. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 223c5a87851369de99fa6e6f22c443ed08a0332b Author: Gabor Juhos Date: Tue Jun 21 11:23:45 2011 +0200 ath9k: remove superfluous parentheses Also remove two empty lines. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit cd0ed1b5fc06cea30a97b131ff4570f8dca3cbd2 Author: Gabor Juhos Date: Tue Jun 21 11:23:44 2011 +0200 ath9k: fix antenna diversity configuration for non AR9485 chips The current values must be used only on AR9485 chips. Other chips requires different values. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 66ce235a9d6ea8a7b7089d29000eb715c66a6221 Author: Gabor Juhos Date: Tue Jun 21 11:23:43 2011 +0200 ath9k: add a missing case statement to ath_ant_div_comb_alt_check The 'ar9003_hw_antdiv_comb_conf_get' function sets div_group to 2 however that value is not used in 'ath_ant_div_comb_alt_check'. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7216198d31450e273fefcb94b4eb3ea07da99131 Author: Gabor Juhos Date: Tue Jun 21 11:23:42 2011 +0200 ath9k: use correct max_streams for AR9330 The AR9330 is a single stream chip. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 431da56a814959753f7ad6962f0bd5fa0430e508 Author: Gabor Juhos Date: Tue Jun 21 11:23:41 2011 +0200 ath9k: enable antenna diversity for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 0c453732a757d8160e99a23e9b551de8dc7e642c Author: Gabor Juhos Date: Tue Jun 21 11:23:40 2011 +0200 ath9k: set NF limits for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit dc9aa5fc283c79e9aa8d9d1c537d203081634bb1 Author: Gabor Juhos Date: Tue Jun 21 11:23:39 2011 +0200 ath9k: configure xpa bias level for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 5b5c033b59e74392442eb4b052f0b874a0a31c7d Author: Gabor Juhos Date: Tue Jun 21 11:23:38 2011 +0200 ath9k: use correct EEPROM base for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7d790a21e5d4674fb25da62f560453bc3c248a93 Author: Gabor Juhos Date: Tue Jun 21 11:23:37 2011 +0200 ath9k: enable tuning capacitance configuration for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7dc5966d5c4a1bc48f1eca01403b187960ad72f4 Author: Gabor Juhos Date: Tue Jun 21 11:23:36 2011 +0200 ath9k: skip internal regulator configuration for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 4033bdad63a871da4c406a4a16d01b6de0a7e56e Author: Gabor Juhos Date: Tue Jun 21 11:23:35 2011 +0200 ath9k: enable TX/RX data byte swap for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 5acb4b9366b77d27f79706cb99b4d34e5076b953 Author: Gabor Juhos Date: Tue Jun 21 11:23:34 2011 +0200 ath9k: configure RF channel frequency for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit dbb204e39fec2dc4800f19eae321ad7e1b95f2fa Author: Gabor Juhos Date: Tue Jun 21 11:23:33 2011 +0200 ath9k: fix channel frequency calculation for AR9340 A multiplication is missing from the current formula. Cc: Vasanthakumar Thiagarajan Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit c1acfbe8637069864b515907025efbbfb577a43c Author: Gabor Juhos Date: Tue Jun 21 11:23:32 2011 +0200 ath9k: read spur frequency information from eeprom for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 0e707a9473bf981111d09ced796e79aad4b4fbca Author: Gabor Juhos Date: Tue Jun 21 11:23:31 2011 +0200 ath9k: don't enable LDPC for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 88e641df19a8f9f36e4ca18f8cdff000be8d5ef9 Author: Gabor Juhos Date: Tue Jun 21 11:23:30 2011 +0200 ath9k: use different BB watchdog timeout value for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit a5415d625d35871dd8eaf3784a402f36c028c29d Author: Gabor Juhos Date: Tue Jun 21 11:23:29 2011 +0200 ath9k: add AR9330 specific PLL initialization Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 77a27da38916626aaaa994e716514dfa990290f7 Author: Gabor Juhos Date: Tue Jun 21 11:23:28 2011 +0200 ath9k: initialize rx gain table for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit a208db944142db1700c6676dc724454213986bed Author: Gabor Juhos Date: Tue Jun 21 11:23:27 2011 +0200 ath9k: initialize tx gain table for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 172805ad46b78717a738ca5c7908c68f0326d3a9 Author: Gabor Juhos Date: Tue Jun 21 11:23:26 2011 +0200 ath9k: initialize mode registers for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 70722ea4344410b99abcedc7309c54db971308fd Author: Gabor Juhos Date: Tue Jun 21 11:23:25 2011 +0200 ath9k: add AR9330 initvals Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit e9b7c5914d4f3a066efcab272b1431d1dbb77297 Author: Gabor Juhos Date: Tue Jun 21 11:23:24 2011 +0200 ath9k: add platform device id for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 3762561aa8afb0bd9fb60d3d847961f9945f8143 Author: Gabor Juhos Date: Tue Jun 21 11:23:23 2011 +0200 ath9k: add MAC revision detection for AR9330 The AR9330 1.0 and 1.1 are using the same revision, thus it is not possible to distinguish the two chips. The platform setup code can distinguish the chips based on the SoC revision. Add a callback function to ath9k_platform_data in order to allow getting the revision number from the platform code. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 03689301da71fa80957a166e211431bb6e2904e3 Author: Gabor Juhos Date: Tue Jun 21 11:23:22 2011 +0200 ath9k: define device id for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 2c8e59379a02c5c2a478e8ce6ebc481793076792 Author: Gabor Juhos Date: Tue Jun 21 11:23:21 2011 +0200 ath9k: define mac version for AR9330 Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7952ca5b20e1d54a3bfdfd976086c6f9df5873a2 Author: Mohammed Shafi Shajakhan Date: Tue Jun 21 14:51:46 2011 +0530 ath9k_hw: Fix calculation of PAPRD training power at 5Ghz higher the chainmask, lesser the power_delta to be added to the paprd_training_power Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 9720bb3ab0b80659c63ed337eab66104a4156db0 Author: Johannes Berg Date: Tue Jun 21 09:45:33 2011 +0200 nl80211: use netlink consistent dump feature for BSS dumps Use the new consistent dump feature from (generic) netlink to advertise when dumps are incomplete. Readers may note that this does not initialize the rdev->bss_generation counter to a non-zero value. This is still OK since the value is modified only under spinlock when the list is modified. Since the dump code holds the spinlock, the value will either be > 0 already, or the list will still be empty in which case a consistent dump will actually be made (and be empty). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a5ffddb70c5cab29fa00e2fdf12217b64b940796 Author: Amitkumar Karwar Date: Mon Jun 20 15:21:48 2011 -0700 mwifiex: remove casts of void pointers In some cases local pointers are used to cast void pointers passed to the function. Those unnecessary local pointers are also removed. This patch was inspired by Joe Perches' patch [PATCH net-next 1/2] wireless: Remove casts of void *; and the comments from Julian Calaby. Signed-off-by: Amitkumar Karwar Cc: Joe Perches Cc: Julian Calaby Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 55f7782e14032c70051aa92d882b4effda407ad5 Author: Jussi Kivilinna Date: Mon Jun 20 14:42:54 2011 +0300 zd1211rw: detect stalled beacon interrupt faster As USB_INT_ID_RETRY_FAILED can override USB_INT_ID_REGS, beacon interrupt (CR_INTERRUPT) might be lost. Problem is that when device trigger CR_INTERRUPT it disables HW interrupt. Now if USB_INT_ID_REGS with CR_INTERRUPT gets lost, beacon interrupt stays disabled until beacon watchdog notices the stall. This happen very often on heavy TX. Improve watchdog to trigger earlier, after three missing beacon interrupts. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit dde4673b8d73dd873e1a62774728e4b7f972facd Author: Jussi Kivilinna Date: Mon Jun 20 14:42:49 2011 +0300 zd1211rw: don't let zd_mac_config_beacon() run too long from beacon interrupt handler zd_mac_config_beacon() has only limited time to set up beacon when called from beacon interrupt handler/worker. So do not let it retry acquiring beacon fifo semaphore in interrupt handler. Beacon fifo semaphore should not be locked by firmware anyway at this time, it's only locked when device is using/txing beacon. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c900eff30a14ecf209ee7a17a7c3c54890694ce6 Author: Jussi Kivilinna Date: Mon Jun 20 14:42:44 2011 +0300 zd1211rw: handle lost read-reg interrupts Device losses read-reg interrupts. By looking at usbmon it appears that USB_INT_ID_RETRY_FAILED can override USB_INT_ID_REGS. This causes read command to timeout, usually under heavy TX. Fix by retrying read registers again if USB_INT_ID_RETRY_FAILED is received while waiting for USB_INT_ID_REGS. However USB_INT_ID_REGS is not always lost but is received after USB_INT_ID_RETRY_FAILED and is usually received by the retried read command. USB_INT_ID_REGS of the retry is then left unhandled and might be received by next read command. Handle this by ignoring previous USB_INT_ID_REGS that doesn't match current read command request. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit f762d8c3f8b502b93d20bd755fc30ce99d3d0abd Author: Jussi Kivilinna Date: Mon Jun 20 14:42:39 2011 +0300 zd1211rw: only update HW beacon if new beacon differs from currect Update HW beacon only when needed. This appears to make device work in AP-mode (dtim_period=1) somewhat more stable. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b405e1b83dc2bb662c4be2612674a8d0ef900e26 Author: Jussi Kivilinna Date: Mon Jun 20 14:42:33 2011 +0300 zd1211rw: make 'handle_rx_packet: invalid, small RX packet' message debug-only This message is should be debug-only as it tells almost nothing useful. It also happens very often and just floods logs. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7a1d6564a15183cb5994656040966df09af8390f Author: Jussi Kivilinna Date: Mon Jun 20 14:42:28 2011 +0300 zd1211rw: fix invalid signal values from device Driver uses IEEE80211_HW_SIGNAL_UNSPEC and so signal values reported to mac80211 should be in range 0..100. Sometimes device return out of range values. These out of range values can then trigger warning in cfg80211_inform_bss_frame. This patch adds checks to enforce range returned from driver to mac80211 be in 0..100 range. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 670dc2833d144375eac36ad74111495a825a9288 Author: Johannes Berg Date: Mon Jun 20 13:40:46 2011 +0200 netlink: advertise incomplete dumps Consider the following situation: * a dump that would show 8 entries, four in the first round, and four in the second * between the first and second rounds, 6 entries are removed * now the second round will not show any entry, and even if there is a sequence/generation counter the application will not know To solve this problem, add a new flag NLM_F_DUMP_INTR to the netlink header that indicates the dump wasn't consistent, this flag can also be set on the MSG_DONE message that terminates the dump, and as such above situation can be detected. To achieve this, add a sequence counter to the netlink callback struct. Of course, netlink code still needs to use this new functionality. The correct way to do that is to always set cb->seq when a dumpit callback is invoked and call nl_dump_check_consistent() for each new message. The core code will also call this function for the final MSG_DONE message. To make it usable with generic netlink, a new function genlmsg_nlhdr() is needed to obtain the netlink header from the genetlink user header. Signed-off-by: Johannes Berg Acked-by: David S. Miller Signed-off-by: John W. Linville commit c1c3daee97498f5d74bfd23531cfe23c8e14a619 Author: Rafał Miłecki Date: Mon Jun 20 03:12:19 2011 +0200 b43: HT-PHY: calibrate radio after switching channel After uploading radio values calibration goes in. In MMIO dump it is: radio_read(0x002b) -> 0x0008 radio_write(0x002b) <- 0x0008 radio_read(0x002e) -> 0x0004 radio_write(0x002e) <- 0x0000 radio_read(0x002e) -> 0x0000 radio_write(0x002e) <- 0x0004 radio_read(0x002b) -> 0x0008 radio_write(0x002b) <- 0x0009 To find masks and sets, MMIO hacks were used to fool closed driver. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bf4c02d5e772903be5bf8952bac730a2956d0619 Author: Stanislaw Gruszka Date: Sun Jun 19 19:47:39 2011 +0200 rt2x00: reset usb devices at probe When module is reloaded, device may fail to work, with messages: [ 342.211926] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x0059, type=2. [ 342.314254] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x004a, type=2. [ 342.416458] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 3183 max 2432. [ 342.518605] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00c9, type=2. [ 342.620836] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00ae, type=1. [ 342.723201] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432. [ 342.825399] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432. [ 342.927624] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432. [ 343.029804] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 2491 max 2432. [ 343.132008] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 2576 max 2432. [ 343.234326] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x004c, type=1. [ 343.438723] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00e6, type=1. Whereas replugging device make it functional. To solve that problem force reset device during probe. With patch messages are gone. Unfortunately device may sometimes still does not operate correctly after module reload (fail to receive data after associate), but such cases are rarer than without the patch. Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7f503fc49f144bb509dbd33daf3426df3f176e6b Author: Stanislaw Gruszka Date: Sun Jun 19 19:46:02 2011 +0200 rt2x00: fix possible memory corruption in case of invalid rxdesc.size Sometimes rxdesc descriptor provided by hardware contains invalid (random) data. For example rxdesc.size can be bigger than actual size of the buffer. When this happen rt2x00crypto_rx_insert_iv() corrupt memory doing memmove outside of buffer boundaries. Signed-off-by: Stanislaw Gruszka Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9c803a03bc07553f8148d024c15c784b28c1d9ee Author: Rafał Miłecki Date: Sun Jun 19 13:30:21 2011 +0200 b43: N-PHY: move declarations of chantables functions to correct files Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2a870831776dd37577c6aec7b86189645183e152 Author: Rafał Miłecki Date: Sun Jun 19 13:30:20 2011 +0200 b43: N-PHY: update switching analog on/off Specs were recently updated. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a6b7da5d2cf8b67c310aedf09e8e74bfb53423ba Author: Rafał Miłecki Date: Sun Jun 19 12:17:21 2011 +0200 b43: HT-PHY: switch radio to requested channel Switching channel happens after specific SHM write to B43_SHM_SH_CHAN. This is the way we found it in BCM4331 MMIO dumps. By comparing with N-PHY code we noticed there is routing used for SYN and TX/RX. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 39ca554c96d25436b7c9acdd8f3b5fb9702049c6 Author: Rafał Miłecki Date: Sun Jun 19 12:17:20 2011 +0200 b43: HT-PHY: add place for implementing channel switching Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5192bf56b9bb0d90c9aa08e5593ea4897309fc07 Author: Rafał Miłecki Date: Sun Jun 19 12:17:19 2011 +0200 b43: HT-PHY: define standard structs for channel switching Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1a3f71ae669a599139165c7ae6d8e7908fe12e64 Author: Rafał Miłecki Date: Sun Jun 19 02:18:12 2011 +0200 b43: HT-PHY: enable radio The trick was to find 0x810 PHY reg ops close to analog enabling code. To find out proper masks and sets, MMIO hacks were used. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit e7c62552ec43c094ca523fc46b98181df364f49f Author: Rafał Miłecki Date: Sun Jun 19 02:18:11 2011 +0200 b43: HT-PHY: implement killing radio Closed drivers kill radio right after reading radio version and MACCTL, so it was easy to find related PHY ops: phy_read(0x0810) -> 0x0000 phy_write(0x0810) <- 0x0000 To find out the mask of above OP, MMIO hack was used to fake read val: phy_read(0x0810) -> 0xffff phy_write(0x0810) <- 0x0000 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1c1236e3af9c0a52e63c1c386413f13627e68e67 Merge: e10542c 43f3dc4 Author: John W. Linville Date: Wed Jun 22 16:06:58 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 06d984737bac0545fe20bb5447ee488b95adb531 Author: Tejun Heo Date: Fri Jun 17 16:50:40 2011 +0200 ptrace: s/tracehook_tracer_task()/ptrace_parent()/ tracehook.h is on the way out. Rename tracehook_tracer_task() to ptrace_parent() and move it from tracehook.h to ptrace.h. Signed-off-by: Tejun Heo Cc: Christoph Hellwig Cc: John Johansen Cc: Stephen Smalley Signed-off-by: Oleg Nesterov commit 4b9d33e6d83cc05a8005a8f9a8b9677fa0f53626 Author: Tejun Heo Date: Fri Jun 17 16:50:38 2011 +0200 ptrace: kill clone/exec tracehooks At this point, tracehooks aren't useful to mainline kernel and mostly just add an extra layer of obfuscation. Although they have comments, without actual in-kernel users, it is difficult to tell what are their assumptions and they're actually trying to achieve. To mainline kernel, they just aren't worth keeping around. This patch kills the following clone and exec related tracehooks. tracehook_prepare_clone() tracehook_finish_clone() tracehook_report_clone() tracehook_report_clone_complete() tracehook_unsafe_exec() The changes are mostly trivial - logic is moved to the caller and comments are merged and adjusted appropriately. The only exception is in check_unsafe_exec() where LSM_UNSAFE_PTRACE* are OR'd to bprm->unsafe instead of setting it, which produces the same result as the field is always zero on entry. It also tests p->ptrace instead of (p->ptrace & PT_PTRACED) for consistency, which also gives the same result. This doesn't introduce any behavior change. Signed-off-by: Tejun Heo Cc: Christoph Hellwig Signed-off-by: Oleg Nesterov commit a288eecce5253cc1565d400a52b9b476a157e040 Author: Tejun Heo Date: Fri Jun 17 16:50:37 2011 +0200 ptrace: kill trivial tracehooks At this point, tracehooks aren't useful to mainline kernel and mostly just add an extra layer of obfuscation. Although they have comments, without actual in-kernel users, it is difficult to tell what are their assumptions and they're actually trying to achieve. To mainline kernel, they just aren't worth keeping around. This patch kills the following trivial tracehooks. * Ones testing whether task is ptraced. Replace with ->ptrace test. tracehook_expect_breakpoints() tracehook_consider_ignored_signal() tracehook_consider_fatal_signal() * ptrace_event() wrappers. Call directly. tracehook_report_exec() tracehook_report_exit() tracehook_report_vfork_done() * ptrace_release_task() wrapper. Call directly. tracehook_finish_release_task() * noop tracehook_prepare_release_task() tracehook_report_death() This doesn't introduce any behavior change. Signed-off-by: Tejun Heo Cc: Christoph Hellwig Cc: Martin Schwidefsky Signed-off-by: Oleg Nesterov commit f3c04b934d429b1ace21866f011b66de328c0dc9 Author: Tejun Heo Date: Fri Jun 17 16:50:36 2011 +0200 ptrace: move SIGTRAP on exec(2) logic to ptrace_event() Move SIGTRAP on exec(2) logic from tracehook_report_exec() to ptrace_event(). This is part of changes to make ptrace_event() smarter and handle ptrace event related details in one place. This doesn't introduce any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit 643ad8388e189dfd14ef76972cf7dc394b3cbebd Author: Tejun Heo Date: Fri Jun 17 16:50:35 2011 +0200 ptrace: introduce ptrace_event_enabled() and simplify ptrace_event() and tracehook_prepare_clone() This patch implements ptrace_event_enabled() which tests whether a given PTRACE_EVENT_* is enabled and use it to simplify ptrace_event() and tracehook_prepare_clone(). PT_EVENT_FLAG() macro is added which calculates PT_TRACE_* flag from PTRACE_EVENT_*. This is used to define PT_TRACE_* flags and by ptrace_event_enabled() to find the matching flag. This is used to make ptrace_event() and tracehook_prepare_clone() simpler. * ptrace_event() callers were responsible for providing mask to test whether the event was enabled. This patch implements ptrace_event_enabled() and make ptrace_event() drop @mask and determine whether the event is enabled from @event. Note that @event is constant and this conversion doesn't add runtime overhead. All conversions except tracehook_report_clone_complete() are trivial. tracehook_report_clone_complete() used to use 0 for @mask (always enabled) but now tests whether the specified event is enabled. This doesn't cause any behavior difference as it's guaranteed that the event specified by @trace is enabled. * tracehook_prepare_clone() now only determines which event is applicable and use ptrace_event_enabled() for enable test. This doesn't introduce any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit d21142ece414ce1088cfcae760689aa60d6fee80 Author: Tejun Heo Date: Fri Jun 17 16:50:34 2011 +0200 ptrace: kill task_ptrace() task_ptrace(task) simply dereferences task->ptrace and isn't even used consistently only adding confusion. Kill it and directly access ->ptrace instead. This doesn't introduce any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit dd4e5d3ac4a76b868daf30e35bd572def96c30ed Author: Peter Zijlstra Date: Tue Jun 21 17:17:27 2011 +0200 lockdep: Fix trace_[soft,hard]irqs_[on,off]() recursion Commit: 1efc5da3cf56: [PATCH] order of lockdep off/on in vprintk() should be changed explains the reason for having raw_local_irq_*() and lockdep_off() in printk(). Instead of working around the broken recursion detection of interrupt state tracking, fix it. Signed-off-by: Peter Zijlstra Cc: efault@gmx.de Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110621153806.185242734@chello.nl Signed-off-by: Ingo Molnar commit 4f2a8d3cf5e0486fd547633fa86c5d130ae98cad Author: Peter Zijlstra Date: Wed Jun 22 11:20:09 2011 +0200 printk: Fix console_sem vs logbuf_lock unlock race Fix up the fallout from commit 0b5e1c5255 ("printk: Release console_sem after logbuf_lock"). The reason for unlocking the console_sem under the logbuf_lock is that a concurrent printk() might fill up the buffer but fail to acquire the console sem, resulting in a missed write to the console until a subsequent console_sem acquire/release cycle. Signed-off-by: Peter Zijlstra Cc: efault@gmx.de Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/1308734409.1022.14.camel@twins Signed-off-by: Ingo Molnar commit 56f8a75c17abb854b5907f4a815dc4c3f186ba11 Author: Paul Gortmaker Date: Tue Jun 21 20:33:34 2011 -0700 ip: introduce ip_is_fragment helper inline function There are enough instances of this: iph->frag_off & htons(IP_MF | IP_OFFSET) that a helper function is probably warranted. Signed-off-by: Paul Gortmaker Signed-off-by: David S. Miller commit f470e5ae34d68880a38aa79ee5c102ebc2a1aef6 Author: Randy Dunlap Date: Tue Jun 21 20:32:53 2011 -0700 irda: fix smsc-ircc2 section mismatch warning Fix section mismatch warning: WARNING: drivers/net/irda/smsc-ircc2.o(.devinit.text+0x1a7): Section mismatch in reference from the function smsc_ircc_pnp_probe() to the function .init.text:smsc_ircc_open() Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit b7f080cfe223b3b7424872639d153695615a9255 Author: Alexey Dobriyan Date: Thu Jun 16 11:01:34 2011 +0000 net: remove mm.h inclusion from netdevice.h Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually). To prevent mm.h inclusion via other channels also extract "enum dma_data_direction" definition into separate header. This tiny piece is what gluing netdevice.h with mm.h via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h". Removal of mm.h from scatterlist.h was tried and was found not feasible on most archs, so the link was cutoff earlier. Hope people are OK with tiny include file. Note, that mm_types.h is still dragged in, but it is a separate story. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3dcad5ff08f65ae30832220a0e0ee2eac3502a1a Author: John Stultz Date: Fri May 27 11:33:18 2011 -0700 rtc: Avoid accumulating time drift in suspend/resume Because the RTC interface is only a second granular interface, each time we read from the RTC for suspend/resume, we introduce a half second (on average) of error. In order to avoid this error accumulating as the system is suspended over and over, this patch measures the time delta between the RTC and the system CLOCK_REALTIME. If the delta is less then 2 seconds from the last suspend, we compensate by using the previous time delta (keeping it close). If it is larger then 2 seconds, we assume the clock was set or has been changed, so we do no correction and update the delta. Note: If NTP is running, ths could seem to "fight" with the NTP corrected time, where as if the system time was off by 1 second, and NTP slewed the value in, a suspend/resume cycle could undo this correction, by trying to restore the previous offset from the RTC. However, without this patch, since each read could cause almost a full second worth of error, its possible to get almost 2 seconds of error just from the suspend/resume cycle alone, so this about equal to any offset added by the compensation. Further on systems that suspend/resume frequently, this should keep time closer then NTP could compensate for if the errors were allowed to accumulate. Credits to Arve Hjønnevåg for suggesting this solution. This patch also improves some of the variable names and adds more clear comments. CC: Arve Hjønnevåg CC: Thomas Gleixner Signed-off-by: John Stultz commit cb33217b1b2523895eb328a0b13fb3b1c4000969 Author: John Stultz Date: Tue May 31 22:53:23 2011 -0700 time: Avoid accumulating time drift in suspend/resume Because the read_persistent_clock interface is usually backed by only a second granular interface, each time we read from the persistent clock for suspend/resume, we introduce a half second (on average) of error. In order to avoid this error accumulating as the system is suspended over and over, this patch measures the time delta between the persistent clock and the system CLOCK_REALTIME. If the delta is less then 2 seconds from the last suspend, we compensate by using the previous time delta (keeping it close). If it is larger then 2 seconds, we assume the clock was set or has been changed, so we do no correction and update the delta. Note: If NTP is running, ths could seem to "fight" with the NTP corrected time, where as if the system time was off by 1 second, and NTP slewed the value in, a suspend/resume cycle could undo this correction, by trying to restore the previous offset from the persistent clock. However, without this patch, since each read could cause almost a full second worth of error, its possible to get almost 2 seconds of error just from the suspend/resume cycle alone, so this about equal to any offset added by the compensation. Further on systems that suspend/resume frequently, this should keep time closer then NTP could compensate for if the errors were allowed to accumulate. Credits to Arve Hjønnevåg for suggesting this solution. CC: Arve Hjønnevåg CC: Thomas Gleixner Signed-off-by: John Stultz commit cb5de2f8d0306be38f9b377b8a5c56acca7dbc3d Author: John Stultz Date: Wed Jun 1 18:18:09 2011 -0700 time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime Arve suggested making sure we catch possible negative sleep time intervals that could be passed into timekeeping_inject_sleeptime. CC: Arve Hjønnevåg CC: Thomas Gleixner Signed-off-by: John Stultz commit 4003b65871c101eb5ce8f37a325feac54aa5c681 Author: John Fastabend Date: Tue Jun 21 07:35:04 2011 +0000 dcb: Add missing error check in dcb_ieee_set() Missing error checking before nla_parse_nested(). Reported-by: Mark Rustad Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit ab6baf980b095c70a56c5eb2f58166aef8a0edc8 Author: John Fastabend Date: Tue Jun 21 07:34:58 2011 +0000 dcb: fix return type on dcb_setapp() Incorrect return type on dcb_setapp() this routine returns negative error codes. All call sites of dcb_setapp() assign the return value to an int already so no need to update drivers. Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit a364c8cf80251849bab207be8c9e66253c8ca8f8 Author: John Fastabend Date: Tue Jun 21 07:34:53 2011 +0000 dcb: Add dcb_ieee_getapp_mask() for drivers to query APP settings With multiple APP entries per selector and protocol drivers or stacks may want to pick a specific value or stripe traffic across many priorities. Also if an APP entry in use is deleted the stack/driver may want to choose from the existing APP entries. To facilitate this and avoid having duplicate code to walk the APP ring provide a routine dcb_ieee_getapp_mask() to return a u8 bitmask of all priorities set for the specified selector and protocol. This routine and bitmask is a helper for DCB kernel users. Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit f9ae7e4b515c4d56baf6e0e84ebee2e03ae57a25 Author: John Fastabend Date: Tue Jun 21 07:34:48 2011 +0000 dcb: Add ieee_dcb_delapp() and dcb op to delete app entry Now that we allow multiple IEEE App entries we need a way to remove specific entries. To do this add the ieee_dcb_delapp() routine. Additionaly drivers may need to remove the APP entry from their firmware tables. Add dcb ops routine to handle this. Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit b6db2174c59ef1e72f7bd63e0f105b1a2d7f18d3 Author: John Fastabend Date: Tue Jun 21 07:34:42 2011 +0000 dcb: Add ieee_dcb_setapp() to be used for IEEE 802.1Qaz APP data This adds a setapp routine for IEEE802.1Qaz encoded APP data types. The IEEE 802.1Qaz spec encodes the priority bits differently and allows for multiple APP data entries of the same selector and protocol. Trying to force these to use the same set routines was becoming tedious. Furthermore, userspace could probably enforce the correct semantics, but expecting drivers to do this seems error prone in the firmware case. For these reasons add ieee_dcb_setapp() that understands the IEEE 802.1Qaz encoded form. Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit 314b4778ed579f29b6d46ba90dbf31314c13805f Author: John Fastabend Date: Tue Jun 21 07:34:37 2011 +0000 net: dcbnl, add multicast group for DCB Now that dcbnl is being used in many cases by more than a single agent it is beneficial to be notified when some entity either driver or user space has changed the DCB attributes. Today applications either end up polling the interface or relying on a user space database to maintain the DCB state and post events. Polling is a poor solution for obvious reasons. And relying on a user space database has its own downside. Namely it has created strange boot dependencies requiring the database be populated before any applications dependent on DCB attributes starts or the application goes into a polling loop. Populating the database requires negotiating link setting with the peer and can take anywhere from less than a second up to a few seconds depending on the switch implementation. Perhaps more importantly if another application or an embedded agent sets a DCB link attribute the database has no way of knowing other than polling the kernel. This prevents applications from responding quickly to changes in link events which at least in the FCoE case and probably any other protocols expecting a lossless link may result in IO errors. By adding a multicast group for DCB we have clean way to disseminate kernel DCB link attributes up to user space. Avoiding the need for user space to maintain a coherant database and disperse events that potentially do not reflect the current link state. Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit c7797baf9f3900996ca800ab6298f95957bb4606 Author: John Fastabend Date: Tue Jun 21 07:34:31 2011 +0000 dcb: Add DCBX capabilities bitmask to the get_ieee response Adding the capabilities bitmask to the get_ieee response allows user space to determine the current DCBX mode. Either CEE or IEEE this is useful with devices that support switching between modes where knowing the current state is relevant. Derived from work by Mark Rustad Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit f4b5ad26bcb983c493e131ff34b2fa60100c82e5 Author: Michael Chan Date: Mon Jun 20 15:15:56 2011 +0000 cnic, bnx2i: Add support for new devices - 57800, 57810, and 57840 And change iSCSI RQ doorbell size from 16B to 64B to match new firmware. Signed-off-by: Michael Chan Signed-off-by: Eddie Wai Signed-off-by: David S. Miller commit 3847ce32aea9fdf56022de132000e8cf139042eb Author: Satoru Moriya Date: Fri Jun 17 12:00:03 2011 +0000 core: add tracepoints for queueing skb to rcvbuf This patch adds 2 tracepoints to get a status of a socket receive queue and related parameter. One tracepoint is added to sock_queue_rcv_skb. It records rcvbuf size and its usage. The other tracepoint is added to __sk_mem_schedule and it records limitations of memory for sockets and current usage. By using these tracepoints we're able to know detailed reason why kernel drop the packet. Signed-off-by: Satoru Moriya Acked-by: Neil Horman Signed-off-by: David S. Miller commit 296f7ea75b45913d5e2067baef0812087e0b6eb9 Author: Satoru Moriya Date: Fri Jun 17 11:58:39 2011 +0000 udp: add tracepoints for queueing skb to rcvbuf This patch adds a tracepoint to __udp_queue_rcv_skb to get the return value of ip_queue_rcv_skb. It indicates why kernel drops a packet at this point. ip_queue_rcv_skb returns following values in the packet drop case: rcvbuf is full : -ENOMEM sk_filter returns error : -EINVAL, -EACCESS, -ENOMEM, etc. __sk_mem_schedule returns error: -ENOBUF Signed-off-by: Satoru Moriya Acked-by: Neil Horman Signed-off-by: David S. Miller commit dec17b74516bb780de75b41e7cfa0072df16bb82 Author: Jesper Juhl Date: Mon Jun 20 12:13:10 2011 +0000 Remove redundant linux/version.h includes from net/ It was suggested by "make versioncheck" that the follwing includes of linux/version.h are redundant: /home/jj/src/linux-2.6/net/caif/caif_dev.c: 14 linux/version.h not needed. /home/jj/src/linux-2.6/net/caif/chnl_net.c: 10 linux/version.h not needed. /home/jj/src/linux-2.6/net/ipv4/gre.c: 19 linux/version.h not needed. /home/jj/src/linux-2.6/net/netfilter/ipset/ip_set_core.c: 20 linux/version.h not needed. /home/jj/src/linux-2.6/net/netfilter/xt_set.c: 16 linux/version.h not needed. and it seems that it is right. Beyond manually inspecting the source files I also did a few build tests with various configs to confirm that including the header in those files is indeed not needed. Here's a patch to remove the pointless includes. Signed-off-by: Jesper Juhl Acked-by: Jozsef Kadlecsik Signed-off-by: David S. Miller commit 3b182d7d4287f38711f70d58d68cf2a34e582992 Author: Richard Cochran Date: Tue Jun 21 16:01:11 2011 -0700 mv643xx_eth: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping. Compile tested only. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 73151ce35bd6d56e61a87b2855193f82540bf3d3 Author: Richard Cochran Date: Tue Jun 21 16:00:24 2011 -0700 mv643xx_eth: fix race in trasmit path. Because the socket buffer is freed in the completion interrupt, it is not safe to access it after submitting it to the hardware. Signed-off-by: Richard Cochran Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e00f85bec0a9924eb517ccd126ddbb9787068f53 Author: stephen hemminger Date: Tue Jun 21 05:35:31 2011 +0000 xen: convert to 64 bit stats interface Convert xen driver to 64 bit statistics interface. Use stats_sync to ensure that 64 bit update is read atomically on 32 bit platform. Put hot statistics into per-cpu table. Signed-off-by: Stephen Hemminger Acked-by: Ian Campbell Signed-off-by: David S. Miller commit 62ea05577ed3ea4f542f9bc17cb716787316e2ea Author: stephen hemminger Date: Mon Jun 20 10:35:07 2011 +0000 vxge: fix 64 bit access on 32 bit platforms Need to add stat_sync wrapper around 64 bit statistic values. Fix wraparound bug in lockup detector where it is unsafely comparing 64 bit value that is not atomic. Since only care about detecting activity just looking at current low order bits will work. Remove unused entries in old vxge_sw_stats structure. Change the error counters to unsigned long since they won't grow so large as to have to be 64 bits. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3b0c9cbb6e5fe25a4162be68ed1459b6f7432da9 Author: stephen hemminger Date: Mon Jun 20 11:42:30 2011 +0000 ifb: convert to 64 bit stats Convert input functional block device to use 64 bit stats. Signed-off-by: Stephen Hemminger Signed-off-by: Eric Dumazet Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 43d620c82985b19008d87a437b4cf83f356264f7 Author: Joe Perches Date: Thu Jun 16 19:08:06 2011 +0000 drivers/net: Remove casts of void * Unnecessary casts of void * clutter the code. These are the remainder casts after several specific patches to remove netdev_priv and dev_priv. Done via coccinelle script (and a little editing): $ cat cast_void_pointer.cocci @@ type T; T *pt; void *pv; @@ - pt = (T *)pv; + pt = pv; Signed-off-by: Joe Perches Acked-by: Sjur Brændeland Acked-By: Chris Snook Acked-by: Jon Mason Acked-by: Geert Uytterhoeven Acked-by: David Dillow Signed-off-by: David S. Miller commit 43f3dc41571c47a1fbded9aca1cf0a737967b005 Author: Vinicius Costa Gomes Date: Mon Jun 20 18:53:18 2011 -0300 Bluetooth: Fix not setting the chan state When the connection is ready we should set the connection to CONNECTED so userspace can use it. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 0555891184a5c18df0e2349872e7ecf9701fc5b5 Merge: e13e21d 3306054 Author: Gustavo F. Padovan Date: Tue Jun 21 14:52:56 2011 -0300 Merge master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 Conflicts: net/bluetooth/l2cap_core.c commit 15c3597d6ea47e8f3caf068887c4666165df63ad Author: Grant Likely Date: Tue Jun 21 10:59:35 2011 -0600 dt/platform: allow device name to be overridden Some platform code has specific requirements on the naming of devices. This patch allows callers of of_platform_populate() to provide a device name lookup table. Signed-off-by: Grant Likely commit 5de1540b7bc4c23470f86add1e517be41e7fefe2 Author: Grant Likely Date: Tue Jun 21 10:59:34 2011 -0600 drivers/amba: create devices from device tree Add a function to create amba_devices (i.e. primecell peripherals) from device tree nodes. The device tree scanning is done by the of_platform_populate() function which can call of_amba_device_create based on a match table entry. Nodes with a "arm,primecell-periphid" property can override the h/w peripheral id value. Based on the original work by Jeremy Kerr. Signed-off-by: Jeremy Kerr Acked-by: Linus Walleij Signed-off-by: Rob Herring Reviewed-by: Arnd Bergmann [grant.likely: add Jeremy's original s-o-b line, changes from review comments, and moved all code to drivers/of/platform.c] Signed-off-by: Grant Likely commit 29d4f8a4974aacf46b028fa92f9dd3ffdba3e614 Author: Grant Likely Date: Tue Jun 21 10:59:34 2011 -0600 dt: add of_platform_populate() for creating device from the device tree of_platform_populate() is similar to of_platform_bus_probe() except that it strictly enforces that all device nodes must have a compatible property, and it can be used to register devices (not buses) which are children of the root node. Signed-off-by: Grant Likely commit cbb49c2665eebfd1fa2e491403684d0542662137 Author: Grant Likely Date: Tue Jun 21 10:59:34 2011 -0600 dt: Add default match table for bus ids No need for most platforms to define their own bus table when calling of_platform_populate(). Supply a stock one. Signed-off-by: Grant Likely commit f7fdd84e04c8fdc9196abe3bfd27535bccb52ee5 Merge: 03dc610 c2419b4 Author: Konrad Rzeszutek Wilk Date: Tue Jun 21 09:25:41 2011 -0400 Merge branch 'stable/vga.support' into stable/drivers * stable/vga.support: xen: allow enable use of VGA console on dom0 commit 03dc6107ff485995d356cb8a77766920e2eee21e Merge: 5629937 afec6e0 Author: Konrad Rzeszutek Wilk Date: Tue Jun 21 09:25:36 2011 -0400 Merge branch 'stable/frontswap-tmemonly' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem into stable/drivers * 'stable/frontswap-tmemonly' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem: xen: prepare tmem shim to handle frontswap commit ae90c232be376bd8a283f3b6fb37cb5bd2635d67 Author: cpw@sgi.com Date: Tue Jun 21 07:21:33 2011 -0500 x86, UV: Correct UV2 BAU destination timeout Correct the UV2 broacast assist unit's destination timeout period. And the activation status register in UV2 should be tested for a destination timeout with a 4, not a 2. The values for Active versus Timeout were reversed. This patch is critical for TLB shootdown on an Altix UV2 system (i.e. the follow-on to the current Altix UV). Destination timeout period: The period is set in 4 bits of memory-mapped register MISC_CONTROL. The left bit toggles base period between 10us and 80us. The other 3 bits are the multiplier. Decimal 15, hex f, gives the maximum: 7 * 80us Signed-off-by: Cliff Wickman Link: http://lkml.kernel.org/r/20110621122243.117324443@sgi.com Signed-off-by: Ingo Molnar commit bbd270e6f45a5ca30e1d3b6133c516a9dc9dd6c0 Author: cpw@sgi.com Date: Tue Jun 21 07:21:32 2011 -0500 x86, UV: Correct failed topology memory leak Fix a memory leak in init_per_cpu() when the topology check fails. The leak should never occur on deployed systems. It would only occur in an unexpected topology that would make the BAU unuseable as a result. Signed-off-by: Cliff Wickman Link: http://lkml.kernel.org/r/20110621122242.981533045@sgi.com Signed-off-by: Ingo Molnar commit 442d3924926c62741912d8a930220af253922007 Author: cpw@sgi.com Date: Tue Jun 21 07:21:31 2011 -0500 x86, UV: Remove cpumask_t from the stack Remove the large stack-resident cpumask_t from reset_with_ipi()'s stack by allocating one per uvhub. Due to the limited size of the stack the potentially huge cpumask_t may cause stack overrun. We haven't seen it happen yet, but we need to make it a practice not to push such structures onto the stack. Signed-off-by: Cliff Wickman Reviewed-by: Pekka Enberg Link: http://lkml.kernel.org/r/20110621122242.832589130@sgi.com Signed-off-by: Ingo Molnar commit a456eaab87461e33d94e748565eabd474283a475 Author: cpw@sgi.com Date: Tue Jun 21 07:21:30 2011 -0500 x86, UV: Rename hubmask to pnmask Rename 'bau_targ_hubmask' to 'pnmask' for clarity. The BAU distribution bit mask is indexed by pnode number, not hub or blade number. This important fact is not clear while the mask is called a 'hubmask'. Signed-off-by: Cliff Wickman Link: http://lkml.kernel.org/r/20110621122242.630995969@sgi.com Signed-off-by: Ingo Molnar commit 485f07d349a3e5059413b886a3bc1996c4b3d14d Author: cpw@sgi.com Date: Tue Jun 21 07:21:29 2011 -0500 x86, UV: Correct reset_with_ipi() Fix reset_with_ipi() to look up a cpu for a blade based on the distribution map being indexed by the potentially sparsely numbered pnode. This patch is critical to tlb shootdown on a partitioned UV system, or one with nonconsecutive blade numbers. The distribution map bits represent pnodes relative to the partition base pnode. Previous to this patch it had been assuming bits based on 0-based, consecutive blade ids. Signed-off-by: Cliff Wickman Link: http://lkml.kernel.org/r/20110621122242.497700003@sgi.com Signed-off-by: Ingo Molnar commit 9c9153db22870c3f37add83bea30500fcc268a73 Author: cpw@sgi.com Date: Tue Jun 21 07:21:28 2011 -0500 x86, UV: Allow for non-consecutive sockets Fix for the topology in which there is a socket 1 on a blade with no socket 0. Only call make_per_cpu_thp() for present sockets. We have only seen this fail for internal configurations. Signed-off-by: Cliff Wickman Link: http://lkml.kernel.org/r/20110621122242.363757364@sgi.com Signed-off-by: Ingo Molnar commit b18fb2c04ac46885f5b0226cd945e763eae51567 Author: cpw@sgi.com Date: Tue Jun 21 07:21:27 2011 -0500 x86, UV: Inline header file functions Make all the functions in uv_bau.h inline so that it can be included in the fake prom (used in simulations). If not inlined the unused functions will generate compiler warnings. Signed-off-by: Cliff Wickman Reviewed-by: Pekka Enberg Link: http://lkml.kernel.org/r/20110621122242.230529678@sgi.com Signed-off-by: Ingo Molnar commit 00b30cf04a775b5292ab704f782394e36e25617d Author: cpw@sgi.com Date: Tue Jun 21 07:21:26 2011 -0500 x86, UV: Fix smp_processor_id() use in a preemptable region Fix a call by tunables_write() to smp_processor_id() within a preemptable region. Call get_cpu()/put_cpu() around the region where the returned cpu number is actually used, which makes it non-preemptable. A DEBUG_PREEMPT warning is prevented. UV does not support cpu hotplug yet, but this is a step toward that ability as well. Signed-off-by: Cliff Wickman Link: http://lkml.kernel.org/r/20110621122242.086384966@sgi.com Signed-off-by: Ingo Molnar commit 801019d59d4e1d1523e5897949fd3b6843571bd0 Merge: 5629937 71f7758 403f81d Author: Joerg Roedel Date: Tue Jun 21 11:14:10 2011 +0200 Merge branches 'amd/transparent-bridge' and 'core' Conflicts: arch/x86/include/asm/amd_iommu_types.h arch/x86/kernel/amd_iommu.c Signed-off-by: Joerg Roedel commit 403f81d8ee532c976d50a5e1051f14ec78ae8db3 Author: Joerg Roedel Date: Tue Jun 14 16:44:25 2011 +0200 iommu/amd: Move missing parts to drivers/iommu A few parts of the driver were missing in drivers/iommu. Move them there to have the complete driver in that directory. Signed-off-by: Joerg Roedel commit 68255b628776dfafa7f67ca3afd66bd4ba377307 Author: Joerg Roedel Date: Tue Jun 14 15:51:54 2011 +0200 iommu: Move iommu Kconfig entries to submenu For better navigation this patch moves the drivers/iommu drivers into its own submenu in Kconfig. Signed-off-by: Joerg Roedel commit 166e9278a3f98bab29ebb3d685a81cfb11b98be0 Author: Ohad Ben-Cohen Date: Fri Jun 10 21:42:27 2011 +0300 x86/ia64: intel-iommu: move to drivers/iommu/ This should ease finding similarities with different platforms, with the intention of solving problems once in a generic framework which everyone can use. Note: to move intel-iommu.c, the declaration of pci_find_upstream_pcie_bridge() has to move from drivers/pci/pci.h to include/linux/pci.h. This is handled in this patch, too. As suggested, also drop DMAR's EXPERIMENTAL tag while we're at it. Compile-tested on x86_64. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Joerg Roedel commit 29b68415e335ba9e0eb6057f9405aa4d9c23efe4 Author: Ohad Ben-Cohen Date: Sun Jun 5 18:22:18 2011 +0300 x86: amd_iommu: move to drivers/iommu/ This should ease finding similarities with different platforms, with the intention of solving problems once in a generic framework which everyone can use. Compile-tested on x86_64. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Joerg Roedel commit b10f127e1a4d8cac5414c6e2b152c205b66c9f16 Author: Ohad Ben-Cohen Date: Thu Jun 2 03:20:08 2011 +0300 msm: iommu: move to drivers/iommu/ This should ease finding similarities with different platforms, with the intention of solving problems once in a generic framework which everyone can use. Compile-tested for MSM8X60. Signed-off-by: Ohad Ben-Cohen Acked-by: David Brown Signed-off-by: Joerg Roedel commit dadbe85ac47f180fa1e3ef93b276ab7938b1a98b Author: Vasu Dev Date: Wed May 11 05:41:46 2011 +0000 ixgbe: setup per CPU PCI pool for FCoE DDP Currently single PCI pool used across all CPUs and that doesn't scales up as number of CPU increases, so this patch adds per CPU PCI pool to setup udl and that aligns well from FCoE stack as that already has per CPU exch locking. Adds per CPU PCI alloc setup and free in ixgbe_fcoe_ddp_pools_alloc and ixgbe_fcoe_ddp_pools_free, use CPU specific pool during DDP setup. Re-arranged ixgbe_fcoe struct to have fewer holes along with adding pools ptr using pahole. Signed-off-by: Vasu Dev Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 9612de92e023bff0d1cd5725ee65293accc70c56 Author: Emil Tantilov Date: Sat May 7 07:40:20 2011 +0000 ixgbe: add support for Dell CEM This patch adds support for Dell CEM (Comprehensive Embedded Management)). This consists of informing the management firmware of the driver version during probe on 82599 and X540 HW. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit fb5475ff7f2e80e920a393d18a43b64124a30270 Author: John Fastabend Date: Tue Apr 26 07:26:36 2011 +0000 ixgbe: DCB, remove unneeded ixgbe_dcb_txq_to_tc() routine The ixgbe_dcb_txq_to_tc() routine was used to map TX rings to a DCB traffic class. Now that a tx_ring has a DCB traffic class associated with it this routine is no longer needed. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit b1bbdb206a52b7eb13c2e57ee794b90618f61002 Author: John Fastabend Date: Tue Apr 26 07:26:30 2011 +0000 ixgbe: DCB and perfect filters can coexist Now flow directors perfect filters features can coexist with DCB. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 6f70f6acc7321f9f6501157b29d2db8c475cf3b2 Author: John Fastabend Date: Tue Apr 26 07:26:25 2011 +0000 ixgbe: fix bit mask for DCB version This bit mask is wrong DCBX_HOST is always set. It was missed up until now because lldpad reprograms the device on a link event. However this is still wrong and it is best not to be mis-configured for some time immediately following ixgbe_up(). Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 86b4db3bcce714d6bdd8c056158821301624bf00 Author: John Fastabend Date: Tue Apr 26 07:26:19 2011 +0000 ixgbe: setup redirection table for multiple packet buffers Setup RSS redirection table to be compatible with multiple packet buffers. Currently, this works on 82599 devices because the RSS redirection index is masked by the number of queues per packet buffer. This sets the cap on the RSS table to maxq. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit aba70d5e6c1c188fe45c1a782060440b6c2ea759 Author: John Fastabend Date: Tue Apr 26 07:26:14 2011 +0000 ixgbe: DCB 82598 devices, tx_idx and rx_idx swapped The tx_idx and rx_idx values are swapped on 82598 devices with DCB enabled. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit e901acd6fa5538436e08e8a862dd2c080297f852 Author: John Fastabend Date: Tue Apr 26 07:26:08 2011 +0000 ixgbe: DCB use existing TX and RX queues The number of TX and RX queues allocated depends on the device type, the current features set, online CPUs, and various compile flags. To enable DCB with multiple queues and allow it to coexist with all the features currently implemented it has to setup a valid queue count. This is done at init time using the FDIR and RSS max queue counts and allowing each TC to allocate a queue per CPU. DCB will now use available queues up to (8 x TCs) this is somewhat arbitrary cap but allows DCB to use up to 64 queues. Its easy to increase this later if that is needed. This is prep work to enable Flow Director with DCB. After this DCB can easily coexist with existing features and no longer needs its own DCB feature ring. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 8b1c0b24d9afd4a59a8aa9c778253bcff949395a Author: John Fastabend Date: Tue May 3 02:26:48 2011 +0000 ixgbe: configure minimal packet buffers to support TC ixgbe devices support different numbers of packet buffers either 8 or 4. Here we only allocate the minimal number of packet buffers required to implement the net_devices number of traffic classes. Fewer traffic classes allows for larger packet buffers in hardware. Also more Tx/Rx queues can be given to each traffic class. This patch is mostly about propagating the number of traffic classes through the init path. Specifically this adds the 4TC cases to the MRQC and MTQC setup routines. Also ixgbe_setup_tc() was sanitized to handle other traffic class value. Finally changing the number of packet buffers in the hardware requires the device to reinit. So this moves the reinit work from DCB into the main ixgbe_setup_tc() routine to consolidate the reset code. Now dcbnl_xxx ops call ixgbe_setup_tc() to configure packet buffers if needed. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 72a32f1f3f68b7d95e7151b5f88831fb9906416e Author: John Fastabend Date: Tue Apr 26 07:25:58 2011 +0000 ixgbe: consolidate MRQC and MTQC handling The MRQC and MTQC registers are configured in the main setup path but are also reconfigured in the DCB setup path. The DCB path fixes the DCB configuration by configuring the SECTXMINIFG gap which is required for DCB pause to operate correctly. This patch reduces the duplicate code and does all setup in ixgbe_setup_mtqc() and ixgbe_setup_mrqc(). Additionally, this removes the IXGBE_QDE. This write never set the WRITE bit in the register so the write was not actually doing anything. Also this was to clear the register but, it is never set and defaults to zero. If this is needed for SRIOV it should be added correctly in a follow up patch. But it's never been working so removing it here should be OK. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 80605c6513207344d00b32e8d1e64bd34fdf1358 Author: John Fastabend Date: Mon May 2 12:34:10 2011 +0000 ixgbe: consolidate packet buffer allocation Consolidate packet buffer allocation currently being done in the DCB path and main path. This allows the feature set and packet buffer requirements to be done once. This is prep work to allow DCB to coexist with other features namely, flow director. CC: Alexander Duyck Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 1fcd86b51179518f7e69164e37353fb59cd6301e Author: John Fastabend Date: Tue Apr 26 10:05:14 2011 +0000 ixgbe: dcbnl reduce duplicated code and indentation Replace duplicated code in if/else branches with single check and ixgbe_init_interrupt_scheme(). Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit c12db7695e1f52b27108c3dfde3cf655a0368c58 Author: Stephen Hemminger Date: Thu Jun 9 02:58:39 2011 +0000 ixgbevf: remove unnecessary ampersands Use standard format for net_device_ops (without &) Signed-off-by: Stephen Hemminger Acked-by: Greg Rose Signed-off-by: Jeff Kirsher commit f416dfc0e07120d2610e836609b7235897796c90 Author: Greg Rose Date: Wed Jun 8 07:32:38 2011 +0000 ixgbevf: Fix bungled declaration of ixgbevf_mbx_ops In two places storage for mbx_ops is misidentified as type ixgbe_mac_operations. Reported-by: Andi Kleen Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher commit ac52caa31e0a135a8940a66de763751760820f37 Author: Michał Mirosław Date: Wed Jun 8 08:38:01 2011 +0000 igb: convert to ndo_fix_features Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM. Removing this needs deeper surgery. Things noticed: - HW VLAN acceleration probably can be toggled, but it's left as is - the resets on RX csum offload change can probably be avoided - there is A LOT of copy-and-pasted code here Signed-off-by: Michał Mirosław Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit e97d3207c5e697e3d86cc67483f9cdcce16cc0bf Author: Michał Mirosław Date: Wed Jun 8 08:36:42 2011 +0000 e1000: convert to ndo_fix_features Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM. Removing this needs deeper surgery. Things noticed: - RX csum disabled by default - HW VLAN acceleration probably can be toggled, but it's left as is - the resets on RX csum offload change can probably be avoided - there is A LOT of copy-and-pasted code here Signed-off-by: Michał Mirosław Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 9f6ec8d697c08963d83880ccd35c13c5ace716ea Merge: 4aa3a71 5629937 Author: David S. Miller Date: Mon Jun 20 22:29:08 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-agn-rxon.c drivers/net/wireless/rtlwifi/pci.c net/netfilter/ipvs/ip_vs_core.c commit 4aa3a715551c93eda32d79bd52042ce500bd5383 Author: Sebastian Poehn Date: Mon Jun 20 13:57:59 2011 -0700 gianfar v5: implement nfc This patch adds all missing functionalities for nfc except GRXFH. There is so much code because hardware has not a TCAM. Further hardware rule space is very limited. So I had to extensively use optimization features. Both reasons lead to the necessity to hold all online flows in a linked-list. Change-log: # Some suggestions by Joe Perches applied (thanks!) # Shorted some logs # Use memcmp() for comparing Signed-off-by: Sebastian Poehn Signed-off-by: David S. Miller commit d13d6bffb418a660c06a5a12afcf7e7081489548 Author: Richard Cochran Date: Sun Jun 19 21:51:33 2011 +0000 ucc_geth: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping. Compile tested only. Cc: Shlomi Gridish Cc: Li Yang Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 1f6e44a6dc21a5d2abb068063acbbf64f8cee548 Author: Richard Cochran Date: Sun Jun 19 21:51:31 2011 +0000 pxa168_eth: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping Compile tested only. Cc: Sachin Sanap Cc: Zhangfei Gao Cc: Philip Rakity Cc: Mark Brown Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 8c0069ae3a85eeedbbf955e380e822756f7a9d2f Author: Richard Cochran Date: Sun Jun 19 21:51:30 2011 +0000 smsc911x: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping. Compile tested only. Cc: Steve Glendinning Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit e309721159c05c36f10a973bef03388dadb102b0 Author: Richard Cochran Date: Sun Jun 19 21:51:29 2011 +0000 fs_enet: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping. Compile tested only. Cc: Pantelis Antoniou Cc: Vitaly Bordug Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit e072092fc7a89178736530f51a4daaa3155cf44b Author: Richard Cochran Date: Sun Jun 19 21:51:28 2011 +0000 macb: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping Compile tested only. Cc: Nicolas Ferre Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit d6cf07327e691e8f7c0f08af69d0dd3887aa1e4f Author: Richard Cochran Date: Sun Jun 19 21:51:27 2011 +0000 fec_mpc52xx: enable transmit and receive time stamping. This patch enables software (and phy device) time stamping. Software time stamping using the SO_TIMESTAMPING API was tested and found to be working on the LITE5200B board. Cc: Grant Likely Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 93e0ed158c15b3d3d76125de6364f8f95528c25a Author: Richard Cochran Date: Sun Jun 19 21:51:26 2011 +0000 ll_temac: enable transmit and receive time stamping. This patch enables software (and phy device) time stamping. Since this MAC is based on phylib, adding the hooks makes hardware time stamping in the phy possible. Compile tested only. Cc: Grant Likely Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 570773c5801cc6c322534d6b1d1551e23664103e Author: Richard Cochran Date: Sun Jun 19 21:51:25 2011 +0000 emaclite: enable transmit and receive time stamping. This patch enables software (and phy device) time stamping. Since this MAC uses phylib, adding the hooks make hardware time stamping in the phy possible. Compile tested only. Cc: John Linn Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit d76b7e2faaabae4805ae7ebf31ad64a33268f44f Author: Richard Cochran Date: Sun Jun 19 21:51:24 2011 +0000 lib8390: enable transmit and receive time stamping. This patch enables software (and phy device) time stamping. This file is included by drivers/net/ax88796.c, which is based on phylib. So, this patch makes hardware time stamping in the PHY possible. Compile tested only. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 238442f6bc10ba31577fc47e476c88689c80c7fa Author: Richard Cochran Date: Sun Jun 19 21:51:23 2011 +0000 net: export the receive time stamping hook for non-NAPI drivers Ethernet MAC drivers based on phylib (but not using NAPI) can enable hardware time stamping in phy devices by calling netif_rx() conditionally based on a call to skb_defer_rx_timestamp(). This commit exports that function so that drivers calling it may be compiled as modules. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 306ff6eb8e9c18bcafb8ca5be4be3c78dfe45475 Author: Eric Dumazet Date: Sun Jun 19 20:07:46 2011 +0000 myricom: remove stats_lock stats_lock is non useless, lets remove it. Also, ndo_get_stats64() doesnt have to clear the stats, caller takes care of this. Note: folding 32bit fields in 64bit one is problematic when one of 32bit values wraps : SNMP reader will see a ~2^32 back change in a 64bit value. A future patch should fix this. Signed-off-by: Eric Dumazet CC: Stephen Hemminger CC: Andrew Gallatin CC: Brice Goglin Acked-by: Jon Mason Signed-off-by: David S. Miller commit eac56465b88cc9ad3b964a9f0a02be3d3a136ddf Merge: 1b9c413 43676ab Author: David S. Miller Date: Mon Jun 20 12:59:37 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge commit 1b9c4134c126aa8ae00a57672d4a4eaecc436b54 Author: Jon Mason Date: Mon Jun 20 12:51:22 2011 -0700 myri_sbus: remove driver Remove the myri_sbus driver. Why? * There is no possibility of ethernet mode on this adapter, so it's Myrinet only. * It won't inter-op with modern versions of Myrinet, and thus can only work with legacy adapters. * There are no in-kernel Linux drivers for the PCI version of this adapter, so it only can work on ~15 year old Sun hardware. It's long in the tooth, let's take it to the knackers. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit e10542c447abf7c840931ff12f7d0dee976ca2ea Author: Mike McCormack Date: Mon Jun 20 10:47:51 2011 +0900 rtlwifi: rtl8192{c,ce,cu,se}: Remove comparisons of booleans with true These are a potential source of confusion, as most C code treats all non-zero values as true. Signed-off-by: Mike McCormack Acked-by: Larry Finger Signed-off-by: John W. Linville commit 4b9d8d67b44aae18e1c4b71281f5cfc0f2105cf6 Author: Mike McCormack Date: Mon Jun 20 10:46:05 2011 +0900 rtlwifi: rtl8192cu: Remove unused parameter rtl_ps_set_rf_state's protect_or_not parameter is not set to true anywhere, except for commented out code. It enables some legacy locking code, which is no longer used, so delete the parameter and the old locking code. Signed-off-by: Mike McCormack Acked-by: Larry Finger Signed-off-by: John W. Linville commit 9c0504403725ca77153a0bdad2f3bef0a05e32f0 Author: Mike McCormack Date: Mon Jun 20 10:44:58 2011 +0900 rtlwifi: Fix typo in variable name offchan_deley should be offchan_delay Signed-off-by: Mike McCormack Acked-by: Larry Finger Signed-off-by: John W. Linville commit 440ca98fe8407808a9ad8e934f6e28408f546313 Author: Rafał Miłecki Date: Sat Jun 18 01:01:59 2011 +0200 bcma: clean exports of functions Function managing IRQs is needed for external drivers like b43. On the other side we do not expect writing any hosts drivers outside of bcma, so this is safe to do not export functions related to this. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 536e5189ffdf17047f129f4730d947ab11a8526b Author: Pavel Roskin Date: Fri Jun 17 17:59:02 2011 -0400 ath5k: add missing ieee80211_free_hw() on unload in AHB code Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 0e8d1602b223efcd4eaaa799314f5d7ad1742035 Author: John W. Linville Date: Fri Jun 17 16:41:30 2011 -0400 ath5k: free sc->ah in ath5k_deinit_softc Nothing else is freeing it, and this mirrors the error handling path already in ath5k_init_softc. https://bugzilla.kernel.org/show_bug.cgi?id=37592 Signed-off-by: John W. Linville Reported-by: Tsyvarev Andrey commit 898f699e7fd625dd7cdf7739704ae88972c92dc2 Author: Rafał Miłecki Date: Fri Jun 17 13:15:24 2011 +0200 bcma: fix BCM43224 rev 0 workaround Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 91fa4b0a6b92ebef3d5e26b709faf62a3b44beb0 Author: Rafał Miłecki Date: Fri Jun 17 13:15:23 2011 +0200 bcma: enable support for 14e4:4357 (BCM43225) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0e44d48cbb010db492a27302b247049d5d43e065 Author: Mohammed Shafi Shajakhan Date: Fri Jun 17 14:08:42 2011 +0530 ath9k_hw: make sure PAPRD training is properly done checking the status of PAPRD_AGC2_POWER(Log(ADC_power) measured after last gain-change in dB) field suggests whether the PAPRD is completely/properly done. This is an additional check apart from polling for PAPRD done bit being set. Susinder suggests that the ideal power range value should be 0xf0 to 0xfe. With AR9382 we do have the values in this range. to have a common check for all platforms we take agc2_power should be atleast greater than 0xe0 Cc: susinder@qca.qualcomm.com Cc: senthilb@qca.qualcomm.com Cc: kmuthusa@qca.qualcomm.com Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 81dc67601a49d1bfcfa85f644b14a013fc59e0ef Author: Mohammed Shafi Shajakhan Date: Fri Jun 17 11:07:32 2011 +0530 ath9k: Fix a corner case failure in sending PAPRD frames in HT40 when the AP is configured with HT40/2.4GHz and when PAPRD is enabled in station we have PAPRD training frames never sent out because of the following failure "PAPRD target power delta out of range". This consistently happens in channel 10,11 in Over The Air testing and rarely in channel 6 under wired setup. the reason behind this issue is all the HT40 rates target power are 0 when we operate in channel 10/11 at 2.4GHz Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 77572fd13d7f468216b85e68a006000726a59e89 Author: Eliad Peller Date: Thu Jun 16 11:49:33 2011 +0300 mac80211: quiesce vif before suspending Cancel all relevant timers/works before suspending (wowlan). This patch handles the following warning: WARNING: at net/mac80211/util.c:565 queueing ieee80211 work while going to suspend Backtrace: [] (ieee80211_can_queue_work+0x0/0x4c [mac80211]) [] (ieee80211_queue_work+0x0/0x30 [mac80211]) [] (ieee80211_sta_timer+0x0/0x3c [mac80211]) [] (run_timer_softirq+0x0/0x220) [] (__do_softirq+0x0/0x130) [] (irq_exit+0x0/0xb4) [] (ipi_timer+0x0/0x4c) [] (do_local_timer+0x0/0x88) [] (cpu_idle+0x0/0xe0) [] (rest_init+0x0/0xe0) [] (start_kernel+0x0/0x314) Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit e13e21dc5d06bd9ed4a88daf057b8dbe80c220de Author: Vinicius Costa Gomes Date: Fri Jun 17 22:46:27 2011 -0300 Bluetooth: Remove useless access to the socket We already have access to the chan, we don't have to access the socket to get its imtu. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 6312845169e8719f6f0726efc62bc6a8dedea9d3 Author: Vinicius Costa Gomes Date: Fri Jun 17 22:46:26 2011 -0300 Bluetooth: Fix crash when setting a LE socket to ready We should not try to do any other type of configuration for LE links when they become ready. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 6392cb387cb629a5aa488e6a2eab9383b574a7ef Merge: 0521ecf3 8943442 Author: John W. Linville Date: Mon Jun 20 15:28:44 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 0521ecf335ce36394a3403fdd48aa87a0352c7d6 Author: Kalle Valo Date: Tue Jun 14 01:35:04 2011 +0300 rtlwifi: include mac80211.h from core.h core.h references ieee80211_ops but doesn't include mac80211.h, which issues a warning once mac80211-compat.h is taken into use. Acked-by: Larry Finger Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9a0669681c2d94fa198a82d108918def55a7cd70 Author: Kalle Valo Date: Tue Jun 14 01:34:57 2011 +0300 zd1211rw: include mac80211.h from zd_chip.h zd_chip.h contains one function with a pointer to ieee80211_hw but doesn't include mac80211.h. As a temporary solution include mac80211.h to avoid a warning. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 47751b0fbff55f5f65d1a4d24ca10acd90259fc1 Author: Kalle Valo Date: Tue Jun 14 01:34:50 2011 +0300 iwlwifi: fix stop/wake queue hacks The hacks break once mac80211-compat.h is taken into use. Fix it by adding an ifdef check. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 2055403ded0b16b8fdb7d6f188dccdc9ca35d7d5 Author: Kalle Valo Date: Tue Jun 14 01:34:38 2011 +0300 iwlegacy: fix stop/wake queue hacks The hacks break once mac80211-compat.h is taken into use. Fix it by adding an ifdef check. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 43676ab590c3f8686fd047d34c3e33803eef71f0 Author: Antonio Quartulli Date: Tue Apr 26 21:31:45 2011 +0200 batman-adv: improved gateway tq-based selection If a client issues a DHCPREQUEST for renewal, the packet is dropped if the old destination (the old gateway for the client) TQ is smaller than the current best gateway TQ less GW_THRESHOLD Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 19595e054d35820e026caac314414e435287e3ae Author: Antonio Quartulli Date: Sun Jun 12 11:58:58 2011 +0200 batman-adv: throw uevent in userspace on gateway add/change/del event In case of new default gw, changing the default gw or deleting the default gw a uevent is triggered with type=gw, action=add/change/del and data={GW_ORIG_ADDRESS} (if any). Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 2265c141086474bbae55a5bb3afa1ebb78ccaa7c Author: Antonio Quartulli Date: Wed Apr 27 00:22:00 2011 +0200 batman-adv: gateway election code refactoring The gateway election mechanism has been a little revised. Now the gw_election is trigered by an atomic_t flag (gw_reselect) which is set to 1 in case of election needed, avoding to set curr_gw to NULL. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit c6bda689c2c94788e1e567463ce861d1f135857f Author: Antonio Quartulli Date: Tue Apr 26 18:26:01 2011 +0200 batman-adv: add wrapper function to throw uevent in userspace Using throw_uevent() is now possible to trigger uevent signal that can be recognised in userspace. Uevents will be triggered through the /devices/virtual/net/{MESH_IFACE} kobject. A triggered uevent has three properties: - type: the event class. Who generates the event (only 'gw' is currently defined). Corresponds to the BATTYPE uevent variable. - action: the associated action with the event ('add'/'change'/'del' are currently defined). Corresponds to the BATACTION uevent variable. - data: any useful data for the userspace. Corresponds to the BATDATA uevent variable. Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit 7683fdc1e88644ee8108a1f33faba80545f0024d Author: Antonio Quartulli Date: Wed Apr 27 14:28:07 2011 +0200 batman-adv: protect the local and the global trans-tables with rcu The local and the global translation-tables are now lock free and rcu protected. Signed-off-by: Antonio Quartulli Acked-by: Simon Wunderlich Signed-off-by: Sven Eckelmann commit cc47f66e6b9ec7e7d465f74739a6fc9844593894 Author: Antonio Quartulli Date: Wed Apr 27 14:27:57 2011 +0200 batman-adv: improved roaming mechanism With the current client announcement implementation, in case of roaming, an update is triggered on the new AP serving the client. At that point the new information is spread around by means of the OGM broadcasting mechanism. Until this operations is not executed, no node is able to correctly route traffic towards the client. This obviously causes packet drops and introduces a delay in the time needed by the client to recover its connections. A new packet type called ROAMING_ADVERTISEMENT is added to account this issue. This message is sent in case of roaming from the new AP serving the client to the old one and will contain the client MAC address. In this way an out-of-OGM update is immediately committed, so that the old node can update its global translation table. Traffic reaching this node will then be redirected to the correct destination utilising the fresher information. Thus reducing the packet drops and the connection recovery delay. Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit a73105b8d4c765d9ebfb664d0a66802127d8e4c7 Author: Antonio Quartulli Date: Wed Apr 27 14:27:44 2011 +0200 batman-adv: improved client announcement mechanism The client announcement mechanism informs every mesh node in the network of any connected non-mesh client, in order to find the path towards that client from any given point in the mesh. The old implementation was based on the simple idea of appending a data buffer to each OGM containing all the client MAC addresses the node is serving. All other nodes can populate their global translation tables (table which links client MAC addresses to node addresses) using this MAC address buffer and linking it to the node's address contained in the OGM. A node that wants to contact a client has to lookup the node the client is connected to and its address in the global translation table. It is easy to understand that this implementation suffers from several issues: - big overhead (each and every OGM contains the entire list of connected clients) - high latencies for client route updates due to long OGM trip time and OGM losses The new implementation addresses these issues by appending client changes (new client joined or a client left) to the OGM instead of filling it with all the client addresses each time. In this way nodes can modify their global tables by means of "updates", thus reducing the overhead within the OGMs. To keep the entire network in sync each node maintains a translation table version number (ttvn) and a translation table checksum. These values are spread with the OGM to allow all the network participants to determine whether or not they need to update their translation table information. When a translation table lookup is performed in order to send a packet to a client attached to another node, the destination's ttvn is added to the payload packet. Forwarding nodes can compare the packet's ttvn with their destination's ttvn (this node could have a fresher information than the source) and re-route the packet if necessary. This greatly reduces the packet loss of clients roaming from one AP to the next. Signed-off-by: Antonio Quartulli Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 3b27ffb00fbe9d9189715ea13ce8712e2f0cb0c5 Author: Antonio Quartulli Date: Sat May 28 14:51:06 2011 +0200 batman-adv: Unify the first 3 bytes in each packet The amount of duplicated code in the receive and routing code can be reduced when all headers provide the packet type, version and ttl in the same first bytes. Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit b4e1705417c6cc7d46d9020259a2c8f457cf82bd Author: Sven Eckelmann Date: Wed Jun 15 09:41:37 2011 +0200 batman-adv: Reduce usage of char char was used in different places to store information without really using the characteristics of that data type or by ignoring the fact that char has not a well defined signedness. Signed-off-by: Sven Eckelmann commit b2c44a53836559b5e2823aa215c979c33bc9e2db Author: David Howells Date: Wed Jun 15 09:41:36 2011 +0200 batman-adv: count_real_packets() in batman-adv assumes char is signed count_real_packets() in batman-adv assumes char is signed, and returns -1 through it: net/batman-adv/routing.c: In function 'receive_bat_packet': net/batman-adv/routing.c:739: warning: comparison is always false due to limited range of data type Use int instead. Signed-off-by: David Howells [sven@narfation.org: Rebase on top of current version] Signed-off-by: Sven Eckelmann commit db69ecfcb0d4df4d6449172186a8dd20836275ed Author: Sven Eckelmann Date: Wed Jun 15 15:17:21 2011 +0200 batman-adv: Keep interface_tx as local function interface_tx is not used outside of soft-interface.c and thus doesn't need to be declared inside soft-interface.h Signed-off-by: Sven Eckelmann commit b8e2dd135c3d8b06a4bc6d52b69317bdcccf4605 Author: Sven Eckelmann Date: Wed Jun 15 15:08:59 2011 +0200 batman-adv: Move compare_orig to originator.c compare_orig is only used in context of orig_node which is managed inside originator.c. It is not necessary to keep that function inside the header originator.h. Signed-off-by: Sven Eckelmann commit cf05c700cf6dd6f28bd95586d3040f809fd365f5 Author: Eric Dumazet Date: Sun Jun 19 22:48:34 2011 -0700 veth: fix 64bit stats on 32bit arches Using 64bit stats on 32bit arches must use a synchronization or readers can get transient values. Fixes bug introduced in commit 6311cc44a2 (veth: convert to 64 bit statistics) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 219eb47e6f356b138ea2fe1a32ba5a1b6b9093c0 Author: Stephen Rothwell Date: Sun Jun 19 22:41:59 2011 -0700 net/staging: add needed interrupt.h and hardirq.h includes Made necessary by commit a6b7a407865a ("net: remove interrupt.h inclusion from netdevice.h"). Fixes these build errors: drivers/staging/brcm80211/brcmfmac/dhd_linux.c:1212:3: error: implicit declaration of function 'in_interrupt' drivers/staging/brcm80211/brcmfmac/dhd_linux.c:1390:4: error: implicit declaration of function 'tasklet_schedule' drivers/staging/brcm80211/brcmfmac/dhd_linux.c:1988:3: error: implicit declaration of function 'tasklet_init' drivers/staging/brcm80211/brcmfmac/dhd_linux.c:2288:5: error: implicit declaration of function 'tasklet_kill' drivers/staging/brcm80211/brcmfmac/dhd_linux.c:232:24: error: field 'tasklet' has incomplete type drivers/staging/brcm80211/brcmfmac/wl_iw.c:3670:2: error: implicit declaration of function 'in_interrupt' drivers/staging/brcm80211/brcmsmac/wl_mac80211.c:1349:3: error: implicit declaration of function 'free_irq' drivers/staging/brcm80211/brcmsmac/wl_mac80211.c:1352:2: error: implicit declaration of function 'tasklet_kill' drivers/staging/brcm80211/brcmsmac/wl_mac80211.c:1538:4: error: implicit declaration of function 'tasklet_schedule' drivers/staging/brcm80211/brcmsmac/wl_mac80211.c:765:2: error: implicit declaration of function 'tasklet_init' drivers/staging/brcm80211/brcmsmac/wl_mac80211.c:817:2: error: implicit declaration of function 'request_irq' drivers/staging/brcm80211/brcmsmac/wl_mac80211.c:817:31: error: 'IRQF_SHARED' undeclared (first use in this function) drivers/staging/brcm80211/brcmsmac/wl_mac80211.h:65:24: error: field 'tasklet' has incomplete type drivers/staging/rtl8187se/ieee80211/ieee80211.h:994:24: error: field 'ps_task' has incomplete type drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c:1790:3: error: implicit declaration of function 'tasklet_schedule' drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c:2590:2: error: implicit declaration of function 'tasklet_init' drivers/staging/rtl8187se/r8180.h:461:24: error: field 'irq_rx_tasklet' has incomplete type drivers/staging/rtl8187se/r8180_core.c:2764:2: error: implicit declaration of function 'tasklet_init' drivers/staging/rtl8187se/r8180_core.c:2954:2: error: implicit declaration of function 'request_irq' drivers/staging/rtl8187se/r8180_core.c:2954:55: error: 'IRQF_SHARED' undeclared (first use in this function) drivers/staging/rtl8187se/r8180_core.c:3641:4: error: implicit declaration of function 'free_irq' drivers/staging/rtl8187se/r8180_core.c:4026:3: error: implicit declaration of function 'tasklet_schedule' drivers/staging/rtl8192e/ieee80211/ieee80211.h:2000:24: error: field 'ps_task' has incomplete type drivers/staging/rtl8192e/r8192E.h:909:24: error: field 'irq_rx_tasklet' has incomplete type drivers/staging/rtl8192e/r8192E.h:910:24: error: field 'irq_tx_tasklet' has incomplete type drivers/staging/rtl8192e/r8192E.h:911:31: error: field 'irq_prepare_beacon_tasklet' has incomplete type drivers/staging/rtl8192e/r8192E_core.c:2008:2: error: implicit declaration of function 'tasklet_init' drivers/staging/rtl8192e/r8192E_core.c:2412:54: error: 'IRQF_SHARED' undeclared (first use in this function) drivers/staging/rtl8192e/r8192E_core.c:2412:9: error: implicit declaration of function 'request_irq' drivers/staging/rtl8192e/r8192E_core.c:4640:4: error: implicit declaration of function 'free_irq' drivers/staging/rtl8192e/r8192E_core.c:620:2: error: implicit declaration of function 'synchronize_irq' drivers/staging/rtl8192e/r8192E_core.c:913:3: error: implicit declaration of function 'tasklet_schedule' drivers/staging/rtl8192u/ieee80211/ieee80211.h:1993:24: error: field 'ps_task' has incomplete type Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 5bf0c1913498e55f1bf4c56fef6dacf2feb049bb Author: Richard Cochran Date: Sun Jun 19 03:31:45 2011 +0000 davinci_emac: fix race in transmit time stamping. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 6241207253b940048ffb6ba483a248813261ce6a Author: Richard Cochran Date: Sun Jun 19 03:31:44 2011 +0000 smsc9420: fix race in transmit time stamping. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 52f64faeb0fdcd49f14586beab83eabc9170b6a1 Author: Richard Cochran Date: Sun Jun 19 03:31:43 2011 +0000 stmmac: fix race in transmit time stamping. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 2aa8f4c9d0f88ae7eacac424d8816de225cfe2aa Author: Richard Cochran Date: Sun Jun 19 03:31:42 2011 +0000 r6040: fix race in transmit time stamping. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit d515b450bfd50d355c5b3230685b997faeee5c49 Author: Richard Cochran Date: Sun Jun 19 03:31:41 2011 +0000 tg3: fix race in transmit time stamping. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit a0087a3619e1b137e7dbc91a1b2b5f15c0382412 Author: Richard Cochran Date: Sun Jun 19 03:31:40 2011 +0000 fec: fix race in transmit time stamping. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 4ff75b7cf3b06efb72a50e26008d09b259b1231b Author: Richard Cochran Date: Sun Jun 19 03:31:39 2011 +0000 net: correct comment on where to place transmit time stamp hook. The comment for the skb_tx_timestamp() function suggests calling it just after a buffer is released to the hardware for transmission. However, for drivers that free the buffer in an ISR, this produces a race between the time stamp code and the ISR. This commit changes the comment to advise placing the call just before handing the buffer over to the hardware. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit a2274cedc4b33a29be6583cd757bdc0b436851ec Author: Stefan Schmidt Date: Sat Jun 18 20:02:06 2011 +0200 spi/pxa2xx: Remove unavailable ssp_type from documentation Since commit commit 2f1a74e5a2de0459139b85af95e901448726c375 Author: eric miao Date: Wed Nov 21 18:50:53 2007 +0800 [ARM] pxa: make pxa2xx_spi driver use ssp_request()/ssp_free() the ssp_type field in struct pxa2xx_spi_master is no longer available. Signed-off-by: Stefan Schmidt Signed-off-by: Grant Likely commit 89434421d86a69af1868b65c5adbb3abda5af54f Author: Wey-Yi Guy Date: Tue Jun 14 15:23:40 2011 -0700 iwlagn: remove incorrect define Remove unused and incorrect EEPROM define Signed-off-by: Wey-Yi Guy commit 86cb3b4e08a106594ee79c94dec9c7ca289cf999 Author: Wey-Yi Guy Date: Tue Jun 14 15:23:39 2011 -0700 iwlagn: merge duplicate code into single function Same operation needed by multiple devices, move to single function. Signed-off-by: Wey-Yi Guy commit 916b337310969dd5eef35be0988a6bf768c138f9 Author: Wey-Yi Guy Date: Tue Jun 14 13:00:07 2011 -0700 iwlagn: code alignment Code alignment, no functional changes. Signed-off-by: Wey-Yi Guy commit e1910cb3190907334788c1887f8f61913208d0f3 Author: Wey-Yi Guy Date: Mon Jun 13 15:34:25 2011 -0700 iwlagn: add offset define for subsystem id Add offset define for subsystem id in EEPROM Signed-off-by: Wey-Yi Guy commit f7538168915271083070a60ebb10def11fce0cb0 Author: Wey-Yi Guy Date: Sat Jun 11 10:00:06 2011 -0700 iwlagn: Add power_level module parameter Add power_level module parameter to set the default power save level. Power save level has range from 1 - 5, default power save level is 1. Signed-off-by: Wey-Yi Guy commit 0172b02926493863e2e3a35f1d7bf13e935e655c Author: Wey-Yi Guy Date: Sat Jun 11 10:00:05 2011 -0700 iwlagn: add power_save module parameter Add power_save module parameter to enable power management if needed Default power management is disabled. Signed-off-by: Wey-Yi Guy commit 705cd4513a2fc561d8a2d5853cffb102bf183d70 Author: Emmanuel Grumbach Date: Sat Jun 18 08:21:12 2011 -0700 iwlagn: store the irq number to iwl_bus just like dev Since the irq number is just an unsigned int, store it inside iwl_bus instead of calling the get_irq ops every time it is needed. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 4b55b07fc9e5eccfd204cad75509bf062d3c22a3 Author: Emmanuel Grumbach Date: Thu Jun 9 05:48:36 2011 -0700 iwlagn: warn about nested SYNC commands Since there is no protection around SYNC host command mechanism, at least WARN when collision happens between two SYNC host comamnds. I am not sure there is a real issue (beyond the HCMD_ACTIVE flag maintenance) with having two SYNC host commands at the same time, but at least now, we will know about it. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 807caf261c5196b566964ccb9e12d3e25eee9c4a Author: Emmanuel Grumbach Date: Thu Jun 9 02:55:55 2011 -0700 iwlagn: fix misplaced bracket Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit bcd4fe2f9e378eb8d4d07e3be69e3b82d5e6d4fc Author: Emmanuel Grumbach Date: Thu Jun 9 02:55:54 2011 -0700 iwlagn: waterfall the bus level if prepare card failed Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit ea3aa93055508ae3e3a62f90580c24ec381dcbe2 Author: Emmanuel Grumbach Date: Tue May 31 10:07:00 2011 +0300 iwlagn: finally kill the pointer to pci_dev from iwl-dev.h All pci related stuff is in iwl-pci.c. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 08321c062f77e379c4a539f1522220b83ab1e84e Author: Emmanuel Grumbach Date: Fri Jun 10 11:30:30 2011 -0700 iwlagn: add a get_irq method to iwl_bus_ops and use it In order to remove a few more dereference to priv->pdev that will be killed [Asoon, there is now a method to get the IRQ number. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 85aed7c48113dfcdc913008481c46346af0db69e Author: Emmanuel Grumbach Date: Tue May 31 09:58:18 2011 +0300 iwlagn: don't read the PCI_REVISION_ID from iwl-agn.c The PCI_REVISION_ID is read and printed in iwl_pci_probe anyway using pr_info Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 19707bac16129ccebc398dbff9d2b44b17b24fea Author: Emmanuel Grumbach Date: Fri Jun 10 11:28:56 2011 -0700 iwlagn: add a method to get the HW ID description as a string to iwl_bus_ops Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit d57fa99d91bd6e8ca8217c115824b2732f4d3639 Author: Wey-Yi Guy Date: Fri Jun 10 11:23:36 2011 -0700 iwlagn: move PCI power related functions to the PCI layer Continue to popule the PCI layer and the iwl_bus_ops with the power related stuff. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 795414db8607a195541fe1a8f072021011b73386 Author: Emmanuel Grumbach Date: Sat Jun 18 08:12:57 2011 -0700 iwlagn: don't use the PCI wrappers for DMA operation Get a pointer to the struct device during probe and get the rid of all the PCI specific DMA wrappers. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 084dd79172cb3aad11d2b7ee5628d57badca7c6e Author: Emmanuel Grumbach Date: Tue May 31 09:07:00 2011 +0300 iwlagn: move PCI related operations from probe and remove to PCI layer Since we have now a PCI layer, all the init and deinit code that is PCI related should move to there. Also move the IO functions: read8/read32/write32. They need hw_base which is killed from priv. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 3599d39a8525b01540e2c7ec8c5d0df0dd11d6cf Author: Emmanuel Grumbach Date: Tue May 31 08:52:10 2011 +0300 iwlagn: add get_dev to iwl_bus_ops Bus specific layer must know how to return the struct device* of the device. Implement that as a callback of iwl_bus_ops and use that callback instead of using the priv->pdev pointer which is meant to disappear soon. Since the struct device * is needed in hot path, iwl_bus holds a pointer to it instead of calling get_dev all the time. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit a48709c5d076aa3a3f9b6426f462abe6bf432b11 Author: Emmanuel Grumbach Date: Tue May 31 08:22:30 2011 +0300 iwlagn: introduce iwl_bus and iwl_bus_ops iwl_bus will represent a bus, and iwl_bus_ops all the operations that can be done on this bus. For the moment only set_prv_data is implemented. More to come... Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit c6ca8bc46cc320e31e8fcb8b104eeed044febd6f Author: Emmanuel Grumbach Date: Mon May 30 07:36:49 2011 +0300 iwlagn: remove uneeded include to pci.h and dma_mapping.h from a few files Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 48d1a2110ad9cb86e5cb0d790729824fa3cca83b Author: Emmanuel Grumbach Date: Tue May 24 11:39:02 2011 +0300 iwlagn: add a iwl_pci.[ch] files that will contain all PCI specific code Move some PCI functionality to the new iwl_pci.[ch] files: * the PCI_DEVICE_TABLE * the pci_driver struct definition * the PCI probe / remove functions * the PCI suspend / resume functions All these functions are now split: the trigger comes from the PCI layer which calls to the bus generic code located in the other files. This is the beginning only. There are still a lot of PCI related code needs to be gathered. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit 7299751df36c02adafb5b897c56de71f0d7e2cb5 Author: Emmanuel Grumbach Date: Tue May 24 10:44:47 2011 +0300 iwlagn: don't disable interrupts after the NIC has been reset It is superfluous to disable the interrupts after we reset the NIC. The only entity that could enable the interrupts after the NIC is reset is the driver. So remove this pointless action. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy commit ecdbe86eda74005d1b4bc8387e1825ad95fab705 Author: Wey-Yi Guy Date: Wed Jun 8 09:57:26 2011 -0700 iwlagn: Support flush queues for specified interface Flush command can target specified interface or all interfaces Signed-off-by: Wey-Yi Guy commit f88e0ecc896f91d6965ba2935dcdf2280044a30a Author: Wey-Yi Guy Date: Wed Jun 8 09:57:25 2011 -0700 iwlagn: add PAN to tx flush When issue tx flush, also consider PAN Signed-off-by: Wey-Yi Guy commit c68744fb935400964f7af4835017cad5014c8c88 Author: Wey-Yi Guy Date: Sat Jun 18 08:03:18 2011 -0700 iwlagn: Remove un-necessary indirect call After driver split, no need to make indirect call to txfifo flush function Signed-off-by: Wey-Yi Guy commit fd112f2e15ba85d387de446a81aeb11e46ecc55d Author: Francois Romieu Date: Sat Jun 18 00:10:29 2011 +0200 r8169: check firmware content sooner. Firmware checking is only performed when the firmware is loaded instead of each time the driver inits the phy. Signed-off-by: Francois Romieu commit 960aee6c7d5951ac20c0227ad73bad56392f0afc Author: Hayes Wang Date: Sat Jun 18 11:37:48 2011 +0200 r8169: support new firmware format. The new firmware format adds versioning as firmware for a specific chipset appears to be subject to change. Current "legacy" format is still supported. Signed-off-by: Hayes Wang Signed-off-by: Francois Romieu commit 1c361efb226d609a07403057a71557faf500b17a Author: Francois Romieu Date: Fri Jun 17 17:16:24 2011 +0200 r8169: explicit firmware format check. Signed-off-by: Francois Romieu commit b6ffd97f5bcfd12df88ece6bc6df7a761ac5a049 Author: Francois Romieu Date: Fri Jun 17 17:00:05 2011 +0200 r8169: move the firmware down into the device private data. No functional difference. Signed-off-by: Francois Romieu commit afec6e04922d0c8c7e244be2e544bac5e7e36294 Author: Dan Magenheimer Date: Fri Jun 17 15:06:20 2011 -0600 xen: prepare tmem shim to handle frontswap Provide the shim code for frontswap for Xen tmem even if the frontswap patchset is not present yet. (The egg is before the chicken.) Signed-off-by: Dan Magenheimer Reviewed-by: Konrad Wilk commit a7925bd27d6ef020b8f3a3a64bde61d0add07220 Author: Gustavo F. Padovan Date: Fri Jun 17 16:15:10 2011 -0300 Bluetooth: Fix locking in blacklist code There was no unlock call on the errors path Signed-off-by: Gustavo F. Padovan commit a8e827495a3e4d3a096e91b79e644e0665937927 Author: Rafał Miłecki Date: Thu Jun 16 01:59:20 2011 +0200 b43: HT-PHY: implement switching analog Turning it on is always done between reading PHY version and radio version, so it was easy to find it in MMIO dumps from ndiswrapper. Turning off is done by writing different values to the same registers. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 4cabd4254bc6b52a65da859a2c7591f67199ca81 Author: Rafał Miłecki Date: Thu Jun 16 01:59:19 2011 +0200 b43: HT-PHY: implement radio ops Every PHY has some specific bit used for reading radio regs. Analyze of MMIO dumps from BCM4331 and ndiswrapper has shown it is 0x200 for HT. radio_read(0x037f) -> 0x0073 radio_write(0x017f) <- 0x0072 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d816ab26f6637282feb8a93c9def9925883ba0a7 Author: Pavel Roskin Date: Wed Jun 15 18:03:28 2011 -0400 ath5k: annotate reg in ath5k_hw_nic_reset() as __iomem Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f5cbc8bac939f38c0c55cfaa348c170663a16767 Author: Pavel Roskin Date: Wed Jun 15 18:03:22 2011 -0400 ath5k: minor cleanup Move an extern variable declaration to a header file. Prefix all functions with "ath5k_". Make ath5k_intr() static. Remove unneeded forward declarations. Remove pointless "extern" in a function declaration. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit e707549a80d5e5b37c4b0b9b60c5836396a11163 Author: Pavel Roskin Date: Wed Jun 15 18:01:11 2011 -0400 ath9k: typo fix in a comment Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f6351d486dfecd56d57ee194f5d358d9a4fec840 Author: Pavel Roskin Date: Wed Jun 15 18:01:05 2011 -0400 ath9k: use standard max(), remove A_MAX macro Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit d3af4396cff3d86a6a37e1cc5fe8d077f62c263e Author: Mohammed Shafi Shajakhan Date: Wed Jun 15 21:22:16 2011 +0530 ath9k: remove a redundant call to pcipowersave during suspend/resume ath9k_stop will always call ath_radio_disable which will inturn call ath9k_hw_configpcipowersave, so no need to call it explicitly in ath9k_stop Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit a6f0f048875a07b2926c075744eb5edc41bc3c1d Author: Dan Carpenter Date: Wed Jun 15 16:10:10 2011 +0300 iwlegacy: fix up brokenness caused by cleanup Patch 7f1f9742514 "iwlegacy: refactor iwl4965_mac_channel_switch" reversed a test and also it changed a spin_lock_irq() to spin_lock(). I assume the spin_lock change was a mistake because the unlock was left as spin_unlock_irq(). Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit d4bb17c4bed70892ea8b749a843a516424ba5638 Author: Mohammed Shafi Shajakhan Date: Wed Jun 15 18:25:31 2011 +0530 ath9k: Add debug messages to track PAPRD failures Add few debug messages for some of the possible scenarios where we can detect PAPRD failures. this will help us to be sure that we had really enabled PAPRD Cc: susinder@qca.qualcomm.com Cc: senthilb@qca.qualcomm.com Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit aec7ffdf4ff24df1fe85ed5bc9e050c4dd77617b Author: Rafał Miłecki Date: Tue Jun 14 08:18:59 2011 +0200 b43: add Kconfig option for compiling SSB driver It is always "y" for now, b43 will not compile without CONFIG_SSB yet. This is just a first step of dropping SSB dependency. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 545a8aa793e04bee7a7e2aa8caa70bed94fd7a5c Author: Nikanth Karthikesan Date: Tue Jun 14 11:23:46 2011 +0530 if_spi: Fix compilation warning - unused variable if_spi: Fix compilation warning - unused variable 'spi' drivers/net/wireless/libertas/if_spi.c: In function ‘if_spi_init_card’: drivers/net/wireless/libertas/if_spi.c:1035: warning: unused variable ‘spi’ The variable is used only in a macro which uses the args only for DEBUG builds. Remove the 'spi' variable completely. Signed-off-by: Nikanth Karthikesan Acked-by: Dan Williams Signed-off-by: John W. Linville commit d7520b1d2a9ffae94323ffac9dc37d92f656051f Author: Rafał Miłecki Date: Mon Jun 13 16:20:06 2011 +0200 b43: HT-PHY: add place for writing HT PHY support This is totally broken plus we do not have specs for HT PHY yet. Just introduce place for writing driver if we discover anything. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 443c1a24710ce151874acdca7efb47622c098e80 Author: Rafał Miłecki Date: Mon Jun 13 16:20:05 2011 +0200 b43: define new PHYs and radio regs for cores >= 24 Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b856439b1b54358e580aaee5dbe683af5ada9403 Author: Eliad Peller Date: Mon Jun 13 12:47:30 2011 +0300 mac80211: add cancel_hw_scan() callback When suspending, __ieee80211_suspend() calls ieee80211_scan_cancel(), which will only cancel sw scan. In order to cancel hw scan, the low-level driver has to cancel it in the suspend() callback. however, this is too late, as a new scan_work will be enqueued (while the driver is going into suspend). Add a new cancel_hw_scan() callback, asking the driver to cancel an active hw scan, and call it in ieee80211_scan_cancel(). Signed-off-by: Eliad Peller Reviewed-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit eb40e3e8bb453519ae17d42e7cab6bdd2b4b9fc5 Author: Connor Hansen Date: Sat Jun 11 20:59:30 2011 +0200 drivers/ssb/driver_chipcommon_pmu.c: uninitilized warning warning message drivers/ssb/driver_chipcommon_pmu.c: In function ssb_pmu_resources_init drivers/ssb/driver_chipcommon_pmu.c:420:15: warning: updown_tab_size may be used uninitilized in this function. updown_tab_size and depend_tab_size may not be set in the bus->chip_id switch statement, so set to 0 by default to avoid using uninitialized stack space. Signed-off-by: Connor Hansen Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a6af1d848179c17deb94621c2e761769f0d99355 Author: Paul Stewart Date: Fri Jun 10 07:00:19 2011 -0800 mac80211: Start monitor work on restart Trigger connection monitor on resume from suspend. Since we have been sleeping, there is reason to suspect that we might not still be associated. The speed of detecting loss of {connection,authentication} is worth the cost of the small additional traffic at resume. Signed-off-by: Paul Stewart Signed-off-by: John W. Linville commit c52d4e5f3cd3939bf44e788fdcbce8dcebb6fe61 Author: Mike Frysinger Date: Fri Jun 17 04:16:58 2011 -0400 spi/bfin_spi: uninline fat queue funcs There's no need for these queue funcs to be inlined, so drop the markings. This shaves off a few hundred duplicated bytes. Signed-off-by: Mike Frysinger Signed-off-by: Grant Likely commit ddc0bf13d63715c2bce0fe8818fba12b82823283 Author: Mike Frysinger Date: Fri Jun 17 04:16:57 2011 -0400 spi/bfin_spi: constify pin array This array isn't written anywhere, so constify it. Signed-off-by: Mike Frysinger Signed-off-by: Grant Likely commit 47885ce81c7498c015e6763303821ab6e8a6e2cc Author: Mike Frysinger Date: Fri Jun 17 04:16:56 2011 -0400 spi/bfin_spi: use structs for accessing hardware regs Rather than hardcoding the register sizes/offsets in this file, use the existing struct in the spi header for reading/writing the hardware. Signed-off-by: Mike Frysinger Signed-off-by: Grant Likely commit f8db4cc4f2b11bdded6c94f0d55906847474b982 Merge: 2e2de2e e479c60 Author: Grant Likely Date: Fri Jun 17 08:32:26 2011 -0600 Merge branch 'spi/merge' into spi/next commit c4dc4d108ace27cc0c594b67bd6bd945deaac8c2 Author: Greg Dietsche Date: Thu Jun 16 07:09:30 2011 +0000 e1000: remove unnecessary code Compile tested. remove unnecessary code that matches this coccinelle pattern if (...) return ret; return ret; Signed-off-by: Greg Dietsche Signed-off-by: David S. Miller commit 0a3f084179731f6755462aa7fec677f8e1f0580a Author: Greg Dietsche Date: Thu Jun 16 07:04:30 2011 +0000 net: icplus: remove unnecessary code Compile tested. remove unnecessary code that matches this coccinelle pattern if (...) return ret; return ret; Signed-off-by: Greg Dietsche Signed-off-by: David S. Miller commit cb0a60564943db21ed3af975ac3d578cdc80b329 Author: Manuel Zerpies Date: Thu Jun 16 02:09:57 2011 +0000 net/rds: use prink_ratelimited() instead of printk_ratelimit() Since printk_ratelimit() shouldn't be used anymore (see comment in include/linux/printk.h), replace it with printk_ratelimited() Signed-off-by: Manuel Zerpies Signed-off-by: David S. Miller commit d751e623969bf758f3f75f59418b19ede570ab50 Author: Manuel Zerpies Date: Thu Jun 16 02:08:01 2011 +0000 net/can: use printk_ratelimited() instead of printk_ratelimit() Since printk_ratelimit() shouldn't be used anymore (see comment in include/linux/printk.h), replace it with printk_ratelimited(). Signed-off-by: Manuel Zerpies Signed-off-by: David S. Miller commit c63d6ea3060d9e10773e869b1112e3a0efbcf820 Author: Dan Carpenter Date: Wed Jun 15 03:11:42 2011 +0000 rtnetlink: unlock on error path in netlink_dump() In c7ac8679bec939 "rtnetlink: Compute and store minimum ifinfo dump size", we moved the allocation under the lock so we need to unlock on error path. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 59deab26c1974b29b7f501e0ace0673d5acadae1 Author: Joe Perches Date: Tue Jun 14 08:57:47 2011 +0000 gianfar: Use pr_, netdev_ and netif_ Use the current logging styles. Add #define DEBUG to get same output for _dbg messages. Convert a few bare printks to pr_err. Fix a likely copy/paste defect where a test was done with RX values: if (num_rx_qs > MAX_RX_QS) { but TX limits were emitted: printk(KERN_ERR "num_rx_qs(=%d) greater than MAX_RX_QS(=%d)\n", num_tx_qs, MAX_TX_QS); Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit ea110733874d5176cb56dcf612a629ffac09dbf0 Author: Joe Perches Date: Mon Jun 13 16:21:26 2011 +0000 net: Remove casts of void * Unnecessary casts of void * clutter the code. These are the remainder casts after several specific patches to remove netdev_priv and dev_priv. Done via coccinelle script: $ cat cast_void_pointer.cocci @@ type T; T *pt; void *pv; @@ - pt = (T *)pv; + pt = pv; Signed-off-by: Joe Perches Acked-by: Paul Moore Signed-off-by: David S. Miller commit 3c8def9776c3d4636291432522ea312f7a44be95 Author: Sathya Perla Date: Sun Jun 12 20:01:58 2011 +0000 be2net: support multiple TX queues This patch provides support for multiple TX queues. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 2e2de2e314672c8b6644f67a35556d6df780493d Author: Tomoya MORINAGA Date: Fri Jun 17 09:34:25 2011 +0900 spi/topcliff-pch: Support new device ML7223 IOH Support new device OKI SEMICONDUCTOR ML7223 IOH(Input/Output Hub). The ML7223 IOH is for MP(Media Phone) use. The ML7223 is companion chip for Intel Atom E6xx series. The ML7223 is completely compatible for Intel EG20T PCH. Signed-off-by: Tomoya MORINAGA Signed-off-by: Grant Likely commit e2ab43536c53ba112a0adfb4c0dba286544c41f6 Author: Gustavo F. Padovan Date: Fri Jun 10 21:28:49 2011 -0300 Bluetooth: Use bit operations on conn_state Instead of setting bits manually we use set_bit, test_bit, etc. Also remove L2CAP_ prefix from macros. Signed-off-by: Gustavo F. Padovan commit c1360a1cf35117d6f3898cb5183ce4349d06714c Author: Gustavo F. Padovan Date: Fri Jun 10 17:02:12 2011 -0300 Bluetooth: use bit operation on conf_state Instead of making the bit operations manually, we now use set_bit, test_bit, etc. Signed-off-by: Gustavo F. Padovan commit 7fbec224cfb44074ab88720c878aa3bdb3158377 Author: Antti Julku Date: Wed Jun 15 12:01:15 2011 +0300 Bluetooth: Add blacklisting support for mgmt interface Management interface commands for blocking and unblocking devices. Signed-off-by: Antti Julku Signed-off-by: Gustavo F. Padovan commit 33300571b1111264fd0c5701733f7576323f3e35 Author: Axel Lin Date: Tue Jun 14 19:12:57 2011 +0800 gpio/ml-ioh: fix off-by-one for displaying variable i in dev_err with the "for (; i != 0; i--)" sytax, i-- will be executed after the iteration. thus dev_err shows wrong i value. Switch to "while(--i >= 0)" which is better in readability. Signed-off-by: Axel Lin Signed-off-by: Grant Likely commit 544b2c91a9f14f9565af1972203438b7f49afd48 Author: Tejun Heo Date: Tue Jun 14 11:20:18 2011 +0200 ptrace: implement PTRACE_LISTEN The previous patch implemented async notification for ptrace but it only worked while trace is running. This patch introduces PTRACE_LISTEN which is suggested by Oleg Nestrov. It's allowed iff tracee is in STOP trap and puts tracee into quasi-running state - tracee never really runs but wait(2) and ptrace(2) consider it to be running. While ptracer is listening, tracee is allowed to re-enter STOP to notify an async event. Listening state is cleared on the first notification. Ptracer can also clear it by issuing INTERRUPT - tracee will re-trap into STOP with listening state cleared. This allows ptracer to monitor group stop state without running tracee - use INTERRUPT to put tracee into STOP trap, issue LISTEN and then wait(2) to wait for the next group stop event. When it happens, PTRACE_GETSIGINFO provides information to determine the current state. Test program follows. #define PTRACE_SEIZE 0x4206 #define PTRACE_INTERRUPT 0x4207 #define PTRACE_LISTEN 0x4208 #define PTRACE_SEIZE_DEVEL 0x80000000 static const struct timespec ts1s = { .tv_sec = 1 }; int main(int argc, char **argv) { pid_t tracee, tracer; int i; tracee = fork(); if (!tracee) while (1) pause(); tracer = fork(); if (!tracer) { siginfo_t si; ptrace(PTRACE_SEIZE, tracee, NULL, (void *)(unsigned long)PTRACE_SEIZE_DEVEL); ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL); repeat: waitid(P_PID, tracee, NULL, WSTOPPED); ptrace(PTRACE_GETSIGINFO, tracee, NULL, &si); if (!si.si_code) { printf("tracer: SIG %d\n", si.si_signo); ptrace(PTRACE_CONT, tracee, NULL, (void *)(unsigned long)si.si_signo); goto repeat; } printf("tracer: stopped=%d signo=%d\n", si.si_signo != SIGTRAP, si.si_signo); if (si.si_signo != SIGTRAP) ptrace(PTRACE_LISTEN, tracee, NULL, NULL); else ptrace(PTRACE_CONT, tracee, NULL, NULL); goto repeat; } for (i = 0; i < 3; i++) { nanosleep(&ts1s, NULL); printf("mother: SIGSTOP\n"); kill(tracee, SIGSTOP); nanosleep(&ts1s, NULL); printf("mother: SIGCONT\n"); kill(tracee, SIGCONT); } nanosleep(&ts1s, NULL); kill(tracer, SIGKILL); kill(tracee, SIGKILL); return 0; } This is identical to the program to test TRAP_NOTIFY except that tracee is PTRACE_LISTEN'd instead of PTRACE_CONT'd when group stopped. This allows ptracer to monitor when group stop ends without running tracee. # ./test-listen tracer: stopped=0 signo=5 mother: SIGSTOP tracer: SIG 19 tracer: stopped=1 signo=19 mother: SIGCONT tracer: stopped=0 signo=5 tracer: SIG 18 mother: SIGSTOP tracer: SIG 19 tracer: stopped=1 signo=19 mother: SIGCONT tracer: stopped=0 signo=5 tracer: SIG 18 mother: SIGSTOP tracer: SIG 19 tracer: stopped=1 signo=19 mother: SIGCONT tracer: stopped=0 signo=5 tracer: SIG 18 -v2: Moved JOBCTL_LISTENING check in wait_task_stopped() into task_stopped_code() as suggested by Oleg. Signed-off-by: Tejun Heo Cc: Oleg Nesterov commit fb1d910c178ba0c5bc32d3e5a9e82e05b7aad3cd Author: Tejun Heo Date: Tue Jun 14 11:20:17 2011 +0200 ptrace: implement TRAP_NOTIFY and use it for group stop events Currently there's no way for ptracer to find out whether group stop finished other than polling with INTERRUPT - GETSIGINFO - CONT sequence. This patch implements group stop notification for ptracer using STOP traps. When group stop state of a seized tracee changes, JOBCTL_TRAP_NOTIFY is set, which schedules a STOP trap which is sticky - it isn't cleared by other traps and at least one STOP trap will happen eventually. STOP trap is synchronization point for event notification and the tracer can determine the current group stop state by looking at the signal number portion of exit code (si_status from waitid(2) or si_code from PTRACE_GETSIGINFO). Notifications are generated both on start and end of group stops but, because group stop participation always happens before STOP trap, this doesn't cause an extra trap while tracee is participating in group stop. The symmetry will be useful later. Note that this notification works iff tracee is not trapped. Currently there is no way to be notified of group stop state changes while tracee is trapped. This will be addressed by a later patch. An example program follows. #define PTRACE_SEIZE 0x4206 #define PTRACE_INTERRUPT 0x4207 #define PTRACE_SEIZE_DEVEL 0x80000000 static const struct timespec ts1s = { .tv_sec = 1 }; int main(int argc, char **argv) { pid_t tracee, tracer; int i; tracee = fork(); if (!tracee) while (1) pause(); tracer = fork(); if (!tracer) { siginfo_t si; ptrace(PTRACE_SEIZE, tracee, NULL, (void *)(unsigned long)PTRACE_SEIZE_DEVEL); ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL); repeat: waitid(P_PID, tracee, NULL, WSTOPPED); ptrace(PTRACE_GETSIGINFO, tracee, NULL, &si); if (!si.si_code) { printf("tracer: SIG %d\n", si.si_signo); ptrace(PTRACE_CONT, tracee, NULL, (void *)(unsigned long)si.si_signo); goto repeat; } printf("tracer: stopped=%d signo=%d\n", si.si_signo != SIGTRAP, si.si_signo); ptrace(PTRACE_CONT, tracee, NULL, NULL); goto repeat; } for (i = 0; i < 3; i++) { nanosleep(&ts1s, NULL); printf("mother: SIGSTOP\n"); kill(tracee, SIGSTOP); nanosleep(&ts1s, NULL); printf("mother: SIGCONT\n"); kill(tracee, SIGCONT); } nanosleep(&ts1s, NULL); kill(tracer, SIGKILL); kill(tracee, SIGKILL); return 0; } In the above program, tracer keeps tracee running and gets notification of each group stop state changes. # ./test-notify tracer: stopped=0 signo=5 mother: SIGSTOP tracer: SIG 19 tracer: stopped=1 signo=19 mother: SIGCONT tracer: stopped=0 signo=5 tracer: SIG 18 mother: SIGSTOP tracer: SIG 19 tracer: stopped=1 signo=19 mother: SIGCONT tracer: stopped=0 signo=5 tracer: SIG 18 mother: SIGSTOP tracer: SIG 19 tracer: stopped=1 signo=19 mother: SIGCONT tracer: stopped=0 signo=5 tracer: SIG 18 Signed-off-by: Tejun Heo Cc: Oleg Nesterov commit fca26f260c528ee51a2e451b5b200aeb528f3e09 Author: Tejun Heo Date: Tue Jun 14 11:20:16 2011 +0200 ptrace: implement PTRACE_INTERRUPT Currently, there's no way to trap a running ptracee short of sending a signal which has various side effects. This patch implements PTRACE_INTERRUPT which traps ptracee without any signal or job control related side effect. The implementation is almost trivial. It uses the group stop trap - SIGTRAP | PTRACE_EVENT_STOP << 8. A new trap flag JOBCTL_TRAP_INTERRUPT is added, which is set on PTRACE_INTERRUPT and cleared when any trap happens. As INTERRUPT should be useable regardless of the current state of tracee, task_is_traced() test in ptrace_check_attach() is skipped for INTERRUPT. PTRACE_INTERRUPT is available iff tracee is attached with PTRACE_SEIZE. Test program follows. #define PTRACE_SEIZE 0x4206 #define PTRACE_INTERRUPT 0x4207 #define PTRACE_SEIZE_DEVEL 0x80000000 static const struct timespec ts100ms = { .tv_nsec = 100000000 }; static const struct timespec ts1s = { .tv_sec = 1 }; static const struct timespec ts3s = { .tv_sec = 3 }; int main(int argc, char **argv) { pid_t tracee; tracee = fork(); if (tracee == 0) { nanosleep(&ts100ms, NULL); while (1) { printf("tracee: alive pid=%d\n", getpid()); nanosleep(&ts1s, NULL); } } if (argc > 1) kill(tracee, SIGSTOP); nanosleep(&ts100ms, NULL); ptrace(PTRACE_SEIZE, tracee, NULL, (void *)(unsigned long)PTRACE_SEIZE_DEVEL); if (argc > 1) { waitid(P_PID, tracee, NULL, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, NULL); } nanosleep(&ts3s, NULL); printf("tracer: INTERRUPT and DETACH\n"); ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL); waitid(P_PID, tracee, NULL, WSTOPPED); ptrace(PTRACE_DETACH, tracee, NULL, NULL); nanosleep(&ts3s, NULL); printf("tracer: exiting\n"); kill(tracee, SIGKILL); return 0; } When called without argument, tracee is seized from running state, interrupted and then detached back to running state. # ./test-interrupt tracee: alive pid=4546 tracee: alive pid=4546 tracee: alive pid=4546 tracer: INTERRUPT and DETACH tracee: alive pid=4546 tracee: alive pid=4546 tracee: alive pid=4546 tracer: exiting When called with argument, tracee is seized from stopped state, continued, interrupted and then detached back to stopped state. # ./test-interrupt 1 tracee: alive pid=4548 tracee: alive pid=4548 tracee: alive pid=4548 tracer: INTERRUPT and DETACH tracer: exiting Before PTRACE_INTERRUPT, once the tracee was running, there was no way to trap tracee and do PTRACE_DETACH without causing side effect. -v2: Updated to use task_set_jobctl_pending() so that it doesn't end up scheduling TRAP_STOP if child is dying which may make the child unkillable. Spotted by Oleg. Signed-off-by: Tejun Heo Cc: Oleg Nesterov commit 3544d72a0e10d0aa1c1bd59ed77a53a59cdc12f7 Author: Tejun Heo Date: Tue Jun 14 11:20:15 2011 +0200 ptrace: implement PTRACE_SEIZE PTRACE_ATTACH implicitly issues SIGSTOP on attach which has side effects on tracee signal and job control states. This patch implements a new ptrace request PTRACE_SEIZE which attaches a tracee without trapping it or affecting its signal and job control states. The usage is the same with PTRACE_ATTACH but it takes PTRACE_SEIZE_* flags in @data. Currently, the only defined flag is PTRACE_SEIZE_DEVEL which is a temporary flag to enable PTRACE_SEIZE. PTRACE_SEIZE will change ptrace behaviors outside of attach itself. The changes will be implemented gradually and the DEVEL flag is to prevent programs which expect full SEIZE behavior from using it before all the behavior modifications are complete while allowing unit testing. The flag will be removed once SEIZE behaviors are completely implemented. * PTRACE_SEIZE, unlike ATTACH, doesn't force tracee to trap. After attaching tracee continues to run unless a trap condition occurs. * PTRACE_SEIZE doesn't affect signal or group stop state. * If PTRACE_SEIZE'd, group stop uses PTRACE_EVENT_STOP trap which uses exit_code of (signr | PTRACE_EVENT_STOP << 8) where signr is one of the stopping signals if group stop is in effect or SIGTRAP otherwise, and returns usual trap siginfo on PTRACE_GETSIGINFO instead of NULL. Seizing sets PT_SEIZED in ->ptrace of the tracee. This flag will be used to determine whether new SEIZE behaviors should be enabled. Test program follows. #define PTRACE_SEIZE 0x4206 #define PTRACE_SEIZE_DEVEL 0x80000000 static const struct timespec ts100ms = { .tv_nsec = 100000000 }; static const struct timespec ts1s = { .tv_sec = 1 }; static const struct timespec ts3s = { .tv_sec = 3 }; int main(int argc, char **argv) { pid_t tracee; tracee = fork(); if (tracee == 0) { nanosleep(&ts100ms, NULL); while (1) { printf("tracee: alive\n"); nanosleep(&ts1s, NULL); } } if (argc > 1) kill(tracee, SIGSTOP); nanosleep(&ts100ms, NULL); ptrace(PTRACE_SEIZE, tracee, NULL, (void *)(unsigned long)PTRACE_SEIZE_DEVEL); if (argc > 1) { waitid(P_PID, tracee, NULL, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, NULL); } nanosleep(&ts3s, NULL); printf("tracer: exiting\n"); return 0; } When the above program is called w/o argument, tracee is seized while running and remains running. When tracer exits, tracee continues to run and print out messages. # ./test-seize-simple tracee: alive tracee: alive tracee: alive tracer: exiting tracee: alive tracee: alive When called with an argument, tracee is seized from stopped state and continued, and returns to stopped state when tracer exits. # ./test-seize tracee: alive tracee: alive tracee: alive tracer: exiting # ps -el|grep test-seize 1 T 0 4720 1 0 80 0 - 941 signal ttyS0 00:00:00 test-seize -v2: SEIZE doesn't schedule TRAP_STOP and leaves tracee running as Jan suggested. -v3: PTRACE_EVENT_STOP traps now report group stop state by signr. If group stop is in effect the stop signal number is returned as part of exit_code; otherwise, SIGTRAP. This was suggested by Denys and Oleg. Signed-off-by: Tejun Heo Cc: Jan Kratochvil Cc: Denys Vlasenko Cc: Oleg Nesterov commit 73ddff2bee159ffb580bd24faf625cd5e628f5ec Author: Tejun Heo Date: Tue Jun 14 11:20:14 2011 +0200 job control: introduce JOBCTL_TRAP_STOP and use it for group stop trap do_signal_stop() implemented both normal group stop and trap for group stop while ptraced. This approach has been enough but scheduled changes require trap mechanism which can be used in more generic manner and using group stop trap for generic trap site simplifies both userland visible interface and implementation. This patch adds a new jobctl flag - JOBCTL_TRAP_STOP. When set, it triggers a trap site, which behaves like group stop trap, in get_signal_to_deliver() after checking for pending signals. While ptraced, do_signal_stop() doesn't stop itself. It initiates group stop if requested and schedules JOBCTL_TRAP_STOP and returns. The caller - get_signal_to_deliver() - is responsible for checking whether TRAP_STOP is pending afterwards and handling it. ptrace_attach() is updated to use JOBCTL_TRAP_STOP instead of JOBCTL_STOP_PENDING and __ptrace_unlink() to clear all pending trap bits and TRAPPING so that TRAP_STOP and future trap bits don't linger after detach. While at it, add proper function comment to do_signal_stop() and make it return bool. -v2: __ptrace_unlink() updated to clear JOBCTL_TRAP_MASK and TRAPPING instead of JOBCTL_PENDING_MASK. This avoids accidentally clearing JOBCTL_STOP_CONSUME. Spotted by Oleg. -v3: do_signal_stop() updated to return %false without dropping siglock while ptraced and TRAP_STOP check moved inside for(;;) loop after group stop participation. This avoids unnecessary relocking and also will help avoiding unnecessary traps by consuming group stop before handling pending traps. -v4: Jobctl trap handling moved into a separate function - do_jobctl_trap(). Signed-off-by: Tejun Heo Cc: Oleg Nesterov commit a57339b4b5daf23b4cec450b37906d5f8b5fa722 Author: David Jander Date: Tue Jun 14 11:00:56 2011 +0200 gpio/pca953x: Deprecate meaningless device-tree bindings The property 'polarity' is handled by the GPIO core, and the 'gpio-base' should be assigned automatically. It is meaningless in the device-tree, since GPIO's are identified by the "chip-name"/offset pair. This way, the whole pca953x_get_alt_pdata() can hopefully soon go away. We still need to check whether we really want GPIO-interrupt functionality by simply looking if the I2C node has an interrupts property defined, since this property is not used for anything else. Signed-off-by: David Jander Signed-off-by: Grant Likely commit c6dcf592437e5919cb03af5dcfe369702e6a4a7c Author: David Jander Date: Tue Jun 14 11:00:55 2011 +0200 gpio/pca953x: Remove dynamic platform data pointer In the case that we obtain device-tree data to fill in platform_data, the new platform data struct was dynamically allocated, but the pointer to it was not used everywhere it should. It seems easier to fix this issue by removing the dynamic allocation altogether since its data is only used during driver probing. Signed-off-by: David Jander Signed-off-by: Grant Likely commit c609c05db10dcb020f6869186e548a0596a78896 Author: David Jander Date: Tue Jun 14 11:00:54 2011 +0200 gpio/pca953x: Fix IRQ support. It seems that in the normal case, IRQ_NOREQUEST needs to be explicitly cleared, otherwise claiming the interrupt fails. In the case of sparse interrupts, the descriptor needs to be allocated first. Signed-off-by: David Jander Signed-off-by: Grant Likely commit 8e46ea3ec8b132bffd989741e8d154accb623645 Merge: 2bc7c85 e5ff444 Author: Grant Likely Date: Thu Jun 16 13:31:42 2011 -0600 Merge branch 'for_3.1/gpio-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into gpio/next commit b2a66aad8620337e38d6692f03d94a03d5129840 Author: Antti Julku Date: Wed Jun 15 12:01:14 2011 +0300 Bluetooth: Move blacklisting functions to hci_core Move blacklisting functions to hci_core.c, so that they can be used by both management interface and hci socket interface. Signed-off-by: Antti Julku Signed-off-by: Gustavo F. Padovan commit e5ff4440cf5206fbb99d9a354ed9024eb3da047d Author: Kevin Hilman Date: Fri Apr 22 14:37:16 2011 -0700 gpio/omap: cleanup show revision, remove cpu_is checks, display only once Remove cpu_is_* checks from gpio_show_revision() by passing in the revision address offset from platform data. SoCs with no revision register (15xx, 7xx, and all MPUIOs) use -1 (actually, USHRT_MAX) to signify no register. While here, all GPIO banks are assumed to be the same revision, so fix show_revision() to only show the revision for the first bank it finds. This removes duplicate GPIO revision prints during boot. Thanks to Charulatha V for finding/fixing a few -1s that were missed in the original patch. Signed-off-by: Kevin Hilman commit 9942da0e4b037a852b230208410141768d473deb Author: Kevin Hilman Date: Fri Apr 22 12:02:05 2011 -0700 gpio/omap: debounce remove SoC specific registers, use pdata Use register offsets passed in from pdata for accessing debounce registers. Signed-off-by: Kevin Hilman commit f64ad1a0e21a4948894c7a1b6f2f03b5e7151ddf Author: Kevin Hilman Date: Fri Apr 22 09:45:27 2011 -0700 gpio/omap: cleanup _set_gpio_wakeup(), remove ifdefs Make _set_gpio_wakeup() generic by removing ifdefs. Code for the various SoCs/bank-methods was already the same, except for the non-wakeup GPIO checking. But that flag is set on a per-SoC basis, so can be used for all SoCs. While here, use dev_err() and remove GPIO bank calculation assumption based on subtracting bank pointers. Signed-off-by: Kevin Hilman commit 7a6f8416e22a6d9f4708847bb2d88f0719b0f49e Author: Kevin Hilman Date: Fri Apr 22 08:15:46 2011 -0700 gpio/omap: remove useless gpio_valid() & check_gpio() checks These functions are useless. They are only called in a few places, and where they are called, the GPIO has already been converted from an IRQ or masked, so these functions will never fail. Signed-off-by: Kevin Hilman commit f8b46b58348f151e45274c93ebe51467cf10e2f2 Author: Kevin Hilman Date: Thu Apr 21 13:23:34 2011 -0700 gpio/omap: convert MPUIO IRQ over to generic irq_chip MPUIO banks have their own dedicated IRQ chip interface, separate from the "normal" GPIO banks. Convert the MPUIO IRQ chip over to using the new generic IRQ chip interface. Signed-off-by: Kevin Hilman commit 28f3b5a073b6dbafbb78cae65b22ea90547d7a87 Author: Kevin Hilman Date: Thu Apr 21 09:53:06 2011 -0700 gpio/omap: conslidate enable/disable of GPIO IRQs, remove ifdefs Cleanup GPIO IRQ enable/disable handling by removing SoC-specific Also split enable/disable IRQ into separate functions for better readability and also facilitate potentially moving to generic irq_chip in the future. Signed-off-by: Kevin Hilman commit eef4bec7bf2fa9953f6b8f371d5914d014f45d40 Author: Kevin Hilman Date: Thu Apr 21 09:17:35 2011 -0700 gpio/omap: consolidate IRQ status handling, remove #ifdefs Cleanup IRQ status handling by passing IRQ status register offsets via platform data. Cleans up clearing of GPIO IRQ status and GPIO ISR handler. Signed-off-by: Kevin Hilman commit fa87931acb8203a1f40a3c637863ad238f70cd40 Author: Kevin Hilman Date: Wed Apr 20 16:31:23 2011 -0700 gpio/omap: consolidate direction, input, output, remove #ifdefs Add register offset fields to GPIO platform_data for registers. This patch adds registers that control direction, input and output data. Using these register offsets in the common driver allows removal of #ifdefs and greatly improves readability. Also create dedicated data out functions: one for banks with dedicated set/clear registers, and another for banks with a single mask register. Signed-off-by: Kevin Hilman commit a8be8dafd00e3ccf4f85e2f30babf42be5076324 Author: Charulatha V Date: Fri Apr 22 16:38:16 2011 +0530 gpio/omap: remove get_gpio_bank() use chip info to get the pointer to the struct gpio_bank for a given GPIO bank and remove get_gpio_bank(). Signed-off-by: Charulatha V commit 129fd2230733ff0457e76d6aabde136cf8666bc0 Author: Kevin Hilman Date: Fri Apr 22 07:59:07 2011 -0700 gpio/omap: replace get_gpio_index() by using bank width The get_gpio_index() function, littered with cpu_is_* checks can be easily replaced by using bitops based on the GPIO bank width. Do so. Signed-off-by: Kevin Hilman commit c390aad0330f330ce9818ef5269169bbae335da9 Author: Kevin Hilman Date: Thu Apr 21 09:33:36 2011 -0700 gpio/omap: _get_gpio_irqbank_mask: replace hard-coded mask with bank->width Replace hard-coded mask values with bank->width which is already coming from platform_data. Signed-off-by: Kevin Hilman commit d5f46247e77a63bc3bb4b3f979281e5c700c218e Author: Kevin Hilman Date: Thu Apr 21 09:23:00 2011 -0700 gpio/omap: move bank width into struct gpio_bank Rather than having a file-global bank_width variable, move it into struct gpio_bank so it can be bank-specific. Note the bank width is already passed per-bank via platform_data, so current code would be incorrect if any banks had different width. Signed-off-by: Kevin Hilman commit bdba15db4d81940776ab96ea9f558b7388b0f7fe Author: Kevin Hilman Date: Thu Apr 21 08:44:45 2011 -0700 gpio/omap: remove MPUIO handling from _clear_gpio_irqbank() Remove the OMAP1 #ifdef and MPUIO special case for _clear_gpio_irqbank() The MPUIOs do not need a register access to ack/clear the IRQ status, since reading the IRQ status clears it. In addition, the MPUIO irq_chip has an empty ack method, so _clear_gpio_irqbank() is never used for MPUIOs. Signed-off-by: Kevin Hilman commit df3c851716424fda0c7b14c4cae71cea467a9944 Author: Kevin Hilman Date: Thu Apr 21 09:08:15 2011 -0700 gpio/omap: _clear_gpio_irqbank: fix flushing of posted write In commit 78a1a6d3411de1a8b0dc1cb92754b5f12f251912 (ARM: OMAP4: Update the GPIO support) braces were mistakenly added to included the register read-back inside the cpu_is_* checking. Remove the braces, ensuring that a register read-back is done, even when the IRQSTATUS2 register is not written. Note that the register read-back might be IRQSTATUS1 or IRQSTATUS2 depending on the CPU, but a read-back of any register in that region will cause a flush of the posted writes. Signed-off-by: Kevin Hilman commit 15b4d93f0316caec44e07255c1d73bde4fac12e4 Author: Jozsef Kadlecsik Date: Thu Jun 16 19:01:26 2011 +0200 netfilter: ipset: whitespace and coding fixes detected by checkpatch.pl Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit e385357a2f214e4d4e79c6118f1bede2572e0701 Author: Jozsef Kadlecsik Date: Thu Jun 16 19:00:48 2011 +0200 netfilter: ipset: hash:net,iface type introduced The hash:net,iface type makes possible to store network address and interface name pairs in a set. It's mostly suitable for egress and ingress filtering. Examples: # ipset create test hash:net,iface # ipset add test 192.168.0.0/16,eth0 # ipset add test 192.168.0.0/24,eth1 Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 9b03a5ef49c01515387133ac5bd47073fae56318 Author: Jozsef Kadlecsik Date: Thu Jun 16 18:58:20 2011 +0200 netfilter: ipset: use the stored first cidr value instead of '1' Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 9d8832320f832b9360f6bca71cc045d2e4df171b Author: Jozsef Kadlecsik Date: Thu Jun 16 18:57:44 2011 +0200 netfilter: ipset: fix return code for destroy when sets are in use Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit b66554cf03fe866b3fb7b9f40f430b8ba09f41c8 Author: Jozsef Kadlecsik Date: Thu Jun 16 18:56:47 2011 +0200 netfilter: ipset: add xt_action_param to the variant level kadt functions, ipset API change With the change the sets can use any parameter available for the match and target extensions, like input/output interface. It's required for the hash:net,iface set type. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit e6146e8684ed6dd4c0ff85ca21bf4324114fbbfa Author: Jozsef Kadlecsik Date: Thu Jun 16 18:55:58 2011 +0200 netfilter: ipset: use unified from/to address masking and check the usage Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit f3dfd1538f26f1ecf86daaf3d0c321d87e5de041 Author: Jozsef Kadlecsik Date: Thu Jun 16 18:54:43 2011 +0200 netfilter: ipset: take into account cidr value for the from address when creating the set When creating a set from a range expressed as a network like 10.1.1.172/29, the from address was taken as the IP address part and not masked with the netmask from the cidr. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit c64562eaf2ad61d7492788ef95678f52d0d28f2a Author: Jozsef Kadlecsik Date: Thu Jun 16 18:53:51 2011 +0200 netfilter: ipset: adding ranges to hash types with timeout could still fail, fixed The patch "Fix adding ranges to hash types" had got a mistypeing in the timeout variant of the hash types, which actually made the patch ineffective. Fixed! Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit d0d9e0a5a8db05b2179c2ffb25d1c2850cce3c8e Author: Jozsef Kadlecsik Date: Thu Jun 16 18:52:41 2011 +0200 netfilter: ipset: support range for IPv4 at adding/deleting elements for hash:*net* types The range internally is converted to the network(s) equal to the range. Example: # ipset new test hash:net # ipset add test 10.2.0.0-10.2.1.12 # ipset list test Name: test Type: hash:net Header: family inet hashsize 1024 maxelem 65536 Size in memory: 16888 References: 0 Members: 10.2.1.12 10.2.1.0/29 10.2.0.0/24 10.2.1.8/30 Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit f1e00b39797944bf25addaf543839feeb25fbdc5 Author: Jozsef Kadlecsik Date: Thu Jun 16 18:51:41 2011 +0200 netfilter: ipset: set type support with multiple revisions added A set type may have multiple revisions, for example when syntax is extended. Support continuous revision ranges in set types. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 3d14b171f004f75c2d1e82e10545966f94132705 Author: Jozsef Kadlecsik Date: Thu Jun 16 18:49:17 2011 +0200 netfilter: ipset: fix adding ranges to hash types When ranges are added to hash types, the elements may trigger rehashing the set. However, the last successfully added element was not kept track so the adding started again with the first element after the rehashing. Bug reported by Mr Dash Four. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit c1e2e04388b2539960453689b8e721709f71dc9c Author: Jozsef Kadlecsik Date: Thu Jun 16 18:47:07 2011 +0200 netfilter: ipset: support listing setnames and headers too Current listing makes possible to list sets with full content only. The patch adds support partial listings, i.e. listing just the existing setnames or listing set headers, without set members. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit ac8cc925d35fc5a05da2bd097e602f20de2478a4 Author: Jozsef Kadlecsik Date: Thu Jun 16 18:42:40 2011 +0200 netfilter: ipset: options and flags support added to the kernel API The support makes possible to specify the timeout value for the SET target and a flag to reset the timeout for already existing entries. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 483e9ea357d1c0b74a149087bf06f17ae62f750a Author: Jozsef Kadlecsik Date: Thu Jun 16 18:41:53 2011 +0200 netfilter: ipset: whitespace fixes: some space before tab slipped in Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 5416219e5ca4504ea80d662fdda7337e52e86ee5 Author: Jozsef Kadlecsik Date: Thu Jun 16 18:40:55 2011 +0200 netfilter: ipset: timeout can be modified for already added elements When an element to a set with timeout added, one can change the timeout by "readding" the element with the "-exist" flag. That means the timeout value is reset to the specified one (or to the default from the set specification if the "timeout n" option is not used). Example ipset add foo 1.2.3.4 timeout 10 ipset add foo 1.2.3.4 timeout 600 -exist Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 3192b920bf7d0c528ab54e7d3689f44055316a37 Author: Christoph Lameter Date: Tue Jun 14 16:16:36 2011 -0500 slab, slub, slob: Unify alignment definition Every slab has its on alignment definition in include/linux/sl?b_def.h. Extract those and define a common set in include/linux/slab.h. SLOB: As notes sometimes we need double word alignment on 32 bit. This gives all structures allocated by SLOB a unsigned long long alignment like the others do. SLAB: If ARCH_SLAB_MINALIGN is not set SLAB would set ARCH_SLAB_MINALIGN to zero meaning no alignment at all. Give it the default unsigned long long alignment. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 40b7f3dfcc5ab211a0b8d916751bb22ac2290806 Author: Borislav Petkov Date: Wed Jun 15 15:34:57 2011 +0200 x86, microcode, AMD: Fix section header size check The ucode size check has to take the section header size into account too when sanity checking the section length. Shorten and clarify define names, while at it. Caught-by: Ben Hutchings Link: http://lkml.kernel.org/r/1302752223.5282.674.camel@localhost Signed-off-by: Borislav Petkov commit 619c15171f6f58681013cdd439632505fd563ba6 Merge: 1f2d9c9 6c8f794 Author: Patrick McHardy Date: Thu Jun 16 17:05:24 2011 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next-2.6 commit 1f2d9c9dd8276b1c19ef80e6d8059fe47506d4c3 Merge: a7fed76 520b275 Author: Patrick McHardy Date: Thu Jun 16 17:01:10 2011 +0200 Merge branch 'master' of /repos/git/net-next-2.6 commit 78b2b911bf7020359a2adb54adfca522cf776141 Author: Linus Walleij Date: Thu Jun 16 10:14:46 2011 +0200 spi/pl022: strengthen FIFO watermark level checks The platform configuration can select custom FIFO watermarks, but these may conflict the actual FIFO size of the PL022 variant if set too high. So strengthen the sanity checks to deny any conflicting settings. Signed-off-by: Linus Walleij Signed-off-by: Grant Likely commit bcda6ff8ddffa593635ed7e6f620a1ef3b827ffc Author: Rabin Vincent Date: Thu Jun 16 10:14:40 2011 +0200 spi/pl022: support runtime PM Insert notifiers for the runtime PM API. With this the runtime PM layer kicks in to action where used. Signed-off-by: Rabin Vincent Reviewed-by: Virupax Sadashivpetimath Reviewed-by: Jonas Aberg Reviewed-by: Srinidhi Kasagar [Rebased to Linux 3.0-rc3, edit description] Signed-off-by: Linus Walleij Signed-off-by: Grant Likely commit 083be3f05371b8fe0606f3abf029beeeff66d633 Author: Linus Walleij Date: Thu Jun 16 10:14:28 2011 +0200 spi/pl022: initialize burstsize from FIFO trigger level Configure the DMA burstsize from the FIFO trigger level supplied with the controller configuration data. This is based on a patch from Virupax, but I rewrote it differently. Reported-by: Virupax Sadashivpetimath Signed-off-by: Linus Walleij Signed-off-by: Grant Likely commit af07ce3e77d3b24ab1d71fcc5833d41800f23b2b Merge: b4f9f2b 0ef5bf1 Author: Ingo Molnar Date: Thu Jun 16 13:26:23 2011 +0200 Merge branch 'tip/perf/core-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core Conflicts: Makefile commit b4f9f2b64aa189c5584f266f4f0343af7a705441 Merge: 7636913 2c53b43 Author: Ingo Molnar Date: Thu Jun 16 13:23:15 2011 +0200 Merge commit 'v3.0-rc3' into perf/core Merge reason: add the latest fixes. Signed-off-by: Ingo Molnar commit c7cece89f1b00b56276303942f96ec67cf206e1e Author: Hidetoshi Seto Date: Wed Jun 8 11:02:03 2011 +0900 x86, mce: Use mce_sysdev_ prefix to group functions There are many functions named mce_* so use a new prefix for the subset of functions related to sysfs support. And since f3c6ea1b06c71b43f751b36bd99345369fe911af introduces syscore_ops, use the prefix mce_syscore for some functions related to power management which were in sysdev_class before. Before: After: mce_device mce_sysdev mce_sysclass mce_sysdev_class mce_attrs mce_sysdev_attrs mce_dev_initialized mce_sysdev_initialized mce_create_device mce_sysdev_create mce_remove_device mce_sysdev_remove mce_suspend mce_syscore_suspend mce_shutdown mce_syscore_shutdown mce_resume mce_syscore_resume Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED81B.8020506@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 93b62c3cf59d44850cbe9f04d58da08930e3fb0b Author: Hidetoshi Seto Date: Wed Jun 8 11:00:45 2011 +0900 x86, mce: Use mce_chrdev_ prefix to group functions There are many functions named mce_* so use a new prefix for the subset of functions dealing with the character device /dev/mcelog. This change doesn't impact the mce-inject module because the exported symbol mce_chrdev_ops already has the prefix, therefore it is left unchanged. Before: After: mce_wait mce_chrdev_wait mce_state_lock mce_chrdev_state_lock open_count mce_chrdev_open_count open_exclu mce_chrdev_open_exclu mce_open mce_chrdev_open mce_release mce_chrdev_release mce_read_mutex mce_chrdev_read_mutex mce_read mce_chrdev_read mce_poll mce_chrdev_poll mce_ioctl mce_chrdev_ioctl mce_log_device mce_chrdev_device Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED7CD.3040500@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 559faa6be143b8aa7a07b12f618d29fbc1c8eb0d Author: Hidetoshi Seto Date: Wed Jun 8 11:00:08 2011 +0900 x86, mce: Cleanup mce_read() Use a temporary local variable m to simplify the code. No change in logic. Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED7A8.8020307@jp.fujitsu.com Signed-off-by: Borislav Petkov commit f6783c4234e65bd6f85596d97745ccdbf041cb63 Author: Hidetoshi Seto Date: Wed Jun 8 10:59:19 2011 +0900 x86, mce: Cleanup mce_create()/remove_device() Use temporary local variable sysdev to simplify the code. No change in logic. Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED777.7080205@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 3a97fc34130326da87b20de5d0259c35406707ce Author: Hidetoshi Seto Date: Wed Jun 8 10:58:35 2011 +0900 x86, mce: Check the result of ancient_init() Because "ancient CPUs" like p5 and winchip don't have X86_FEATURE_MCA (I suppose so), mcheck_cpu_init() on such CPUs will return at check of mce_available() after __mcheck_cpu_ancient_init(). It is hard to know this implicit behavior without knowing the CPUs well. So make it clear that we leave mcheck_cpu_init() when the CPU is initialized in __mcheck_cpu_ancient_init(). Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED74B.20502@jp.fujitsu.com Signed-off-by: Borislav Petkov commit b8325c5b110d7ff460b79588e7e9afdcc73d5c3c Author: Hidetoshi Seto Date: Wed Jun 8 10:57:46 2011 +0900 x86, mce: Introduce mce_gather_info() This patch introduces mce_gather_info() which is to be called at the beginning of error handling and gathers minimum error information from proper error registers (and saved registers). As the result of mce_get_rip() is integrated, unnecessary zeroing is removed. This also takes care of saving RIP which is required to make some decision about error severity for SRAR errors, instead of retrieving it later in the handler. Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED71A.1060906@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 2b90e77eaee8809073db5cf43ac9795cc2054dc0 Author: Hidetoshi Seto Date: Wed Jun 8 10:56:56 2011 +0900 x86, mce: Replace MCM_ with MCI_MISC_ Follow other MCi register defines. Plus define MCI_MISC_ADDR_LSB() and MCI_MISC_ADDR_MODE(). Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED6E8.9090509@jp.fujitsu.com Signed-off-by: Borislav Petkov commit b77e70bf3535e0bd5472e0681f41cce4ae0598bb Author: Hidetoshi Seto Date: Wed Jun 8 10:56:02 2011 +0900 x86, mce: Replace MCE_SELF_VECTOR by irq_work The MCE handler uses a special vector for self IPI to invoke post-emergency processing in an interrupt context, e.g. call an NMI-unsafe function, wakeup loggers, schedule time-consuming work for recovery, etc. This mechanism is now generalized by the following commit: > e360adbe29241a0194e10e20595360dd7b98a2b3 > Author: Peter Zijlstra > Date: Thu Oct 14 14:01:34 2010 +0800 > > irq_work: Add generic hardirq context callbacks > > Provide a mechanism that allows running code in IRQ context. It is > most useful for NMI code that needs to interact with the rest of the > system -- like wakeup a task to drain buffers. : So change to use provided generic mechanism. Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED6B2.6080005@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 7639bfc753f70321dbea83852e1cc47a45b681d7 Author: Hidetoshi Seto Date: Wed Jun 8 10:55:05 2011 +0900 x86, mce, severity: Clean up trivial coding style problems More specifically: - sort bits in the macros - use BITCLR/BITSET - coordinate message pattern - use m for struct mce - cleanup for severities_debugfs_init() No functional change. Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED679.9090503@jp.fujitsu.com Signed-off-by: Borislav Petkov commit a17957cdec69acb9e26319618b95a810a936e637 Author: Hidetoshi Seto Date: Wed Jun 8 10:53:35 2011 +0900 x86, mce, severity: Cleanup severity table The current format of an item in this table is: condition(param, ..., level, message [, condition2 ...]) So we have to check both an item's head and tail to find the conditions which match the item. Format them in a more straight forward manner: item(level, message, condition [, condition2 ...]) Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED61F.5010502@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 901d7691d3238ad68c80a567b88b1e5d614137fb Author: Hidetoshi Seto Date: Wed Jun 8 10:52:43 2011 +0900 x86, mce, severity: Make formatting a bit more readable The table looks very complicated and hard to read for people other than skilled developers. So let's clean it up a bit. At first, change format to ease reading elements in the table. Signed-off-by: Hidetoshi Seto Acked-by: Tony Luck Link: http://lkml.kernel.org/r/4DEED5EB.6050400@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 880a317abccf60b989951bf1515964cd73245970 Author: Tony Luck Date: Tue Jun 7 21:51:56 2011 -0400 x86, mce, severity: Fix two severities table signatures The "Spurious not enabled" entry is redundant: the "Not enabled" entry earlier in the table will cover this case. The "Action required; unknown MCACOD" entry shouldn't specify MCACOD in the .mask field. Current code will only match for mcacod==0 rather than all AR=1 entries. Signed-off-by: Tony Luck Signed-off-by: Hidetoshi Seto Link: http://lkml.kernel.org/r/4DEED5BC.8030703@jp.fujitsu.com Signed-off-by: Borislav Petkov commit 2bc7c85210d75b7a8a7326284b4f608a16f52ffc Merge: 12610be df22122 Author: Grant Likely Date: Wed Jun 15 14:57:39 2011 -0600 Merge branch 'gpio/next-tegra' into gpio/next Conflicts: drivers/gpio/Kconfig drivers/gpio/Makefile commit df2212270ce94f12e9caed6ca04c7077672d588e Author: Grant Likely Date: Wed Jun 15 14:54:14 2011 -0600 gpio/tegra: add devicetree support Add support for decoding gpios from the device tree Signed-off-by: Grant Likely Acked-by: Olof Johansson commit ea5a9607cb2a3c7e5e9fcb1b3d75b8f88eca5766 Author: Grant Likely Date: Wed Jun 15 14:52:43 2011 -0600 gpio/tegra: Move Tegra gpio driver to drivers/gpio As part of the gpio driver consolidation, this patch moves the Tegra driver into drivers/gpio Signed-off-by: Grant Likely Acked-by: Olof Johansson Acked-by: Colin Cross commit e892bac102805f905e463a2cc7d0f870358cc1d5 Author: Grant Likely Date: Wed Jun 15 13:18:06 2011 -0600 gpio/tegra: Move Tegra gpio driver to drivers/gpio As part of the gpio driver consolidation, this patch moves the Tegra driver into drivers/gpio Signed-off-by: Grant Likely commit 520b2756d9414cb6b0f6fc70714e95ee9248ebf4 Author: Matt Carlson Date: Mon Jun 13 13:39:02 2011 +0000 tg3: Create funcs for power source switching The power source switching code is about to get a little more complex. This patch seeks to simplify future power source switching patches by clarifying the existing code. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 221c56373ee7088dd3015b928782d5e70dc5074e Author: Matt Carlson Date: Mon Jun 13 13:39:01 2011 +0000 tg3: Migrate phy preprocessor defs to system defs This patch changes to code to use some of the preprocessor definitions from mii.h over its homegrown equivalents. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 5bb09778e2196770d218e82904f15b558d9a1e50 Author: Matt Carlson Date: Mon Jun 13 13:39:00 2011 +0000 tg3: Show flowctrl settings through get_settings() This patch adds code to present the flow control advertisements through the ethtool get_settings callback. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit ad0fad9eb2577ffc2d1a4fd522e6a71fd51127fd Author: Matt Carlson Date: Mon Jun 13 13:38:59 2011 +0000 tg3: Fix EEE debounce timer values This patch fixes the EEE debounce timer values. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 727a6d9f39604b5592e474295960fceeb523ae4f Author: Matt Carlson Date: Mon Jun 13 13:38:58 2011 +0000 tg3: Add more selfboot formats to NVRAM selftest This patch adds more selfboot formats to the NVRAM selftest. It also changes the code to return an error on an unsupported NVRAM format. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit eb69d564a3f34df602bd9b0fae94e14fad23de2d Author: Matt Carlson Date: Mon Jun 13 13:38:57 2011 +0000 tg3: Remove 4G_DMA_BNDRY_BUG flag Now that all chips have this bug, the flag checks become useless code. This patch removes the flag. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit daf9a55387df8f429d1219bbdabba1ab33d2a479 Author: Matt Carlson Date: Mon Jun 13 13:38:56 2011 +0000 tg3: Remove 40BIT_DMA_LIMIT_BUG This patch removes the 40BIT_DMA_LIMIT_BUG flag. There already exists a flag for this purpose (TG3_FLAG_40BIT_DMA_BUG) and was already being used in the correct spot. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 0e6cf6a9e3cf911577b1dde0dc724f634e4ca119 Author: Matt Carlson Date: Mon Jun 13 13:38:55 2011 +0000 tg3: Workaround tagged status update bug On rare occasions, writing the tag to the interrupt mailbox does not reenable interrupts. This patch fixes the problem by reissuing the mailbox update. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit b96368e9365a4db7429da87cfd25bb54b24954f8 Author: Vladislav Zolotarov Date: Tue Jun 14 01:34:46 2011 +0000 bnx2x: Update date to 2011/06/13 and version to 1.70.00-0 Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d1976b2e6478a1b8ff2dc35979e7791e2d668285 Author: Dmitry Kravkov Date: Tue Jun 14 01:34:42 2011 +0000 bnx2x: PFC support for 578xx Add supoprt for 3 COSes for 578xx devices. Fix HW configuration for PFC feature according to new HSI in link layer. Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 60d2fe0312b3301fb5a65e9ed0b44465c8237055 Author: Yaniv Rosner Date: Tue Jun 14 01:34:38 2011 +0000 bnx2x: Rename LASI registers to definitions in mdio.h Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3deb8167ea66974b0bc8c13c8ee0beafc02a73a1 Author: Yaniv Rosner Date: Tue Jun 14 01:34:33 2011 +0000 bnx2x: Add a periodic task for link PHY events Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0d40f0d425ec632956547bd8efd8965e5945e1dc Author: Yaniv Rosner Date: Tue Jun 14 01:34:27 2011 +0000 bnx2x: Adjust BCM84833 to BCM578xx Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6c3218c6f7e5be6d785486797d48203d54cfd893 Author: Yaniv Rosner Date: Tue Jun 14 01:34:23 2011 +0000 bnx2x: Adjust ETS to 578xx Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6583e33baefbe4dea04999ec91be1a1371cd1528 Author: Yaniv Rosner Date: Tue Jun 14 01:34:17 2011 +0000 bnx2x: Add new PHY 54616s Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3c9ada227c56c6f41e24b01d183b00b007c7ac93 Author: Yaniv Rosner Date: Tue Jun 14 01:34:12 2011 +0000 bnx2x: Add Warpcore support for 578xx Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9380bb9e88831bd3d85636b3e4fec30e330d5266 Author: Yaniv Rosner Date: Tue Jun 14 01:34:07 2011 +0000 bnx2x: Add new MAC support for 578xx Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 754a2f5220ac7d597454df3104cfce9c83d68df0 Author: Dmitry Kravkov Date: Tue Jun 14 01:34:02 2011 +0000 bnx2x: Cosmetic changes. Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ef01854e24035a0b17ebeb98b05cfee2c8b36e02 Author: Dmitry Kravkov Date: Tue Jun 14 01:33:57 2011 +0000 bnx2x: update DCB data during PMF migration Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c9ee92062424375fe6e73c4af5d52df289ccf9eb Author: Vladislav Zolotarov Date: Tue Jun 14 01:33:51 2011 +0000 bnx2x: 57712 parity handling - Added support for a parity error handling for a 57712 chip. - Changed the parity recovery scheme from per-chip to per-engine. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 619c5cb6885b936c44ae1422ef805b69c6291485 Author: Vlad Zolotarov Date: Tue Jun 14 14:33:44 2011 +0300 New 7.0 FW: bnx2x, cnic, bnx2i, bnx2fc New FW/HSI (7.0): - Added support to 578xx chips - Improved HSI - much less driver's direct access to the FW internal memory needed. New implementation of the HSI handling layer in the bnx2x (bnx2x_sp.c): - Introduced chip dependent objects that have chip independent interfaces for configuration of MACs, multicast addresses, Rx mode, indirection table, fast path queues and function initialization/cleanup. - Objects functionality is based on the private function pointers, which allows not only a per-chip but also PF/VF differentiation while still preserving the same interface towards the driver. - Objects interface is not influenced by the HSI changes which do not require providing new parameters keeping the code outside the bnx2x_sp.c invariant with regard to such HSI chnages. Changes in a CNIC, bnx2fc and bnx2i modules due to the new HSI. Signed-off-by: Vladislav Zolotarov Signed-off-by: Michael Chan Signed-off-by: Bhanu Prakash Gollapudi Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 042181f5aa8833a8918e1a91cfaf292146ffc62c Author: Vladislav Zolotarov Date: Tue Jun 14 01:33:39 2011 +0000 bnx2x: Created bnx2x_sp Moved the HSI dependent slow path code to a separate file. Currently it contains the implementation of MACs, Rx mode, multicast addresses, indirection table, fast path queue and function configuration code. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9ee3d37b05c2fc5c6c01e09dd3bcc4500babf76a Author: Dmitry Kravkov Date: Tue Jun 14 01:33:34 2011 +0000 bnx2x: removed unused variables Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a9fccec79e359b9162ab0cebe2c7ce30ee4172c3 Author: Dmitry Kravkov Date: Tue Jun 14 01:33:30 2011 +0000 bnx2x: use bnx2x_reload_if_running Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7a25cc7315e4d846cebbecd31bc4d79e7d2d6db3 Author: Dmitry Kravkov Date: Tue Jun 14 01:33:25 2011 +0000 bnx2x: dump FW memory when appropriate msglvl is raised Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 361c391e2339eb8d479feec9042ec6e822593350 Author: Yaniv Rosner Date: Tue Jun 14 01:33:19 2011 +0000 bnx2x: do not call link update without HW notification Signed-off-by: Yaniv Rosner Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 30ae438b120bc63caa2328733c7c7119d5d29842 Author: Dmitry Kravkov Date: Tue Jun 14 01:33:13 2011 +0000 bnx2x: disable fairness if ETS is enabled Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ca92429f5f52a76eb6e161622d813b8224ce0565 Author: Dmitry Kravkov Date: Tue Jun 14 01:33:08 2011 +0000 bnx2x: avoid release of unrequested irqs Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 93ef5c02a436000d6b90ff59c9d25563000eee7f Author: Dmitry Kravkov Date: Tue Jun 14 01:33:02 2011 +0000 bnx2x: put start bd csum in separate function Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4b7ed8978dc79de45e9fbc202f4328388311f81f Author: Dmitry Kravkov Date: Tue Jun 14 01:32:53 2011 +0000 bnx2x: remove references to intr_sem It's not needed any more since device always operates in interrupt-driven mode Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8eef2af1824da37b428ad34e7ff3490b327b39c1 Author: Dmitry Kravkov Date: Tue Jun 14 01:32:47 2011 +0000 bnx2x: do not allocate FCoE ring if disabled Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 59e5137357559ec60b2e72bdc3d5a7e22c47212b Author: Michael Chan Date: Tue Jun 14 01:32:38 2011 +0000 cnic: Move indexing function pointers to struct kcq_info The hardware indexing scheme for the FCoE kcq will change in the upcoming firmware. This patch will cope with the change easily. Signed-off-by: Michael Chan Signed-off-by: Vladislav Zolotarov Signed-off-by: David S. Miller commit 86b445676d13f520ef9ab7aebe933aa6684ce84c Author: Borislav Petkov Date: Tue Feb 22 18:41:48 2011 +0100 x86, microcode, AMD: Correct buf references Both the equivalence table and the microcode patch types are u32. Access them properly through the buf-ptr. Signed-off-by: Borislav Petkov commit a406ab6d77ea86ba7c713276f30ed7058ca64e31 Merge: 5f30749 a0e3e70 Author: Robert Richter Date: Wed Jun 15 14:37:35 2011 +0200 Merge branch 'oprofile/urgent' into HEAD commit 5f307491f3a0c8551cedf5d90d660d656e0d56ec Author: Daniel Kalmar Date: Fri May 13 08:38:05 2011 -0400 MIPS: oprofile: Add callgraph support Stack unwinding is done by code examination. For kernelspace, the already existing unwind function is utilized that uses kallsyms to quickly find the beginning of functions. For userspace a new function was added that examines code at and before the pc. Signed-off-by: Daniel Kalmar Signed-off-by: Gergely Kis Signed-off-by: Robert Richter commit 94ea09c6a8e6c5ffb59bb1d5ca10008d37544e1a Author: Daniel Kalmar Date: Fri May 13 08:38:04 2011 -0400 MIPS: Add new unwind_stack variant The unwind_stack_by_address variant supports unwinding based on any kernel code address. This symbol is also exported so it can be called from modules. Signed-off-by: Daniel Kalmar Signed-off-by: Gergely Kis Signed-off-by: Robert Richter commit a0e3e70243f5b270bc3eca718f0a9fa5e6b8262e Author: Robert Richter Date: Fri Jun 3 16:37:47 2011 +0200 oprofile, x86: Fix nmi-unsafe callgraph support Current oprofile's x86 callgraph support may trigger page faults throwing the BUG_ON(in_nmi()) message below. This patch fixes this by using the same nmi-safe copy-from-user code as in perf. ------------[ cut here ]------------ kernel BUG at .../arch/x86/kernel/traps.c:436! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/devices/pci0000:00/0000:00:0a.0/0000:07:00.0/0000:08:04.0/net/eth0/broadcast CPU 5 Modules linked in: Pid: 8611, comm: opcontrol Not tainted 2.6.39-00007-gfe47ae7 #1 Advanced Micro Device Anaheim/Anaheim RIP: 0010:[] [] do_nmi+0x22/0x1ee RSP: 0000:ffff88042fd47f28 EFLAGS: 00010002 RAX: ffff88042c0a7fd8 RBX: 0000000000000001 RCX: 00000000c0000101 RDX: 00000000ffff8804 RSI: ffffffffffffffff RDI: ffff88042fd47f58 RBP: ffff88042fd47f48 R08: 0000000000000004 R09: 0000000000001484 R10: 0000000000000001 R11: 0000000000000000 R12: ffff88042fd47f58 R13: 0000000000000000 R14: ffff88042fd47d98 R15: 0000000000000020 FS: 00007fca25e56700(0000) GS:ffff88042fd40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000074 CR3: 000000042d28b000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process opcontrol (pid: 8611, threadinfo ffff88042c0a6000, task ffff88042c532310) Stack: 0000000000000000 0000000000000001 ffff88042c0a7fd8 0000000000000000 ffff88042fd47de8 ffffffff813e897a 0000000000000020 ffff88042fd47d98 0000000000000000 ffff88042c0a7fd8 ffff88042fd47de8 0000000000000074 Call Trace: [] nmi+0x1a/0x20 [] ? bad_to_user+0x25/0x771 <> Code: ff 59 5b 41 5c 41 5d c9 c3 55 65 48 8b 04 25 88 b5 00 00 48 89 e5 41 55 41 54 49 89 fc 53 48 83 ec 08 f6 80 47 e0 ff ff 04 74 04 <0f> 0b eb fe 81 80 44 e0 ff ff 00 00 01 04 65 ff 04 25 c4 0f 01 RIP [] do_nmi+0x22/0x1ee RSP ---[ end trace ed6752185092104b ]--- Kernel panic - not syncing: Fatal exception in interrupt Pid: 8611, comm: opcontrol Tainted: G D 2.6.39-00007-gfe47ae7 #1 Call Trace: [] panic+0x8c/0x188 [] oops_end+0x81/0x8e [] die+0x55/0x5e [] do_trap+0x11c/0x12b [] do_invalid_op+0x91/0x9a [] ? do_nmi+0x22/0x1ee [] ? oprofile_add_sample+0x83/0x95 [] ? op_amd_check_ctrs+0x4f/0x2cf [] invalid_op+0x15/0x20 [] ? do_nmi+0x22/0x1ee [] ? do_nmi+0x67/0x1ee [] nmi+0x1a/0x20 [] ? bad_to_user+0x25/0x771 <> Cc: John Lumby Cc: Maynard Johnson Cc: # .37+ Signed-off-by: Robert Richter commit 1fd8df2c3970c9e7e4e262354154ee39e58bdd7c Author: Masami Hiramatsu Date: Wed Jun 8 16:09:34 2011 +0900 tracing/kprobes: Fix kprobe-tracer to support stack trace Fix to support kernel stack trace correctly on kprobe-tracer. Since the execution path of kprobe-based dynamic events is different from other tracepoint-based events, normal ftrace_trace_stack() doesn't work correctly. To fix that, this introduces ftrace_trace_stack_regs() which traces stack via pt_regs instead of current stack register. e.g. # echo p schedule+4 > /sys/kernel/debug/tracing/kprobe_events # echo 1 > /sys/kernel/debug/tracing/options/stacktrace # echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable # head -n 20 /sys/kernel/debug/tracing/trace bash-2968 [000] 10297.050245: p_schedule_4: (schedule+0x4/0x4ca) bash-2968 [000] 10297.050247: => schedule_timeout => n_tty_read => tty_read => vfs_read => sys_read => system_call_fastpath kworker/0:1-2940 [000] 10297.050265: p_schedule_4: (schedule+0x4/0x4ca) kworker/0:1-2940 [000] 10297.050266: => worker_thread => kthread => kernel_thread_helper sshd-1132 [000] 10297.050365: p_schedule_4: (schedule+0x4/0x4ca) sshd-1132 [000] 10297.050365: => sysret_careful Note: Even with this fix, the first entry will be skipped if the probe is put on the function entry area before the frame pointer is set up (usually, that is 4 bytes (push %bp; mov %sp %bp) on x86), because stack unwinder depends on the frame pointer. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: yrl.pp-manager.tt@hitachi.com Cc: Peter Zijlstra Cc: Namhyung Kim Link: http://lkml.kernel.org/r/20110608070934.17777.17116.stgit@fedora15 Signed-off-by: Steven Rostedt commit c624d33f61cd05241e85b906311f0b712fdb0f32 Author: Masami Hiramatsu Date: Wed Jun 8 16:09:27 2011 +0900 stack_trace: Add weak save_stack_trace_regs() Add weak symbol of save_stack_trace_regs() as same as save_stack_trace_tsk() since that is not implemented except x86 yet. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: yrl.pp-manager.tt@hitachi.com Cc: Peter Zijlstra Cc: Namhyung Kim Link: http://lkml.kernel.org/r/20110608070927.17777.37895.stgit@fedora15 Signed-off-by: Steven Rostedt commit 395810627b6a43c8d0ec948884043946fa162308 Author: Masami Hiramatsu Date: Wed Jun 8 16:09:21 2011 +0900 x86: Swap save_stack_trace_regs parameters Swap the 1st and 2nd parameters of save_stack_trace_regs() as same as the parameters of save_stack_trace_tsk(). Signed-off-by: Masami Hiramatsu Cc: yrl.pp-manager.tt@hitachi.com Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Namhyung Kim Link: http://lkml.kernel.org/r/20110608070921.17777.31103.stgit@fedora15 Signed-off-by: Steven Rostedt commit d7ec4bfed6c97405c6417970ba06c439e08ab8e3 Author: Vaibhav Nagarnaik Date: Tue Jun 7 17:01:42 2011 -0700 ring-buffer: Set __GFP_NORETRY flag for ring buffer allocating process The tracing ring buffer is allocated from kernel memory. While allocating a large chunk of memory, OOM might happen which destabilizes the system. Thus random processes might get killed during the allocation. This patch adds __GFP_NORETRY flag to the ring buffer allocation calls to make it fail more gracefully if the system will not be able to complete the allocation request. Acked-by: David Rientjes Signed-off-by: Vaibhav Nagarnaik Cc: Ingo Molnar Cc: Frederic Weisbecker Cc: Michael Rubin Cc: David Sharp Link: http://lkml.kernel.org/r/1307491302-9236-1-git-send-email-vnagarnaik@google.com Signed-off-by: Steven Rostedt commit 22fe9b54d859e53bfbbbdc1a0a77a82bc453927c Author: Peter Huewe Date: Tue Jun 7 21:58:27 2011 +0200 tracing: Convert to kstrtoul_from_user This patch replaces the code for getting an unsigned long from a userspace buffer by a simple call to kstroul_from_user. This makes it easier to read and less error prone. Signed-off-by: Peter Huewe Link: http://lkml.kernel.org/r/1307476707-14762-1-git-send-email-peterhuewe@gmx.de Signed-off-by: Steven Rostedt commit 749230b06a753a22f6ed96e5dd60815d6ab12865 Author: Jiri Olsa Date: Fri Jun 3 16:58:51 2011 +0200 tracing, function_graph: Add context-info support for function_graph tracer The function_graph tracer does not follow global context-info option. Adding TRACE_ITER_CONTEXT_INFO trace_flags check to enable it. With following commands: # echo function_graph > ./current_tracer # echo 0 > options/context-info # cat trace This is what it looked like before: # tracer: function_graph # # TIME CPU DURATION FUNCTION CALLS # | | | | | | | | 1) 0.079 us | } /* __vma_link_rb */ 1) 0.056 us | copy_page_range(); 1) | security_vm_enough_memory() { ... This is what it looks like now: # tracer: function_graph # } /* update_ts_time_stats */ timekeeping_max_deferment(); ... Signed-off-by: Jiri Olsa Link: http://lkml.kernel.org/r/1307113131-10045-6-git-send-email-jolsa@redhat.com Signed-off-by: Steven Rostedt commit 199abfab40389963b397c2982222e68ea782b2cf Author: Jiri Olsa Date: Fri Jun 3 16:58:50 2011 +0200 tracing, function_graph: Remove lock-depth from latency trace The lock_depth was removed in commit e6e1e25 tracing: Remove lock_depth from event entry Removing the lock_depth info from function_graph latency header. With following commands: # echo function_graph > ./current_tracer # echo 1 > options/latency-format # cat trace This is what it looked like before: # tracer: function_graph # # function_graph latency trace v1.1.5 on 3.0.0-rc1-tip+ # -------------------------------------------------------------------- # latency: 0 us, #59756/311298, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2) # ----------------- # | task: -0 (uid:0 nice:0 policy:0 rt_prio:0) # ----------------- # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / _-=> lock-depth # |||| / # CPU||||| DURATION FUNCTION CALLS # | ||||| | | | | | | 0) .... 0.068 us | } /* __rcu_read_unlock */ ... This is what it looks like now: # tracer: function_graph # # function_graph latency trace v1.1.5 on 3.0.0-rc1-tip+ # -------------------------------------------------------------------- # latency: 0 us, #59747/1744610, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:2) # ----------------- # | task: -0 (uid:0 nice:0 policy:0 rt_prio:0) # ----------------- # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / # CPU|||| DURATION FUNCTION CALLS # | |||| | | | | | | 0) ..s. 1.641 us | } /* __rcu_process_callbacks */ ... Signed-off-by: Jiri Olsa Link: http://lkml.kernel.org/r/1307113131-10045-5-git-send-email-jolsa@redhat.com Signed-off-by: Steven Rostedt commit f56e7f8efb4ec200364f690a9902713410e24d47 Author: Jiri Olsa Date: Fri Jun 3 16:58:49 2011 +0200 tracing, function: Fix trace header to follow context-info option The header display of function tracer does not follow the context-info option, so field names are displayed even if this option is off. Added check for TRACE_ITER_CONTEXT_INFO trace_flags. With following commands: # echo function > ./current_tracer # echo 0 > options/context-info # cat trace This is what it looked like before: # tracer: function # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | add_preempt_count <-schedule rcu_note_context_switch <-schedule ... This is what it looks like now: # tracer: function # _raw_spin_unlock_irqrestore <-hrtimer_try_to_cancel ... Signed-off-by: Jiri Olsa Link: http://lkml.kernel.org/r/1307113131-10045-4-git-send-email-jolsa@redhat.com Signed-off-by: Steven Rostedt commit ffeb80fc30acbf6bd51cb47a1815f621a9d017dc Author: Jiri Olsa Date: Fri Jun 3 16:58:48 2011 +0200 tracing, function_graph: Merge overhead and duration display functions Functions print_graph_overhead() and print_graph_duration() displays data for one field - DURATION. I merged them into single function print_graph_duration(), and added a way to display the empty parts of the field. This way the print_graph_irq() function can use this column to display the IRQ signs if needed and the DURATION field details stays inside the print_graph_duration() function. Signed-off-by: Jiri Olsa Link: http://lkml.kernel.org/r/1307113131-10045-3-git-send-email-jolsa@redhat.com Signed-off-by: Steven Rostedt commit 321e68b095addc473ca52ced9acfa59be88f76e6 Author: Jiri Olsa Date: Fri Jun 3 16:58:47 2011 +0200 tracing, function_graph: Remove dependency of abstime and duration fields on latency The display of absolute time and duration fields is based on the latency field. This was added during the irqsoff/wakeup tracers graph support changes. It's causing confusion in what fields will be displayed for the function_graph tracer itself. So I'm removing this depency, and adding absolute time and duration fields to the preemptirqsoff preemptoff irqsoff wakeup tracers. With following commands: # echo function_graph > ./current_tracer # cat trace This is what it looked like before: # tracer: function_graph # # TIME CPU DURATION FUNCTION CALLS # | | | | | | | | 0) 0.068 us | } /* page_add_file_rmap */ 0) | _raw_spin_unlock() { ... This is what it looks like now: # tracer: function_graph # # CPU DURATION FUNCTION CALLS # | | | | | | | 0) 0.068 us | } /* add_preempt_count */ 0) 0.993 us | } /* vfsmount_lock_local_lock */ ... For preemptirqsoff preemptoff irqsoff wakeup tracers, this is what it looked like before: SNIP # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / _-=> lock-depth # |||| / # CPU TASK/PID ||||| DURATION FUNCTION CALLS # | | | ||||| | | | | | | 1) -0 | d..1 0.000 us | acpi_idle_enter_simple(); ... This is what it looks like now: SNIP # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / # TIME CPU TASK/PID |||| DURATION FUNCTION CALLS # | | | | |||| | | | | | | 19.847735 | 1) -0 | d..1 0.000 us | acpi_idle_enter_simple(); ... Signed-off-by: Jiri Olsa Link: http://lkml.kernel.org/r/1307113131-10045-2-git-send-email-jolsa@redhat.com Signed-off-by: Steven Rostedt commit 84c15027a7f2fbd7f1180d7cbb60e41abbbaedd2 Author: Paul McQuade Date: Tue May 31 20:51:55 2011 +0100 async: Fixed an include coding style issue Added , and Removed . Added KERN_DEBUG to printk() functions. Acked-by: Arjan van de Ven Signed-off-by: Paul McQuade Link: http://lkml.kernel.org/r/4DE596B4.7030904@gmail.com Signed-off-by: Steven Rostedt commit bd38c0e6f98326132a691d73b2056b426423c638 Author: Paul McQuade Date: Tue May 31 20:51:55 2011 +0100 ftrace: Fixed an include coding style issue Removed because was already declared. Braces of struct's coding style fixed. Cc: Frederic Weisbecker Signed-off-by: Paul McQuade Link: http://lkml.kernel.org/r/4DE59711.3090900@gmail.com Signed-off-by: Steven Rostedt commit cf30cf67d6c7592c670ec946d89fc15ee0deb0eb Author: Steven Rostedt Date: Tue Jun 14 22:44:07 2011 -0400 tracing: Add disable_on_free option Add a trace option to disable tracing on free. When this option is set, a write into the free_buffer file will not only shrink the ring buffer down to zero, but it will also disable tracing. Cc: Vaibhav Nagarnaik Signed-off-by: Steven Rostedt commit 4f271a2a60c748599b30bb4dafff30d770439b96 Author: Vaibhav Nagarnaik Date: Mon Jun 13 17:51:57 2011 -0700 tracing: Add a proc file to stop tracing and free buffer The proc file entry buffer_size_kb is used to set the size of tracing buffer. The memory to expand the buffer size is kernel memory. Consider a use case where tracing is handled by a user space utility, which acts as a gate keeper for tracing requests. In an OOM condition, tracing is considered a low priority task and if the utility gets killed the ring buffer memory cannot be released back to the kernel. This patch adds a proc file called "free_buffer" whose purpose is to stop tracing and free up the ring buffer when it is closed. The user space process can then set the desired size in buffer_size_kb file and open the fd to the "free_buffer" file. Under OOM condition, if the process gets killed, the kernel closes the file descriptor. The release handler stops the tracing and releases the kernel memory automatically. Cc: Ingo Molnar Cc: Frederic Weisbecker Cc: Michael Rubin Cc: David Sharp Signed-off-by: Vaibhav Nagarnaik Link: http://lkml.kernel.org/r/1308012717-11148-1-git-send-email-vnagarnaik@google.com Signed-off-by: Steven Rostedt commit 7ea5906405a1f3fc1c0033dfd7e02f2cfd1de5e5 Author: Vaibhav Nagarnaik Date: Tue May 3 17:56:42 2011 -0700 tracing: Use NUMA allocation for per-cpu ring buffer pages The tracing ring buffer is a group of per-cpu ring buffers where allocation and logging is done on a per-cpu basis. The events that are generated on a particular CPU are logged in the corresponding buffer. This is to provide wait-free writes between CPUs and good NUMA node locality while accessing the ring buffer. However, the allocation routines consider NUMA locality only for buffer page metadata and not for the actual buffer page. This causes the pages to be allocated on the NUMA node local to the CPU where the allocation routine is running at the time. This patch fixes the problem by using a NUMA node specific allocation routine so that the pages are allocated from a NUMA node local to the logging CPU. I tested with the getuid_microbench from autotest. It is a simple binary that calls getuid() in a loop and measures the average time for the syscall to complete. The following command was used to test: $ getuid_microbench 1000000 Compared the numbers found on kernel with and without this patch and found that logging latency decreases by 30-50 ns/call. tracing with non-NUMA allocation - 569 ns/call tracing with NUMA allocation - 512 ns/call Signed-off-by: Vaibhav Nagarnaik Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Michael Rubin Cc: David Sharp Link: http://lkml.kernel.org/r/1304470602-20366-1-git-send-email-vnagarnaik@google.com Signed-off-by: Steven Rostedt commit e7e2ee89a9dbf48d70a922d5625cd7320a27cbff Author: Vaibhav Nagarnaik Date: Tue May 10 13:27:21 2011 -0700 tracing: Schedule a delayed work to call wakeup() In using syscall tracing by concurrent processes, the wakeup() that is called in the event commit function causes contention on the spin lock of the waitqueue. I enabled sys_enter_getuid and sys_exit_getuid tracepoints, and by running getuid_microbench from autotest in parallel I found that the contention causes exponential latency increase in the tracing path. The autotest binary getuid_microbench calls getuid() in a tight loop for the given number of iterations and measures the average time required to complete a single invocation of syscall. The patch schedules a delayed work after 2 ms once an event commit calls to wake up the trace wait_queue. This removes the delay caused by contention on spin lock in wakeup() and amortizes the wakeup() calls scheduled over the 2 ms period. In the following example, the script enables the sys_enter_getuid and sys_exit_getuid tracepoints and runs the getuid_microbench in parallel with the given number of processes. The output clearly shows the latency increase caused by contentions. $ ~/getuid.sh 1 1000000 calls in 0.720974253 s (720.974253 ns/call) $ ~/getuid.sh 2 1000000 calls in 1.166457554 s (1166.457554 ns/call) 1000000 calls in 1.168933765 s (1168.933765 ns/call) $ ~/getuid.sh 3 1000000 calls in 1.783827516 s (1783.827516 ns/call) 1000000 calls in 1.795553270 s (1795.553270 ns/call) 1000000 calls in 1.796493376 s (1796.493376 ns/call) $ ~/getuid.sh 4 1000000 calls in 4.483041796 s (4483.041796 ns/call) 1000000 calls in 4.484165388 s (4484.165388 ns/call) 1000000 calls in 4.484850762 s (4484.850762 ns/call) 1000000 calls in 4.485643576 s (4485.643576 ns/call) $ ~/getuid.sh 5 1000000 calls in 6.497521653 s (6497.521653 ns/call) 1000000 calls in 6.502000236 s (6502.000236 ns/call) 1000000 calls in 6.501709115 s (6501.709115 ns/call) 1000000 calls in 6.502124100 s (6502.124100 ns/call) 1000000 calls in 6.502936358 s (6502.936358 ns/call) After the patch, the latencies scale better. 1000000 calls in 0.728720455 s (728.720455 ns/call) 1000000 calls in 0.842782857 s (842.782857 ns/call) 1000000 calls in 0.883803135 s (883.803135 ns/call) 1000000 calls in 0.902077764 s (902.077764 ns/call) 1000000 calls in 0.902838202 s (902.838202 ns/call) 1000000 calls in 0.908896885 s (908.896885 ns/call) 1000000 calls in 0.932523515 s (932.523515 ns/call) 1000000 calls in 0.958009672 s (958.009672 ns/call) 1000000 calls in 0.986188020 s (986.188020 ns/call) 1000000 calls in 0.989771102 s (989.771102 ns/call) 1000000 calls in 0.933518391 s (933.518391 ns/call) 1000000 calls in 0.958897947 s (958.897947 ns/call) 1000000 calls in 1.031038897 s (1031.038897 ns/call) 1000000 calls in 1.089516025 s (1089.516025 ns/call) 1000000 calls in 1.141998347 s (1141.998347 ns/call) Signed-off-by: Vaibhav Nagarnaik Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Michael Rubin Cc: David Sharp Cc: Linus Torvalds Link: http://lkml.kernel.org/r/1305059241-7629-1-git-send-email-vnagarnaik@google.com Signed-off-by: Steven Rostedt commit 3158c50c33c1acddcfa3c57fab812435aa459750 Author: Vinicius Costa Gomes Date: Tue Jun 14 13:37:42 2011 -0300 Bluetooth: Add key size checks for SMP This patch implements a check in smp cmd pairing request and pairing response to verify if encryption key maximum size is compatible in both slave and master when SMP Pairing is requested. Keys are also masked to the correct negotiated size. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit 5d3de7df18077a0f508ae2c3e3f1866da65fdffd Author: Vinicius Costa Gomes Date: Tue Jun 14 13:37:41 2011 -0300 Bluetooth: Add support for SMP timeout This patch adds support for disconnecting the link when SMP procedure takes more than 30 seconds. SMP begins when either the Pairing Request command is sent or the Pairing Response is received, and it ends when the link is encrypted (or terminated). Vol 3, Part H Section 3.4. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit ab493a0f0f55d28636ac860ea682d57b84257f10 Author: Ohad Ben-Cohen Date: Thu Jun 2 02:48:05 2011 +0300 drivers: iommu: move to a dedicated folder Create a dedicated folder for iommu drivers, and move the base iommu implementation over there. Grouping the various iommu drivers in a single location will help finding similar problems shared by different platforms, so they could be solved once, in the iommu framework, instead of solved differently (or duplicated) in each driver. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Joerg Roedel commit 71f77580906b60eb43daff0efb99792e76a3d06d Author: Joerg Roedel Date: Thu Jun 9 19:03:15 2011 +0200 x86/amd-iommu: Store device alias as dev_data pointer This finally allows PCI-Device-IDs to be handled by the IOMMU driver that have no corresponding struct device present in the system. Signed-off-by: Joerg Roedel commit 3b03bb745eb9fcafc6ef80fcbd04f0f0512acdc9 Author: Joerg Roedel Date: Thu Jun 9 18:53:25 2011 +0200 x86/amd-iommu: Search for existind dev_data before allocting a new one Search for existing dev_data first will allow to switch dev_data->alias to just store dev_data instead of struct device. Signed-off-by: Joerg Roedel commit 2b02b091ab3d1685926bfc76486bf7a22d92979a Author: Joerg Roedel Date: Thu Jun 9 17:48:39 2011 +0200 x86/amd-iommu: Allow dev_data->alias to be NULL Let dev_data->alias be just NULL if the device has no alias. Signed-off-by: Joerg Roedel commit ec9e79ef062272a119994c4fdd5e434f3e1bf352 Author: Joerg Roedel Date: Thu Jun 9 17:25:50 2011 +0200 x86/amd-iommu: Use only dev_data in low-level domain attach/detach functions With this patch the low-level attach/detach functions only work on dev_data structures. This allows to remove the dev_data->dev pointer. Signed-off-by: Joerg Roedel commit 6c542047937ad66db1d31e290fd2a3b290424ffa Author: Joerg Roedel Date: Thu Jun 9 17:07:31 2011 +0200 x86/amd-iommu: Use only dev_data for dte and iotlb flushing routines This patch make the functions flushing the DTE and IOTLBs only take the dev_data structure instead of the struct device directly. Signed-off-by: Joerg Roedel commit ea61cddb9dcb9da9bcabd40f1620c24abaf645c9 Author: Joerg Roedel Date: Thu Jun 9 12:56:30 2011 +0200 x86/amd-iommu: Store ATS state in dev_data This allows the low-level functions to operate on dev_data exclusivly later. Signed-off-by: Joerg Roedel commit f62dda66b5601396c28b563cc18b481af04a91b3 Author: Joerg Roedel Date: Thu Jun 9 12:55:35 2011 +0200 x86/amd-iommu: Store devid in dev_data This allows to use dev_data independent of struct device later. Signed-off-by: Joerg Roedel commit 8fa5f802abf3cd374b5f07418cea72c5d9d204cc Author: Joerg Roedel Date: Thu Jun 9 12:24:45 2011 +0200 x86/amd-iommu: Introduce global dev_data_list This list keeps all allocated iommu_dev_data structs in a list together. This is needed for instances that have no associated device. Signed-off-by: Joerg Roedel commit 39c555460cbc6d35656878c89d4664fbd6c81551 Author: Joerg Roedel Date: Thu Jun 9 11:52:27 2011 +0200 x86/amd-iommu: Remove redundant device_flush_dte() calls Remove these function calls from places where the function has already been called by another function. Signed-off-by: Joerg Roedel commit 74315cccd2104a953f493acca2c6b0519d6f5c6f Author: Laura Abbott Date: Wed Jun 8 17:29:11 2011 -0400 iommu-api: Add missing header file If CONFIG_IOMMU_API is not defined some functions will just return -ENODEV. Add errno.h for the definition of ENODEV. Signed-off-by: Laura Abbott Signed-off-by: Joerg Roedel commit f3b83d71a1b1a1569dba774c3a4f6e2a3b9fef99 Author: Jiri Kosina Date: Mon Jun 13 23:08:18 2011 +0300 HID: add support for MS Digital Media 3000 The Digital Media 3000 keyboard (USB id: 0x0730) features the same 1-5 Application Launch keys that the Natural Ergonomic 4000 has. Add its usb id to the list of quirks. Reported-by: Khelben Blackstaff Signed-off-by: Jiri Kosina commit 6c8f7949931854be360fcc7f008f2672dc17996f Author: Hans Schillstrom Date: Mon Jun 13 12:19:27 2011 +0200 IPVS: remove unused init and cleanup functions. After restructuring, there is some unused or empty functions left to be removed. Signed-off-by: Hans Schillstrom Signed-off-by: Simon Horman commit 552ad65aa58125769c16cf6a105229b259686d25 Author: Hans Schillstrom Date: Mon Jun 13 12:19:26 2011 +0200 IPVS: labels at pos 0 Put goto labels at the beginig of row acording to coding style example. Signed-off-by: Hans Schillstrom Signed-off-by: Simon Horman commit b7c7deeb4c77538577f0b6a724f10ce8693eb648 Author: Neil Horman Date: Mon Jun 13 05:48:30 2011 +0000 vmxnet3: remove unused variable While doing some backporting I noticed that vmxnet3 had a variable that was set but never used. Get rid of it, and stop the compiler from griping Signed-off-by: Neil Horman CC: "VMware, Inc." CC: "David S. Miller" Signed-off-by: Bhavesh Davda Signed-off-by: David S. Miller commit bf0239a98a7378c6a1a6b01701ec5e27591f52ce Author: Peter Pan(潘卫平) Date: Mon Jun 13 04:30:10 2011 +0000 bonding:delete a dereference before check Dan Carpenter found that there was a dereference before a check, added in 56d00c677de0(bonding:delete lacp_fast from ad_bond_info). Signed-off-by: Weiping Pan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 081b1b1bb27f1f4a3b682f4cf75103108f2066d7 Author: Eric Dumazet Date: Sat Jun 11 22:27:09 2011 +0000 l2tp: fix l2tp_ip_sendmsg() route handling l2tp_ip_sendmsg() in non connected mode incorrectly calls sk_setup_caps(). Subsequent send() calls send data to wrong destination. We can also avoid changing dst refcount in connected mode, using appropriate rcu locking. Once output route lookups can also be done under rcu, sendto() calls wont change dst refcounts too. Signed-off-by: Eric Dumazet CC: James Chapman Signed-off-by: David S. Miller commit ec1d7c9a5e9c136e08a9b1df3109ad5d38d8179c Author: Richard Cochran Date: Sun Jun 12 02:19:07 2011 +0000 smsc9420: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping for the smsc9420. Compile tested only. Cc: Steve Glendinning Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 3e82ce120c6f5036c3c739903e67218fd47cbc4c Author: Richard Cochran Date: Sun Jun 12 02:19:06 2011 +0000 stmmac: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping for the STMicroelectronics Ethernet driver. Compile tested only. Cc: Giuseppe Cavallaro Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 7c4bb9fcaed7148eb25c0cf0997f01971fba21e9 Author: Richard Cochran Date: Sun Jun 12 02:19:05 2011 +0000 r6040: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping for the RDC R6040 Fast Ethernet MAC. Compile tested only. Cc: Florian Fainelli Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 68f51394073b30ef8648f8516d5a7d40c68b1f8a Author: Richard Cochran Date: Sun Jun 12 02:19:04 2011 +0000 ethoc: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping for the OpenCores 10/100 MAC driver. Compile tested only. Cc: Thierry Reding Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit ff9b3078b918480a471b065c36133a144a531038 Author: Richard Cochran Date: Sun Jun 12 02:19:03 2011 +0000 dnet: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping in the "Dave ethernet interface." Compile tested only. Cc: Ilya Yanok Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 2669069aacc914821b45fe14a49e7fe0ba5d10bd Author: Richard Cochran Date: Sun Jun 12 02:19:02 2011 +0000 tg3: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping for the TIGON3 driver. Compile tested only. Cc: Matt Carlson Cc: Michael Chan Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 1ca9495f851d6d41a118ae064002d51afdfd415b Author: Richard Cochran Date: Sun Jun 12 02:19:01 2011 +0000 davinci_emac: enable transmit time stamping. This patch enables software (and phy device) transmit time stamping for the DaVinci EMAC driver. Tested together with the dp83640 PHY. Cc: Anant Gole Cc: Kevin Hilman Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit fb290cdd43463e6be339bfb021aa9a00cdb50ea2 Author: Richard Cochran Date: Sun Jun 12 02:19:00 2011 +0000 davinci_emac: pass ioctls through to phy device. The DaVinci EMAC driver does not implement any ioctls, but still it can pass them through to the phy device. This makes it possible for a phy to offer PHC capabilities. Cc: Anant Gole Cc: Kevin Hilman Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 18a03b9772da749efb8d92bd9893bfe3bd442425 Author: Richard Cochran Date: Sun Jun 12 02:18:59 2011 +0000 fec: enable transmit and receive time stamping. This patch has been tested on the Freescale M5234BCC, which includes the National Semiconductor DP83640 with IEEE 1588 support. Cc: Greg Ungerer Cc: "Uwe Kleine-König" Cc: Shawn Guo Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 1c17216ee5b1902d82b121da2388bd57f49c4b62 Author: Richard Cochran Date: Sun Jun 12 02:18:58 2011 +0000 net: export time stamp utility function for Ethernet MAC drivers The network stack provides the function, skb_clone_tx_timestamp(). Ethernet MAC drivers can call this via the transmit time stamping hook, skb_tx_timestamp(). This commit exports the clone function so that drivers using it can be compiled as modules. Signed-off-by: Richard Cochran Signed-off-by: David S. Miller commit 94ac02726cb87dd569bac4536f33e4b696b692eb Author: Anderson Lizardo Date: Mon Jun 13 15:42:03 2011 -0400 Bluetooth: fix missing parameter for HCI_OP_DISCONNECT The "dc" variable is initialized but not passed to hci_send_cmd(). Signed-off-by: Anderson Lizardo Signed-off-by: Bruna Moreira Signed-off-by: Gustavo F. Padovan commit da85e5e5afeb72bb6e6b5192a2d252861fafc3e7 Author: Vinicius Costa Gomes Date: Thu Jun 9 18:50:53 2011 -0300 Bluetooth: Add support for Pairing features exchange This patch implements a simple version of the SMP Pairing Features exchange procedure (Vol. 3 Part H, Section 2.3.5.1). For now, everything that would cause a Pairing Method different of Just Works to be chosen is rejected. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit b8e66eacab21870d4f800822111c494f9ef291e3 Author: Vinicius Costa Gomes Date: Thu Jun 9 18:50:52 2011 -0300 Bluetooth: Add support for building pairing commands Before we are able to do a proper exchange of pairing parameters, we need a unified way of building pairing requests and responses. For IO Capability we use the value that was set by userspace, using the management interface. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 88167aed0d2e84364c8f0d9e48429c21fc7894c3 Author: Vinicius Costa Gomes Date: Thu Jun 9 18:50:51 2011 -0300 Bluetooth: Update the security level when link is encrypted If the pending security level is greater than the current security level and the link is now encrypted, we should update the link security level. This is only useful for LE links, when the only event generated when SMP is sucessful in the Encrypt Change event. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 7b5c0d5242295a3b52e7161bf129e2f0e8c624cb Author: Vinicius Costa Gomes Date: Thu Jun 9 18:50:50 2011 -0300 Bluetooth: Fix initial security level of LE links As the default security level (BT_SECURITY_SDP) doesn't make sense for LE links, initialize LE links with something that makes sense. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit f1cb9af557dd8fb5d98fbcc4b5d3eb9d6d235af7 Author: Vinicius Costa Gomes Date: Wed Jan 26 21:42:57 2011 -0300 Bluetooth: Add support for resuming socket when SMP is finished This adds support for resuming the user space traffic when SMP negotiation is complete. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 9b3d67405b17d61ba8be9d824222fb410f487b8a Author: Vinicius Costa Gomes Date: Thu Jun 9 18:50:48 2011 -0300 Bluetooth: Remove debug statements Now that these commands are sent to the controller we can use hcidump to verify that the correct values are produced. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit a7a595f675f1b33dc73167147321dba5c4395acc Author: Vinicius Costa Gomes Date: Thu Jun 9 18:50:47 2011 -0300 Bluetooth: Add support for LE Start Encryption This adds support for starting SMP Phase 2 Encryption, when the initial SMP negotiation is successful. This adds the LE Start Encryption and LE Long Term Key Request commands and related events. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 7d24ddcc1140d2f796436e476c8d69469610588b Author: Anderson Briglia Date: Thu Jun 9 18:50:46 2011 -0300 Bluetooth: Add SMP confirmation checks methods This patch includes support for generating and sending the random value used to produce the confirmation value. Signed-off-by: Anderson Briglia Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit f01ead315785768cdb6e928646f90a47640bcdd9 Author: Anderson Briglia Date: Thu Jun 9 18:50:45 2011 -0300 Bluetooth: Add SMP confirmation structs This patch adds initial support for verifying the confirmation value that the remote side has sent. Signed-off-by: Anderson Briglia Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit d22ef0bc83c5a4e7ca9f2791e658dc8949d31ff4 Author: Anderson Briglia Date: Thu Jun 9 18:50:44 2011 -0300 Bluetooth: Add LE SMP Cryptoolbox functions This patch implements SMP crypto functions called ah, c1, s1 and e. It also implements auxiliary functions. All These functions are needed for SMP keys generation. Signed-off-by: Anderson Briglia Signed-off-by: Anderson Lizardo Signed-off-by: Bruna Moreira Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 3a0259bb80cec7595a2d085a150412d23ba28c81 Author: Vinicius Costa Gomes Date: Thu Jun 9 18:50:43 2011 -0300 Bluetooth: Add support for using the crypto subsystem This will allow using the crypto subsystem for encrypting data. As SMP (Security Manager Protocol) is implemented almost entirely on the host side and the crypto module already implements the needed methods (AES-128), it makes sense to use it. There's now a new module option to enable/disable SMP support. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit 88ba43b662b6b944c6278ad81a114fa559807776 Author: Anderson Briglia Date: Thu Jun 9 18:50:42 2011 -0300 Bluetooth: Add simple SMP pairing negotiation This implementation only exchanges SMP messages between the Host and the Remote. No keys are being generated. TK and STK generation will be provided in further patches. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit b501d6a1dc21eb61cbbc54e40780084f5d517164 Author: Anderson Briglia Date: Tue Jun 7 18:46:31 2011 -0300 Bluetooth: Start SMP procedure Start SMP procedure for LE connections. This modification intercepts l2cap received frames and call proper SMP functions to start the SMP procedure. By now, no keys are being used. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit eb492e0169974ac6d168f11d1fc1e2753fe1f3b4 Author: Anderson Briglia Date: Thu Jun 9 18:50:40 2011 -0300 Bluetooth: Implement the first SMP commands These simple commands will allow the SMP procedure to be started and terminated with a not supported error. This is the first step toward something useful. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit b569450682e944653f307b47c549ca12150d4596 Author: Gustavo F. Padovan Date: Wed Jun 8 19:09:13 2011 -0300 Bluetooth: Don't forget to check for LE_LINK Otherwise the wrong error can be returned. Signed-off-by: Gustavo F. Padovan commit 1a09bcb97ca1b4eb9a6ea381fbc3beb7a9d2895d Author: Gustavo F. Padovan Date: Tue May 17 15:13:19 2011 -0300 Bluetooth: keep reference if any ERTM timer is enabled ERTM use the generic L2CAP timer functions to keep a reference to the channel. This is useful for avoiding crashes. Signed-off-by: Gustavo F. Padovan commit c9b66675373e6edb2dc291562ce1fa05f7980102 Author: Gustavo F. Padovan Date: Tue May 17 14:59:01 2011 -0300 Bluetooth: Make timer functions generic We now plan to use l2cap_set_timer and l2cap_clear_timer in ERTM timers. Signed-off-by: Gustavo F. Padovan commit 71ba0e569bb43ab99a07ccbb514f8b0f732140c3 Author: Gustavo F. Padovan Date: Tue May 17 14:34:52 2011 -0300 Bluetooth: Add refcnt to struct l2cap_chan struct l2cap_chan has now its own refcnt that is compatible with the socket refcnt, i.e., we won't see sk_refcnt = 0 and chan->refcnt > 0. Signed-off-by: Gustavo F. Padovan commit 89bc500e41fc5b48e0573e6b0d927fc97b8951dc Author: Gustavo F. Padovan Date: Fri Jun 3 00:19:47 2011 -0300 Bluetooth: Add state tracking to struct l2cap_chan Now socket state is tracked by struct sock and channel state is tracked by chan->state. At this point both says the same, but this is going to change when we add AMP Support for example. Signed-off-by: Gustavo F. Padovan commit ba3bd0ee3946d9300512e685e8d5573dfa10c060 Author: Gustavo F. Padovan Date: Mon May 16 18:23:24 2011 -0300 Bluetooth: add close() callback to l2cap_chan_ops close() calls l2cap_sock_kill() on l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 230704942283cb3990584ddd6955ac8decfa6a2c Author: Gustavo F. Padovan Date: Mon May 16 17:57:22 2011 -0300 Bluetooth: add recv() callback to l2cap_chan_ops This abstracts the call to sock_queue_recv_skb() into l2cap_chan_ops->recv(). Signed-off-by: Gustavo F. Padovan commit 80808e431e1ef25856457de82ce141bed6a6313a Author: Gustavo F. Padovan Date: Mon May 16 17:24:37 2011 -0300 Bluetooth: Add l2cap_chan_ops abstraction Add an abstraction layer between L2CAP core and its users (only l2cap_sock.c now). The first function implemented is new_connection() that replaces calls to l2cap_sock_alloc() in l2cap_core.c Signed-off-by: Gustavo F. Padovan commit dc50a06dac61d7ca7ddb3d9bb8921ca5d68f51b6 Author: Gustavo F. Padovan Date: Mon May 16 16:42:01 2011 -0300 Bluetooth: Merge l2cap_chan_create() in the l2cap_sock_alloc() As a first step to remove l2cap_sock_alloc() and l2cap_sock_init() from l2cap_core.c Signed-off-by: Gustavo F. Padovan commit 12610be33df5563d3f8cb141f231d4dc5b2a317f Author: Linus Walleij Date: Mon Jun 13 10:47:15 2011 +0200 gpio/74x164: fix clash with gpiolib namespace The 74x164 GPIO driver has a static inline helper called gpio_to_chip which clashes with the gpiolib namespace if we try to expose the function with the same name from gpiolib, and it's still confusing even if we don't do that. So rename it to gpio_to_74x164_chip(). Reported-by: H Hartley Sweeten Signed-off-by: Linus Walleij Signed-off-by: Grant Likely commit c9e4d87758e95ef9d78a7767e2405ebaf54adcd8 Author: Simon Wood Date: Fri Jun 10 12:00:27 2011 +0200 HID: hid-sony: fix endiannes of Sixaxis accel/gyro values The accelerometers/gyro on the Sixaxis are reported in the wrong endianness (ie. not compatible with HID), so this patch intercepts the report and swaps the appropriate bytes over. Accelerometers are scaled with a nominal value of +/-4000 = 1G, maximum value would be around +/-32768 = 8G. Gyro on my device always reports -32768, might need some calibration set within the controller. Fix extracted from previous patch submission: https://patchwork.kernel.org/patch/95212/ Signed-off-by: Marcin Tolysz Signed-off-by: Simon Wood Signed-off-by: Antonio Ospite Signed-off-by: Jiri Kosina commit 61ab44bebdefab296487e7cd723a634849278827 Author: Simon Wood Date: Fri Jun 10 12:00:26 2011 +0200 HID: hid-sony: amend Sixaxis descriptor to enable accelerometers Modify the HID descriptor of the Sixaxis controller to allow the reporting of the accelerometers and gyro via a joystick axis. Rewrite section from offset 83: -- 0x75, 0x08, /* Report Size (8), */ /* all the other data lumped together */ 0x95, 0x27, /* Report Count (39), */ 0x09, 0x01, /* Usage (Pointer), */ 0x81, 0x02, /* Input (Variable), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x30, /* Report Count (48), */ 0x09, 0x01, /* Usage (Pointer), */ /* Note Output */ 0x91, 0x02, /* Output (Variable), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x30, /* Report Count (48), */ 0x09, 0x01, /* Usage (Pointer), */ /* Note Feature */ 0xB1, 0x02, /* Feature (Variable), */ -- with -- /* last 2 not used... */ 0x95, 0x13, /* Report Count (19), */ 0x09, 0x01, /* Usage (Pointer), */ 0x81, 0x02, /* Input (Variable), */ /* Padding */ 0x95, 0x0C, /* Report Count (12), */ 0x81, 0x01, /* Input (Constant), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x04, /* Report Count (4), */ 0x26, 0xFF, 0x03, /* Logical Maximum (1023), */ 0x46, 0xFF, 0x03, /* Physical Maximum (1023), */ 0x09, 0x01, /* Usage (Pointer), */ 0x81, 0x02, /* Input (Variable), */ -- Signed-off-by: Simon Wood Signed-off-by: Antonio Ospite Signed-off-by: Jiri Kosina commit 901e64dbdb5998b9248c372a401c921bbdf662f6 Author: Stefan Achatz Date: Sun Jun 12 10:02:44 2011 +0200 HID: roccat: fix NULL pointer dereference, add range checks On rare occassions raw events can be triggered before drvdata gets set up which leads to NULL pointer dereferences. This was only observed with pyra on 2.6.39, but is fixed for all devices now to play it save. kovaplus returned wrong actual values when profile change was initiated from host. Added range checks for setting actual profile on all devices. Signed-off-by: Stefan Achatz Signed-off-by: Jiri Kosina commit 1edd5b42a6631b1b1f147e9018e309bde8d96a05 Author: Stefan Achatz Date: Wed Jun 1 15:54:17 2011 +0200 HID: roccat: correction and cleanup of HID feature reports Removed analog feature report enums and modified code in roccat_common to reflect this. Non standard conform Kone got its own copy of the old code. That helps extracting more generalizations for newer devices. Signed-off-by: Stefan Achatz Signed-off-by: Jiri Kosina commit 303f272c1f9f174146fc6c8fe9df614fa3e5825e Author: Stefan Achatz Date: Wed Jun 1 15:54:10 2011 +0200 HID: roccat: chang Kconfig menu to submenu for roccat devices As module roccat is needed by all devices, it's the toplevel menu entry with all devices dependent. Signed-off-by: Stefan Achatz Signed-off-by: Jiri Kosina commit 6d1dec85afa7306e66fff633689ff06195ad079a Author: Stefan Achatz Date: Sun May 29 19:32:57 2011 +0200 HID: roccat: Add "Roccat Talk" support for koneplus Added binary sysfs attribute to support new functionality the manufacturer added to koneplus. Signed-off-by: Stefan Achatz Signed-off-by: Jiri Kosina commit 503cf15a5ecc0f3f7a05ffe04c89fb7496100ee7 Author: Hans Schillstrom Date: Sun May 1 18:50:16 2011 +0200 IPVS: rename of netns init and cleanup functions. Make it more clear what the functions does, on request by Julian. Signed-off-by: Hans Schillstrom Signed-off-by: Hans Schillstrom Signed-off-by: Simon Horman commit ed78bec4d6873e8971f56557f8ca3bcda38044ea Author: Hans Schillstrom Date: Fri Jun 10 10:19:09 2011 +0200 IPVS remove unused var from migration to netns Remove variable ctl_key from struct netns_ipvs, it's a leftover from early netns work. Signed-off-by: Hans Schillstrom Signed-off-by: Simon Horman commit c3aa1bd3768e278512f7583ce5f5fe84f466345d Author: Julian Anastasov Date: Mon May 30 00:02:23 2011 +0300 ipvs: support more FTP PASV responses Change the parsing of FTP commands and responses to support skip character. It allows to detect variations in the 227 PASV response. Signed-off-by: Julian Anastasov Signed-off-by: Simon Horman commit 5523f86beab2b87d42cd58aca9bd5cee5466c6e3 Author: Shawn Guo Date: Sun Jun 12 01:33:29 2011 +0800 gpio/mxc: fix a bug with gpio_get_value calling When calling gpio_get_value, the gpio number other than bit offset should be passed as the argument. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit 8f0ea0fe3a036a47767f9c80e81b13e379a1f43b Author: Eric Dumazet Date: Fri Jun 10 19:45:51 2011 +0000 snmp: reduce percpu needs by 50% SNMP mibs use two percpu arrays, one used in BH context, another in USER context. With increasing number of cpus in machines, and fact that ipv6 uses per network device ipstats_mib, this is consuming a lot of memory if many network devices are registered. commit be281e554e2a (ipv6: reduce per device ICMP mib sizes) shrinked percpu needs for ipv6, but we can reduce memory use a bit more. With recent percpu infrastructure (irqsafe_cpu_inc() ...), we no longer need this BH/USER separation since we can update counters in a single x86 instruction, regardless of the BH/USER context. Other arches than x86 might need to disable irq in their irqsafe_cpu_inc() implementation : If this happens to be a problem, we can make SNMP_ARRAY_SZ arch dependent, but a previous poll ( https://lkml.org/lkml/2011/3/17/174 ) to arch maintainers did not raise strong opposition. Only on 32bit arches, we need to disable BH for 64bit counters updates done from USER context (currently used for IP MIB) This also reduces vmlinux size : 1) x86_64 build $ size vmlinux.before vmlinux.after text data bss dec hex filename 7853650 1293772 1896448 11043870 a8841e vmlinux.before 7850578 1293772 1896448 11040798 a8781e vmlinux.after 2) i386 build $ size vmlinux.before vmlinux.afterpatch text data bss dec hex filename 6039335 635076 3670016 10344427 9dd7eb vmlinux.before 6037342 635076 3670016 10342434 9dd022 vmlinux.afterpatch Signed-off-by: Eric Dumazet CC: Andi Kleen CC: Ingo Molnar CC: Tejun Heo CC: Christoph Lameter CC: Benjamin Herrenschmidt commit 830a9c75514b477994fd3847f72654d3dbdfa5ca Author: Jiri Bohac Date: Fri Jun 10 10:27:20 2011 +0000 bonding: clean up bond_del_vlan() 1) the setting of NETIF_F_VLAN_CHALLENGED in bond_del_vlan() is useless since commit b2a103e6 because bond_fix_features() now sets NETIF_F_VLAN_CHALLENGED whenever the last slave is being removed. 2) the code never triggers anyway as vlan_list is never empty since ad1afb00. Signed-off-by: Jiri Bohac Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 539d3ee6376eba05ebd947c81d097e31a3ee42a8 Author: Alexey Dobriyan Date: Fri Jun 10 03:36:43 2011 +0000 net: fix MIPS fallout from "net: remove interrupt.h inclusion from netdevice.h" Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit eb8a50d9a6118a310c0b01d47091a2a5d994b549 Author: Padmanabh Ratnakar Date: Sat Jun 11 15:58:46 2011 -0700 be2net: Enable NETIF_F_TSO6 for VLAN traffic for BE NETIF_F_TSO6 for VLAN packets was not enabled for BE adapters. Enabling it. Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 10a8d94a95742bb15b4e617ee9884bb4381362be Author: Jason Wang Date: Fri Jun 10 00:56:17 2011 +0000 virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID There's no need for the guest to validate the checksum if it have been validated by host nics. So this patch introduces a new flag - VIRTIO_NET_HDR_F_DATA_VALID which is used to bypass the checksum examing in guest. The backend (tap/macvtap) may set this flag when met skbs with CHECKSUM_UNNECESSARY to save cpu utilization. No feature negotiation is needed as old driver just ignore this flag. Iperf shows 12%-30% performance improvement for UDP traffic. For TCP, when gro is on no difference as it produces skb with partial checksum. But when gro is disabled, 20% or even higher improvement could be measured by netperf. Signed-off-by: Jason Wang Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 40d15cd06e87722b1cc27d56c8274617580f2c56 Author: Ben Dooks Date: Fri Jun 10 00:50:32 2011 +0000 net: DM9000: Add support for byte EEPROM access Given many versions of ethtool's reluctance to do anything other than byte accesses to the EEPROM interface, it is easier to update the driver to support byte accesses so that all the ethtool versions that have been observed in Debian can write the EEPROM. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown Reviewed-by: Ben Hutchings Signed-off-by: David S. Miller commit 6d65e5eee6fc8fa9abef9e78e7e789c2cb06f95c Author: Michio Honda Date: Fri Jun 10 16:42:14 2011 +0900 sctp: kzalloc() error handling on deleting last address Signed-off-by: Michio Honda Acked-by: Wei Yongjun Signed-off-by: David S. Miller commit 69785b79ca9b1acb62098ff059f897bfe59d443f Author: Po-Yu Chuang Date: Wed Jun 8 23:32:48 2011 +0000 net: add Faraday FTGMAC100 Gigabit Ethernet driver FTGMAC100 Ethernet Media Access Controller supports 10/100/1000 Mbps and MII/GMII. This driver has been working on some ARM/NDS32 SoC's including Faraday A369 and Andes AG102. Signed-off-by: Po-Yu Chuang Signed-off-by: David S. Miller commit ac752277961c0aba08ba7b33e7c93a56f711cef9 Author: Geert Uytterhoeven Date: Sat Jun 11 14:58:17 2011 -0700 net/m68k: Include where needed arch/m68k/emu/nfeth.c: In function ‘nfeth_init’: arch/m68k/emu/nfeth.c:243: error: implicit declaration of function ‘request_irq’ arch/m68k/emu/nfeth.c:243: error: ‘IRQF_SHARED’ undeclared (first use in this function) arch/m68k/emu/nfeth.c:243: error: (Each undeclared identifier is reported only once arch/m68k/emu/nfeth.c:243: error: for each function it appears in.) arch/m68k/emu/nfeth.c: In function ‘nfeth_cleanup’: arch/m68k/emu/nfeth.c:266: error: implicit declaration of function ‘free_irq’ drivers/net/apne.c: In function ‘apne_probe’: drivers/net/apne.c:189: error: implicit declaration of function ‘free_irq’ drivers/net/apne.c: In function ‘apne_probe1’: drivers/net/apne.c:317: error: implicit declaration of function ‘request_irq’ drivers/net/apne.c:317: error: ‘IRQF_SHARED’ undeclared (first use in this function) drivers/net/apne.c:317: error: (Each undeclared identifier is reported only once drivers/net/apne.c:317: error: for each function it appears in.) Introduced by commit a6b7a407865a ("net: remove interrupt.h inclusion from netdevice.h"). Include in the individual drivers to fix the build. Signed-off-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit b2ea345eab568062b321bcd3b8d72f14c93dbb63 Author: Wey-Yi Guy Date: Tue Jun 7 08:53:14 2011 -0700 iwlagn: Sanity check for valid context Check EEPROM for multiple contexts support Signed-off-by: Wey-Yi Guy commit 4f0642a6665d1f4dbf8ef472dd5620e7585357b9 Author: Wey-Yi Guy Date: Mon Jun 6 16:28:54 2011 -0700 iwlagn: Sanity check for 11n capability Make sure when we say 11n enable, we really support it. Signed-off-by: Wey-Yi Guy commit 1f8bf0396ae7e63648b210fd197b1a5ab0db51bf Author: Wey-Yi Guy Date: Mon Jun 6 14:26:43 2011 -0700 iwlagn: merge duplicated code into single place Multiple places have similar code to construct calib header. Merge into single inline function. Signed-off-by: Wey-Yi Guy commit 109a0ac5d8ed35914f5ce5c6d36244c08963c6cb Author: Wey-Yi Guy Date: Mon Jun 6 14:26:42 2011 -0700 iwlagn: group similar defines together No functional changes, just group similar defines together Signed-off-by: Wey-Yi Guy commit 8d8854d983ab7217d322269c9bd17c1f8c481ae8 Author: Wey-Yi Guy Date: Mon Jun 6 14:26:41 2011 -0700 iwlagn: generic temperature location in EEPROM Temperature location in EEPROM is generic to all devices Signed-off-by: Wey-Yi Guy commit bf300252baa383065851e2ed6af41e5f9735fe9c Author: Wey-Yi Guy Date: Mon Jun 6 14:26:40 2011 -0700 iwlagn: remove unused debug flag Remove both IWL_DEBUG_TXPOWER and IWL_DEBUG_NOTIF, not used. Signed-off-by: Wey-Yi Guy commit 06bb83589c4feac9bbb8d0d27d72f9d346f770c0 Author: Wey-Yi Guy Date: Mon Jun 6 14:26:38 2011 -0700 iwlagn: use IWL_DEBUG_FW for firmware related debug msg Instead use generic IWL_DEBUG_INFO, use IWL_DEBUG_FW for uCode related stuffs. Signed-off-by: Wey-Yi Guy commit f38f884b3b291c895d1033f02e351532d1d3f1dc Author: Wey-Yi Guy Date: Mon Jun 6 14:26:39 2011 -0700 iwlagn: use IWL_DEBUG_TEMP for temperature related debug Instead of IWL_DEBUG_POWER, IWL_DEBUG_TEMP should be used for temperature related debug messages Signed-off-by: Wey-Yi Guy commit fa7f1413ed93a662839460e90dd6a5d045df2c03 Author: Wey-Yi Guy Date: Mon Jun 6 12:49:25 2011 -0700 iwlagn: add debug message for coex related activities Adding dedicated debug message for coex related activities Signed-off-by: Wey-Yi Guy commit ebbb491e8efac3c0a6f880f676374fc1605469f5 Author: Wey-Yi Guy Date: Mon Jun 6 12:49:24 2011 -0700 iwlagn: add coex debug flag Replace IWL_DEBUG_AP with IWL_DEBUG_COEX for debug COEX related stuffs Signed-off-by: Wey-Yi Guy commit 8895075886bbcfdab6ad7923ae8ab3b3314549c4 Author: Wey-Yi Guy Date: Mon Jun 6 12:05:46 2011 -0700 iwlagn: use sku capabilities information from EEPROM Instead of having the separated define, use the sku capabilities in EEPROM Signed-off-by: Wey-Yi Guy commit 052692976e40bc124a8615ec880dd83046d71c24 Author: Wey-Yi Guy Date: Mon Jun 6 12:05:45 2011 -0700 iwlagn: Band capabilities in EEPROM Add define for band capabilities in EEPROM Signed-off-by: Wey-Yi Guy commit 872907bb17fe2d8d01d0e9723f72f91cb4ea103f Author: Johannes Berg Date: Mon Jun 6 09:41:15 2011 -0700 iwlagn: don't check ucode subtype The ucode subtypes keep changing, and there's no particular reason to be checking them (other than a paranoid sanity check). Since the numbers are also in conflict between different ucode images now, simply don't check them any more and rely on the images being built correctly. Also, to indicate that, rename the constants and the enum, moving it to a different file. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3f1e5f4a2b0993b6e81b5665b28568624f581b0f Author: Wey-Yi Guy Date: Fri Jun 3 13:52:40 2011 -0700 iwlagn: move no_sleep_autoadjust as part of iwlagn_mod_params Move no_sleep_autoadjust module parameter into iwlagn_mod_params structure along with all the other iwlagn module parameters Signed-off-by: Wey-Yi Guy commit 6b0184c4c62beb15443fd6dd5080f0e18941b67b Author: Wey-Yi Guy Date: Fri Jun 3 13:52:39 2011 -0700 iwlagn: move led_mode as part of iwlagn_mod_params Move led_mode module parameter into iwlagn_mod_params structure along with all the other iwlagn module parameters Signed-off-by: Wey-Yi Guy commit b60eec9bf07307ad40e9304d39eb9107acb2fb0c Author: Wey-Yi Guy Date: Fri Jun 3 13:52:38 2011 -0700 iwlagn: move bt_coex_active as part of iwlagn_mod_params Move bt_coex_active module parameter into iwlagn_mod_params structure along with all the other iwlagn module parameters Signed-off-by: Wey-Yi Guy commit eb64dca0c9d73e191026ed37d1075f22e48b3f1c Author: Wey-Yi Guy Date: Tue May 31 08:03:02 2011 -0700 iwlagn: add dumpit support for testmode trace function For testmode trace function, huge amout of data need to pass to userspace. Use the build-in nl80211 dumpt it function Require nl80211 testmode dumpit support patch. Signed-off-by: Wey-Yi Guy commit 49b72100165e3b2046be15a8e4f766f5169e708d Author: Wey-Yi Guy Date: Mon May 30 10:29:37 2011 -0700 iwlagn: usersapce application decide the size of trace buffer For testmode trace function, allow userspace application to request the size of trace buffer. Signed-off-by: Wey-Yi Guy commit 8e2943c04c74e537c762c09bcea89e923510a9ac Author: Joe Perches Date: Fri Jun 10 18:11:25 2011 -0700 spi: Convert uses of struct resource * to resource_size(ptr) Done via coccinelle scripts like: @@ struct resource *ptr; @@ - ptr->end - ptr->start + 1 + resource_size(ptr) and some grep and typing. Mostly uncompiled, no cross-compilers. Signed-off-by: Joe Perches Signed-off-by: Grant Likely commit 27810c5e7f8f2ddf036c16b5e40fd22abdc041f9 Author: Joe Perches Date: Fri Jun 10 18:16:15 2011 -0700 gpio/vr41xx: Convert use of struct resource to resource_size(ptr) Remove miscellaneous use of direct calculation by using resource_size(). Signed-off-by: Joe Perches Signed-off-by: Grant Likely commit b57e3c2692b04ac0b2f14bb94c63291fad1d7309 Author: H Hartley Sweeten Date: Fri Jun 10 09:08:17 2011 -0700 gpio/ep93xx: Add missing EP93XX_GPIO_PHYS_BASE define The patch to convert of the ep93xx gpio driver to a platform_driver is missing the define for the memory resource that is passed to the driver. This is needed to prevent a build error. Signed-off-by: H Hartley Sweeten Signed-off-by: Grant Likely commit 7101f4043cdaa5dc2bf8974313744246f3955de7 Author: Larry Finger Date: Fri Jun 10 11:05:23 2011 -0500 rtlwifi: Fix warnings on parisc arch In "Build regressions/improvements in v3.0-rc2", Geert Uytterhoeven reports a number of warnings that occur for parisc builds of rtlwifi and dependents. Reported-by: Geert Uytterhoeven Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e3ae0cac00042d7fb76914c30c5f991f918e65b4 Author: Arend van Spriel Date: Thu Jun 9 20:07:20 2011 +0200 drivers: bcma: export bcma_core_disable() function In the brcm80211 driver we disable the 80211 core when the driver is 'down'. The bcma_core_disable() function exactly does the same as our implementation so exporting this function makes sense. Cc: linux-wireless@vger.kernel.org Cc: Rafal Milecki Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 5b49b35a671e59c16c33611ea2d5650438388663 Author: Dan Carpenter Date: Thu Jun 9 10:09:34 2011 +0300 b43: check for allocation failures Add some error handling if the allocation fails. Signed-off-by: Dan Carpenter Signed-off-by: John W. Linville commit 287546df342daaa146c840ce26b3ed012a055de5 Author: Amitkumar Karwar Date: Wed Jun 8 20:39:20 2011 +0530 mwifiex: get rid of global adapter pointer 1) Avoid global adapter pointer usage a) in sdio.c by moving some code from mwifiex_cleanup_module() to mwifiex_sdio_remove(). b) in main.c by passing an extra parameter to few functions. 2) Add new variable "user_rmmod" to identify if mwifiex_sdio_remove() callback function is called in card removal or rmmod context. These code changes are adapted from Libertas driver. 3) Remove unnecessary NULL pointer check for "func" pointer in mwifiex_sdio_remove(). Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7f1f974251493d3929ebd422796e6f9f2bcd6956 Author: Stanislaw Gruszka Date: Wed Jun 8 15:28:29 2011 +0200 iwlegacy: refactor iwl4965_mac_channel_switch Use less indentions and remove uneeded irq-save flags. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 0d01550f3dec4efc8e88bdefb27b9fa7522603f7 Author: Stanislaw Gruszka Date: Wed Jun 8 15:28:28 2011 +0200 iwlegacy: remove unused agg_tids_count Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 1ba2f121f9e1d98dd838644f76fa23837dd28913 Author: Stanislaw Gruszka Date: Wed Jun 8 15:28:27 2011 +0200 iwlegacy: remove firmware event log Messages like that iwl4965 0000:03:00.0: Start IWL Event Log Dump: display last 20 entries iwl4965 0000:03:00.0: EVT_LOGT:1821445332:0x00000000:1352 iwl4965 0000:03:00.0: EVT_LOGT:1821445332:0x00000001:1353 iwl4965 0000:03:00.0: EVT_LOGT:1821445336:0x0000000c:0357 iwl4965 0000:03:00.0: EVT_LOGT:1821445533:0x00000107:0106 iwl4965 0000:03:00.0: EVT_LOGT:1821445534:0x00000000:0302 iwl4965 0000:03:00.0: EVT_LOGT:1821445574:0x000000d4:0321 iwl4965 0000:03:00.0: EVT_LOGT:1821445575:0x00000000:1350 iwl4965 0000:03:00.0: EVT_LOGT:1821445576:0x00000000:1351 iwl4965 0000:03:00.0: EVT_LOGT:1821445576:0x00000000:1352 iwl4965 0000:03:00.0: EVT_LOGT:1821445577:0x00000001:1353 iwl4965 0000:03:00.0: EVT_LOGT:1821445581:0x0000000d:0357 iwl4965 0000:03:00.0: EVT_LOGT:1821446327:0x00000107:0106 iwl4965 0000:03:00.0: EVT_LOGT:1821446328:0x00000000:0302 iwl4965 0000:03:00.0: EVT_LOGT:1821446368:0x000000d4:0321 iwl4965 0000:03:00.0: EVT_LOGT:1821446369:0x00000000:1350 iwl4965 0000:03:00.0: EVT_LOGT:1821446370:0x00000000:1351 iwl4965 0000:03:00.0: EVT_LOGT:1821446370:0x00000000:1352 iwl4965 0000:03:00.0: EVT_LOGT:1821446371:0x00000001:1353 iwl4965 0000:03:00.0: EVT_LOGT:1821446375:0x0000000e:0357 iwl4965 0000:03:00.0: EVT_LOGT:1821446383:0x00000000:0125 are completely useless for me. Remove bunch of code that generate them. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit dd6d2a8aef69cfef8acf1ff7ebb22a763c9ba56f Author: Stanislaw Gruszka Date: Wed Jun 8 15:28:26 2011 +0200 iwlegacy: remove reset rf infrastructure We do not reset radio anymore, hence don't need that code too. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit ecaee0ff07d429a8571ea015c00a211c17a86494 Author: Stanislaw Gruszka Date: Wed Jun 8 15:28:25 2011 +0200 iwlegacy: remove recover from statistics Recover from statistics code was added during 6xxx devices development, I don't think is needed on old devices. Also it is suspicious to cause random, unreproducible microcode errors and hangs. So remove it. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 3c09b174da3de867e61c4dcca765417a98ba961e Author: Stanislaw Gruszka Date: Wed Jun 8 15:28:24 2011 +0200 iwlegacy: remove unused power commands defines Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 9a821f5d0fc36425e95f0f4ade4bbca8f0ebff4d Author: Daniel Drake Date: Tue Jun 7 18:15:57 2011 +0100 libertas: add sd8686 reset_card support At http://dev.laptop.org/ticket/10748 we are seeing a case of the libertas firmware randomly stopping responding to commands after resume. Careful monitoring of communications indicates a firmware or hardware bug, which has been reported to Marvell. Work around this issue by adding a reset_card method; this is automatically called when command timeouts are detected and provides an instant recovery to this situation. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 43a1c2721acd792aea370ee68ef054e18c944373 Author: Vincent Zweije Date: Tue Jun 7 16:37:09 2011 +0200 networking: fix warning about unused label wake_up Function ieee80211_reconfig in net/mac80211/util.c contains label wake_up which is defined unconditionally, but only used with CONFIG_PM. Gcc warns about this when CONFIG_PM is not defined. This patch makes the label's definition dependent on CONFIG_PM too, eliminating the warning. The issue was apparently introduced in git commit eecc48000afe2ca6da22122d553b7cad294e42fc. Signed-off-by: Vincent Zweije Signed-off-by: John W. Linville commit 323222b5ff930a43eab45cec6e58345740fa2a29 Author: Paul Stewart Date: Wed Jun 8 05:52:52 2011 -0700 cfg80211: Ignore downstream DEAUTH for authtry_bsses Downsteram DEAUTH messages do not refer to a current authentication attempt -- AUTH responses do. Therefore we should not allow DEAUTH from an AP to void state for an AUTH attempt in progress. Signed-off-by: Paul Stewart Signed-off-by: John W. Linville commit fd854772c11d6ad0377f0b613142e397bec58a3a Author: Mike McCormack Date: Mon Jun 6 23:13:06 2011 +0900 rtlwifi: Factor out code to receive one packet Signed-off-by: Mike McCormack Signed-off-by: John W. Linville commit 14058adddd4fd40e45c434c801e8ed8baf09251e Author: Mike McCormack Date: Mon Jun 6 23:12:53 2011 +0900 rtlwifi: Free skb in one place Signed-off-by: Mike McCormack Signed-off-by: John W. Linville commit 8db8ddf13dda0fc96937bcb6e10563e7b9a20387 Author: Mike McCormack Date: Mon Jun 6 23:12:42 2011 +0900 rtlwifi: Resubmit skbs with bad CRC early Once we realize a bad packet was received, don't waste time unmapping it, freeing it, then allocation a new skb and mapping it, just resubmit the existing skb. Signed-off-by: Mike McCormack Signed-off-by: John W. Linville commit 2c333366a4ec1f4cdbaec285ba448d5943df8ffd Author: Mike McCormack Date: Mon Jun 6 23:12:08 2011 +0900 rtlwifi: Remove unnecessary indent Signed-off-by: Mike McCormack Signed-off-by: John W. Linville commit 1d34d108e07680e2c07847d5e69a334cb4f96ab3 Author: Eliad Peller Date: Mon Jun 6 12:59:29 2011 +0300 mac80211: add ieee80211_get_operstate() function Add ieee80211_get_operstate() function to get the operstate of the netdevice. This is needed for drivers that need to know when the interface is IF_OPER_UP (e.g. wl12xx), and block notifiers can't be used (e.g. because the interface is already IF_OPER_UP, like after resuming from suspend) Signed-off-by: Eliad Peller Signed-off-by: John W. Linville commit c48b1f729a75880d0895f0b23efaf551ee800a35 Merge: 448f262 51e6525 Author: John W. Linville Date: Fri Jun 10 14:26:12 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-agn-rxon.c drivers/net/wireless/rtlwifi/pci.c commit 21f07f4f5718449c85c29827ff6fb0cf35a6c96e Author: Thomas Gleixner Date: Thu Jun 9 23:08:47 2011 +0200 i8253: Export i8253_lock unconditionally We don't want to add endless selects and module ifdefs. Reported-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e8f7c70f44f75c827c04239b0ae5f0068b65b76e Author: Frederic Weisbecker Date: Wed Jun 8 01:51:02 2011 +0200 sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT Select CONFIG_PREEMPT_COUNT when we enable the sleeping inside spinlock detection, so that the preempt offset gets correctly incremented/decremented from preempt_disable()/preempt_enable(). This makes the preempt count eventually working in !CONFIG_PREEMPT when that debug option is set and thus fixes the detection of explicit preemption disabled sections under such config. Code that sleeps in explicitly preempt disabled section can be finally spotted in non-preemptible kernels. Signed-off-by: Frederic Weisbecker Acked-by: Paul E. McKenney Cc: Ingo Molnar Cc: Peter Zijlstra commit bdd4e85dc36cdbcfc1608a5b2a17c80a9db8986a Author: Frederic Weisbecker Date: Wed Jun 8 01:13:27 2011 +0200 sched: Isolate preempt counting in its own config option Create a new CONFIG_PREEMPT_COUNT that handles the inc/dec of preempt count offset independently. So that the offset can be updated by preempt_disable() and preempt_enable() even without the need for CONFIG_PREEMPT beeing set. This prepares to make CONFIG_DEBUG_SPINLOCK_SLEEP working with !CONFIG_PREEMPT where it currently doesn't detect code that sleeps inside explicit preemption disabled sections. Signed-off-by: Frederic Weisbecker Acked-by: Paul E. McKenney Cc: Ingo Molnar Cc: Peter Zijlstra commit 1057c42747ebf4d1cbaa2ab6125b92914b8ec622 Author: Greg Rose Date: Thu May 19 02:11:45 2011 +0000 ixgbevf: Update the driver string Signed-off-by: Greg Rose Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit c7ac8679bec9397afe8918f788cbcef88c38da54 Author: Greg Rose Date: Fri Jun 10 01:27:09 2011 +0000 rtnetlink: Compute and store minimum ifinfo dump size The message size allocated for rtnl ifinfo dumps was limited to a single page. This is not enough for additional interface info available with devices that support SR-IOV and caused a bug in which VF info would not be displayed if more than approximately 40 VFs were created per interface. Implement a new function pointer for the rtnl_register service that will calculate the amount of data required for the ifinfo dump and allocate enough data to satisfy the request. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher commit 929dd047720785f099e12113780b3d7914ce6d9f Author: Carolyn Wyborny Date: Thu May 26 03:02:26 2011 +0000 igb: Change version to remove number after -k in kernel versions. This patch changes the way versioning is done for igb in the kernel by removing the number after the "k." It has been determined that just the "k" is sufficient to identify a kernel version and the following number was used in an inconsistent manner. Signed-off-by: Carolyn Wyborny Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher commit cabe0700c56c1e28fc55674e8c1fc9e4495dded9 Author: Williams, Mitch A Date: Thu May 19 05:37:59 2011 +0000 igbvf: update version number Update the version number to match version conventions. Bump the major version to indicate that new hardware support (i350) has been added. Signed-off-by: Mitch Williams Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit b3ccf26704f80cd9959c4d2a83c2278bcc93425c Author: Bruce Allan Date: Thu May 19 01:53:41 2011 +0000 e1000e: update driver version Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 7ff1c8bb7c4fd81b627eedec4f30973c269fd8d8 Author: Bruce Allan Date: Thu May 26 05:24:38 2011 +0000 e1000e: remove redundant reverse dependency on CRC32 Commit 5d03078a6804bf4c7f943c5b68bef80468c0717f added a redundant 'select CRC32'; remove it. Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 3ebfc7c9a6177794e0a1635483bd64268bed5d3c Author: Bruce Allan Date: Fri May 13 07:20:14 2011 +0000 e1000e: Clear host wakeup bit on 82577/8 without touching PHY page 800 The Host Wakeup Active bit in the PHY Port General Configuration register (page 769 register 17) must be cleared after every PHY reset to prevent an unexpected wake signal from the PHY. Originally, this was accomplished by simply reading the PHY Wakeup Control register on page 800 which clears the Host Wakeup Active bit as a side-effect. Unfortunately, a hardware bug on the 82577 and 82578 PHY can cause unexpected behavior when registers on page 800 are accessed while in gigabit mode. This patch changes the remaining instances when the Host Wakeup Active bit needs to be cleared while possibly in gigabit mode by accessing the Port General Configuration register directly instead of accessing any register on page 800. Signed-off-by: Bruce Allan Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher commit 2b6b168d52aa044363647cfff8bda5cef8068ca3 Author: Bruce Allan Date: Fri May 13 07:20:09 2011 +0000 e1000e: access multiple PHY registers on same page at the same time Doing a PHY page select can take a long time, relatively speaking. This can cause a significant delay when updating a number of PHY registers on the same page by unnecessarily setting the page for each PHY access. For example when going to Sx, all the PHY wakeup registers (WUC, RAR[], MTA[], SHRAR[], IP4AT[], IP6AT[], etc.) on 82577/8/9 need to be updated which takes a long time which can cause issues when suspending. This patch introduces new PHY ops function pointers to allow callers to set the page directly and do any number of PHY accesses on that page. This feature is currently only implemented for 82577, 82578 and 82579 PHYs for both the normally addressed registers as well as the special- case addressing of the PHY wakeup registers on page 800. For the latter registers, the existing function for accessing the wakeup registers has been divided up into three- 1) enable access to the wakeup register page, 2) perform the register access and 3) disable access to the wakeup register page. The two functions that enable/disable access to the wakeup register page are necessarily available to the caller so that the caller can restore the value of the Port Control (a.k.a. Wakeup Enable) register after the wakeup register accesses are done. All instances of writing to multiple PHY registers on the same page are updated to use this new method and to acquire any PHY locking mechanism before setting the page and performing the register accesses, and release the locking mechanism afterward. Some affiliated magic number cleanup is done as well. Signed-off-by: Bruce Allan Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher commit 400484fa65ead1bbc3e86ea79e7505182a31bce1 Author: Bruce Allan Date: Fri May 13 07:20:03 2011 +0000 e1000e: do not schedule the Tx queue until ready Start the Tx queue when the interface is brought up in e1000e_up() but do not schedule the queue until link is up as detected in the watchdog task which sets netif_carrier_on. Also flush the descriptors and clean the Tx and Rx rings before resetting the hardware when bringing the interface down otherwise there is a small window where the watchdog task can be triggered with netif_carrier_off and the Tx ring not yet empty which causes an additional and unnecessary reset. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher commit c5caf4825b22957e4ad70fd94316e91ce8cfb51c Author: Bruce Allan Date: Fri May 13 07:19:53 2011 +0000 e1000e: log when swflag is cleared unexpectedly on ICH/PCH devices Since EXTCNF_CTRL.SWFLAG (used in the ownership arbitration of shared resources, e.g. the PHY shared between the s/w, f/w, and h/w clients) can be cleared by any of those clients, log a debug message when software attempts to clear it and it is already cleared unexpectedly. And since the swflag is cleared by a hardware reset, the driver does not need to do that, but the mutex acquired when the bit is set must still be cleared. Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 99730e4c13c8344b02dd96108945b48d28c14c25 Author: Bruce Allan Date: Fri May 13 07:19:48 2011 +0000 e1000e: 82579 intermittently disabled during S0->Sx When repeatedly cycling Sx->S0 states with the network cable unplugged, the 82579 PHY may not initialize as expected and may require a full power cycle to recover functionality to the device. Workaround this by testing access of the PHY registers after resuming; if that returns unexpected results toggle the LANPHYPC signal to power cycle the PHY. This is implemented in the new function e1000_resume_workarounds_pchlan() which calls another new function, e1000_toggle_lanphypc_value_ich8lan(), which has been created to reduce code duplication (same functionality required by a previous workaround). Also, e1000e_disable_gig_wol_ich8lan is now e1000_suspend_workarounds_ich8lan to better reflect what it does. Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit d9b24135b972ccdd5f5174fba06c730e895e6daf Author: Bruce Allan Date: Fri May 13 07:19:42 2011 +0000 e1000e: disable far-end loopback mode on ESB2 The ESB2 LAN includes a debug feature that enables far-end loopback (FELB) of the SerDes/Kumeran interface. This feature is activated when receiving a sequence of symbols that includes a reserved codeword. On a perfect link, FELB would never be activated. In the presence of bit errors, there is a very small, but non-zero, probability of FELB being activated. If the FELB is activated, the SerDes link becomes non-functional and must be reset. It could also corrupt the switching tables in the switch since the ESB2 is transmitting packets with a different source MAC address. This patch disables the FELB feature. Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit e357964ee66723d0ced63ac1dbd1db4a6a1d417e Author: Peter Pan(潘卫平) Date: Wed Jun 8 21:19:05 2011 +0000 bonding: delete unused arp_mon_pt Now all received packets are handled by bond_handle_frame, and arp_mon_pt isn't used any more. Reviewed-by: WANG Cong Signed-off-by: Weiping Pan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 0cc42eb608954c1d68be7ac51af7434e5fc45659 Author: Peter Pan(潘卫平) Date: Wed Jun 8 21:19:04 2011 +0000 bonding: delete unused ad_timer Now we use agg_select_timer and ad_work. Reviewed-by: WANG Cong Signed-off-by: Weiping Pan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 1a14fbcbc96bd098540eb54b66976c20a73b8473 Author: Peter Pan(潘卫平) Date: Wed Jun 8 21:19:03 2011 +0000 bonding:delete agg_select_mode from ad_bond_info bond_params->ad_select and ad_bond_info->agg_select_mode have the same meaning, they are duplicate and need extra synchronization. __get_agg_selection_mode() get ad_select from bond_params directly. Signed-off-by: Weiping Pan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 56d00c677de0a6285587af4f6c6f10aef3209f9f Author: Peter Pan(潘卫平) Date: Wed Jun 8 21:19:02 2011 +0000 bonding:delete lacp_fast from ad_bond_info These is also a bug, that if you modify lacp_rate via sysfs, and add new slaves in bonding, new slaves won't use the latest lacp_rate, since ad_bond_info->lacp_fast is initialized only once, in bond_3ad_initialize(). Since both struct bond_params and ad_bond_info have lacp_fast, they are duplicate and need extra synchronization. bond_3ad_bind_slave() can use bond_params->lacp_fast to initialize port. So we can just remove lacp_fast from struct ad_bond_info. Signed-off-by: Weiping Pan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit ba824a8b2d77942d51ce45ed721f65764c00ab50 Author: Peter Pan(潘卫平) Date: Wed Jun 8 21:19:01 2011 +0000 bonding: make 802.3ad use latest lacp_rate There is bug that when you modify lacp_rate via sysfs, 802.3ad won't use the new value of lacp_rate to transmit packets. This is because port->actor_oper_port_state isn't changed. Signed-off-by: Weiping Pan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit b880a954b9e2585ce325aedd76e4741880cab180 Author: Vasanthy Kolluri Date: Thu Jun 9 10:37:07 2011 +0000 enic: Bug Fix: Fix hardware transmit queue indexing in enic_poll_controller Signed-off-by: Christian Benvenuti Signed-off-by: Danny Guo Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 7d260ec26ee56495bcb32491d44ed4590cc838a0 Author: Vasanthy Kolluri Date: Thu Jun 9 10:37:02 2011 +0000 enic: Get/Set interrupt resource index for transmit and receive queues Instead of deriving the index of a transmit/receive interrupt resource from the transmit/receive queue index, always save and retrieve it using an additional variable. Signed-off-by: Christian Benvenuti Signed-off-by: Danny Guo Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit e1fb77bfd062b8d38fb0e428ae0edcd2dc4ec07b Author: Vasanthy Kolluri Date: Thu Jun 9 10:36:57 2011 +0000 enic: Log device configuration in detail during driver load Signed-off-by: Christian Benvenuti Signed-off-by: Danny Guo Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 8757446d8df4446fc7f5d24ad6d53e9f265cc021 Author: Vasanthy Kolluri Date: Thu Jun 9 10:36:52 2011 +0000 enic: Pass 802.1p bits for packets tagged with vlan zero enic driver currently passes 802.1p bits to the upper layers for packets tagged with non-zero vlan ids only. This patch extends such behaviour to zero vlan tagged packets also. The patch is dependant on the following kernel patches: 1) vlan_dev: VLAN 0 should be treated as "no vlan tag" (802.1p packet) - net-next-2.6 git commit: ad1afb00393915a51c21b1ae8704562bf036855f - Available 2.6.36 and later 2) vlan: Centralize handling of hardware acceleration. - net-next-2.6 git commit: 3701e51382a026cba10c60b03efabe534fba4ca4 - Available 2.6.37 and later Signed-off-by: Christian Benvenuti Signed-off-by: Danny Guo Signed-off-by: Vasanthy Kolluri Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: David S. Miller commit 6018e1183ba52735d47e8c183497d8598da75351 Merge: 075cd29 ecbd532 Author: David S. Miller Date: Thu Jun 9 14:56:13 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge commit 448f2627c169092d2091a1be22feb6a7775f6201 Merge: 5a9d0a3 6de6c18 Author: Gustavo F. Padovan Date: Thu Jun 9 16:33:54 2011 -0300 Merge master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 Conflicts: net/bluetooth/rfcomm/sock.c commit 5a9d0a3ffbc40ea1f5a0636501e7599cbb327bcc Author: Waldemar Rymarkiewicz Date: Tue Jun 7 11:18:06 2011 +0200 Bluetooth: Clean up some code style issues Fix lines longer than 80 chars in length. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit d29d04ce0f49b9fbcaefc83ec4e9bdb7badd45fa Author: David Miller Date: Thu May 19 17:50:05 2011 -0400 Bluetooth: Kill set but unused variable 'cmd' in cmtp_recv_capimsg() Signed-off-by: David S. Miller Signed-off-by: Gustavo F. Padovan commit e4c8308c852e6b3fa49215052a5b9e99597dee99 Merge: c37f3c2 626a96d Author: Grant Likely Date: Thu Jun 9 12:42:57 2011 -0600 Merge branch 'ep93xx-dma' into spi/next commit ecbd532108cb21d9d3770f73e168bad65d14d9eb Author: Marek Lindner Date: Thu Jun 9 17:13:09 2011 +0200 batman-adv: use NO_FLAGS define instead of hard-coding 0 The definition NO_FLAGS was introduced to make the code more readable and shall be used to initialize flag fields. Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit e8958dbf0da377e11f385a9888da3f72e827ab26 Author: Sven Eckelmann Date: Sat Jun 4 11:26:00 2011 +0200 batman-adv: Use enums for related constants CodingStyle "Chapter 12: Macros, Enums and RTL" recommends to use enums for several related constants. Internal states can be used without defining the actual value, but all values which are visible to the outside must be defined as before. Normal values are assigned as usual and flags are defined by shifts of a bit. Signed-off-by: Sven Eckelmann commit 3d222bbaa7329e8ef45129e1bd6801000d7e05e4 Author: Sven Eckelmann Date: Sun Jun 5 10:20:19 2011 +0200 batman-adv: Rewrite debugfs kobj_to_* helpers as functions CodingStyle "Chapter 12: Macros, Enums and RTL" highly recommends to use functions instead of macros were possible. This ensures type safety and prevents shadowing of other variables. Signed-off-by: Sven Eckelmann commit e72948eb21d1da0275be1c6e0c7a9a22aa67a5e3 Author: Sven Eckelmann Date: Sat Jun 4 14:00:49 2011 +0200 batman-adv: Fix signedness problem in parse_gw_bandwidth strict_strtoul as used in parse_gw_bandwidth is defined for unsigned long and strict_strtol should be used instead for long. Signed-off-by: Sven Eckelmann commit 6b9aadfa97efa5a73c005c5c4c667359a0c85bec Author: Sven Eckelmann Date: Sat Jun 4 12:40:37 2011 +0200 batman-adv: Don't return value in void function gw_node_delete is defined with "void" as return type, but still tries to return a value. The called function gw_node_delete is also return as void and thus doesn't provide a value for us. Signed-off-by: Sven Eckelmann commit d1829fa0c380ccf48a7b96795a6d4a01698d02a6 Author: Daniele Furlan Date: Tue Jun 7 00:45:55 2011 +0200 batman-adv: accept delayed rebroadcasts to avoid bogus routing under heavy load When a link is saturated (re)broadcasts of OGMs are delayed. Under heavy load this delay may exceed the orig interval which leads to OGMs being dropped (the code would only accept an OGM rebroadcast if it arrived before the next OGM was broadcasted). With this patch batman-adv will also accept delayed OGMs in order to avoid a bogus influence on the routing metric. Signed-off-by: Daniele Furlan Signed-off-by: Sven Eckelmann commit ab1c847af5271495c9c00c931284d7cd46840bd0 Author: Grant Likely Date: Thu Jun 9 12:40:21 2011 -0600 gpio/ep93xx: Remove superfluous debug pr_info statement Reported-by: H Hartley Sweeten Signed-off-by: Grant Likely commit 6de6c18d8d3b2a82cc1c657f005e61b1c1f2f886 Author: Ville Tervo Date: Fri May 27 11:16:21 2011 +0300 Bluetooth: Do not send SET_EVENT_MASK for 1.1 and earlier devices Some old hci controllers do not accept any mask so leave the default mask on for these devices. < HCI Command: Set Event Mask (0x03|0x0001) plen 8 Mask: 0xfffffbff00000000 > HCI Event: Command Complete (0x0e) plen 4 Set Event Mask (0x03|0x0001) ncmd 1 status 0x12 Error: Invalid HCI Command Parameters Signed-off-by: Ville Tervo Tested-by: Corey Boyle Tested-by: Ed Tomlinson Signed-off-by: Gustavo F. Padovan commit 0b28d7373562938a9e6f38c259f66082e99cb9a9 Author: David Miller Date: Thu May 19 17:37:45 2011 -0400 Bluetooth: Do not ignore errors returned from strict_strtol() Signed-off-by: David S. Miller Signed-off-by: Gustavo F. Padovan commit 4a77708b055a71bf769a917283a9eba3dcedb017 Author: Luiz Augusto von Dentz Date: Thu May 12 11:13:15 2011 +0300 Bluetooth: fix shutdown on SCO sockets shutdown should wait for SCO link to be properly disconnected before detroying the socket, otherwise an application using the socket may assume link is properly disconnected before it really happens which can be a problem when e.g synchronizing profile switch. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Gustavo F. Padovan commit d0fad89da9801b3945d2ee7243ecbc75b3da6f09 Author: Stephen Boyd Date: Thu May 12 16:50:09 2011 -0700 Bluetooth: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning: In function 'copy_from_user', inlined from 'rfcomm_sock_setsockopt' at net/bluetooth/rfcomm/sock.c:705: arch/x86/include/asm/uaccess_64.h:65: warning: call to 'copy_from_user_overflow' declared with attribute warning: copy_from_user() buffer size is not provably correct presumably due to buf_size being signed causing GCC to fail to see that buf_size can't become negative. Cc: Marcel Holtmann Cc: Gustavo F. Padovan Signed-off-by: Stephen Boyd Signed-off-by: Gustavo F. Padovan commit 8a118c3872945d54e0cacdea06c93527cdfb8782 Author: Ralf Baechle Date: Wed Jun 1 19:05:10 2011 +0100 pcpskr: MIPS: Make config dependencies finer grained Only the Siemens-Nixdorf RM series workstations and the Jazz family workstations have PC speakers built in; Malta can connect one via the infamous AMR connector with an AMR sound card or a little creativity. So we don't want to offer the PC speaker driver on all MIPS systems. Signed-off-by: Ralf Baechle Cc: linux-mips@linux-mips.org Link: http://lkml.kernel.org/r/20110601180611.061710714@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 8761f1ab717cac0616f8cf7ec589ae021c739113 Author: Ralf Baechle Date: Wed Jun 1 19:05:09 2011 +0100 pcspkr: Cleanup Kconfig dependencies Lenghty lists of the kind "depends on ARCH1 || ARCH2 ... || ARCH123" are usually either wrong or too coarse grained. Or plain an ugly sin. [ tglx: Fixed up amigaone ] Signed-off-by: Ralf Baechle Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linux-alpha@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: linuxppc-dev@lists.ozlabs.org Cc: Gerhard Pircher Link: http://lkml.kernel.org/r/20110601180610.984881988@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 850492760cfd38d14d64a5fc6d636091464f755e Author: Ralf Baechle Date: Wed Jun 1 19:05:08 2011 +0100 i8253: Move remaining content and delete asm/i8253.h Move setup_pit_timer() declaration to the common header file and remove the arch specific ones. [ tglx: Move it to linux/i8253.h instead of asm/mips and asm/x86 ] Signed-off-by: Ralf Baechle Cc: linux-arm-kernel@lists.infradead.org Cc: Russell King Cc: linux-mips@linux-mips.org Cc: Sergei Shtylyov commit 49cf3f29a1ef2e59f1be823e376c1fbac586eb8d Author: Ralf Baechle Date: Wed Jun 1 19:05:07 2011 +0100 i8253: Consolidate definitions of PIT_LATCH x86 defines PIT_LATCH as LATCH which in is defined as ((CLOCK_TICK_RATE + HZ/2) / HZ) and again defines CLOCK_TICK_RATE as PIT_TICK_RATE. MIPS defines PIT_LATCH as LATCH which in is defined as ((CLOCK_TICK_RATE + HZ/2) / HZ) and again defines CLOCK_TICK_RATE as 1193182. ARM defines PITCH_LATCH as ((PIT_TICK_RATE + HZ / 2) / HZ) - and that's the sanest thing and equivalent to above definitions so use that as the new definition in . Signed-off-by: Ralf Baechle Cc: Russell King Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mips@linux-mips.org Link: http://lkml.kernel.org/r/20110601180610.832810002@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 16f871bc30f86560017b9d34520593a28e08f373 Author: Ralf Baechle Date: Wed Jun 1 19:05:06 2011 +0100 x86: i8253: Consolidate definitions of global_clock_event There are multiple declarations of global_clock_event in header files specific to particular clock event implementations. Consolidate them in and make sure all users include that header. Signed-off-by: Ralf Baechle Cc: Venkatesh Pallipadi (Venki) Link: http://lkml.kernel.org/r/20110601180610.762763451@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 75bba0143454d0fef1b42d5b35cb5bd2f9388901 Author: Ralf Baechle Date: Wed Jun 1 19:05:05 2011 +0100 i8253: Alpha, PowerPC: Remove unused asm/8253pit.h Signed-off-by: Ralf Baechle Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Link: http://lkml.kernel.org/r/20110601180610.684557757@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 36af1b461293e838d6f47edd6f59f0beac222600 Author: Ralf Baechle Date: Wed Jun 1 19:05:04 2011 +0100 alpha: i8253: Cleanup remaining users of i8253pit.h The Alpha header is empty so this inclusion can just be removed. Signed-off-by: Ralf Baechle Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Link: http://lkml.kernel.org/r/20110601180610.608083130@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 609d414437ba2501bb9ca47a051da8871268cfa2 Author: Thomas Gleixner Date: Fri Jun 3 17:44:16 2011 +0200 i8253: Remove I8253_LOCK config Now that all extra ifdeffed implementations are gone, depend the lock export on PCSPKR_PLATFORM Signed-off-by: Thomas Gleixner Cc: Ralf Baechle Cc: Russell King commit 8e1b5adfbee97a187d3e7188a0b248619b76682e Author: Ralf Baechle Date: Wed Jun 1 19:05:03 2011 +0100 i8253: Make pcsp sound driver use the shared i8253_lock Signed-off-by: Ralf Baechle Cc: Jaroslav Kysela Acked-by: Takashi Iwai Cc: alsa-devel@alsa-project.org Link: http://lkml.kernel.org/r/20110601180610.532642190@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 16ba9b061223c8a58b9b2e0dd01435111c4e902a Author: Ralf Baechle Date: Wed Jun 1 19:05:02 2011 +0100 i8253: Make pcspkr input driver use the shared i8253_lock Signed-off-by: Ralf Baechle Cc: Dmitry Torokhov Cc: linux-input@vger.kernel.org Link: http://lkml.kernel.org/r/20110601180610.453577265@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 15f304b664c0d0a3e76ed3a9ce3615a86908babe Author: Ralf Baechle Date: Wed Jun 1 19:04:59 2011 +0100 i8253: Consolidate all kernel definitions of i8253_lock Move them to drivers/clocksource/i8253.c and remove the implementations in arch/ [ tglx: Avoid the extra file in lib - folded arch patches in. The export will become conditional in a later step ] Signed-off-by: Ralf Baechle Link: http://lkml.kernel.org/r/20110601180610.221426078@duck.linux-mips.net Cc: Russell King Signed-off-by: Thomas Gleixner commit cb2455aa274b780802c593fecf115240a655d809 Author: Ralf Baechle Date: Wed Jun 1 19:04:58 2011 +0100 i8253: Unify all kernel declarations of i8253_lock Signed-off-by: Ralf Baechle Cc: Russell King Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mips@linux-mips.org Link: http://lkml.kernel.org/r/20110601180610.134151920@duck.linux-mips.net Signed-off-by: Thomas Gleixner commit 334955ef964bee9d3b1e20966847eee28cfd05f6 Author: Ralf Baechle Date: Wed Jun 1 19:04:57 2011 +0100 i8253: Create linux/i8253.h and use it in all 8253 related files Signed-off-by: Ralf Baechle Cc: linux-mips@linux-mips.org Link: http://lkml.kernel.org/r/20110601180610.054254048@duck.linux-mips.net Signed-off-by: Thomas Gleixner arch/arm/mach-footbridge/isa-timer.c | 2 +- arch/mips/cobalt/time.c | 2 +- arch/mips/jazz/irq.c | 2 +- arch/mips/kernel/i8253.c | 2 +- arch/mips/mti-malta/malta-time.c | 2 +- arch/mips/sgi-ip22/ip22-time.c | 2 +- arch/mips/sni/time.c | 2 +- arch/x86/kernel/apic/apic.c | 2 +- arch/x86/kernel/apm_32.c | 2 +- arch/x86/kernel/hpet.c | 2 +- arch/x86/kernel/i8253.c | 2 +- arch/x86/kernel/time.c | 2 +- drivers/block/hd.c | 2 +- drivers/clocksource/i8253.c | 2 +- drivers/input/gameport/gameport.c | 2 +- drivers/input/joystick/analog.c | 2 +- drivers/input/misc/pcspkr.c | 2 +- include/linux/i8253.h | 11 +++++++++++ sound/drivers/pcsp/pcsp.h | 2 +- 19 files changed, 29 insertions(+), 18 deletions(-) commit 76369139ceb955deefc509e6e12ce9d6ce50ccab Author: Frederic Weisbecker Date: Thu May 19 19:55:04 2011 +0200 perf: Split up buffer handling from core code And create the internal perf events header. v2: Keep an internal inlined perf_output_copy() Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Borislav Petkov Cc: Stephane Eranian Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Link: http://lkml.kernel.org/r/1305827704-5607-1-git-send-email-fweisbec@gmail.com [ v3: use clearer 'ring_buffer' and 'rb' naming ] Signed-off-by: Ingo Molnar commit 075cd29e307720dfde5b67d1715a102473bf4623 Author: Michal Simek Date: Thu Jun 9 01:29:13 2011 -0700 net: emaclite: Add missing linux/interrupt.h header Log: drivers/net/xilinx_emaclite.c: In function 'xemaclite_open': drivers/net/xilinx_emaclite.c:961: error: implicit declaration of function 'request_irq' drivers/net/xilinx_emaclite.c: In function 'xemaclite_close': drivers/net/xilinx_emaclite.c:995: error: implicit declaration of function 'free_irq' make[2]: *** [drivers/net/xilinx_emaclite.o] Error 1 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 Signed-off-by: Michal Simek Signed-off-by: David S. Miller commit 61a5ff15ebdab87887861a6b128b108404e4706d Author: Amos Kong Date: Thu Jun 9 00:27:10 2011 -0700 tun: do not put self in waitq if doing a nonblock read Perf shows a relatively high rate (about 8%) race in spin_lock_irqsave() when doing netperf between external host and guest. It's mainly becuase the lock contention between the tun_do_read() and tun_xmit_skb(), so this patch do not put self into waitqueue to reduce this kind of race. After this patch, it drops to 4%. Signed-off-by: Jason Wang Signed-off-by: Amos Kong Signed-off-by: David S. Miller commit 6f7c156c08d5eaa9fff2bd062f0a2b9d09a1e7a9 Author: stephen hemminger Date: Wed Jun 8 14:33:08 2011 +0000 tun: dont force inline of functions Current standard practice is to not mark most functions as inline and let compiler decide instead. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a504b86e718a425ea4a34e2f95b5cf0545ddfd8d Author: stephen hemminger Date: Wed Jun 8 14:33:07 2011 +0000 tun: reserves space for network in skb The tun driver allocates skb's to hold data from user and then passes the data into the network stack as received data. Most network devices allocate the receive skb with routines like dev_alloc_skb() that reserves additional space for use by network protocol stack but tun does not. Because of the lack of padding, when the packet is passed through bridge netfilter a new skb has to be allocated. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7625eb2f2fff7bfae41d3119b472c20b48874895 Author: Michael Chan Date: Wed Jun 8 19:29:36 2011 +0000 cnic, bnx2: Check iSCSI support early in bnx2_init_one() Based on earlier patch from Neil Horman If iSCSI is not supported on a bnx2 device, bnx2_cnic_probe() will return NULL and the cnic device will not be visible to bnx2i. This will prevent bnx2i from registering and then unregistering during cnic_start() and cause the warning message: bnx2 0003:01:00.1: eth1: Failed waiting for ULP up call to complete Signed-off-by: Michael Chan Cc: Neil Horman Signed-off-by: David S. Miller commit db1d350fcb156b58f66a67680617077bcacfe6fc Author: Michael Chan Date: Wed Jun 8 19:29:35 2011 +0000 cnic: Improve NETDEV_UP event handling During NETDEV_UP, we use symbol_get() to get the net driver's cnic probe function. This sometimes doesn't work if NETDEV_UP happens right after NETDEV_REGISTER and the net driver is still running module init code. As a result, the cnic device may not be discovered. We fix this by probing on all NETDEV events if the device's netif_running state is up. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 11f23aa8ccd56786f0a6f04211cf59b3fab2ce08 Author: Eddie Wai Date: Wed Jun 8 19:29:34 2011 +0000 cnic: Randomize initial TCP port for iSCSI connections This reduces the likelihood of port re-use when re-loading the driver. Signed-off-by: Eddie Wai Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 101c40c8cb0d10c30f423805f9f5b7a75956832d Author: Michael Chan Date: Wed Jun 8 19:29:33 2011 +0000 cnic: Fix race conditions with firmware During iSCSI connection terminations, if the target is also terminating at about the same time, the firmware may not complete the driver's request to close or reset the connection. This is fixed by handling other events (instead of the expected completion event) as an indication that the driver's request has been rejected. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 93736656138e6d2f39f19c1d68f9ef81cfc9dd66 Author: Michael Chan Date: Wed Jun 8 19:29:32 2011 +0000 cnic: Fix interrupt logic We need to keep looping until cnic_get_kcqes() returns 0. cnic_get_kcqes() returns a maximum of 64 entries. If there are more entries in the queue and we don't loop back, the remaining entries may not be serviced for a long time. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2b77bdde97ae8241dcc23110a4e837acfbc83438 Author: Eric Dumazet Date: Wed Jun 8 23:31:27 2011 -0700 inetpeer: lower false sharing effect Profiles show false sharing in addr_compare() because refcnt/dtime changes dirty the first inet_peer cache line, where are lying the keys used at lookup time. If many cpus are calling inet_getpeer() and inet_putpeer(), or need frag ids, addr_compare() is in 2nd position in "perf top". Before patch, my udpflood bench (16 threads) on my 2x4x2 machine : 5784.00 9.7% csum_partial_copy_generic [kernel] 3356.00 5.6% addr_compare [kernel] 2638.00 4.4% fib_table_lookup [kernel] 2625.00 4.4% ip_fragment [kernel] 1934.00 3.2% neigh_lookup [kernel] 1617.00 2.7% udp_sendmsg [kernel] 1608.00 2.7% __ip_route_output_key [kernel] 1480.00 2.5% __ip_append_data [kernel] 1396.00 2.3% kfree [kernel] 1195.00 2.0% kmem_cache_free [kernel] 1157.00 1.9% inet_getpeer [kernel] 1121.00 1.9% neigh_resolve_output [kernel] 1012.00 1.7% dev_queue_xmit [kernel] # time ./udpflood.sh real 0m44.511s user 0m20.020s sys 11m22.780s # time ./udpflood.sh real 0m44.099s user 0m20.140s sys 11m15.870s After patch, no more addr_compare() in profiles : 4171.00 10.7% csum_partial_copy_generic [kernel] 1787.00 4.6% fib_table_lookup [kernel] 1756.00 4.5% ip_fragment [kernel] 1234.00 3.2% udp_sendmsg [kernel] 1191.00 3.0% neigh_lookup [kernel] 1118.00 2.9% __ip_append_data [kernel] 1022.00 2.6% kfree [kernel] 993.00 2.5% __ip_route_output_key [kernel] 841.00 2.2% neigh_resolve_output [kernel] 816.00 2.1% kmem_cache_free [kernel] 658.00 1.7% ia32_sysenter_target [kernel] 632.00 1.6% kmem_cache_alloc_node [kernel] # time ./udpflood.sh real 0m41.587s user 0m19.190s sys 10m36.370s # time ./udpflood.sh real 0m41.486s user 0m19.290s sys 10m33.650s Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1a7a10325d370e2cbed0c5bb7313904545f6dac8 Author: stephen hemminger Date: Wed Jun 8 14:54:04 2011 +0000 niu: support 64 bit stats interface Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c5f7ef72fcca7602ff8c75682b2a8568ba4e5064 Author: stephen hemminger Date: Wed Jun 8 14:54:03 2011 +0000 myricom: update to 64 bit stats Driver was already keeping 64 bit counters, just not using the new interface. Ps: IMHO drivers should not be duplicating network device stats into ethtool stats. It is useless duplication. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f20530bc982d67ebde84b3e0a043549d7ccd85a1 Author: stephen hemminger Date: Wed Jun 8 14:54:02 2011 +0000 enic: update to support 64 bit stats The device driver already uses 64 bit statistics, it just doesn't use the 64 bit interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 47fd428cd051072cf3666aaef5065f7d5746ab2c Author: stephen hemminger Date: Wed Jun 8 14:54:01 2011 +0000 netxen: convert to 64 bit statistics Change to 64 bit statistics interface, driver was already maintaining 64 bit value. Signed-off-by: Stephen Hemminger Acked-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 6311cc44a23bb42636f5076fef0a67859d0a0102 Author: stephen hemminger Date: Wed Jun 8 14:53:59 2011 +0000 veth: convert to 64 bit statistics Not much change, device was already keeping per cpu statistics. Use recent 64 statistics interface. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 95305f6c3b4e8c0bdd5044604c418a8ad2defc4e Author: stephen hemminger Date: Wed Jun 8 14:53:57 2011 +0000 vmxnet3: convert to 64 bit stats interface Convert vmxnet3 driver to 64 bit statistics interface. This driver was already counting packet per queue in a 64 bit value so not a huge change. Eliminate unused old net_device_stats structure. Signed-off-by: Stephen Hemminger Signed-off-by: Scott J. Goldman Signed-off-by: David S. Miller commit 4b9d9be839fdb7dcd7ce7619a623fd9015a50cda Author: Eric Dumazet Date: Wed Jun 8 13:35:34 2011 +0000 inetpeer: remove unused list Andi Kleen and Tim Chen reported huge contention on inetpeer unused_peers.lock, on memcached workload on a 40 core machine, with disabled route cache. It appears we constantly flip peers refcnt between 0 and 1 values, and we must insert/remove peers from unused_peers.list, holding a contended spinlock. Remove this list completely and perform a garbage collection on-the-fly, at lookup time, using the expired nodes we met during the tree traversal. This removes a lot of code, makes locking more standard, and obsoletes two sysctls (inet_peer_gc_mintime and inet_peer_gc_maxtime). This also removes two pointers in inet_peer structure. There is still a false sharing effect because refcnt is in first cache line of object [were the links and keys used by lookups are located], we might move it at the end of inet_peer structure to let this first cache line mostly read by cpus. Signed-off-by: Eric Dumazet CC: Andi Kleen CC: Tim Chen Signed-off-by: David S. Miller commit 9ad7c049f0f79c418e293b1b68cf10d68f54fcdb Author: Jerry Chu Date: Wed Jun 8 11:08:38 2011 +0000 tcp: RFC2988bis + taking RTT sample from 3WHS for the passive open side This patch lowers the default initRTO from 3secs to 1sec per RFC2988bis. It falls back to 3secs if the SYN or SYN-ACK packet has been retransmitted, AND the TCP timestamp option is not on. It also adds support to take RTT sample during 3WHS on the passive open side, just like its active open counterpart, and uses it, if valid, to seed the initRTO for the data transmission phase. The patch also resets ssthresh to its initial default at the beginning of the data transmission phase, and reduces cwnd to 1 if there has been MORE THAN ONE retransmission during 3WHS per RFC5681. Signed-off-by: H.K. Jerry Chu Signed-off-by: David S. Miller commit aee80b54b235d34d87b25dfbe32f0f0ffee1b544 Author: stephen hemminger Date: Wed Jun 8 10:44:30 2011 +0000 ipv6: generate link local address for GRE tunnel Use same logic as SIT tunnel to handle link local address for GRE tunnel. OSPFv3 requires link-local address to function. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8ef207d63f8ecc0eae41cded066dd0e0ee170edf Author: stephen hemminger Date: Wed Jun 8 08:09:13 2011 +0000 iph: use default get_stats This driver keeps stats in net_device stats therefore it does not need to define it's own get_stats hook. Also, use standard format for net_device_ops (without &). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bff55273f98dea0ceb78e28eb69462fe5f72ef3d Author: Alexander Duyck Date: Wed Jun 8 12:35:08 2011 +0000 v2 ethtool: remove support for ETHTOOL_GRXNTUPLE This change is meant to remove all support for displaying an ntuple as strings via ETHTOOL_GRXNTUPLE. The reason for this change is due to the fact that multiple issues have been found including: - Multiple buffer overruns for strings being displayed. - Incorrect filters displayed, cleared filters with ring of -2 are displayed - Setting get_rx_ntuple displays no rules if defined. - Endianess wrong on displayed values. - Hard limit of 1024 filters makes display functionality extremely limited The only driver that had supported this interface was ixgbe. Since it no longer uses the interface and due to the issues mentioned above I am submitting this patch to remove it. v2: Updated based on comments from Ben Hutchings - Left ETH_SS_NTUPLE_FILTERS in code but commented on it being deprecated - Removed ethtool_rx_ntuple_list and ethtool_rx_ntuple_flow_spec_container - Left ETHTOOL_GRXNTUPLE but commented it as deprecated Also cleaned up set_rx_ntuple since there is no flow spec container to maintain we can drop all the code for the alloc and free of it and just return ops->set_rx_ntuple(). Signed-off-by: Alexander Duyck Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit c37f3c2749b53225d36faa5c583203c5f12ae15b Author: Tomoya MORINAGA Date: Tue Jun 7 14:50:11 2011 +0900 spi/topcliff_pch: DMA support This patch enables this SPI driver works with DMA mode. Signed-off-by: Tomoya MORINAGA Signed-off-by: Grant Likely commit f016aeb655350ef935ddf336e22cb00452a1c41e Author: Tomoya MORINAGA Date: Tue Jun 7 14:50:10 2011 +0900 spi/topcliff_pch: support new device ML7213 IOH Support ML7213 device of OKI SEMICONDUCTOR. ML7213 is companion chip of Intel Atom E6xx series for IVI(In-Vehicle Infotainment). ML7213 is compatible for Intel EG20T PCH. v4: - Delete unrelated whitespace - Prevent device driver from accessing platform data - Add __devinit and __devexit - Save pdev->dev to pd_dev->dev.parent - Have own suspend/resume processing in platform_driver. - Care returned value in pch_spi_init - Change unregister order Signed-off-by: Tomoya MORINAGA Signed-off-by: Grant Likely commit 1e4c88420e0da3c855c17770a807cabd5b16dd7a Author: H Hartley Sweeten Date: Wed Jun 8 14:35:33 2011 -0700 gpio/ep93xx: convert to platform_driver and use basic_mmio_gpio library This converts the gpio-ep93xx driver into a platform_driver and uses the basic_mmio_gpio library. Signed-off-by: H Hartley Sweeten Signed-off-by: Grant Likely commit 626a96db11698119a67eeda130488e869aa6f14e Author: Mika Westerberg Date: Sun May 29 13:10:06 2011 +0300 spi/ep93xx: add DMA support This patch adds DMA support for the EP93xx SPI driver. By default the DMA is not enabled but it can be enabled by setting ep93xx_spi_info.use_dma to true in board configuration file. Note that the SPI driver still uses PIO for small transfers (<= 8 bytes) for performance reasons. Signed-off-by: Mika Westerberg Acked-by: H Hartley Sweeten Acked-by: Vinod Koul Signed-off-by: Grant Likely commit 71cebd700257a4f644066631bf02187d8f67817e Author: Mika Westerberg Date: Sun May 29 13:10:05 2011 +0300 ep93xx: remove the old M2P DMA code Since we have converted all existing users of the old DMA API to use the DMA engine API the old code can be dropped. Signed-off-by: Mika Westerberg Acked-by: Ryan Mallon Acked-by: H Hartley Sweeten Acked-by: Vinod Koul Signed-off-by: Grant Likely commit 51e2cc0c51298a89fc2f583d7c0a2660f7a16f37 Author: Mika Westerberg Date: Sun May 29 13:10:04 2011 +0300 ASoC: ep93xx: convert to use the DMA engine API Now that we have the EP93xx DMA engine driver in place, we convert the ASoC drivers (I2S, AC97 and PCM) to take advantage of this new API. There are no functional changes. Signed-off-by: Mika Westerberg Acked-by: H Hartley Sweeten Acked-by: Liam Girdwood Acked-by: Mark Brown Acked-by: Vinod Koul Signed-off-by: Grant Likely commit e791e3455f1b7e92f0b66f460ade9c7a2299ac7e Author: Mika Westerberg Date: Sun May 29 13:10:03 2011 +0300 ep93xx: add dmaengine platform code Add platform support code for the new EP93xx dmaengine driver. Signed-off-by: Mika Westerberg Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Acked-by: Vinod Koul Signed-off-by: Grant Likely commit 760ee1c4aafac8fcaf3be5ff2b19c5485c5886e1 Author: Mika Westerberg Date: Sun May 29 13:10:02 2011 +0300 dmaengine: add ep93xx DMA support The ep93xx DMA controller has 10 independent memory to peripheral (M2P) channels, and 2 dedicated memory to memory (M2M) channels. M2M channels can also be used by SPI and IDE to perform DMA transfers to/from their memory mapped FIFOs. This driver supports both M2P and M2M channels with DMA_SLAVE, DMA_CYCLIC and DMA_MEMCPY (M2M only) capabilities. Signed-off-by: Mika Westerberg Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Acked-by: Vinod Koul Signed-off-by: Grant Likely commit b6336ca2982ccac98d9d017426c53ff1e13c017f Merge: a80fd9d 59c5f46 Author: Grant Likely Date: Wed Jun 8 14:37:22 2011 -0600 Merge remote-tracking branch 'origin' into spi/merge commit e694928067b52f569a7df39b7f02efd7b34ab8f4 Author: Mat Martineau Date: Fri Jun 3 16:21:10 2011 -0700 Bluetooth: Fix check for the ERTM local busy state Local busy is encoded in a bitfield, but was not masked out correctly. Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit d8d69c54fb8fbb7483180b609f99f2e3e539962b Author: Mat Martineau Date: Fri Jun 3 16:21:07 2011 -0700 Bluetooth: Restore accidentally-deleted line When code was moved from l2cap_core.c to l2cap_sock.c in commit 6de0702b5b93da0ef097aa092b4597fbc024ebba, one line was dropped from the old __l2cap_sock_close() implementation. This sk_state change should still be in l2cap_chan_close(). Signed-off-by: Mat Martineau Signed-off-by: Gustavo F. Padovan commit ef4177e2bf92543e422fae154888062376e2283d Author: Waldemar Rymarkiewicz Date: Thu Jun 2 14:24:52 2011 +0200 Bluetooth: Simplify hci_conn_accept_secure check If the link key is secure (authenticated or combination 16 digit) the sec_level will be always BT_SECURITY_HIGH. Therefore, instead of checking the link key type simply check the sec_level on the link. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 14b12d0b98f87162b7e9e93dde66d1af97886567 Author: Jaikumar Ganesh Date: Mon May 23 18:06:04 2011 -0700 Bluetooth: Add BT_POWER L2CAP socket option. Add BT_POWER socket option used to control the power characteristics of the underlying ACL link. When the remote end has put the link in sniff mode and the host stack wants to send data we need need to explicitly exit sniff mode to work well with certain devices (For example, A2DP on Plantronics Voyager 855). However, this causes problems with HID devices. Hence, moving into active mode when sending data, irrespective of who set the sniff mode has been made as a socket option. By default, we will move into active mode. HID devices can set the L2CAP socket option to prevent this from happening. Currently, this has been implemented for L2CAP sockets. This has been tested with incoming and outgoing L2CAP sockets for HID and A2DP. Based on discussions on linux-bluetooth and patches submitted by Andrei Emeltchenko. Signed-off-by: Jaikumar Ganesh Signed-off-by: Gustavo F. Padovan commit 96d97a673d42408c0f960cc54d44be7629343bce Author: Waldemar Rymarkiewicz Date: Wed Jun 1 17:28:48 2011 +0200 Bluetooth: Verify a pin code in pin_code_reply As we cannot relay on a userspace mgmt api implementation we should verify if pin_code_reply in fact contains the secure pin code. If userspace replied with unsecure pincode when secure was required we will send pin_code_neg_reply to the controller. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 24718ca5eeb6d36a4a78deb34a2d50e4017bbd4a Author: Waldemar Rymarkiewicz Date: Wed Jun 1 17:28:47 2011 +0200 Bluetooth: Remove a magic number Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit b5ad8b7f8c3f3711129d67aeda85ceec690c3cd0 Author: Johannes Berg Date: Wed Jun 1 08:54:45 2011 +0200 Bluetooth: fix sparse & gcc warnings sparse complains about a few things that should be static. Signed-off-by: Johannes Berg Signed-off-by: Gustavo F. Padovan commit 6d3ce0e7902314ddb330deaf8827205881d7e59f Author: Andre Guedes Date: Tue May 31 14:20:57 2011 -0300 Bluetooth: Set 'peer_addr_type' in hci_le_connect() Set the 'peer_addr_type' field of the LE Create Connection command sent in hci_le_connect(). Signed-off-by: Andre Guedes Acked-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit eda42b503a3c866d51146549fe46da1f5f64e2c7 Author: Andre Guedes Date: Tue May 31 14:20:56 2011 -0300 Bluetooth: Check advertising cache in hci_connect() When connecting to a LE device, we need to check the advertising cache in order to know the address type of that device. If its advertising entry is not found, the connection is not established and hci_connect() returns error. Signed-off-by: Andre Guedes Acked-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 893d67514aebcfd3ebf17bd212ceea1e2741a443 Author: Andre Guedes Date: Tue May 31 14:20:55 2011 -0300 Bluetooth: Remove useless check in hci_connect() There is no need to check the connection's state since hci_conn_add() has just created a new connection and its state has been set properly. Signed-off-by: Andre Guedes Acked-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 29b7988a23daf79c15d587ef9e98e64715aa1ea8 Author: Andre Guedes Date: Tue May 31 14:20:54 2011 -0300 Bluetooth: Add 'dst_type' field to struct hci_conn This patch adds a new field (dst_type) to the struct hci_conn which holds the type of the destination address (bdaddr_t dst). This approach is needed in order to use the struct hci_conn as an abstraction of LE connections in HCI Layer. For non-LE this field is ignored. This patch also set properly the 'dst_type' field after initializing LE hci_conn structures. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit d7556e20ade582a223ca1792e1f8a7bfd7d5d008 Author: Waldemar Rymarkiewicz Date: Tue May 31 15:49:26 2011 +0200 Bluetooth: Refactor hci_auth_complete_evt function Replace if(conn) with if(!conn) checking to avoid too many nested statements Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 19f8def031bfa50c579149b200bfeeb919727b27 Author: Waldemar Rymarkiewicz Date: Tue May 31 15:49:25 2011 +0200 Bluetooth: Fix auth_complete_evt for legacy units Legacy devices don't re-authenticate the link properly if a link key already exists. Thus, don't update sec_level for this case even if hci_auth_complete_evt indicates success. Otherwise the sec_level will not reflect a real security on the link. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 3581508571b513ed2e66d71f9708d6be907460fd Author: Andre Guedes Date: Thu May 26 16:23:53 2011 -0300 Bluetooth: Advertising entries lifetime This patch adds a timer to clear 'adv_entries' after three minutes. After some amount of time, the advertising entries cached during the last LE scan should be considered expired and they should be removed from the advertising cache. It was chosen a three minutes timeout as an initial attempt. This value might change in future. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit eb9d91f5ae9c14583c49223e49f7e88f77b84749 Author: Andre Guedes Date: Thu May 26 16:23:52 2011 -0300 Bluetooth: Clear advertising cache before scanning The LE advertising cache should be cleared before performing a LE scanning. This will force the cache to contain only fresh advertising entries. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 9aa04c9108164e62cf94d6913183817a0d3dbf03 Author: Andre Guedes Date: Thu May 26 16:23:51 2011 -0300 Bluetooth: Add Advertising Report Meta Event handler This patch adds a function to handle LE Advertising Report Meta Events. Signed-off-by: Andre Guedes Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit 76c8686f8871f1bcb2dc8b4c5311cd0e2f73d4cd Author: Andre Guedes Date: Thu May 26 16:23:50 2011 -0300 Bluetooth: LE advertising cache This patch implements the LE advertising cache. It stores sensitive information (bdaddr and bdaddr_type so far) gathered from LE advertising report events. Only advertising entries from connectables devices are added to the cache. Signed-off-by: Andre Guedes Signed-off-by: Gustavo F. Padovan commit 57a56fd41b1264d639175726414ae7e510ec683b Author: Anderson Briglia Date: Thu May 26 16:23:49 2011 -0300 Bluetooth: Add advertising report meta event structs This patch adds definitions and a new struct for Advertising Report Event from LE and Dual Mode controllers. Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit 0f8527249646bbe75d036fe8b9b84d662ece90a9 Author: Gustavo F. Padovan Date: Wed May 4 19:42:50 2011 -0300 Bluetooth: Rename __l2cap_chan_close() to l2cap_chan_close() To make it consistent with the rest of the API. Signed-off-by: Gustavo F. Padovan commit 500698d3fd987f6c405d6d5f68fdf535a539e71e Author: Gustavo F. Padovan Date: Wed May 4 19:35:27 2011 -0300 Bluetooth: Remove export of l2cap_chan_clear_timer() The call to l2cap_chan_clear_timer() is not really needed in l2cap_sock.c. This patch also adds a call to l2cap_chan_clear_timer() to the only place in __l2cap_sock_close() that wasn't calling it. It's safe call it there because l2cap_chan_clear_timer() check first for timer_peding(). Signed-off-by: Gustavo F. Padovan commit ab07801d28985090ac38047b5a4d8952a7e1689f Author: Gustavo F. Padovan Date: Mon May 2 18:25:01 2011 -0300 Bluetooth: create channel timer to replace sk_timer The new timer does not belong to struct sock, tought it still touch some sock things, but this will be sorted out soon. Signed-off-by: Gustavo F. Padovan commit 715ec005cd10c5d53109ffe513e4d403644e3e48 Author: Gustavo F. Padovan Date: Mon May 2 17:13:55 2011 -0300 Bluetooth: Add chan->chan_type struct member chan_type says if our chan is raw(direclty access to HCI), connection less or connection oriented. Signed-off-by: Gustavo F. Padovan commit 9a91a04a95d30a18909e2aec9d7b17b4c86088a7 Author: Gustavo F. Padovan Date: Thu Apr 28 18:50:17 2011 -0300 Bluetooth: Create l2cap_chan_send() This move all the sending logic to l2cap_core.c, but we still have a socket dependence there, struct msghdr. It will be removed in some of the further commits. Signed-off-by: Gustavo F. Padovan commit 4519de9a0478d8de438f8b80ab2e94668ef63ab4 Author: Gustavo F. Padovan Date: Thu Apr 28 17:55:53 2011 -0300 Bluetooth: Create __l2cap_chan_close() This is actually __l2cap_sock_close() renamed to __l2cap_chan_close(). At a first look it may not make sense, but with the further cleanups that will come it will. Signed-off-by: Gustavo F. Padovan commit 37e1c55de7b1edd3fb8fc3411ad0c32a213723d0 Author: Johan Hedberg Date: Fri May 20 11:50:41 2011 -0700 Bluetooth: Remove unnecessary use of hci_dev_list_lock The get_connections function has no need to use hci_dev_list_lock. The code was there probably because of a copy-paste mistake. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 75fde9ee1bca0c0c004aadaebdedf17370f93f18 Author: David Miller Date: Thu May 19 18:09:00 2011 -0400 Bluetooth: Kill set but not used variable 'l2cap_sk' in rfcomm_sock_getsockopt_old() Signed-off-by: David S. Miller Signed-off-by: Gustavo F. Padovan commit 78676a06260a4162b6837a8a2fb954445004ebc2 Author: Gustavo F. Padovan Date: Wed May 18 18:14:45 2011 -0300 Bluetooth: fix set but not used warning Signed-off-by: Gustavo F. Padovan commit 224f8af0db1cd50e9d954ca9d5a7d7716f63d2b0 Author: Ruiyi Zhang Date: Fri May 13 13:07:52 2011 +0800 Bluetooth: Allow unsegmented SDU retries on sock_queue_rcv_skb failure In L2CAP_SDU_UNSEGMENTED case, if sock_queue_rcv_skb returns error, l2cap_ertm_reassembly_sdu should not return 0 so as to insert the skb into BUSY_QUEUE for later retries. Signed-off-by: Ruiyi Zhang Signed-off-by: Gustavo F. Padovan commit c0c33addcba2ce753b4e2746db99feaae2f82a85 Merge: ffbc03b 931749b Author: John W. Linville Date: Wed Jun 8 13:44:21 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 6dd599f8af0166805951f4421a78ba716d78321a Author: David Jander Date: Wed Jun 8 11:37:45 2011 -0600 gpio/pca953x: Fix warning of enabled interrupts in handler When using nested threaded irqs, use handle_nested_irq(). This function does not call the chip handler, so no handler is set. Signed-off-by: David Jander Signed-off-by: Grant Likely commit 17e8b42c17c3e9735ea03c4e6b67cedf5de170f4 Author: David Jander Date: Wed Jun 8 11:34:41 2011 -0600 gpio/pca953x: Interrupt pin is active-low The interrupt pin of the PCA953x is active low, and on the rising edge no interrupt should be produced. Signed-off-by: David Jander Signed-off-by: Grant Likely commit 910c8fb6b4b8c9e0be576b6a78f4cccf228a4bfd Author: David Jander Date: Wed Jun 8 11:34:37 2011 -0600 gpio/pca953x: Fix IRQ support. It seems that in the normal case, IRQ_NOREQUEST needs to be explicitly cleared, otherwise claiming the interrupt fails. In the case of sparse interrupts, the descriptor needs to be allocated first. Signed-off-by: David Jander Signed-off-by: Grant Likely commit 74bc6953135ae1478acc18046321bfca05b0e823 Author: Stefan Kriwanek Date: Fri May 27 18:40:29 2011 +0200 HID: Add driver to fix Speedlink VAD Cezanne support Speedlink VAD Cezanne have a hardware bug that makes the cursor "jump" from one place to another every now and then. The issue are relative motion events erroneously reported by the device, each having a distance value of +256. This 256 can in fact never occur due to real motion, therefore those events can safely be ignored. The driver also drops useless EV_REL events with a value of 0, that the device sends every time it sends an "real" EV_REL or EV_KEY event. Signed-off-by: Stefan Kriwanek Signed-off-by: Jiri Kosina commit ffbc03bc75b39c7bd412e7cc6d2185c11b0ffedd Author: Stephen Rothwell Date: Wed Jun 8 15:49:33 2011 +1000 net: add needed interrupt.h Fixes these errors after the removal of interrupt.h from netdevice.h: drivers/net/ll_temac_main.c: In function 'temac_open': drivers/net/ll_temac_main.c:859:2: error: implicit declaration of function 'request_irq' drivers/net/ll_temac_main.c:870:2: error: implicit declaration of function 'free_irq' drivers/net/ll_temac_main.c: In function 'temac_poll_controller': drivers/net/ll_temac_main.c:903:2: error: implicit declaration of function 'disable_irq' drivers/net/ll_temac_main.c:909:2: error: implicit declaration of function 'enable_irq' Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 47732cb4fdee72e6ea4d2ae40d72da4d2cedf97e Author: H Hartley Sweeten Date: Tue Jun 7 13:52:01 2011 -0700 gpio/ep93xx: fix pr_fmt output With this driver now being moved from arch/arm/mach-ep93xx/gpio.c to drivers/gpio/gpio-ep93xx.c the prefix "ep93xx" is now redundant in the pr_* output. Using KBUILD_MODNAME is sufficient. Signed-off-by: H Hartley Sweeten Signed-off-by: Grant Likely commit ef3b4f8cc20e80c767e47b848fb7512770ab80d7 Author: Benjamin Herrenschmidt Date: Mon Apr 11 11:34:33 2011 +1000 pci/of: Consolidate pci_bus_to_OF_node() The generic code always get the device-node in the right place now so a single implementation will work for all archs Signed-off-by: Benjamin Herrenschmidt Acked-by: Grant Likely Acked-by: Michal Simek Acked-by: Jesse Barnes commit 64099d981c9916ec4a485b3ffbb89fa877fc595f Author: Benjamin Herrenschmidt Date: Thu Apr 7 13:09:47 2011 +1000 pci/of: Consolidate pci_device_to_OF_node() All archs do more or less the same thing now, move it into a single generic place. I chose pci.h rather than of_pci.h to avoid having to change all call-sites to include the later. Signed-off-by: Benjamin Herrenschmidt Acked-by: Michal Simek Acked-by: Grant Likely Acked-by: Jesse Barnes commit 3d5fe5a65af9c0b609d6e26b8d63fe5923c4e512 Author: Benjamin Herrenschmidt Date: Mon Apr 11 11:19:09 2011 +1000 x86/devicetree: Use generic PCI <-> OF matching Instead of walking the whole PCI tree to update the of_node's for PCI busses and devices after the fact, enable the new generic core code for doing so by providing the proper device nodes for the PCI host bridges Signed-off-by: Benjamin Herrenschmidt Acked-by: Grant Likely Tested-by: Sebastian Andrzej Siewior commit bf13a6fa09b8db7f1fd59b5e2ed3674a89a6a25c Author: Benjamin Herrenschmidt Date: Mon Apr 11 11:17:26 2011 +1000 microblaze/pci: Move the remains of pci_32.c to pci-common.c There's no point in keeping this separate. Even if microblaze grows a 64-bit variant, it will probably be able to re-use that code as-is Signed-off-by: Benjamin Herrenschmidt Acked-by: Michal Simek Acked-by: Grant Likely commit 72bdee79f89ffc9ce425611cdaf88d28a96b8b66 Author: Benjamin Herrenschmidt Date: Mon Apr 11 11:20:25 2011 +1000 microblaze/pci: Remove powermac originated cruft The whole business with re-assigning all bus numbers, creating an OF bus "map" etc... is ancient powermac stuff that you really don't care about on microblaze. Similarly pci_device_from_OF_node() is unused and by getting rid of it we can get rid of a whole lot of code otherwise unused on this architecture Signed-off-by: Benjamin Herrenschmidt Acked-by: Grant Likely Acked-by: Michal Simek commit 98d9f30c820d509145757e6ecbc36013aa02f7bc Author: Benjamin Herrenschmidt Date: Mon Apr 11 11:37:07 2011 +1000 pci/of: Match PCI devices to OF nodes dynamically powerpc has two different ways of matching PCI devices to their corresponding OF node (if any) for historical reasons. The ppc64 one does a scan looking for matching bus/dev/fn, while the ppc32 one does a scan looking only for matching dev/fn on each level in order to be agnostic to busses being renumbered (which Linux does on some platforms). This removes both and instead moves the matching code to the PCI core itself. It's the most logical place to do it: when a pci_dev is created, we know the parent and thus can do a single level scan for the matching device_node (if any). The benefit is that all archs now get the matching for free. There's one hook the arch might want to provide to match a PHB bus to its device node. A default weak implementation is provided that looks for the parent device device node, but it's not entirely reliable on powerpc for various reasons so powerpc provides its own. Signed-off-by: Benjamin Herrenschmidt Acked-by: Michal Simek Acked-by: Jesse Barnes commit 2da8c8bc44b572cbf623629ff736608dc7968436 Author: Frederic Weisbecker Date: Tue Jun 7 22:53:39 2011 +0200 sched: Remove pointless in_atomic() definition check It's really supposed to be defined here. If it's not then we actually want the build to crash so that we know it, and not keep it silent. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra commit 931749bf78b969c54de9bbc67cf29b13a40bb73b Author: Mohammed Shafi Shajakhan Date: Mon Jun 6 23:02:33 2011 +0530 ath9k: make use of a helper to get paprd scale factor Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 36cb7cce230a06378915d405cd33adf58dd5fe2a Author: Yogesh Ashok Powar Date: Mon Jun 6 14:54:17 2011 +0530 mwifiex: disable transmission buffer aggregation for AMSDU packets Padding per MSDU will affect the length of next packet and hence the exact length of next packet is uncertain here. Also, aggregation of transmission buffer, while downloading the data to the card, wont gain much on the AMSDU packets as the AMSDU packets utilizes the transmission buffer space to the maximum (adapter->tx_buf_size). Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit fb3c19bc9687d972b83faf366b38ac807eca8f25 Author: Yogesh Ashok Powar Date: Mon Jun 6 14:53:02 2011 +0530 mwifiex: adding check for enough space before padding All MSDUs, except the last one in an AMSDU, should end up at 4 bytes boundary. There is need to check if enough skb_tailroom space exists before padding the skb. Also re-arranging code for better readablity. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit a8fe32937e4e55c9ed73c79800198d137a1b968a Author: Yogesh Ashok Powar Date: Mon Jun 6 14:50:58 2011 +0530 mwifiex: Remove redundant skb_queue_empty checks The check of skb list empty before calling skb_peek and skb_dequeue is redundant. These functions returns NULL if the list is empty. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit fcf2176c87af77e5ee947edaf8e390bc67b729d8 Author: Yogesh Ashok Powar Date: Mon Jun 6 14:49:32 2011 +0530 mwifiex: remove list traversal in mwifiex_num_pkts_in_txq Instead of counting the number of packets in txq for particular RA list before AMSDU creation, maintain a counter which will keep track of the same. This will reduce some MIPS while generating AMSDU traffic as we only have to check the counter instead of traversing through skb list. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 485868266150022a139b74ba4daf0da9ad86c1c0 Author: Greg Dietsche Date: Sun Jun 5 19:30:11 2011 -0500 iwlwifi: remove unecessary if statement the code always returns ret regardless, so if(ret) check is unecessary. Signed-off-by: Greg Dietsche Signed-off-by: John W. Linville commit f973f87ec13e82256d45e11b204a8e3fb3808635 Author: Stanislaw Gruszka Date: Thu Jun 2 16:46:20 2011 +0200 iwlagn: refactor iwlagn_mac_channel_switch Use less indentions and remove uneeded irq-save flags. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 70559a06657c55aeefe2f06619d3592a08cc68ac Author: Shahar Levi Date: Sun May 22 16:10:22 2011 +0300 wl12xx: Stop BA session event from device Adding new event that close RX BA session in case of periodic BT activity limiting WLAN activity. Signed-off-by: Shahar Levi Signed-off-by: John W. Linville commit f41ccd71d800c6fac18d2b4ae1830a222c6713da Author: Shahar Levi Date: Sun May 22 16:10:21 2011 +0300 mac80211: Stop BA session event from device Some devices support BT/WLAN co-existence algorigthms. In order not to harm the system performance and user experience, the device requests not to allow any RX BA session and tear down existing RX BA sessions based on system constraints such as periodic BT activity that needs to limit WLAN activity (eg.SCO or A2DP). In such cases, the intention is to limit the duration of the RX PPDU and therefore prevent the peer device to use A-MPDU aggregation. Adding ieee80211_stop_rx_ba_session() callback that can be used by the driver to stop existing BA sessions. Signed-off-by: Shahar Levi Signed-off-by: John W. Linville commit bd50cfa89153a67429935a15e577a5eb5f10dd1b Author: Steven Rostedt Date: Tue Jun 7 07:18:45 2011 -0400 slob/lockdep: Fix gfp flags passed to lockdep Doing a ktest.pl randconfig, I stumbled across the following bug on boot up: ------------[ cut here ]------------ WARNING: at /home/rostedt/work/autotest/nobackup/linux-test.git/kernel/lockdep.c:2649 lockdep_trace_alloc+0xed/0x100() Hardware name: Modules linked in: Pid: 0, comm: swapper Not tainted 3.0.0-rc1-test-00054-g1d68b67 #1 Call Trace: [] warn_slowpath_common+0xad/0xf0 [] warn_slowpath_null+0x1a/0x20 [] lockdep_trace_alloc+0xed/0x100 [] __kmalloc_node+0x30/0x2f0 [] pcpu_mem_alloc+0x13a/0x180 [] percpu_init_late+0x48/0xc2 [] ? mem_init+0xd8/0xe3 [] start_kernel+0x1c2/0x449 [] x86_64_start_reservations+0x163/0x167 [] x86_64_start_kernel+0x133/0x142^M ---[ end trace a7919e7f17c0a725 ]--- Then I ran a ktest.pl config_bisect and it came up with this config as the problem: CONFIG_SLOB Looking at what is different between SLOB and SLAB and SLUB, I found that the gfp flags are masked against gfp_allowed_mask in SLAB and SLUB, but not SLOB. On boot up, interrupts are disabled and lockdep will warn if some flags are set in gfp and interrupts are disabled. But these flags are masked off with the gfp_allowed_mask during boot. Because SLOB does not mask the flags against gfp_allowed_mask it triggers the warn on. Adding this mask fixes the bug. I also found that kmem_cache_alloc_node() was missing both the mask and the lockdep check, and that was added too. Acked-by: Matt Mackall Cc: Paul Mundt Cc: Nick Piggin Signed-off-by: Steven Rostedt Signed-off-by: Pekka Enberg commit 41bfce8edebbe9dc6ddc238a71f07fbe9ab46016 Merge: 805a3b8 51892db Author: John W. Linville Date: Tue Jun 7 14:07:11 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 498c17cf6a935335c8652165cae5dc196340b3e9 Author: Shawn Guo Date: Tue Jun 7 22:00:54 2011 +0800 gpio/mxs: convert gpio-mxs to use generic irq chip The patch converts gpio-mxs driver to use generic irq chip. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit 6161715e3f1adecae9e7c160930add4040fa10e9 Author: Shawn Guo Date: Tue Jun 7 22:00:53 2011 +0800 gpio/mxs: remove irq_high related implementation The irq_high stuff was mistakenly copied from mxc gpio driver. The mxs gpio controller has only one irq line for each 32-pin gpio port. The patch remove irq_high related codes. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit 06f88a8ae9085e555baf81edbf967764d87dc12f Author: Shawn Guo Date: Mon Jun 6 22:31:29 2011 +0800 gpio/mxs: convert gpio-mxs to use basic_mmio_gpio library The gpio-mxs controller complies with basic_mmio_gpio library. This patch converts the driver to use the library. Signed-off-by: Shawn Guo Signed-off-by: Grant Likely commit e4ea933363d39b5858f55682550314b4ea1285cc Author: Shawn Guo Date: Tue Jun 7 16:25:37 2011 +0800 gpio/mxc: convert gpio-mxc to use generic irq chip The patch converts gpio-mxc driver to use generic irq chip. Signed-off-by: Shawn Guo Acked-by: Sascha Hauer Signed-off-by: Grant Likely commit dc0a4f0ce2b1a9ef5947cdb6d62f60008a7e42bf Author: Michael Bauer Date: Thu Jun 2 15:40:14 2011 -0700 HID: Fix Logitech Driving Force Pro wheel - Add the quirk "NOGET" to make the wheel work at all in native mode. - Replace the somehow broken report descriptor with a custom one to have separate throttle and brake axes. As there are significant differences in the descriptor (original descriptor "hides" the separate axes in a 24 bit FF00 usagepage, new descripter replaces that with two individual 8 bit desktop.y and desktop.rz usages) I provided a complete replacement descriptor instead trying to patch the original one. Patching the descriptor seems not feasible as the new one is much larger. Note: To actually test this you have to use the tool "ltwheelconf" to put the DFP into it's native mode - See below for more info. Background: Most Logitech wheels are initially reporting themselves with a "fallback" deviceID (USB_DEVICE_ID_LOGITECH_WHEEL - 0xc294), in order to make sure they are working even without having the proper driver installed. If the Logitech driver is installed it sends a special command to the wheel which sets the wheel to "native mode", enabling enhance features like: - Clutch pedal - extended wheel rotation range (up to 900 degrees) - H-gate shifter - separate axis for throttle / brake - all buttons When the wheel is set to native mode it basically disconnects and reconnects with a different deviceID (USB_DEVICE_ID_LOGITECH_DFP_WHEEL - 0xc298 in this case). I am working on a userspace tool [1] which does the switching from fallback to native mode. During development I found out that the Driving Force Pro wheel is not supported in native mode - quierk NOGET is missing and the throttle and brake axes are reported in a combined way only. Signed-off-by: Michael Bauer Signed-off-by: Simon Wood [1] https://github.com/TripleSpeeder/LTWheelConf Signed-off-by: Jiri Kosina commit 6dc1418e13144162e8bc4858789010d8f0e1e65c Author: Tomoki Sekiyama Date: Mon May 23 15:45:44 2011 -0700 HID: yurex: recognize GeneralKeys wireless presenter as generic HID Unfortunately, the device seems to have the same Vendor ID and Product ID as YUREX leg-shakes sensors, and the commit 6bc235a2e2 ("USB: add driver for Meywa-Denki & Kayac YUREX") added the ID to hid_ignore_list. I believe that we can distinguish YUREX and the Wireless Presenter by device type. The patch below makes the driver ignore only YUREX (bInterfaceProtocol==0), and recognize Wireless Presenter (bInterfaceProtocol is keyboard or mouse) as generic HID. (I don't have the Wireless Presenter, so not yet ested.) ** YUREX lsusb information: Bus 002 Device 007: ID 0c45:1010 Microdia Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0c45 Microdia idProduct 0x1010 bcdDevice 0.03 iManufacturer 1 JESS iProduct 2 YUREX iSerial 3 10000269 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 31 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Device Status: 0x0002 (Bus Powered) Remote Wakeup Enabled Addresses https://bugzilla.kernel.org/show_bug.cgi?id=26922 Signed-off-by: Tomoki Sekiyama Cc: Greg KH Cc: "Rafael J. Wysocki" Cc: Maciej Rutecki Reported-by: Thomas B?chler Tested-by: Thomas B?chler Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit b58f6b0dd3d677338b9065388cc2cc942b86338e Author: Peter Zijlstra Date: Tue Jun 7 00:23:28 2011 +0200 perf, core: Fix initial task_ctx/event installation A lost Quilt refresh of 2c29ef0fef8 (perf: Simplify and fix __perf_install_in_context()) is causing grief and lockups, reported by Jiri Olsa. When installing an event in a task context, there's a number of issues: - there might not be an existing task context, in which case we should install the now current context; - there might already be a context, not the current one, in which case we should de-schedule the old and install the new; these cases were dealt with in the lost refresh, however there is one further case that was found in testing: - there might already be a context, the current one, in which case we should still de-schedule, and should take care to re-install it (note that task_ctx_sched_out() clears cpuctx->task_ctx). Reported-by: Jiri Olsa Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1307399008.2497.971.camel@laptop Signed-off-by: Ingo Molnar commit 0b5e1c5255e7ee8670e077e8224e5c2281229a5b Author: Peter Zijlstra Date: Tue Jun 7 11:15:33 2011 +0200 printk: Release console_sem after logbuf_lock Release console_sem after unlocking the logbuf_lock so that we don't generate wakeups while holding logbuf_lock. This avoids some lock inversion troubles once we remove the lockdep_off bits between logbuf_lock and rq->lock (prints while holding rq->lock vs doing wakeups while holding logbuf_lock). There's of course still an actual deadlock where the printk()s under rq->lock will issue a wakeup from the up() call, but lockdep won't warn about that since semaphores are not tracked. Signed-off-by: Peter Zijlstra Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/n/tip-j8swthl12u73h4znbvitljzd@git.kernel.org Signed-off-by: Ingo Molnar commit cb2bad862e66eafbc97c26011ab7ab6cedc82810 Merge: a6b7a40 b9e379b Author: David S. Miller Date: Tue Jun 7 01:03:56 2011 -0700 Merge branch 'can/at91-sam9x5' of git://git.pengutronix.de/git/mkl/linux-2.6 commit 5cec93c216db77c45f7ce970d46283bcb1933884 Author: Andy Lutomirski Date: Sun Jun 5 13:50:24 2011 -0400 x86-64: Emulate legacy vsyscalls There's a fair amount of code in the vsyscall page. It contains a syscall instruction (in the gettimeofday fallback) and who knows what will happen if an exploit jumps into the middle of some other code. Reduce the risk by replacing the vsyscalls with short magic incantations that cause the kernel to emulate the real vsyscalls. These incantations are useless if entered in the middle. This causes vsyscalls to be a little more expensive than real syscalls. Fortunately sensible programs don't use them. The only exception is time() which is still called by glibc through the vsyscall - but calling time() millions of times per second is not sensible. glibc has this fixed in the development tree. This patch is not perfect: the vread_tsc and vread_hpet functions are still at a fixed address. Fixing that might involve making alternative patching work in the vDSO. Signed-off-by: Andy Lutomirski Acked-by: Linus Torvalds Cc: Jesper Juhl Cc: Borislav Petkov Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/e64e1b3c64858820d12c48fa739efbd1485e79d5.1307292171.git.luto@mit.edu [ Removed the CONFIG option - it's simpler to just do it unconditionally. Tidied up the code as well. ] Signed-off-by: Ingo Molnar commit 4788b60a5faf9f9c9aec10fb7f6b36d9e0f9fa4c Author: Artem Bityutskiy Date: Fri Jun 3 19:41:00 2011 +0300 UBI: remove dead code Thanks to new gcc 4.6 for issuing the following warning: drivers/mtd/ubi/vtbl.c: In function ‘create_vtbl’: drivers/mtd/ubi/vtbl.c:311:33: warning: variable ‘old_seb’ set but not used [-Wunused-but-set-variable] This patch removes some dead code and fixes the warning. Signed-off-by: Artem Bityutskiy commit a6b7a407865aab9f849dd99a71072b7cd1175116 Author: Alexey Dobriyan Date: Mon Jun 6 10:43:46 2011 +0000 net: remove interrupt.h inclusion from netdevice.h * remove interrupt.g inclusion from netdevice.h -- not needed * fixup fallout, add interrupt.h and hardirq.h back where needed. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit aedfebbaa7a4883dc568d8d32b7b32a0f9833f41 Author: Selvin Xavier Date: Mon Jun 6 02:27:13 2011 +0000 be2net: Fix Rx pause counter for lancer Fixed Rx pause counter for Lancer. Swapping hi and lo words. Signed-off-by: Selvin Xavier Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 324dd96d2b022595b9fc8f24305b3ab770cc63b9 Author: Greg Dietsche Date: Sun Jun 5 14:44:13 2011 +0000 qlge: remove unecessary if statement the code always returns 'status' regardless, so if(status) check is unecessary. Signed-off-by: Greg Dietsche Signed-off-by: David S. Miller commit c97c894dc7bcae28d0308dbcd010185079de4a28 Author: Roopa Prabhu Date: Fri Jun 3 14:35:17 2011 +0000 enic: Add support for MTU change via port profile on a dynamic vnic enic driver gets MTU change notifications for MTU changes in the port profile associated to a dynamic vnic. This patch adds support in enic driver to set new MTU on the dynamic vnic and dynamically adjust its buffers with new MTU size in response to such notifications. Signed-off-by: Roopa Prabhu Signed-off-by: Vasanthy Kolluri Signed-off-by: David Wang Signed-off-by: Christian Benvenuti Signed-off-by: David S. Miller commit 8d13e670d3fb83f4668c9e37196c3bbf5b9f094c Author: John Fastabend Date: Mon Jun 6 04:27:16 2011 +0000 macvlan: add VLAN filters to lowerdev Stacking VLANs on top of the macvlan device does not work if the lowerdev device is using vlan filters set by NETIF_F_HW_VLAN_FILTER. Add ndo ops to pass vlan calls to lowerdev. Signed-off-by: John Fastabend Signed-off-by: David S. Miller commit 3b3702377c576f6624348c7c6fd113bfd934fbd7 Author: Matthew Garrett Date: Mon Jun 6 15:36:25 2011 -0400 x86, efi: Add infrastructure for UEFI 2.0 runtime services We're currently missing support for any of the runtime service calls introduced with the UEFI 2.0 spec in 2006. Add the infrastructure for supporting them. Signed-off-by: Matthew Garrett Link: http://lkml.kernel.org/r/1307388985-7852-2-git-send-email-mjg@redhat.com Signed-off-by: H. Peter Anvin commit f7a2d73fe75c71941fb0a6b4d8fe7da8144f2c7b Author: Matthew Garrett Date: Mon Jun 6 15:36:24 2011 -0400 x86, efi: Fix argument types for SetVariable() The spec says this takes uint32 for attributes, not uintn. Signed-off-by: Matthew Garrett Link: http://lkml.kernel.org/r/1307388985-7852-1-git-send-email-mjg@redhat.com Signed-off-by: H. Peter Anvin commit 5d0c90cf4d417ccafcd1af4ec32945c3f80e98e2 Author: David S. Miller Date: Mon Jun 6 13:05:55 2011 -0700 sctp: Guard IPV6 specific code properly. Outside of net/sctp/ipv6.c, IPV6 specific code needs to be ifdef guarded. This fixes build failures with IPV6 disabled. Reported-by: Randy Dunlap Signed-off-by: David S. Miller commit c103de240439dfee24ac50eb99c8be3a30d13323 Author: Grant Likely Date: Sat Jun 4 18:38:28 2011 -0600 gpio: reorganize drivers Sort the gpio makefile and enforce the naming convention gpio-*.c for gpio drivers. v2: cleaned up filenames in Kconfig and comment blocks v3: fixup use of BASIC_MMIO to GENERIC_GPIO for mxc Signed-off-by: Grant Likely commit 8c31b1635b91e48f867e010cd7bcd06393e5858a Merge: 121a2dd 2ce420d Author: Grant Likely Date: Mon Jun 6 10:10:07 2011 -0600 Merge branch 'gpio/next-mx' into gpio/next commit 121a2dd860f8348fb014b660f133a0cb9a16273e Author: David Jander Date: Wed Jun 1 10:57:27 2011 +0200 gpio/pca953x.c: Interrupt pin is active-low The interrupt pin of the PCA953x is active low, and on the rising edge no interrupt should be produced. Signed-off-by: David Jander Signed-off-by: Grant Likely commit c6b52c13de4415ed5774be8c076685715de56096 Author: H Hartley Sweeten Date: Wed Jun 1 10:09:19 2011 -0700 gpio/ep93xx: move driver to drivers/gpio The GPIO driver should reside in drivers/gpio. v3: Change Kconfig option to def_bool y v2: Make the Kconfig symbol a silent option, dependent on ARCH_EP93XX Signed-off-by: H Hartley Sweeten Signed-off-by: Grant Likely commit 2ce420da39078a6135d1c004a0e4436fdc1458b4 Author: Shawn Guo Date: Mon Jun 6 13:22:41 2011 +0800 gpio/mxc: convert gpio-mxc to use basic_mmio_gpio library The gpio-mxc controller complies with basic_mmio_gpio library. The patch convert the driver to use the library. Signed-off-by: Shawn Guo Acked-by: Sascha Hauer Signed-off-by: Grant Likely commit b78d8e59a6f611e229fab8ec3014c58eba975000 Author: Shawn Guo Date: Mon Jun 6 00:07:55 2011 +0800 gpio/mxc: Change gpio-mxc into an upstanding gpio driver The patch makes necessary changes on gpio-mxc as below to turn it into an upstanding gpio driver. * Add a list to save all mx2 ports references, so that mx2_gpio_irq_handler can walk through all interrupt status registers * Use readl/writel to replace mach-specific accessors __raw_readl/__raw_writel * Change mxc_gpio_init into mxc_gpio_probe function * Move "struct mxc_gpio_port" into gpio-mxc.c, as it needs not to be public at all, and also make some other cleanup on plat-mxc/include/mach/gpio.h at the same time And the patch then migrates mach-imx and mach-mx5 to the updated driver by adding corresponding platform devices. Signed-off-by: Shawn Guo Acked-by: Olof Johansson Acked-by: Sascha Hauer Signed-off-by: Grant Likely commit d37a65bb4663bde7cf3dbc51aec7f264fa4d0ebf Author: Shawn Guo Date: Mon Jun 6 00:07:54 2011 +0800 gpio/mxc: Move Freescale MXC gpio driver to drivers/gpio GPIO drivers are getting moved to drivers/gpio for cleanup and consolidation. This patch moves the plat-mxc driver. Follow up patches will clean it up and make it a fine upstanding gpio driver. Signed-off-by: Shawn Guo Acked-by: Sascha Hauer Signed-off-by: Grant Likely commit 8d7cf8370d5fb75a3265408dceb1d6173eebfafd Author: Shawn Guo Date: Mon Jun 6 09:37:58 2011 -0600 gpio/mxs: Change gpio-mxs into an upstanding gpio driver The patch makes necessary changes on gpio-mxs as below to turn it into an upstanding gpio driver. * Clean up the gpio port definition stuff * Use readl/writel to replace mach-specific accessors __raw_readl/__raw_writel * Change mxs_gpio_init into mxs_gpio_probe function And it then migrates mach-mxs to the updated driver by adding corresponding platform devices. Signed-off-by: Shawn Guo Acked-by: Arnd Bergmann Acked-by: Sascha Hauer Signed-off-by: Grant Likely commit c2419b4a4727f67af2fc2cd68b0d878b75e781bb Author: Jeremy Fitzhardinge Date: Tue May 31 10:50:10 2011 -0400 xen: allow enable use of VGA console on dom0 Get the information about the VGA console hardware from Xen, and put it into the form the bootloader normally generates, so that the rest of the kernel can deal with VGA as usual. [ Impact: make VGA console work in dom0 ] Signed-off-by: Jeremy Fitzhardinge [v1: Rebased on 2.6.39] [v2: Removed incorrect comments and fixed compile warnings] Signed-off-by: Konrad Rzeszutek Wilk commit 7b2fa5702059a03c11f934224724b2f712a749ce Author: Grant Likely Date: Mon Jun 6 09:37:58 2011 -0600 gpio/mxs: Move Freescale mxs gpio driver to drivers/gpio GPIO drivers are getting moved to drivers/gpio for cleanup and consolidation. This patch moves the mxs driver. Follow up patches will clean it up and make it a fine upstanding example of a gpio driver. v2: Removed header file entirely and put struct definition directly into driver. The struct isn't used anywhere else in the kernel. Signed-off-by: Grant Likely Tested-by: Shawn Guo Acked-by: Sascha Hauer commit b9e379bccda6913f7baece42cd249824c0758b97 Author: Uwe Kleine-König Date: Tue Apr 26 15:05:59 2011 +0200 net/can: allow CAN_AT91 on AT91SAM9X5 Signed-off-by: Uwe Kleine-König Signed-off-by: Marc Kleine-Budde commit 6388b39614208d63661607f45157e3326548eb62 Author: Marc Kleine-Budde Date: Sun Apr 17 00:08:45 2011 +0200 can: at91_can: add support for the AT91SAM9X5 SOCs The AT91SAM9X5 SOCs have a similar CAN core, but they only have 8 compared to 16 mailboxes on the AT91SAM9263 SOC. Another difference is that the bits defining the state of the CAN core are cleared on read, thus the driver has to derive the state by looking at the error counters. Signed-off-by: Marc Kleine-Budde commit 07a648e668aa7f7c94d41d8d2e4ad53b609e391d Author: Marc Kleine-Budde Date: Wed Jun 1 00:20:17 2011 +0200 can: at91_can: register mb0 sysfs entry only on at91sam9263 This patch prepares the driver for the at91sam9X5 processors, which don't have the mb0 bug. (See commit 3a5655a5b545e9647c3437473ee3d815fe1b9050 for more details.) Signed-off-by: Marc Kleine-Budde commit d3d47264a364aa3adcbb485471dbf9f693fb4216 Author: Marc Kleine-Budde Date: Tue May 3 17:41:09 2011 +0200 can: at91_can: add id_table and convert prime mailbox constats to functions This is the second of two patches converting the at91_can driver from a compile time mailbox setup to a dynamic one. This patch first adds a id_table to the platform driver. Depending on the driver_data the constants for the mailbox setup is selected. Then all remaining prime mailbox constants are converted to functions, using the run time selected mailbox constants. Signed-off-by: Marc Kleine-Budde commit 79008997e232ad1d871bb6fedfb7fbd77ea95af8 Author: Marc Kleine-Budde Date: Tue May 3 17:31:40 2011 +0200 can: at91_can: convert derived mailbox constants into functions This is the first of two patches converting the at91_can driver from a compile time mailbox setup to a dynamic one. This patch converts all derived mailbox constants to functions. Signed-off-by: Marc Kleine-Budde commit b049994d0f3a19c1706627117a7269ce5bd335ab Author: Marc Kleine-Budde Date: Tue May 3 16:37:16 2011 +0200 can: at91_can: rename AT91_MB_RX_MASK to AT91_IRQ_MB_RX ... and use it for AT91_NEXT_MB_MASK, AT91_IRQ_MB_RX and AT91_IRQ_MB_RX, too. Signed-off-by: Marc Kleine-Budde commit 267cbe047cb4f6a3a6337029fc60862be1cf437d Author: Marc Kleine-Budde Date: Sat Apr 30 20:46:12 2011 +0200 can: at91_can: directly define AT91_MB_RX_LAST ...instead of deriving it from AT91_MB_RX_FIRST and AT91_MB_RX_NUM. This removes a level of computation, when switching the driver from compile time constants to runtime values. Signed-off-by: Marc Kleine-Budde commit 9c2e0a6d2f7b7c76e0cbc42a8da99fd732f0fdfa Author: Marc Kleine-Budde Date: Tue May 3 17:47:55 2011 +0200 can: at91_can: let get_tx_* functions return unsigned int Signed-off-by: Marc Kleine-Budde commit e14ee40bece891b5edccdd514112999ec423a448 Author: Marc Kleine-Budde Date: Thu Oct 21 18:39:26 2010 +0200 can: at91_can: don't copy data to rx'ed RTR frames Signed-off-by: Marc Kleine-Budde Acked-by: Wolfgang Grandegger commit 5613fff2dc315e5f44623031cb62a29942548427 Author: Marc Kleine-Budde Date: Sat Apr 16 13:25:15 2011 +0200 can: at91_can: fix comment about priv->tx_next Signed-off-by: Marc Kleine-Budde commit 44d856665789288859b7aa47ca25933c1c6ab57d Author: Marc Kleine-Budde Date: Sun Jan 30 22:14:49 2011 +0100 can: at91_can: don't align struct definitions Signed-off-by: Marc Kleine-Budde commit 5dfcea629a08b4684a019cd0cb59d0c9129a6c02 Author: Andy Lutomirski Date: Sun Jun 5 13:50:23 2011 -0400 x86-64: Fill unused parts of the vsyscall page with 0xcc Jumping to 0x00 might do something depending on the following bytes. Jumping to 0xcc is a trap. So fill the unused parts of the vsyscall page with 0xcc to make it useless for exploits to jump there. Signed-off-by: Andy Lutomirski Cc: Jesper Juhl Cc: Borislav Petkov Cc: Linus Torvalds Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/ed54bfcfbe50a9070d20ec1edbe0d149e22a4568.1307292171.git.luto@mit.edu Signed-off-by: Ingo Molnar commit bb5fe2f78eadf5a52d8dcbf9a57728fd107af97b Author: Andy Lutomirski Date: Sun Jun 5 13:50:22 2011 -0400 x86-64: Remove vsyscall number 3 (venosys) It just segfaults since April 2008 (a4928cff), so I'm pretty sure that nothing uses it. And having an empty section makes the linker script a bit fragile. Signed-off-by: Andy Lutomirski Cc: Jesper Juhl Cc: Borislav Petkov Cc: Linus Torvalds Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/4a4abcf47ecadc269f2391a313576fe6d06acef7.1307292171.git.luto@mit.edu Signed-off-by: Ingo Molnar commit ca632f556697d45d67ed5cada7cedf3ddfe0db4b Author: Grant Likely Date: Mon Jun 6 01:16:30 2011 -0600 spi: reorganize drivers Sort the SPI makefile and enforce the naming convention spi_*.c for spi drivers. This change also rolls the contents of atmel_spi.h into the .c file since there is only one user of that particular include file. v2: - Use 'spi-' prefix instead of 'spi_' to match what seems to be be the predominant pattern for subsystem prefixes. - Clean up filenames in Kconfig and header comment blocks Signed-off-by: Grant Likely Acked-by: Wolfram Sang Acked-by: Linus Walleij commit e3cc055c18ab575291acf0af7622a2e97c4728fa Author: Joe Perches Date: Fri Jun 3 11:51:21 2011 +0000 include/net: Remove unnecessary semicolons Semicolons are not necessary after switch/while/for/if braces so remove them. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 6403eab143205a45a5493166ff8bf7e3646f4a77 Author: Joe Perches Date: Fri Jun 3 11:51:20 2011 +0000 drivers/net: Remove unnecessary semicolons Semicolons are not necessary after switch/while/for/if braces so remove them. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit f81c62242045fb7be0a124d8c2540af96d842fad Author: Joe Perches Date: Fri Jun 3 11:51:19 2011 +0000 net: Remove unnecessary semicolons Semicolons are not necessary after switch/while/for/if braces so remove them. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 827d978037d7d0bf0860481948c6d26ead10042f Author: Ben Greear Date: Wed Jun 1 07:18:53 2011 +0000 af-packet: Use existing netdev reference for bound sockets. This saves a network device lookup on each packet transmitted, for sockets that are bound to a network device. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit 160ff18a07f3a505d452dcced8e45ecdd0a85506 Author: Ben Greear Date: Wed Jun 1 07:18:52 2011 +0000 af-packet: Hold reference to bound network devices. Old code was probably safe, but with this change we can actually use the netdev object, not just compare the pointer values. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit d319bb79afa4039bda6f85661d6bf0c13299ce93 Author: Andy Lutomirski Date: Sun Jun 5 13:50:21 2011 -0400 x86-64: Map the HPET NX Currently the HPET mapping is a user-accessible syscall instruction at a fixed address some of the time. A sufficiently determined hacker might be able to guess when. Signed-off-by: Andy Lutomirski Cc: Jesper Juhl Cc: Borislav Petkov Cc: Linus Torvalds Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/ab41b525a4ca346b1ca1145d16fb8d181861a8aa.1307292171.git.luto@mit.edu Signed-off-by: Ingo Molnar commit 0d7b8547fb67d5c2a7d954c56b3715b0e708be4a Author: Andy Lutomirski Date: Sun Jun 5 13:50:20 2011 -0400 x86-64: Remove kernel.vsyscall64 sysctl It's unnecessary overhead in code that's supposed to be highly optimized. Removing it allows us to remove one of the two syscall instructions in the vsyscall page. The only sensible use for it is for UML users, and it doesn't fully address inconsistent vsyscall results on UML. The real fix for UML is to stop using vsyscalls entirely. Signed-off-by: Andy Lutomirski Cc: Jesper Juhl Cc: Borislav Petkov Cc: Linus Torvalds Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/973ae803fe76f712da4b2740e66dccf452d3b1e4.1307292171.git.luto@mit.edu Signed-off-by: Ingo Molnar commit 9fd67b4ed0714ab718f1f9bd14c344af336a6df7 Author: Andy Lutomirski Date: Sun Jun 5 13:50:19 2011 -0400 x86-64: Give vvars their own page Move vvars out of the vsyscall page into their own page and mark it NX. Without this patch, an attacker who can force a daemon to call some fixed address could wait until the time contains, say, 0xCD80, and then execute the current time. Signed-off-by: Andy Lutomirski Cc: Jesper Juhl Cc: Borislav Petkov Cc: Linus Torvalds Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/b1460f81dc4463d66ea3f2b5ce240f58d48effec.1307292171.git.luto@mit.edu Signed-off-by: Ingo Molnar commit 8b4777a4b50cb0c84c1152eac85d24415fb6ff7d Author: Andy Lutomirski Date: Sun Jun 5 13:50:18 2011 -0400 x86-64: Document some of entry_64.S Signed-off-by: Andy Lutomirski Cc: Jesper Juhl Cc: Borislav Petkov Cc: Linus Torvalds Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/fc134867cc550977cc996866129e11a16ba0f9ea.1307292171.git.luto@mit.edu Signed-off-by: Ingo Molnar commit 6879eb2deed7171a81b2f904c9ad14b9648689a7 Author: Andy Lutomirski Date: Sun Jun 5 13:50:17 2011 -0400 x86-64: Fix alignment of jiffies variable It's declared __attribute__((aligned(16)) but it's explicitly not aligned. This is probably harmless but it's a bit embarrassing. Signed-off-by: Andy Lutomirski Cc: Jesper Juhl Cc: Borislav Petkov Cc: Linus Torvalds Cc: Arjan van de Ven Cc: Jan Beulich Cc: richard -rw- weinberger Cc: Mikael Pettersson Cc: Andi Kleen Cc: Brian Gerst Cc: Louis Rilling Cc: Valdis.Kletnieks@vt.edu Cc: pageexec@freemail.hu Link: http://lkml.kernel.org/r/5f3bc5542e9aaa9382d53f153f54373165cdef89.1307292171.git.luto@mit.edu Signed-off-by: Ingo Molnar commit e990b37b906b6137d353ef2a918e15e5763d70ec Merge: 34624d6 23c79d3 Author: David S. Miller Date: Sat Jun 4 13:38:31 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit dd1d6772692316fe35094085c5e4d9a370ad3462 Author: Tejun Heo Date: Thu Jun 2 11:14:00 2011 +0200 signal: remove three noop tracehooks Remove the following three noop tracehooks in signals.c. * tracehook_force_sigpending() * tracehook_get_signal() * tracehook_finish_jctl() The code area is about to be updated and these hooks don't do anything other than obfuscating the logic. Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit 62c124ff3bcdb414af635c2bf822c9e4f2a5abfa Author: Tejun Heo Date: Thu Jun 2 11:14:00 2011 +0200 ptrace: use bit_waitqueue for TRAPPING instead of wait_chldexit ptracer->signal->wait_chldexit was used to wait for TRAPPING; however, ->wait_chldexit was already complicated with waker-side filtering without adding TRAPPING wait on top of it. Also, it unnecessarily made TRAPPING clearing depend on the current ptrace relationship - if the ptracee is detached, wakeup is lost. There is no reason to use signal->wait_chldexit here. We're just waiting for JOBCTL_TRAPPING bit to clear and given the relatively infrequent use of ptrace, bit_waitqueue can serve it perfectly. This patch makes JOBCTL_TRAPPING wait use bit_waitqueue instead of signal->wait_chldexit. -v2: Use JOBCTL_*_BIT macros instead of ilog2() as suggested by Linus. Signed-off-by: Tejun Heo Cc: Linus Torvalds Signed-off-by: Oleg Nesterov commit 7dd3db54e77d21eb95e145f19ba53f68250d0e73 Author: Tejun Heo Date: Thu Jun 2 11:14:00 2011 +0200 job control: introduce task_set_jobctl_pending() task->jobctl currently hosts JOBCTL_STOP_PENDING and will host TRAP pending bits too. Setting pending conditions on a dying task may make the task unkillable. Currently, each setting site is responsible for checking for the condition but with to-be-added job control traps this becomes too fragile. This patch adds task_set_jobctl_pending() which should be used when setting task->jobctl bits to schedule a stop or trap. The function performs the followings to ease setting pending bits. * Sanity checks. * If fatal signal is pending or PF_EXITING is set, no bit is set. * STOP_SIGMASK is automatically cleared if new value is being set. do_signal_stop() and ptrace_attach() are updated to use task_set_jobctl_pending() instead of setting STOP_PENDING explicitly. The surrounding structures around setting are changed to fit task_set_jobctl_pending() better but there should be no userland visible behavior difference. Signed-off-by: Tejun Heo Cc: Oleg Nesterov Signed-off-by: Oleg Nesterov commit 6dfca32984237a8a011b5bf367e53341a265b2a4 Author: Tejun Heo Date: Thu Jun 2 11:14:00 2011 +0200 job control: make task_clear_jobctl_pending() clear TRAPPING automatically JOBCTL_TRAPPING indicates that ptracer is waiting for tracee to (re)transit into TRACED. task_clear_jobctl_pending() must be called when either tracee enters TRACED or the transition is cancelled for some reason. The former is achieved by explicitly calling task_clear_jobctl_pending() in ptrace_stop() and the latter by calling it at the end of do_signal_stop(). Calling task_clear_jobctl_trapping() at the end of do_signal_stop() limits the scope TRAPPING can be used and is fragile in that seemingly unrelated changes to tracee's control flow can lead to stuck TRAPPING. We already have task_clear_jobctl_pending() calls on those cancelling events to clear JOBCTL_STOP_PENDING. Cancellations can be handled by making those call sites use JOBCTL_PENDING_MASK instead and updating task_clear_jobctl_pending() such that task_clear_jobctl_trapping() is called automatically if no stop/trap is pending. This patch makes the above changes and removes the fallback task_clear_jobctl_trapping() call from do_signal_stop(). Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit 3759a0d94c18764247b66511d1038f2b93aa95de Author: Tejun Heo Date: Thu Jun 2 11:14:00 2011 +0200 job control: introduce JOBCTL_PENDING_MASK and task_clear_jobctl_pending() This patch introduces JOBCTL_PENDING_MASK and replaces task_clear_jobctl_stop_pending() with task_clear_jobctl_pending() which takes an extra @mask argument. JOBCTL_PENDING_MASK is currently equal to JOBCTL_STOP_PENDING but future patches will add more bits. recalc_sigpending_tsk() is updated to use JOBCTL_PENDING_MASK instead. task_clear_jobctl_pending() takes @mask which in subset of JOBCTL_PENDING_MASK and clears the relevant jobctl bits. If JOBCTL_STOP_PENDING is set, other STOP bits are cleared together. All task_clear_jobctl_stop_pending() users are updated to call task_clear_jobctl_pending() with JOBCTL_STOP_PENDING which is functionally identical to task_clear_jobctl_stop_pending(). This patch doesn't cause any functional change. Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit 81be24b8cdeb69e62f9d1b6b425fd9ffdd37f581 Author: Tejun Heo Date: Thu Jun 2 11:13:59 2011 +0200 ptrace: relocate set_current_state(TASK_TRACED) in ptrace_stop() In ptrace_stop(), after arch hook is done, the task state and jobctl bits are updated while holding siglock. The ordering requirement there is that TASK_TRACED is set before JOBCTL_TRAPPING is cleared to prevent ptracer waiting on TRAPPING doesn't end up waking up TRACED is actually set and sees TASK_RUNNING in wait(2). Move set_current_state(TASK_TRACED) to the top of the block and reorganize comments. This makes the ordering more obvious (TASK_TRACED before other updates) and helps future updates to group stop participation. This patch doesn't cause any functional change. Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit 755e276b3326f300585435d2f3876e66e248c476 Author: Tejun Heo Date: Thu Jun 2 11:13:59 2011 +0200 ptrace: ptrace_check_attach(): rename @kill to @ignore_state and add comments PTRACE_INTERRUPT is going to be added which should also skip task_is_traced() check in ptrace_check_attach(). Rename @kill to @ignore_state and make it bool. Add function comment while at it. This patch doesn't introduce any behavior difference. Signed-off-by: Tejun Heo Signed-off-by: Oleg Nesterov commit a8f072c1d624a627b67f2ace2f0c25d856ef4e54 Author: Tejun Heo Date: Thu Jun 2 11:13:59 2011 +0200 job control: rename signal->group_stop and flags to jobctl and update them signal->group_stop currently hosts mostly group stop related flags; however, it's gonna be used for wider purposes and the GROUP_STOP_ flag prefix becomes confusing. Rename signal->group_stop to signal->jobctl and rename all GROUP_STOP_* flags to JOBCTL_*. Bit position macros JOBCTL_*_BIT are defined and JOBCTL_* flags are defined in terms of them to allow using bitops later. While at it, reassign JOBCTL_TRAPPING to bit 22 to better accomodate future additions. This doesn't cause any functional change. -v2: JOBCTL_*_BIT macros added as suggested by Linus. Signed-off-by: Tejun Heo Cc: Linus Torvalds Signed-off-by: Oleg Nesterov commit 0b1007c3578569469a6fab6ae5cca918ccdc3ee1 Author: Tejun Heo Date: Thu Jun 2 11:13:59 2011 +0200 ptrace: remove silly wait_trap variable from ptrace_attach() Remove local variable wait_trap which determines whether to wait for !TRAPPING or not and simply wait for it if attach was successful. -v2: Oleg pointed out wait should happen iff attach was successful. Signed-off-by: Tejun Heo Cc: Oleg Nesterov Signed-off-by: Oleg Nesterov commit 3ce2a0bc9dfb6423491afe0afc9f099e24b8cba4 Merge: aef29bf aa4a221 Author: Ingo Molnar Date: Sat Jun 4 12:28:05 2011 +0200 Merge branch 'perf/urgent' into perf/core Conflicts: tools/perf/util/python.c Merge reason: resolve the conflict with perf/urgent. Signed-off-by: Ingo Molnar commit dd2897bf0f4d523238e87dabb23e9634ea9ba73d Author: Borislav Petkov Date: Fri Jun 3 22:07:22 2011 +0200 x86, asm: Fix binutils 2.16 issue with __USER32_CS While testing the patchset at http://lkml.kernel.org/r/1306873314-32523-1-git-send-email-bp@alien8.de with binutils 2.16.1 from hell, kernel build fails with the following error: arch/x86/ia32/ia32entry.S: Assembler messages: arch/x86/ia32/ia32entry.S:139: Error: too many positional arguments make[2]: *** [arch/x86/ia32/ia32entry.o] Error 1 make[1]: *** [arch/x86/ia32] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [arch/x86] Error 2 make: *** Waiting for unfinished jobs.... due to spaces between the operators of the __USER32_CS define. Fix it so that gas 2.16 can swallow it too. Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/1307131642-32595-1-git-send-email-bp@alien8.de Signed-off-by: H. Peter Anvin commit 38e6b75d3b6f4b9445eb6486e28fc716acda44ae Author: Borislav Petkov Date: Tue May 31 22:21:54 2011 +0200 x86, asm: Cleanup thunk_64.S Drop thunk_ra macro in favor of an additional argument to the thunk macro since their bodies are almost identical. Do a whitespace scrubbing and use CFI-aware macros for full annotation. Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/1306873314-32523-5-git-send-email-bp@alien8.de Signed-off-by: H. Peter Anvin commit 838feb47549a9b73534c6c1d7da4a9639a0750f4 Author: Borislav Petkov Date: Tue May 31 22:21:53 2011 +0200 x86, asm: Flip RESTORE_ARGS arguments logic ... thus getting rid of the "else" part of the conditional statement in the macro. No functionality change. Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/1306873314-32523-4-git-send-email-bp@alien8.de Signed-off-by: H. Peter Anvin commit cac0e0a78f722abd85b7f8d614ee0820f7672f58 Author: Borislav Petkov Date: Tue May 31 22:21:52 2011 +0200 x86, asm: Flip SAVE_ARGS arguments logic This saves us the else part of the conditional statement in the macro. No functionality change. Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/1306873314-32523-3-git-send-email-bp@alien8.de Signed-off-by: H. Peter Anvin commit a268fcfaa6ab2ef740fda5ecf947aca45ccd535d Author: Borislav Petkov Date: Tue May 31 22:21:51 2011 +0200 x86, asm: Thin down SAVE/RESTORE_* asm macros Use dwarf2 cfi annotation macros, making SAVE/RESTORE_* marginally more readable. No functionality change. Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/1306873314-32523-2-git-send-email-bp@alien8.de Signed-off-by: H. Peter Anvin commit 8c99268431a117207a89be5167ecd69429fd4bda Author: Anatolij Gustschin Date: Wed Jun 1 18:36:49 2011 +0200 spi/bitbang: initialize bits_per_word as specified by spi message SPI protocol drivers can submit messages specifying needed bits_per_word parameter for a message transfer. The bitbang driver currently ignores bits_per_word given by a singe message and always uses master's bits_per_word parameter. Only use master's bits_per_word when a message didn't specify needed bits_per_word for ongoing transfer. Signed-off-by: Anatolij Gustschin Signed-off-by: Grant Likely commit 805a3b810708db3261cc8c1183ffb2703a5ce243 Author: Wey-Yi Guy Date: Fri Jun 3 07:54:16 2011 -0700 iwlagn: call commit_rxon function directly No need to go though multiple levels of indirect call to send RXON command. Call it directly Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e80d70e98b993a7ece93e29a408da4a7d57a4da2 Author: Wey-Yi Guy Date: Fri Jun 3 07:54:15 2011 -0700 iwlagn: direct call to post_scan function After driver split, no need to use function "ops" for post_scan. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c2b821d7a59e5d6b53c906d0a8fecc68e2aee540 Author: Wey-Yi Guy Date: Fri Jun 3 07:54:14 2011 -0700 iwlagn: move all post scan functions in one place Both tx power and power save are being done after scan complete, move into post_scan function Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 15b3f3b006b42a678523cad989bfd60b76bf4403 Author: Wey-Yi Guy Date: Fri Jun 3 07:54:13 2011 -0700 iwlagn: set smps mode after assoc for 1000 device For some timing reason, 1000 device having problem to kick-in to aggregation without sending rxon assoc command. This is a W/A until find the real reason Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 88e9ba76bf906d8106d5f64856eba6e6d6777003 Author: Wey-Yi Guy Date: Fri Jun 3 07:54:12 2011 -0700 iwlagn: save the latest smps mode When change smps mode due to bt coex, save it Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0c34861e7c66435ab0986509ec20055c402f29d8 Author: Greg Dietsche Date: Thu Jun 2 22:24:06 2011 -0500 iwlegacy: add missing null check lq_sta has other null checks in this function. assuming they are correct, this additional null check should be added too. Incorporating suggestion from Gustavo Padovan. Signed-off-by: Greg Dietsche Signed-off-by: John W. Linville commit 5c30c76ee616fffb47cbd9810bfd0a99ce4ddb38 Author: Greg Dietsche Date: Thu Jun 2 21:06:09 2011 -0500 iwlegacy: propagate error return value propogate the return value from iwl4965_get_tx_atten_grp instead of implicitly returning -EINVAL in the error case. Signed-off-by: Greg Dietsche Signed-off-by: John W. Linville commit 8e638188b2b84ef9bb9ccbb87b92dda9d0a77bcb Author: Greg Dietsche Date: Thu Jun 2 21:06:08 2011 -0500 iwlegacy: return -EINVAL instead of -1 Cleanup the code to return -EINVAL instead of -1 Signed-off-by: Greg Dietsche Signed-off-by: John W. Linville commit 04975f3fc390974059ad06ac4162db7a6668a18d Author: Greg Dietsche Date: Thu Jun 2 21:06:07 2011 -0500 iwlegacy: remove unecessary if statement the code always returns ret regardless, so if(ret) check is unecessary. Signed-off-by: Greg Dietsche Signed-off-by: John W. Linville commit e5a042ea30c1772df9ed3dbe1538520e091ad25f Author: Greg Dietsche Date: Thu Jun 2 21:06:06 2011 -0500 iwlegacy: remove unreachable code return; at the end of the function is unecessary. Signed-off-by: Greg Dietsche Signed-off-by: John W. Linville commit aa4e0141c1c1ca53c643eacc6a68f29ade5f77ba Author: Rafał Miłecki Date: Thu Jun 2 13:43:24 2011 +0200 b43: add BCMA 80211 core specific defines Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 3c65ab62c5869a9d6ce5d9c28f7042b0e7e57891 Author: Rafał Miłecki Date: Thu Jun 2 09:56:04 2011 +0200 b43: add an option to register BROKEN bcma driver It does nothing useful yet, so it is matched as BROKEN. For now this is just an option for b43, in future we may want to make b43 support SSB or BCMA (note: or, not xor). Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 27f18dc2dafe66a93c7101fc94201b8c83903597 Author: Rafał Miłecki Date: Thu Jun 2 02:08:51 2011 +0200 bcma: read SPROM and extract MAC from it In case of BCMA cards SPROM is located in the ChipCommon core, it is not mapped as separated host window. So far we have met only SPROMs rev 8. SPROM layout seems to be the same as for SSB buses, so we decided to share SPROM struct and some defines. For now we extract MAC address only, this can be improved of course. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 4da909e7b572b561d8150f9d41b04bcfff386222 Author: Rafał Miłecki Date: Thu Jun 2 01:07:12 2011 +0200 b43: do not use SSB specific flags when calling core reset function Luckily the only flag we use when calling core reset is GMODE one. Thanks to that we can just switch to single bool and make function calls bus generic. Tested on my BCM4312 (LP-PHY) and early tested with BCM43224. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5a6f78afdabeb8b8e0811547fb98813323abf888 Author: Felix Fietkau Date: Tue May 31 21:21:41 2011 +0200 ath9k: show excessive-retry MPDUs in debugfs Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 10f8113ecb76eea72f96c7cfb72d7fed7c282565 Author: Arend van Spriel Date: Tue May 31 11:22:16 2011 +0200 lib: cordic: add library module providing cordic angle calculation The brcm80211 driver in the staging tree has a cordic function to determine cosine and sine for a given angle. Feedback received from John Linville suggested that these kind of functions should be made available to others as a library function in the kernel tree. The b43 driver also has a cordic angle calculation implemented. Cc: linux-kernel@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: "John W. Linville" Cc: Greg Kroah-Hartman Cc: Dan Carpenter Cc: Randy Dunlap Cc: Larry Finger Reviewed-by: Roland Vossen Reviewed-by: Henry Ptasinski Reviewed-by: Franky (Zhenhui) Lin Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit 7150962d637cf38617924f7f72ea00612283eb89 Author: Arend van Spriel Date: Tue May 31 11:22:15 2011 +0200 lib: crc8: add new library module providing crc8 algorithm The brcm80211 driver in staging tree uses a crc8 function. Based on feedback from John Linville to move this to lib directory, the linux source has been searched. Although there is currently only one other kernel driver using this algorithm (ie. drivers/ssb) we are providing this as a library function for others to use. Cc: linux-kernel@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: Dan Carpenter Cc: George Spelvin Cc: Randy Dunlap Reviewed-by: Henry Ptasinski Reviewed-by: Roland Vossen Reviewed-by: "Franky (Zhenhui) Lin" Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville commit dabd3001f941e35c4afa2458ceb17e5170062189 Author: Mike McCormack Date: Tue May 31 08:50:24 2011 +0900 rtlwifi: Fix logic in rx_interrupt Should pass along packet if there's no CRC and no hardware error. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 71352b2318675cf6a3f54c02a33d91ac17af1626 Author: Mike McCormack Date: Tue May 31 08:50:07 2011 +0900 rtlwifi: Use write barrier when assigning ownership Make sure all updates to a descriptor are flushed to memory before assigning ownship to hardware. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit febc9fe5387ed37cb329563ae29d21b41c71a9dd Author: Mike McCormack Date: Tue May 31 08:49:51 2011 +0900 rtlwifi: Assign rx buffer ownership to hardware last Ownership of an rx buffer should only be given to the hardware after all other changes are written, otherwise there's a potential race. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 312d5479dcfaca2b8aa451201b5388fdb8c8684a Author: Mike McCormack Date: Tue May 31 08:49:36 2011 +0900 rtlwifi: Don't block interrupts in spinlocks Now power state transitions are not called from an interrupt context, there's no need to block interrupts. This code appears to block interrupts for too long, causing my trackpad to lose sync occasionally. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 67fc6052a49b781efbcfc138f3b68fe79ddd0c2f Author: Mike McCormack Date: Tue May 31 08:49:23 2011 +0900 rtlwifi: Run IPS leave work in a tasklet This removes the need to use IRQ safe spinlocks in many places. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 34ddb2077e5ced1a09a1dd2cbb82f807bfc5f88b Author: Mike McCormack Date: Tue May 31 08:49:07 2011 +0900 rtlwifi: Store loop index in local variable _rtl_pci_rx_interrupt uses rtlpci->rx_ring[rx_queue_idx].idx a few times, so store it in a separate variable. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f2ea312cf4338ae187212e41b3dce97a666e3912 Author: Mike McCormack Date: Tue May 31 08:48:50 2011 +0900 rtlwifi: Remove set_rfpowerstate_inprogress set_rfpowerstate_inprogress is only set and never read so remove it. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 2e69167c32780b2228f294505d5bf742494c960f Author: Mike McCormack Date: Tue May 31 08:48:23 2011 +0900 rtlwifi: Synchronize IRQ after disabling it This make sure any IRQ handlers running on other CPUs complete. Signed-off-by: Mike McCormack Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a26221a834fe30c22d440b954b2e11e607fa57f5 Author: H Hartley Sweeten Date: Fri Jun 3 13:32:41 2011 -0500 gpio/samsung: make Kconfig options def_bool The Samsung GPIO drivers are always built-in when the relevant platform is selected.  Change the Kconfig symbol to def_bool y dependant on the platform. Signed-off-by: H Hartley Sweeten Acked-by: Kyungmin Park Signed-off-by: Grant Likely commit 2bcc7ed5b83b0a59c6976476e8788675038fb11b Author: Shawn Guo Date: Tue May 31 16:23:43 2011 +0800 leds: remove config option LEDS_GPIO_PLATFORM from Kconfig Since the commit a314c5c0040aab51ebb1ecfd37a9198a91962243 (leds/leds-gpio: merge platform_driver with of_platform_driver), the config option LEDS_GPIO_PLATFORM becomes useless, so remove it. Signed-off-by: Shawn Guo [grant.likely: also remove LEDS_GPIO_OF for same reason] Signed-off-by: Grant Likely commit a3cc68c37897f0656489a0d853d6e342fc6f076b Author: H Hartley Sweeten Date: Fri May 27 16:35:59 2011 -0700 gpio/74x164: remove unnecessary defines and prototype Remove the #define GEN_74X164_GPIO_COUNT since it's only used in one place and it's meaning is obvious. Also remove the #define GEN_74X164_DRIVER_NAME and use spi->modalias to set the gpio chip's label and the string "74x164" for the driver name. Reorder the code slightly to remove the need to prototype gen_74x164_set_value. Signed-off-by: H Hartley Sweeten Signed-off-by: Grant Likely commit 6885685923ee786f26e7b170e3b961ac0fa14037 Author: Jack Steiner Date: Thu Jun 2 14:59:43 2011 -0500 x66, UV: Enable 64-bit ACPI MFCG support for SGI UV2 platform Enable 64-bit ACPI MFCG support for SGI UV2 platform. The check is similar to the check on UV1. UV2 has a different oem_id string. Signed-off-by: Jack Steiner Link: http://lkml.kernel.org/r/20110602195943.GA27079@sgi.com Signed-off-by: Ingo Molnar commit aef29bf20bd79c73992ab23d5067e9f0448b466e Merge: 27eb4a1 7cec092 Author: Ingo Molnar Date: Fri Jun 3 10:43:03 2011 +0200 Merge branch 'perf/core' of ssh://k/pub/scm/linux/kernel/git/acme/linux into perf/core commit 27eb4a1e4a56afacb0540c24084b9e0342f9956b Merge: 64ce312 55922c9 Author: Ingo Molnar Date: Fri Jun 3 10:41:03 2011 +0200 Merge commit 'v3.0-rc1' into perf/core Merge reason: merge in the latest fixes. Signed-off-by: Ingo Molnar commit e197f094b7da7d94812492cfcd706d143f1020e5 Merge: f339b9d e69c634 Author: Ingo Molnar Date: Fri Jun 3 10:27:47 2011 +0200 Merge branch 'unlikely/sched' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into sched/urgent commit 34624d6631b6b3a1df16407a847286bb6233a96b Author: Sucheta Chakraborty Date: Thu Jun 2 02:24:14 2011 +0000 netxen: suppress false lro warning messages When interface is down, driver prints false warning messages during lro configuration through ethtool. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit fe09bb619096a0aa139210748ddc668c2dbe2308 Author: Benjamin Herrenschmidt Date: Wed Jun 1 17:17:10 2011 +1000 sungem: Spring cleaning and GRO support This patch simplifies the logic and locking in sungem significantly: - LLTX is gone, all private locks are gone, mutex is gone - We don't poll the PHY while the interface is down - The above allowed me to get rid of a pile of state flags using the proper interface state provided by the networking stack when needed and overall simplify the driver a lot - Allocate the bulk of RX skbs at init time using GFP_KERNEL - Fix a bug where the dev->features were set after register_netdev() - Added GRO while at it Signed-off-by: Benjamin Herrenschmidt Signed-off-by: David S. Miller commit 6f92c66f7190b1677ea666249b72298723392115 Author: Jiri Pirko Date: Wed Jun 1 10:36:33 2011 +0000 bonding: allow all slave speeds No need to check for 10, 100, 1000, 10000 explicitly. Just make this generic and check for invalid values only (similar check is in ethtool userspace app). This enables correct speed handling for slave devices with "nonstandard" speeds. Signed-off-by: Jiri Pirko Reviewed-by: Nicolas de Pesloüan Signed-off-by: David S. Miller commit afab2d2999e9c12cf319e1f19da9a0a754560d80 Author: Joe Perches Date: Thu May 26 10:58:31 2011 +0000 net: 8021q: Add pr_fmt Use the current logging style. Add #define pr_fmt and remove embedded prefix from formats. Not converting the current pr_ uses to netdev_ because all the output here is nicely prefaced with "8021q: ". Remove __func__ use from proc registration failure message. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit f35490f909b7d535ff7f2f1a7df59be8c2824931 Author: Johannes Berg Date: Thu Jun 2 19:38:43 2011 +0200 iwlagn: fix interface combinations My patch to advertise interface combinations worked by pure luck in the P2P case, but all other cases are broken. This is due to a dumb mistake in the code that checks what should be advertised, fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7cec0922389e080d11ec43dd23aa778e136bd1e1 Author: David Ahern Date: Mon May 30 13:08:23 2011 -0600 perf script: Add printing of sample address Resolve to a function or variable if possible and if the sym option is enabled. Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/1306782503-22002-1-git-send-email-dsahern@gmail.com Signed-off-by: David Ahern Signed-off-by: Arnaldo Carvalho de Melo commit 610723f24eeb842025178a6722fa9108c4e157b6 Author: David Ahern Date: Fri May 27 14:28:44 2011 -0600 perf script: Make printing of dso a separate field option The 'sym' option displays both the function name and the DSO it comes from. Split the display of the dso into a separate option. This allows display of the ip address and symbol without the dso, thus shortening line lengths - and decluttering the output a bit. Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/1306528124-25861-3-git-send-email-dsahern@gmail.com Signed-off-by: David Ahern Signed-off-by: Arnaldo Carvalho de Melo commit 787bef174f055343c69a9639e6e05a564980ed4c Author: David Ahern Date: Fri May 27 14:28:43 2011 -0600 perf script: "sym" field really means show IP data Currently the "sym" output field is used to dump instruction pointers and callchain stack. Sample addresses can also be converted to symbols, so the meaning of "sym" needs to be fixed. This patch adds an "ip" option and if it is selected the user can also opt to dump symbols for them. If the user opts to dump IP without syms only the address is shown. Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/1306528124-25861-2-git-send-email-dsahern@gmail.com Signed-off-by: David Ahern Signed-off-by: Arnaldo Carvalho de Melo commit 2cee77c4505fc581f41b44e18ffc0953b67a414c Author: David Ahern Date: Mon May 30 08:55:59 2011 -0600 perf stat: clarify unsupported events from uncounted events perf stat continues running even if the event list contains counters that are not supported. The resulting output then contains for those events which gets confusing as to which events are supported, but not counted and which are not supported. Before: perf stat -ddd -- sleep 1 Performance counter stats for 'sleep 1': 0.571283 task-clock # 0.001 CPUs utilized 1 context-switches # 0.002 M/sec 0 CPU-migrations # 0.000 M/sec 157 page-faults # 0.275 M/sec 1,037,707 cycles # 1.816 GHz stalled-cycles-frontend stalled-cycles-backend 654,499 instructions # 0.63 insns per cycle 136,129 branches # 238.286 M/sec branch-misses L1-dcache-loads L1-dcache-load-misses LLC-loads LLC-load-misses L1-icache-loads L1-icache-load-misses dTLB-loads dTLB-load-misses iTLB-loads iTLB-load-misses L1-dcache-prefetches L1-dcache-prefetch-misses 1.001004836 seconds time elapsed After: perf stat -ddd -- sleep 1 Performance counter stats for 'sleep 1': 1.350326 task-clock # 0.001 CPUs utilized 2 context-switches # 0.001 M/sec 0 CPU-migrations # 0.000 M/sec 157 page-faults # 0.116 M/sec 11,986 cycles # 0.009 GHz stalled-cycles-frontend stalled-cycles-backend 496,986 instructions # 41.46 insns per cycle 138,065 branches # 102.246 M/sec 7,245 branch-misses # 5.25% of all branches L1-dcache-loads L1-dcache-load-misses LLC-loads LLC-load-misses L1-icache-loads L1-icache-load-misses dTLB-loads dTLB-load-misses iTLB-loads iTLB-load-misses L1-dcache-prefetches L1-dcache-prefetch-misses 1.002397333 seconds time elapsed v1->v2: changed supported type from int to bool v2->v3 fixed vertical alignment of new struct element Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/1306767359-13221-1-git-send-email-dsahern@gmail.com Signed-off-by: David Ahern Signed-off-by: Arnaldo Carvalho de Melo commit 64348153c63b8c1f99f19f14a9c3cbd5df70c9d3 Author: Frederic Weisbecker Date: Thu Mar 31 18:27:43 2011 +0200 perf python: Cleanup useless double NULL termination in method arg names The list of methods argument names only needs to be NULL terminated once. Remove the second ones. Cc: David Ahern Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Tom Zanussi Link: http://lkml.kernel.org/r/1301588863-20210-2-git-send-email-fweisbec@gmail.com Signed-off-by: Frederic Weisbecker Signed-off-by: Arnaldo Carvalho de Melo commit e95cc02880947e9f77540b03e166470e8ac14cbc Author: Frederic Weisbecker Date: Thu Mar 31 18:27:42 2011 +0200 perf python: Fix argument name list of read_on_cpu() Mandatory arguments need to be present in the argument name list, as well as optional arguments, otherwise python barfs: # ./python/twatch.py Traceback (most recent call last): File "./python/twatch.py", line 41, in main() File "./python/twatch.py", line 32, in main event = evlist.read_on_cpu(cpu) RuntimeError: more argument specifiers than keyword list entries Hence, add cpu to the name list. Cc: David Ahern Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Tom Zanussi Link: http://lkml.kernel.org/r/1301588863-20210-1-git-send-email-fweisbec@gmail.com Signed-off-by: Frederic Weisbecker Signed-off-by: Arnaldo Carvalho de Melo commit c2a70653af45c9cbb0cab900e8931b062e57b1ae Author: Arnaldo Carvalho de Melo Date: Thu Jun 2 11:04:54 2011 -0300 perf evlist: Don't die if sample_{id_all|type} is invalid Fixes two more cases where the python binding would not load: . Not finding die(), which it shouldn't anyway, not good to just stop the world because some particular perf.data file is invalid, just propagate the error to the caller. . Not finding perf_sample_size: fix it by moving it from event.c to evsel, where it belongs, as most cases are moving to operate on an evsel object.o One of the fixed problems: [root@emilia ~]# python >>> import perf Traceback (most recent call last): File "", line 1, in ImportError: /home/acme/git/build/perf/python/perf.so: undefined symbol: perf_sample_size >>> [root@emilia ~]# Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Link: http://lkml.kernel.org/n/tip-1hkj7b2cvgbfnoizsekjb6c9@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo commit 5c6970af2f4be4e04b06fe78214f6809777a8354 Author: Arnaldo Carvalho de Melo Date: Thu Jun 2 10:55:10 2011 -0300 perf python: Use exception to propagate errors We were using pr_debug to tell the user about not being able to parse a sample where we should really use the python way of reporting errors: exceptions. Fixes this problem: [root@emilia ~]# python >>> import perf Traceback (most recent call last): File "", line 1, in ImportError: /home/acme/git/build/perf/python/perf.so: undefined symbol: eprintf >>> [root@emilia ~] As we want to keep the objects linked in the python binding (and in the future in a shared library) minimal. Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Link: http://lkml.kernel.org/n/tip-m9dba9kaluas0kq8r58z191c@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo commit bccdaba044a445eb2c391295587aa47977994777 Author: Arnaldo Carvalho de Melo Date: Thu Jun 2 10:39:43 2011 -0300 perf evlist: Remove dependency on debug routines So far we avoided having to link debug.o in the python binding, keep it that way by not using ui__warning() in evlist.c. Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Link: http://lkml.kernel.org/n/tip-4wtew8hd3g7ejnlehtspys2t@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo commit dd6254e5c0efe01ad255188898cb3dadf98cb56d Author: Clemens Ladisch Date: Mon May 16 08:10:10 2011 +0200 firewire: ohci: remove superfluous posted write flushes The call to flush_writes() in context_stop() is superfluous because another register read is done immediately afterwards. The call to flush_writes() in ar_context_run() does not need to be done individually for each AR context, so move it to ohci_enable(). This also makes ohci_enable() clearer because it no longer depends on a side effect of ar_context_run() to flush its own register writes. Finally, the setting of a context's wake bit does not need to be flushed because neither the driver logic nor the API require the CPU to wait for this action. This removes the last MMIO reads from the packet queueing code paths. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit bf337b15c28ae25904a73e7e2e0de2f9c4f0e9f8 Author: August Lilleaas Date: Sun May 29 19:07:19 2011 +0200 firewire: net: replacing deprecated __attribute__((packed)) with __packed Fixing a deprecation, replacing __attribute__((packed)) with __packed. It was deprecated for portability, specifically to avoid GCC specific code. See commit 82ddcb040570411fc2d421d96b3e69711c670328. Signed-off-by: August Lilleaas Signed-off-by: Stefan Richter (added include compiler.h) commit 8a07eb0a50aebc8c95478d49c28c7f8419a26cef Author: Michio Honda Date: Tue Apr 26 20:19:36 2011 +0900 sctp: Add ASCONF operation on the single-homed host In this case, the SCTP association transmits an ASCONF packet including addition of the new IP address and deletion of the old address. This patch implements this functionality. In this case, the ASCONF chunk is added to the beginning of the queue, because the other chunks cannot be transmitted in this state. Signed-off-by: Michio Honda Signed-off-by: YOSHIFUJI Hideaki Acked-by: Wei Yongjun Signed-off-by: David S. Miller commit 7dc04d712203eecdc1435a4cd135935c4a297be5 Author: Michio Honda Date: Tue Apr 26 20:16:31 2011 +0900 sctp: Add socket option operation for Auto-ASCONF. This patch allows the application to operate Auto-ASCONF on/off behavior via setsockopt() and getsockopt(). Signed-off-by: Michio Honda Signed-off-by: YOSHIFUJI Hideaki Acked-by: Wei Yongjun Signed-off-by: David S. Miller commit dd51be0f5484b450b8d48c9226ed86ce3dd5102e Author: Michio Honda Date: Tue Apr 26 17:36:05 2011 +0900 sctp: Add sysctl support for Auto-ASCONF. This patch allows the system administrator to change default Auto-ASCONF on/off behavior via an sysctl value. Signed-off-by: Michio Honda Signed-off-by: YOSHIFUJI Hideaki Acked-by: Wei Yongjun Signed-off-by: David S. Miller commit 9f7d653b67aed2d92540fbb0a8adaf32fcf352ae Author: Michio Honda Date: Tue Apr 26 19:32:51 2011 +0900 sctp: Add Auto-ASCONF support (core). SCTP reconfigure the IP addresses in the association by using ASCONF chunks as mentioned in RFC5061. For example, we can start to use the newly configured IP address in the existing association. This patch implements automatic ASCONF operation in the SCTP stack with address events in the host computer, which is called auto_asconf. Signed-off-by: Michio Honda Signed-off-by: YOSHIFUJI Hideaki Acked-by: Wei Yongjun Signed-off-by: David S. Miller commit 3ced2dddf10f26f0aaff96f3345a3d876cea62f8 Author: YOSHIFUJI Hideaki Date: Tue Apr 26 19:23:24 2011 +0900 sctp: Allow regular C expression in 4th argument for SCTP_DEBUG_PRINTK_IPADDR macro. Signed-off-by: YOSHIFUJI Hideaki Acked-by: Wei Yongjun Signed-off-by: David S. Miller commit b1364104e37c9d8cf437746ba5f5dfedcc0bc132 Author: Michio Honda Date: Tue Apr 26 17:37:02 2011 +0900 sctp: Add ADD/DEL ASCONF handling at the receiver. This patch fixes the problem that the original code cannot delete the remote address where the corresponding transport is currently directed, even when the ASCONF is sent from the other address (this situation happens when the single-homed sender transmits ASCONF with ADD and DEL.) Signed-off-by: Michio Honda Signed-off-by: YOSHIFUJI Hideaki Acked-by: Wei Yongjun Signed-off-by: David S. Miller commit 40d69043fce579378eb185d31445b6ff66abbd93 Author: Dmitry.Tarnyagin Date: Wed Jun 1 03:29:18 2011 +0000 caif: Add CAIF HSI Link layer driver This patch introduces the CAIF HSI Protocol Driver for the CAIF Link Layer. This driver implements a platform driver to accommodate for a platform specific HSI devices. A general platform driver is not possible as there are no HSI side Kernel API defined. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit a198c142aacf82acad29e1752191bda8b451a0c7 Author: Yaniv Rosner Date: Tue May 31 21:29:42 2011 +0000 bnx2x: Improve cl45 access methods Instead of setting CL45 mode for every CL45 access, apply it once during initialization. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ec146a6f019923819f5ca381980248b6d154ca1a Author: Yaniv Rosner Date: Tue May 31 21:29:27 2011 +0000 bnx2x: Modify XGXS functions Modify XGXS functions to follow rest of PHY scheme. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit fd36a2e69e05f42ddfe388efe14e068c0d0c6cb7 Author: Yaniv Rosner Date: Tue May 31 21:29:05 2011 +0000 bnx2x: Fix link status sync Fix link status synchronization between the primary function, and rest functions. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 020c7e3f3cd38d41104c7f55d3d5732c5ac939be Author: Yaniv Rosner Date: Tue May 31 21:28:43 2011 +0000 bnx2x: Adjust BCM8726 module detection settings Move BCM8726 module detection code into a separate function to be called only once during initialization. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9045f6b44a01737a84c5bb79f580dccce6806d80 Author: Yaniv Rosner Date: Tue May 31 21:28:27 2011 +0000 bnx2x: Fix grammar and relocate code This patch relocates some functions as a preparation for next patches, and also fixes some grammar mistakes. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit bac27bd941454aaf40f7876ce3b487e303c4953d Author: Yaniv Rosner Date: Tue May 31 21:28:10 2011 +0000 bnx2x: Fix BCM84833 settings Fix BCM84833 register settings. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 27d024321cf4fc0a96c41c3b0f3c123796734a63 Author: Yaniv Rosner Date: Tue May 31 21:27:48 2011 +0000 bnx2x: Fix over current port display On 57712 chip, port number is enumerated per engine, so it requires adjustment in port display to the user. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c688fe2fc0cab3a5d266f7f6fcb21f14e4ac39ba Author: Yaniv Rosner Date: Tue May 31 21:27:06 2011 +0000 bnx2x: Add TX fault check for fiber PHYs In case TX fault is detected on Fiber PHYs, declare the link as down until TX fault is gone. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit fcf5b650832996bd857bb8f0b0b42097218f7fb8 Author: Yaniv Rosner Date: Tue May 31 21:26:28 2011 +0000 bnx2x: Change return status type Change return status from u8 to int. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1ac9e4286dc9e64dd2d937df7f8660bb5f260792 Author: Yaniv Rosner Date: Tue May 31 21:26:11 2011 +0000 bnx2x: Fix port type display Display the current media type connected to the port in ethtool. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e4d78f120c039bbd18ae449a6b2af3df83ca02bf Author: Yaniv Rosner Date: Tue May 31 21:25:55 2011 +0000 bnx2x: Add new phy BCM8722 Add support for new phy BCM8722. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5bc9890ff114cdd39de8561610f6af3bb4b08cfb Author: Wey-Yi Guy Date: Fri May 27 08:40:32 2011 -0700 iwlagn: change log to better represent the state of aggregation process Multiple A-MPDU actions will received from mac80211 while setting up the aggregation queue, change the message log to better represent the states. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5f88ac2d72a7f8e1cadab6d9cbc0fe1837cbcd7a Author: Wey-Yi Guy Date: Fri May 27 08:40:31 2011 -0700 iwlagn: change the logging level for aggregation enable check Aggregation will not enable if the traffic is lower than the threshold, this is not an error condition, so change the logging level. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0fd095024b7bc023c7afac107732dac961ee690d Author: Johannes Berg Date: Fri May 27 08:40:30 2011 -0700 iwlagn: advertise interface combinations With this, iwlwifi will advertise the limits on concurrency of virtual interfaces. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 93cce6f0adff92238965eadb3c046db58552087b Author: Emmanuel Grumbach Date: Fri May 27 08:40:29 2011 -0700 iwlagn: free the ICT ISR when the request_irq failed Fix a memory leak in case request_irq fails. Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2e5d04dad1934d97057cbecce59834f78dafc067 Author: Daniel Halperin Date: Fri May 27 08:40:28 2011 -0700 iwlwifi: disambiguate invalid DMA index warnings The exact same error message is used in three different functions in iwlagn. Add the function name to the error string to disambiguate where the error is coming from. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3d82b15608ad97627ced4d3bd42ae10297c2f87d Author: Emmanuel Grumbach Date: Fri May 27 08:40:27 2011 -0700 iwlagn: solve sparse warning Remove local variable that was shadowing another one sta_priv hasn't changed since the beginning of the function, so don't define another pointer with the same name to the same variable Signed-off-by: Emmanuel Grumbach Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2b9253d2a0439bd247d9384921ff23e7ac6bba52 Author: Johannes Berg Date: Fri May 27 08:40:26 2011 -0700 iwlagn: fix dual-mode RXON The PAN context has three states: disabled, disassociated and associated. It seems that wasn't quite as much of an issue in previous versions of the microcode, but now we really have to use all the three states properly. So add code to switch accordingly. Additionally, PAN parameters need to be sent differently and the timing for PAN RXON needs to be inbetween. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 5beaaf3756aef42f31747d81b0676c8ccf59c6c4 Author: Wey-Yi Guy Date: Fri May 27 08:40:25 2011 -0700 iwlagn: remove un-necessary tx power ops All agn devices use the same tx power function, remove the ops Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 891db88112b604db054d9575d200271ad97634a4 Author: Wey-Yi Guy Date: Fri May 27 08:40:24 2011 -0700 iwlagn: send tx power command if defer cause by RXON not match During channge channel, tx power will not send to uCode, the tx power command should send after scan complete. but should also can send after RXON command. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 180cdc79c2204d0abe15509689dde631290f6a95 Author: Luis R. Rodriguez Date: Fri May 27 07:24:02 2011 -0700 cfg80211: skip disabled channels on channel survey The channel survey information will be empy for disabled channels so simply discard those entries. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 84288044dc9a50d2c0b0f1a024d7cd87ab3dd131 Author: Mohammed Shafi Shajakhan Date: Thu May 26 11:41:13 2011 +0530 ath9k: better position PAPRD debug message the training power calculation indirectly depends on target power under some scenarios, unless we have a valid training power, the PAPRD frames won't be sent out. so when we get an invalid training power, its better to display them before returning back. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 05c0be2f7f10404e5b3bc4105f9206096e9b8767 Author: Mohammed Shafi Shajakhan Date: Thu May 26 10:56:15 2011 +0530 ath9k: Add a debug entry to start/stop ANI this helps the user to start/stop ANI dynamically. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 81168e509f06aa205b240c1804ec2b9b5add4772 Author: Fabrice Deyber Date: Tue May 24 08:44:35 2011 -0500 ath9k: Further fix for mesh beaconing This fix ensure the timers to be set at beacon interval boundaries. Without this change timers can be set improperly resulting in the absence of beacons. Signed-off-by: Fabrice Deyber Signed-off-by: John W. Linville commit b942471bfcda207a51379628379aa821216486e7 Author: Mohammed Shafi Shajakhan Date: Tue May 24 15:29:52 2011 +0530 ath9k: wake up chip before initializing PAPRD table In PAPRD table initialization path we do some register read, so make sure the chip is awake during that. Currently PAPRD is disabled. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 049436b9804394e4d6caf7da5f3507bd8f4caa6e Author: Larry Finger Date: Mon May 23 20:38:52 2011 -0500 rtlwifi: rtl8192se: Synchronize IRQ after disabling it As suggested by Mike McCormack for rtl8192ce, make sure any IRQ handlers running on other CPUs complete. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5111dd3e422d08435164fc6d405d849ff6421eec Author: Larry Finger Date: Mon May 23 20:37:31 2011 -0500 rtlwifi: rtl8192se: Use write barrier when assigning ownership As noted by Mike McCormack for rtl8192ce, make sure all updates to a descriptor are flushed to memory before assigning ownship to hardware. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4a7f5db19c0d8783f700cb606597c4c7b1364db5 Author: Amitkumar Karwar Date: Mon May 23 18:00:17 2011 -0700 mwifiex: remove support for old chipsets W0/W1 For SD8787 A0/A1 chipsets we use the default firmware image file 'mrvl/sd8787_uapsta.bin'. So the chip rev id variable is removed. The global variable fw_name is moved to adapter structure so that we can support a different interface, such as PCIe, in future. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 0541ac4cb47a31f44bf841a4dade539395c146ee Author: Larry Finger Date: Sun May 22 20:57:03 2011 -0500 b43legacy: Fix warnings from gcc 4.6.0 gcc 4.6.0 warnings for b43legacy: CC [M] drivers/net/wireless/b43legacy/main.o drivers/net/wireless/b43legacy/main.c: In function ‘b43legacy_request_firmware’: drivers/net/wireless/b43legacy/main.c:1567:6: warning: variable ‘tmshigh’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/b43legacy/main.c: In function ‘b43legacy_op_dev_config’: drivers/net/wireless/b43legacy/main.c:2637:6: warning: variable ‘antenna_rx’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/b43legacy/main.c: In function ‘b43legacy_op_bss_info_changed’: drivers/net/wireless/b43legacy/main.c:2778:24: warning: variable ‘phy’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/b43legacy/xmit.c: In function ‘generate_txhdr_fw3’: drivers/net/wireless/b43legacy/xmit.c:324:7: warning: variable ‘rts_rate_ofdm’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/b43legacy/dma.o drivers/net/wireless/b43legacy/dma.c: In function ‘free_all_descbuffers’: drivers/net/wireless/b43legacy/dma.c:820:36: warning: variable ‘desc’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/b43legacy/dma.c: In function ‘b43legacy_dma_tx’: drivers/net/wireless/b43legacy/dma.c:1377:28: warning: variable ‘info’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/b43legacy/dma.c:1374:24: warning: variable ‘hdr’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/b43legacy/dma.c: In function ‘b43legacy_dma_handle_txstatus’: drivers/net/wireless/b43legacy/dma.c:1438:36: warning: variable ‘desc’ set but not used [-Wunused-but-set-variable] Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 78d57372cc781c69a97700cac1f181ec42433fca Author: Larry Finger Date: Sun May 22 20:54:43 2011 -0500 rtl8192se: Fix warnings from gcc 4.6.0 gcc 4.6.0 warnings for rtl8192se: CC [M] drivers/net/wireless/rtlwifi/rtl8192se/dm.o drivers/net/wireless/rtlwifi/rtl8192se/dm.c: In function ‘_rtl92s_dm_refresh_rateadaptive_mask’: drivers/net/wireless/rtlwifi/rtl8192se/dm.c:225:5: warning: variable ‘rssi_level’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/rtl8192se/fw.o drivers/net/wireless/rtlwifi/rtl8192se/fw.c: In function ‘rtl92s_download_fw’: drivers/net/wireless/rtlwifi/rtl8192se/fw.c:361:6: warning: variable ‘file_length’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/rtl8192se/hw.o drivers/net/wireless/rtlwifi/rtl8192se/hw.c: In function ‘_rtl92se_hw_configure’: drivers/net/wireless/rtlwifi/rtl8192se/hw.c:887:6: warning: variable ‘reg_ratr’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/rtl8192se/hw.c: In function ‘_rtl92se_set_media_status’: drivers/net/wireless/rtlwifi/rtl8192se/hw.c:1125:20: warning: variable ‘ledaction’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/rtl8192se/hw.c: In function ‘rtl92se_gpio_radio_on_off_checking’: drivers/net/wireless/rtlwifi/rtl8192se/hw.c:2274:32: warning: variable ‘cur_rfstate’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/rtl8192se/phy.o drivers/net/wireless/rtlwifi/rtl8192se/phy.c: In function ‘rtl92s_phy_set_bw_mode’: drivers/net/wireless/rtlwifi/rtl8192se/phy.c:266:5: warning: variable ‘reg_prsr_rsc’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/rtl8192se/trx.o drivers/net/wireless/rtlwifi/rtl8192se/trx.c: In function ‘_rtl92se_translate_rx_signal_stuff’: drivers/net/wireless/rtlwifi/rtl8192se/trx.c:584:6: warning: variable ‘psaddr’ set but not used [-Wunused-but-set-variable] Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 52722592b1702687bf24fe69d75f2ef97360fd59 Author: Larry Finger Date: Sun May 22 20:54:40 2011 -0500 rtl8192cu: Fix warnings from gcc 4.6.0 gcc 4.6.0 warnings for rtl8192cu: CC [M] drivers/net/wireless/rtlwifi/rtl8192cu/mac.o drivers/net/wireless/rtlwifi/rtl8192cu/mac.c: In function ‘rtl92c_translate_rx_signal_stuff’: drivers/net/wireless/rtlwifi/rtl8192cu/mac.c:1116:6: warning: variable ‘psaddr’ set but not used [-Wunused-but-set-variable] Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6c0d4988c7dc23e5e8b22e99ab140e47c716848e Author: Larry Finger Date: Sun May 22 20:54:37 2011 -0500 rtl8192ce: Fix warnings from gcc 4.6.0 gcc 4.6.0 warnings for rtl8192ce: CC [M] drivers/net/wireless/rtlwifi/rtl8192ce/hw.o drivers/net/wireless/rtlwifi/rtl8192ce/hw.c: In function ‘_rtl92ce_hw_configure’: drivers/net/wireless/rtlwifi/rtl8192ce/hw.c:766:6: warning: variable ‘reg_ratr’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/rtl8192ce/hw.c: In function ‘rtl92ce_gpio_radio_on_off_checking’: drivers/net/wireless/rtlwifi/rtl8192ce/hw.c:1972:41: warning: variable ‘cur_rfstate’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/rtl8192ce/phy.o drivers/net/wireless/rtlwifi/rtl8192ce/phy.c: In function ‘rtl92c_phy_config_rf_with_headerfile’: drivers/net/wireless/rtlwifi/rtl8192ce/phy.c:284:7: warning: variable ‘rtstatus’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/rtl8192ce/trx.o drivers/net/wireless/rtlwifi/rtl8192ce/trx.c: In function ‘_rtl92ce_translate_rx_signal_stuff’: drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:595:6: warning: variable ‘psaddr’ set but not used [-Wunused-but-set-variable] Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c0fda68d00a72895c4ad0871c6f57074b0e4292c Author: Larry Finger Date: Sun May 22 20:54:34 2011 -0500 rtl8192c-common: Fix warnings from gcc 4.6.0 gcc 4.6.0 warnings for rtl8192c-common: CC [M] drivers/net/wireless/rtlwifi/rtl8192c/fw_common.o drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c: In function ‘_rtl92c_cmd_send_packet’: drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c:549:5: warning: variable ‘own’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/rtl8192c/phy_common.o drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c: In function ‘_rtl92c_phy_iq_calibrate’: drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c:1256:6: warning: variable ‘bbvalue’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c: In function ‘rtl92c_phy_iq_calibrate’: drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c:1766:6: warning: variable ‘reg_ecc’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c:1765:34: warning: variable ‘reg_eac’ set but not used [-Wunused-but-set-variable] Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 19086fcef1de1fa7350d8122910a506481acf94b Author: Larry Finger Date: Sun May 22 20:54:31 2011 -0500 rtlwifi: Fix warnings from gcc 4.6.0 gcc 4.6.0 warnings for rtlwifi: CC [M] drivers/net/wireless/rtlwifi/base.o drivers/net/wireless/rtlwifi/base.c: In function ‘rtl_tx_agg_stop’: drivers/net/wireless/rtlwifi/base.c:891:23: warning: variable ‘tid_data’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/base.c: In function ‘rtl_tx_agg_oper’: drivers/net/wireless/rtlwifi/base.c:921:23: warning: variable ‘tid_data’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/efuse.o drivers/net/wireless/rtlwifi/efuse.c: In function ‘efuse_pg_packet_write’: drivers/net/wireless/rtlwifi/efuse.c:928:24: warning: variable ‘dataempty’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/efuse.c: In function ‘efuse_get_current_size’: drivers/net/wireless/rtlwifi/efuse.c:1179:5: warning: variable ‘hoffset’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/ps.o drivers/net/wireless/rtlwifi/ps.c: In function ‘rtl_ps_set_rf_state’: drivers/net/wireless/rtlwifi/ps.c:85:19: warning: variable ‘rtstate’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/regd.o drivers/net/wireless/rtlwifi/regd.c: In function ‘_rtl_dump_channel_map’: drivers/net/wireless/rtlwifi/regd.c:310:28: warning: variable ‘ch’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/rtlwifi/usb.o drivers/net/wireless/rtlwifi/usb.c: In function ‘_rtl_usb_transmit’: drivers/net/wireless/rtlwifi/usb.c:826:21: warning: variable ‘urb_list’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/rtlwifi/usb.c:825:23: warning: variable ‘skb_list’ set but not used [-Wunused-but-set-variable] Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 9c1cacd2c08ede12765e838c35b6d1e9eb900f60 Author: Larry Finger Date: Sun May 22 20:54:25 2011 -0500 b43: Fix warnings from gcc 4.6.0 gcc 4.6.0 warnings for b43: CC [M] drivers/net/wireless/b43/lo.o drivers/net/wireless/b43/lo.c: In function ‘lo_measure_gain_values’: drivers/net/wireless/b43/lo.c:304:7: warning: variable ‘trsw_rx’ set but not used [-Wunused-but-set-variable] CC [M] drivers/net/wireless/b43/dma.o drivers/net/wireless/b43/dma.c: In function ‘free_all_descbuffers’: drivers/net/wireless/b43/dma.c:760:30: warning: variable ‘desc’ set but not used [-Wunused-but-set-variable] drivers/net/wireless/b43/dma.c: In function ‘b43_dma_handle_txstatus’: drivers/net/wireless/b43/dma.c:1391:30: warning: variable ‘desc’ set but not used [-Wunused-but-set-variable] Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 24f7580e852b5472b51eea322bb78454df0054b8 Author: Zefir Kurtisi Date: Fri May 20 20:29:17 2011 +0200 minstrel_ht: fixed rate mode through debugfs Found several threads about fixed rate mode in minstrel_ht for test environments, but no patches for it. This patch provides such a mode through debugfs. Signed-off-by: John W. Linville commit 71063f0e8939b5b6ea5121faed47987e094ef018 Author: Wey-Yi Guy Date: Fri May 20 09:05:54 2011 -0700 nl80211: add testmode dump support This adds dump support to testmode. The testmode dump support in nl80211 requires using two of the six cb->args, the rest can be used by the driver to figure out where the dump position is at or to store other data across invocations. Signed-off-by: Wey-Yi Guy Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2e5ef4599addb1046086b63743f41822858a23b7 Author: Rajkumar Manoharan Date: Fri May 20 17:52:12 2011 +0530 ath9k: Handle IBSS status changes in BSS_CHANGED_IBSS Configure ibss node's bss_changes under BSS_CHANGED_IBSS. And also start/stop ani timer only if the station join/leave the group. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit f29f5c0882bdd58c42b8176ee0b578f92589fda2 Author: Rajkumar Manoharan Date: Fri May 20 17:52:11 2011 +0530 ath9k: Remove ATH9K_BEACON_PERIOD mask Earlier beacon_interval is used to hold interval value and some flags (ATH9K_BEACON_ENA &ATH9K_BEACON_PERIOD). So to extract interval ATH9K_BEACON_PERIOD is used. Those flags were completely removed. So masking beacon_interval is not required. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 9d75ef0f8f6d2e31ed940b3057a42a25f07076fb Author: Rafał Miłecki Date: Fri May 20 03:27:06 2011 +0200 bcma: host pci: implement block R/W operations Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 505fb019d4924e425bb1024eb603a7bc7fe7fe63 Author: Rafał Miłecki Date: Thu May 19 15:11:27 2011 +0200 b43: bus: add helpers for checking host type Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit d48ae5c826f9af7d8b39867887d48e2a6f47af1f Author: Rafał Miłecki Date: Thu May 19 15:11:26 2011 +0200 b43: use new pointers path to access ssb_device in SSB specific places Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 02a0fbe4dcb4c318d09d97b19e51f48ba6d36ede Author: Rafał Miłecki Date: Thu May 19 15:11:25 2011 +0200 b43: SDIO: use new pointers path to access ssb_device SDIO code is SSB specific, we can safely just use "sdev" Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6ac53692179da165b2cb1e2a122b0ed9dad9b9ad Author: Rafał Miłecki Date: Thu May 19 15:11:24 2011 +0200 b43: LP-PHY: use new pointers path to access ssb_device LP-PHY code is SSB specific, add check for bus type. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5595f119649b3178c03479baa794113b8533158a Author: Mohammed Shafi Shajakhan Date: Thu May 19 18:08:57 2011 +0530 ath9k: mark few functions as static Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 6d79cb4ca3ff212984c1f9751accf2f033163be9 Author: Mohammed Shafi Shajakhan Date: Thu May 19 17:40:46 2011 +0530 ath9k: make ath9k_setpower function as static Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 1de520f4767cb836828d074db533f93d0ca85998 Author: Rafał Miłecki Date: Thu May 19 14:08:22 2011 +0200 bcma: pci: implement interrupts control Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 33e6ef4e82f1de4f9a98a86633412390a322e2e8 Author: Felix Fietkau Date: Thu May 19 12:20:26 2011 +0200 ath9k_hw: remove ath9k_hw_get_desc_link Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit fce041beb03f93c7a771f0b4b6c45bb71ef90901 Author: Felix Fietkau Date: Thu May 19 12:20:25 2011 +0200 ath9k: unify edma and non-edma tx code, improve tx fifo handling EDMA based chips (AR9380+) have 8 Tx FIFO slots, which are used to fix the tx queue start/stop race conditions which have to be worked around for earlier chips by keeping the last descriptor in the queue. The current code stores all frames that do not fit onto the 8 FIFO slots in a separate list. Whenever a FIFO slot is freed up, the next frame (or A-MPDU) from the pending queue gets moved to that slot. This process is not only inefficient, but also unnecessary. The code can be improved visibly by keeping the pending queue fully linked, and moving the contents of the entire queue to a FIFO slot as it becomes available. This patch makes the necessary changes for that and also merges some code that was duplicated for EDMA vs non-EDMA. It changes txq->axq_link to point to the last descriptor instead of the link pointer, so that ath9k_hw_set_desc_link can be used, which works on all chips. With this patch, a small performance increase for non-aggregated traffic was observed on AR9380 based embedded hardware. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit e62ddec94a1e11ab1043b607e20ae0d142069132 Author: Mohammed Shafi Shajakhan Date: Thu May 19 15:05:46 2011 +0530 ath9k: remove redundant if check Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 7882513bacb176ab4aacceefdd035ca9479da4fb Author: Javier Lopez Date: Wed Jun 1 11:26:13 2011 +0200 mac80211_hwsim driver support userspace frame tx/rx This patch adds to mac80211_hwsim the capability to send traffic via userspace. Frame exchange between kernel and user spaces is done through generic netlink communication protocol. A new generic netlink family MAC80211_HWSIM is proposed, this family contains three basic commands HWSIM_CMD_REGISTER, which is the command used to register a new traffic listener, HWSIM_CMD_FRAME, to exchange the frames from kernel to user and vice-versa, and HWSIM_CMD_TX_INFO_FRAME which returns from user all the information about retransmissions, rates, rx signal, and so on. How it works: Once the driver is loaded the MAC80211_HWSIM family will be registered. In the absence of userspace daemon, the driver itselfs implements a perfect wireless medium as it did in the past. When a daemon sends a HWSIM_CMD_REGISTER command, the module stores the application PID, and from this moment all frames will be sent to the registered daemon. The user space application will be in charge of process/forward all frames broadcast by any mac80211_hwsim radio. If the user application is stopped, the kernel module will detect the release of the socket and it will switch back to in-kernel perfect channel simulation. The userspace daemon must be waiting for incoming HWSIM_CMD_FRAME commands sent from kernel, for each HWSIM_CMD_FRAME command the application will try to broadcast this frame to all mac80211_hwsim radios, however the application may decide to forward/drop this frame. In the case of forwarding the frame, a new HWSIM_CMD_FRAME command will be created, all necessary attributes will be populated and the frame will be sent back to the kernel. Also after the frame broadcast phase, a HWSIM_CMD_TX_INFO_FRAME command will be sent from userspace to kernel, this command contains all the information regarding the transmission, such as number of tries, rates, ack signal, etc. You can find the actual implementation of wireless mediumd daemon (wmediumd) at: * Last version tarball: https://github.com/jlopex/cozybit/tarball/master * Or visiting my github tree: https://github.com/jlopex/cozybit/tree Signed-off-by: Javier Lopez Signed-off-by: John W. Linville commit 0f93c79404e1eaa5207f6d8a7aea14119808d382 Author: Gertjan van Wingerde Date: Wed May 18 20:26:04 2011 +0200 rt2x00: Enabled rt35xx device support by default. Now that support for these devices has been added we can enable them by default and remove the Kconfig not on support for these devices to be non-functional. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8f66bbb5248c59b69b521b35e097ffa6cad07f01 Author: Gertjan van Wingerde Date: Wed May 18 20:25:49 2011 +0200 rt2x00: Move rt2800_txdone and rt2800_txdone_entry_check to rt2800usb. These two functions are only used by rt2800usb so they don't have to be in rt2800lib. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 798eefde3097f218849194f1abda1f179a169cc2 Author: Gertjan van Wingerde Date: Wed May 18 20:25:42 2011 +0200 rt2x00: Interface sequence lock doesn't have to disable interrupts. This lock is only used in the TX path and thus in process context. Therefore we can use a much lighter spinlock variant. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 872834dfb38edc6f72cfc783a5ce78f2a9f36ec5 Author: Gertjan van Wingerde Date: Wed May 18 20:25:31 2011 +0200 rt2x00: Add support for RT3572/RT3592/RT3592+Bluetooth combo card (based on an earlier patch submitted by Shiang) Add support for RT3572/RT3592/RT3592+Bluetooth combo card Signed-off-by: Shiang Tu Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8f96e91fa53761fd63dceedac6bbe4b39e5c5072 Author: Gertjan van Wingerde Date: Wed May 18 20:25:18 2011 +0200 rt2x00: Don't disable G0 PA_PE bit in case of BT coexistence. (split off from the earlier RT35xx patch submitted by Shiang) Signed-off-by: Shiang Tu Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 65f31b5e7029e55d4f7020a1d0b0658a50ea73cb Author: Gertjan van Wingerde Date: Wed May 18 20:25:05 2011 +0200 rt2x00: Enable PA_PE bits in TX_PIN_CFG according to active band. (split off from the earlier RT35xx patch submitted by Shiang) There's no point in enabling the PA_PE bits for the bands that we are not active on. Signed-off-by: Shiang Tu Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1bdcd095e39a789135f8638a2ff76f74e3071d46 Author: Rafał Miłecki Date: Wed May 18 11:40:22 2011 +0200 bcma: add IRQ number and pointer to DMA dev Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 24ca39d67968c42d377abc122f6dca635ebcdb79 Author: Rafał Miłecki Date: Wed May 18 02:06:43 2011 +0200 b43: bus: abstract bus and core operations Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 79d2232fed23e8e0d1b11abe2f9b78fb09084506 Author: Rafał Miłecki Date: Wed May 18 02:06:42 2011 +0200 b43: bus: abstract board info Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c244e08c7aa30abea3c29ff17a40f4b0a58a7913 Author: Rafał Miłecki Date: Wed May 18 02:06:41 2011 +0200 b43: bus: abstract chip info Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a18c715e63505850edd2b69ded5373d6d464cd80 Author: Rafał Miłecki Date: Wed May 18 02:06:40 2011 +0200 b43: bus: abstract device structs and irq Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 0581483afe1a6f90f828b36111b05a70c162137d Author: Rafał Miłecki Date: Wed May 18 02:06:39 2011 +0200 b43: bus: abstract SPROM SPROM is another frequently used struct. We decided to share SPROM struct between ssb na bcma as long as we will not need any hacks. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 21d889d433eb962b70ad88d554a4a7658067596f Author: Rafał Miłecki Date: Wed May 18 02:06:38 2011 +0200 b43: bus: abstract 80211 core info Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c0b4c00907c7f611ef328de73967d7913e137df8 Author: Rafał Miłecki Date: Wed May 18 02:06:37 2011 +0200 b43: bus: abstract R/W operations Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 482f05386218a028309a71ad36066ee64b7a820d Author: Rafał Miłecki Date: Wed May 18 02:06:36 2011 +0200 b43: add bus device abstraction layer Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit aa63418aa72e4468838eea457a123057b1c7cd11 Author: Rafał Miłecki Date: Wed May 18 02:06:35 2011 +0200 b43: rename ssb_device variable in ssb specific functions Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 2a826061df67f205636b953f58f8bede2a3f009c Author: Artem Bityutskiy Date: Fri May 20 17:24:34 2011 +0300 UBI: dump stack when switching to R/O mode If we have debugging enabled and switching to R/O mode because of an error - dump the stack to improve UBI error reporting and make the further diagnostics easier to do. Signed-off-by: Artem Bityutskiy commit 01a4110d2b86b05918debf39c50867cbb9598491 Author: Artem Bityutskiy Date: Wed May 18 18:08:05 2011 +0300 UBI: fix oops in error path This patch fixes an oops in the error path of 'ubi_attach_mtd_dev()'. If anything after 'uif_init()' fails, we get an oops in 'cancel_pending()'. The reason is that 'uif_close()' drops the last reference count for 'ubi->dev' and whole 'struct ubi_device' is freed. And then 'ubi_wl_close()'->'cancel_pending()' tries to access the 'ubi' pointer and problems begin. Note, in 'ubi_detach_mtd_dev()' function we get a device reference to work-around this issue. Do the same in the error path of 'ubi_attach_mtd_dev()'. Signed-off-by: Artem Bityutskiy commit cd6d8567a42907d4e7add0b08f9a2d846690fc65 Author: Artem Bityutskiy Date: Wed May 18 16:21:43 2011 +0300 UBI: switch debugging tests knobs to debugfs Kill the UBI 'debug_tsts' module parameter and switch to debugfs. Create per-test mode files there. E.g., to enable bit-flips emulation you may just do: echo 1 > /sys/kernel/debug/ubi/ubi0/tst_emulate_bitflips Signed-off-by: Artem Bityutskiy commit 18073733247dc0c31e07f3a87f3267fe8d7e7022 Author: Artem Bityutskiy Date: Wed May 18 16:38:06 2011 +0300 UBI: make it possible to use struct ubi_device in debug.h Current layout does not allow us to add inline functions to debug.h which use the 'struct ubi_device' object, because it is undefined there. Move '#include "debug.h"' in "ubi.h" down so to make 'struct ubi_device" be defined. Additionally, this makes it possible to remove a bunch of forward declarations in "debug.h". This is a preparation to the next patch. Signed-off-by: Artem Bityutskiy commit 27a0f2a37aa46cb0174decddf8830715e5f1645a Author: Artem Bityutskiy Date: Wed May 18 16:03:23 2011 +0300 UBI: prepare debugging stuff to further debugfs conversion We'll need the 'struct ubi_device *ubi' pointer in every debugging function (to access the ->dbg field), so add this pointer to all the functions implementing UBI debugging test modes like 'ubi_dbg_is_bitflip()' etc. Signed-off-by: Artem Bityutskiy commit 2a734bb8d502b645c061fa329e87c5d651498e68 Author: Artem Bityutskiy Date: Wed May 18 14:53:05 2011 +0300 UBI: use debugfs for the extra checks knobs This patch introduces debugfs support to UBI. All the UBI stuff is kept in the "ubi" debugfs directory, which contains per-UBI device "ubi/ubiX" sub-directories, containing debugging files. This file also creates "ubi/ubiX/chk_gen" and "ubi/ubiX/chk_io" knobs for switching general and I/O extra checks on and off. And it removes the 'debug_chks' UBI module parameters. Signed-off-by: Artem Bityutskiy commit 34b1ef04fc050d171e055f75d6a3384e1323bd38 Author: Somnath Kotur Date: Wed Jun 1 00:33:22 2011 +0000 be2net: Fallback to the older opcode if MCC_CREATE_EXT opcode is not supported on the card Instead of failing the init/probe code in the driver fallback to the older opcode to ensure the driver is loaded thereby enabling users to upgrade the f/w to whatever version is required. Signed-off-by: Somnath Kotur Signed-off-by: David S. Miller commit 5bf74c91d7bf56be47c215e6a314ba42da0b68ad Merge: e11ec90 bb899b8 Author: David S. Miller Date: Tue May 31 20:34:19 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge commit e11ec900cfbea3d8f6a188674ee6fcb65f2a73d6 Merge: e12ca23 948252c Author: David S. Miller Date: Tue May 31 20:30:39 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit d99383b00eba9c6ac3dea462d718b2849012ee03 Author: Artem Bityutskiy Date: Wed May 18 14:47:34 2011 +0300 UBI: change the interface of a debugging check function This is a minor preparational patch which changes the 'paranoid_check_in_wl_tree()' function interface by adding the 'ubi' parameter which will be needed there in the next patch. And while on it, add "const" qualifier to the 'ubi' parameter of the 'paranoid_check_in_pq()' function. Signed-off-by: Artem Bityutskiy commit 55ba41202866f4e135c39d0bb88f128b96ba2167 Author: Jack Steiner Date: Fri May 27 09:52:56 2011 -0500 x86, UV: Clean up uv_mmrs.h No code changes. Reformat definitions to make it more readable. I fixed alignment of comments in the structure definitions. Also aligned comments and most field definitions & values. Also sorted the defines for the SHIFT & MASK values for each MMR. This make the file visually much more acceptable. Some of the symbol names are still quite long. The file is based on post-processing of verilog definitions that are used for the node controller chip design. Although some symbol names are not what I would chose, I would like to maintain compatibility with the names used by the chip designers. We have a number of cross-reference utilities & having common names is important. Signed-off-by: Jack Steiner Link: http://lkml.kernel.org/r/20110527145256.GA31224@sgi.com Signed-off-by: Ingo Molnar -- arch/x86/include/asm/uv/uv_mmrs.h | 2873 +++++++++++++++++++++----------------- 1 file changed, 1600 insertions(+), 1273 deletions(-) commit bb899b89f46eb1fd6f62a4c360f6511b9714e479 Author: Sven Eckelmann Date: Tue May 10 11:22:37 2011 +0200 batman-adv: Ensure that we really have route changes in update_route The debug output of update_route has tests for "route deleted" and "route added". All other situations are handled as "route changed". This is not true because neigh_node and curr_router could be both NULL. The function is not called in this situation, but the code might be interpreted wrong when reading it without this test. Signed-off-by: Sven Eckelmann commit 402196724816875d382099bedb09fdf1f57845bc Author: Antonio Quartulli Date: Wed May 18 16:47:23 2011 +0200 batman-adv: a multiline comment should precede the variable it is describing This comment has been wrongly put after the variable it refers to and was also bad indented Signed-off-by: Antonio Quartulli Acked-by: Sven Eckelmann Signed-off-by: Sven Eckelmann commit 44e92bc8d6366ebe477cab23199b9f50328d326a Author: Antonio Quartulli Date: Sat May 21 01:33:07 2011 +0200 batman-adv: use is_broadcast_ether_addr() instead of compare_eth(.., brd_addr) Instead of comparing mac addresses with the broadcast address by means of compare_eth(), the is_broadcast_ether_addr() kernel function has to be used. Signed-off-by: Antonio Quartulli Acked-by: Sven Eckelmann Signed-off-by: Sven Eckelmann commit 0bb857511b6a1572ad15dfd7f23d79587d7e2781 Author: Sven Eckelmann Date: Thu May 19 21:43:08 2011 +0200 batman-adv: Check type of x and y in seq_(before|after) seq_before and seq_after depend on the fact that both sequence numbers have the same type and thus the same bitwidth. We can ensure that by compile time checking using a compare between the pointer to the temporary buffers which were created using the typeof of both parameters. For example gcc would create a warning like "warning: comparison of distinct pointer types lacks a cast". Signed-off-by: Sven Eckelmann commit f5d33d37786af139cecde5af831d64a671bb756b Author: Antonio Quartulli Date: Wed May 18 09:20:50 2011 +0200 batman-adv: move smallest_signed_int(), seq_before() and seq_after() into main.h smallest_signed_int(), seq_before() and seq_after() are very useful functions that help to handle comparisons between sequence numbers. However they were only defined in vis.c. With this patch every batman-adv function will be able to use them. Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit 728cbc6ac1eef89660875c70a602c1a0ba8df4ff Author: Sven Eckelmann Date: Sun May 15 00:50:21 2011 +0200 batman-adv: Use rcu_dereference_protected by update-side Usually rcu_dereference isn't necessary in situations were the RCU-protected data structure cannot change, but sparse and lockdep still need a similar functionality for analysis. rcu_dereference_protected implements the reduced version which should be used to support the dynamic and static analysis. Signed-off-by: Sven Eckelmann commit 704509b8d44886cebfbaff1a9813c35dfa986954 Author: Sven Eckelmann Date: Sat May 14 23:14:54 2011 +0200 batman-adv: Calculate sizeof using variable insead of types Documentation/CodingStyle recommends to use the form p = kmalloc(sizeof(*p), ...); to calculate the size of a struct and not the version where the struct name is spelled out to prevent bugs when the type of p changes. This also seems appropriate for manipulation of buffers when they are directly associated with p. Signed-off-by: Sven Eckelmann commit 958ca5985604a6f13387d32de489365df816558b Author: Sven Eckelmann Date: Sat May 14 23:14:53 2011 +0200 batman-adv: Remove casts from type x to type x Casting from pointer like 'struct orig_node*' to 'struct orig_node *' doesn't provide any additional functionality and can be savely removed. Signed-off-by: Sven Eckelmann commit 5f718c20076f4b47c3dc0f1277aef9966928089c Author: Sven Eckelmann Date: Sat May 14 23:14:52 2011 +0200 batman-adv: Remove explicit casts cast from void* for store It is not necessary to cast a void* to the pointer type when we just store it and don't want to do pointer arithmetic before the actual assignment. Signed-off-by: Sven Eckelmann commit 37a4065ec79dcf172c44cb2741c1b9983ecfc492 Author: Sven Eckelmann Date: Sat May 14 23:14:51 2011 +0200 batman-adv: Only use int up and down gw representation It is not save to provide memory for an int and then cast the pointer to it to long*. It is better to standardize the up and down gateway bandwith representation to simple ints and only use long inside conversation routines. Signed-off-by: Sven Eckelmann commit 747e4221a03cde62402b614ca1f8e961b8416130 Author: Sven Eckelmann Date: Sat May 14 23:14:50 2011 +0200 batman-adv: Add const type qualifier for pointers batman-adv uses pointers which are marked as const and should not violate that type qualifier by passing it to functions which force a cast to the non-const version. Signed-off-by: Sven Eckelmann commit 38e3c5f0dae7a3bbb32c3b2bb28c3f2557d40fe9 Author: Sven Eckelmann Date: Sat May 14 23:14:49 2011 +0200 batman-adv: Don't do pointer arithmetic with void* The size of void is currently set by gcc to 1, but is not well defined in general. Therefore it is more advisable to cast it to char* before doing pointer arithmetic. Signed-off-by: Sven Eckelmann commit 16f14b45c48f4f1be5857103ee3054114604d98c Author: Sven Eckelmann Date: Sat May 14 23:14:48 2011 +0200 batman-adv: Remove comparising < 0 for unsigned type Signed-off-by: Sven Eckelmann commit f678bc9883bb28d9d20db01bc0de53efbacc21c5 Author: Sven Eckelmann Date: Sat May 14 23:14:47 2011 +0200 batman-adv: Print jiffies as unsigned long Signed-off-by: Sven Eckelmann commit d3a547be40008be590c169ff2d5d73cc7fada71d Author: Sven Eckelmann Date: Sat May 14 23:14:46 2011 +0200 batman-adv: Annotate functions with format strings Signed-off-by: Sven Eckelmann commit 1b38bed562317701760b84cad12749985ceffb8b Author: Sven Eckelmann Date: Tue May 10 11:17:40 2011 +0200 batman-adv: Use kzalloc rather than kmalloc followed by memset with 0 Signed-off-by: Sven Eckelmann commit e2cbc11c0e1225bd5fe183a967fc80df3db10745 Author: Antonio Quartulli Date: Sun May 8 20:52:57 2011 +0200 batman-adv: move neigh_node->if_incoming->if_status check in find_router() Every time that find_router() is invoked, if_status has to be compared with IF_ACTIVE. Moving this comparison inside find_router() will avoid to write it each time. Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit c4d017f21328c269deba3c7acde873204fe595b5 Author: Joe Perches Date: Sat May 28 10:36:22 2011 -0700 x86: Convert vmalloc()+memset() to vzalloc() Signed-off-by: Joe Perches Cc: Jiri Kosina Link: http://lkml.kernel.org/r/10e35243fda0b8739c89ac32a7bdf348ec4752e1.1306603968.git.joe@perches.com Signed-off-by: Ingo Molnar commit 64ce312618ef0e11d88def80effcefd1b59fdb1e Author: Peter Zijlstra Date: Sat Apr 9 21:17:48 2011 +0200 perf: De-schedule a task context when removing the last event Since perf_install_in_context() will now install a context when we add the first event, we can de-schedule the context when the last event is removed. Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192142.090431763@chello.nl Signed-off-by: Ingo Molnar commit e03a9a55b4e45377af9ca3d464135f9ea280b8f8 Author: Peter Zijlstra Date: Sat Apr 9 21:17:47 2011 +0200 perf: Change close() semantics for group events In order to always call list_del_event() on the correct cpu if the event is part of an active context and avoid having to do two IPIs, change the close() semantics slightly. The current perf_event_disable() call would disable a whole group if the event that's being closed is the group leader, whereas the new code keeps the group siblings enabled. People should not rely on this behaviour and I don't think they do, but in case we find they do, the fix is easy and we have to take the double IPI cost. Signed-off-by: Peter Zijlstra Cc: Vince Weaver Link: http://lkml.kernel.org/r/20110409192142.038377551@chello.nl Signed-off-by: Ingo Molnar commit dce5855bba5df9e87bb04584d505c1f1b103c652 Author: Peter Zijlstra Date: Sat Apr 9 21:17:46 2011 +0200 perf: Collect the schedule-in rules in one function This was scattered out - refactor it into a single function. No change in functionality. Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192141.979862055@chello.nl Signed-off-by: Ingo Molnar commit db24d33e08b88e990991760a44d72006a5dc6102 Author: Peter Zijlstra Date: Sat Apr 9 21:17:45 2011 +0200 perf: Change and simplify ctx::is_active semantics Instead of tracking if a context is active or not, track which events of the context are active. By making it a bitmask of EVENT_PINNED|EVENT_FLEXIBLE we can simplify some of the scheduling routines since it can avoid adding events that are already active. Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192141.930282378@chello.nl Signed-off-by: Ingo Molnar commit 2c29ef0fef8aaff1f91263fc75c749d659da6972 Author: Peter Zijlstra Date: Sat Apr 9 21:17:44 2011 +0200 perf: Simplify and fix __perf_install_in_context() Currently __perf_install_in_context() will try and schedule in the event irrespective of our event scheduling rules, that is, we try to schedule CPU-pinned, TASK-pinned, CPU-flexible, TASK-flexible, but when creating a new event we simply try and schedule it on top of whatever is already on the PMU, this can lead to errors for pinned events. Therefore, simplify things and simply schedule everything out, add the event to the corresponding context and schedule everything back in. This also nicely handles the case where with __ARCH_WANT_INTERRUPTS_ON_CTXSW the IPI can come right in the middle of schedule, before we managed to call perf_event_task_sched_in(). Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192141.870894224@chello.nl Signed-off-by: Ingo Molnar commit 04dc2dbbfe1c6f81b996d4dab255da75f9efbb4a Author: Peter Zijlstra Date: Sat Apr 9 21:17:43 2011 +0200 perf: Remove task_ctx_sched_in() Make task_ctx_sched_*() imply EVENT_ALL, since anything less will not actually have scheduled the task in/out at all. Since there's no site that schedules all of a task in (due to the interleave with flexible cpuctx) we can remove this function. Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192141.817893268@chello.nl Signed-off-by: Ingo Molnar commit facc43071cc0d4821c176d7d34570714eb348df9 Author: Peter Zijlstra Date: Sat Apr 9 21:17:42 2011 +0200 perf: Optimize event scheduling locking Currently we only hold one ctx->lock at a time, which results in us flipping back and forth between cpuctx->ctx.lock and task_ctx->lock. Avoid this and gain large atomic regions by holding both locks. We nest the task lock inside the cpu lock, since with task scheduling we might have to change task ctx while holding the cpu ctx lock. Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192141.769881865@chello.nl Signed-off-by: Ingo Molnar commit 9137fb28ac74d05eb66d1d8e6778eaa14e6fed43 Author: Peter Zijlstra Date: Sat Apr 9 21:17:41 2011 +0200 perf: Clean up 'ctx' reference counting Small cleanup to how we refcount in find_get_context(), this also allows us to use put_ctx() to free things instead of using kfree(). Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192141.719340481@chello.nl Signed-off-by: Ingo Molnar commit 075e0b00857e166dcc3e39037a1fc5a90acac709 Author: Peter Zijlstra Date: Sat Apr 9 21:17:40 2011 +0200 perf: Optimize ctx_sched_out() Oleg noted that ctx_sched_out() disables the PMU even though it might not actually do something, avoid needless PMU-disabling. Reported-by: Oleg Nesterov Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110409192141.665385503@chello.nl Signed-off-by: Ingo Molnar commit 9c5a2ba70251ecaab18c7a83e38b3c620223476c Author: Tejun Heo Date: Tue Apr 5 18:01:44 2011 +0200 workqueue: separate out drain_workqueue() from destroy_workqueue() There are users which want to drain workqueues without destroying it. Separate out drain functionality from destroy_workqueue() into drain_workqueue() and make it accessible to workqueue users. To guarantee forward-progress, only chain queueing is allowed while drain is in progress. If a new work item which isn't chained from the running or pending work items is queued while draining is in progress, WARN_ON_ONCE() is triggered. Signed-off-by: Tejun Heo Cc: James Bottomley commit 2543a87108d2af7d48a43b3d6685c2b1ea279e36 Author: Amerigo Wang Date: Wed Apr 6 10:43:11 2011 +0200 workqueue: remove cancel_rearming_delayed_work[queue]() cancel_rearming_delayed_work() and cancel_rearming_delayed_workqueue() can be removed now. Signed-off-by: WANG Cong Signed-off-by: Tejun Heo commit 0ef5bf1cd3bd2e3eacb11fca80efe3674927ed1a Author: Martin Schwidefsky Date: Tue May 10 10:10:43 2011 +0200 ftrace/s390: mcount offset calculation Do the mcount offset adjustment in the recordmcount.pl/recordmcount.[ch] at compile time and not in ftrace_call_adjust at run time. Signed-off-by: Martin Schwidefsky Signed-off-by: Steven Rostedt commit 414eb44dda6b9893b212b2306ccb423ab01eef8e Author: Martin Schwidefsky Date: Tue May 10 10:10:41 2011 +0200 ftrace/x86: mcount offset calculation Do the mcount offset adjustment in the recordmcount.pl/recordmcount.[ch] at compile time and not in ftrace_call_adjust at run time. Signed-off-by: Martin Schwidefsky Signed-off-by: Steven Rostedt commit f215efc50a3c1430735e89915fae188f927d8773 Author: Martin Schwidefsky Date: Tue May 10 10:10:40 2011 +0200 ftrace/recordmcount: mcount address adjustment Introduce mcount_adjust{,_32,_64} to the C implementation of recordmcount analog to $mcount_adjust in the perl script. The adjustment is added to the address of the relocations against the mcount symbol. If this adjustment is done by recordmcount at compile time the ftrace_call_adjust function can be turned into a nop. Cc: John Reiser Signed-off-by: Martin Schwidefsky Signed-off-by: Steven Rostedt commit 0286d2d12d78ea8aaf0722473dd20cb609a99709 Author: Steven Rostedt Date: Wed Apr 20 21:13:06 2011 -0400 ftrace/recordmcount: Add helper function get_sym_str_and_relp() The code to get the symbol, string, and relp pointers in the two functions sift_rel_mcount() and nop_mcount() are identical and also non-trivial. Moving this duplicate code into a single helper function makes the code easier to read and more maintainable. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023739.723658553@goodmis.org Signed-off-by: Steven Rostedt commit f6d4f08194d77c86fe3af6e2e4b9184347014926 Author: Steven Rostedt Date: Wed Apr 20 20:47:34 2011 -0400 ftrace/recordmcount: Remove duplicate code to find mcount symbol The code in sift_rel_mcount() and nop_mcount() to get the mcount symbol number is identical. Replace the two locations with a call to a function that does the work. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023739.488093407@goodmis.org Signed-off-by: Steven Rostedt commit 406a733db0052fed66d17008430b6047ecea7b92 Author: Steven Rostedt Date: Wed Apr 13 16:43:29 2011 -0400 ftrace/x86: Do not trace .discard.text section The section called .discard.text has tracing attached to it and is currently ignored by ftrace. But it does include a call to the mcount stub. Adding a notrace to the code keeps gcc from adding the useless mcount caller to it. Link: http://lkml.kernel.org/r/20110421023739.243651696@goodmis.org Signed-off-by: Steven Rostedt commit 5f9b93c39239507d2af03f79c8b0df9ebb9be768 Author: Steven Rostedt Date: Tue Apr 12 19:06:39 2011 -0400 ftrace: Avoid recording mcount on .init sections directly The init and exit sections should not be traced and adding a call to mcount to them is a waste of text and instruction cache. Have the macro section attributes include notrace to ignore these functions for tracing from the build. Link: http://lkml.kernel.org/r/20110421023738.953028219@goodmis.org Signed-off-by: Steven Rostedt commit a3a8350ab2f588f3a7a08dc86658bf90773f9a52 Author: Steven Rostedt Date: Tue Apr 12 18:59:10 2011 -0400 kbuild/recordmcount: Add RECORDMCOUNT_WARN to warn about mcount callers When mcount is called in a section that ftrace will not modify it into a nop, we want to warn about this. But not warn about this always. Now if the user builds the kernel with the option RECORDMCOUNT_WARN=1 then the build will warn about mcount callers that are ignored and will just waste execution time. Acked-by: Michal Marek Cc: linux-kbuild@vger.kernel.org Link: http://lkml.kernel.org/r/20110421023738.714956282@goodmis.org Signed-off-by: Steven Rostedt commit 06fd6f6301cce9af4a03dd9e40bfca167e931ff1 Author: Steven Rostedt Date: Tue Apr 12 18:53:25 2011 -0400 ftrace/recordmcount: Add warning logic to warn on mcount not recorded There's some sections that should not have mcount recorded and should not have modifications to the that code. But currently they waste some time by calling mcount anyway (which simply returns). As the real answer should be to either whitelist the section or have gcc ignore it fully. This change adds a option to recordmcount to warn when it finds a section that is ignored by ftrace but still contains mcount callers. This is not on by default as developers may not know if the section should be completely ignored or added to the whitelist. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023738.476989377@goodmis.org Signed-off-by: Steven Rostedt commit 68eb1d2e5370c6da4c871c80fdccbe315dc2f3c1 Author: Steven Rostedt Date: Fri Apr 8 03:58:48 2011 -0400 ftrace/recordmcount: Make ignored mcount calls into nops at compile time There are sections that are ignored by ftrace for the function tracing because the text is in a section that can be removed without notice. The mcount calls in these sections are ignored and ftrace never sees them. The downside of this is that the functions in these sections still call mcount. Although the mcount function is defined in assembly simply as a return, this added overhead is unnecessary. The solution is to convert these callers into nops at compile time. A better solution is to add 'notrace' to the section markers, but as new sections come up all the time, it would be nice that they are delt with when they are created. Later patches will deal with finding these sections and doing the proper solution. Thanks to H. Peter Anvin for giving me the right nops to use for x86. Cc: "H. Peter Anvin" Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023738.237101176@goodmis.org Signed-off-by: Steven Rostedt commit df2ccb69454d022ce99e3a3b7ee7f9fb4a4e9563 Author: Steven Rostedt Date: Wed Apr 13 13:31:08 2011 -0400 ftrace/recordmcount: Modify only executable sections PROGBITS is not enough to determine if the section should be modified or not. Only process sections that are marked as executable. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023737.991485123@goodmis.org Signed-off-by: Steven Rostedt commit bde66c3f45d777082a0df01e64870f47ba2a5055 Author: Steven Rostedt Date: Wed Apr 6 14:10:22 2011 -0400 ftrace: Add .kprobe.text section to whitelist for recordmcount.c The .kprobe.text section is safe to modify mcount to nop and tracing. Add it to the whitelist in recordmcount.c and recordmcount.pl. Cc: John Reiser Cc: Masami Hiramatsu Link: http://lkml.kernel.org/r/20110421023737.743350547@goodmis.org Signed-off-by: Steven Rostedt commit d7e8623ae9cf93a9b517336085a86cabb014ea77 Author: Steven Rostedt Date: Wed Apr 6 13:32:24 2011 -0400 ftrace/trivial: Clean up record mcount to use Linux switch style The Linux style for switch statements is: switch (var) { case x: [...] break; } Not: switch (var) { case x: { [...] } break; Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023737.523968644@goodmis.org Signed-off-by: Steven Rostedt commit c6fece27dfa46abc8c4b87d94a8c2f8cd6c5d8b1 Author: Steven Rostedt Date: Wed Apr 6 13:21:17 2011 -0400 ftrace/trivial: Clean up recordmcount.c to use Linux style comparisons The Linux ftrace subsystem style for comparing is: var == 1 var > 0 and not: 1 == var 0 < var It is considered that Linux developers are smart enough not to do the if (var = 1) mistake. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023737.290712238@goodmis.org Signed-off-by: Steven Rostedt commit 44e6a2069122dbec29d25b8ced3f59f5626a97d7 Author: Michal Marek Date: Tue May 17 15:36:46 2011 +0200 ftrace/kbuild: Add recordmcount files to force full build Modifications to recordmcount must be performed on all object files to stay consistent with what the kernel code may expect. Add the recordmcount files to the main dependencies to make sure any change to them causes a full recompile. Signed-off-by: Michal Marek Link: http://lkml.kernel.org/r/20110517133646.GP13293@sepie.suse.cz Signed-off-by: Steven Rostedt commit a7fed7620b6eeaba98a558df46bb50a31828b462 Author: Jan Engelhardt Date: Thu Apr 21 11:05:14 2011 +0200 netfilter: xt_CT: provide info on why a rule was rejected Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit e69c634190dc724ef2d845ace8d783031d3e492e Author: Steven Rostedt Date: Mon Dec 6 17:10:31 2010 -0500 sched: Remove unlikely() from ttwu_post_activation The unlikely() used in ttwu_post_activation() tests if the rq->idle_stamp is set. But since this is for a wakeup, and wakeups happen when tasks block on IO, and blocking tasks on IO may put the system into idle, this can actually be a common occurence. Running the annotated branch profiler on an average desktop running firefox, evolution, xchat and distcc, the report shows: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 34884862 146110926 80 ttwu_post_activation sched.c 2309 80% of the time, this unlikely is incorrect. Best not to assume what the result is, and just remove the branch annotation. Cc: Peter Zijlstra Signed-off-by: Steven Rostedt commit 63f01241176d7cbc976385aec32f0a209b0bc36a Author: Steven Rostedt Date: Mon Dec 6 14:48:10 2010 -0500 sched: Remove unlikely() from rt_policy() in sched.c The rt_policy() has an unlikely() that the policy it is checking is of RT priority (SCHED_FIFO or SCHED_RR). According to the annotate branch profiler it is incorrect most of the time: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 36667 654674 94 rt_policy sched.c 126 This makes sense because the rt_policy() is used by the sched_set_scheduler() and nice(). Although users may use sys_nice a bit, all RT users use the sched_set_scheduler() to set their RT priority, including kernel threads. The above numbers were from a normal desktop computer running firefox, evolution, xchat and was part of a distcc compile farm. Cc: Peter Zijlstra Signed-off-by: Steven Rostedt commit 8e54a2c036d8c47195f094af1628834f4c55844a Author: Steven Rostedt Date: Mon Dec 6 11:28:30 2010 -0500 sched: Change pick_next_task_rt from unlikely to likely The if (unlikely(!rt_rq->rt_nr_running)) test in pick_next_task_rt() tests if there is another rt task ready to run. If so, then pick it. In most systems, only one RT task runs at a time most of the time. Running the branch unlikely annotator profiler on a system doing average work "running firefox, evolution, xchat, distcc builds, etc", it showed the following: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 324344 135104992 99 _pick_next_task_rt sched_rt.c 1064 99% of the time the condition is true. When an RT task schedules out, it is unlikely that another RT task is waiting to run on that same run queue. Simply remove the unlikely() condition. Acked-by: Gregory Haskins Cc:Peter Zijlstra Signed-off-by: Steven Rostedt commit 33c3d6c61debcc0d295fe65521cfbc45409936c7 Author: Yong Zhang Date: Tue Feb 9 14:43:59 2010 -0500 sched: Cleanup pre_schedule_rt Since [commit 9a897c5a: sched: RT-balance, replace hooks with pre/post schedule and wakeup methods] we must call pre_schedule_rt if prev is rt task. So condition rt_task(prev) is always true and the 'unlikely' declaration is simply incorrect. Signed-off-by: Yong Zhang Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Rusty Russell Signed-off-by: Steven Rostedt