18 Jun, 2015

2 commits

  • Convert SA11x0 (Neponset, SA1111, and UCB1x00 code) to use the new
    irq_set_chained_handler_and_data() helper.

    Signed-off-by: Russell King
    Cc: Alexandre Courbot
    Cc: Hans Ulli Kroll
    Cc: Jason Cooper
    Cc: Lee Jones
    Cc: Linus Walleij
    Cc: Thierry Reding
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/E1Z4yzx-0002S6-7p@rmk-PC.arm.linux.org.uk
    Signed-off-by: Thomas Gleixner

    Russell King
     
  • Driver authors seem to get the ordering of irq_set_chained_handler()
    and irq_set_handler_data() wrong - ordering the former before the
    latter. This opens a race window where, if there is an interrupt
    pending, the handler will be called between these two calls,
    potentially resulting in an oops.

    Provide a single interface to set both of these together, especially
    as that's commonly what is required.

    Signed-off-by: Russell King
    Cc: Alexandre Courbot
    Cc: Hans Ulli Kroll
    Cc: Jason Cooper
    Cc: Lee Jones
    Cc: Linus Walleij
    Cc: Thierry Reding
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/E1Z4yzs-0002Rw-4B@rmk-PC.arm.linux.org.uk
    Signed-off-by: Thomas Gleixner

    Russell King
     

16 Jun, 2015

1 commit

  • The Exynos interrupt combiner IP loses its state when the SoC enters
    into a low power state during a Suspend-to-RAM. This means that if a
    IRQ is used as a source, the interrupts for the devices are disabled
    when the system is resumed from a sleep state so are not triggered.

    Save the interrupt enable set register for each combiner group and
    restore it after resume to make sure that the interrupts are enabled.

    Signed-off-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Cc: Jason Cooper
    Cc: Kukjin Kim
    Cc: Tomasz Figa
    Cc: Doug Anderson
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Peter Chubb
    Cc: Shuah Khan
    Cc: Chanho Park
    Cc: Sudeep Holla
    Link: http://lkml.kernel.org/r/1434087795-13990-1-git-send-email-javier.martinez@collabora.co.uk
    Signed-off-by: Thomas Gleixner

    Javier Martinez Canillas
     

06 Jun, 2015

