03 Jun, 2013

2 commits

  • Pull s390 fixes from Martin Schwidefsky:
    "Recent bug fixes, one of them touches a common code file.

    It adds two #ifndef/#endif pairs to asm-generic/io.h to be able to
    override xlate_dev_kmem_ptr and xlate_dev_mem_ptr."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/pgtable: Fix gmap notifier address
    s390/dasd: fix handling of gone paths
    s390/pgtable: Fix check for pgste/storage key handling
    arch: s390: appldata: using strncpy() and strnlen() instead of sprintf()
    s390/smp: lost IPIs on cpu hotplug
    kernel: Fix s390 absolute memory access for /dev/mem
    s390/dma: do not call debug_dma after free

    Linus Torvalds
     
  • Pull cgroup fixes from Tejun Heo:

    - Fix for yet another xattr bug which may lead to NULL deref.

    - A subtle bug in for_each_descendant_pre(). This bug requires quite
    specific conditions to trigger and isn't too likely to actually
    happen in the wild, but maybe that just makes it that much more
    nastier.

    - A warning message added for silly cgroup re-mount (not -o remount,
    but unmount followed by mount) behavior.

    * 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup: warn about mismatching options of a new mount of an existing hierarchy
    cgroup: fix a subtle bug in descendant pre-order walk
    cgroup: initialize xattr before calling d_instantiate()

    Linus Torvalds
     

01 Jun, 2013

3 commits

  • Pull scsi target fixes from Nicholas Bellinger:
    "The highlights include:

    - Re-instate sess->wait_list in target_wait_for_sess_cmds() for
    active I/O shutdown handling in fabrics using se_cmd->cmd_kref
    - Make ib_srpt call target_sess_cmd_list_set_waiting() during session
    shutdown
    - Fix FILEIO off-by-one READ_CAPACITY bug for !S_ISBLK export
    - Fix iscsi-target login error heap buffer overflow (Kees)
    - Fix iscsi-target active I/O shutdown handling regression in
    v3.10-rc1

    A big thanks to Kees Cook for fixing a long standing login error
    buffer overflow bug.

    All patches are CC'ed to stable with the exception of the v3.10-rc1
    specific regression + other minor target cleanup."

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    iscsi-target: Fix iscsit_free_cmd() se_cmd->cmd_kref shutdown handling
    target: Propigate up ->cmd_kref put return via transport_generic_free_cmd
    iscsi-target: fix heap buffer overflow on error
    target/file: Fix off-by-one READ_CAPACITY bug for !S_ISBLK export
    ib_srpt: Call target_sess_cmd_list_set_waiting during shutdown_session
    target: Re-instate sess_wait_list for target_wait_for_sess_cmds
    target: Remove unused wait_for_tasks bit in target_wait_for_sess_cmds

    Linus Torvalds
     
  • Pull fbdev fixes from Jean-Christophe PLAGNIOL-VILLARD:
    "This contains some small fixes

    - Atmel LCDC: fix blank the backlight on remove
    - ps3fb: fix compile warning
    - OMAPDSS: Fix crash with DT boot"

    * tag 'fbdev-for-3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev:
    atmel_lcdfb: blank the backlight on remove
    trivial: atmel_lcdfb: add missing error message
    OMAPDSS: Fix crash with DT boot
    fbdev/ps3fb: fix compile warning

    Linus Torvalds
     
  • Pull aer error logging fix from Tony Luck:
    "Can't call pci_get_domain_bus_and_slot() from interupt context"

    * tag 'please-pull-aertracefix' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
    aerdrv: Move cper_print_aer() call out of interrupt context

    Linus Torvalds
     

31 May, 2013

3 commits

  • Go ahead and propigate up the ->cmd_kref put return value from
    target_put_sess_cmd() -> transport_release_cmd() -> transport_put_cmd()
    -> transport_generic_free_cmd().

    This is useful for certain fabrics when determining the active I/O
    shutdown case with SCF_ACK_KREF where a final target_put_sess_cmd()
    is still required by the caller.

    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • …kernel/git/konrad/xen

    Pull Xen fixes from Konrad Rzeszutek Wilk:
    - Use proper error paths
    - Clean up APIC IPI usage (incorrect arguments)
    - Delay XenBus frontend resume is backend (xenstored) is not running
    - Fix build error with various combinations of CONFIG_

    * tag 'stable/for-linus-3.10-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xenbus_client.c: correct exit path for xenbus_map_ring_valloc_hvm
    xen-pciback: more uses of cached MSI-X capability offset
    xen: Clean up apic ipi interface
    xenbus: save xenstore local status for later use
    xenbus: delay xenbus frontend resume if xenstored is not running
    xmem/tmem: fix 'undefined variable' build error.

    Linus Torvalds
     
  • The following warning was seen on 3.9 when a corrected PCIe error was being
    handled by the AER subsystem.

    WARNING: at .../drivers/pci/search.c:214 pci_get_dev_by_id+0x8a/0x90()

    This occurred because a call to pci_get_domain_bus_and_slot() was added to
    cper_print_pcie() to setup for the call to cper_print_aer(). The warning
    showed up because cper_print_pcie() is called in an interrupt context and
    pci_get* functions are not supposed to be called in that context.

    The solution is to move the cper_print_aer() call out of the interrupt
    context and into aer_recover_work_func() to avoid any warnings when calling
    pci_get* functions.

    Signed-off-by: Lance Ortiz
    Acked-by: Borislav Petkov
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Tony Luck

    Lance Ortiz
     

