1. 25 Jun, 2012 1 commit
  2. 03 Jun, 2012 1 commit
    • Marc Dionne's avatar
      HID: logitech: don't use stack based dj_report structures · d8dc3494
      Marc Dionne authored
      On a system with a logitech wireless keyboard/mouse and DMA-API debugging
      enabled, this warning appears at boot:
      
      kernel: WARNING: at lib/dma-debug.c:929 check_for_stack.part.12+0x70/0xa7()
      kernel: Hardware name: MS-7593
      kernel: uhci_hcd 0000:00:1d.1: DMA-API: device driver maps memory fromstack [addr=ffff8801b0079c29]
      
      Make logi_dj_recv_query_paired_devices and logi_dj_recv_switch_to_dj_mode
      use a structure allocated with kzalloc rather than a stack based one.
      Signed-off-by: default avatarMarc Dionne <marc.c.dionne@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      d8dc3494
  3. 23 May, 2012 7 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 3c2c4b73
      Linus Torvalds authored
      Pull HID subsystem updates from Jiri Kosina:
       "Apart from various driver updates and added support for a number of
        new devices (mostly multitouch ones, but not limited to), there is one
        change that is worth pointing out explicitly: creation of HID device
        groups and proper autoloading of hid-multitouch, implemented by Henrik
        Rydberg."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (50 commits)
        HID: wacom: fix build breakage without CONFIG_LEDS_CLASS
        HID: waltop: Extend barrel button fix
        HID: hyperv: Set the hid drvdata correctly
        HID: wacom: Unify speed setting
        HID: wacom: Add speed setting for Intuos4 WL
        HID: wacom: Move Graphire raport header check.
        HID: uclogic: Add support for UC-Logic TWHL850
        HID: explain the signed/unsigned handling in hid_add_field()
        HID: handle logical min/max signedness properly in parser
        HID: logitech: read all 32 bits of report type bitfield
        HID: wacom: Add LED selector control for Wacom Intuos4 WL
        HID: hid-multitouch: fix wrong protocol detection
        HID: wiimote: Fix IR data parser
        HID: wacom: Add tilt reporting for Intuos4 WL
        HID: multitouch: MT interface matching for Baanto
        HID: hid-multitouch: Only match MT interfaces
        HID: Create a common generic driver
        HID: hid-multitouch: Switch to device groups
        HID: Create a generic device group
        HID: Allow bus wildcard matching
        ...
      3c2c4b73
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f08b9c2f
      Linus Torvalds authored
      Pull x86/apic changes from Ingo Molnar:
       "Most of the changes are about helping virtualized guest kernels
        achieve better performance."
      
      Fix up trivial conflicts with the iommu updates to arch/x86/kernel/apic/io_apic.c
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Implement EIO micro-optimization
        x86/apic: Add apic->eoi_write() callback
        x86/apic: Use symbolic APIC_EOI_ACK
        x86/apic: Fix typo EIO_ACK -> EOI_ACK and document it
        x86/xen/apic: Add missing #include <xen/xen.h>
        x86/apic: Only compile local function if used with !CONFIG_GENERIC_PENDING_IRQ
        x86/apic: Fix UP boot crash
        x86: Conditionally update time when ack-ing pending irqs
        xen/apic: implement io apic read with hypercall
        Revert "xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'"
        xen/x86: Implement x86_apic_ops
        x86/apic: Replace io_apic_ops with x86_io_apic_ops.
      f08b9c2f
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d79ee93d
      Linus Torvalds authored
      Pull scheduler changes from Ingo Molnar:
       "The biggest change is the cleanup/simplification of the load-balancer:
        instead of the current practice of architectures twiddling scheduler
        internal data structures and providing the scheduler domains in
        colorfully inconsistent ways, we now have generic scheduler code in
        kernel/sched/core.c:sched_init_numa() that looks at the architecture's
        node_distance() parameters and (while not fully trusting it) deducts a
        NUMA topology from it.
      
        This inevitably changes balancing behavior - hopefully for the better.
      
        There are various smaller optimizations, cleanups and fixlets as well"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Taint kernel with TAINT_WARN after sleep-in-atomic bug
        sched: Remove stale power aware scheduling remnants and dysfunctional knobs
        sched/debug: Fix printing large integers on 32-bit platforms
        sched/fair: Improve the ->group_imb logic
        sched/nohz: Fix rq->cpu_load[] calculations
        sched/numa: Don't scale the imbalance
        sched/fair: Revert sched-domain iteration breakage
        sched/x86: Rewrite set_cpu_sibling_map()
        sched/numa: Fix the new NUMA topology bits
        sched/numa: Rewrite the CONFIG_NUMA sched domain support
        sched/fair: Propagate 'struct lb_env' usage into find_busiest_group
        sched/fair: Add some serialization to the sched_domain load-balance walk
        sched/fair: Let minimally loaded cpu balance the group
        sched: Change rq->nr_running to unsigned int
        x86/numa: Check for nonsensical topologies on real hw as well
        x86/numa: Hard partition cpu topology masks on node boundaries
        x86/numa: Allow specifying node_distance() for numa=fake
        x86/sched: Make mwait_usable() heed to "idle=" kernel parameters properly
        sched: Update documentation and comments
        sched_rt: Avoid unnecessary dequeue and enqueue of pushable tasks in set_cpus_allowed_rt()
      d79ee93d
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2ff2b289
      Linus Torvalds authored
      Pull perf changes from Ingo Molnar:
       "Lots of changes:
      
         - (much) improved assembly annotation support in perf report, with
           jump visualization, searching, navigation, visual output
           improvements and more.
      
          - kernel support for AMD IBS PMU hardware features.  Notably 'perf
            record -e cycles:p' and 'perf top -e cycles:p' should work without
            skid now, like PEBS does on the Intel side, because it takes
            advantage of IBS transparently.
      
          - the libtracevents library: it is the first step towards unifying
            tracing tooling and perf, and it also gives a tracing library for
            external tools like powertop to rely on.
      
          - infrastructure: various improvements and refactoring of the UI
            modules and related code
      
          - infrastructure: cleanup and simplification of the profiling
            targets code (--uid, --pid, --tid, --cpu, --all-cpus, etc.)
      
          - tons of robustness fixes all around
      
          - various ftrace updates: speedups, cleanups, robustness
            improvements.
      
          - typing 'make' in tools/ will now give you a menu of projects to
            build and a short help text to explain what each does.
      
          - ... and lots of other changes I forgot to list.
      
        The perf record make bzImage + perf report regression you reported
        should be fixed."
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (166 commits)
        tracing: Remove kernel_lock annotations
        tracing: Fix initial buffer_size_kb state
        ring-buffer: Merge separate resize loops
        perf evsel: Create events initially disabled -- again
        perf tools: Split term type into value type and term type
        perf hists: Fix callchain ip printf format
        perf target: Add uses_mmap field
        ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER
        ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()
        ftrace: Make ftrace_modify_all_code() global for archs to use
        ftrace: Return record ip addr for ftrace_location()
        ftrace: Consolidate ftrace_location() and ftrace_text_reserved()
        ftrace: Speed up search by skipping pages by address
        ftrace: Remove extra helper functions
        ftrace: Sort all function addresses, not just per page
        tracing: change CPU ring buffer state from tracing_cpumask
        tracing: Check return value of tracing_dentry_percpu()
        ring-buffer: Reset head page before running self test
        ring-buffer: Add integrity check at end of iter read
        ring-buffer: Make addition of pages in ring buffer atomic
        ...
      2ff2b289
    • Linus Torvalds's avatar
      Merge branch 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 88d6ae8d
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "cgroup file type addition / removal is updated so that file types are
        added and removed instead of individual files so that dynamic file
        type addition / removal can be implemented by cgroup and used by
        controllers.  blkio controller changes which will come through block
        tree are dependent on this.  Other changes include res_counter cleanup
        and disallowing kthread / PF_THREAD_BOUND threads to be attached to
        non-root cgroups.
      
        There's a reported bug with the file type addition / removal handling
        which can lead to oops on cgroup umount.  The issue is being looked
        into.  It shouldn't cause problems for most setups and isn't a
        security concern."
      
      Fix up trivial conflict in Documentation/feature-removal-schedule.txt
      
      * 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)
        res_counter: Account max_usage when calling res_counter_charge_nofail()
        res_counter: Merge res_counter_charge and res_counter_charge_nofail
        cgroups: disallow attaching kthreadd or PF_THREAD_BOUND threads
        cgroup: remove cgroup_subsys->populate()
        cgroup: get rid of populate for memcg
        cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg
        cgroup: make css->refcnt clearing on cgroup removal optional
        cgroup: use negative bias on css->refcnt to block css_tryget()
        cgroup: implement cgroup_rm_cftypes()
        cgroup: introduce struct cfent
        cgroup: relocate __d_cgrp() and __d_cft()
        cgroup: remove cgroup_add_file[s]()
        cgroup: convert memcg controller to the new cftype interface
        memcg: always create memsw files if CONFIG_CGROUP_MEM_RES_CTLR_SWAP
        cgroup: convert all non-memcg controllers to the new cftype interface
        cgroup: relocate cftype and cgroup_subsys definitions in controllers
        cgroup: merge cft_release_agent cftype array into the base files array
        cgroup: implement cgroup_add_cftypes() and friends
        cgroup: build list of all cgroups under a given cgroupfs_root
        cgroup: move cgroup_clear_directory() call out of cgroup_populate_dir()
        ...
      88d6ae8d
    • Linus Torvalds's avatar
      Merge branch 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · f5c10189
      Linus Torvalds authored
      Pull percpu updates from Tejun Heo:
       "Contains Alex Shi's three patches to remove percpu_xxx() which overlap
        with this_cpu_xxx().  There shouldn't be any functional change."
      
      * 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: remove percpu_xxx() functions
        x86: replace percpu_xxx funcs with this_cpu_xxx
        net: replace percpu_xxx funcs with this_cpu_xxx or __this_cpu_xxx
      f5c10189
    • Linus Torvalds's avatar
      Merge branch 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · c54894cd
      Linus Torvalds authored
      Pull workqueue changes from Tejun Heo:
       "Nothing exciting.  Most are updates to debug stuff and related fixes.
        Two not-too-critical bugs are fixed - WARN_ON() triggering spurious
        during cpu offlining and unlikely lockdep related oops."
      
      * 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        lockdep: fix oops in processing workqueue
        workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active
        workqueue: Catch more locking problems with flush_work()
        workqueue: change BUG_ON() to WARN_ON()
        trace: Remove unused workqueue tracer
      c54894cd
  4. 22 May, 2012 31 commits
    • Linus Torvalds's avatar
      Merge tag 'staging-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · fb09bafd
      Linus Torvalds authored
      Pull staging tree changes from Greg Kroah-Hartman:
       "Here is the big staging tree pull request for the 3.5-rc1 merge
        window.
      
        Loads of changes here, and we just narrowly added more lines than we
        added:
         622 files changed, 28356 insertions(+), 26059 deletions(-)
      
        But, good news is that there is a number of subsystems that moved out
        of the staging tree, to their respective "real" portions of the
        kernel.
      
        Code that moved out was:
      	- iio core code
      	- mei driver
      	- vme core and bridge drivers
      
        There was one broken network driver that moved into staging as a step
        before it is removed from the tree (pc300), and there was a few new
        drivers added to the tree:
      	- new iio drivers
      	- gdm72xx wimax USB driver
      	- ipack subsystem and 2 drivers
      
        All of the movements around have acks from the various subsystem
        maintainers, and all of this has been in the linux-next tree for a
        while.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      Fixed up various trivial conflicts, along with a non-trivial one found
      in -next and pointed out by Olof Johanssen: a clean - but incorrect -
      merge of the arch/arm/boot/dts/at91sam9g20.dtsi file.  Fix up manually
      as per Stephen Rothwell.
      
      * tag 'staging-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (536 commits)
        Staging: bcm: Remove two unused variables from Adapter.h
        Staging: bcm: Removes the volatile type definition from Adapter.h
        Staging: bcm: Rename all "INT" to "int" in Adapter.h
        Staging: bcm: Fix warning: __packed vs. __attribute__((packed)) in Adapter.h
        Staging: bcm: Correctly format all comments in Adapter.h
        Staging: bcm: Fix all whitespace issues in Adapter.h
        Staging: bcm: Properly format braces in Adapter.h
        Staging: ipack/bridges/tpci200: remove unneeded casts
        Staging: ipack/bridges/tpci200: remove TPCI200_SHORTNAME constant
        Staging: ipack: remove board_name and bus_name fields from struct ipack_device
        Staging: ipack: improve the register of a bus and a device in the bus.
        staging: comedi: cleanup all the comedi_driver 'detach' functions
        staging: comedi: remove all 'default N' in Kconfig
        staging: line6/config.h: Delete unused header
        staging: gdm72xx depends on NET
        staging: gdm72xx: Set up parent link in sysfs for gdm72xx devices
        staging: drm/omap: initial dmabuf/prime import support
        staging: drm/omap: dmabuf/prime mmap support
        pstore/ram: Add ECC support
        pstore/ram: Switch to persistent_ram routines
        ...
      fb09bafd
    • Linus Torvalds's avatar
      Merge tag 'tty-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 94b5aff4
      Linus Torvalds authored
      Pull TTY updates from Greg Kroah-Hartman:
       "Here's the big TTY/serial driver pull request for the 3.5-rc1 merge
        window.
      
        Nothing major in here, just lots of incremental changes from Alan and
        Jiri reworking some tty core things to behave better and to get a more
        solid grasp on some of the nasty tty locking issues.
      
        There are a few tty and serial driver updates in here as well.
      
        All of this has been in the linux-next releases for a while with no
        problems.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'tty-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (115 commits)
        serial: bfin_uart: Make MMR access compatible with 32 bits bf609 style controller.
        serial: bfin_uart: RTS and CTS MMRs can be either 16-bit width or 32-bit width.
        serial: bfin_uart: narrow the reboot condition in DMA tx interrupt
        serial: bfin_uart: Adapt bf5xx serial driver to bf60x serial4 controller.
        Revert "serial_core: Update buffer overrun statistics."
        tty: hvc_xen: NULL dereference on allocation failure
        tty: Fix LED error return
        tty: Allow uart_register/unregister/register
        tty: move global ldisc idle waitqueue to the individual ldisc
        serial8250-em: Add DT support
        serial8250-em: clk_get() IS_ERR() error handling fix
        serial_core: Update buffer overrun statistics.
        tty: drop the pty lock during hangup
        cris: fix missing tty arg in wait_event_interruptible_tty call
        tty/amiserial: Add missing argument for tty_unlock()
        tty_lock: Localise the lock
        pty: Lock the devpts bits privately
        tty_lock: undo the old tty_lock use on the ctty
        serial8250-em: Emma Mobile UART driver V2
        Add missing call to uart_update_timeout()
        ...
      94b5aff4
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 5d4e2d08
      Linus Torvalds authored
      Pull driver core updates from Greg Kroah-Hartman:
       "Here's the driver core, and other driver subsystems, pull request for
        the 3.5-rc1 merge window.
      
        Outside of a few minor driver core changes, we ended up with the
        following different subsystem and core changes as well, due to
        interdependancies on the driver core:
         - hyperv driver updates
         - drivers/memory being created and some drivers moved into it
         - extcon driver subsystem created out of the old Android staging
           switch driver code
         - dynamic debug updates
         - printk rework, and /dev/kmsg changes
      
        All of this has been tested in the linux-next releases for a few weeks
        with no reported problems.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      Fix up conflicts in drivers/extcon/extcon-max8997.c where git noticed
      that a patch to the deleted drivers/misc/max8997-muic.c driver needs to
      be applied to this one.
      
      * tag 'driver-core-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (90 commits)
        uio_pdrv_genirq: get irq through platform resource if not set otherwise
        memory: tegra{20,30}-mc: Remove empty *_remove()
        printk() - isolate KERN_CONT users from ordinary complete lines
        sysfs: get rid of some lockdep false positives
        Drivers: hv: util: Properly handle version negotiations.
        Drivers: hv: Get rid of an unnecessary check in vmbus_prep_negotiate_resp()
        memory: tegra{20,30}-mc: Use dev_err_ratelimited()
        driver core: Add dev_*_ratelimited() family
        Driver Core: don't oops with unregistered driver in driver_find_device()
        printk() - restore prefix/timestamp printing for multi-newline strings
        printk: add stub for prepend_timestamp()
        ARM: tegra30: Make MC optional in Kconfig
        ARM: tegra20: Make MC optional in Kconfig
        ARM: tegra30: MC: Remove unnecessary BUG*()
        ARM: tegra20: MC: Remove unnecessary BUG*()
        printk: correctly align __log_buf
        ARM: tegra30: Add Tegra Memory Controller(MC) driver
        ARM: tegra20: Add Tegra Memory Controller(MC) driver
        printk() - restore timestamp printing at console output
        printk() - do not merge continuation lines of different threads
        ...
      5d4e2d08
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · fb2123fa
      Linus Torvalds authored
      Pull Char/Misc patches from Greg Kroah-Hartman:
       "Here are a few various char/misc tree patches for the 3.5-rc1 merge
        window.
      
        Nothing major here at all, just different driver updates and some
        parport dead code removal.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'char-misc-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        parport: remove unused dead code from lowlevel drivers
        xilinx_hwicap: reset XHI_MAX_RETRIES
        xilinx_hwicap: add support for virtex6 FPGAs
        Support M95040 SPI EEPROM
        misc: add support for bmp18x chips to the bmp085 driver
        misc: bmp085: add device tree properties
        misc: clean up bmp085 driver
        misc: do not mark exported functions __devexit
        misc: add missing __devexit_p() annotations
        pch_phub: delete duplicate definitions
        misc: Fix irq leak in max8997_muic_probe error path
      fb2123fa
    • Linus Torvalds's avatar
      Merge tag 'usb-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · a4819914
      Linus Torvalds authored
      Pull USB 3.5-rc1 changes from Greg Kroah-Hartman:
       "Here is the big USB 3.5-rc1 pull request for the 3.5-rc1 merge window.
      
        It's touches a lot of different parts of the kernel, all USB drivers,
        due to some API cleanups (getting rid of the ancient err() macro) and
        some changes that are needed for USB 3.0 power management updates.
      
        There are also lots of new drivers, pimarily gadget, but others as
        well.  We deleted a staging driver, which was nice, and finally
        dropped the obsolete usbfs code, which will make Al happy to never
        have to touch that again.
      
        There were some build errors in the tree that linux-next found a few
        days ago, but those were fixed by the most recent changes (all were
        due to us not building with CONFIG_PM disabled.)
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'usb-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (477 commits)
        xhci: Fix DIV_ROUND_UP compile error.
        xhci: Fix compile with CONFIG_USB_SUSPEND=n
        USB: Fix core compile with CONFIG_USB_SUSPEND=n
        brcm80211: Fix compile error for .disable_hub_initiated_lpm.
        Revert "USB: EHCI: work around bug in the Philips ISP1562 controller"
        MAINTAINERS: Add myself as maintainer to the USB PHY Layer
        USB: EHCI: fix command register configuration lost problem
        USB: Remove races in devio.c
        USB: ehci-platform: remove update_device
        USB: Disable hub-initiated LPM for comms devices.
        xhci: Add Intel U1/U2 timeout policy.
        xhci: Add infrastructure for host-specific LPM policies.
        USB: Add macros for interrupt endpoint types.
        xhci: Reserve one command for USB3 LPM disable.
        xhci: Some Evaluate Context commands must succeed.
        USB: Disable USB 3.0 LPM in critical sections.
        USB: Add support to enable/disable USB3 link states.
        USB: Allow drivers to disable hub-initiated LPM.
        USB: Calculate USB 3.0 exit latencies for LPM.
        USB: Refactor code to set LPM support flag.
        ...
      
      Conflicts:
      	arch/arm/mach-exynos/mach-nuri.c
      	arch/arm/mach-exynos/mach-universal_c210.c
      	drivers/net/wireless/ath/ath6kl/usb.c
      a4819914
    • Linus Torvalds's avatar
      Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f6a26ae7
      Linus Torvalds authored
      Pull arm-soc board specific changes from Olof Johansson:
       "While we generally attempt to get rid of board specific files and
        replace them with device tree based descriptions, a lot of platforms
        have not come that far:
      
        In shmobile, we add two new board files because their recently started
        effort to add DT support has not proceeded enough to use it for all of
        the important hardware.
      
        In Kirkwood, we are adding support for new boards with a combination
        of DT and board file contents in multiple cases.
      
        pxa/mmp and imx are extending support for existing board files but not
        adding new ones."
      
      Fix up trivial conflicts in arch/arm/mach-{mmp/ttc_dkb.c,shmobile/{Kconfig,Makefile}}
      
      * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (94 commits)
        ARM: shmobile: fix smp build
        ARM: kirkwood: Add support for RaidSonic IB-NAS6210/6220 using devicetree
        kirkwood: Add iconnect support
        orion/kirkwood: create a generic function for gpio led blinking
        kirkwood/orion: fix orion_gpio_set_blink
        ARM: kirkwood: Define DNS-320/DNS-325 NAND in fdt
        kirkwood: Allow nand to be configured via. devicetree
        mtd: Add orion_nand devicetree bindings
        ARM: kirkwood: Basic support for DNS-320 and DNS-325
        ARM: mach-shmobile: Use DT_MACHINE for armadillo 800 eva
        ARM: mach-shmobile: Use DT_MACHINE for KZM9G
        ARM: pxa: hx4700: Add Synaptics NavPoint touchpad
        ARM: pxa: Use REGULATOR_SUPPLY macro
        ARM: mach-shmobile: kzm9g: enable SMP boot
        ARM: mach-shmobile: kzm9g: defconfig update
        ARM: mach-shmobile: kzm9g: add PCF8757 gpio-key
        ARM: mach-shmobile: kzm9g: add SDHI support
        ARM: mach-shmobile: kzm9g: add MMCIF support
        ARM: mach-shmobile: kzm9g: correct screen direction
        ARM: mach-shmobile: sh73a0.h: add GPIO_NR
        ...
      f6a26ae7
    • Linus Torvalds's avatar
      Merge tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · cdd3a354
      Linus Torvalds authored
      Pull arm-soc power management changes from Olof Johansson:
       "Power management changes here are mostly for the omap platform, but
        also include cpuidle changes for ux500 and suspend/resume code for
        mmp."
      
      * tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
        ARM: OMAP2+: WDTIMER integration: fix !PM boot crash, disarm timer after hwmod reset
        ARM: OMAP2/3: hwmod data: Add 32k-sync timer data to hwmod database
        ARM: OMAP4: hwmod_data: Name the common irq for McBSP ports
        ARM: OMAP4: hwmod data: I2C: add flag for context restore
        ARM: OMAP3: hwmod_data: Rename the common irq for McBSP ports
        ARM: OMAP2xxx: hwmod data: add HDQ/1-wire hwmod
        ARM: OMAP3: hwmod data: add HDQ/1-wire hwmod
        ARM: OMAP2+: hwmod data: add HDQ/1-wire hwmod shared data
        ARM: OMAP2+: HDQ1W: add custom reset function
        ARM: OMAP2420: hwmod data: Add MMC hwmod data for 2420
        arm: omap3: clockdomain data: Remove superfluous commas from gfx_sgx_3xxx_wkdeps[]
        ARM: OMAP2+: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API
        ARM: OMAP3: clock data: add clockdomain for HDQ functional clock
        ARM: OMAP3+: dpll: Configure autoidle mode only if it's supported
        ARM: OMAP2+: dmtimer: cleanup iclk usage
        ARM: OMAP4+: Add prm and cm base init function.
        ARM: OMAP2/3: Add idle_st bits for ST_32KSYNC timer to prcm-common header
        ARM: OMAP3: Fix CM register bit masks
        ARM: OMAP: clock: convert AM3517/3505 detection/flags to AM35xx
        ARM: OMAP3: clock data: treat all AM35x devices the same
        ...
      cdd3a354
    • Linus Torvalds's avatar
      Merge tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 813a95e5
      Linus Torvalds authored
      Pull arm soc-specific pinctrl changes from Olof Johansson:
       "With this, five platforms are moving to the relatively new pinctrl
        subsystem for their pin management, replacing the older soc specific
        in-kernel interfaces with common code.
      
        There is quite a bit of net addition of code for each platform being
        added to the pinctrl subsystem.  But the payback comes later when
        adding new boards can be done by only providing new device trees
        instead."
      
      Fix up trivial conflicts in arch/arm/mach-ux500/{Makefile,board-mop500.c}
      
      * tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)
        mtd: nand: gpmi: fix compile error caused by pinctrl call
        ARM: PRIMA2: select PINCTRL and PINCTRL_SIRF in Kconfig
        ARM: nomadik: enable PINCTRL_NOMADIK where needed
        ARM: mxs: enable pinctrl support
        video: mxsfb: adopt pinctrl support
        ASoC: mxs-saif: adopt pinctrl support
        i2c: mxs: adopt pinctrl support
        mtd: nand: gpmi: adopt pinctrl support
        mmc: mxs-mmc: adopt pinctrl support
        serial: mxs-auart: adopt pinctrl support
        serial: amba-pl011: adopt pinctrl support
        spi/imx: adopt pinctrl support
        i2c: imx: adopt pinctrl support
        can: flexcan: adopt pinctrl support
        net: fec: adopt pinctrl support
        ARM: ux500: switch MSP to using pinctrl for pins
        ARM: ux500: alter MSP registration to return a device pointer
        ARM: ux500: switch to using pinctrl for uart0
        ARM: ux500: delete custom pin control system
        ARM: ux500: switch over to Nomadik pinctrl driver
        ...
      813a95e5
    • Linus Torvalds's avatar
      Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9f639269
      Linus Torvalds authored
      Pull support for new arm SoCs from Olof Johansson:
       "Three new system-on-chip models are supported: the st-ericsson u9540
        in ux500, the sam9n12 in at91 and the emma ev2 in shmobile.
      
        Emma is a little bit special because it is completely unrelated to the
        classic shmobile models, but the new Renesas rmobile SoCs are a
        combination of things from both Emma and shmobile, so it was decided
        to have them all live in one directory.
      
        This also contains updates to existing shmobile soc code as well as
        some related board changes due to dependencies."
      
      * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits)
        mach-shmobile: Use DT_MACHINE for KZM9D V3
        mach-shmobile: Emma Mobile EV2 DT support V3
        mach-shmobile: KZM9D board Ethernet support V3
        mach-shmobile: Emma Mobile EV2 GPIO support V3
        mach-shmobile: Emma Mobile EV2 SMP support V3
        mach-shmobile: KZM9D board support V3
        mach-shmobile: Emma Mobile EV2 SoC base support V3
        gpio: Emma Mobile GPIO driver V2
        ARM: mach-shmobile: sh73a0: fixup PINT/IRQ16-IRQ31 irq number conflict
        ARM: mach-shmobile: clock-r8a7740: use followparent_recalc on usb24s
        ARM: mach-shmobile: clock-r8a7740: add MMCIF clock
        ARM: mach-shmobile: clock-r8a7740: add SDHI clock
        ARM: mach-shmobile: clock-r8a7740: add USB clock
        ARM: mach-shmobile: clock-r8a7740: add FSI clock
        ARM: mach-shmobile: r8a7740: cleanup I2C workaround method
        ARM: mach-shmobile: r8a7740: add gpio_irq support
        ARM: mach-shmobile: sh7372: Add FSI DMAEngine support
        ARM / mach-shmobile: Use preset_lpj with calibrate_delay()
        ARM: ux500: ioremap differences for DB9540
        ARM: ux500: core U9540 support
        ...
      9f639269
    • Linus Torvalds's avatar
      Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b324c67d
      Linus Torvalds authored
      Pull device tree conversions for arm-soc, part 1, from Olof Johansson:
       "The spear3xx, lpc32xx, shmobile and mmp platforms are joining the game
        of booting using device trees, which is a great step forward for them.
        at91 and spear have pretty much completed this process with a huge
        amount of work being put into at91.  The other platforms are
        continuing the process.
      
        We finally start to see the payback on this investment, as new
        machines are getting supported purely by adding a .dts source file
        that can be completely independent of the kernel source."
      
      Fix up trivial conflict in arch/arm/Kconfig
      
      * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
        ARM: at91: Add ADC driver to at91sam9260/at91sam9g20 dtsi files
        arm/dts: omap4-panda: Add LEDs support
        arm/dts: omap4-sdp: Add LEDs support
        arm/dts: twl4030: Add twl4030-gpio node
        OMAP4: devices: Do not create mcpdm device if the dtb has been provided
        OMAP4: devices: Do not create dmic device if the dtb has been provided
        Documentation: update docs for mmp dt
        ARM: dts: refresh dts file for arch mmp
        ARM: mmp: support pxa910 with device tree
        ARM: mmp: support mmp2 with device tree
        gpio: pxa: parse gpio from DTS file
        ARM: mmp: support DT in timer
        ARM: mmp: support DT in irq
        ARM: mmp: append CONFIG_MACH_MMP2_DT
        ARM: mmp: fix build issue on mmp with device tree
        ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree
        ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
        ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement
        ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball
        ARM: SPEAr3xx: Correct keyboard data passed from DT
        ...
      b324c67d
    • Linus Torvalds's avatar
      Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8dca6010
      Linus Torvalds authored
      Pull non-critical arm-soc bug fixes from Olof Johansson:
       "These bug fixes were not important enough to have them included in the
        v3.4 release, mostly because they cover harmless warnings or
        unrealistic configurations.  Instead we queue them up to be picked up
        in the next merge window."
      
      Fixed up trivial conflict in arch/arm/mach-omap2/board-omap4panda.c
      
      * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: spear6xx: remove board selection options
        ARM: OMAP: igep0020: Specify the VPLL2 regulator unconditionally
        ARM: OMAP2+: INTC: fix Kconfig option for TI81XX
        ARM: OMAP2+: remove incorrect irq_chip ack field
        ARM: OMAP4: Adding ID for OMAP4460 ES1.1
        ARM: OMAP4: panda: add statics to remove warnings
        ARM: OMAP2+: Incorrect Register Offsets in OMAP Mailbox
        ARM: OMAP: fix trivial warnings for dspbridge
        arm: davinci: use for_each_set_bit_from
        ARM: OMAP4: hsmmc: check for null pointer
        ARM: OMAP1: fix compilation issue in board-sx1.c
        ARM: disable SUSPEND/ARCH_SUSPEND_POSSIBLE for ARCH_TEGRA
        ARM: davinci: da850-evm: fix section mismatch
        ARM: tegra: add pll_x freq table entry for 750MHz
        ARM: davinci: mark spi_board_info arguments as const
        ARM: davinci: fix incorrect pdctl next bit position
      8dca6010
    • Linus Torvalds's avatar
      Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9bc747be
      Linus Torvalds authored
      Pull first batch of arm-soc cleanups from Olof Johansson:
       "These cleanups are basically all over the place.  The idea is to
        collect changes with minimal impact but large number of changes so we
        can avoid them from distracting in the diffstat in the other series.
      
        A significant number of lines get removed here, in particular because
        the ixp2000 and ixp23xx platforms get removed.  These have never been
        extremely popular and have fallen into disuse over time with no active
        maintainer taking care of them.  The u5500 soc never made it into a
        product, so we are removing it from the ux500 platform.
      
        Many good cleanups also went into the at91 and omap platforms, as has
        been the case for a number of releases."
      
      Trivial modify-delete conflicts in arch/arm/mach-{ixp2000,ixp23xx}
      
      * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (152 commits)
        ARM: clps711x: Cleanup IRQ handling
        ARM clps711x: Removed unused header mach/time.h
        ARM: clps711x: Added note about support EP731x CPU to Kconfig
        ARM: clps711x: Added missing register definitions
        ARM: clps711x: Used own subarch directory for store header file
        Dove: Fix Section mismatch warnings
        ARM: orion5x: ts78xx debugging changes
        ARM: orion5x: remove PM dependency from ts78xx
        ARM: orion5x: ts78xx fix NAND resource off by one
        ARM: orion5x: ts78xx whitespace cleanups
        Orion5x: Fix Section mismatch warnings
        Orion5x: Fix warning: struct pci_dev declared inside paramter list
        ARM: clps711x: Combine header files into one for clps711x-targets
        ARM: S3C24XX: Use common macro to define resources on mach-qt2410.c
        ARM: S3C24XX: Use common macro to define resources on mach-osiris.c
        ARM: EXYNOS: Adapt to cpuidle core time keeping and irq enable
        ARM: S5PV210: Use common macro to define resources on mach-smdkv210.c
        ARM: S5PV210: Use common macro to define resources on dev-audio.c
        ARM: S5PC100: Use common macro to define resources on dev-audio.c
        ARM: S5P64X0: Use common macro to define resources on dev-audio.c
        ...
      9bc747be
    • Linus Torvalds's avatar
      Merge tag 'maintainers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 32b908ee
      Linus Torvalds authored
      Pull arm-soc updates for MAINTAINERS file from Olof Johansson:
       "This is a collection of updates to the MAINTAINERS file, separated out
        mostly to give an overview of what has changed regarding who does what.
      
        In particular, at91, orion and prima2 platforms and drivers are
        updated in this batch."
      
      * tag 'maintainers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINER: add some drivers upstreamed in CSR SIRFPRIMA2
        maintainership update for the Marvell Orion family of SOCs
        MAINTAINERS: remove non-responding web link for atmel_usba driver
        MAINTAINERS: add entry for Atmel timer counter (TC)
        MAINTAINERS: add entry for Atmel DMA driver
        MAINTAINERS: add entry for Atmel touch screen ADC controller driver
        MAINTAINERS: add entry for Atmel isi driver
      32b908ee
    • Linus Torvalds's avatar
      Merge tag 'ktest-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 25f3cdf8
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt.
      
      * tag 'ktest-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Add README to explain what is in the examples directory
        ktest: Add the snowball.conf example config
        ktest: Add an example config that does cross compiling of several archs
        ktest: Add kvm.conf example config
        ktest: Add useful example configs
        ktest: Add USE_OUTPUT_MIN_CONFIG to avoid prompt on make_min_config
        ktest: Add MIN_CONFIG_TYPE to allow making a minum .config that has network
        ktest: Fix kernelrevision with POST_BUILD
      25f3cdf8
    • Jiri Kosina's avatar
      Merge branches 'upstream-fixes', 'wacom' and 'waltop' into for-linus · 99ce58dd
      Jiri Kosina authored
      Conflicts:
      	drivers/hid/hid-core.c
      99ce58dd
    • Jiri Kosina's avatar
      Merge branch 'upstream' into for-linus · 56ccd186
      Jiri Kosina authored
      Conflicts:
      	drivers/hid/hid-core.c
      56ccd186
    • Jiri Kosina's avatar
    • Steven Rostedt's avatar
      ktest: Add README to explain what is in the examples directory · 24d0c030
      Steven Rostedt authored
      Add a README that explains what the different example configs in the
      ktest example directory are about.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      24d0c030
    • Steven Rostedt's avatar
      ktest: Add the snowball.conf example config · b6d30036
      Steven Rostedt authored
      I used the snowball.conf in a live demo that demonstrated how to use
      ktest.pl with a snowball ARM board. I've been asked to included that
      config in the ktest repository.
      
      Here it is.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      b6d30036
    • Steven Rostedt's avatar
      ktest: Add an example config that does cross compiling of several archs · 2e109526
      Steven Rostedt authored
      Add the config that I use to test several archs. I downloaded several
      cross compilers from:
      
       http://kernel.org/pub/tools/crosstool/files/bin/x86_64/
      
      and this config is an example to crosscompile several archs to make sure
      that your changes do not break archs that you are not working on.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      2e109526
    • Steven Rostedt's avatar
      ktest: Add kvm.conf example config · 3a7bef79
      Steven Rostedt authored
      Add an example config that explains how to use ktest with a virtual
      guest as the target.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      3a7bef79
    • Steven Rostedt's avatar
      ktest: Add useful example configs · 6d76f469
      Steven Rostedt authored
      I've been asked several times to provide more useful example configs for
      ktest.pl, as the sample.conf is too complex (because it explains all
      configs). This adds configs broken up by use case, and these configs are
      based on actual configs that I use on a daily basis.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      6d76f469
    • Steven Rostedt's avatar
      ktest: Add USE_OUTPUT_MIN_CONFIG to avoid prompt on make_min_config · 43de3316
      Steven Rostedt authored
      If the file that OUTPUT_MIN_CONFIG exists then ktest.pl will prompt the
      user and ask them if the OUTPUT_MIN_CONFIG should be used as the
      starting point for make_min_config instead of MIN_CONFIG.
      
      This is usually the case, and to allow the user to do so, which is
      helpful if the user is creating different min configs based on tests,
      and they know one is a superset of another test, they can set
      USE_OUTPUT_MIN_CONFIG to one, which will prevent kest.pl from prompting
      to use the OUTPUT_MIN_CONFIG and it will just use it.
      
      If USE_OUTPUT_MIN_CONIFG is set to zero, then ktest.pl will continue to
      use MIN_CONFIG instead.
      
      The default is that USE_OUTPUT_MIN_CONFIG is undefined.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      43de3316
    • Laurent Pinchart's avatar
      fbdev: sh_mobile_lcdc: Don't confuse line size with pitch · 72c04af9
      Laurent Pinchart authored
      When using the MERAM the LCDC line size needs to be programmed with a
      MERAM-specific value different than the real frame buffer pitch. Fix it.
      Reported-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Acked-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: stable@vger.kernel.org  # for 3.4
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      72c04af9
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 47136855
      Linus Torvalds authored
      Pull core irq changes from Ingo Molnar:
       "A collection of small fixes."
      
      By Thomas Gleixner
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hexagon: Remove select of not longer existing Kconfig switches
        arm: Select core options instead of redefining them
        genirq: Do not consider disabled wakeup irqs
        genirq: Allow check_wakeup_irqs to notice level-triggered interrupts
        genirq: Be more informative on irq type mismatch
        genirq: Reject bogus threaded irq requests
        genirq: Streamline irq_action
      47136855
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · cb60e3e6
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "New notable features:
         - The seccomp work from Will Drewry
         - PR_{GET,SET}_NO_NEW_PRIVS from Andy Lutomirski
         - Longer security labels for Smack from Casey Schaufler
         - Additional ptrace restriction modes for Yama by Kees Cook"
      
      Fix up trivial context conflicts in arch/x86/Kconfig and include/linux/filter.h
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (65 commits)
        apparmor: fix long path failure due to disconnected path
        apparmor: fix profile lookup for unconfined
        ima: fix filename hint to reflect script interpreter name
        KEYS: Don't check for NULL key pointer in key_validate()
        Smack: allow for significantly longer Smack labels v4
        gfp flags for security_inode_alloc()?
        Smack: recursive tramsmute
        Yama: replace capable() with ns_capable()
        TOMOYO: Accept manager programs which do not start with / .
        KEYS: Add invalidation support
        KEYS: Do LRU discard in full keyrings
        KEYS: Permit in-place link replacement in keyring list
        KEYS: Perform RCU synchronisation on keys prior to key destruction
        KEYS: Announce key type (un)registration
        KEYS: Reorganise keys Makefile
        KEYS: Move the key config into security/keys/Kconfig
        KEYS: Use the compat keyctl() syscall wrapper on Sparc64 for Sparc32 compat
        Yama: remove an unused variable
        samples/seccomp: fix dependencies on arch macros
        Yama: add additional ptrace scopes
        ...
      cb60e3e6
    • Linus Torvalds's avatar
      Merge tag 'virtio-for-linus' of... · 99262a3d
      Linus Torvalds authored
      Merge tag 'virtio-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
      
      Pull virtio updates from Rusty Russell.
      
      * tag 'virtio-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
        virtio: fix typo in comment
        virtio-mmio: Devices parameter parsing
        virtio_blk: Drop unused request tracking list
        virtio-blk: Fix hot-unplug race in remove method
        virtio: Use ida to allocate virtio index
        virtio: balloon: separate out common code between remove and freeze functions
        virtio: balloon: drop restore_common()
        9p: disconnect channel when PCI device is removed
        virtio: update documentation to v0.9.5 of spec
      99262a3d
    • Chen Baozi's avatar
      virtio: fix typo in comment · c6190804
      Chen Baozi authored
      - Delete "@request_vqs" and "@free_vqs" comments, since
        they are no longer in struct virtio_config_ops.
      - According to the macro below, "@val" should be "@v".
      Signed-off-by: default avatarChen Baozi <chenbaozi@gmail.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      c6190804
    • Pawel Moll's avatar
      virtio-mmio: Devices parameter parsing · 81a054ce
      Pawel Moll authored
      This patch adds an option to instantiate guest virtio-mmio devices
      basing on a kernel command line (or module) parameter, for example:
      
      	virtio_mmio.devices=0x100@0x100b0000:48
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      81a054ce
    • Asias He's avatar
      virtio_blk: Drop unused request tracking list · f65ca1dc
      Asias He authored
      Benchmark shows small performance improvement on fusion io device.
      
      Before:
        seq-read : io=1,024MB, bw=19,982KB/s, iops=39,964, runt= 52475msec
        seq-write: io=1,024MB, bw=20,321KB/s, iops=40,641, runt= 51601msec
        rnd-read : io=1,024MB, bw=15,404KB/s, iops=30,808, runt= 68070msec
        rnd-write: io=1,024MB, bw=14,776KB/s, iops=29,552, runt= 70963msec
      
      After:
        seq-read : io=1,024MB, bw=20,343KB/s, iops=40,685, runt= 51546msec
        seq-write: io=1,024MB, bw=20,803KB/s, iops=41,606, runt= 50404msec
        rnd-read : io=1,024MB, bw=16,221KB/s, iops=32,442, runt= 64642msec
        rnd-write: io=1,024MB, bw=15,199KB/s, iops=30,397, runt= 68991msec
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      f65ca1dc
    • Asias He's avatar
      virtio-blk: Fix hot-unplug race in remove method · b79d866c
      Asias He authored
      If we reset the virtio-blk device before the requests already dispatched
      to the virtio-blk driver from the block layer are finised, we will stuck
      in blk_cleanup_queue() and the remove will fail.
      
      blk_cleanup_queue() calls blk_drain_queue() to drain all requests queued
      before DEAD marking. However it will never success if the device is
      already stopped. We'll have q->in_flight[] > 0, so the drain will not
      finish.
      
      How to reproduce the race:
      1. hot-plug a virtio-blk device
      2. keep reading/writing the device in guest
      3. hot-unplug while the device is busy serving I/O
      
      Test:
      ~1000 rounds of hot-plug/hot-unplug test passed with this patch.
      
      Changes in v3:
      - Drop blk_abort_queue and blk_abort_request
      - Use __blk_end_request_all to complete request dispatched to driver
      
      Changes in v2:
      - Drop req_in_flight
      - Use virtqueue_detach_unused_buf to get request dispatched to driver
      Signed-off-by: default avatarAsias He <asias@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      b79d866c