3 commits

  • GIC requires to disable the interrupt before changing the trigger type.
    irqchip core provides IRQCHIP_SET_TYPE_MASKED flag and ensures that the
    interrupt is masked before calling chip.irq_set_type() if the irqchip
    sets the flag.

    This patch adds IRQCHIP_SET_TYPE_MASKED to GIC irqchip so that the core
    can manage disabling the interrupt while changing the trigger type.

    Signed-off-by: Sudeep Holla
    Reviewed-by: Marc Zyngier
    Cc: Jason Cooper
    Link: http://lkml.kernel.org/r/1433501997-19205-1-git-send-email-sudeep.holla@arm.com
    Signed-off-by: Thomas Gleixner

    Sudeep Holla
     
  • Add missing documentation for required properties:
    - interrupt-controller,
    - parent interrupts (one entry per provided interrupt).

    Add missing documentation for optional properties:
    - functional clock (managed since commit 705bc96c2c15313c ("irqchip:
    renesas-intc-irqpin: Add minimal runtime PM support")),
    - power-domains.

    Add an example, taken from r8a7740.dtsi.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Simon Horman
    Cc: Jason Cooper
    Link: http://lkml.kernel.org/r/1432891663-23641-1-git-send-email-geert%2Brenesas@glider.be
    Signed-off-by: Thomas Gleixner

    Geert Uytterhoeven
     
  • Get the urgent fixes from upstream to avoid conflicts.

    Thomas Gleixner
     

24 May, 2015

2 commits

  • Pull two Ceph fixes from Sage Weil:
    "These fix an issue with the RBD notifications when there are topology
    changes in the cluster"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    Revert "libceph: clear r_req_lru_item in __unregister_linger_request()"
    libceph: request a new osdmap if lingering request maps to no osd

    Linus Torvalds
     
  • Pull btrfs fixes from Chris Mason:
    "I fixed up a regression from 4.0 where conversion between different
    raid levels would sometimes bail out without converting.

    Filipe tracked down a race where it was possible to double allocate
    chunks on the drive.

    Mark has a fix for fiemap. All three will get bundled off for stable
    as well"

    * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix regression in raid level conversion
    Btrfs: fix racy system chunk allocation when setting block group ro
    btrfs: clear 'ret' in btrfs_check_shared() loop

    Linus Torvalds
     

23 May, 2015

17 commits

  • Pull drm fixes from Dave Airlie:
    "Radeon has two displayport fixes, one for a regression.

    i915 regression flicker fix needed so 4.0 can get fixed.

    A bunch of msm fixes and a bunch of exynos fixes, these two are
    probably a bit larger than I'd like, but most of them seems pretty
    good"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (29 commits)
    drm/radeon: fix error flag checking in native aux path
    drm/radeon: retry dcpd fetch
    drm/msm/mdp5: fix incorrect parameter for msm_framebuffer_iova()
    drm/exynos: dp: Lower level of EDID read success message
    drm/exynos: cleanup exynos_drm_plane
    drm/exynos: 'win' is always unsigned
    drm/exynos: mixer: don't dump registers under spinlock
    drm/exynos: Consolidate return statements in fimd_bind()
    drm/exynos: Constify exynos_drm_crtc_ops
    drm/exynos: Fix build breakage on !DRM_EXYNOS_FIMD
    drm/exynos: mixer: Constify platform_device_id
    drm/exynos: mixer: cleanup pixelformat handling
    drm/exynos: mixer: also allow NV21 for the video processor
    drm/exynos: mixer: remove buffer count handling in vp_video_buffer()
    drm/exynos: plane: honor buffer offset for dma_addr
    drm/exynos: fb: use drm_format_num_planes to get buffer count
    drm/i915: fix screen flickering
    drm/msm: fix locking inconsistencies in gpu->destroy()
    drm/msm/dsi: Simplify the code to get the number of read byte
    drm/msm: Attach assigned encoder to eDP and DSI connectors
    ...

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Don't leak ipvs->sysctl_tbl, from Tommi Rentala.

    2) Fix neighbour table entry leak in rocker driver, from Ying Xue.

    3) Do not emit bonding notifications for unregistered interfaces, from
    Nicolas Dichtel.

    4) Set ipv6 flow label properly when in TIME_WAIT state, from Florent
    Fourcot.

    5) Fix regression in ipv6 multicast filter test, from Henning Rogge.

    6) do_replace() in various footables netfilter modules is missing a
    check for 0 counters in the datastructure provided by the user. Fix
    from Dave Jones, and found with trinity.

    7) Fix RCU bug in packet scheduler classifier module unloads, from
    Daniel Borkmann.

    8) Avoid deadlock in tcp_get_info() by using u64_sync. From Eric
    Dumzaet.

    9) Input packet processing can race with inetdev_destroy() teardown,
    fix potential OOPS in ip_error() by explicitly testing whether the
    inetdev is still attached. From Eric W Biederman.

    10) MLDv2 parser in bridge multicast code breaks too early while
    parsing. Fix from Thadeu Lima de Souza Cascardo.

    11) Asking for settings on non-zero PHYID doesn't work because we do not
    import the command structure from the user and use the PHYID
    provided there. Fix from Arun Parameswaran.

    12) Fix UDP checksums with IPV6 RAW sockets, from Vlad Yasevich.

    13) Missing NF_TABLES depends for TPROXY etc can cause build failures,
    fix from Florian Westphal.

    14) Fix netfilter conntrack to handle RFC5961 challenge ACKs properly,
    from Jesper Dangaard Brouer.

    15) If netlink autobind retry fails, we have to reset the sockets portid
    back to zero. From Herbert Xu.

    16) VXLAN netns exit code unregisters using wrong device, from John W
    Linville.

    17) Add some USB device IDs to ath3k and btusb bluetooth drivers, from
    Dmitry Tunin and Wen-chien Jesse Sung.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
    bridge: fix lockdep splat
    net: core: 'ethtool' issue with querying phy settings
    bridge: fix parsing of MLDv2 reports
    ARM: zynq: DT: Use the zynq binding with macb
    net: macb: Disable half duplex gigabit on Zynq
    net: macb: Document zynq gem dt binding
    ipv4: fill in table id when replacing a route
    cdc_ncm: Fix tx_bytes statistics
    ipv4: Avoid crashing in ip_error
    tcp: fix a potential deadlock in tcp_get_info()
    net: sched: fix call_rcu() race on classifier module unloads
    net: phy: Make sure phy_start() always re-enables the phy interrupts
    ipv6: fix ECMP route replacement
    ipv6: do not delete previously existing ECMP routes if add fails
    Revert "netfilter: bridge: query conntrack about skb dnat"
    netfilter: ensure number of counters is >0 in do_replace()
    netfilter: nfnetlink_{log,queue}: Register pernet in first place
    tcp: don't over-send F-RTO probes
    tcp: only undo on partial ACKs in CA_Loss
    net/ipv6/udp: Fix ipv6 multicast socket filter regression
    ...

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "Three small fixes that have been picked up the last few weeks.
    Specifically:

    - Fix a memory corruption issue in NVMe with malignant user
    constructed request. From Christoph.

    - Kill (now) unused blk_queue_bio(), dm was changed to not need this
    anymore. From Mike Snitzer.

    - Always use blk_schedule_flush_plug() from the io_schedule() path
    when flushing a plug, fixing a !TASK_RUNNING warning with md. From
    Shaohua"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    sched: always use blk_schedule_flush_plug in io_schedule_out
    nvme: fix kernel memory corruption with short INQUIRY buffers
    block: remove export for blk_queue_bio

    Linus Torvalds
     
  • Pull md bugfixes from Neil Brown:
    "I have a few more raid5 bugfixes pending, but I want them to get a bit
    more review first. In the meantime:

    - one serious RAID0 data corruption - caused by recent bugfix that
    wasn't reviewed properly.

    - one raid5 fix in new code (a couple more of those to come).

    - one little fix to stop static analysis complaining about silly rcu
    annotation"

    * tag 'md/4.1-rc4-fixes' of git://neil.brown.name/md:
    md/bitmap: remove rcu annotation from pointer arithmetic.
    md/raid0: fix restore to sector variable in raid0_make_request
    raid5: fix broken async operation chain

    Linus Torvalds
     
  • Pull input fixes from Dmitry Torokhov:
    "Updates for the input subsystem.

    The main change is that we tell joydev not to touch "absolute mice",
    such as VMware virtual mouse, as that produced bad result (cursor
    stuck in upper right corner) with games"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: smtpe-ts - wait 50mS until polling for pen-up
    Input: smtpe-ts - use msecs_to_jiffies() instead of HZ
    Input: joydev - don't classify the vmmouse as a joystick
    Input: vmmouse - do not reference non-existing version of X driver
    Input: alps - fix finger jumps on lifting 2 fingers on v7 touchpad
    Input: elantech - fix semi-mt protocol for v3 HW
    Input: sx8654 - fix memory allocation check

    Linus Torvalds
     
  • Pull another crypto fix from Herbert Xu:
    "Fix ICV corruption in s390/ghash when the same tfm is used by more
    than one thread"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: s390/ghash - Fix incorrect ghash icv buffer handling.

    Linus Torvalds
     
  • Following lockdep splat was reported :

    [ 29.382286] ===============================
    [ 29.382315] [ INFO: suspicious RCU usage. ]
    [ 29.382344] 4.1.0-0.rc0.git11.1.fc23.x86_64 #1 Not tainted
    [ 29.382380] -------------------------------
    [ 29.382409] net/bridge/br_private.h:626 suspicious
    rcu_dereference_check() usage!
    [ 29.382455]
    other info that might help us debug this:

    [ 29.382507]
    rcu_scheduler_active = 1, debug_locks = 0
    [ 29.382549] 2 locks held by swapper/0/0:
    [ 29.382576] #0: (((&p->forward_delay_timer))){+.-...}, at:
    [] call_timer_fn+0x5/0x4f0
    [ 29.382660] #1: (&(&br->lock)->rlock){+.-...}, at:
    [] br_forward_delay_timer_expired+0x31/0x140
    [bridge]
    [ 29.382754]
    stack backtrace:
    [ 29.382787] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
    4.1.0-0.rc0.git11.1.fc23.x86_64 #1
    [ 29.382838] Hardware name: LENOVO 422916G/LENOVO, BIOS A1KT53AUS 04/07/2015
    [ 29.382882] 0000000000000000 3ebfc20364115825 ffff880666603c48
    ffffffff81892d4b
    [ 29.382943] 0000000000000000 ffffffff81e124e0 ffff880666603c78
    ffffffff8110bcd7
    [ 29.383004] ffff8800785c9d00 ffff88065485ac58 ffff880c62002800
    ffff880c5fc88ac0
    [ 29.383065] Call Trace:
    [ 29.383084] [] dump_stack+0x4c/0x65
    [ 29.383130] [] lockdep_rcu_suspicious+0xe7/0x120
    [ 29.383178] [] br_fill_ifinfo+0x4a9/0x6a0 [bridge]
    [ 29.383225] [] br_ifinfo_notify+0x11b/0x4b0 [bridge]
    [ 29.383271] [] ? br_hold_timer_expired+0x70/0x70 [bridge]
    [ 29.383320] []
    br_forward_delay_timer_expired+0x58/0x140 [bridge]
    [ 29.383371] [] ? br_hold_timer_expired+0x70/0x70 [bridge]
    [ 29.383416] [] call_timer_fn+0xc3/0x4f0
    [ 29.383454] [] ? call_timer_fn+0x5/0x4f0
    [ 29.383493] [] ? lock_release_holdtime.part.29+0xf/0x200
    [ 29.383541] [] ? br_hold_timer_expired+0x70/0x70 [bridge]
    [ 29.383587] [] run_timer_softirq+0x244/0x490
    [ 29.383629] [] __do_softirq+0xec/0x670
    [ 29.383666] [] irq_exit+0x145/0x150
    [ 29.383703] [] smp_apic_timer_interrupt+0x46/0x60
    [ 29.383744] [] apic_timer_interrupt+0x73/0x80
    [ 29.383782] [] ? cpuidle_enter_state+0x5f/0x2f0
    [ 29.383832] [] ? cpuidle_enter_state+0x5b/0x2f0

    Problem here is that br_forward_delay_timer_expired() is a timer
    handler, calling br_ifinfo_notify() which assumes either rcu_read_lock()
    or RTNL are held.

    Simplest fix seems to add rcu read lock section.

    Signed-off-by: Eric Dumazet
    Reported-by: Josh Boyer
    Reported-by: Dominick Grift
    Cc: Vlad Yasevich
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • When trying to configure the settings for PHY1, using commands
    like 'ethtool -s eth0 phyad 1 speed 100', the 'ethtool' seems to
    modify other settings apart from the speed of the PHY1, in the
    above case.

    The ethtool seems to query the settings for PHY0, and use this
    as the base to apply the new settings to the PHY1. This is
    causing the other settings of the PHY 1 to be wrongly
    configured.

    The issue is caused by the '_ethtool_get_settings()' API, which
    gets called because of the 'ETHTOOL_GSET' command, is clearing
    the 'cmd' pointer (of type 'struct ethtool_cmd') by calling
    memset. This clears all the parameters (if any) passed for the
    'ETHTOOL_GSET' cmd. So the driver's callback is always invoked
    with 'cmd->phy_address' as '0'.

    The '_ethtool_get_settings()' is called from other files in the
    'net/core'. So the fix is applied to the 'ethtool_get_settings()'
    which is only called in the context of the 'ethtool'.

    Signed-off-by: Arun Parameswaran
    Reviewed-by: Ray Jui
    Reviewed-by: Scott Branden
    Signed-off-by: David S. Miller

    Arun Parameswaran
     
  • When more than a multicast address is present in a MLDv2 report, all but
    the first address is ignored, because the code breaks out of the loop if
    there has not been an error adding that address.

    This has caused failures when two guests connected through the bridge
    tried to communicate using IPv6. Neighbor discoveries would not be
    transmitted to the other guest when both used a link-local address and a
    static address.

    This only happens when there is a MLDv2 querier in the network.

    The fix will only break out of the loop when there is a failure adding a
    multicast address.

    The mdb before the patch:

    dev ovirtmgmt port vnet0 grp ff02::1:ff7d:6603 temp
    dev ovirtmgmt port vnet1 grp ff02::1:ff7d:6604 temp
    dev ovirtmgmt port bond0.86 grp ff02::2 temp

    After the patch:

    dev ovirtmgmt port vnet0 grp ff02::1:ff7d:6603 temp
    dev ovirtmgmt port vnet1 grp ff02::1:ff7d:6604 temp
    dev ovirtmgmt port bond0.86 grp ff02::fb temp
    dev ovirtmgmt port bond0.86 grp ff02::2 temp
    dev ovirtmgmt port bond0.86 grp ff02::d temp
    dev ovirtmgmt port vnet0 grp ff02::1:ff00:76 temp
    dev ovirtmgmt port bond0.86 grp ff02::16 temp
    dev ovirtmgmt port vnet1 grp ff02::1:ff00:77 temp
    dev ovirtmgmt port bond0.86 grp ff02::1:ff00:def temp
    dev ovirtmgmt port bond0.86 grp ff02::1:ffa1:40bf temp

    Fixes: 08b202b67264 ("bridge br_multicast: IPv6 MLD support.")
    Reported-by: Rik Theys
    Signed-off-by: Thadeu Lima de Souza Cascardo
    Tested-by: Rik Theys
    Signed-off-by: David S. Miller

    Thadeu Lima de Souza Cascardo
     
  • Use the new zynq binding for macb ethernet, since it will disable half
    duplex gigabit like the Zynq TRM says to do.

    Signed-off-by: Nathan Sullivan
    Signed-off-by: David S. Miller

    Nathan Sullivan
     
  • According to the Zynq TRM, gigabit half duplex is not supported. Add a
    new cap and compatible string so Zynq can avoid advertising that mode.

    Signed-off-by: Nathan Sullivan
    Acked-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Nathan Sullivan
     
  • Signed-off-by: Nathan Sullivan
    Acked-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Nathan Sullivan
     
  • When replacing an IPv4 route, tb_id member of the new fib_alias
    structure is not set in the replace code path so that the new route is
    ignored.

    Fixes: 0ddcf43d5d4a ("ipv4: FIB Local/MAIN table collapse")
    Signed-off-by: Michal Kubecek
    Acked-by: Alexander Duyck
    Signed-off-by: David S. Miller

    Michal Kubeček
     
  • The tx_curr_frame_payload field is u32. When we try to calculate a
    small negative delta based on it, we end up with a positive integer
    close to 2^32 instead. So the tx_bytes pointer increases by about
    2^32 for every transmitted frame.

    Fix by calculating the delta as a signed long.

    Cc: Ben Hutchings
    Reported-by: Florian Bruhin
    Fixes: 7a1e890e2168 ("usbnet: Fix tx_bytes statistic running backward in cdc_ncm")
    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Bjørn Mork
     
  • Pablo Neira Ayuso says:

    ====================
    Netfilter fixes for net

    The following patchset contain Netfilter fixes for your net tree, they are:

    1) Fix a race in nfnetlink_log and nfnetlink_queue that can lead to a crash.
    This problem is due to wrong order in the per-net registration and netlink
    socket events. Patch from Francesco Ruggeri.

    2) Make sure that counters that userspace pass us are higher than 0 in all the
    x_tables frontends. Discovered via Trinity, patch from Dave Jones.

    3) Revert a patch for br_netfilter to rely on the conntrack status bits. This
    breaks stateless IPv6 NAT transformations. Patch from Florian Westphal.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • ip_error does not check if in_dev is NULL before dereferencing it.

    IThe following sequence of calls is possible:
    CPU A CPU B
    ip_rcv_finish
    ip_route_input_noref()
    ip_route_input_slow()
    inetdev_destroy()
    dst_input()

    With the result that a network device can be destroyed while processing
    an input packet.

    A crash was triggered with only unicast packets in flight, and
    forwarding enabled on the only network device. The error condition
    was created by the removal of the network device.

    As such it is likely the that error code was -EHOSTUNREACH, and the
    action taken by ip_error (if in_dev had been accessible) would have
    been to not increment any counters and to have tried and likely failed
    to send an icmp error as the network device is going away.

    Therefore handle this weird case by just dropping the packet if
    !in_dev. It will result in dropping the packet sooner, and will not
    result in an actual change of behavior.

    Fixes: 251da4130115b ("ipv4: Cache ip_error() routes even when not forwarding.")
    Reported-by: Vittorio Gambaletta
    Tested-by: Vittorio Gambaletta
    Signed-off-by: Vittorio Gambaletta
    Signed-off-by: "Eric W. Biederman"
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric W. Biederman
     
  • Taking socket spinlock in tcp_get_info() can deadlock, as
    inet_diag_dump_icsk() holds the &hashinfo->ehash_locks[i],
    while packet processing can use the reverse locking order.

    We could avoid this locking for TCP_LISTEN states, but lockdep would
    certainly get confused as all TCP sockets share same lockdep classes.

    [ 523.722504] ======================================================
    [ 523.728706] [ INFO: possible circular locking dependency detected ]
    [ 523.734990] 4.1.0-dbg-DEV #1676 Not tainted
    [ 523.739202] -------------------------------------------------------
    [ 523.745474] ss/18032 is trying to acquire lock:
    [ 523.750002] (slock-AF_INET){+.-...}, at: [] tcp_get_info+0x2c4/0x360
    [ 523.758129]
    [ 523.758129] but task is already holding lock:
    [ 523.763968] (&(&hashinfo->ehash_locks[i])->rlock){+.-...}, at: [] inet_diag_dump_icsk+0x1d5/0x6c0
    [ 523.774661]
    [ 523.774661] which lock already depends on the new lock.
    [ 523.774661]
    [ 523.782850]
    [ 523.782850] the existing dependency chain (in reverse order) is:
    [ 523.790326]
    -> #1 (&(&hashinfo->ehash_locks[i])->rlock){+.-...}:
    [ 523.796599] [] lock_acquire+0xbb/0x270
    [ 523.802565] [] _raw_spin_lock+0x38/0x50
    [ 523.808628] [] __inet_hash_nolisten+0x78/0x110
    [ 523.815273] [] tcp_v4_syn_recv_sock+0x24b/0x350
    [ 523.822067] [] tcp_check_req+0x3c1/0x500
    [ 523.828199] [] tcp_v4_do_rcv+0x239/0x3d0
    [ 523.834331] [] tcp_v4_rcv+0xa8e/0xc10
    [ 523.840202] [] ip_local_deliver_finish+0x133/0x3e0
    [ 523.847214] [] ip_local_deliver+0xaa/0xc0
    [ 523.853440] [] ip_rcv_finish+0x168/0x5c0
    [ 523.859624] [] ip_rcv+0x307/0x420

    Lets use u64_sync infrastructure instead. As a bonus, 64bit
    arches get optimized, as these are nop for them.

    Fixes: 0df48c26d841 ("tcp: add tcpi_bytes_acked to tcp_info")
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