30 May, 2013

1 commit

  • Switch back to pre commit 1c7b13fe652 list splicing logic for active I/O
    shutdown with tcm_qla2xxx + ib_srpt fabrics.

    The original commit was done under the incorrect assumption that it's safe to
    walk se_sess->sess_cmd_list unprotected in target_wait_for_sess_cmds() after
    sess->sess_tearing_down = 1 has been set by target_sess_cmd_list_set_waiting()
    during session shutdown.

    So instead of adding sess->sess_cmd_lock protection around sess->sess_cmd_list
    during target_wait_for_sess_cmds(), switch back to sess->sess_wait_list to
    allow wait_for_completion() + TFO->release_cmd() to occur without having to
    walk ->sess_cmd_list after the list_splice.

    Also add a check to exit if target_sess_cmd_list_set_waiting() has already
    been called, and add a WARN_ON to check for any fabric bug where new se_cmds
    are added to sess->sess_cmd_list after sess->sess_tearing_down = 1 has already
    been set.

    Cc: Joern Engel
    Cc: Roland Dreier
    Cc: stable@vger.kernel.org
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     

29 May, 2013

2 commits


26 May, 2013

2 commits

  • Pull power management and ACPI fixes from Rafael Wysocki:

    - Additional CPU ID for the intel_pstate driver from Dirk Brandewie.

    - More cpufreq fixes related to ARM big.LITTLE support and locking from
    Viresh Kumar.

    - VIA C7 cpufreq build fix from Rafał Bilski.

    - ACPI power management fix making it possible to use device power
    states regardless of the CONFIG_PM setting from Rafael J Wysocki.

    - New ACPI video blacklist item from Bastian Triller.

    * tag 'pm+acpi-3.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist
    cpufreq: arm_big_little_dt: Instantiate as platform_driver
    cpufreq: arm_big_little_dt: Register driver only if DT has valid data
    cpufreq / e_powersaver: Fix linker error when ACPI processor is a module
    cpufreq / intel_pstate: Add additional supported CPU ID
    cpufreq: Drop rwsem lock around CPUFREQ_GOV_POLICY_EXIT
    ACPI / PM: Allow device power states to be used for CONFIG_PM unset

    Linus Torvalds
     
  • Pull slave-dma fixes from Vinod Koul:
    "We have two patches from Andy & Rafael fixing the Lynxpoint dma"

    * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
    ACPI / LPSS: register clock device for Lynxpoint DMA properly
    dma: acpi-dma: parse CSRT to extract additional resources

    Linus Torvalds
     

25 May, 2013

