1. 02 Sep, 2013 3 commits
  2. 26 Aug, 2013 4 commits
  3. 20 Aug, 2013 2 commits
  4. 09 Aug, 2013 1 commit
  5. 05 Aug, 2013 2 commits
  6. 31 Jul, 2013 1 commit
    • Peter Hurley's avatar
      HID: logitech-dj: Fix non-atomic kmalloc in logi_dj_ll_input_event() · ce737368
      Peter Hurley authored
      The ll_driver's .hidinput_input_event() method is called from
      atomic context [1]. Use GFP_ATOMIC for allocation of the
      synthesized hid report.
      
      BUG: sleeping function called from invalid context at /home/peter/src/kernels/next/mm/slub.c:941
      in_atomic(): 1, irqs_disabled(): 1, pid: 2095, name: Xorg
      INFO: lockdep is turned off.
      irq event stamp: 1502178
      hardirqs last  enabled at (1502177): [<ffffffff81785e55>] _raw_spin_unlock_irqrestore+0x65/0x80
      hardirqs last disabled at (1502178): [<ffffffff8178632a>] common_interrupt+0x6a/0x6f
      softirqs last  enabled at (1501802): [<ffffffff81051ed3>] __do_softirq+0x183/0x420
      softirqs last disabled at (1501799): [<ffffffff81052315>] irq_exit+0xb5/0xc0
      CPU: 3 PID: 2095 Comm: Xorg Not tainted 3.11-next-20130725-xeon+lockdep #20130725
      Hardware name: Dell Inc. Precision WorkStation T5400  /0RW203, BIOS A11 04/30/2012
       ffffffff81a662e0 ffff8802adcf9ca8 ffffffff8177c330 0000000000000000
       ffff8802a76d2440 ffff8802adcf9cd8 ffffffff810867d0 ffff8802a7ac8000
       0000000000000010 00000000ffffffff 00000000000000d0 ffff8802adcf9d38
      Call Trace:
       [<ffffffff8177c330>] dump_stack+0x4f/0x84
       [<ffffffff810867d0>] __might_sleep+0x140/0x1f0
       [<ffffffff811ad93b>] __kmalloc+0x6b/0x2e0
       [<ffffffffa026cb08>] ? hid_alloc_report_buf+0x28/0x30 [hid]
       [<ffffffffa026cb08>] hid_alloc_report_buf+0x28/0x30 [hid]
       [<ffffffffa00700b0>] logi_dj_ll_input_event+0xb0/0x1b0 [hid_logitech_dj]
       [<ffffffff815a559e>] input_handle_event+0x8e/0x540
       [<ffffffff815a5aad>] ? input_inject_event+0x5d/0x220
       [<ffffffff815a5c10>] input_inject_event+0x1c0/0x220
       [<ffffffff815a5a94>] ? input_inject_event+0x44/0x220
       [<ffffffff81181660>] ? might_fault+0xa0/0xb0
       [<ffffffff81181617>] ? might_fault+0x57/0xb0
       [<ffffffff815a909e>] evdev_write+0xde/0x160
       [<ffffffff811c0ad8>] vfs_write+0xc8/0x1f0
       [<ffffffff811c0fe5>] SyS_write+0x55/0xa0
       [<ffffffff8178e682>] system_call_fastpath+0x16/0x1b
      Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ce737368
  7. 29 Jul, 2013 1 commit
  8. 23 Jul, 2013 1 commit
  9. 22 Jul, 2013 2 commits
    • Jiri Kosina's avatar
      HID: fix unused rsize usage · bc197eed
      Jiri Kosina authored
      27ce4050 ("HID: fix data access in implement()") by mistake removed
      a setting of buffer size in hidp. Fix that by putting it back.
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      bc197eed
    • Jiri Kosina's avatar
      HID: fix data access in implement() · 27ce4050
      Jiri Kosina authored
      implement() is setting bytes in LE data stream. In case the data is not
      aligned to 64bits, it reads past the allocated buffer. It doesn't really
      change any value there (it's properly bitmasked), but in case that this
      read past the boundary hits a page boundary, pagefault happens when
      accessing 64bits of 'x' in implement(), and kernel oopses.
      
      This happens much more often when numbered reports are in use, as the
      initial 8bit skip in the buffer makes the whole process work on values
      which are not aligned to 64bits.
      
      This problem dates back to attempts in 2005 and 2006 to make implement()
      and extract() as generic as possible, and even back then the problem
      was realized by Adam Kroperlin, but falsely assumed to be impossible
      to cause any harm:
      
        http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg47690.html
      
      I have made several attempts at fixing it "on the spot" directly in
      implement(), but the results were horrible; the special casing for processing
      last 64bit chunk and switching to different math makes it unreadable mess.
      
      I therefore took a path to allocate a few bytes more which will never make
      it into final report, but are there as a cushion for all the 64bit math
      operations happening in implement() and extract().
      
      All callers of hid_output_report() are converted at the same time to allocate
      the buffer by newly introduced hid_alloc_report_buf() helper.
      
      Bruno noticed that the whole raw_size test can be dropped as well, as
      hid_alloc_report_buf() makes sure that the buffer is always of a proper
      size.
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Acked-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      27ce4050
  10. 15 Jul, 2013 1 commit
  11. 12 Jul, 2013 1 commit
  12. 04 Jul, 2013 21 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 3366dd9f
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       - HID battery handling cleanup by David Herrmann
       - ELO 4000/4500 driver, which has been finally ported to be proper HID
         driver by Jiri Slaby
       - ps3remote driver functionality is now provided by generic sony
         driver, by Jiri Kosina
       - PS2/3 Buzz controllers support, by Colin Leitner
       - rework of wiimote driver including full extensions hotpluggin
         support, sub-device modularization and speaker support by David
         Herrmann
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (55 commits)
        HID: wacom: Intuos4 battery charging changes
        HID: i2c-hid: support sending HID output reports using the output register
        HID: kye: Add report fixup for Genius Gila Gaming mouse
        HID: wiimote: support Nintendo Wii U Pro Controller
        Input: make gamepad API keycodes more clear
        input: document gamepad API and add extra keycodes
        HID: explain out-of-range check better
        HID: fix false positive out of range values
        HID: wiimote: fix coccinelle warnings
        HID: roccat: check cdev_add return value
        HID: fold ps3remote driver into generic Sony driver
        HID: hyperv: convert alloc+memcpy to memdup
        HID: core: fix reporting of raw events
        HID: wiimote: discard invalid EXT data reports
        HID: wiimote: fix classic controller parsing
        HID: wiimote: init EXT/MP during device detection
        HID: wiimote: fix DRM debug-attr to correctly parse input
        HID: wiimote: add MP quirks
        HID: wiimote: remove old static extension support
        HID: wiimote: add "bboard_calib" attribute
        ...
      3366dd9f
    • Linus Torvalds's avatar
      Merge tag 'md-3.11' of git://neil.brown.name/md · 697a067f
      Linus Torvalds authored
      Pull md updates from NeilBrown:
       "Mostly fixes, with a few minor features (eg 'last_sync_action' sysfs
        file)
      
        A couple marked for -stable including one recent bug which causes a
        RAID10 reshape to complete without moving any data :-(
      
        A couple more bugfixes (at least) to come, but haven't confirmed the
        right solution yet."
      
      * tag 'md-3.11' of git://neil.brown.name/md:
        md/raid10: fix bug which causes all RAID10 reshapes to move no data.
        md/raid5: allow 5-device RAID6 to be reshaped to 4-device.
        md/raid10: fix two bugs affecting RAID10 reshape.
        md: remove doubled description for sync_max, merging it within sync_min/sync_max
        MD: Remember the last sync operation that was performed
        md: fix buglet in RAID5 -> RAID0 conversion.
        md/raid10: check In_sync flag in 'enough()'.
        md/raid10: locking changes for 'enough()'.
        md: replace strict_strto*() with kstrto*()
        md: Wait for md_check_recovery before attempting device removal.
        dm-raid: silence compiler warning on rebuilds_per_group.
        DM RAID: Fix raid_resume not reviving failed devices in all cases
        DM RAID: Break-up untidy function
        DM RAID: Add ability to restore transiently failed devices on resume
      697a067f
    • Linus Torvalds's avatar
      Merge branch 'kconfig-diet' from Dave Hansen · e61aca51
      Linus Torvalds authored
      Merge Kconfig menu diet patches from Dave Hansen:
       "I think the "Kernel Hacking" menu has gotten a bit out of hand.  It is
        over 120 lines long on my system with everything enabled and options
        are scattered around it haphazardly.
      
              http://sr71.net/~dave/linux/kconfig-horror.png
      
        Let's try to introduce some sanity.  This set takes that 120 lines
        down to 55 and makes it vastly easier to find some things.  It's a
        start.
      
        This set stands on its own, but there is plenty of room for follow-up
        patches.  The arch-specific debug options still end up getting stuck
        in the top-level "kernel hacking" menu.  OPTIMIZE_INLINING, for
        instance, could obviously go in to the "compiler options" menu, but
        the fact that it is defined in arch/ in a separate Kconfig file keeps
        it on its own for the moment.
      
        The Signed-off-by's in here look funky.  I changed employers while
        working on this set, so I have signoffs from both email addresses"
      
      * emailed patches from Dave Hansen <dave@sr71.net>:
        hang and lockup detection menu
        kconfig: consolidate printk options
        group locking debugging options
        consolidate compilation option configs
        consolidate runtime testing configs
        order memory debugging Kconfig options
        consolidate per-arch stack overflow debugging options
      e61aca51
    • Dave Hansen's avatar
      hang and lockup detection menu · 92aef8fb
      Dave Hansen authored
      The hard/softlockup and hung-task entries take up 6 lines
      of screen real-estate when enabled.  I bet folks don't
      mess with these _that_ often, so move them in a group
      down a level.
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      92aef8fb
    • Dave Hansen's avatar
      kconfig: consolidate printk options · 604ff0dc
      Dave Hansen authored
      Same deal, take the printk-related things and hide them in a menu.
      This takes another 4 items out of the top-level menu.
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      604ff0dc
    • Dave Hansen's avatar
      group locking debugging options · 9eade16b
      Dave Hansen authored
      Original posting:
      
      	http://lkml.kernel.org/r/20121214184208.D9E5804D@kernel.stglabs.ibm.com
      
      There are quite a few of these, and we want to make sure that
      there is one-stop-shopping for lock debugging.
      Signed-off-by: default avatarDave Hansen <dave@linux.vnet.ibm.com>
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9eade16b
    • Dave Hansen's avatar
      consolidate compilation option configs · 6dfc0665
      Dave Hansen authored
      Original Post:
      
      	http://lkml.kernel.org/r/20121214184207.6E00DDEC@kernel.stglabs.ibm.com
      
      Again, trying to come up with some common themes of the stuff in
      the kernel hacking menu...  There are quite a few options to
      tweak compilation in some way, or perform extra compile-time
      checks.  Give them their own menu.
      
      The diff here looks a bit funny... makes it look like I'm
      moving debugfs even though I'm actually moving the options on
      either side of it.
      Signed-off-by: default avatarDave Hansen <dave@linux.vnet.ibm.com>
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6dfc0665
    • Dave Hansen's avatar
      consolidate runtime testing configs · 881c5149
      Dave Hansen authored
      Original posting:
      
      	http://lkml.kernel.org/r/20121214184206.FC11422F@kernel.stglabs.ibm.com
      
      These runtime tests are great, except that there are a lot of them,
      and they are very rarely needed.  Give them their own menu so that
      only the folks who need them will have to go looking for them.
      
      Note that there are some other runtime tests that are not in here,
      like for RCU or locking.  This menu should only be used for tests
      that do not have a more appropriate home.
      Signed-off-by: default avatarDave Hansen <dave@linux.vnet.ibm.com>
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      881c5149
    • Dave Hansen's avatar
      order memory debugging Kconfig options · 0610c8a8
      Dave Hansen authored
      Original posting:
      
      	http://lkml.kernel.org/r/20121214184203.37E6C724@kernel.stglabs.ibm.com
      
      There are a *LOT* of memory debugging options.  They are just scattered
      all over the "Kernel Hacking" menu.  Sure, "memory debugging" is a very
      vague term and it's going to be hard to make absolute rules about what
      goes in here, but this has to be better than what we had before.
      
      This does, however, leave out the architecture-specific memory
      debugging options (like x86's DEBUG_SET_MODULE_RONX).  There would need
      to be some substantial changes to move those in here.  Kconfig can not
      easily mix arch-specific and generic options together: it really
      requires a file per-architecture, and I think having an
      arch/foo/Kconfig.debug-memory might be taking things a bit too far
      Signed-off-by: default avatarDave Hansen <dave@linux.vnet.ibm.com>
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0610c8a8
    • Dave Hansen's avatar
      consolidate per-arch stack overflow debugging options · d1a1dc0b
      Dave Hansen authored
      Original posting:
      
      	http://lkml.kernel.org/r/20121214184202.F54094D9@kernel.stglabs.ibm.com
      
      Several architectures have similar stack debugging config options.
      They all pretty much do the same thing, some with slightly
      differing help text.
      
      This patch changes the architectures to instead enable a Kconfig
      boolean, and then use that boolean in the generic Kconfig.debug
      to present the actual menu option.  This removes a bunch of
      duplication and adds consistency across arches.
      Signed-off-by: default avatarDave Hansen <dave@linux.vnet.ibm.com>
      Reviewed-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Reviewed-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Acked-by: Chris Metcalf <cmetcalf@tilera.com> [for tile]
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d1a1dc0b
    • Linus Torvalds's avatar
      Merge branch 'hpfs' from Mikulas Patocka · da67db4e
      Linus Torvalds authored
      Merge hpfs patches from Mikulas Patocka.
      
      * emailed patches from Mikulas Patocka <mpatocka@artax.karlin.mff.cuni.cz>:
        hpfs: implement prefetch to improve performance
        hpfs: use mpage
        hpfs: better test for errors
      da67db4e
    • Mikulas Patocka's avatar
      hpfs: implement prefetch to improve performance · 275f495d
      Mikulas Patocka authored
      This patch implements prefetch to improve performance.  It helps mostly
      when scanning the bitmaps to calculate free space.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@artax.karlin.mff.cuni.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      275f495d
    • Mikulas Patocka's avatar
      hpfs: use mpage · a0c1b759
      Mikulas Patocka authored
      Use the mpage interface to improve performance.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a0c1b759
    • Mikulas Patocka's avatar
      hpfs: better test for errors · 3ebacb05
      Mikulas Patocka authored
      The test if bitmap access is out of bound could errorneously pass if the
      device size is divisible by 16384 sectors and we are asking for one bitmap
      after the end.
      
      Check for invalid size in the superblock. Invalid size could cause integer
      overflows in the rest of the code.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@artax.karlin.mff.cuni.cz>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3ebacb05
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 65b97fb7
      Linus Torvalds authored
      Pull powerpc updates from Ben Herrenschmidt:
       "This is the powerpc changes for the 3.11 merge window.  In addition to
        the usual bug fixes and small updates, the main highlights are:
      
         - Support for transparent huge pages by Aneesh Kumar for 64-bit
           server processors.  This allows the use of 16M pages as transparent
           huge pages on kernels compiled with a 64K base page size.
      
         - Base VFIO support for KVM on power by Alexey Kardashevskiy
      
         - Wiring up of our nvram to the pstore infrastructure, including
           putting compressed oopses in there by Aruna Balakrishnaiah
      
         - Move, rework and improve our "EEH" (basically PCI error handling
           and recovery) infrastructure.  It is no longer specific to pseries
           but is now usable by the new "powernv" platform as well (no
           hypervisor) by Gavin Shan.
      
         - I fixed some bugs in our math-emu instruction decoding and made it
           usable to emulate some optional FP instructions on processors with
           hard FP that lack them (such as fsqrt on Freescale embedded
           processors).
      
         - Support for Power8 "Event Based Branch" facility by Michael
           Ellerman.  This facility allows what is basically "userspace
           interrupts" for performance monitor events.
      
         - A bunch of Transactional Memory vs.  Signals bug fixes and HW
           breakpoint/watchpoint fixes by Michael Neuling.
      
        And more ...  I appologize in advance if I've failed to highlight
        something that somebody deemed worth it."
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (156 commits)
        pstore: Add hsize argument in write_buf call of pstore_ftrace_call
        powerpc/fsl: add MPIC timer wakeup support
        powerpc/mpic: create mpic subsystem object
        powerpc/mpic: add global timer support
        powerpc/mpic: add irq_set_wake support
        powerpc/85xx: enable coreint for all the 64bit boards
        powerpc/8xx: Erroneous double irq_eoi() on CPM IRQ in MPC8xx
        powerpc/fsl: Enable CONFIG_E1000E in mpc85xx_smp_defconfig
        powerpc/mpic: Add get_version API both for internal and external use
        powerpc: Handle both new style and old style reserve maps
        powerpc/hw_brk: Fix off by one error when validating DAWR region end
        powerpc/pseries: Support compression of oops text via pstore
        powerpc/pseries: Re-organise the oops compression code
        pstore: Pass header size in the pstore write callback
        powerpc/powernv: Fix iommu initialization again
        powerpc/pseries: Inform the hypervisor we are using EBB regs
        powerpc/perf: Add power8 EBB support
        powerpc/perf: Core EBB support for 64-bit book3s
        powerpc/perf: Drop MMCRA from thread_struct
        powerpc/perf: Don't enable if we have zero events
        ...
      65b97fb7
    • Jiri Kosina's avatar
    • Przemo Firszt's avatar
      HID: wacom: Intuos4 battery charging changes · 9d157624
      Przemo Firszt authored
      Intuos4 WL is separately reporting power supply and battery
      charging status - now hid-wacom is using that information.
      Previously hid-wacom was wrongly treating "battery charging" bit
      as "power supply connected". Now it should report battery charging,
      battery discharging, battery full and power supply status.
      
      Intuos4 WL sends reports when is in use (obvious) and when unplugging
      power supply. If means that if the device is being charged, but it's not
      being used it will never report "battery full". The same problem happens
      after the device has been connected, but it's not in use - the
      battery/ac status will be incorrect. Currently there is no mechanism to
      ask the device to send a report containing battery/ac status.
      Signed-off-by: default avatarPrzemo Firszt <przemo@firszt.eu>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      9d157624
    • Jiri Kosina's avatar
      Merge branches 'for-3.11/multitouch', 'for-3.11/sony' and 'for-3.11/upstream' into for-linus · 08ec2dcc
      Jiri Kosina authored
      Conflicts:
      	drivers/hid/hid-core.c
      08ec2dcc
    • Jiri Kosina's avatar
      Merge branches 'for-3.11/battery', 'for-3.11/elo', 'for-3.11/holtek' and... · db583168
      Jiri Kosina authored
      Merge branches 'for-3.11/battery', 'for-3.11/elo', 'for-3.11/holtek' and 'for-3.11/i2c-hid-fixed' into for-linus
      db583168
    • Andrew Duggan's avatar
      HID: i2c-hid: support sending HID output reports using the output register · 811adb96
      Andrew Duggan authored
      The current i2c hid driver does not support sending HID output reports using
      the output register for devices which support receiving reports through this
      method. This patch determines which method to use to send output reports based
       on the value of wMaxOutputLength in the device's HID descriptor.
      Signed-off-by: default avatarAndrew Duggan <aduggan@synaptics.com>
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      811adb96
    • NeilBrown's avatar
      md/raid10: fix bug which causes all RAID10 reshapes to move no data. · 13765120
      NeilBrown authored
      The recent comment:
      commit 7e83ccbe
          md/raid10: Allow skipping recovery when clean arrays are assembled
      
      Causes raid10 to skip a recovery in certain cases where it is safe to
      do so.  Unfortunately it also causes a reshape to be skipped which is
      never safe.  The result is that an attempt to reshape a RAID10 will
      appear to complete instantly, but no data will have been moves so the
      array will now contain garbage.
      (If nothing is written, you can recovery by simple performing the
      reverse reshape which will also complete instantly).
      
      Bug was introduced in 3.10, so this is suitable for 3.10-stable.
      
      Cc: stable@vger.kernel.org (3.10)
      Cc: Martin Wilck <mwilck@arcor.de>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      13765120