22 May, 2015

15 commits

  • If no_irq_chip is used for wake up (e.g. gpio-keys with a simple GPIO
    controller), the following warning is printed on resume from s2ram:

    WANING: CPU: 0 PID: 1046 at kernel/irq/manage.c:537 irq_set_irq_wake+0x9c/0xf8()
    Unbalanced IRQ 113 wake disable

    This happens because no_irq_chip does not implement
    irq_chip.irq_set_wake(), causing set_irq_wake_real() to return -ENXIO,
    and irq_set_irq_wake() to reset the wake_depth to zero.

    Set IRQCHIP_SKIP_SET_WAKE to indicate that irq_chip.irq_set_wake() is
    not implemented.

    Cfr. commit 10a50f1ab5f06c9a ("genirq: Set IRQCHIP_SKIP_SET_WAKE flag
    for dummy_irq_chip").

    Signed-off-by: Geert Uytterhoeven
    Cc: Roger Quadros
    Cc: Gregory Clement
    Link: http://lkml.kernel.org/r/1432281529-23325-1-git-send-email-geert%2Brenesas@glider.be
    Signed-off-by: Thomas Gleixner

    Geert Uytterhoeven
     
  • PTR_ERR(NULL) returns 0 so current code returns 0 if ioremap fails, fix it.

    Signed-off-by: Axel Lin
    Reviewed-by: Matthias Brugger
    Cc: Yingjoe Chen
    Cc: linux-mediatek@lists.infradead.org
    Cc: Jason Cooper
    Link: http://lkml.kernel.org/r/1432220254.29544.1.camel@ingics.com
    Signed-off-by: Thomas Gleixner

    Axel Lin
     
  • Just two small DP fixes for 4.1

    * 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: fix error flag checking in native aux path
    drm/radeon: retry dcpd fetch

    Dave Airlie
     
  • There's a stable backport from Ander [1] that combines this and a few
    other commits to fix the flickering on v4.0, reported in [2] among
    others. Having this upstream is obviously a requirement for stable.

    * tag 'drm-intel-fixes-2015-05-21' of git://anongit.freedesktop.org/drm-intel:
    drm/i915: fix screen flickering

    Dave Airlie
     
  • Multitheaded tests showed that the icv buffer in the current ghash
    implementation is not handled correctly. A move of this working ghash
    buffer value to the descriptor context fixed this. Code is tested and
    verified with an multithreaded application via af_alg interface.

    Cc: stable@vger.kernel.org
    Signed-off-by: Harald Freudenberger
    Signed-off-by: Gerald Schaefer
    Reported-by: Herbert Xu
    Signed-off-by: Herbert Xu

    Harald Freudenberger
     
  • Pull two xen bugfixes from David Vrabel:

    - fix ARM build regression.

    - fix VIRQ_CONSOLE related oops.

    * tag 'for-linus-4.1b-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/events: don't bind non-percpu VIRQs with percpu chip
    xen/arm: Define xen_arch_suspend()

    Linus Torvalds
     
  • Pull KVM fixes from Paolo Bonzini:
    "This includes a fix for two oopses, one on PPC and on x86.

    The rest is fixes for bugs with newer Intel processors"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    kvm/fpu: Enable eager restore kvm FPU for MPX
    Revert "KVM: x86: drop fpu_activate hook"
    kvm: fix crash in kvm_vcpu_reload_apic_access_page
    KVM: MMU: fix SMAP virtualization
    KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages
    KVM: MMU: fix smap permission check
    KVM: PPC: Book3S HV: Fix list traversal in error case

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "Bug fixes.

    Three for our crypto code, two for eBPF, and one memory management fix
    to get machines with memory > 8TB working"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/mm: correct return value of pmd_pfn
    s390/crypto: fix stckf loop
    s390/zcrypt: Fix invalid domain handling during ap module unload
    s390/bpf: Fix gcov stack space problem
    s390/zcrypt: fixed ap poll timer behavior
    s390/bpf: Adjust ALU64_DIV/MOD to match interpreter change

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "This batch became slightly large, just because I've been on vacation
    for the last two weeks. Nothing to scare much here, all
    device-specific fixes, mostly small patches.

    Majority of patches are for HD-audio, especially Dell machines. The
    rest are small ASoC fixes for various codecs, and a USB-audio quirk.

    One PCM fix is included to ease the faulty condition checks in the
    case of two periods PCM buffers"

    * tag 'sound-4.1-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Disable widget power-saving for ALC292 & co
    ALSA: hda - Reduce verbs by node power-saves
    ALSA: sound/atmel/ac97c.c: remove unused variable
    ALSA: usb-audio: Add quirk for MS LifeCam Studio
    ALSA: pcm: Modify double acknowledged interrupts check condition
    ALSA: hda/realtek - ALC292 dock fix for Thinkpad L450
    ALSA: hda - Add Conexant codecs CX20721, CX20722, CX20723 and CX20724
    ALSA: hda - Fix headset mic and mic-in for a Dell desktop
    ASoC: wm8994: correct BCLK DIV 348 to 384
    ASoC: wm8960: fix "RINPUT3" audio route error
    ASoC: dapm: Modify widget stream name according to prefix
    ALSA: hda - Add headset mic quirk for Dell Inspiron 5548
    ASoC: rt5645: Fix mask for setting RT5645_DMIC_2_DP_GPIO12 bit
    ASoC: rt5645: Add ACPI match ID
    ALSA: hda/realtek - Add ALC298 alias name for Dell
    ASoC: uda1380: Avoid accessing i2c bus when codec is disabled
    ALSA: hda/realtek - Fix typo for ALC286/ALC288
    ASoC: mc13783: Fix wrong mask value used in mc13xxx_reg_rmw() calls
    ALSA: hda - Add headphone quirk for Lifebook E752
    ASoC: davinci-mcasp: Correct pm status check in suspend callback

    Linus Torvalds
     
  • Pull thermal fixes from Zhang Rui:
    "Three fixes for Armada (380) and TI (dra7 and OMAP5) thermal soc
    drivers"

    * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: armada: Update Armada 380 thermal sensor coefficients
    thermal: ti-soc-thermal: OMAP5: Implement Workaround for Errata i813
    thermal: ti-soc-thermal: dra7: Implement Workaround for Errata i814

    Linus Torvalds
     
  • Pull infiniband/rdma fixes from Doug Ledford:
    "This should hopefully be the last request for 4.1-rc for the RDMA
    stack. It contains some late ocrdma fixes that I'm including because
    they are small and self contained. It also contains two bug fixes
    that are simple and easily verified.

    Summary:

    - a number of small, well contained bug fixes for ocrdma driver

    - a simple fix for the connection negotiation sequence on IB

    - fix for broken AF_IB address on UD queue pair support"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
    IB/cma: Fix broken AF_IB UD support
    ib/cm: Change reject message type when destroying cm_id
    RDMA/ocrdma: Update ocrdma version number
    RDMA/ocrdma: Fail connection for MTU lesser than 512
    RDMA/ocrdma: Fix dmac resolution for link local address
    RDMA/ocrdma: Prevent allocation of DPP PDs if FW doesnt support it
    RDMA/ocrdma: Fix the request length for RDMA_QUERY_QP mailbox command to FW.
    RDMA/ocrdma: Use VID 0 if PFC is enabled and vlan is not configured
    RDMA/ocrdma: Fix QP state transition in destroy_qp
    RDMA/ocrdma: Report EQ full fatal error
    RDMA/ocrdma: Fix EQ destroy failure during driver unload

    Linus Torvalds
     
  • Pull MMC fix from Ulf Hansson:
    "One more mmc fix intended for v4.1 rc5:

    MMC host:
    - atmel-mci: fix bad variable type for clkdiv"

    * tag 'mmc-4.1-rc3' of git://git.linaro.org/people/ulf.hansson/mmc:
    mmc: atmel-mci: fix bad variable type for clkdiv

    Linus Torvalds
     
  • Pull HID fixes from Jiri Kosina:
    "Bugfixes for HID subsystem that should go in 4.1. Important
    highlights:

    - the patch that extended support for HID++ protocol for TK820
    touchpad turns out to be causing regressions due to firmware
    issues; patch reverting back to basic support from Benjamin
    Tissoires

    - Wacom driver can oops for devices that report non-touch data on
    touch interfaces. Fix from Ping Cheng

    - gpiolib is not mandatory for i2c-hid, so the driver shouldn't fail
    if gpiolib is not enabled. Fix from Mika Westerberg"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: wacom: fix an Oops caused by wacom_wac_finger_count_touches
    HID: usbhid: Add HID_QUIRK_NOGET for Aten DVI KVM switch
    HID: hid-sensor-hub: Fix debug lock warning
    Revert "HID: logitech-hidpp: support combo keyboard touchpad TK820"
    HID: i2c-hid: Do not fail probing if gpiolib is not enabled

    Linus Torvalds
     
  • Pull crypto fix from Herbert Xu:
    "This fixes a the crash in the newly added algif_aead interface when it
    tries to link SG lists"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: algif_aead - fix invalid sgl linking

    Linus Torvalds
     
  • Wait a little bit longer, 50mS instead of 20mS, until the driver starts
    polling for pen-up. The problematic behavior before this patch is applied
    is as follows. The behavior was observed on the STMPE610QTR controller.

    Upon a physical pen-down event, the touchscreen reports one set of x-y-p
    coordinates and a pen-down event. After that, the pen-up polling is
    triggered and since the controller is not ready yet, the polling mistakenly
    detects a pen-up event while the physical state is still such that the pen
    is down on the touch surface.

    The pen-up handling flushes the controller FIFO, so after that, all the
    samples in the controller are discarded. The controller becomes ready
    shortly after this bogus pen-up handling and does generate again a pen-down
    interrupt. This time, the controller contains x-y-p samples which all read
    as zero. Since pressure value is zero, this set of samples is effectively
    ignored by userland.

    In the end, the driver just bounces between pen-down and bogus pen-up
    handling, generating no useful results. Fix this by giving the controller a
    bit more time before polling it for pen-up.

    Signed-off-by: Marek Vasut
    Reviewed-by: Viresh Kumar
    Signed-off-by: Dmitry Torokhov

    Marek Vasut