1. 28 5月, 2011 2 次提交
  2. 27 5月, 2011 1 次提交
  3. 26 5月, 2011 37 次提交
    • W
      ARM: 6944/1: mm: allow ASID 0 to be allocated to tasks · 45b95235
      Will Deacon 提交于
      Now that ASID 0 is no longer used as a reserved value, allow it to be
      allocated to tasks.
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      45b95235
    • W
      ARM: 6943/1: mm: use TTBR1 instead of reserved context ID · 52af9c6c
      Will Deacon 提交于
      On ARMv7 CPUs that cache first level page table entries (like the
      Cortex-A15), using a reserved ASID while changing the TTBR or flushing
      the TLB is unsafe.
      
      This is because the CPU may cache the first level entry as the result of
      a speculative memory access while the reserved ASID is assigned. After
      the process owning the page tables dies, the memory will be reallocated
      and may be written with junk values which can be interpreted as global,
      valid PTEs by the processor. This will result in the TLB being populated
      with bogus global entries.
      
      This patch avoids the use of a reserved context ID in the v7 switch_mm
      and ASID rollover code by temporarily using the swapper_pg_dir pointed
      at by TTBR1, which contains only global entries that are not tagged
      with ASIDs.
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      52af9c6c
    • C
      ARM: 6942/1: mm: make TTBR1 always point to swapper_pg_dir on ARMv6/7 · d427958a
      Catalin Marinas 提交于
      This patch makes TTBR1 point to swapper_pg_dir so that global, kernel
      mappings can be used exclusively on v6 and v7 cores where they are
      needed.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d427958a
    • W
      ARM: 6941/1: cache: ensure MVA is cacheline aligned in flush_kern_dcache_area · a248b13b
      Will Deacon 提交于
      The v6 and v7 implementations of flush_kern_dcache_area do not align
      the passed MVA to the size of a cacheline in the data cache. If a
      misaligned address is used, only a subset of the requested area will
      be flushed. This has been observed to cause failures in SMP boot where
      the secondary_data initialised by the primary CPU is not cacheline
      aligned, causing the secondary CPUs to read incorrect values for their
      pgd and stack pointers.
      
      This patch ensures that the base address is cacheline aligned before
      flushing the d-cache.
      
      Cc: <stable@kernel.org>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      a248b13b
    • R
      ARM: add sendmmsg syscall · a85fab1c
      Russell King 提交于
      Commit 228e548e (net: Add sendmmsg socket system call) added the new
      sendmmsg syscall.  Add this to the syscall table for ARM.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      a85fab1c
    • J
      ARM: 6863/1: allow hotplug on msm · fbb9e0b6
      Jeffrey Ohlstein 提交于
      Hotplug support was added in 9f1890a5 (msm: hotplug: support cpu hotplug
      on msm, 2010-12-02)
      Signed-off-by: NJeff Ohlstein <johlstei@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fbb9e0b6
    • P
      ARM: 6832/1: mmci: support for ST-Ericsson db8500v2 · 1784b157
      Philippe Langlais 提交于
      ST-Ericsson modified ARM PrimeCell PL180 block has not got
      an updated corresponding amba-id, althought the IP block has
      changed in db8500v2. The change was done to the datactrl register.
      Using the overrided subversion ID, account for this.
      Signed-off-by: NPhilippe Langlais <philippe.langlais@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      1784b157
    • L
      ARM: 6830/1: mach-ux500: force PrimeCell revisions · 72930319
      Linus Walleij 提交于
      The DB8500v2 and DB5500 has a fifth version of the "PL023" and
      PL180 blocks. However the ASIC engineers have forgot to bump the
      revision in the PrimeCell peripheral ID registers. Since the
      platform is aware of the actual silicon revision we need to
      hard-code the periphid from the platform, bumping the subrevision
      field to 1.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      72930319
    • L
      ARM: 6829/1: amba: make hardcoded periphid override hardware · 97ceed1f
      Linus Walleij 提交于
      This makes a hardcoded periphid from the platform override any
      magic number found in the hardware. This shall henceforth be used
      when the information found in the hardware is either missing,
      i.e. not encoding the CID with the magic cookie 0xb105f00d, or
      incorrect such that the revision number should have been bumped in
      hardware, but the silicon designer has failed to do so.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      97ceed1f
    • L
      ARM: 6828/1: mach-ux500: delete SSP PrimeCell ID · e536fbe1
      Linus Walleij 提交于
      This is redundant. The correct ID number is right there in the
      hardware anyway. We will introduce a mechanism later to hard-code
      this for deviant cells.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      e536fbe1
    • L
      ARM: 6827/1: mach-netx: delete hardcoded periphid · 5de5a4dd
      Linus Walleij 提交于
      The periphid of the AMBA CLCD controller is hardcoded to a value
      that the CLCD driver does not even support.
      
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      5de5a4dd
    • D
      ARM: 6940/1: fiq: Briefly document driver responsibilities for suspend/resume · 2846d84f
      Dave Martin 提交于
      Drivers which make use of the FIQ interrupt may require the state
      of the FIQ mode registers to be preserved across suspend/resume.
      
      Because the FIQ mode registers are not saved and restored
      automatically by the kernel, driver authors will need to do the
      appropriate save/restore in their own driver suspend/resume
      handlers.
      
      Implementing global automatic save/restore of the FIQ state does
      not appear appropriate, since this by itself is not sufficient for
      FIQ-based drivers to function correctly across suspend/resume in
      any case.
      
      This patch adds a brief explanatory note to fiq.h documenting the
      requirement placed on driver authors.
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2846d84f
    • D
      ARM: 6938/1: fiq: Refactor {get,set}_fiq_regs() for Thumb-2 · dc2eb928
      Dave Martin 提交于
       * To remove the risk of inconvenient register allocation decisions
         by the compiler, these functions are separated out as pure
         assembler.
      
       * The apcs frame manipulation code is not applicable for Thumb-2
         (and also not easily compatible).  Since it's not essential to
         have a full frame on these leaf assembler functions, the frame
         manipulation is removed, in the interests of simplicity.
      
       * Split up ldm/stm instructions to be compatible with Thumb-2,
         as well as avoiding instruction forms deprecated on >= ARMv7.
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Reviewed-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      dc2eb928
    • W
      ARM: 6914/1: sparsemem: fix highmem detection when using SPARSEMEM · 40f7bfe4
      Will Deacon 提交于
      sanity_check_meminfo walks over the registered memory banks and attempts
      to split banks across lowmem and highmem when they would otherwise
      overlap with the vmalloc space.
      
      When SPARSEMEM is used, there are two potential problems that occur
      when the virtual address of the start of a bank is equal to vmalloc_min.
      
       1.) The end of lowmem is calculated as __pa(vmalloc_min - 1) + 1.
           In the above scenario, this will give the end address of the
           previous bank, rather than the actual bank we are interested in.
           This value is later used as the memblock limit and artificially
           restricts the total amount of available memory.
      
       2.) The checks to determine whether or not a bank belongs to highmem
           or not only check if __va(bank->start) is greater or less than
           vmalloc_min. In the case that it is equal, the bank is incorrectly
           treated as lowmem, which hoses the vmalloc area.
      
      This patch fixes these two problems by checking whether the virtual
      start address of a bank is >= vmalloc_min and then calculating
      lowmem_end by finding the virtual end address of the highest lowmem
      bank.
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Reviewed-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      40f7bfe4
    • W
      ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM · 7b7bf499
      Will Deacon 提交于
      In commit eb33575c ("[ARM] Double check memmap is actually valid with a
      memmap has unexpected holes V2"), a new function, memmap_valid_within,
      was introduced to mmzone.h so that holes in the memmap which pass
      pfn_valid in SPARSEMEM configurations can be detected and avoided.
      
      The fix to this problem checks that the pfn <-> page linkages are
      correct by calculating the page for the pfn and then checking that
      page_to_pfn on that page returns the original pfn. Unfortunately, in
      SPARSEMEM configurations, this results in reading from the page flags to
      determine the correct section. Since the memmap here has been freed,
      junk is read from memory and the check is no longer robust.
      
      In the best case, reading from /proc/pagetypeinfo will give you the
      wrong answer. In the worst case, you get SEGVs, Kernel OOPses and hung
      CPUs. Furthermore, ioremap implementations that use pfn_valid to
      disallow the remapping of normal memory will break.
      
      This patch allows architectures to provide their own pfn_valid function
      instead of using the default implementation used by sparsemem. The
      architecture-specific version is aware of the memmap state and will
      return false when passed a pfn for a freed page within a valid section.
      Acked-by: NMel Gorman <mgorman@suse.de>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Tested-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7b7bf499
    • E
      tmpfs: fix XATTR N overriding POSIX_ACL Y · 4db70f73
      Eric Paris 提交于
      Choosing TMPFS_XATTR default N was switching off TMPFS_POSIX_ACL,
      even if it had been Y in oldconfig; and Linus reports that PulseAudio
      goes subtly wrong unless it can use ACLs on /dev/shm.
      
      Make TMPFS_POSIX_ACL select TMPFS_XATTR (and depend upon TMPFS),
      and move the TMPFS_POSIX_ACL entry before the TMPFS_XATTR entry,
      to avoid asking unnecessary questions then ignoring their answers.
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4db70f73
    • S
      video: mb862xx: udelay need linux/delay.h · 520fd845
      Stephen Rothwell 提交于
      Fix this:
      
        drivers/video/mb862xx/mb862xx-i2c.c: In function 'mb862xx_i2c_wait_event':
        drivers/video/mb862xx/mb862xx-i2c.c:25: error: implicit declaration of function 'udelay'
      
      caused by commit f8a6b1f4 ("video: mb862xx: add support for
      controller's I2C bus adapter").
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      520fd845
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd · 14d74e0c
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:
        net: fix get_net_ns_by_fd for !CONFIG_NET_NS
        ns proc: Return -ENOENT for a nonexistent /proc/self/ns/ entry.
        ns: Declare sys_setns in syscalls.h
        net: Allow setting the network namespace by fd
        ns proc: Add support for the ipc namespace
        ns proc: Add support for the uts namespace
        ns proc: Add support for the network namespace.
        ns: Introduce the setns syscall
        ns: proc files for namespace naming policy.
      14d74e0c
    • L
      slub: remove no-longer used 'unlock_out' label · 49a78d08
      Linus Torvalds 提交于
      Commit a71ae47a ("slub: Fix double bit unlock in debug mode")
      removed the only goto to this label, resulting in
      
        mm/slub.c: In function '__slab_alloc':
        mm/slub.c:1834: warning: label 'unlock_out' defined but not used
      
      fixed trivially by the removal of the label itself too.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Christoph Lameter <cl@linux.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      49a78d08
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 3f5785ec
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (89 commits)
        bonding: documentation and code cleanup for resend_igmp
        bonding: prevent deadlock on slave store with alb mode (v3)
        net: hold rtnl again in dump callbacks
        Add Fujitsu 1000base-SX PCI ID to tg3
        bnx2x: protect sequence increment with mutex
        sch_sfq: fix peek() implementation
        isdn: netjet - blacklist Digium TDM400P
        via-velocity: don't annotate MAC registers as packed
        xen: netfront: hold RTNL when updating features.
        sctp: fix memory leak of the ASCONF queue when free asoc
        net: make dev_disable_lro use physical device if passed a vlan dev (v2)
        net: move is_vlan_dev into public header file (v2)
        bug.h: Fix build with CONFIG_PRINTK disabled.
        wireless: fix fatal kernel-doc error + warning in mac80211.h
        wireless: fix cfg80211.h new kernel-doc warnings
        iwlagn: dbg_fixed_rate only used when CONFIG_MAC80211_DEBUGFS enabled
        dst: catch uninitialized metrics
        be2net: hash key for rss-config cmd not set
        bridge: initialize fake_rtable metrics
        net: fix __dst_destroy_metrics_generic()
        ...
      
      Fix up trivial conflicts in drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c
      3f5785ec
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 8c1c77ff
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (75 commits)
        mmc: core: eMMC bus width may not work on all platforms
        mmc: sdhci: Auto-CMD23 fixes.
        mmc: sdhci: Auto-CMD23 support.
        mmc: core: Block CMD23 support for UHS104/SDXC cards.
        mmc: sdhci: Implement MMC_CAP_CMD23 for SDHCI.
        mmc: core: Use CMD23 for multiblock transfers when we can.
        mmc: quirks: Add/remove quirks conditional support.
        mmc: Add new VUB300 USB-to-SD/SDIO/MMC driver
        mmc: sdhci-pxa: Add quirks for DMA/ADMA to match h/w
        mmc: core: duplicated trial with same freq in mmc_rescan_try_freq()
        mmc: core: add support for eMMC Dual Data Rate
        mmc: core: eMMC signal voltage does not use CMD11
        mmc: sdhci-pxa: add platform code for UHS signaling
        mmc: sdhci: add hooks for setting UHS in platform specific code
        mmc: core: clear MMC_PM_KEEP_POWER flag on resume
        mmc: dw_mmc: fixed wrong regulator_enable in suspend/resume
        mmc: sdhi: allow powering down controller with no card inserted
        mmc: tmio: runtime suspend the controller, where possible
        mmc: sdhi: support up to 3 interrupt sources
        mmc: sdhi: print physical base address and clock rate
        ...
      8c1c77ff
    • L
      Merge branch 'kconfig-for-40' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 · f3ae1c75
      Linus Torvalds 提交于
      * 'kconfig-for-40' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
        xconfig: merge code path to conf_write()
        kconfig: do not record timestamp in .config
        gconfig: Hide unused left treeview when start up the interface
        gconfig: enable rules hint for main treeviews
        MAINTAINERS: Update KCONFIG entry
        kconfig-language: add to hints
        kconfig: Document the new "visible if" syntax
        kconfig: quiet commands when V=0
        kconfig: change update-po-config to reflect new layout of arch/um
        kconfig: make update-po-config work in KBUILD_OUTPUT
        kconfig: rearrange clean-files
        kconfig: change gconf to modify hostprogs-y like nconf and mconf
        kconfig: change qconf to modify hostprogs-y like nconf and mconf
        kconfig: only build kxgettext when needed
        nconfig: Silence unused return values from wattrset
        kconfig: Do not record timestamp in auto.conf and autoconf.h
        kconfig: get rid of unused flags
        kconfig: allow multiple inclusion of the same file
        kconfig: Avoid buffer underrun in choice input
      f3ae1c75
    • L
      Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc · 9720d753
      Linus Torvalds 提交于
      * 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc:
        signal: sys_pause() should check signal_pending()
        ptrace: ptrace_resume() shouldn't wake up !TASK_TRACED thread
      9720d753
    • L
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 0c63e38a
      Linus Torvalds 提交于
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: New driver for the SMSC EMC6W201
        hwmon: (abituguru) Depend on DMI
        hwmon: (it87) Use request_muxed_region
        hwmon: (sch5627) Trigger Vbat measurements
        hwmon: (sch5627) Add sch5627_send_cmd function
        i8k: Integrate with the hwmon subsystem
        hwmon: (max6650) Properly support the MAX6650
        hwmon: (max6650) Drop device detection
        Move ACPI power meter driver to hwmon
        hwmon: (f71882fg) Add support for F71808A
        hwmon: (f71882fg) Split has_beep in fan_has_beep and temp_has_beep
        hwmon: (asc7621) Drop duplicate dependency
        hwmon: (jc42) Change detection class
        hwmon: Add driver for AMD family 15h processor power information
        hwmon: (k10temp) Add support for Fam15h (Bulldozer)
        hwmon: Use helper functions to set and get driver data
        i8k: Avoid lahf in 64-bit code
      0c63e38a
    • R
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 0798b1db
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (26 commits)
        arch/tile: prefer "tilepro" as the name of the 32-bit architecture
        compat: include aio_abi.h for aio_context_t
        arch/tile: cleanups for tilegx compat mode
        arch/tile: allocate PCI IRQs later in boot
        arch/tile: support signal "exception-trace" hook
        arch/tile: use better definitions of xchg() and cmpxchg()
        include/linux/compat.h: coding-style fixes
        tile: add an RTC driver for the Tilera hypervisor
        arch/tile: finish enabling support for TILE-Gx 64-bit chip
        compat: fixes to allow working with tile arch
        arch/tile: update defconfig file to something more useful
        tile: do_hardwall_trap: do not play with task->sighand
        tile: replace mm->cpu_vm_mask with mm_cpumask()
        tile,mn10300: add device parameter to dma_cache_sync()
        audit: support the "standard" <asm-generic/unistd.h>
        arch/tile: clarify flush_buffer()/finv_buffer() function names
        arch/tile: kernel-related cleanups from removing static page size
        arch/tile: various header improvements for building drivers
        arch/tile: disable GX prefetcher during cache flush
        arch/tile: tolerate disabling CONFIG_BLK_DEV_INITRD
        ...
      0798b1db
    • L
      Merge branch 'for-torvalds' of... · ad363e09
      Linus Torvalds 提交于
      Merge branch 'for-torvalds' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson
      
      * 'for-torvalds' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
        mach-ux500: voltage domain regulators for DB8500
        cpufreq: make DB8500 cpufreq driver compile
        cpufreq: update DB8500 cpufreq driver
        mach-ux500: move CPUfreq driver to cpufreq subsystem
        mfd: add DB5500 PRCMU driver
        mfd: update DB8500 PRCMU driver
        mach-ux500: move the DB8500 PRCMU driver to MFD
        mach-ux500: make PRCMU base address dynamic
        mach-ux500: rename PRCMU driver per SoC
        mach-ux500: update ASIC version detection
        mach-ux500: update SoC and board IRQ handling
        mach-ux500: update the DB5500 register file
        mach-ux500: update the DB8500 register file
      ad363e09
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin · ed0795aa
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (37 commits)
        Blackfin: use new common PERCPU_INPUT define
        MAINTAINERS: Fix Analog Devices mailinglist address
        Blackfin: boards: update ASoC resources after machine driver overhaul
        Blackfin: work around anomaly 05000480
        Blackfin: fix addr type with bfin_write_{or,and} helpers
        Blackfin: convert /proc/sram to seq_file
        Blackfin: switch /proc/gpio to seq_file
        Blackfin: fix indentation with bfin_read() helper
        Blackfin: convert old cpumask API to new one
        Blackfin: don't touch task->cpus_allowed directly
        Blackfin: don't touch cpu_possible_map and cpu_present_map directly
        Blackfin: bf548-ezkit/bf561-ezkit: update nor flash layout
        Blackfin: initial perf_event support
        Blackfin: update anomaly lists to latest public info
        Blackfin: use on-chip reset func with newer parts
        Blackfin: bf533-stamp/bf537-stamp: drop ad1980 from defconfigs
        Blackfin: optimize MMR reads during startup a bit
        Blackfin: bf537: demux port H mask A and emac rx ints
        Blackfin: bf537: fix excessive gpio int demuxing
        Blackfin: bf54x: drop unused pm gpio handling
        ...
      ed0795aa
    • L
      Merge branch 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 4e8a780e
      Linus Torvalds 提交于
      * 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (34 commits)
        ARM: mach-shmobile: mackerel: add renesas_usbhs support for USB1
        ARM: mach-shmobile: Correct the G4EVM SDHI0 I/O range.
        ARM: arch-shmobile: sh7372: add renesas_usbhs irq support
        ARM: mach-shmobile: sh73a0: mark DMA slave ID 0 as invalid
        ARM: mach-shmobile: mark DMA slave ID 0 as invalid
        ARM: mach-shmobile: Enable DMAEngine for SDHI on AG5EVM
        ARM: mach-shmobile: Enable DMAEngine for MMCIF on AG5EVM
        ARM: mach-shmobile: sh73a0 DMA Engine support for SY-DMAC
        dmaengine: shdma: Update SH_DMAC_MAX_CHANNELS to 20
        dmaengine: shdma: Fix SH_DMAC_MAX_CHANNELS handling
        dmaengine: shdma: Make second memory window optional
        ARM: mach-shmobile: Tidy up after SH7372 pm changes.
        ARM: mach-shmobile: sh7372 Core Standby CPUIdle
        ARM: mach-shmobile: CPUIdle support
        ARM: mach-shmobile: sh7372 Core Standby Suspend-to-RAM
        ARM: mach-shmobile: Suspend-to-RAM support
        mailmap: Add entry for Damian Hobson-Garcia.
        ARM: switch mackerel to dynamically manage the platform camera
        ARM: mach-shmobile: Add SDHI support for AG5EVM and sh73a0
        ARM: arch-shmobile: Use multiple irq vectors for SDHI
        ...
      4e8a780e
    • T
      hrtimers: Fix typo causing erratic timers · 90ff1f30
      Thomas Gleixner 提交于
      commit 9ec26907 ("timerfd: Manage cancelable timers in timerfd")
      introduced a CONFIG_HIGHRES_TIMERS (should be CONFIG_HIGH_RES_TIMERS)
      typo, which caused applications depending on CLOCK_REALTIME timers to
      become sluggy due to the fact that the time base of the realtime
      timers was not updated when the wall clock time was set.
      
      This causes anything from 100% CPU use for some applications to odd
      delays and hickups.
      Reported-bisected-and-tested-by: NAnca Emanuel <anca.emanuel@gmail.com>
      Tested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Fatfingered-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      90ff1f30
    • F
      bonding: documentation and code cleanup for resend_igmp · 94265cf5
      Flavio Leitner 提交于
      Improves the documentation about how IGMP resend parameter
      works, fix two missing checks and coding style issues.
      Signed-off-by: NFlavio Leitner <fbl@redhat.com>
      Acked-by: NRick Jones <rick.jones2@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      94265cf5
    • N
      bonding: prevent deadlock on slave store with alb mode (v3) · 9fe0617d
      Neil Horman 提交于
      This soft lockup was recently reported:
      
      [root@dell-per715-01 ~]# echo +bond5 > /sys/class/net/bonding_masters
      [root@dell-per715-01 ~]# echo +eth1 > /sys/class/net/bond5/bonding/slaves
      bonding: bond5: doing slave updates when interface is down.
      bonding bond5: master_dev is not up in bond_enslave
      [root@dell-per715-01 ~]# echo -eth1 > /sys/class/net/bond5/bonding/slaves
      bonding: bond5: doing slave updates when interface is down.
      
      BUG: soft lockup - CPU#12 stuck for 60s! [bash:6444]
      CPU 12:
      Modules linked in: bonding autofs4 hidp rfcomm l2cap bluetooth lockd sunrpc
      be2d
      Pid: 6444, comm: bash Not tainted 2.6.18-262.el5 #1
      RIP: 0010:[<ffffffff80064bf0>]  [<ffffffff80064bf0>]
      .text.lock.spinlock+0x26/00
      RSP: 0018:ffff810113167da8  EFLAGS: 00000286
      RAX: ffff810113167fd8 RBX: ffff810123a47800 RCX: 0000000000ff1025
      RDX: 0000000000000000 RSI: ffff810123a47800 RDI: ffff81021b57f6f8
      RBP: ffff81021b57f500 R08: 0000000000000000 R09: 000000000000000c
      R10: 00000000ffffffff R11: ffff81011d41c000 R12: ffff81021b57f000
      R13: 0000000000000000 R14: 0000000000000282 R15: 0000000000000282
      FS:  00002b3b41ef3f50(0000) GS:ffff810123b27940(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 00002b3b456dd000 CR3: 000000031fc60000 CR4: 00000000000006e0
      
      Call Trace:
       [<ffffffff80064af9>] _spin_lock_bh+0x9/0x14
       [<ffffffff886937d7>] :bonding:tlb_clear_slave+0x22/0xa1
       [<ffffffff8869423c>] :bonding:bond_alb_deinit_slave+0xba/0xf0
       [<ffffffff8868dda6>] :bonding:bond_release+0x1b4/0x450
       [<ffffffff8006457b>] __down_write_nested+0x12/0x92
       [<ffffffff88696ae4>] :bonding:bonding_store_slaves+0x25c/0x2f7
       [<ffffffff801106f7>] sysfs_write_file+0xb9/0xe8
       [<ffffffff80016b87>] vfs_write+0xce/0x174
       [<ffffffff80017450>] sys_write+0x45/0x6e
       [<ffffffff8005d28d>] tracesys+0xd5/0xe0
      
      It occurs because we are able to change the slave configuarion of a bond while
      the bond interface is down.  The bonding driver initializes some data structures
      only after its ndo_open routine is called.  Among them is the initalization of
      the alb tx and rx hash locks.  So if we add or remove a slave without first
      opening the bond master device, we run the risk of trying to lock/unlock a
      spinlock that has garbage for data in it, which results in our above softlock.
      
      Note that sometimes this works, because in many cases an unlocked spinlock has
      the raw_lock parameter initialized to zero (meaning that the kzalloc of the
      net_device private data is equivalent to calling spin_lock_init), but thats not
      true in all cases, and we aren't guaranteed that condition, so we need to pass
      the relevant spinlocks through the spin_lock_init function.
      
      Fix it by moving the spin_lock_init calls for the tx and rx hashtable locks to
      the ndo_init path, so they are ready for use by the bond_store_slaves path.
      
      Change notes:
      v2) Based on conversation with Jay and Nicolas it seems that the ability to
      enslave devices while the bond master is down should be safe to do.  As such
      this is an outlier bug, and so instead we'll just initalize the errant spinlocks
      in the init path rather than the open path, solving the problem.  We'll also
      remove the warnings about the bond being down during enslave operations, since
      it should be safe
      
      v3) Fix spelling error
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Reported-by: jtluka@redhat.com
      CC: Jay Vosburgh <fubar@us.ibm.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      CC: nicolas.2p.debian@gmail.com
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9fe0617d
    • E
      net: hold rtnl again in dump callbacks · 2907c35f
      Eric Dumazet 提交于
      Commit e67f88dd (dont hold rtnl mutex during netlink dump callbacks)
      missed fact that rtnl_fill_ifinfo() must be called with rtnl held.
      
      Because of possible deadlocks between two mutexes (cb_mutex and rtnl),
      its not easy to solve this problem, so revert this part of the patch.
      
      It also forgot one rcu_read_unlock() in FIB dump_rules()
      
      Add one ASSERT_RTNL() in rtnl_fill_ifinfo() to remind us the rule.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Patrick McHardy <kaber@trash.net>
      CC: Stephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2907c35f
    • M
      Add Fujitsu 1000base-SX PCI ID to tg3 · 1dcb14d9
      Meelis Roos 提交于
      This patch adds the PCI ID of Fujitsu 1000base-SX NIC to tg3 driver.
      Tested to detect the card, MAC and serdes, not tested with link at the
      moment since I have no fiber switch here. I did not add new constants to
      the pci_ids.h header file since these constants are used only here.
      Signed-off-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1dcb14d9
    • D
      a5971d43
    • E
      sch_sfq: fix peek() implementation · 07bd8df5
      Eric Dumazet 提交于
      Since commit eeaeb068 (sch_sfq: allow big packets and be fair),
      sfq_peek() can return a different skb that would be normally dequeued by
      sfq_dequeue() [ if current slot->allot is negative ]
      
      Use generic qdisc_peek_dequeued() instead of custom implementation, to
      get consistent result.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Jarek Poplawski <jarkao2@gmail.com>
      CC: Patrick McHardy <kaber@trash.net>
      CC: Jesper Dangaard Brouer <hawk@diku.dk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      07bd8df5
    • P
      isdn: netjet - blacklist Digium TDM400P · 367bbf2a
      Prarit Bhargava 提交于
      [2nd try ... 1st attempt didn't make it to netdev mailing list]
      
      A quick google search reveals that people with this card are blacklisting it
      in the initramfs and in the module blacklist based on a statement that it
      is unsupported. Since the older Digium is also unsupported I'm pretty
      confident that this newer card is also not supported.
      
      lspci -xxx -vv shows
      
      04:07.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
              Subsystem: Device b100:0003
      P.
      
      ----8<----
      The Asterisk Voice Card, DIGIUM TDM400P is unsupported by the netjet driver.
      Blacklist it like the Digium X100P/X101P card.
      Signed-off-by: NPrarit Bhargava <prarit@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      367bbf2a