1. 07 1月, 2016 2 次提交
  2. 27 10月, 2015 1 次提交
  3. 04 8月, 2015 1 次提交
  4. 05 6月, 2015 1 次提交
  5. 21 5月, 2015 8 次提交
  6. 13 4月, 2015 2 次提交
    • H
      Input: alps - non interleaved V2 dualpoint has separate stick button bits · 92bac83d
      Hans de Goede 提交于
      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: NHans de Bruin <jmdebruin@xmsnet.nl>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      92bac83d
    • H
      Input: alps - fix touchpad buttons getting stuck when used with trackpoint · 6bcca19f
      Hans de Goede 提交于
      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: NHans de Bruin <jmdebruin@xmsnet.nl>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Acked-by: NPali Rohár <pali.rohar@gmail.com>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      6bcca19f
  7. 11 4月, 2015 1 次提交
  8. 07 4月, 2015 3 次提交
  9. 06 4月, 2015 2 次提交
  10. 24 3月, 2015 1 次提交
  11. 05 3月, 2015 1 次提交
  12. 16 2月, 2015 8 次提交
  13. 02 2月, 2015 1 次提交
  14. 12 1月, 2015 2 次提交
  15. 19 12月, 2014 4 次提交
  16. 14 11月, 2014 1 次提交
    • P
      Input: alps - ignore bad data on Dell Latitudes E6440 and E7440 · a7ef82ae
      Pali Rohár 提交于
      Sometimes on Dell Latitude laptops psmouse/alps driver receive invalid ALPS
      protocol V3 packets with bit7 set in last byte. More often it can be
      reproduced on Dell Latitude E6440 or E7440 with closed lid and pushing
      cover above touchpad.
      
      If bit7 in last packet byte is set then it is not valid ALPS packet. I was
      told that ALPS devices never send these packets. It is not know yet who
      send those packets, it could be Dell EC, bug in BIOS and also bug in
      touchpad firmware...
      
      With this patch alps driver does not process those invalid packets, but
      instead of reporting PSMOUSE_BAD_DATA, getting into out of sync state,
      getting back in sync with the next byte and spam dmesg we return
      PSMOUSE_FULL_PACKET. If driver is truly out of sync we'll fail the checks
      on the next byte and report PSMOUSE_BAD_DATA then.
      Signed-off-by: NPali Rohár <pali.rohar@gmail.com>
      Tested-by: NPali Rohár <pali.rohar@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      a7ef82ae
  17. 10 11月, 2014 1 次提交
    • P
      Input: alps - allow up to 2 invalid packets without resetting device · 9d720b34
      Pali Rohár 提交于
      On some Dell Latitude laptops ALPS device or Dell EC send one invalid byte
      in 6 bytes ALPS packet. In this case psmouse driver enter out of sync
      state. It looks like that all other bytes in packets are valid and also
      device working properly. So there is no need to do full device reset, just
      need to wait for byte which match condition for first byte (start of
      packet). Because ALPS packets are bigger (6 or 8 bytes) default limit is
      small.
      
      This patch increase number of invalid bytes to size of 2 ALPS packets which
      psmouse driver can drop before do full reset.
      
      Resetting ALPS devices take some time and when doing reset on some Dell
      laptops touchpad, trackstick and also keyboard do not respond. So it is
      better to do it only if really necessary.
      Signed-off-by: NPali Rohár <pali.rohar@gmail.com>
      Tested-by: NPali Rohár <pali.rohar@gmail.com>
      Reviewed-by: NHans de Goede <hdegoede@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      9d720b34