6 commits

  • Merge fixes from Andrew Morton:
    "A bunch of fixes and one simple fbdev driver which missed the merge
    window because people will still talking about it (to no great
    effect)."

    * emailed patches from Andrew Morton : (30 commits)
    aio: fix kioctx not being freed after cancellation at exit time
    mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas
    drivers/rtc/rtc-max8998.c: check for pdata presence before dereferencing
    ocfs2: goto out_unlock if ocfs2_get_clusters_nocache() failed in ocfs2_fiemap()
    random: fix accounting race condition with lockless irq entropy_count update
    drivers/char/random.c: fix priming of last_data
    mm/memory_hotplug.c: fix printk format warnings
    nilfs2: fix issue of nilfs_set_page_dirty() for page at EOF boundary
    drivers/block/brd.c: fix brd_lookup_page() race
    fbdev: FB_GOLDFISH should depend on HAS_DMA
    drivers/rtc/rtc-pl031.c: pass correct pointer to free_irq()
    auditfilter.c: fix kernel-doc warnings
    aio: fix io_getevents documentation
    revert "selftest: add simple test for soft-dirty bit"
    drivers/leds/leds-ot200.c: fix error caused by shifted mask
    mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer
    linux/kernel.h: fix kernel-doc warning
    mm compaction: fix of improper cache flush in migration code
    rapidio/tsi721: fix bug in MSI interrupt handling
    hfs: avoid crash in hfs_bnode_create
    ...

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "We didn't have any fixes sent up for -rc2, so this is a slightly
    larger batch. A bit all over the place platform-wise; OMAP, at91,
    marvell, renesas, sunxi, ux500, etc.

    I tried to summarize highlights but there isn't a whole lot to point
    out. Lots of little things fixed all over. A couple of defconfig
    updates due to new/changing options."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
    ARM: at91/sama5: fix incorrect PMC pcr div definition
    ARM: at91/dt: fix macb pinctrl_macb_rmii_mii_alt definition
    ARM: at91: at91sam9n12: move external irq declatation to DT
    ARM: shmobile: marzen: Use error values in usb_power_*
    ARM: tegra: defconfig fixes
    ARM: nomadik: fix IRQ assignment for SMC ethernet
    ARM: vt8500: Add missing NULL terminator in dt_compat
    clk: tegra: add ac97 controller clock
    clk: tegra: remove USB from clk init table
    ARM: dts: mvebu: Fix wrong the address reg value for the L2-cache node
    ARM: plat-orion: Fix num_resources and id for ge10 and ge11
    ARM: OMAP2+: hwmod: Remove sysc slave idle and auto idle apis
    SERIAL: OMAP: Remove the slave idle handling from the driver
    ARM: OMAP2+: serial: Remove the un-used slave idle hooks
    ARM: OMAP2+: hwmod-data: UART IP needs software control to manage sidle modes
    ARM: OMAP2+: hwmod: Add a new flag to handle SIDLE in SWSUP only in active
    ARM: OMAP2+: hwmod: Fix sidle programming in _enable_sysc()/_idle_sysc()
    arm: mvebu: fix the 'ranges' property to handle PCIe
    ARM: mvebu: select ARCH_REQUIRE_GPIOLIB for mvebu platform
    ARM: AM33XX: Add missing .clkdm_name to clkdiv32k_ick clock
    ...

    Linus Torvalds
     
  • Fix kernel-doc warning in :

    Warning(include/linux/kernel.h:590): No description found for parameter 'ip'

    scripts/kernel-doc cannot handle macros, functions, or function
    prototypes between the function or macro that is being documented and
    its definition, so move these prototypes above the function that is
    being documented.

    Signed-off-by: Randy Dunlap
    Cc: Steven Rostedt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Many callers of the wait_event_timeout() and
    wait_event_interruptible_timeout() expect that the return value will be
    positive if the specified condition becomes true before the timeout
    elapses. However, at the moment this isn't guaranteed. If the wake-up
    handler is delayed enough, the time remaining until timeout will be
    calculated as 0 - and passed back as a return value - even if the
    condition became true before the timeout has passed.

    Fix this by returning at least 1 if the condition becomes true. This
    semantic is in line with what wait_for_condition_timeout() does; see
    commit bb10ed09 ("sched: fix wait_for_completion_timeout() spurious
    failure under heavy load").

    Daniel said "We have 3 instances of this bug in drm/i915. One case even
    where we switch between the interruptible and not interruptible
    wait_event_timeout variants, foolishly presuming they have the same
    semantics. I very much like this."

    One such bug is reported at
    https://bugs.freedesktop.org/show_bug.cgi?id=64133

    Signed-off-by: Imre Deak
    Acked-by: Daniel Vetter
    Acked-by: David Howells
    Acked-by: Jens Axboe
    Cc: "Paul E. McKenney"
    Cc: Dave Jones
    Cc: Lukas Czerner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Imre Deak
     
  • Add RapidIO enumeration/discovery start from user space. User space
    start allows to defer RapidIO fabric scan until the moment when all
    participating endpoints are initialized avoiding mandatory synchronized
    start of all endpoints (which may be challenging in systems with large
    number of RapidIO endpoints).

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Systems that use RapidIO fabric may need to implement their own
    enumeration and discovery methods which are better suitable for needs of
    a target application.

    The following set of patches is intended to simplify process of
    introduction of new RapidIO fabric enumeration/discovery methods.

    The first patch offers ability to add new RapidIO enumeration/discovery
    methods using kernel configuration options. This new configuration
    option mechanism allows to select statically linked or modular
    enumeration/discovery method(s) from the list of existing methods or use
    external module(s).

    This patch also updates the currently existing enumeration/discovery
    code to be used as a statically linked or modular method.

    The corresponding configuration option is named "Basic
    enumeration/discovery" method. This is the only one configuration
    option available today but new methods are expected to be introduced
    after adoption of provided patches.

    The second patch address a long time complaint of RapidIO subsystem
    users regarding fabric enumeration/discovery start sequence. Existing
    implementation offers only a boot-time enumeration/discovery start which
    requires synchronized boot of all endpoints in RapidIO network. While
    it works for small closed configurations with limited number of
    endpoints, using this approach in systems with large number of endpoints
    is quite challenging.

    To eliminate requirement for synchronized start the second patch
    introduces RapidIO enumeration/discovery start from user space.

    For compatibility with the existing RapidIO subsystem implementation,
    automatic boot time enumeration/discovery start can be configured in by
    specifying "rio-scan.scan=1" command line parameter if statically linked
    basic enumeration method is selected.

    This patch:

    Rework to implement RapidIO enumeration/discovery method selection
    combined with ability to use enumeration/discovery as a kernel module.

    This patch adds ability to introduce new RapidIO enumeration/discovery
    methods using kernel configuration options. Configuration option
    mechanism allows to select statically linked or modular
    enumeration/discovery method from the list of existing methods or use
    external modules. If a modular enumeration/discovery is selected each
    RapidIO mport device can have its own method attached to it.

    The existing enumeration/discovery code was updated to be used as
    statically linked or modular method. This configuration option is named
    "Basic enumeration/discovery" method.

    Several common routines have been moved from rio-scan.c to make them
    available to other enumeration methods and reduce number of exported
    symbols.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

24 May, 2013

5 commits

  • Pull networking fixes from David Miller:
    "It's been a while since my last pull request so quite a few fixes have
    piled up."

    Indeed.

    1) Fix nf_{log,queue} compilation with PROC_FS disabled, from Pablo
    Neira Ayuso.

    2) Fix data corruption on some tg3 chips with TSO enabled, from Michael
    Chan.

    3) Fix double insertion of VLAN tags in be2net driver, from Sarveshwar
    Bandi.

    4) Don't have TCP's MD5 support pass > PAGE_SIZE page offsets in
    scatter-gather entries into the crypto layer, the crypto layer can't
    handle that. From Eric Dumazet.

    5) Fix lockdep splat in 802.1Q MRP code, also from Eric Dumazet.

    6) Fix OOPS in netfilter log module when called from conntrack, from
    Hans Schillstrom.

    7) FEC driver needs to use netif_tx_{lock,unlock}_bh() rather than the
    non-BH disabling variants. From Fabio Estevam.

    8) TCP GSO can generate out-of-order packets, fix from Eric Dumazet.

    9) vxlan driver doesn't update 'used' field of fdb entries when it
    should, from Sridhar Samudrala.

    10) ipv6 should use kzalloc() to allocate inet6 socket cork options,
    otherwise we can OOPS in ip6_cork_release(). From Eric Dumazet.

    11) Fix races in bonding set mode, from Nikolay Aleksandrov.

    12) Fix checksum generation regression added by "r8169: fix 8168evl
    frame padding.", from Francois Romieu.

    13) ip_gre can look at stale SKB data pointer, fix from Eric Dumazet.

    14) Fix checksum handling when GSO is enabled in bnx2x driver with
    certain chips, from Yuval Mintz.

    15) Fix double free in batman-adv, from Martin Hundebøll.

    16) Fix device startup synchronization with firmware in tg3 driver, from
    Nithin Sujit.

    17) perf networking dropmonitor doesn't work at all due to mixed up
    trace parameter ordering, from Ben Hutchings.

    18) Fix proportional rate reduction handling in tcp_ack(), from Nandita
    Dukkipati.

    19) IPSEC layer doesn't return an error when a valid state is detected,
    causing an OOPS. Fix from Timo Teräs.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (85 commits)
    be2net: bug fix on returning an invalid nic descriptor
    tcp: xps: fix reordering issues
    net: Revert unused variable changes.
    xfrm: properly handle invalid states as an error
    virtio_net: enable napi for all possible queues during open
    tcp: bug fix in proportional rate reduction.
    net: ethernet: sun: drop unused variable
    net: ethernet: korina: drop unused variable
    net: ethernet: apple: drop unused variable
    qmi_wwan: Added support for Cinterion's PLxx WWAN Interface
    perf: net_dropmonitor: Remove progress indicator
    perf: net_dropmonitor: Use bisection in symbol lookup
    perf: net_dropmonitor: Do not assume ordering of dictionaries
    perf: net_dropmonitor: Fix symbol-relative addresses
    perf: net_dropmonitor: Fix trace parameter order
    net: fec: use a more proper compatible string for MVF type device
    qlcnic: Fix updating netdev->features
    qlcnic: remove netdev->trans_start updates within the driver
    qlcnic: Return proper error codes from probe failure paths
    tg3: Update version to 3.132
    ...

    Linus Torvalds
     
  • When cgroup_next_descendant_pre() initiates a walk, it checks whether
    the subtree root doesn't have any children and if not returns NULL.
    Later code assumes that the subtree isn't empty. This is broken
    because the subtree may become empty inbetween, which can lead to the
    traversal escaping the subtree by walking to the sibling of the
    subtree root.

    There's no reason to have the early exit path. Remove it along with
    the later assumption that the subtree isn't empty. This simplifies
    the code a bit and fixes the subtle bug.

    While at it, fix the comment of cgroup_for_each_descendant_pre() which
    was incorrectly referring to ->css_offline() instead of
    ->css_online().

    Signed-off-by: Tejun Heo
    Reviewed-by: Michal Hocko
    Cc: stable@vger.kernel.org

    Tejun Heo
     
  • Pull PCI updates from Bjorn Helgaas:
    "Here are some more fixes for v3.10. The Moorestown update broke Intel
    Medfield devices, so I reverted it. The acpiphp change fixes a
    regression: we broke hotplug notifications to host bridges when we
    split acpiphp into the host-bridge related part and the
    endpoint-related part.

    Moorestown
    Revert "x86/pci/mrst: Use configuration mechanism 1 for 00:00.0, 00:02.0, 00:03.0"
    Hotplug
    PCI: acpiphp: Re-enumerate devices when host bridge receives Bus Check"

    * tag 'pci-v3.10-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    Revert "x86/pci/mrst: Use configuration mechanism 1 for 00:00.0, 00:02.0, 00:03.0"
    PCI: acpiphp: Re-enumerate devices when host bridge receives Bus Check

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg Kroah-Hartman:
    "Here are some tty / serial driver fixes for 3.10-rc2.

    Nothing huge, although the rocket driver fix looks large, it's just
    moving the code around to fix the reported build issues in it. Other
    than that, this has the fix for the of-reported lockdep warning from
    the vt layer, as well as some other needed bugfixes.

    All of these have been in linux-next for a while"

    * tag 'tty-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    tty: mxser: Fix build warning introduced by dfc7b837c7f9 (Re: linux-next: build warning after merge of the tty.current tree)
    tty: mxser: fix usage of opmode_ioaddr
    serial: 8250_dw: add ACPI ID for Intel BayTrail
    TTY: Fix tty miss restart after we turn off flow-control
    tty/vt: Fix vc_deallocate() lock order
    TTY: ehv_bytechan: add missing platform_driver_unregister() when module exit
    TTY: rocket, fix more no-PCI warnings
    serial: mcf: missing uart_unregister_driver() on error in mcf_init()
    tty: serial: mpc5xxx: fix error handing in mpc52xx_uart_init()
    serial: samsung: add missing platform_driver_unregister() when module exit
    serial: pl011: protect attribute read from NULL platform data struct
    tty: nwpserial: Pass correct pointer to free_irq()
    serial: 8250_dw: Add valid clk pointer check

    Linus Torvalds
     
  • Pull USB fixes from Greg Kroah-Hartman:
    "Here are a number of tiny USB bugfixes / new device ids for 3.10-rc2

    The majority of these are USB gadget fixes, but they are all small.
    Other than that, some USB host controller fixes, and USB serial driver
    fixes for problems reported with them.

    Also hopefully a fixed up USB_OTG Kconfig dependancy, that one seems
    to be almost impossible to get right for all of the different
    platforms these days."

    * tag 'usb-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (56 commits)
    USB: cxacru: potential underflow in cxacru_cm_get_array()
    USB: ftdi_sio: Add support for Newport CONEX motor drivers
    USB: option: add device IDs for Dell 5804 (Novatel E371) WWAN card
    usb: ohci: fix goto wrong tag in err case
    usb: isp1760-if: fix memleak when platform_get_resource fail
    usb: ehci-s5p: fix memleak when fallback to pdata
    USB: serial: clean up chars_in_buffer
    USB: ti_usb_3410_5052: fix chars_in_buffer overhead
    USB: io_ti: fix chars_in_buffer overhead
    USB: ftdi_sio: fix chars_in_buffer overhead
    USB: ftdi_sio: clean up get_modem_status
    USB: serial: add generic wait_until_sent implementation
    USB: serial: add wait_until_sent operation
    USB: set device dma_mask without reference to global data
    USB: Blacklisted Cinterion's PLxx WWAN Interface
    usb: option: Add Telewell TW-LTE 4G
    USB: EHCI: remove bogus #error
    USB: reset resume quirk needed by a hub
    USB: usb-stor: realtek_cr: Fix compile error
    usb, chipidea: fix link error when USB_EHCI_HCD is a module
    ...

    Linus Torvalds
     

23 May, 2013

3 commits

  • When booting with DT, there's a crash when omapfb is probed. This is
    caused by the fact that omapdss+DT is not yet supported, and thus
    omapdss is not probed at all. On the other hand, omapfb is always
    probed. When omapfb tries to use omapdss, there's a NULL pointer
    dereference crash. The same error should most likely happen with omapdrm
    and omap_vout also.

    To fix this, add an "initialized" state to omapdss. When omapdss has
    been probed, it's marked as initialized. omapfb, omapdrm and omap_vout
    check this state when they are probed to see that omapdss is actually
    there.

    Signed-off-by: Tomi Valkeinen
    Tested-by: Peter Ujfalusi

    Tomi Valkeinen
     
  • Pull MIPS update from Ralf Baechle:
    - Fix a build error if is included without
    having been included before.
    - Cleanup and fix the damage done by the generic idle loop patch.
    - A kprobes fix that brings the MIPS code in line with what other
    architectures are for quite a while already.
    - Wire up the native getdents64(2) syscall for 64 bit - for some reason
    it was only for the compat ABIs. This has been reported to cause an
    application issue. This turned out bigger than I meant but the wait
    instruction support code was driving me nuts.

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: N64: Wire getdents64(2)
    kprobes/mips: Fix to check double free of insn slot
    MIPS: Idle: Break r4k_wait into two functions and fix it.
    MIPS: Idle: Do address fiddlery in helper functions.
    MIPS: Idle: Consolidate all declarations in .
    MIPS: Idle: Don't call local_irq_disable() in cpu_wait() implementations.
    MIPS: Idle: Re-enable irqs at the end of r3081, au1k and loongson2 cpu_wait.
    MIPS: Idle: Make call of function pointer readable.
    MIPS: Idle: Consistently reformat inline assembler.
    MIPS: Idle: cleaup SMTC idle hook as per Linux coding style.
    MIPS: Consolidate idle loop / WAIT instruction support in a single file.
    MIPS: clock.h: Remove declaration of cpu_wait.
    Add include dependencies to .
    MIPS: Rewrite pfn_valid to work in modules, too.

    Linus Torvalds
     
  • …l/git/pjw/omap-pending into fixes

    From Paul Walmsley:
    Fix the OMAP serial driver to work correctly on OMAP4 when booting
    with DT.

    * tag 'omap-fixes-a-for-3.10-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
    ARM: OMAP2+: hwmod: Remove sysc slave idle and auto idle apis
    SERIAL: OMAP: Remove the slave idle handling from the driver
    ARM: OMAP2+: serial: Remove the un-used slave idle hooks
    ARM: OMAP2+: hwmod-data: UART IP needs software control to manage sidle modes
    ARM: OMAP2+: hwmod: Add a new flag to handle SIDLE in SWSUP only in active
    ARM: OMAP2+: hwmod: Fix sidle programming in _enable_sysc()/_idle_sysc()

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

22 May, 2013

5 commits

  • Pull mfd fixes from Samuel Ortiz:
    "This is the first batch of MFD fixes for 3.10.

    It's bigger than I would like, most of it is due to the big ab/db8500
    merge that went through during the 3.10 merge window.

    So we have:

    - Some build fixes for the tps65912 and ab8500 drivers.
    - A couple of build fixes for the the si476x driver with pre 4.3 gcc
    compilers.
    - A few runtime breakage fixes (probe failures or oopses) for the
    ab8500 and db8500 drivers.
    - Some sparse or regular gcc warning fixes for the si476x, ab8500 and
    cros_ec drivers."

    * tag 'mfd-fixes-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-fixes:
    mfd: ab8500-sysctrl: Let sysctrl driver work without pdata
    mfd: db8500-prcmu: Update stored DSI PLL divider value
    mfd: ab8500-sysctrl: Always enable pm_power_off handler
    mfd: ab8500-core: Pass GPADC compatible string to MFD core
    mfd: db8500-prcmu: Supply the pdata_size attribute for db8500-thermal
    mfd: ab8500-core: Use the correct driver name when enabling gpio/pinctrl
    mfd: ab8500: Pass AB8500 IRQ to debugfs code by resource
    mfd: ab8500-gpadc: Suppress 'ignoring regulator_enable() return value' warning
    mfd: ab8500-sysctrl: Set sysctrl_dev during probe
    mfd: ab8500-sysctrl: Fix sparse warning
    mfd: abx500-core: Fix sparse warning
    mfd: ab8500: Debugfs code depends on gpadc
    mfd: si476x: Use get_unaligned_be16() for unaligned be16 loads
    mfd: cros_ec_spi: Use %z to format pointer differences
    mfd: si476x: Do not use binary constants
    mfd: tps65912: Select MFD_CORE

    Linus Torvalds
     
  • Pull virtio fixes from Rusty Russell:
    "A build fix and a uapi exposure fix. The build fix is later than I
    liked, but my first version broke linux-next due to overzealous header
    clean."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio_console: fix uapi header
    Hoist memcpy_fromiovec/memcpy_toiovec into lib/

    Linus Torvalds
     
  • On s390 the prefix page and absolute zero pages are not correctly
    returned when reading /dev/mem. The reason is that the s390 asm/io.h
    file includes the asm-generic/io.h file which then defines
    xlate_dev_mem_ptr() and therefore overwrites the s390 specific
    version that does the correct swap operation for prefix and absolute
    zero pages. The problem is a regression that was introduced with git
    commit cd248341 (s390/pci: base support).

    To fix the problem add "#ifndef xlate_dev_mem_ptr" in asm-generic/io.h
    and "#define xlate_dev_mem_ptr" in asm/io.h. This ensures that the
    s390 version is used. For completeness also add the "#ifndef"
    construct for xlate_dev_kmem_ptr().

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • If has not been included before ,
    a build error like the below one will result:

    CC arch/mips/kernel/idle.o
    In file included from arch/mips/kernel/idle.c:17:0:
    include/linux/printk.h:109:1: error: data definition has no type or storage class [-Werror]
    include/linux/printk.h:109:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
    include/linux/printk.h:110:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
    include/linux/printk.h:110:1: error: expected ‘,’ or ‘;’ before ‘int’
    include/linux/printk.h:114:1: error: data definition has no type or storage class [-Werror]
    include/linux/printk.h:114:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
    include/linux/printk.h:115:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
    include/linux/printk.h:115:1: error: expected ‘,’ or ‘;’ before ‘int’
    include/linux/printk.h:117:1: error: data definition has no type or storage class [-Werror]
    include/linux/printk.h:117:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
    include/linux/printk.h:118:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
    include/linux/printk.h:118:1: error: ‘__cold__’ attribute ignored [-Werror=attributes]
    include/linux/printk.h:118:1: error: expected ‘,’ or ‘;’ before ‘asmlinkage’
    include/linux/printk.h:122:1: error: data definition has no type or storage class [-Werror]
    include/linux/printk.h:122:1: error: type defaults to ‘int’ in declaration of ‘asmlinkage’ [-Werror=implicit-int]
    include/linux/printk.h:123:1: error: ‘format’ attribute only applies to function types [-Werror=attributes]
    include/linux/printk.h:123:1: error: ‘__cold__’ attribute ignored [-Werror=attributes]
    include/linux/printk.h:123:1: error: expected ‘,’ or ‘;’ before ‘int’
    In file included from include/linux/kernel.h:14:0,
    from include/linux/sched.h:15,
    from arch/mips/kernel/idle.c:18:
    include/linux/dynamic_debug.h: In function ‘ddebug_dyndbg_module_param_cb’:
    include/linux/dynamic_debug.h:124:3: error: implicit declaration of function ‘printk’ [-Werror=implicit-function-declaration]

    Fixed by including .

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Currently, drivers/acpi/device_pm.c depends on CONFIG_PM and all of
    the functions defined in there are replaced with static inline stubs
    if that option is unset. However, CONFIG_PM means, roughly, "runtime
    PM or suspend/hibernation support" and some of those functions are
    useful regardless of that. For example, they are used by the ACPI
    fan driver for controlling fans and acpi_device_set_power() is called
    during device removal. Moreover, device initialization may depend on
    setting device power states properly.

    For these reasons, make the routines manipulating ACPI device power
    states defined in drivers/acpi/device_pm.c available for CONFIG_PM
    unset too.

    Reported-by: Zhang Rui
    Reported-and-tested-by: Michel Lespinasse
    Signed-off-by: Rafael J. Wysocki
    Cc: 3.9+

    Rafael J. Wysocki
     

21 May, 2013

5 commits

  • Pull radeon sun/hainan support from Dave Airlie:
    "Since I know its outside the merge window, but since this is new hw I
    thought I'd try and provoke the new hw exception, it just fills in the
    blanks in the driver for the new AMD sun and hainan chipsets."

    * 'drm-radeon-sun-hainan' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon: add Hainan pci ids
    drm/radeon: add golden register settings for Hainan (v2)
    drm/radeon: sun/hainan chips do not have UVD (v2)
    drm/radeon: track which asics have UVD
    drm/radeon: radeon-asic updates for Hainan
    drm/radeon: fill in ucode loading support for Hainan
    drm/radeon: don't touch DCE or VGA regs on Hainan (v3)
    drm/radeon: fill in GPU init for Hainan (v2)
    drm/radeon: add chip family for Hainan

    Linus Torvalds
     
  • Drop unused transport_wait_for_tasks() check in target_wait_for_sess_cmds
    shutdown code, and convert tcm_qla2xxx + ib_srpt fabric drivers.

    Cc: Joern Engel
    Cc: Roland Dreier
    Signed-off-by: Nicholas Bellinger

    Joern Engel
     
  • …wireless into for-davem

    John W. Linville
     
  • Now that the tty port owns the flip buffers and i/o is allowed
    from the driver even when no tty is attached, the destruction
    of the tty port (and the flip buffers) must ensure that no
    outstanding work is pending.

    Unfortunately, this creates a lock order problem with the
    console_lock (see attached lockdep report [1] below).

    For single console deallocation, drop the console_lock prior
    to port destruction. When multiple console deallocation,
    defer port destruction until the consoles have been
    deallocated.

    tty_port_destroy() is not required if the port has not
    been used; remove from vc_allocate() failure path.

    [1] lockdep report from Dave Jones

    ======================================================
    [ INFO: possible circular locking dependency detected ]
    3.9.0+ #16 Not tainted
    -------------------------------------------------------
    (agetty)/26163 is trying to acquire lock:
    blocked: ((&buf->work)){+.+...}, instance: ffff88011c8b0020, at: [] flush_work+0x5/0x2e0

    but task is already holding lock:
    blocked: (console_lock){+.+.+.}, instance: ffffffff81c2fde0, at: [] vt_ioctl+0xb61/0x1230

    which lock already depends on the new lock.

    the existing dependency chain (in reverse order) is:

    -> #1 (console_lock){+.+.+.}:
    [] lock_acquire+0xa4/0x210
    [] console_lock+0x77/0x80
    [] con_flush_chars+0x2d/0x50
    [] n_tty_receive_buf+0x122/0x14d0
    [] flush_to_ldisc+0x119/0x170
    [] process_one_work+0x211/0x700
    [] worker_thread+0x11b/0x3a0
    [] kthread+0xed/0x100
    [] ret_from_fork+0x7c/0xb0

    -> #0 ((&buf->work)){+.+...}:
    [] __lock_acquire+0x193a/0x1c00
    [] lock_acquire+0xa4/0x210
    [] flush_work+0x4e/0x2e0
    [] __cancel_work_timer+0x95/0x130
    [] cancel_work_sync+0x10/0x20
    [] tty_port_destroy+0x12/0x20
    [] vc_deallocate+0xf8/0x110
    [] vt_ioctl+0xb6c/0x1230
    [] tty_ioctl+0x285/0xd50
    [] do_vfs_ioctl+0x305/0x530
    [] sys_ioctl+0x81/0xa0
    [] system_call_fastpath+0x16/0x1b

    other info that might help us debug this:

    [ 6760.076175] Possible unsafe locking scenario:

    CPU0 CPU1
    ---- ----
    lock(console_lock);
    lock((&buf->work));
    lock(console_lock);
    lock((&buf->work));

    *** DEADLOCK ***

    1 lock on stack by (agetty)/26163:
    #0: blocked: (console_lock){+.+.+.}, instance: ffffffff81c2fde0, at: [] vt_ioctl+0xb61/0x1230
    stack backtrace:
    Pid: 26163, comm: (agetty) Not tainted 3.9.0+ #16
    Call Trace:
    [] print_circular_bug+0x200/0x20e
    [] __lock_acquire+0x193a/0x1c00
    [] ? sched_clock+0x9/0x10
    [] ? sched_clock+0x9/0x10
    [] ? native_sched_clock+0x20/0x80
    [] lock_acquire+0xa4/0x210
    [] ? flush_work+0x5/0x2e0
    [] flush_work+0x4e/0x2e0
    [] ? flush_work+0x5/0x2e0
    [] ? mark_held_locks+0xbb/0x140
    [] ? __free_pages_ok.part.57+0x93/0xc0
    [] ? mark_held_locks+0xbb/0x140
    [] ? __cancel_work_timer+0x82/0x130
    [] __cancel_work_timer+0x95/0x130
    [] cancel_work_sync+0x10/0x20
    [] tty_port_destroy+0x12/0x20
    [] vc_deallocate+0xf8/0x110
    [] vt_ioctl+0xb6c/0x1230
    [] ? lock_release_holdtime.part.30+0xa1/0x170
    [] tty_ioctl+0x285/0xd50
    [] ? inode_has_perm.isra.46.constprop.61+0x56/0x80
    [] do_vfs_ioctl+0x305/0x530
    [] ? selinux_file_ioctl+0x5b/0x110
    [] sys_ioctl+0x81/0xa0
    [] system_call_fastpath+0x16/0x1b

    Cc: Dave Jones
    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • Signed-off-by: Alex Deucher
    Reviewed-by: Christian König

    Alex Deucher
     

