Push to branch refs/heads/master: 724e6d3fe8003c3f60bf404bf22e4e331327c596 --> 86a705267a2a502a3d62ef0797e449677b25835f
Documentation/filesystems/proc.txt | 3 +- Documentation/filesystems/tmpfs.txt | 6 +- Documentation/hwmon/ltc4245 | 4 +- Documentation/i2c/busses/i2c-i801 | 3 +- Documentation/i2c/instantiating-devices | 2 +- Documentation/kernel-parameters.txt | 16 + Documentation/laptops/thinkpad-acpi.txt | 4 + Documentation/networking/ip-sysctl.txt | 8 +- Documentation/stable_kernel_rules.txt | 12 +- MAINTAINERS | 22 +- Makefile | 2 +- arch/Kconfig | 2 - arch/alpha/kernel/osf_sys.c | 11 +- arch/arm/boot/compressed/head.S | 52 +- arch/arm/boot/compressed/vmlinux.lds.in | 3 + arch/arm/common/sa1111.c | 9 +- arch/arm/include/asm/assembler.h | 2 +- arch/arm/include/asm/cacheflush.h | 3 +- arch/arm/kernel/kprobes-decode.c | 5 +- arch/arm/kernel/setup.c | 1 + arch/arm/kernel/signal.c | 4 +- arch/arm/kernel/sys_oabi-compat.c | 2 +- arch/arm/lib/findbit.S | 6 +- arch/arm/mach-davinci/board-da850-evm.c | 28 + arch/arm/mach-davinci/board-dm365-evm.c | 4 +- arch/arm/mach-gemini/gpio.c | 4 +- arch/arm/mach-omap2/board-rx51-peripherals.c | 17 +- arch/arm/mach-omap2/mux.c | 12 +- arch/arm/mach-pxa/cm-x300.c | 8 +- arch/arm/mach-pxa/include/mach/colibri.h | 1 + arch/arm/mach-realview/Kconfig | 2 + arch/arm/mach-realview/include/mach/barriers.h | 8 + arch/arm/mm/alignment.c | 3 + arch/arm/mm/cache-v6.S | 1 + arch/arm/mm/cache-v7.S | 2 + arch/arm/mm/copypage-feroceon.c | 4 +- arch/arm/mm/copypage-v4wb.c | 4 +- arch/arm/mm/copypage-v4wt.c | 4 +- arch/arm/mm/copypage-xsc3.c | 4 +- arch/arm/mm/fault.c | 3 + arch/arm/mm/init.c | 6 +- arch/arm/plat-mxc/include/mach/iomux-v3.h | 10 +- arch/arm/tools/mach-types | 46 +- arch/arm/vfp/vfphw.S | 2 +- arch/blackfin/include/asm/cache.h | 2 + arch/frv/include/asm/cache.h | 2 + arch/ia64/include/asm/acpi.h | 1 + arch/ia64/include/asm/compat.h | 2 +- arch/ia64/include/asm/elf.h | 4 +- arch/ia64/kernel/fsys.S | 30 +- arch/ia64/kernel/mca.c | 3 +- arch/ia64/kvm/kvm-ia64.c | 9 +- arch/ia64/mm/tlb.c | 2 +- arch/ia64/sn/kernel/setup.c | 2 +- arch/ia64/sn/pci/tioca_provider.c | 2 +- arch/m68k/include/asm/cache.h | 2 + arch/m68k/mm/motorola.c | 2 + arch/microblaze/include/asm/io.h | 2 +- arch/microblaze/kernel/cpu/cache.c | 27 +- arch/mips/bcm47xx/prom.c | 8 + arch/mips/include/asm/compat.h | 2 +- arch/mips/include/asm/mach-sibyte/war.h | 6 +- arch/mips/include/asm/mipsregs.h | 9 +- arch/mips/math-emu/cp1emu.c | 15 +- arch/mips/mm/highmem.c | 1 + arch/mips/sibyte/sb1250/setup.c | 15 + arch/mn10300/include/asm/cache.h | 2 + arch/parisc/Kconfig | 1 - arch/parisc/include/asm/compat.h | 2 +- arch/parisc/kernel/irq.c | 2 +- arch/parisc/kernel/pci.c | 7 +- arch/parisc/math-emu/decode_exc.c | 1 + arch/parisc/mm/init.c | 4 +- arch/powerpc/include/asm/compat.h | 2 +- arch/powerpc/include/asm/cpm.h | 24 + arch/powerpc/include/asm/hvcall.h | 1 + arch/powerpc/include/asm/hw_irq.h | 38 - arch/powerpc/include/asm/reg.h | 1 + arch/powerpc/kernel/asm-offsets.c | 1 - arch/powerpc/kernel/cpu_setup_6xx.S | 40 +- arch/powerpc/kernel/crash.c | 38 +- arch/powerpc/kernel/entry_64.S | 9 - arch/powerpc/kernel/head_64.S | 11 + arch/powerpc/kernel/irq.c | 11 +- arch/powerpc/kernel/machine_kexec_64.c | 25 + arch/powerpc/kernel/pci_of_scan.c | 2 + arch/powerpc/kernel/perf_event.c | 32 +- arch/powerpc/kernel/ppc970-pmu.c | 2 + arch/powerpc/kernel/prom_init.c | 6 +- arch/powerpc/kernel/rtas_flash.c | 39 +- arch/powerpc/kernel/setup_64.c | 17 +- arch/powerpc/kernel/time.c | 60 +- arch/powerpc/kvm/book3s.c | 15 +- arch/powerpc/kvm/booke.c | 15 +- arch/powerpc/kvm/powerpc.c | 3 +- arch/powerpc/lib/string.S | 4 +- arch/powerpc/mm/fsl_booke_mmu.c | 5 - arch/powerpc/oprofile/op_model_cell.c | 2 +- arch/powerpc/oprofile/op_model_power4.c | 24 +- arch/powerpc/platforms/85xx/mpc85xx_mds.c | 3 +- arch/powerpc/platforms/85xx/smp.c | 21 +- arch/powerpc/platforms/pseries/hotplug-cpu.c | 72 +- arch/powerpc/platforms/pseries/hvCall.S | 38 + arch/powerpc/platforms/pseries/hvconsole.c | 2 +- arch/powerpc/platforms/pseries/lpar.c | 72 +- arch/powerpc/platforms/pseries/offline_states.h | 23 +- arch/powerpc/platforms/pseries/plpar_wrappers.h | 26 + arch/powerpc/platforms/pseries/smp.c | 28 + arch/powerpc/sysdev/fsl_rio.c | 1 - arch/powerpc/sysdev/micropatch.c | 12 +- arch/s390/include/asm/compat.h | 2 +- arch/s390/include/asm/processor.h | 5 - arch/s390/include/asm/vdso.h | 2 +- arch/s390/kernel/ptrace.c | 5 +- arch/s390/kernel/traps.c | 37 - arch/s390/kernel/vtime.c | 19 + arch/s390/kvm/kvm-s390.c | 18 +- arch/s390/mm/vmem.c | 11 +- arch/sh/boot/compressed/misc.c | 2 +- arch/sh/include/asm/elf.h | 6 +- arch/sh/kernel/ptrace_64.c | 11 +- arch/sh/kernel/signal_64.c | 4 +- arch/sh/kernel/smp.c | 1 + arch/sparc/include/asm/compat.h | 2 +- arch/sparc/include/asm/irqflags_64.h | 23 +- arch/sparc/include/asm/spinlock_32.h | 11 +- arch/sparc/include/asm/spinlock_64.h | 6 - arch/sparc/include/asm/stat.h | 4 +- arch/sparc/include/asm/thread_info_64.h | 2 +- arch/sparc/kernel/kstack.h | 4 + arch/sparc/kernel/of_device_32.c | 2 +- arch/sparc/kernel/pci.c | 7 + arch/sparc/kernel/pci_common.c | 11 +- arch/sparc/kernel/pcic.c | 4 +- arch/sparc/kernel/perf_event.c | 4 +- arch/sparc/kernel/ptrace_32.c | 4 + arch/sparc/kernel/ptrace_64.c | 4 + arch/sparc/kernel/rtrap_64.S | 12 +- arch/sparc/kernel/traps_64.c | 26 +- arch/sparc/kernel/tsb.S | 6 +- arch/sparc/kernel/unaligned_64.c | 6 +- arch/sparc/prom/p1275.c | 12 +- arch/um/drivers/ubd_kern.c | 9 +- arch/um/kernel/dyn.lds.S | 14 +- arch/um/kernel/uml.lds.S | 19 +- arch/um/os-Linux/mem.c | 1 + arch/um/os-Linux/time.c | 2 +- arch/um/sys-x86_64/Makefile | 3 +- arch/x86/Kconfig | 4 +- arch/x86/Kconfig.cpu | 2 +- arch/x86/ia32/ia32_aout.c | 1 - arch/x86/ia32/ia32entry.S | 22 +- arch/x86/include/asm/acpi.h | 1 + arch/x86/include/asm/amd_iommu_proto.h | 6 + arch/x86/include/asm/amd_iommu_types.h | 12 + arch/x86/include/asm/apicdef.h | 1 + arch/x86/include/asm/compat.h | 2 +- arch/x86/include/asm/cpufeature.h | 2 +- arch/x86/include/asm/elf.h | 5 +- arch/x86/include/asm/fixmap.h | 6 +- arch/x86/include/asm/io.h | 1 + arch/x86/include/asm/io_apic.h | 1 + arch/x86/include/asm/k8.h | 5 + arch/x86/include/asm/kvm_host.h | 3 + arch/x86/include/asm/mmu_context.h | 5 +- arch/x86/include/asm/msr-index.h | 12 +- arch/x86/include/asm/pgalloc.h | 5 + arch/x86/include/asm/pgtable-3level.h | 11 +- arch/x86/include/asm/pgtable_32.h | 1 + arch/x86/include/asm/processor.h | 21 + arch/x86/include/asm/pvclock.h | 1 + arch/x86/include/asm/rwsem.h | 81 ++- arch/x86/include/asm/smp.h | 18 +- arch/x86/include/asm/smpboot_hooks.h | 2 +- arch/x86/include/asm/suspend_32.h | 2 + arch/x86/include/asm/suspend_64.h | 2 + arch/x86/include/asm/system.h | 2 +- arch/x86/include/asm/trampoline.h | 5 +- arch/x86/include/asm/uaccess.h | 2 +- arch/x86/include/asm/uv/uv_hub.h | 3 +- arch/x86/include/asm/vmx.h | 1 + arch/x86/kernel/Makefile | 2 + arch/x86/kernel/acpi/boot.c | 31 +- arch/x86/kernel/acpi/cstate.c | 9 + arch/x86/kernel/acpi/sleep.c | 2 - arch/x86/kernel/amd_iommu.c | 76 +- arch/x86/kernel/amd_iommu_init.c | 100 ++- arch/x86/kernel/aperture_64.c | 15 +- arch/x86/kernel/apic/apic.c | 12 +- arch/x86/kernel/apic/io_apic.c | 85 ++- arch/x86/kernel/apic/probe_64.c | 7 - arch/x86/kernel/apic/x2apic_uv_x.c | 1 - arch/x86/kernel/cpu/amd.c | 97 ++- arch/x86/kernel/cpu/common.c | 4 +- arch/x86/kernel/cpu/cpu.h | 1 + arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | 1 + arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 3 +- arch/x86/kernel/cpu/intel.c | 25 +- arch/x86/kernel/cpu/intel_cacheinfo.c | 254 ++++--- arch/x86/kernel/cpu/mcheck/mce_amd.c | 10 +- arch/x86/kernel/cpu/mcheck/therm_throt.c | 12 +- arch/x86/kernel/cpu/mtrr/cleanup.c | 2 +- arch/x86/kernel/cpu/mtrr/main.c | 30 +- arch/x86/kernel/cpu/perf_event.c | 118 ++- arch/x86/kernel/crash.c | 6 - arch/x86/kernel/crash_dump_64.c | 3 +- arch/x86/kernel/dumpstack_64.c | 10 +- arch/x86/kernel/e820.c | 10 +- arch/x86/kernel/early-quirks.c | 21 +- arch/x86/kernel/entry_64.S | 2 +- arch/x86/kernel/head_32.S | 8 +- arch/x86/kernel/hpet.c | 51 +- arch/x86/kernel/hw_breakpoint.c | 39 +- arch/x86/kernel/k8.c | 14 + arch/x86/kernel/kgdb.c | 2 +- arch/x86/kernel/kprobes.c | 4 +- arch/x86/kernel/mpparse.c | 4 +- arch/x86/kernel/olpc.c | 5 +- arch/x86/kernel/pci-calgary_64.c | 17 +- arch/x86/kernel/pci-gart_64.c | 14 +- arch/x86/kernel/process.c | 21 +- arch/x86/kernel/process_64.c | 5 +- arch/x86/kernel/ptrace.c | 43 +- arch/x86/kernel/pvclock.c | 29 + arch/x86/kernel/reboot.c | 18 +- arch/x86/kernel/relocate_kernel_32.S | 2 + arch/x86/kernel/relocate_kernel_64.S | 2 + arch/x86/kernel/setup.c | 13 + arch/x86/kernel/smp.c | 15 +- arch/x86/kernel/smpboot.c | 32 +- arch/x86/kernel/tboot.c | 1 + arch/x86/kernel/trampoline.c | 17 + arch/x86/kernel/traps.c | 11 +- arch/x86/kvm/emulate.c | 55 +- arch/x86/kvm/mmu.c | 28 +- arch/x86/kvm/svm.c | 285 ++++++-- arch/x86/kvm/vmx.c | 84 ++- arch/x86/kvm/x86.c | 106 ++- arch/x86/lib/Makefile | 3 +- arch/x86/lib/cache-smp.c | 19 + arch/x86/lib/copy_user_64.S | 4 +- arch/x86/lib/rwsem_64.S | 81 +++ arch/x86/lib/semaphore_32.S | 2 +- arch/x86/mm/fault.c | 7 + arch/x86/mm/pageattr.c | 25 +- arch/x86/mm/pgtable.c | 34 +- arch/x86/mm/srat_64.c | 8 +- arch/x86/oprofile/nmi_int.c | 27 +- arch/x86/oprofile/op_model_amd.c | 42 +- arch/x86/oprofile/op_model_p4.c | 6 - arch/x86/oprofile/op_model_ppro.c | 6 +- arch/x86/pci/irq.c | 2 + arch/x86/pci/mmconfig-shared.c | 17 +- arch/x86/power/cpu.c | 4 + arch/x86/power/hibernate_asm_32.S | 15 +- arch/x86/vdso/Makefile | 4 +- arch/x86/vdso/vdso32/sysenter.S | 2 +- arch/x86/xen/enlighten.c | 11 +- arch/x86/xen/mmu.c | 21 +- arch/x86/xen/multicalls.c | 12 +- arch/x86/xen/smp.c | 16 +- arch/x86/xen/suspend.c | 4 +- arch/x86/xen/time.c | 2 + arch/x86/xen/xen-asm_32.S | 8 +- arch/xtensa/include/asm/cache.h | 1 + arch/xtensa/kernel/ptrace.c | 3 + block/blk-core.c | 13 +- block/blk-map.c | 2 + block/blk-settings.c | 2 +- block/blk-sysfs.c | 4 +- block/blk-timeout.c | 12 +- block/blk.h | 3 +- block/bsg.c | 2 +- block/cfq-iosched.c | 45 +- block/scsi_ioctl.c | 34 +- crypto/async_tx/async_raid6_recov.c | 21 +- crypto/authenc.c | 16 +- crypto/md5.c | 92 +-- drivers/Makefile | 2 +- drivers/acpi/acpica/aclocal.h | 1 + drivers/acpi/acpica/dswexec.c | 19 +- drivers/acpi/acpica/exprep.c | 17 + drivers/acpi/blacklist.c | 16 + drivers/acpi/dock.c | 1 + drivers/acpi/ec.c | 38 +- drivers/acpi/power_meter.c | 2 +- drivers/acpi/processor_idle.c | 38 +- drivers/acpi/processor_pdc.c | 14 + drivers/acpi/processor_perflib.c | 6 +- drivers/acpi/scan.c | 27 +- drivers/acpi/sleep.c | 101 +-- drivers/acpi/tables.c | 4 +- drivers/acpi/video_detect.c | 2 +- drivers/ata/ahci.c | 73 +- drivers/ata/ata_generic.c | 6 + drivers/ata/ata_piix.c | 8 + drivers/ata/libata-core.c | 34 +- drivers/ata/libata-eh.c | 17 +- drivers/ata/libata-scsi.c | 29 +- drivers/ata/libata-sff.c | 2 +- drivers/ata/pata_cmd64x.c | 61 +- drivers/ata/pata_hpt3x2n.c | 20 +- drivers/ata/pata_mpc52xx.c | 2 +- drivers/ata/pata_via.c | 5 + drivers/ata/sata_nv.c | 5 +- drivers/ata/sata_via.c | 13 + drivers/atm/solos-pci.c | 9 +- drivers/base/class.c | 2 + drivers/base/core.c | 13 +- drivers/base/cpu.c | 2 +- drivers/base/devtmpfs.c | 13 + drivers/base/firmware_class.c | 26 +- drivers/base/memory.c | 2 +- drivers/block/brd.c | 11 +- drivers/block/cciss.h | 1 + drivers/block/loop.c | 11 +- drivers/block/nbd.c | 6 + drivers/block/pktcdvd.c | 2 +- drivers/block/xen-blkfront.c | 2 +- drivers/bluetooth/btusb.c | 3 + drivers/bluetooth/hci_ldisc.c | 7 + drivers/char/agp/Kconfig | 2 +- drivers/char/agp/amd64-agp.c | 27 +- drivers/char/agp/generic.c | 19 +- drivers/char/agp/intel-agp.c | 15 +- drivers/char/hpet.c | 17 + drivers/char/hvc_console.c | 8 +- drivers/char/hvc_iucv.c | 6 +- drivers/char/i8k.c | 11 +- drivers/char/ipmi/ipmi_si_intf.c | 11 +- drivers/char/mem.c | 3 +- drivers/char/pcmcia/synclink_cs.c | 2 + drivers/char/random.c | 334 +-------- drivers/char/raw.c | 1 + drivers/char/tpm/tpm.c | 21 +- drivers/char/tpm/tpm.h | 1 + drivers/char/tpm/tpm_tis.c | 33 +- drivers/char/tty_buffer.c | 20 +- drivers/char/tty_io.c | 3 + drivers/char/tty_ldisc.c | 93 ++- drivers/char/vt_ioctl.c | 11 +- drivers/clocksource/cs5535-clockevt.c | 2 +- drivers/clocksource/sh_cmt.c | 53 +- drivers/clocksource/sh_mtu2.c | 6 +- drivers/clocksource/sh_tmu.c | 26 +- drivers/cpufreq/cpufreq.c | 31 +- drivers/cpufreq/cpufreq_stats.c | 22 +- drivers/cpuidle/governors/menu.c | 13 +- drivers/crypto/padlock-aes.c | 2 +- drivers/dma/mv_xor.c | 4 +- drivers/edac/Kconfig | 2 +- drivers/edac/amd64_edac.c | 26 +- drivers/edac/edac_mce_amd.c | 12 +- drivers/firewire/core-card.c | 33 +- drivers/firewire/net.c | 53 +- drivers/firewire/ohci.c | 73 +- drivers/firmware/dcdbas.c | 4 +- drivers/gpio/cs5535-gpio.c | 4 +- drivers/gpio/wm831x-gpio.c | 22 +- drivers/gpu/drm/Kconfig | 3 + drivers/gpu/drm/drm_crtc.c | 10 +- drivers/gpu/drm/drm_crtc_helper.c | 1 + drivers/gpu/drm/drm_edid.c | 60 +- drivers/gpu/drm/drm_fops.c | 16 +- drivers/gpu/drm/drm_irq.c | 3 +- drivers/gpu/drm/drm_mm.c | 3 +- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/i915_dma.c | 16 +- drivers/gpu/drm/i915/i915_drv.c | 40 +- drivers/gpu/drm/i915/i915_drv.h | 33 +- drivers/gpu/drm/i915/i915_gem.c | 206 +++++- drivers/gpu/drm/i915/i915_gem_tiling.c | 24 +- drivers/gpu/drm/i915/i915_irq.c | 26 +- drivers/gpu/drm/i915/i915_reg.h | 77 +- drivers/gpu/drm/i915/intel_bios.c | 3 +- drivers/gpu/drm/i915/intel_crt.c | 14 +- drivers/gpu/drm/i915/intel_display.c | 62 +- drivers/gpu/drm/i915/intel_lvds.c | 38 + drivers/gpu/drm/i915/intel_overlay.c | 15 +- drivers/gpu/drm/i915/intel_sdvo.c | 23 +- drivers/gpu/drm/nouveau/nouveau_bios.c | 7 +- drivers/gpu/drm/nouveau/nouveau_bios.h | 2 +- drivers/gpu/drm/nouveau/nouveau_connector.c | 6 +- drivers/gpu/drm/nouveau/nouveau_drv.h | 1 + drivers/gpu/drm/nouveau/nouveau_mem.c | 113 +-- drivers/gpu/drm/nouveau/nv04_dac.c | 6 +- drivers/gpu/drm/nouveau/nv17_tv.c | 2 + drivers/gpu/drm/nouveau/nv50_instmem.c | 58 +- drivers/gpu/drm/radeon/atom.c | 27 +- drivers/gpu/drm/radeon/atombios_dp.c | 6 +- drivers/gpu/drm/radeon/r100.c | 61 +- drivers/gpu/drm/radeon/r200.c | 5 + drivers/gpu/drm/radeon/r300.c | 10 +- drivers/gpu/drm/radeon/r600_blit_kms.c | 3 - drivers/gpu/drm/radeon/r600_cp.c | 9 +- drivers/gpu/drm/radeon/radeon.h | 9 +- drivers/gpu/drm/radeon/radeon_atombios.c | 52 +- drivers/gpu/drm/radeon/radeon_combios.c | 20 +- drivers/gpu/drm/radeon/radeon_connectors.c | 39 +- drivers/gpu/drm/radeon/radeon_cp.c | 11 +- drivers/gpu/drm/radeon/radeon_cs.c | 25 +- drivers/gpu/drm/radeon/radeon_device.c | 9 + drivers/gpu/drm/radeon/radeon_display.c | 6 +- drivers/gpu/drm/radeon/radeon_drv.h | 5 +- drivers/gpu/drm/radeon/radeon_encoders.c | 8 +- drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 1 + drivers/gpu/drm/radeon/radeon_legacy_tv.c | 33 +- drivers/gpu/drm/radeon/radeon_object.c | 36 +- drivers/gpu/drm/radeon/radeon_object.h | 4 +- drivers/gpu/drm/radeon/radeon_ring.c | 107 ++- drivers/gpu/drm/radeon/radeon_state.c | 7 + drivers/gpu/drm/radeon/rs600.c | 2 +- drivers/gpu/drm/radeon/rv770.c | 9 +- drivers/gpu/drm/ttm/ttm_bo.c | 94 ++- drivers/gpu/drm/ttm/ttm_bo_util.c | 1 + drivers/gpu/drm/ttm/ttm_tt.c | 36 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 49 +- drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 108 ++- drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 3 + drivers/gpu/vga/vgaarb.c | 2 +- drivers/hid/hid-core.c | 3 +- drivers/hid/hid-gyration.c | 6 +- drivers/hid/hid-ids.h | 8 +- drivers/hid/usbhid/hid-core.c | 28 +- drivers/hid/usbhid/hid-quirks.c | 1 + drivers/hid/usbhid/usbhid.h | 2 + drivers/hwmon/adm1026.c | 20 +- drivers/hwmon/ams/ams-core.c | 11 +- drivers/hwmon/ams/ams-i2c.c | 2 + drivers/hwmon/ams/ams-pmu.c | 2 + drivers/hwmon/ams/ams.h | 1 + drivers/hwmon/asus_atk0110.c | 1 + drivers/hwmon/coretemp.c | 34 +- drivers/hwmon/f71882fg.c | 2 +- drivers/hwmon/fschmd.c | 15 +- drivers/hwmon/hp_accel.c | 2 +- drivers/hwmon/ibmaem.c | 15 +- drivers/hwmon/it87.c | 22 + drivers/hwmon/k10temp.c | 14 +- drivers/hwmon/k8temp.c | 12 +- drivers/hwmon/lm85.c | 1 + drivers/hwmon/ltc4245.c | 18 +- drivers/hwmon/max1111.c | 11 + drivers/hwmon/sht15.c | 17 +- drivers/hwmon/tmp401.c | 7 +- drivers/hwmon/tmp421.c | 24 +- drivers/hwmon/via686a.c | 14 +- drivers/hwmon/w83627ehf.c | 15 +- drivers/i2c/busses/Kconfig | 5 +- drivers/i2c/busses/i2c-i801.c | 11 +- drivers/i2c/busses/i2c-powermac.c | 25 +- drivers/i2c/busses/i2c-taos-evm.c | 8 +- drivers/i2c/i2c-core.c | 35 +- drivers/ide/cmd640.c | 6 +- drivers/ide/icside.c | 64 +- drivers/ide/ide-probe.c | 12 +- drivers/ide/ide-taskfile.c | 6 +- drivers/ide/pdc202xx_old.c | 4 +- drivers/infiniband/core/cm.c | 1 + drivers/infiniband/core/cma.c | 15 + drivers/infiniband/core/uverbs_cmd.c | 99 +-- drivers/infiniband/hw/cxgb3/iwch_cm.c | 6 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 2 + drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 +- drivers/input/input-polldev.c | 6 + drivers/input/joydev.c | 3 + drivers/input/keyboard/twl4030_keypad.c | 17 +- drivers/input/mouse/alps.c | 2 + drivers/input/mouse/bcm5974.c | 40 ++ drivers/input/mouse/psmouse-base.c | 14 +- drivers/input/serio/i8042-x86ia64io.h | 14 + drivers/input/serio/i8042.c | 8 + drivers/input/sparse-keymap.c | 2 +- drivers/input/tablet/wacom_sys.c | 12 +- drivers/input/touchscreen/usbtouchscreen.c | 8 +- drivers/input/xen-kbdfront.c | 35 +- drivers/isdn/gigaset/capi.c | 46 +- drivers/isdn/gigaset/common.c | 6 +- drivers/isdn/gigaset/dummyll.c | 14 +- drivers/isdn/gigaset/ev-layer.c | 12 +- drivers/isdn/gigaset/gigaset.h | 6 +- drivers/isdn/gigaset/i4l.c | 28 +- drivers/isdn/gigaset/interface.c | 1 - drivers/isdn/hisax/config.c | 18 +- drivers/isdn/hisax/hisax.h | 1 + drivers/isdn/i4l/isdn_tty.c | 6 - drivers/leds/leds-gpio.c | 3 +- drivers/leds/leds-ss4200.c | 1 + drivers/macintosh/therm_adt746x.c | 34 +- drivers/md/dm-ioctl.c | 24 +- drivers/md/dm-log-userspace-transfer.c | 10 +- drivers/md/dm-mpath.c | 17 +- drivers/md/dm-raid1.c | 2 +- drivers/md/dm-region-hash.c | 5 +- drivers/md/dm-snap-persistent.c | 2 +- drivers/md/dm-stripe.c | 2 +- drivers/md/dm-sysfs.c | 8 - drivers/md/dm-table.c | 17 + drivers/md/dm.c | 47 +- drivers/md/dm.h | 4 +- drivers/md/linear.c | 13 +- drivers/md/linear.h | 2 +- drivers/md/md.c | 141 +++- drivers/md/md.h | 1 + drivers/md/multipath.c | 20 +- drivers/md/raid0.c | 13 +- drivers/md/raid1.c | 10 +- drivers/md/raid10.c | 42 +- drivers/md/raid5.c | 63 +- drivers/media/dvb/b2c2/flexcop-pci.c | 2 +- drivers/media/dvb/dvb-core/dvb_net.c | 13 +- drivers/media/dvb/dvb-usb/Kconfig | 4 +- drivers/media/dvb/dvb-usb/dib0700_devices.c | 21 +- drivers/media/dvb/frontends/dib7000m.c | 19 + drivers/media/dvb/frontends/dib7000m.h | 15 + drivers/media/dvb/frontends/l64781.c | 4 +- drivers/media/dvb/ttpci/Kconfig | 5 +- drivers/media/dvb/ttpci/av7110_ca.c | 2 +- drivers/media/dvb/ttpci/budget.c | 3 - drivers/media/radio/radio-aimslab.c | 24 +- drivers/media/radio/si4713-i2c.c | 4 +- drivers/media/video/bt8xx/bttv-driver.c | 3 +- drivers/media/video/bt8xx/bttv-i2c.c | 8 +- drivers/media/video/bt8xx/bttvp.h | 1 + drivers/media/video/cx231xx/cx231xx-cards.c | 14 +- drivers/media/video/cx23885/cx23885-dvb.c | 2 +- drivers/media/video/cx23885/cx23885-i2c.c | 12 +- drivers/media/video/cx88/cx88-i2c.c | 16 +- drivers/media/video/em28xx/em28xx-cards.c | 4 +- drivers/media/video/em28xx/em28xx-dvb.c | 1 + drivers/media/video/gspca/mr97310a.c | 6 + drivers/media/video/gspca/stv06xx/stv06xx.c | 2 - drivers/media/video/ivtv/ivtvfb.c | 2 + drivers/media/video/mt9t112.c | 2 +- drivers/media/video/pvrusb2/pvrusb2-hdw.c | 4 + drivers/media/video/pwc/pwc-ctrl.c | 2 +- drivers/media/video/sn9c102/sn9c102_core.c | 6 +- drivers/media/video/soc_mediabus.c | 3 +- drivers/media/video/uvc/uvc_driver.c | 40 +- drivers/media/video/uvc/uvc_queue.c | 2 + drivers/media/video/uvc/uvc_video.c | 24 +- drivers/media/video/uvc/uvcvideo.h | 9 +- drivers/media/video/v4l2-compat-ioctl32.c | 32 +- drivers/media/video/v4l2-ioctl.c | 6 + drivers/message/fusion/mptctl.c | 8 + drivers/message/fusion/mptscsih.c | 9 +- drivers/mfd/ab3100-core.c | 4 +- drivers/mfd/ucb1x00-ts.c | 12 +- drivers/misc/Kconfig | 3 +- drivers/misc/ep93xx_pwm.c | 6 +- drivers/misc/sgi-xp/xpc_partition.c | 25 +- drivers/misc/sgi-xp/xpc_uv.c | 17 + drivers/mmc/core/sdio.c | 8 + drivers/mmc/host/atmel-mci.c | 14 +- drivers/mmc/host/s3cmci.c | 4 +- drivers/mmc/host/sdhci-pci.c | 1 + drivers/mmc/host/sdhci-s3c.c | 22 + drivers/mmc/host/sdhci.c | 9 +- drivers/mtd/chips/jedec_probe.c | 32 +- drivers/mtd/mtdconcat.c | 4 +- drivers/mtd/nand/omap2.c | 2 +- drivers/mtd/onenand/generic.c | 2 +- drivers/mtd/onenand/omap2.c | 2 +- drivers/net/3c503.c | 42 +- drivers/net/Makefile | 6 +- drivers/net/arcnet/com20020-pci.c | 4 +- drivers/net/atlx/atl1.c | 5 +- drivers/net/b44.c | 4 +- drivers/net/benet/be.h | 2 + drivers/net/benet/be_cmds.c | 1 + drivers/net/benet/be_main.c | 18 +- drivers/net/bnx2.c | 26 +- drivers/net/bonding/bond_main.c | 2 + drivers/net/can/bfin_can.c | 3 +- drivers/net/can/sja1000/sja1000.c | 20 +- drivers/net/can/sja1000/sja1000.h | 1 + drivers/net/cnic.c | 4 +- drivers/net/cpmac.c | 3 +- drivers/net/cxgb3/ael1002.c | 2 +- drivers/net/dm9000.c | 38 +- drivers/net/e100.c | 2 +- drivers/net/e1000/e1000_hw.c | 6 + drivers/net/e1000/e1000_main.c | 19 +- drivers/net/e1000e/netdev.c | 5 +- drivers/net/ehea/ehea_ethtool.c | 21 +- drivers/net/forcedeth.c | 2 +- drivers/net/hamradio/6pack.c | 4 +- drivers/net/hamradio/mkiss.c | 4 +- drivers/net/hydra.c | 14 +- drivers/net/igb/e1000_82575.c | 1 + drivers/net/igb/igb_main.c | 2 +- drivers/net/igbvf/igbvf.h | 1 - drivers/net/irda/smsc-ircc2.c | 2 +- drivers/net/ixgbe/ixgbe_82598.c | 22 + drivers/net/ixgbe/ixgbe_main.c | 9 + drivers/net/jme.c | 55 +- drivers/net/mlx4/icm.c | 3 +- drivers/net/myri10ge/myri10ge.c | 1 + drivers/net/ne-h8300.c | 16 +- drivers/net/netxen/netxen_nic_init.c | 3 - drivers/net/pppol2tp.c | 9 +- drivers/net/r6040.c | 12 +- drivers/net/r8169.c | 65 +- drivers/net/rionet.c | 4 +- drivers/net/sfc/efx.c | 5 +- drivers/net/sfc/falcon.c | 4 +- drivers/net/sfc/falcon_boards.c | 58 +- drivers/net/sfc/mcdi.c | 2 +- drivers/net/sfc/nic.h | 2 +- drivers/net/sfc/qt202x_phy.c | 2 +- drivers/net/sfc/siena.c | 13 +- drivers/net/sky2.c | 19 +- drivers/net/slip.c | 4 +- drivers/net/tc35815.c | 1 - drivers/net/tg3.c | 3 +- drivers/net/tun.c | 4 + drivers/net/usb/asix.c | 4 + drivers/net/usb/cdc-phonet.c | 9 +- drivers/net/usb/cdc_ether.c | 6 + drivers/net/usb/dm9601.c | 2 +- drivers/net/usb/pegasus.h | 2 +- drivers/net/veth.c | 1 - drivers/net/via-velocity.c | 41 +- drivers/net/vmxnet3/vmxnet3_ethtool.c | 3 + drivers/net/wan/hdlc_ppp.c | 6 + drivers/net/wireless/airo.c | 34 +- drivers/net/wireless/ath/ar9170/hw.h | 1 + drivers/net/wireless/ath/ar9170/main.c | 2 +- drivers/net/wireless/ath/ar9170/usb.c | 12 +- drivers/net/wireless/ath/ath5k/ath5k.h | 3 +- drivers/net/wireless/ath/ath5k/attach.c | 1 + drivers/net/wireless/ath/ath5k/base.c | 66 +- drivers/net/wireless/ath/ath5k/eeprom.c | 8 +- drivers/net/wireless/ath/ath5k/phy.c | 37 +- drivers/net/wireless/ath/ath5k/qcu.c | 5 +- drivers/net/wireless/ath/ath5k/reg.h | 1 + drivers/net/wireless/ath/ath5k/reset.c | 5 +- drivers/net/wireless/ath/ath9k/ath9k.h | 1 + drivers/net/wireless/ath/ath9k/beacon.c | 16 +- drivers/net/wireless/ath/ath9k/hw.c | 21 +- drivers/net/wireless/ath/ath9k/hw.h | 1 + drivers/net/wireless/ath/ath9k/initvals.h | 8 +- drivers/net/wireless/ath/ath9k/main.c | 44 +- drivers/net/wireless/ath/ath9k/pci.c | 1 + drivers/net/wireless/ath/ath9k/phy.h | 3 + drivers/net/wireless/ath/ath9k/rc.c | 24 +- drivers/net/wireless/ath/ath9k/xmit.c | 28 +- drivers/net/wireless/ath/regd_common.h | 1 + drivers/net/wireless/b43/Kconfig | 6 +- drivers/net/wireless/b43/Makefile | 2 +- drivers/net/wireless/b43/b43.h | 13 +- drivers/net/wireless/b43/dma.c | 4 +- drivers/net/wireless/b43/dma.h | 2 +- drivers/net/wireless/b43/main.c | 41 +- drivers/net/wireless/b43/pio.h | 40 -- drivers/net/wireless/b43legacy/main.c | 2 + drivers/net/wireless/hostap/hostap_cs.c | 15 +- drivers/net/wireless/hostap/hostap_hw.c | 13 + drivers/net/wireless/hostap/hostap_wlan.h | 2 +- drivers/net/wireless/iwlwifi/iwl-3945.c | 8 +- drivers/net/wireless/iwlwifi/iwl-4965.c | 16 +- drivers/net/wireless/iwlwifi/iwl-5000.c | 15 +- drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 25 +- drivers/net/wireless/iwlwifi/iwl-agn.c | 25 +- drivers/net/wireless/iwlwifi/iwl-core.c | 13 +- drivers/net/wireless/iwlwifi/iwl-core.h | 2 + drivers/net/wireless/iwlwifi/iwl-helpers.h | 13 +- drivers/net/wireless/iwlwifi/iwl-rx.c | 26 +- drivers/net/wireless/iwlwifi/iwl-scan.c | 28 +- drivers/net/wireless/iwlwifi/iwl-tx.c | 72 +- drivers/net/wireless/iwlwifi/iwl3945-base.c | 27 +- drivers/net/wireless/iwmc3200wifi/rx.c | 2 +- drivers/net/wireless/libertas/cmd.c | 6 +- drivers/net/wireless/libertas/if_sdio.c | 22 + drivers/net/wireless/orinoco/main.c | 6 + drivers/net/wireless/orinoco/wext.c | 4 +- drivers/net/wireless/p54/eeprom.c | 4 +- drivers/net/wireless/p54/p54pci.c | 36 +- drivers/net/wireless/p54/p54usb.c | 28 +- drivers/net/wireless/p54/txrx.c | 6 +- drivers/net/wireless/rt2x00/rt2800lib.c | 17 +- drivers/net/wireless/rt2x00/rt2x00usb.c | 14 +- drivers/net/wireless/rt2x00/rt73usb.c | 1 + drivers/net/wireless/rtl818x/rtl8180_dev.c | 1 + drivers/net/wireless/rtl818x/rtl8187_dev.c | 1 + drivers/net/wireless/wl12xx/wl1251_debugfs.c | 3 +- drivers/net/wireless/wl12xx/wl1251_sdio.c | 1 + drivers/net/zorro8390.c | 12 +- drivers/oprofile/cpu_buffer.c | 63 +- drivers/pci/dmar.c | 5 + drivers/pci/hotplug/acpiphp_glue.c | 7 +- drivers/pci/hotplug/ibmphp_ebda.c | 13 +- drivers/pci/hotplug/pcihp_slot.c | 45 ++ drivers/pci/intel-iommu.c | 15 +- drivers/pci/pci-stub.c | 3 + drivers/pci/pci-sysfs.c | 31 +- drivers/pci/pci.c | 80 ++- drivers/pci/pci.h | 7 +- drivers/pci/proc.c | 2 +- drivers/pci/quirks.c | 153 ++-- drivers/platform/x86/Kconfig | 10 +- drivers/platform/x86/acer-wmi.c | 6 +- drivers/platform/x86/asus_acpi.c | 8 +- drivers/platform/x86/classmate-laptop.c | 31 +- drivers/platform/x86/eeepc-laptop.c | 21 +- drivers/platform/x86/tc1100-wmi.c | 2 +- drivers/platform/x86/thinkpad_acpi.c | 125 ++-- drivers/platform/x86/wmi.c | 2 +- drivers/power/ds2760_battery.c | 2 +- drivers/power/olpc_battery.c | 8 +- drivers/rtc/class.c | 1 + drivers/rtc/rtc-cmos.c | 21 +- drivers/rtc/rtc-coh901331.c | 5 +- drivers/rtc/rtc-ds1307.c | 4 +- drivers/rtc/rtc-ds1511.c | 2 +- drivers/rtc/rtc-s3c.c | 5 +- drivers/s390/block/dasd.c | 17 +- drivers/s390/block/dasd_eckd.c | 2 +- drivers/s390/char/keyboard.c | 3 +- drivers/s390/cio/ccwgroup.c | 42 +- drivers/s390/cio/qdio.h | 6 + drivers/s390/cio/qdio_main.c | 43 +- drivers/scsi/3w-9xxx.c | 2 + drivers/scsi/aacraid/commctrl.c | 4 +- drivers/scsi/aacraid/commsup.c | 2 + drivers/scsi/arm/fas216.c | 2 +- drivers/scsi/bfa/bfa_core.c | 22 + drivers/scsi/bnx2i/bnx2i_hwi.c | 1 + drivers/scsi/bnx2i/bnx2i_iscsi.c | 3 + drivers/scsi/device_handler/scsi_dh_alua.c | 5 +- drivers/scsi/fcoe/fcoe.c | 37 +- drivers/scsi/fcoe/libfcoe.c | 2 +- drivers/scsi/gdth.c | 8 + drivers/scsi/ipr.c | 2 +- drivers/scsi/libfc/fc_exch.c | 2 +- drivers/scsi/libfc/fc_fcp.c | 3 - drivers/scsi/libfc/fc_lport.c | 3 +- drivers/scsi/libfc/fc_rport.c | 2 +- drivers/scsi/libiscsi.c | 7 +- drivers/scsi/libiscsi_tcp.c | 22 +- drivers/scsi/libsas/sas_ata.c | 5 + drivers/scsi/libsas/sas_expander.c | 17 +- drivers/scsi/libsas/sas_scsi_host.c | 5 + drivers/scsi/megaraid/megaraid_sas.c | 21 +- drivers/scsi/mpt2sas/mpt2sas_base.c | 24 +- drivers/scsi/mpt2sas/mpt2sas_ctl.c | 23 +- drivers/scsi/mpt2sas/mpt2sas_scsih.c | 21 +- drivers/scsi/pmcraid.c | 6 + drivers/scsi/qla1280.c | 4 + drivers/scsi/qla2xxx/qla_init.c | 3 - drivers/scsi/qla2xxx/qla_isr.c | 29 +- drivers/scsi/qlogicpti.c | 2 +- drivers/scsi/scsi_debug.c | 3 +- drivers/scsi/scsi_devinfo.c | 2 + drivers/scsi/scsi_error.c | 15 +- drivers/scsi/scsi_lib.c | 20 +- drivers/scsi/scsi_scan.c | 11 +- drivers/scsi/scsi_sysfs.c | 38 +- drivers/scsi/scsi_transport_fc.c | 24 +- drivers/scsi/sd.c | 25 +- drivers/scsi/ses.c | 14 +- drivers/scsi/ultrastor.c | 2 +- drivers/serial/8250.c | 10 +- drivers/serial/8250_pnp.c | 2 + drivers/serial/cpm_uart/cpm_uart_core.c | 143 ++-- drivers/serial/imx.c | 19 +- drivers/spi/spi_mpc8xxx.c | 22 - drivers/ssb/b43_pci_bridge.c | 1 + drivers/ssb/driver_chipcommon.c | 3 + drivers/ssb/main.c | 3 +- drivers/ssb/pci.c | 28 +- drivers/ssb/pcmcia.c | 2 +- drivers/ssb/sprom.c | 15 + drivers/staging/Kconfig | 2 - drivers/staging/Makefile | 1 - drivers/staging/asus_oled/asus_oled.c | 8 +- drivers/staging/comedi/comedi_fops.c | 4 +- drivers/staging/comedi/drivers/jr3_pci.c | 7 + drivers/staging/comedi/drivers/ni_labpc.c | 3 +- drivers/staging/comedi/drivers/ni_mio_cs.c | 2 +- drivers/staging/frontier/tranzport.c | 2 +- drivers/staging/hv/Channel.c | 8 +- drivers/staging/hv/Connection.c | 6 +- drivers/staging/hv/Hv.c | 2 +- drivers/staging/hv/RndisFilter.c | 1 + drivers/staging/hv/Vmbus.c | 2 +- drivers/staging/hv/VmbusPrivate.h | 1 + drivers/staging/hv/blkvsc_drv.c | 1 + drivers/staging/hv/netvsc_drv.c | 3 +- drivers/staging/hv/vmbus_drv.c | 30 + drivers/staging/line6/control.c | 204 +++--- drivers/staging/line6/midi.c | 4 +- drivers/staging/line6/pod.c | 32 +- drivers/staging/line6/toneport.c | 4 +- drivers/staging/line6/variax.c | 12 +- drivers/staging/mimio/Kconfig | 10 - drivers/staging/mimio/Makefile | 1 - drivers/staging/mimio/mimio.c | 914 ------------------------ drivers/staging/pohmelfs/inode.c | 20 +- drivers/staging/pohmelfs/netfs.h | 3 + drivers/staging/quatech_usb2/quatech_usb2.c | 9 +- drivers/staging/rt2860/chips/rt3090.c | 3 +- drivers/staging/rt2860/chips/rt30xx.c | 4 +- drivers/staging/rt2860/rt_main_dev.c | 2 - drivers/staging/rt2860/usb_main_dev.c | 2 + drivers/staging/rtl8187se/r8185b_init.c | 30 +- drivers/staging/rtl8192su/r8192U_core.c | 2 + drivers/staging/rtl8192u/r819xU_firmware.c | 9 +- drivers/staging/samsung-laptop/samsung-laptop.c | 2 +- drivers/staging/usbip/stub_rx.c | 40 +- drivers/staging/usbip/stub_tx.c | 74 +- drivers/staging/usbip/usbip_common.c | 64 +- drivers/staging/usbip/usbip_common.h | 2 + drivers/staging/usbip/usbip_event.c | 19 +- drivers/staging/usbip/vhci.h | 6 +- drivers/staging/usbip/vhci_hcd.c | 72 +- drivers/staging/usbip/vhci_rx.c | 18 +- drivers/staging/vt6655/device_main.c | 2 + drivers/staging/wlan-ng/Kconfig | 1 + drivers/usb/atm/ueagle-atm.c | 6 +- drivers/usb/class/cdc-acm.c | 59 +- drivers/usb/class/cdc-acm.h | 1 - drivers/usb/class/usbtmc.c | 2 +- drivers/usb/core/devices.c | 10 +- drivers/usb/core/devio.c | 95 ++- drivers/usb/core/driver.c | 36 +- drivers/usb/core/file.c | 35 +- drivers/usb/core/generic.c | 2 +- drivers/usb/core/hcd.c | 2 +- drivers/usb/core/hcd.h | 2 +- drivers/usb/core/hub.c | 66 +- drivers/usb/core/inode.c | 4 +- drivers/usb/core/message.c | 17 +- drivers/usb/core/quirks.c | 15 + drivers/usb/core/usb.c | 3 - drivers/usb/gadget/at91_udc.c | 2 +- drivers/usb/gadget/atmel_usba_udc.c | 3 + drivers/usb/gadget/dummy_hcd.c | 1 + drivers/usb/gadget/f_eem.c | 3 +- drivers/usb/gadget/f_mass_storage.c | 1 - drivers/usb/gadget/f_rndis.c | 3 +- drivers/usb/gadget/fsl_udc_core.c | 2 +- drivers/usb/gadget/multi.c | 2 +- drivers/usb/gadget/printer.c | 14 +- drivers/usb/gadget/r8a66597-udc.c | 1 + drivers/usb/gadget/s3c-hsotg.c | 1 + drivers/usb/gadget/u_serial.c | 16 +- drivers/usb/host/ehci-hcd.c | 32 +- drivers/usb/host/ehci-hub.c | 40 +- drivers/usb/host/ehci-mem.c | 2 +- drivers/usb/host/ehci-mxc.c | 13 +- drivers/usb/host/ehci-q.c | 30 +- drivers/usb/host/ehci-sched.c | 66 +- drivers/usb/host/ehci.h | 11 +- drivers/usb/host/fhci-sched.c | 19 +- drivers/usb/host/fhci-tds.c | 6 +- drivers/usb/host/fhci.h | 9 +- drivers/usb/host/isp1760-hcd.c | 22 +- drivers/usb/host/isp1760-hcd.h | 1 + drivers/usb/host/ohci-hub.c | 2 +- drivers/usb/host/ohci-pnx4008.c | 6 +- drivers/usb/host/pci-quirks.c | 2 +- drivers/usb/host/r8a66597-hcd.c | 16 +- drivers/usb/host/uhci-hcd.c | 1 + drivers/usb/host/xhci-ext-caps.h | 7 +- drivers/usb/host/xhci-hcd.c | 77 +- drivers/usb/host/xhci-mem.c | 182 ++++- drivers/usb/host/xhci-pci.c | 2 +- drivers/usb/host/xhci-ring.c | 87 ++- drivers/usb/host/xhci.h | 10 +- drivers/usb/misc/cypress_cy7c63.c | 6 +- drivers/usb/misc/iowarrior.c | 3 +- drivers/usb/misc/sisusbvga/sisusb.c | 7 +- drivers/usb/misc/trancevibrator.c | 2 +- drivers/usb/misc/usbled.c | 2 +- drivers/usb/misc/usbsevseg.c | 10 +- drivers/usb/misc/uss720.c | 11 +- drivers/usb/mon/mon_bin.c | 2 +- drivers/usb/musb/blackfin.c | 4 +- drivers/usb/musb/musb_core.c | 1 + drivers/usb/musb/omap2430.c | 1 + drivers/usb/otg/Kconfig | 1 + drivers/usb/serial/ch341.c | 11 + drivers/usb/serial/cp210x.c | 30 +- drivers/usb/serial/digi_acceleport.c | 10 - drivers/usb/serial/ftdi_sio.c | 143 +++- drivers/usb/serial/ftdi_sio_ids.h | 144 +++- drivers/usb/serial/garmin_gps.c | 20 +- drivers/usb/serial/generic.c | 20 + drivers/usb/serial/io_edgeport.c | 4 +- drivers/usb/serial/ir-usb.c | 2 + drivers/usb/serial/keyspan_pda.c | 17 - drivers/usb/serial/kl5kusb105.c | 1 + drivers/usb/serial/kobil_sct.c | 5 +- drivers/usb/serial/mos7840.c | 1 - drivers/usb/serial/moto_modem.c | 1 + drivers/usb/serial/opticon.c | 6 +- drivers/usb/serial/option.c | 262 ++++++- drivers/usb/serial/pl2303.c | 42 +- drivers/usb/serial/pl2303.h | 17 +- drivers/usb/serial/qcserial.c | 31 + drivers/usb/serial/sierra.c | 25 +- drivers/usb/serial/spcp8x5.c | 6 +- drivers/usb/serial/ti_usb_3410_5052.c | 2 +- drivers/usb/serial/visor.c | 13 + drivers/usb/storage/sierra_ms.c | 2 +- drivers/usb/storage/transport.c | 34 +- drivers/usb/storage/unusual_cypress.h | 5 + drivers/usb/storage/unusual_devs.h | 154 +++- drivers/video/Kconfig | 12 + drivers/video/Makefile | 1 + drivers/video/backlight/backlight.c | 12 +- drivers/video/backlight/mbp_nvidia_bl.c | 45 ++ drivers/video/bfin-t350mcqb-fb.c | 15 +- drivers/video/carminefb.c | 6 +- drivers/video/console/tileblit.c | 2 +- drivers/video/efifb.c | 72 +- drivers/video/sis/sis_main.c | 3 + drivers/video/sunxvr1000.c | 228 ++++++ drivers/video/sunxvr500.c | 25 +- drivers/video/via/accel.c | 7 +- drivers/video/via/ioctl.c | 2 + drivers/virtio/virtio_pci.c | 24 +- drivers/w1/slaves/w1_therm.c | 5 +- drivers/watchdog/bfin_wdt.c | 13 +- drivers/watchdog/hpwdt.c | 2 +- drivers/watchdog/iTCO_wdt.c | 99 ++- drivers/watchdog/mtx-1_wdt.c | 9 + drivers/xen/events.c | 2 +- drivers/xen/xenbus/xenbus_xs.c | 2 +- firmware/Makefile | 2 +- fs/9p/v9fs.c | 43 +- fs/9p/vfs_file.c | 2 +- fs/aio.c | 7 +- fs/befs/linuxvfs.c | 23 +- fs/bio.c | 23 +- fs/block_dev.c | 3 +- fs/btrfs/acl.c | 3 + fs/btrfs/ctree.h | 4 + fs/btrfs/disk-io.c | 4 +- fs/btrfs/file.c | 6 +- fs/btrfs/ioctl.c | 13 +- fs/btrfs/root-tree.c | 18 + fs/btrfs/super.c | 5 +- fs/btrfs/transaction.c | 1 + fs/cachefiles/namei.c | 12 +- fs/cachefiles/security.c | 4 + fs/char_dev.c | 4 +- fs/cifs/cifsfs.c | 6 +- fs/cifs/cifsglob.h | 1 + fs/cifs/cifsproto.h | 8 +- fs/cifs/cifssmb.c | 26 +- fs/cifs/connect.c | 12 +- fs/cifs/dir.c | 20 +- fs/cifs/dns_resolve.c | 69 ++ fs/cifs/dns_resolve.h | 4 +- fs/cifs/file.c | 28 +- fs/cifs/inode.c | 25 +- fs/cifs/sess.c | 14 +- fs/compat.c | 30 +- fs/dcache.c | 3 + fs/dcookies.c | 3 + fs/ecryptfs/inode.c | 114 +-- fs/ecryptfs/keystore.c | 47 +- fs/ecryptfs/messaging.c | 17 +- fs/ecryptfs/mmap.c | 5 + fs/ecryptfs/super.c | 1 - fs/eventpoll.c | 118 ++- fs/exec.c | 57 +- fs/exofs/dir.c | 2 +- fs/ext2/namei.c | 9 +- fs/ext3/namei.c | 15 +- fs/ext3/super.c | 7 + fs/ext3/xattr.c | 12 +- fs/ext4/balloc.c | 3 - fs/ext4/ext4.h | 11 +- fs/ext4/extents.c | 21 +- fs/ext4/inode.c | 13 +- fs/ext4/mballoc.c | 2 + fs/ext4/mballoc.h | 2 - fs/ext4/move_extent.c | 3 + fs/ext4/resize.c | 3 +- fs/fat/file.c | 2 +- fs/fat/namei_vfat.c | 6 +- fs/file_table.c | 4 +- fs/fs-writeback.c | 14 +- fs/fuse/dev.c | 4 + fs/fuse/file.c | 134 +++- fs/fuse/fuse_i.h | 6 +- fs/gfs2/file.c | 9 +- fs/inode.c | 22 +- fs/jbd/commit.c | 9 +- fs/jbd/journal.c | 16 +- fs/jfs/resize.c | 6 +- fs/libfs.c | 3 +- fs/lockd/clntproc.c | 8 +- fs/namei.c | 14 +- fs/namespace.c | 9 +- fs/nfs/client.c | 5 +- fs/nfs/delegation.h | 6 + commit 86a705267a2a502a3d62ef0797e449677b25835f Author: Greg Kroah-Hartman <gre...@suse.de> Date: Mon Nov 7 14:19:03 2011 -0800 Linux 2.6.33.20 commit 5f27ddf4395c3ec908dfdd44b0ebbd95a87c1a94 Author: Theodore Ts'o <ty...@mit.edu> Date: Wed Aug 31 11:54:51 2011 -0400 ext2,ext3,ext4: don't inherit APPEND_FL or IMMUTABLE_FL for new inodes commit 1cd9f0976aa4606db8d6e3dc3edd0aca8019372a upstream. This doesn't make much sense, and it exposes a bug in the kernel where attempts to create a new file in an append-only directory using O_CREAT will fail (but still leave a zero-length file). This was discovered when xfstests #79 was generalized so it could run on all file systems. Signed-off-by: "Theodore Ts'o" <ty...@mit.edu> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 8f22b38e8446a3bba7a3f54825d5d22c92e2ca5a Author: Alexandre Bounine <alexandre.boun...@idt.com> Date: Wed Nov 2 13:39:15 2011 -0700 drivers/net/rionet.c: fix ethernet address macros for LE platforms commit e0c87bd95e8dad455c23bc56513af8dcb1737e55 upstream. Modify Ethernet addess macros to be compatible with BE/LE platforms Signed-off-by: Alexandre Bounine <alexandre.boun...@idt.com> Cc: Chul Kim <chul....@idt.com> Cc: Kumar Gala <ga...@kernel.crashing.org> Cc: Matt Porter <mpor...@kernel.crashing.org> Cc: Li Yang <le...@freescale.com> Signed-off-by: Andrew Morton <a...@linux-foundation.org> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 56e66f0894df0cb2c18e10422d77da6693fd98bb Author: Zheng Liu <wenqing...@taobao.com> Date: Fri Oct 28 20:34:02 2011 +0800 ext4: fix BUG_ON() in ext4_ext_insert_extent() Does not corrispond with a direct commit in Linus's tree as it was fixed differently in the 3.0 release. We will meet with a BUG_ON() if following script is run. mkfs.ext4 -b 4096 /dev/sdb1 1000000 mount -t ext4 /dev/sdb1 /mnt/sdb1 fallocate -l 100M /mnt/sdb1/test sync for((i=0;i<170;i++)) do dd if=/dev/zero of=/mnt/sdb1/test conv=notrunc bs=256k count=1 seek=`expr $i \* 2` done umount /mnt/sdb1 mount -t ext4 /dev/sdb1 /mnt/sdb1 dd if=/dev/zero of=/mnt/sdb1/test conv=notrunc bs=256k count=1 seek=341 umount /mnt/sdb1 mount /dev/sdb1 /mnt/sdb1 dd if=/dev/zero of=/mnt/sdb1/test conv=notrunc bs=256k count=1 seek=340 sync The reason is that it forgot to mark dirty when splitting two extents in ext4_ext_convert_to_initialized(). Althrough ex has been updated in memory, it is not dirtied both in ext4_ext_convert_to_initialized() and ext4_ext_insert_extent(). The disk layout is corrupted. Then it will meet with a BUG_ON() when writting at the start of that extent again. Cc: "Theodore Ts'o" <ty...@mit.edu> Cc: Xiaoyun Mao <xiaoyun.ma...@aliyun-inc.com> Cc: Yingbin Wang <yingbin.wan...@aliyun-inc.com> Cc: Jia Wan <jia.w...@aliyun-inc.com> Signed-off-by: Zheng Liu <wenqing...@taobao.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 71aa3ac47d5116142b37fca35e8f8710be543f16 Author: Eric Dumazet <eric.duma...@gmail.com> Date: Sat May 22 20:37:44 2010 +0000 net_sched: Fix qdisc_notify() commit 53b0f08042f04813cd1a7473dacd3edfacb28eb3 upstream. Ben Pfaff reported a kernel oops and provided a test program to reproduce it. https://kerneltrap.org/mailarchive/linux-netdev/2010/5/21/6277805 tc_fill_qdisc() should not be called for builtin qdisc, or it dereference a NULL pointer to get device ifindex. Fix is to always use tc_qdisc_dump_ignore() before calling tc_fill_qdisc(). Reported-by: Ben Pfaff <b...@nicira.com> Signed-off-by: Eric Dumazet <eric.duma...@gmail.com> Signed-off-by: David S. Miller <da...@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 1a9d80ecb7798b4cf75f7b21b68c906b5820fd29 Author: Luciano Coelho <coe...@ti.com> Date: Tue Jun 7 20:42:26 2011 +0300 nl80211: fix overflow in ssid_len commit 57a27e1d6a3bb9ad4efeebd3a8c71156d6207536 upstream. When one of the SSID's length passed in a scan or sched_scan request is larger than 255, there will be an overflow in the u8 that is used to store the length before checking. This causes the check to fail and we overrun the buffer when copying the SSID. Fix this by checking the nl80211 attribute length before copying it to the struct. This is a follow up for the previous commit 208c72f4fe44fe09577e7975ba0e7fa0278f3d03, which didn't fix the problem entirely. Reported-by: Ido Yariv <i...@wizery.com> Signed-off-by: Luciano Coelho <coe...@ti.com> Signed-off-by: John W. Linville <linvi...@tuxdriver.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit b847425fb436aca533a769cc15b4fa11d95177ee Author: Dan Rosenberg <drosenb...@vsecurity.com> Date: Fri Jun 24 08:38:05 2011 -0400 Bluetooth: Prevent buffer overflow in l2cap config request commit 7ac28817536797fd40e9646452183606f9e17f71 upstream. A remote user can provide a small value for the command size field in the command header of an l2cap configuration request, resulting in an integer underflow when subtracting the size of the configuration request header. This results in copying a very large amount of data via memcpy() and destroying the kernel heap. Check for underflow. Signed-off-by: Dan Rosenberg <drosenb...@vsecurity.com> Signed-off-by: Gustavo F. Padovan <pado...@profusion.mobi> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 643e2dfa4ff8ea1fab0b6f1e1e06cdfbfc0a703a Author: Hugh Dickins <hu...@google.com> Date: Mon May 9 17:44:42 2011 -0700 vm: fix vm_pgoff wrap in upward expansion commit 42c36f63ac1366ab0ecc2d5717821362c259f517 upstream. Commit a626ca6a6564 ("vm: fix vm_pgoff wrap in stack expansion") fixed the case of an expanding mapping causing vm_pgoff wrapping when you had downward stack expansion. But there was another case where IA64 and PA-RISC expand mappings: upward expansion. This fixes that case too. Signed-off-by: Hugh Dickins <hu...@google.com> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit a2e441bdc3e86699fe95dcf3d54fc83c91d5cd9e Author: Linus Torvalds <torva...@linux-foundation.org> Date: Wed Apr 13 08:07:28 2011 -0700 vm: fix vm_pgoff wrap in stack expansion commit a626ca6a656450e9f4df91d0dda238fff23285f4 upstream. Commit 982134ba6261 ("mm: avoid wrapping vm_pgoff in mremap()") fixed the case of a expanding mapping causing vm_pgoff wrapping when you used mremap. But there was another case where we expand mappings hiding in plain sight: the automatic stack expansion. This fixes that case too. This one also found by Robert ÅwiÄcki, using his nasty system call fuzzer tool. Good job. Reported-and-tested-by: Robert ÅwiÄcki <rob...@swiecki.net> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit a0d5fef19e47dd30bcec109c0aff7749b0261bab Author: Filip Palian <s3...@pjwstk.edu.pl> Date: Thu May 12 19:32:46 2011 +0200 Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace. commit 8d03e971cf403305217b8e62db3a2e5ad2d6263f upstream. Structures "l2cap_conninfo" and "rfcomm_conninfo" have one padding byte each. This byte in "cinfo" is copied to userspace uninitialized. Signed-off-by: Filip Palian <filip.pal...@pjwstk.edu.pl> Acked-by: Marcel Holtmann <mar...@holtmann.org> Signed-off-by: Gustavo F. Padovan <pado...@profusion.mobi> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 81774bc4e6b260f75caa69eee5765d00bc0b65cb Author: Trond Myklebust <trond.mykleb...@netapp.com> Date: Tue May 31 15:15:34 2011 -0400 NLM: Don't hang forever on NLM unlock requests commit 0b760113a3a155269a3fba93a409c640031dd68f upstream. If the NLM daemon is killed on the NFS server, we can currently end up hanging forever on an 'unlock' request, instead of aborting. Basically, if the rpcbind request fails, or the server keeps returning garbage, we really want to quit instead of retrying. Tested-by: Vasily Averin <v...@sw.ru> Signed-off-by: Trond Myklebust <trond.mykleb...@netapp.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit fa0a1136645f7a31c789d46272af3b298390c4e0 Author: Eric Dumazet <eric.duma...@gmail.com> Date: Tue Nov 23 14:09:15 2010 +0000 scm: lower SCM_MAX_FD commit bba14de98753cb6599a2dae0e520714b2153522d upstream. Lower SCM_MAX_FD from 255 to 253 so that allocations for scm_fp_list are halved. (commit f8d570a4 added two pointers in this structure) scm_fp_dup() should not copy whole structure (and trigger kmemcheck warnings), but only the used part. While we are at it, only allocate needed size. Signed-off-by: Eric Dumazet <eric.duma...@gmail.com> Signed-off-by: David S. Miller <da...@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 425f213726d314c0820a63cac1389d19a76df37f Author: Manoj Iyer <manoj.i...@canonical.com> Date: Thu Oct 20 20:50:25 2011 +0200 thinkpad-acpi: module autoloading for newer Lenovo ThinkPads. commit 9fbdaeb4f4dd14a0caa9fc35c496d5440c251a3a upstream. The newer Lenovo ThinkPads have HKEY HID of LEN0068 instead of IBM0068. Added new HID so that thinkpad_acpi module will auto load on these newer Lenovo ThinkPads. Acked-by: Henrique de Moraes Holschuh <h...@hmh.eng.br> Cc: sta...@vger.kernel.org Signed-off-by: Manoj Iyer <manoj.i...@canonical.com> Signed-off-by: Andy Lutomirski <l...@mit.edu> Signed-off-by: Matthew Garrett <m...@redhat.com> Signed-off-by: Bjørn Mork <bj...@mork.no> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit cf7c8acc322c8603f15b26bed42dcb3dd62acbb8 Author: Dan Carpenter <erro...@gmail.com> Date: Tue Mar 23 13:35:42 2010 -0700 kcore: fix test for end of list commit 4fd2c20d964a8fb9861045f1022475c9d200d684 upstream. "m" is never NULL here. We need a different test for the end of list condition. Signed-off-by: Dan Carpenter <erro...@gmail.com> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hir...@jp.fujitsu.com> Acked-by: WANG Cong <xiyou.wangc...@gmail.com> Signed-off-by: Andrew Morton <a...@linux-foundation.org> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> Cc: Leonardo Chiquitto <leonardo.li...@gmail.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit f6a5ce266ac9a86619e3fea054b4b6f49734815d Author: Florian Fainelli <flor...@openwrt.org> Date: Mon Oct 17 19:47:44 2011 +0200 watchdog: mtx1-wdt: fix build failure Commit 72b6e8a847 (watchdog: mtx1-wdt: request gpio before using it) was backported from upstream. The patch is using a gpiolib call which is only available in kernel 2.6.34+. Fix build by using the "old" gpiolib API instead. Signed-off-by: Florian Fainelli <flor...@openwrt.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 948ed3ced0bab3d89267b7d02b6a4a2b25ce0133 Author: Greg Kroah-Hartman <gre...@suse.de> Date: Wed Nov 2 14:04:11 2011 -0700 Revert "usb: musb: restore INDEX register in resume path" This reverts commit 5aa8a93b5d44724f1f63357b300eca208fb069d0. Turns out this breaks the build, and as such, really isn't needed for the 2.6.33-stable branch at all. Reported-by: Phil Carmody <ext-phil.2.carm...@nokia.com> Cc: Anand Gadiyar <gadi...@ti.com> Cc: Ajay Kumar Gupta <ajay.gu...@ti.com> Cc: Felipe Balbi <ba...@ti.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 129deb72153e2ea369e479d5ff530c777239b561 Author: Florian Fainelli <flor...@openwrt.org> Date: Mon Oct 17 19:43:06 2011 +0200 Revert "MIPS: MTX-1: Make au1000_eth probe all PHY Commit 34dce55d was not applicable in 2.6.33 and introduces a build breakage. Revert that commit since it is irrelevant for this kernel version. Acked-by: Ralf Baechle <r...@linux-mips.org> Signed-off-by: Florian Fainelli <flor...@openwrt.org> commit 65d1d29f4cf001219f2b30c9d6de9aff43ba7757 Author: Jarek Poplawski <jark...@gmail.com> Date: Sat Sep 4 10:34:29 2010 +0000 gro: Re-fix different skb headrooms commit 64289c8e6851bca0e589e064c9a5c9fbd6ae5dd4 upstream. The patch: "gro: fix different skb headrooms" in its part: "2) allocate a minimal skb for head of frag_list" is buggy. The copied skb has p->data set at the ip header at the moment, and skb_gro_offset is the length of ip + tcp headers. So, after the change the length of mac header is skipped. Later skb_set_mac_header() sets it into the NET_SKB_PAD area (if it's long enough) and ip header is misaligned at NET_SKB_PAD + NET_IP_ALIGN offset. There is no reason to assume the original skb was wrongly allocated, so let's copy it as it was. bugzilla : https://bugzilla.kernel.org/show_bug.cgi?id=16626 fixes commit: 3d3be4333fdf6faa080947b331a6a19bce1a4f57 Reported-by: Plamen Petrov <pvp-l...@fs.uni-ruse.bg> Signed-off-by: Jarek Poplawski <jark...@gmail.com> CC: Eric Dumazet <eric.duma...@gmail.com> Acked-by: Eric Dumazet <eric.duma...@gmail.com> Tested-by: Plamen Petrov <pvp-l...@fs.uni-ruse.bg> Signed-off-by: David S. Miller <da...@davemloft.net> Cc: Ben Hutchings <bhutchi...@solarflare.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 2c17af21c93dd588454eb2ed6148fab24af6d70c Author: Eric Dumazet <eric.duma...@gmail.com> Date: Wed Sep 1 00:50:51 2010 +0000 gro: fix different skb headrooms commit 3d3be4333fdf6faa080947b331a6a19bce1a4f57 upstream. Packets entering GRO might have different headrooms, even for a given flow (because of implementation details in drivers, like copybreak). We cant force drivers to deliver packets with a fixed headroom. 1) fix skb_segment() skb_segment() makes the false assumption headrooms of fragments are same than the head. When CHECKSUM_PARTIAL is used, this can give csum_start errors, and crash later in skb_copy_and_csum_dev() 2) allocate a minimal skb for head of frag_list skb_gro_receive() uses netdev_alloc_skb(headroom + skb_gro_offset(p)) to allocate a fresh skb. This adds NET_SKB_PAD to a padding already provided by netdevice, depending on various things, like copybreak. Use alloc_skb() to allocate an exact padding, to reduce cache line needs: NET_SKB_PAD + NET_IP_ALIGN bugzilla : https://bugzilla.kernel.org/show_bug.cgi?id=16626 Many thanks to Plamen Petrov, testing many debugging patches ! With help of Jarek Poplawski. Reported-by: Plamen Petrov <pvp-l...@fs.uni-ruse.bg> Signed-off-by: Eric Dumazet <eric.duma...@gmail.com> CC: Jarek Poplawski <jark...@gmail.com> Cc: Ben Hutchings <bhutchi...@solarflare.com> Signed-off-by: David S. Miller <da...@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit f84fa42e6d292e06e7462e286aacc92511201ddf Author: Jarek Poplawski <jark...@gmail.com> Date: Wed Aug 11 02:02:10 2010 +0000 net: Fix a memmove bug in dev_gro_receive() commit e5093aec2e6b60c3df2420057ffab9ed4a6d2792 upstream. >Xin Xiaohui wrote: > I looked into the code dev_gro_receive(), found the code here: > if the frags[0] is pulled to 0, then the page will be released, > and memmove() frags left. > Is that right? I'm not sure if memmove do right or not, but > frags[0].size is never set after memove at least. what I think > a simple way is not to do anything if we found frags[0].size == 0. > The patch is as followed. ... This version of the patch fixes the bug directly in memmove. Reported-by: "Xin, Xiaohui" <xiaohui....@intel.com> Signed-off-by: Jarek Poplawski <jark...@gmail.com> Signed-off-by: David S. Miller <da...@davemloft.net> Cc: Ben Hutchings <bhutchi...@solarflare.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 860652a77bfa9b221c9086f67f365b9947175a54 Author: Paul Fertser <fercer...@gmail.com> Date: Mon Oct 10 11:19:23 2011 +0400 plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's desired commit 6571534b600b8ca1936ff5630b9e0947f21faf16 upstream. To configure pads during the initialisation a set of special constants is used, e.g. #define MX25_PAD_FEC_MDIO__FEC_MDIO IOMUX_PAD(0x3c4, 0x1cc, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP) The problem is that no pull-up/down is getting activated unless both PAD_CTL_PUE (pull-up enable) and PAD_CTL_PKE (pull/keeper module enable) set. This is clearly stated in the i.MX25 datasheet and is confirmed by the measurements on hardware. This leads to some rather hard to understand bugs such as misdetecting an absent ethernet PHY (a real bug i had), unstable data transfer etc. This might affect mx25, mx35, mx50, mx51 and mx53 SoCs. It's reasonable to expect that if the pullup value is specified, the intention was to have it actually active, so we implicitly add the needed bits. Signed-off-by: Paul Fertser <fercer...@gmail.com> Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 76faaf6dde04f5acd5be8161af3c07249cce6a70 Author: Mauro Carvalho Chehab <mche...@redhat.com> Date: Thu Jul 28 16:38:54 2011 -0300 tuner_xc2028: Allow selection of the frequency adjustment code for XC3028 commit 9bed77ee2fb46b74782d0d9d14b92e9d07f3df6e upstream. This device is not using the proper demod IF. Instead of using the IF macro, it is specifying a IF frequency. This doesn't work, as xc3028 needs to load an specific SCODE for the tuner. In this case, there's no IF table for 5 MHz. Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 81e249443b97a8fec7e95030b8393853f1c0cf5b Author: Ming Lei <tom.leim...@gmail.com> Date: Sat Jul 16 00:51:00 2011 -0300 uvcvideo: Set alternate setting 0 on resume if the bus has been reset commit d59a7b1dbce8b972ec2dc9fcaaae0bfa23687423 upstream. If the bus has been reset on resume, set the alternate setting to 0. This should be the default value, but some devices crash or otherwise misbehave if they don't receive a SET_INTERFACE request before any other video control request. Microdia's 0c45:6437 camera has been found to require this change or it will stop sending video data after resume. uvc_video.c] Signed-off-by: Ming Lei <ming....@canonical.com> Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 6f076ec2242ea04dd8a7e063d5d4194b2214cdfc Author: Jean Delvare <jdelv...@suse.de> Date: Fri Jul 8 11:04:38 2011 +0200 carminefb: Fix module parameters permissions commit c84c14224bbca6ec60d5851fcc87be0e34df2f44 upstream. The third parameter of module_param is supposed to be an octal value. The missing leading "0" causes the following: $ ls -l /sys/module/carminefb/parameters/ total 0 -rw-rwxr-- 1 root root 4096 Jul 8 08:55 fb_displays -rw-rwxr-- 1 root root 4096 Jul 8 08:55 fb_mode -rw-rwxr-- 1 root root 4096 Jul 8 08:55 fb_mode_str After fixing the perm parameter, we get the expected: $ ls -l /sys/module/carminefb/parameters/ total 0 -r--r--r-- 1 root root 4096 Jul 8 08:56 fb_displays -r--r--r-- 1 root root 4096 Jul 8 08:56 fb_mode -r--r--r-- 1 root root 4096 Jul 8 08:56 fb_mode_str Signed-off-by: Jean Delvare <jdelv...@suse.de> Cc: Paul Mundt <let...@linux-sh.org> Cc: Sebastian Siewior <bige...@linutronix.de> Signed-off-by: Paul Mundt <let...@linux-sh.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 70eb017131ba8e9aa9f491955568a5ff89bda393 Author: Joerg Roedel <joerg.roe...@amd.com> Date: Tue Oct 11 17:41:32 2011 +0200 iommu/amd: Fix wrong shift direction commit fcd0861db1cf4e6ed99f60a815b7b72c2ed36ea4 upstream. The shift direction was wrong because the function takes a page number and i is the address is the loop. Signed-off-by: Joerg Roedel <joerg.roe...@amd.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit f5b218b84cc375589e8e7c83296497c66d1592c4 Author: Sebastian Ott <seb...@linux.vnet.ibm.com> Date: Sun Oct 30 15:16:52 2011 +0100 ccwgroup: move attributes to attribute group commit dbdf1afcaaabe83dea15a3cb9b9013e73ae3b1ad upstream. Put sysfs attributes of ccwgroup devices in an attribute group to ensure that these attributes are actually present when userspace is notified via uevents. Signed-off-by: Sebastian Ott <seb...@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidef...@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 435c060e0a33919163b5757149de4be5cb211d5a Author: Carsten Otte <co...@de.ibm.com> Date: Tue Oct 18 12:27:12 2011 +0200 KVM: s390: check cpu_id prior to using it commit 4d47555a80495657161a7e71ec3014ff2021e450 upstream. We use the cpu id provided by userspace as array index here. Thus we clearly need to check it first. Ooops. Signed-off-by: Carsten Otte <co...@de.ibm.com> Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit b4ee8df8fdacee45c32b2feba6af0ba9493f175d Author: Axel Lin <axel....@gmail.com> Date: Thu Oct 13 17:17:06 2011 +0800 ASoC: ak4535: fixup cache register table commit 7c04241acbdaf97f1448dcccd27ea0fcd1a57684 upstream. ak4535_reg should be 8bit, but cache table is defined as 16bit. Signed-off-by: Axel Lin <axel....@gmail.com> Signed-off-by: Mark Brown <broo...@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit bc70aca09282519b8888df079a739398072a40c1 Author: Kuninori Morimoto <kuninori.morimoto...@renesas.com> Date: Thu Oct 13 02:03:54 2011 -0700 ASoC: ak4642: fixup cache register table commit 19b115e523208a926813751aac8934cf3fc6085e upstream. ak4642 register was 8bit, but cache table was defined as 16bit. ak4642 doesn't work correctry without this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com> Signed-off-by: Mark Brown <broo...@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit cdf76638ea4abceecb6710a5c802a09357bd089c Author: J. Bruce Fields <bfie...@redhat.com> Date: Mon Oct 10 17:34:31 2011 -0400 nfsd4: ignore WANT bits in open downgrade commit c30e92df30d7d5fe65262fbce5d1b7de675fe34e upstream. We don't use WANT bits yet--and sending them can probably trigger a BUG() further down. Signed-off-by: J. Bruce Fields <bfie...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 19ed00b06ba1773249c2e307151816cf79dd20b0 Author: J. Bruce Fields <bfie...@redhat.com> Date: Wed Aug 10 19:16:22 2011 -0400 nfsd4: fix seqid_mutating_error commit 576163005de286bbd418fcb99cfd0971523a0c6d upstream. The set of errors here does *not* agree with the set of errors specified in the rfc! While we're there, turn this macros into a function, for the usual reasons, and move it to the one place where it's actually used. Signed-off-by: J. Bruce Fields <bfie...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 2de551b315bd9e2cde90479bba5de1105d8411bd Author: Bernd Schubert <bernd.schub...@itwm.fraunhofer.de> Date: Mon Aug 8 17:38:08 2011 +0200 nfsd4: Remove check for a 32-bit cookie in nfsd4_readdir() commit 832023bffb4b493f230be901f681020caf3ed1f8 upstream. Fan Yong <yong....@whamcloud.com> noticed setting FMODE_32bithash wouldn't work with nfsd v4, as nfsd4_readdir() checks for 32 bit cookies. However, according to RFC 3530 cookies have a 64 bit type and cookies are also defined as u64 in 'struct nfsd4_readdir'. So remove the test for >32-bit values. Signed-off-by: Bernd Schubert <bernd.schub...@itwm.fraunhofer.de> Signed-off-by: J. Bruce Fields <bfie...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 467b9b729d746c37c8597a37603b6de3c3ec53b0 Author: Steven Rostedt <srost...@redhat.com> Date: Fri Oct 14 10:44:25 2011 -0400 tracing: Fix returning of duplicate data after EOF in trace_pipe_raw commit 436fc280261dcfce5af38f08b89287750dc91cd2 upstream. The trace_pipe_raw handler holds a cached page from the time the file is opened to the time it is closed. The cached page is used to handle the case of the user space buffer being smaller than what was read from the ring buffer. The left over buffer is held in the cache so that the next read will continue where the data left off. After EOF is returned (no more data in the buffer), the index of the cached page is set to zero. If a user app reads the page again after EOF, the check in the buffer will see that the cached page is less than page size and will return the cached page again. This will cause reading the trace_pipe_raw again after EOF to return duplicate data, making the output look like the time went backwards but instead data is just repeated. The fix is to not reset the index right after all data is read from the cache, but to reset it after all data is read and more data exists in the ring buffer. Reported-by: Jeremy Eder <je...@redhat.com> Signed-off-by: Steven Rostedt <rost...@goodmis.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 33a7811d55f239dc688867920da9d49d806596d2 Author: hank <p...@redhat.com> Date: Tue Sep 20 13:53:39 2011 -0700 time: Change jiffies_to_clock_t() argument type to unsigned long commit cbbc719fccdb8cbd87350a05c0d33167c9b79365 upstream. The parameter's origin type is long. On an i386 architecture, it can easily be larger than 0x80000000, causing this function to convert it to a sign-extended u64 type. Change the type to unsigned long so we get the correct result. Signed-off-by: hank <p...@redhat.com> Cc: John Stultz <john.stu...@linaro.org> [ build fix ] Signed-off-by: Andrew Morton <a...@linux-foundation.org> Signed-off-by: Thomas Gleixner <t...@linutronix.de> Signed-off-by: Ingo Molnar <mi...@elte.hu> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 37ab17c0fed4d31b2ff60f50eb834488f1ce1850 Author: Jiri Kosina <jkos...@suse.cz> Date: Wed Oct 26 13:10:39 2011 +1030 kmod: prevent kmod_loop_msg overflow in __request_module() commit 37252db6aa576c34fd794a5a54fb32d7a8b3a07a upstream. Due to post-increment in condition of kmod_loop_msg in __request_module(), the system log can be spammed by much more than 5 instances of the 'runaway loop' message if the number of events triggering it makes the kmod_loop_msg to overflow. Fix that by making sure we never increment it past the threshold. Signed-off-by: Jiri Kosina <jkos...@suse.cz> Signed-off-by: Rusty Russell <ru...@rustcorp.com.au> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit da3dd7ab0e1ac9053a88deb3e8fe38c698a27eb3 Author: Milan Broz <mb...@redhat.com> Date: Mon Aug 22 15:51:34 2011 +0200 kobj_uevent: Ignore if some listeners cannot handle message commit ebf4127cd677e9781b450e44dfaaa1cc595efcaa upstream. kobject_uevent() uses a multicast socket and should ignore if one of listeners cannot handle messages or nobody is listening at all. Easily reproducible when a process in system is cloned with CLONE_NEWNET flag. (See also http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/5256) Signed-off-by: Milan Broz <mb...@redhat.com> Acked-by: Kay Sievers <kay.siev...@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 4f58b434a141e82a11b3d9d64a495bf8e11c8562 Author: Josh Boyer <jwbo...@redhat.com> Date: Mon Oct 17 21:16:39 2011 -0400 Update email address for stable patch submission commit 5fa224295f0e0358c8bc0e5390702338df889def upstream. The sta...@kernel.org email address has been replaced with the sta...@vger.kernel.org mailing list. Change the stable kernel rules to reference the new list instead of the semi-defunct email alias. Signed-off-by: Josh Boyer <jwbo...@redhat.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit fc94e7993593e0594524c8bef4616d38b1be9206 Author: Jerry Huang <r66...@freescale.com> Date: Tue Oct 18 13:09:48 2011 +0800 QE/FHCI: fixed the CONTROL bug commit 273d23574f9dacd9c63c80e7d63639a669aad441 upstream. For USB CONTROL transaction, when the data length is zero, the IN package is needed to finish this transaction in status stage. Signed-off-by: Jerry Huang <r66...@freescale.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 77447121fe52022de89494cc59631d9a5b58cdd8 Author: Peter Stuge <pe...@stuge.se> Date: Mon Oct 10 03:34:54 2011 +0200 USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board commit 3687f641307eeff6f7fe31a88dc39db88e89238b upstream. Some Stellaris evaluation kits have the JTAG/SWD FTDI chip onboard, and some, like EK-LM3S9B90, come with a separate In-Circuit Debugger Interface Board. The ICDI board can also be used stand-alone, for other boards and chips than the kit it came with. The ICDI has both old style 20-pin JTAG connector and new style JTAG/SWD 10-pin 1.27mm pitch connector. Tested with EK-LM3S9B90, where the BD-ICDI board is included. Signed-off-by: Peter Stuge <pe...@stuge.se> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 01776c3d004bf5595bf27474c324b496a0b14652 Author: Hakan Kvist <hakan.kv...@sonyericsson.com> Date: Mon Oct 3 13:41:15 2011 +0200 USB: ftdi_sio: add PID for Sony Ericsson Urban commit 74bdf22b5c3858b06af46f19d05c23e76c40a3bb upstream. Add PID 0xfc8a, 0xfc8b for device Sony Ericsson Urban Signed-off-by: Hakan Kvist <hakan.kv...@sonyericsson.com> Signed-off-by: Oskar Andero <oskar.and...@sonyericsson.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 4ca9c2db667698a8bcfd065a81711648a83a1e0c Author: Eric Benoit <e...@ecks.ca> Date: Sat Sep 24 02:04:50 2011 -0400 USB: pl2303: add id for SMART device commit 598f0b703506da841d3459dc0c48506be14d1778 upstream. Add vendor and product ID for the SMART USB to serial adapter. These were meant to be used with their SMART Board whiteboards, but can be re-purposed for other tasks. Tested and working (at at least 9600 bps). Signed-off-by: Eric Benoit <e...@ecks.ca> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit f7e1f927886e0f16d76490e5cab7fa906728e396 Author: Denis Pershin <d...@perchine.com> Date: Sun Sep 4 17:37:21 2011 +0700 usb: cdc-acm: Owen SI-30 support commit 65e52f41fa944cef2e6d4222b8c54f46cc575214 upstream. here is the patch to support Owen SI-30 device. This is a pulse counter controller. http://www.owen.ru/en/catalog/93788515 usb-drivers output: T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=02(commc) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=03eb ProdID=0030 Rev=01.01 C: #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm This patch is installed on my home system which receives data from this controller connected to cold water counter. Signed-off-by: Denis Pershin <d...@perchine.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 03c47d73c14c9859e092a2c6346c278942876caa Author: Serge Hallyn <serge.hal...@canonical.com> Date: Mon Sep 26 10:18:29 2011 -0500 USB: pid_ns: ensure pid is not freed during kill_pid_info_as_uid commit aec01c5895051849ed842dc5b8794017a7751f28 upstream. Alan Stern points out that after spin_unlock(&ps->lock) there is no guarantee that ps->pid won't be freed. Since kill_pid_info_as_uid() is called after the spin_unlock(), the pid passed to it must be pinned. Reported-by: Alan Stern <st...@rowland.harvard.edu> Signed-off-by: Serge Hallyn <serge.hal...@canonical.com> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit edd9f053b52d5882c9c37432939e03db8634ebc0 Author: Matthias Dellweg <2...@gmx.de> Date: Sun Sep 25 14:26:25 2011 +0200 usb/core/devio.c: Check for printer class specific request commit 393cbb5151ecda9f9e14e3082d048dd27a1ff9f6 upstream. In the usb printer class specific request get_device_id the value of wIndex is (interface << 8 | altsetting) instead of just interface. This enables the detection of some printers with libusb. Acked-by: Alan Stern <st...@rowland.harvard.edu> Signed-off-by: Matthias Dellweg <2...@gmx.de> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit f28e8a981f6e7fe867866d00ba0468cb7a82bbd3 Author: Luben Tuikov <ltui...@yahoo.com> Date: Thu Nov 11 15:43:11 2010 -0800 USB: storage: Use normalized sense when emulating autosense commit e16da02fcdf1c5e824432f88abf42623dafdf191 upstream. This patch solves two things: 1) Enables autosense emulation code to correctly interpret descriptor format sense data, and 2) Fixes a bug whereby the autosense emulation code would overwrite descriptor format sense data with SENSE KEY HARDWARE ERROR in fixed format, to incorrectly look like this: Oct 21 14:11:07 localhost kernel: sd 7:0:0:0: [sdc] Sense Key : Recovered Error [current] [descriptor] Oct 21 14:11:07 localhost kernel: Descriptor sense data with sense descriptors (in hex): Oct 21 14:11:07 localhost kernel: 72 01 04 1d 00 00 00 0e 09 0c 00 00 00 00 00 00 Oct 21 14:11:07 localhost kernel: 00 4f 00 c2 00 50 Oct 21 14:11:07 localhost kernel: sd 7:0:0:0: [sdc] ASC=0x4 ASCQ=0x1d Signed-off-by: Luben Tuikov <ltui...@yahoo.com> Acked-by: Alan Stern <st...@rowland.harvard.edu> Acked-by: Matthew Dharm <mdharm-...@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit d01f24effa7cc7e480ef08291fa3359179ddff0e Author: Johannes Stezenbach <j...@sig21.net> Date: Thu Sep 8 15:39:15 2011 +0200 usbmon vs. tcpdump: fix dropped packet count commit 236c448cb6e7f82096101e1ace4b77f8b38f82c8 upstream. Report the number of dropped packets instead of zero when using the binary usbmon interface with tcpdump. # tcpdump -i usbmon1 -w dump tcpdump: listening on usbmon1, link-type USB_LINUX_MMAPPED (USB with padded Linux header), capture size 65535 bytes ^C2155 packets captured 2155 packets received by filter 1019 packets dropped by kernel Signed-off-by: Johannes Stezenbach <j...@sig21.net> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 1ebf4837da8dc16b9979c21506ebc64788e38b7f Author: Nelson Elhage <nelh...@nelhage.com> Date: Mon Oct 31 17:13:14 2011 -0700 epoll: fix spurious lockdep warnings commit d8805e633e054c816c47cb6e727c81f156d9253d upstream. epoll can acquire recursively acquire ep->mtx on multiple "struct eventpoll"s at once in the case where one epoll fd is monitoring another epoll fd. This is perfectly OK, since we're careful about the lock ordering, but it causes spurious lockdep warnings. Annotate the recursion using mutex_lock_nested, and add a comment explaining the nesting rules for good measure. Recent versions of systemd are triggering this, and it can also be demonstrated with the following trivial test program: --------------------8<-------------------- int main(void) { int e1, e2; struct epoll_event evt = { .events = EPOLLIN }; e1 = epoll_create1(0); e2 = epoll_create1(0); epoll_ctl(e1, EPOLL_CTL_ADD, e2, &evt); return 0; } --------------------8<-------------------- Reported-by: Paul Bolle <pebo...@tiscali.nl> Tested-by: Paul Bolle <pebo...@tiscali.nl> Signed-off-by: Nelson Elhage <nelh...@nelhage.com> Acked-by: Jason Baron <jba...@redhat.com> Cc: Dave Jones <da...@redhat.com> Cc: Davide Libenzi <davi...@xmailserver.org> Signed-off-by: Andrew Morton <a...@linux-foundation.org> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gre...@suse.de> commit 3b5307642a40cadf0198625198ff86ffe7167e2a Author: Josh Stone <jist...@redhat.com> Date: Mon Oct 24 10:15:51 2011 -0700 x86: Fix compilation bug in kprobes' twobyte_is_boostable commit 315eb8a2a1b7f335d40ceeeb11b9e067475eb881 upstream. When compiling an i386_defconfig kernel with gcc-4.6.1-9.fc15.i686, I noticed a warning about the asm operand for test_bit in kprobes' can_boost. I discovered that this caused only the first long of twobyte_is_boostable[] to be output. Jakub filed and fixed gcc PR50571 to correct the warning and this output issue. But to solve it for less current gcc, we can make kprobes' twobyte_is_boostable[] non-const, and it won't be optimized out. Before: CC arch/x86/kernel/kprobes.o In file included from include/linux/bitops.h:22:0, from include/linux/kernel.h:17, from [...]/arch/x86/include/asm/percpu.h:44, from [...]/arch/x86/include/asm/current.h:5, from [...]/arch/x86/include/asm/processor.h:15, from [...]/arch/x86/include/asm/atomic.h:6, from include/linux/atomic.h:4, from include/linux/mutex.h:18, from include/linux/notifier.h:13, from include/linux/kprobes.h:34, from arch/x86/kernel/kprobes.c:43: [...]/arch/x86/include/asm/bitops.h: In function âcan_boost.part.1â: [...]/arch/x86/include/asm/bitops.h:319:2: warning: use of memory input without lvalue in asm operand 1 is deprecated [enabled by default] $ objdump -rd arch/x86/kernel/kprobes.o | grep -A1 -w bt 551: 0f a3 05 00 00 00 00 bt %eax,0x0 554: R_386_32 .rodata.cst4 diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 0d07513..bf241be 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -308,7 +308,7 @@ address perms offset dev inode pathname 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] a7cb1000-a7cb2000 ---p 00000000 00:00 0 -a7cb2000-a7eb2000 rw-p 00000000 00:00 0 [threadstack:001ff4b4] +a7cb2000-a7eb2000 rw-p 00000000 00:00 0 a7eb2000-a7eb3000 ---p 00000000 00:00 0 a7eb3000-a7ed5000 rw-p 00000000 00:00 0 a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 @@ -344,7 +344,6 @@ is not associated with a file: [stack] = the stack of the main process [vdso] = the "virtual dynamic shared object", the kernel system call handler - [threadstack:xxxxxxxx] = the stack of the thread, xxxxxxxx is the stack size or if empty, the mapping is anonymous. diff --git a/Documentation/filesystems/tmpfs.txt b/Documentation/filesystems/tmpfs.txt index 3015da0..fe09a2c 100644 --- a/Documentation/filesystems/tmpfs.txt +++ b/Documentation/filesystems/tmpfs.txt @@ -82,11 +82,13 @@ tmpfs has a mount option to set the NUMA memory allocation policy for all files in that instance (if CONFIG_NUMA is enabled) - which can be adjusted on the fly via 'mount -o remount ...' -mpol=default prefers to allocate memory from the local node +mpol=default use the process allocation policy + (see set_mempolicy(2)) mpol=prefer:Node prefers to allocate memory from the given Node mpol=bind:NodeList allocates memory only from nodes in NodeList mpol=interleave prefers to allocate from each node in turn mpol=interleave:NodeList allocates from each node of NodeList in turn +mpol=local prefers to allocate memory from the local node NodeList format is a comma-separated list of decimal numbers and ranges, a range being two hyphen-separated decimal numbers, the smallest and @@ -134,3 +136,5 @@ Author: Christoph Rohland <c...@sap.com>, 1.12.01 Updated: Hugh Dickins, 4 June 2007 +Updated: + KOSAKI Motohiro, 16 Mar 2010 diff --git a/Documentation/hwmon/ltc4245 b/Documentation/hwmon/ltc4245 index 02838a4..86b5880 100644 --- a/Documentation/hwmon/ltc4245 +++ b/Documentation/hwmon/ltc4245 @@ -72,9 +72,7 @@ in6_min_alarm 5v output undervoltage alarm in7_min_alarm 3v output undervoltage alarm in8_min_alarm Vee (-12v) output undervoltage alarm -in9_input GPIO #1 voltage data -in10_input GPIO #2 voltage data -in11_input GPIO #3 voltage data +in9_input GPIO voltage data power1_input 12v power usage (mW) power2_input 5v power usage (mW) diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 index 81c0c59..e1bb5b2 100644 --- a/Documentation/i2c/busses/i2c-i801 +++ b/Documentation/i2c/busses/i2c-i801 @@ -15,7 +15,8 @@ Supported adapters: * Intel 82801I (ICH9) * Intel EP80579 (Tolapai) * Intel 82801JI (ICH10) - * Intel PCH + * Intel 3400/5 Series (PCH) + * Intel Cougar Point (PCH) Datasheets: Publicly available at the Intel website Authors: diff --git a/Documentation/i2c/instantiating-devices b/Documentation/i2c/instantiating-devices index e894902..ed1779c 100644 --- a/Documentation/i2c/instantiating-devices +++ b/Documentation/i2c/instantiating-devices @@ -100,7 +100,7 @@ static int __devinit usb_hcd_pnx4008_probe(struct platform_device *pdev) (...) i2c_adap = i2c_get_adapter(2); memset(&i2c_info, 0, sizeof(struct i2c_board_info)); - strlcpy(i2c_info.name, "isp1301_pnx", I2C_NAME_SIZE); + strlcpy(i2c_info.type, "isp1301_pnx", I2C_NAME_SIZE); isp1301_i2c_client = i2c_new_probed_device(i2c_adap, &i2c_info, normal_i2c); i2c_put_adapter(i2c_adap); diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 736d456..e2c7487 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -199,6 +199,10 @@ and is between 256 and 4096 characters. It is defined in the file acpi_display_output=video See above. + acpi_early_pdc_eval [HW,ACPI] Evaluate processor _PDC methods + early. Needed on some platforms to properly + initialize the EC. + acpi_irq_balance [HW,ACPI] ACPI will balance active IRQs default in APIC mode @@ -311,6 +315,11 @@ and is between 256 and 4096 characters. It is defined in the file aic79xx= [HW,SCSI] See Documentation/scsi/aic79xx.txt. + alignment= [KNL,ARM] + Allow the default userspace alignment fault handler + behaviour to be specified. Bit 0 enables warnings, + bit 1 enables fixups, and bit 2 sends a segfault. + amd_iommu= [HW,X86-84] Pass parameters to the AMD IOMMU driver in the system. Possible values are: @@ -2694,6 +2703,13 @@ and is between 256 and 4096 characters. It is defined in the file medium is write-protected). Example: quirks=0419:aaf5:rl,0421:0433:rc + userpte= + [X86] Flags controlling user PTE allocations. + + nohigh = do not allocate PTE pages in + HIGHMEM regardless of setting + of CONFIG_HIGHPTE. + vdso= [X86,SH] vdso=2: enable compat VDSO (default with COMPAT_VDSO) vdso=1: enable VDSO (default) diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 75afa12..39c0a09 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt @@ -650,6 +650,10 @@ LCD, CRT or DVI (if available). The following commands are available: echo expand_toggle > /proc/acpi/ibm/video echo video_switch > /proc/acpi/ibm/video +NOTE: Access to this feature is restricted to processes owning the +CAP_SYS_ADMIN capability for safety reasons, as it can interact badly +enough with some versions of X.org to crash it. + Each video output device can be enabled or disabled individually. Reading /proc/acpi/ibm/video shows the status of each device. diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index 006b39d..e87f3cdc 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt @@ -1074,10 +1074,10 @@ regen_max_retry - INTEGER Default: 5 max_addresses - INTEGER - Number of maximum addresses per interface. 0 disables limitation. - It is recommended not set too large value (or 0) because it would - be too easy way to crash kernel to allow to create too much of - autoconfigured addresses. + Maximum number of autoconfigured addresses per interface. Setting + to zero disables the limitation. It is not recommended to set this + value too large (or to zero) because it would be an easy way to + crash the kernel by allowing too many addresses to be created. Default: 16 disable_ipv6 - BOOLEAN diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt index 5effa5b..2e073d5 100644 --- a/Documentation/stable_kernel_rules.txt +++ b/Documentation/stable_kernel_rules.txt @@ -25,10 +25,10 @@ Rules on what kind of patches are accepted, and which ones are not, into the Procedure for submitting patches to the -stable tree: - Send the patch, after verifying that it follows the above rules, to - sta...@kernel.org. + sta...@vger.kernel.org. - To have the patch automatically included in the stable tree, add the the tag - Cc: sta...@kernel.org + Cc: sta...@vger.kernel.org in the sign-off area. Once the patch is merged it will be applied to the stable tree without anything else needing to be done by the author or subsystem maintainer. @@ -36,10 +36,10 @@ Procedure for submitting patches to the -stable tree: cherry-picked than this can be specified in the following format in the sign-off area: - Cc: <sta...@kernel.org> # .32.x: a1f84a3: sched: Check for idle - Cc: <sta...@kernel.org> # .32.x: 1b9508f: sched: Rate-limit newidle - Cc: <sta...@kernel.org> # .32.x: fd21073: sched: Fix affinity logic - Cc: <sta...@kernel.org> # .32.x + Cc: <sta...@vger.kernel.org> # .32.x: a1f84a3: sched: Check for idle + Cc: <sta...@vger.kernel.org> # .32.x: 1b9508f: sched: Rate-limit newidle + Cc: <sta...@vger.kernel.org> # .32.x: fd21073: sched: Fix affinity logic + Cc: <sta...@vger.kernel.org> # .32.x Signed-off-by: Ingo Molnar <mi...@elte.hu> The tag sequence has the meaning of: diff --git a/MAINTAINERS b/MAINTAINERS index 412eff6..b612a1f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -616,10 +616,10 @@ M: Richard Purdie <rpur...@rpsys.net> S: Maintained ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE -M: Paulius Zaleckas <paulius.zalec...@teltonika.lt> +M: Paulius Zaleckas <paulius.zalec...@gmail.com> L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) T: git git://gitorious.org/linux-gemini/mainline.git -S: Maintained +S: Odd Fixes F: arch/arm/mach-gemini/ ARM/EBSA110 MACHINE SUPPORT @@ -641,9 +641,9 @@ T: topgit git://git.openezx.org/openezx.git F: arch/arm/mach-pxa/ezx.c ARM/FARADAY FA526 PORT -M: Paulius Zaleckas <paulius.zalec...@teltonika.lt> +M: Paulius Zaleckas <paulius.zalec...@gmail.com> L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers) -S: Maintained +S: Odd Fixes F: arch/arm/mm/*-fa* ARM/FOOTBRIDGE ARCHITECTURE @@ -1733,10 +1733,9 @@ F: include/linux/tfrc.h F: net/dccp/ DECnet NETWORK LAYER -M: Christine Caulfield <christine.caulfi...@googlemail.com> W: http://linux-decnet.sourceforge.net L: linux-decnet-u...@lists.sourceforge.net -S: Maintained +S: Orphan F: Documentation/networking/decnet.txt F: net/decnet/ @@ -2033,6 +2032,12 @@ W: http://acpi4asus.sf.net S: Maintained F: drivers/platform/x86/eeepc-laptop.c +EFIFB FRAMEBUFFER DRIVER +L: linux-fb...@vger.kernel.org +M: Peter Jones <pjo...@redhat.com> +S: Maintained +F: drivers/video/efifb.c + EFS FILESYSTEM W: http://aeschi.ch.eu.org/efs/ S: Orphan @@ -3490,9 +3495,9 @@ S: Maintained F: drivers/net/wireless/libertas/ MARVELL MV643XX ETHERNET DRIVER -M: Lennert Buytenhek <buyt...@marvell.com> +M: Lennert Buytenhek <buyt...@wantstofly.org> L: net...@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/mv643xx_eth.* F: include/linux/mv643xx.h @@ -5126,7 +5131,6 @@ F: arch/alpha/kernel/srm_env.c STABLE BRANCH M: Greg Kroah-Hartman <g...@kroah.com> -M: Chris Wright <chr...@sous-sol.org> L: sta...@kernel.org S: Maintained diff --git a/Makefile b/Makefile index 12b1aa1..2349341 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 33 -EXTRAVERSION = -rc8 +EXTRAVERSION = .20 NAME = Man-Eating Seals of Antiquity # *DOCUMENTATION* diff --git a/arch/Kconfig b/arch/Kconfig index 9d055b4..25e69f7 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -6,8 +6,6 @@ config OPROFILE tristate "OProfile system profiling (EXPERIMENTAL)" depends on PROFILING depends on HAVE_OPROFILE - depends on TRACING_SUPPORT - select TRACING select RING_BUFFER select RING_BUFFER_ALLOW_SWAP help diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 62619f2..a94e49c 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -431,7 +431,7 @@ SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen) return -EFAULT; len = namelen; - if (namelen > 32) + if (len > 32) len = 32; down_read(&uts_sem); @@ -618,7 +618,7 @@ SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count) down_read(&uts_sem); res = sysinfo_table[offset]; len = strlen(res)+1; - if (len > count) + if ((unsigned long)len > (unsigned long)count) len = count; if (copy_to_user(buf, res, len)) err = -EFAULT; @@ -673,7 +673,7 @@ SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer, return 1; case GSI_GET_HWRPB: - if (nbytes < sizeof(*hwrpb)) + if (nbytes > sizeof(*hwrpb)) return -EINVAL; if (copy_to_user(buffer, hwrpb, nbytes) != 0) return -EFAULT; @@ -1035,6 +1035,7 @@ SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options, { struct rusage r; long ret, err; + unsigned int status = 0; mm_segment_t old_fs; if (!ur) @@ -1043,13 +1044,15 @@ SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options, old_fs = get_fs(); set_fs (KERNEL_DS); - ret = sys_wait4(pid, ustatus, options, (struct rusage __user *) &r); + ret = sys_wait4(pid, (unsigned int __user *) &status, options, + (struct rusage __user *) &r); set_fs (old_fs); if (!access_ok(VERIFY_WRITE, ur, sizeof(*ur))) return -EFAULT; err = 0; + err |= put_user(status, ustatus); err |= __put_user(r.ru_utime.tv_sec, &ur->ru_utime.tv_sec); err |= __put_user(r.ru_utime.tv_usec, &ur->ru_utime.tv_usec); err |= __put_user(r.ru_stime.tv_sec, &ur->ru_stime.tv_sec); diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 4fddc50..cbeb6e0 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -170,9 +170,9 @@ not_angel: .text adr r0, LC0 - ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, ip, sp} ) - THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, ip} ) - THUMB( ldr sp, [r0, #28] ) + ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) + THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) + THUMB( ldr sp, [r0, #32] ) subs r0, r0, r1 @ calculate the delta offset @ if delta is zero, we are @@ -182,12 +182,13 @@ not_angel: /* * We're running at a different address. We need to fix * up various pointers: - * r5 - zImage base address - * r6 - GOT start + * r5 - zImage base address (_start) + * r6 - size of decompressed image + * r11 - GOT start * ip - GOT end */ add r5, r5, r0 - add r6, r6, r0 + add r11, r11, r0 add ip, ip, r0 #ifndef CONFIG_ZBOOT_ROM @@ -205,10 +206,10 @@ not_angel: /* * Relocate all entries in the GOT table. */ -1: ldr r1, [r6, #0] @ relocate entries in the GOT +1: ldr r1, [r11, #0] @ relocate entries in the GOT add r1, r1, r0 @ table. This fixes up the - str r1, [r6], #4 @ C references. - cmp r6, ip + str r1, [r11], #4 @ C references. + cmp r11, ip blo 1b #else @@ -216,12 +217,12 @@ not_angel: * Relocate entries in the GOT table. We only relocate * the entries that are outside the (relocated) BSS region. */ -1: ldr r1, [r6, #0] @ relocate entries in the GOT +1: ldr r1, [r11, #0] @ relocate entries in the GOT cmp r1, r2 @ entry < bss_start || cmphs r3, r1 @ _end < entry addlo r1, r1, r0 @ table. This fixes up the - str r1, [r6], #4 @ C references. - cmp r6, ip + str r1, [r11], #4 @ C references. + cmp r11, ip blo 1b #endif @@ -247,6 +248,7 @@ not_relocated: mov r0, #0 * Check to see if we will overwrite ourselves. * r4 = final kernel address * r5 = start of this image + * r6 = size of decompressed image * r2 = end of malloc space (and therefore this image) * We basically want: * r4 >= r2 -> OK @@ -254,8 +256,7 @@ not_relocated: mov r0, #0 */ cmp r4, r2 bhs wont_overwrite - sub r3, sp, r5 @ > compressed kernel size - add r0, r4, r3, lsl #2 @ allow for 4x expansion + add r0, r4, r6 cmp r0, r5 bls wont_overwrite @@ -271,7 +272,6 @@ not_relocated: mov r0, #0 * r1-r3 = unused * r4 = kernel execution address * r5 = decompressed kernel start - * r6 = processor ID * r7 = architecture ID * r8 = atags pointer * r9-r12,r14 = corrupted @@ -312,7 +312,8 @@ LC0: .word LC0 @ r1 .word _end @ r3 .word zreladdr @ r4 .word _start @ r5 - .word _got_start @ r6 + .word _image_size @ r6 + .word _got_start @ r11 .word _got_end @ ip .word user_stack+4096 @ sp LC1: .word reloc_end - reloc_start @@ -336,7 +337,6 @@ params: ldr r0, =params_phys * * On entry, * r4 = kernel execution address - * r6 = processor ID * r7 = architecture number * r8 = atags pointer * r9 = run-time address of "start" (???) @@ -542,7 +542,6 @@ __common_mmu_cache_on: * r1-r3 = unused * r4 = kernel execution address * r5 = decompressed kernel start - * r6 = processor ID * r7 = architecture ID * r8 = atags pointer * r9-r12,r14 = corrupted @@ -581,19 +580,19 @@ call_kernel: bl cache_clean_flush * r1 = corrupted * r2 = corrupted * r3 = block offset - * r6 = corrupted + * r9 = corrupted * r12 = corrupted */ call_cache_fn: adr r12, proc_types #ifdef CONFIG_CPU_CP15 - mrc p15, 0, r6, c0, c0 @ get processor ID + mrc p15, 0, r9, c0, c0 @ get processor ID #else - ldr r6, =CONFIG_PROCESSOR_ID + ldr r9, =CONFIG_PROCESSOR_ID #endif 1: ldr r1, [r12, #0] @ get value ldr r2, [r12, #4] @ get mask - eor r1, r1, r6 @ (real ^ match) + eor r1, r1, r9 @ (real ^ match) tst r1, r2 @ & mask ARM( addeq pc, r12, r3 ) @ call cache function THUMB( addeq r12, r3 ) @@ -778,8 +777,7 @@ proc_types: * Turn off the Cache and MMU. ARMv3 does not support * reading the control register, but ARMv4 does. * - * On entry, r6 = processor ID - * On exit, r0, r1, r2, r3, r12 corrupted + * On exit, r0, r1, r2, r3, r9, r12 corrupted * This routine must preserve: r4, r6, r7 */ .align 5 @@ -852,10 +850,8 @@ __armv3_mmu_cache_off: /* * Clean and flush the cache to maintain consistency. * - * On entry, - * r6 = processor ID * On exit, - * r1, r2, r3, r11, r12 corrupted + * r1, r2, r3, r9, r11, r12 corrupted * This routine must preserve: * r0, r4, r5, r6, r7 */ @@ -967,7 +963,7 @@ __armv4_mmu_cache_flush: mov r2, #64*1024 @ default: 32K dcache size (*2) mov r11, #32 @ default: 32 byte line size mrc p15, 0, r3, c0, c0, 1 @ read cache type - teq r3, r6 @ cache ID register present? + teq r3, r9 @ cache ID register present? beq no_cache_id mov r1, r3, lsr #18 and r1, r1, #7 diff --git a/arch/arm/boot/compressed/vmlinux.lds.in b/arch/arm/boot/compressed/vmlinux.lds.in index a5924b9..cbed030 100644 --- a/arch/arm/boot/compressed/vmlinux.lds.in +++ b/arch/arm/boot/compressed/vmlinux.lds.in @@ -36,6 +36,9 @@ SECTIONS _etext = .; + /* Assume size of decompressed image is 4x the compressed image */ + _image_size = (_etext - _text) * 4; + _got_start = .; .got : { *(.got) } _got_end = .; diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 8ba7044..b07bfee 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c @@ -887,8 +887,6 @@ static int sa1111_resume(struct platform_device *dev) if (!save) return 0; - spin_lock_irqsave(&sachip->lock, flags); - /* * Ensure that the SA1111 is still here. * FIXME: shouldn't do this here. @@ -905,6 +903,13 @@ static int sa1111_resume(struct platform_device *dev) * First of all, wake up the chip. */ sa1111_wake(sachip); + + /* + * Only lock for write ops. Also, sa1111_wake must be called with + * released spinlock! + */ + spin_lock_irqsave(&sachip->lock, flags); + sa1111_writel(0, sachip->base + SA1111_INTC + SA1111_INTEN0); sa1111_writel(0, sachip->base + SA1111_INTC + SA1111_INTEN1); diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index 00f46d9..eea4947 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h @@ -215,7 +215,7 @@ @ Slightly optimised to avoid incrementing the pointer twice usraccoff \instr, \reg, \ptr, \inc, 0, \cond, \abort .if \rept == 2 - usraccoff \instr, \reg, \ptr, \inc, 4, \cond, \abort + usraccoff \instr, \reg, \ptr, \inc, \inc, \cond, \abort .endif add\cond \ptr, #\rept * \inc diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h index c77d2fa..8113bb5 100644 --- a/arch/arm/include/asm/cacheflush.h +++ b/arch/arm/include/asm/cacheflush.h @@ -42,7 +42,8 @@ #endif #if defined(CONFIG_CPU_ARM920T) || defined(CONFIG_CPU_ARM922T) || \ - defined(CONFIG_CPU_ARM925T) || defined(CONFIG_CPU_ARM1020) + defined(CONFIG_CPU_ARM925T) || defined(CONFIG_CPU_ARM1020) || \ + defined(CONFIG_CPU_ARM1026) # define MULTI_CACHE 1 #endif diff --git a/arch/arm/kernel/kprobes-decode.c b/arch/arm/kernel/kprobes-decode.c index da1f949..8bccbfa 100644 --- a/arch/arm/kernel/kprobes-decode.c +++ b/arch/arm/kernel/kprobes-decode.c @@ -583,13 +583,14 @@ static void __kprobes emulate_ldr(struct kprobe *p, struct pt_regs *regs) { insn_llret_3arg_fn_t *i_fn = (insn_llret_3arg_fn_t *)&p->ainsn.insn[0]; kprobe_opcode_t insn = p->opcode; + long ppc = (long)p->addr + 8; union reg_pair fnr; int rd = (insn >> 12) & 0xf; int rn = (insn >> 16) & 0xf; int rm = insn & 0xf; long rdv; - long rnv = regs->uregs[rn]; - long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */ + long rnv = (rn == 15) ? ppc : regs->uregs[rn]; + long rmv = (rm == 15) ? ppc : regs->uregs[rm]; long cpsr = regs->ARM_cpsr; fnr.dr = insnslot_llret_3arg_rflags(rnv, 0, rmv, cpsr, i_fn); diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index c6c57b6..621acad 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -102,6 +102,7 @@ struct cpu_cache_fns cpu_cache; #endif #ifdef CONFIG_OUTER_CACHE struct outer_cache_fns outer_cache; +EXPORT_SYMBOL(outer_cache); #endif struct stack { diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index e7714f3..962236a 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c @@ -389,7 +389,9 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka, unsigned long handler = (unsigned long)ka->sa.sa_handler; unsigned long retcode; int thumb = 0; - unsigned long cpsr = regs->ARM_cpsr & ~PSR_f; + unsigned long cpsr = regs->ARM_cpsr & ~(PSR_f | PSR_E_BIT); + + cpsr |= PSR_ENDSTATE; /* * Maybe we need to deliver a 32-bit signal to a 26-bit task. diff --git a/arch/arm/kernel/sys_oabi-compat.c b/arch/arm/kernel/sys_oabi-compat.c index d59a0cd..897b879 100644 --- a/arch/arm/kernel/sys_oabi-compat.c +++ b/arch/arm/kernel/sys_oabi-compat.c @@ -311,7 +311,7 @@ asmlinkage long sys_oabi_semtimedop(int semid, long err; int i; - if (nsops < 1) + if (nsops < 1 || nsops > SEMOPM) return -EINVAL; sops = kmalloc(sizeof(*sops) * nsops, GFP_KERNEL); if (!sops) diff --git a/arch/arm/lib/findbit.S b/arch/arm/lib/findbit.S index 1e4cbd4..64f6bc1 100644 --- a/arch/arm/lib/findbit.S +++ b/arch/arm/lib/findbit.S @@ -174,8 +174,8 @@ ENDPROC(_find_next_bit_be) */ .L_found: #if __LINUX_ARM_ARCH__ >= 5 - rsb r1, r3, #0 - and r3, r3, r1 + rsb r0, r3, #0 + and r3, r3, r0 clz r3, r3 rsb r3, r3, #31 add r0, r2, r3 @@ -190,5 +190,7 @@ ENDPROC(_find_next_bit_be) addeq r2, r2, #1 mov r0, r2 #endif + cmp r1, r0 @ Clamp to maxbit + movlo r0, r1 mov pc, lr diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 07de8db..3ecd94b 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c @@ -44,6 +44,32 @@ #define DA850_MII_MDIO_CLKEN_PIN GPIO_TO_PIN(2, 6) +#ifdef CONFIG_MTD +static void da850_evm_m25p80_notify_add(struct mtd_info *mtd) +{ + char *mac_addr = davinci_soc_info.emac_pdata->mac_addr; + size_t retlen; + + if (!strcmp(mtd->name, "MAC-Address")) { + mtd->read(mtd, 0, ETH_ALEN, &retlen, mac_addr); + if (retlen == ETH_ALEN) + pr_info("Read MAC addr from SPI Flash: %pM\n", + mac_addr); + } +} + +static struct mtd_notifier da850evm_spi_notifier = { + .add = da850_evm_m25p80_notify_add, +}; + +static void da850_evm_setup_mac_addr(void) +{ + register_mtd_user(&da850evm_spi_notifier); +} +#else +static void da850_evm_setup_mac_addr(void) { } +#endif + static struct mtd_partition da850_evm_norflash_partition[] = { { .name = "NOR filesystem", @@ -696,6 +722,8 @@ static __init void da850_evm_init(void) if (ret) pr_warning("da850_evm_init: cpuidle registration failed: %d\n", ret); + + da850_evm_setup_mac_addr(); } #ifdef CONFIG_SERIAL_8250_CONSOLE diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index b476395..a950248 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c @@ -453,7 +453,7 @@ fail: */ if (have_imager()) { label = "HD imager"; - mux |= 1; + mux |= 2; /* externally mux MMC1/ENET/AIC33 to imager */ mux |= BIT(6) | BIT(5) | BIT(3); @@ -474,7 +474,7 @@ fail: resets &= ~BIT(1); if (have_tvp7002()) { - mux |= 2; + mux |= 1; resets &= ~BIT(2); label = "tvp7002 HD"; } else { diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c index e726385..fe3bd5a 100644 --- a/arch/arm/mach-gemini/gpio.c +++ b/arch/arm/mach-gemini/gpio.c @@ -86,7 +86,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type) unsigned int reg_both, reg_level, reg_type; reg_type = __raw_readl(base + GPIO_INT_TYPE); - reg_level = __raw_readl(base + GPIO_INT_BOTH_EDGE); + reg_level = __raw_readl(base + GPIO_INT_LEVEL); reg_both = __raw_readl(base + GPIO_INT_BOTH_EDGE); switch (type) { @@ -117,7 +117,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type) } __raw_writel(reg_type, base + GPIO_INT_TYPE); - __raw_writel(reg_level, base + GPIO_INT_BOTH_EDGE); + __raw_writel(reg_level, base + GPIO_INT_LEVEL); __raw_writel(reg_both, base + GPIO_INT_BOTH_EDGE); gpio_ack_irq(irq); diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index acafdbc..51c2d37 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c @@ -147,6 +147,10 @@ static void __init rx51_add_gpio_keys(void) #endif /* CONFIG_KEYBOARD_GPIO || CONFIG_KEYBOARD_GPIO_MODULE */ static int board_keymap[] = { + /* + * Note that KEY(x, 8, KEY_XXX) entries represent "entrire row + * connected to the ground" matrix state. + */ KEY(0, 0, KEY_Q), KEY(0, 1, KEY_O), KEY(0, 2, KEY_P), @@ -154,6 +158,7 @@ static int board_keymap[] = { KEY(0, 4, KEY_BACKSPACE), KEY(0, 6, KEY_A), KEY(0, 7, KEY_S), + KEY(1, 0, KEY_W), KEY(1, 1, KEY_D), KEY(1, 2, KEY_F), @@ -162,6 +167,7 @@ static int board_keymap[] = { KEY(1, 5, KEY_J), KEY(1, 6, KEY_K), KEY(1, 7, KEY_L), + KEY(2, 0, KEY_E), KEY(2, 1, KEY_DOT), KEY(2, 2, KEY_UP), @@ -169,6 +175,8 @@ static int board_keymap[] = { KEY(2, 5, KEY_Z), KEY(2, 6, KEY_X), KEY(2, 7, KEY_C), + KEY(2, 8, KEY_F9), + KEY(3, 0, KEY_R), KEY(3, 1, KEY_V), KEY(3, 2, KEY_B), @@ -177,20 +185,23 @@ static int board_keymap[] = { KEY(3, 5, KEY_SPACE), KEY(3, 6, KEY_SPACE), KEY(3, 7, KEY_LEFT), + KEY(4, 0, KEY_T), KEY(4, 1, KEY_DOWN), KEY(4, 2, KEY_RIGHT), KEY(4, 4, KEY_LEFTCTRL), KEY(4, 5, KEY_RIGHTALT), KEY(4, 6, KEY_LEFTSHIFT), + KEY(4, 8, KEY_F10), + KEY(5, 0, KEY_Y), + KEY(5, 8, KEY_F11), + KEY(6, 0, KEY_U), + KEY(7, 0, KEY_I), KEY(7, 1, KEY_F7), KEY(7, 2, KEY_F8), - KEY(0xff, 2, KEY_F9), - KEY(0xff, 4, KEY_F10), - KEY(0xff, 5, KEY_F11), }; static struct matrix_keymap_data board_map_data = { diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 5fedc50..5fef73f 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c @@ -961,16 +961,14 @@ static void __init omap_mux_init_list(struct omap_mux *superset) while (superset->reg_offset != OMAP_MUX_TERMINATOR) { struct omap_mux *entry; -#ifndef CONFIG_OMAP_MUX - /* Skip pins that are not muxed as GPIO by bootloader */ - if (!OMAP_MODE_GPIO(omap_mux_read(superset->reg_offset))) { +#ifdef CONFIG_OMAP_MUX + if (!superset->muxnames || !superset->muxnames[0]) { superset++; continue; } -#endif - -#if defined(CONFIG_OMAP_MUX) && defined(CONFIG_DEBUG_FS) - if (!superset->muxnames || !superset->muxnames[0]) { +#else + /* Skip pins that are not muxed as GPIO by bootloader */ + if (!OMAP_MODE_GPIO(omap_mux_read(superset->reg_offset))) { superset++; continue; } diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c index d37cfa1..38c5cad 100644 --- a/arch/arm/mach-pxa/cm-x300.c +++ b/arch/arm/mach-pxa/cm-x300.c @@ -154,10 +154,10 @@ static mfp_cfg_t cm_x3xx_mfp_cfg[] __initdata = { GPIO99_GPIO, /* Ethernet IRQ */ /* RTC GPIOs */ - GPIO95_GPIO, /* RTC CS */ - GPIO96_GPIO, /* RTC WR */ - GPIO97_GPIO, /* RTC RD */ - GPIO98_GPIO, /* RTC IO */ + GPIO95_GPIO | MFP_LPM_DRIVE_HIGH, /* RTC CS */ + GPIO96_GPIO | MFP_LPM_DRIVE_HIGH, /* RTC WR */ + GPIO97_GPIO | MFP_LPM_DRIVE_HIGH, /* RTC RD */ + GPIO98_GPIO, /* RTC IO */ /* Standard I2C */ GPIO21_I2C_SCL, diff --git a/arch/arm/mach-pxa/include/mach/colibri.h b/arch/arm/mach-pxa/include/mach/colibri.h index 811743c..5f2ba8d 100644 --- a/arch/arm/mach-pxa/include/mach/colibri.h +++ b/arch/arm/mach-pxa/include/mach/colibri.h @@ -2,6 +2,7 @@ #define _COLIBRI_H_ #include <net/ax88796.h> +#include <mach/mfp.h> /* * common settings for all modules diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index ee5e392..b4575ae 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig @@ -18,6 +18,7 @@ config REALVIEW_EB_ARM11MP bool "Support ARM11MPCore tile" depends on MACH_REALVIEW_EB select CPU_V6 + select ARCH_HAS_BARRIERS if SMP help Enable support for the ARM11MPCore tile on the Realview platform. @@ -35,6 +36,7 @@ config MACH_REALVIEW_PB11MP select CPU_V6 select ARM_GIC select HAVE_PATA_PLATFORM + select ARCH_HAS_BARRIERS if SMP help Include support for the ARM(R) RealView MPCore Platform Baseboard. PB11MPCore is a platform with an on-board ARM11MPCore and has diff --git a/arch/arm/mach-realview/include/mach/barriers.h b/arch/arm/mach-realview/include/mach/barriers.h new file mode 100644 index 0000000..0c5d749 --- /dev/null +++ b/arch/arm/mach-realview/include/mach/barriers.h @@ -0,0 +1,8 @@ +/* + * Barriers redefined for RealView ARM11MPCore platforms with L220 cache + * controller to work around hardware errata causing the outer_sync() + * operation to deadlock the system. + */ +#define mb() dsb() +#define rmb() dmb() +#define wmb() mb() diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c index b270d62..62820ed 100644 --- a/arch/arm/mm/alignment.c +++ b/arch/arm/mm/alignment.c @@ -11,6 +11,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ +#include <linux/moduleparam.h> #include <linux/compiler.h> #include <linux/kernel.h> #include <linux/errno.h> @@ -77,6 +78,8 @@ static unsigned long ai_dword; static unsigned long ai_multi; static int ai_usermode; +core_param(alignment, ai_usermode, int, 0600); + #define UM_WARN (1 << 0) #define UM_FIXUP (1 << 1) #define UM_SIGNAL (1 << 2) diff --git a/arch/arm/mm/cache-v6.S b/arch/arm/mm/cache-v6.S index 4ba0a24..aa35773 100644 --- a/arch/arm/mm/cache-v6.S +++ b/arch/arm/mm/cache-v6.S @@ -169,6 +169,7 @@ ENDPROC(v6_coherent_kern_range) */ ENTRY(v6_flush_kern_dcache_area) add r1, r0, r1 + bic r0, r0, #D_CACHE_LINE_SIZE - 1 1: #ifdef HARVARD_CACHE mcr p15, 0, r0, c7, c14, 1 @ clean & invalidate D line diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S index 9073db8..5f27f4c 100644 --- a/arch/arm/mm/cache-v7.S +++ b/arch/arm/mm/cache-v7.S @@ -197,6 +197,8 @@ ENDPROC(v7_coherent_user_range) ENTRY(v7_flush_kern_dcache_area) dcache_line_size r2, r3 add r1, r0, r1 + sub r3, r2, #1 + bic r0, r0, r3 1: mcr p15, 0, r0, c7, c14, 1 @ clean & invalidate D line / unified line add r0, r0, r2 diff --git a/arch/arm/mm/copypage-feroceon.c b/arch/arm/mm/copypage-feroceon.c index 70997d5..dd9598b 100644 --- a/arch/arm/mm/copypage-feroceon.c +++ b/arch/arm/mm/copypage-feroceon.c @@ -18,7 +18,7 @@ feroceon_copy_user_page(void *kto, const void *kfrom) { asm("\ stmfd sp!, {r4-r9, lr} \n\ - mov ip, %0 \n\ + mov ip, %2 \n\ 1: mov lr, r1 \n\ ldmia r1!, {r2 - r9} \n\ pld [lr, #32] \n\ @@ -64,7 +64,7 @@ feroceon_copy_user_page(void *kto, const void *kfrom) mcr p15, 0, ip, c7, c10, 4 @ drain WB\n\ ldmfd sp!, {r4-r9, pc}" : - : "I" (PAGE_SIZE)); + : "r" (kto), "r" (kfrom), "I" (PAGE_SIZE)); } void feroceon_copy_user_highpage(struct page *to, struct page *from, diff --git a/arch/arm/mm/copypage-v4wb.c b/arch/arm/mm/copypage-v4wb.c index 9ab0984..7bc0ac7 100644 --- a/arch/arm/mm/copypage-v4wb.c +++ b/arch/arm/mm/copypage-v4wb.c @@ -27,7 +27,7 @@ v4wb_copy_user_page(void *kto, const void *kfrom) { asm("\ stmfd sp!, {r4, lr} @ 2\n\ - mov r2, %0 @ 1\n\ + mov r2, %2 @ 1\n\
_______________________________________________ unionfs-cvs mailing list: http://unionfs.filesystems.org/ unionfs-cvs@fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs