1. 07 Apr, 2015 1 commit
    • Benjamin Tissoires's avatar
      Input - mt: Fix input_mt_get_slot_by_key · c6275892
      Benjamin Tissoires authored
      The case occurred recently with a touchscreen using twice a slot during a
      single EV_SYN event:
      
      E: 0.288415 0000 0000 0000      # ------------ SYN_REPORT (0) ----------
      E: 0.296207 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
      E: 0.296207 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
      E: 0.296207 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1
      E: 0.296207 0003 0035 0908      # EV_ABS / ABS_MT_POSITION_X    908
      E: 0.296207 0003 0036 1062      # EV_ABS / ABS_MT_POSITION_Y    1062
      E: 0.296207 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0
      E: 0.296207 0003 0039 8787      # EV_ABS / ABS_MT_TRACKING_ID   8787
      E: 0.296207 0003 0035 1566      # EV_ABS / ABS_MT_POSITION_X    1566
      E: 0.296207 0003 0036 0861      # EV_ABS / ABS_MT_POSITION_Y    861
      E: 0.296207 0003 0000 0908      # EV_ABS / ABS_X                908
      E: 0.296207 0003 0001 1062      # EV_ABS / ABS_Y                1062
      E: 0.296207 0000 0000 0000      # ------------ SYN_REPORT (0) ----------
      
      This occurred because while having already slots 0 and 1 assigned, the
      touchscreen sent:
      
      0.293377 Tip Switch: 0 | Contact Id: 0 | X:  539 | Y: 1960 | Contact Count: 3
      0.294783 Tip Switch: 1 | Contact Id: 1 | X:  908 | Y: 1062 | Contact Count: 0
      0.296187 Tip Switch: 1 | Contact Id: 2 | X: 1566 | Y:  861 | Contact Count: 0
      
      Slot 0 is released correclty, but when we look for Contact ID 2, the slot
      0 is then picked up again because it is marked as inactive (trackingID < 0).
      
      This is wrong, and we should not reuse a slot in the same frame.
      The test should also check for input_mt_is_used().
      
      In addition, we need to initialize mt->frame to an other value than 0.
      With mt->frame being 0, all slots are tags as currently used, and so
      input_mt_get_slot_by_key() would return -1 for all requests.
      
      Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88903Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      c6275892
  2. 27 Mar, 2015 1 commit
  3. 16 Mar, 2015 2 commits
    • Stefan Richter's avatar
      HID: plantronics: fix Kconfig default · f1088b38
      Stefan Richter authored
      This driver didn't exist until before v3.19.
      Why would suddenly everybody want to build it?
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      f1088b38
    • Jim Keir's avatar
      HID: pidff: support more than one concurrent effect · e8f46e4f
      Jim Keir authored
      The PID driver (usbhid/hid-pidff.c) does not set the effect ID when
      uploading an effect. The result is that the initial upload works but
      subsequent uploads to modify effect parameters are all directed at the
      last-created effect.
      
      The targeted effect ID must be passed back to the device when effect
      parameters are changed. This is done at the start of
      "pidff_set_condition_report", "pidff_set_periodic_report" etc. based on
      the value of "pidff->block_load[PID_EFFECT_
      BLOCK_INDEX].value[0]".
      
      This value is only ever set during pidff_request_effect_upload.
      The result is stored in "pidff->pid_id[effect->id]" at the end of
      pid_upload_effect, for later use. However, if an effect is modified and
      re-sent then this identifier is not being copied back from
      pidff->pid_id[effect->id] before sending the command to the device. The
      fix is to do this at the start of pidff_upload_effect.
      Signed-off-by: default avatarJim Keir <jimkeir@oracledbadirect.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      e8f46e4f
  4. 15 Mar, 2015 1 commit
  5. 04 Mar, 2015 1 commit
    • Dmitry Torokhov's avatar
      HID: map telephony usage page · f3dddf24
      Dmitry Torokhov authored
      Currently HID code maps usages from telephony page into BTN_0, BTN_1, etc
      keys which get interpreted by mousedev and userspace as left/right/middle
      button clicks, which is not really helpful.
      
      This change adds mappings for usages that have corresponding input event
      definitions, and leaves the rest unmapped. This can be changed when
      there are userspace consumers for more telephony usages.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      f3dddf24
  6. 26 Feb, 2015 1 commit
  7. 23 Feb, 2015 1 commit
    • Olivier Gay's avatar
      HID: expose country code in sysfs · a877417e
      Olivier Gay authored
      This commit exposes in sysfs the HID country code that is stored in the country
      member of hid_device structure. It identifies the country code of localized
      hardware.
      
      For example some keyboards use it to exhibit the language of the key layout. It
      helps the upper layer to identify the localized hardware and setup the correct
      language to use.
      
      For USB HID devices the country code comes for the HID descriptor and for
      Bluetooth HID devices it is the HIDCountryCode attribute from the SDP database.
      Signed-off-by: default avatarOlivier Gay <ogay@logitech.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      a877417e
  8. 11 Feb, 2015 5 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 870fd0f5
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       "Updates for HID code
      
         - improveements of Logitech HID++ procotol implementation, from
           Benjamin Tissoires
      
         - support for composite RMI devices, from Andrew Duggan
      
         - new driver for BETOP controller, from Huang Bo
      
         - fixup for conflicting mapping in HID core between PC-101/103/104
           and PC-102/105 keyboards from David Herrmann
      
         - new hardware support and fixes in Wacom driver, from Ping Cheng
      
         - assorted small fixes and device ID additions all over the place"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (33 commits)
        HID: wacom: add support for Cintiq 27QHD and 27QHD touch
        HID: wacom: consolidate input capability settings for pen and touch
        HID: wacom: make sure touch arbitration is applied consistently
        HID: pidff: Fix initialisation forMicrosoft Sidewinder FF Pro 2
        HID: hyperv: match wait_for_completion_timeout return type
        HID: wacom: Report ABS_MISC event for Cintiq Companion Hybrid
        HID: Use Kbuild idiom in Makefiles
        HID: do not bind to Microchip Pick16F1454
        HID: hid-lg4ff: use DEVICE_ATTR_RW macro
        HID: hid-lg4ff: fix sysfs attribute permission
        HID: wacom: peport In Range event according to the spec
        HID: wacom: process invalid Cintiq and Intuos data in wacom_intuos_inout()
        HID: rmi: Add support for the touchpad in the Razer Blade 14 laptop
        HID: rmi: Support touchpads with external buttons
        HID: rmi: Use hid_report_len to compute the size of reports
        HID: logitech-hidpp: store the name of the device in struct hidpp
        HID: microsoft: add support for Japanese Surface Type Cover 3
        HID: fixup the conflicting keyboard mappings quirk
        HID: apple: fix battery support for the 2009 ANSI wireless keyboard
        HID: fix Kconfig text
        ...
      870fd0f5
    • Linus Torvalds's avatar
      sata_dwc_460ex: disable COMPILE_TEST again · 06cc01a0
      Linus Torvalds authored
      Commit 84683a7e ("sata_dwc_460ex: enable COMPILE_TEST for the
      driver") enabled this driver for non-ppc460-ex platforms, but it was
      then disabled for ARM and ARM64 by commit 2de5a9c0 ("sata_dwc_460ex:
      disable compilation on ARM and ARM64") because it's too noisy and
      broken.
      
      This disabled is entirely, because it's too noisy on x86-64 too, and
      there's no point in disabling architectures one by one.  At a minimum,
      the code isn't 64-bit clean, and even on 32-bit it is questionable
      whether it makes sense.
      
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Tejun Heo <tj@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      06cc01a0
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 992de5a8
      Linus Torvalds authored
      Merge misc updates from Andrew Morton:
       "Bite-sized chunks this time, to avoid the MTA ratelimiting woes.
      
         - fs/notify updates
      
         - ocfs2
      
         - some of MM"
      
      That laconic "some MM" is mainly the removal of remap_file_pages(),
      which is a big simplification of the VM, and which gets rid of a *lot*
      of random cruft and special cases because we no longer support the
      non-linear mappings that it used.
      
      From a user interface perspective, nothing has changed, because the
      remap_file_pages() syscall still exists, it's just done by emulating the
      old behavior by creating a lot of individual small mappings instead of
      one non-linear one.
      
      The emulation is slower than the old "native" non-linear mappings, but
      nobody really uses or cares about remap_file_pages(), and simplifying
      the VM is a big advantage.
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (78 commits)
        memcg: zap memcg_slab_caches and memcg_slab_mutex
        memcg: zap memcg_name argument of memcg_create_kmem_cache
        memcg: zap __memcg_{charge,uncharge}_slab
        mm/page_alloc.c: place zone_id check before VM_BUG_ON_PAGE check
        mm: hugetlb: fix type of hugetlb_treat_as_movable variable
        mm, hugetlb: remove unnecessary lower bound on sysctl handlers"?
        mm: memory: merge shared-writable dirtying branches in do_wp_page()
        mm: memory: remove ->vm_file check on shared writable vmas
        xtensa: drop _PAGE_FILE and pte_file()-related helpers
        x86: drop _PAGE_FILE and pte_file()-related helpers
        unicore32: drop pte_file()-related helpers
        um: drop _PAGE_FILE and pte_file()-related helpers
        tile: drop pte_file()-related helpers
        sparc: drop pte_file()-related helpers
        sh: drop _PAGE_FILE and pte_file()-related helpers
        score: drop _PAGE_FILE and pte_file()-related helpers
        s390: drop pte_file()-related helpers
        parisc: drop _PAGE_FILE and pte_file()-related helpers
        openrisc: drop _PAGE_FILE and pte_file()-related helpers
        nios2: drop _PAGE_FILE and pte_file()-related helpers
        ...
      992de5a8
    • Linus Torvalds's avatar
      Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw · b2718bff
      Linus Torvalds authored
      Pull gfs2 updates from Steven Whitehouse:
       "This time we have mostly clean ups.  There is a bug fix for a NULL
        dereference relating to ACLs, and another which improves (but does not
        fix entirely) an allocation fall-back code path.  The other three
        patches are small clean ups"
      
      * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: Fix crash during ACL deletion in acl max entry check in gfs2_set_acl()
        GFS2: use __vmalloc GFP_NOFS for fs-related allocations.
        GFS2: Eliminate a nonsense goto
        GFS2: fix sprintf format specifier
        GFS2: Eliminate __gfs2_glock_remove_from_lru
      b2718bff
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · ae90fb14
      Linus Torvalds authored
      Pull xfs update from Dave Chinner:
       "This update contains:
      
         - RENAME_EXCHANGE support
      
         - Rework of the superblock logging infrastructure
      
         - Rework of the XFS_IOCTL_SETXATTR implementation
             * enables use inside user namespaces
             * fixes inconsistencies setting extent size hints
      
         - fixes for missing buffer type annotations used in log recovery
      
         - more consolidation of libxfs headers
      
         - preparation patches for block based PNFS support
      
         - miscellaneous bug fixes and cleanups"
      
      * tag 'xfs-for-linus-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (37 commits)
        xfs: only trace buffer items if they exist
        xfs: report proper f_files in statfs if we overshoot imaxpct
        xfs: fix panic_mask documentation
        xfs: xfs_ioctl_setattr_check_projid can be static
        xfs: growfs should use synchronous transactions
        xfs: fix behaviour of XFS_IOC_FSSETXATTR on directories
        xfs: factor projid hint checking out of xfs_ioctl_setattr
        xfs: factor extsize hint checking out of xfs_ioctl_setattr
        xfs: XFS_IOCTL_SETXATTR can run in user namespaces
        xfs: kill xfs_ioctl_setattr behaviour mask
        xfs: disaggregate xfs_ioctl_setattr
        xfs: factor out xfs_ioctl_setattr transaciton preamble
        xfs: separate xflags from xfs_ioctl_setattr
        xfs: FSX_NONBLOCK is not used
        xfs: don't allocate an ioend for direct I/O completions
        xfs: change kmem_free to use generic kvfree()
        xfs: factor out a xfs_update_prealloc_flags() helper
        xfs: remove incorrect error negation in attr_multi ioctl
        xfs: set superblock buffer type correctly
        xfs: set buf types when converting extent formats
        ...
      ae90fb14
  9. 10 Feb, 2015 27 commits