20 May, 2013

3 commits

  • …it/linusw/linux-pinctrl

    Pull pinctrl fixes from Linus Walleij:

    - Three fixes to make the boot path for device tree work properly on
    the Nomadik pin controller.

    - Compile warning fix for the vt8500 driver.

    - Fix error path in pinctrl-single.

    - Free mappings in error path of the Lantiq controller.

    - Documentation fixes.

    * tag 'pinctrl-fixes-v3.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl/lantiq: Free mapping configs for both pin and groups
    pinctrl: single: fix error return code in pcs_parse_one_pinctrl_entry()
    pinctrl: generic: Fix typos and clarify comments
    pinctrl: vt8500: Fix incorrect data in WM8750 pinctrl table
    pinctrl: abx500: Rejiggle platform data and DT initialisation
    pinctrl: abx500: Specify failed sub-driver by ID instead of driver_data

    Linus Torvalds
     
  • uapi should use __u32 not u32.
    Fix a macro in virtio_console.h which uses u32.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org

    Michael S. Tsirkin
     
  • ERROR: "memcpy_fromiovec" [drivers/vhost/vhost_scsi.ko] undefined!

    That function is only present with CONFIG_NET. Turns out that
    crypto/algif_skcipher.c also uses that outside net, but it actually
    needs sockets anyway.

    In addition, commit 6d4f0139d642c45411a47879325891ce2a7c164a added
    CONFIG_NET dependency to CONFIG_VMCI for memcpy_toiovec, so hoist
    that function and revert that commit too.

    socket.h already includes uio.h, so no callers need updating; trying
    only broke things fo x86_64 randconfig (thanks Fengguang!).

    Reported-by: Randy Dunlap
    Acked-by: David S. Miller
    Acked-by: Michael S. Tsirkin
    Signed-off-by: Rusty Russell

    Rusty Russell