1. 17 Jun, 2015 1 commit
  2. 08 Jun, 2015 1 commit
  3. 05 Jun, 2015 2 commits
  4. 02 Jun, 2015 1 commit
  5. 22 May, 2015 2 commits
    • Marek Vasut's avatar
      Input: smtpe-ts - wait 50mS until polling for pen-up · 77b071e7
      Marek Vasut authored
      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: default avatarMarek Vasut <marex@denx.de>
      Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      77b071e7
    • Marek Vasut's avatar
      Input: smtpe-ts - use msecs_to_jiffies() instead of HZ · e686e9e1
      Marek Vasut authored
      Use msecs_to_jiffies(20) instead of plain (HZ / 50), as the former is much
      more explicit about it's behavior. We want to schedule the task 20 mS from
      now, so make it explicit in the code.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      e686e9e1
  6. 21 May, 2015 1 commit
  7. 20 May, 2015 2 commits
  8. 13 May, 2015 2 commits
  9. 21 Apr, 2015 1 commit
  10. 20 Apr, 2015 5 commits
  11. 15 Apr, 2015 3 commits
  12. 14 Apr, 2015 4 commits
  13. 12 Apr, 2015 2 commits
    • Hans de Goede's avatar
      Input: alps - non interleaved V2 dualpoint has separate stick button bits · 92bac83d
      Hans de Goede authored
      Non interleaved V2 dualpoint touchpad / stick combos have separate stick
      button bits in the touchpad packets, if we do not check these then the
      trackpoint buttons will not work when using the touchpad, and when pressed
      when the user starts using the touchpad will report a release event even
      though the button is still pressed.
      
      This commit fixes this by checking the separate bits, note that we simply
      combine the buttons, since the hardware does the same when using the touchpad
      buttons with the trackpoint, so we do not have enough information to properly
      separate them.
      Reported-by: default avatarHans de Bruin <jmdebruin@xmsnet.nl>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      92bac83d
    • Hans de Goede's avatar
      Input: alps - fix touchpad buttons getting stuck when used with trackpoint · 6bcca19f
      Hans de Goede authored
      When the left touchpad button gets pressed, and then the trackpoint is
      moved, and then the button is released, the following happens:
      
      1) touchpad packet is received, touchpad evdev node reports BTN_LEFT 1
      
      2) pointing stick packet is received, the hw will report a BTN_LEFT 1 in
         this packet because when the trackstick is active it communicates the
         combined touchpad + pointing stick buttons in the trackstick packet,
         since alps_report_bare_ps2_packet passes NULL (*) for the dev2 parameter
         to alps_report_buttons the combining is not detected and the
         pointing stick evdev node will also report BTN_LEFT 1
      
      3) on release of the button a pointing stick packet with BTN_LEFT 0 is
         received and the pointing stick evdev node will report BTN_LEFT 0
      
      Note how because of the passing as NULL for dev2 the touchpad evdev node
      will never send BTN_LEFT 0 in this scenario leading to a stuck mouse button.
      
      This is a regression in 4.0 introduced by commit 04aae283
      ("Input: ALPS - do not mix trackstick and external PS/2 mouse data")
      
      This commit fixes this by passing in the touchpad evdev as dev2 parameter
      when calling alps_report_buttons for the pointingstick on alps v2 devices,
      so that alps_report_buttons correctly detect that we're already reporting
      the button as pressed via the touchpad evdev node, and will also send the
      release event there.
      
      Cc: stable@vger.kernel.org # 4.0
      Reported-by: default avatarHans de Bruin <jmdebruin@xmsnet.nl>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarPali Rohár <pali.rohar@gmail.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      6bcca19f
  14. 11 Apr, 2015 2 commits
  15. 07 Apr, 2015 4 commits
  16. 06 Apr, 2015 7 commits
    • Linus Torvalds's avatar
      Linux 4.0-rc7 · f22e6e84
      Linus Torvalds authored
      f22e6e84
    • Ulrik De Bie's avatar
      Input: elantech - fix absolute mode setting on some ASUS laptops · bd884149
      Ulrik De Bie authored
      On ASUS TP500LN and X750JN, the touchpad absolute mode is reset each
      time set_rate is done.
      
      In order to fix this, we will verify the firmware version, and if it
      matches the one in those laptops, the set_rate function is overloaded
      with a function elantech_set_rate_restore_reg_07 that performs the
      set_rate with the original function, followed by a restore of reg_07
      (the register that sets the absolute mode on elantech v4 hardware).
      
      Also the ASUS TP500LN and X750JN firmware version, capabilities, and
      button constellation is added to elantech.c
      
      Cc: stable@vger.kernel.org
      Reported-and-tested-by: default avatarGeorge Moutsopoulos <gmoutso@yahoo.co.uk>
      Signed-off-by: default avatarUlrik De Bie <ulrik.debie-os@e2big.org>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      bd884149
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 442bb4ba
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) In TCP, don't register an FRTO for cumulatively ACK'd data that was
          previously SACK'd, from Neal Cardwell.
      
       2) Need to hold RNL mutex in ipv4 multicast code namespace cleanup,
          from Cong WANG.
      
       3) Similarly we have to hold RNL mutex for fib_rules_unregister(), also
          from Cong WANG.
      
       4) Revert and rework netns nsid allocation fix, from Nicolas Dichtel.
      
       5) When we encapsulate for a tunnel device, skb->sk still points to the
          user socket.  So this leads to cases where we retraverse the
          ipv4/ipv6 output path with skb->sk being of some other address
          family (f.e. AF_PACKET).  This can cause things to crash since the
          ipv4 output path is dereferencing an AF_PACKET socket as if it were
          an ipv4 one.
      
          The short term fix for 'net' and -stable is to elide these socket
          checks once we've entered an encapsulation sequence by testing
          xmit_recursion.
      
          Longer term we have a better solution wherein we pass the tunnel's
          socket down through the output paths, but that is way too invasive
          for 'net' and -stable.
      
          From Hannes Frederic Sowa.
      
       6) l2tp_init() failure path forgets to unregister per-net ops, from
          Cong WANG.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        net/mlx4_core: Fix error message deprecation for ConnectX-2 cards
        net: dsa: fix filling routing table from OF description
        l2tp: unregister l2tp_net_ops on failure path
        mvneta: dont call mvneta_adjust_link() manually
        ipv6: protect skb->sk accesses from recursive dereference inside the stack
        netns: don't allocate an id for dead netns
        Revert "netns: don't clear nsid too early on removal"
        ip6mr: call del_timer_sync() in ip6mr_free_table()
        net: move fib_rules_unregister() under rtnl lock
        ipv4: take rtnl_lock and mark mrt table as freed on namespace cleanup
        tcp: fix FRTO undo on cumulative ACK of SACKed range
        xen-netfront: transmit fully GSO-sized packets
      442bb4ba
    • Jack Morgenstein's avatar
      net/mlx4_core: Fix error message deprecation for ConnectX-2 cards · fde913e2
      Jack Morgenstein authored
      Commit 1daa4303 ("net/mlx4_core: Deprecate error message at
      ConnectX-2 cards startup to debug") did the deprecation only for port 1
      of the card. Need to deprecate for port 2 as well.
      
      Fixes: 1daa4303 ("net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug")
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fde913e2
    • Pavel Nakonechny's avatar
      net: dsa: fix filling routing table from OF description · 30303813
      Pavel Nakonechny authored
      According to description in 'include/net/dsa.h', in cascade switches
      configurations where there are more than one interconnected devices,
      'rtable' array in 'dsa_chip_data' structure is used to indicate which
      port on this switch should be used to send packets to that are destined
      for corresponding switch.
      
      However, dsa_of_setup_routing_table() fills 'rtable' with port numbers
      of the _target_ switch, but not current one.
      
      This commit removes redundant devicetree parsing and adds needed port
      number as a function argument. So dsa_of_setup_routing_table() now just
      looks for target switch number by parsing parent of 'link' device node.
      
      To remove possible misunderstandings with the way of determining target
      switch number, a corresponding comment was added to the source code and
      to the DSA device tree bindings documentation file.
      
      This was tested on a custom board with two Marvell 88E6095 switches with
      following corresponding routing tables: { -1, 10 } and { 8, -1 }.
      Signed-off-by: default avatarPavel Nakonechny <pavel.nakonechny@skitlab.ru>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      30303813
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 9e441639
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
       "Updates for the input subsystem - two more tweaks for ALPS driver to
        work out kinks after splitting the touchpad, trackstick, and potential
        external PS/2 mouse into separate input devices.
      
        Changes to support ALPS SS4 devices (protocol V8) will be coming in
        4.1..."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: alps - document stick behavior for protocol V2
        Input: alps - report V2 Dualpoint Stick events via the right evdev node
        Input: alps - report interleaved bare PS/2 packets via dev3
      9e441639
    • WANG Cong's avatar
      67e04c29