1. 04 12月, 2015 2 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 2873d32f
      Linus Torvalds 提交于
      Pull block fixes from Jens Axboe:
       "A collection of fixes from this series.  The most important here is a
        regression fix for an issue that some folks would hit in blk-merge.c,
        and the NVMe queue depth limit for the screwed up Apple "nvme"
        controller.
      
        In more detail, this pull request contains:
      
         - a set of fixes for null_blk, including a fix for a few corner cases
           where we could hang the device.  From Arianna and Paolo.
      
         - lightnvm:
              - A build improvement from Keith.
              - Update the qemu pci id detection from Matias.
              - Error handling fixes for leaks and other little fixes from
                Sudip and Wenwei.
      
         - fix from Eric where BLKRRPART would not return EBUSY for whole
           device mounts, only when partitions were mounted.
      
         - fix from Jan Kara, where EOF O_DIRECT reads would return
           negatively.
      
         - remove check for rq_mergeable() when checking limits for cloned
           requests.  The check doesn't make any sense.  It's assuming that
           since NOMERGE is set on the request that we don't have to
           recalculate limits since the request didn't change, but that's not
           true if the request has been redirected.  From Hannes.
      
         - correctly get the bio front segment value set for single segment
           bio's, fixing a BUG() in blk-merge.  From Ming"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        nvme: temporary fix for Apple controller reset
        null_blk: change type of completion_nsec to unsigned long
        null_blk: guarantee device restart in all irq modes
        null_blk: set a separate timer for each command
        blk-merge: fix computing bio->bi_seg_front_size in case of single segment
        direct-io: Fix negative return from dio read beyond eof
        block: Always check queue limits for cloned requests
        lightnvm: missing nvm_lock acquire
        lightnvm: unconverted ppa returned in get_bb_tbl
        lightnvm: refactor and change vendor id for qemu
        lightnvm: do device max sectors boundary check first
        lightnvm: fix ioctl memory leaks
        lightnvm: free memory when gennvm register fails
        lightnvm: Simplify config when disabled
        Return EBUSY from BLKRRPART for mounted whole-dev fs
      2873d32f
    • L
      Merge tag 'trace-v4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · c041f087
      Linus Torvalds 提交于
      Pull tracing fix from Steven Rostedt:
       "During the merge window I added a new file that is used to filter
        trace events on pids.  It filters all events where only tasks with
        their pid in that file exists.  It also handles the sched_switch and
        sched_wakeup trace events where the current task does not have its pid
        in the file, but the task either being switched to or awaken does.
      
        Unfortunately, I forgot about sched_wakeup_new and sched_waking.  Both
        of these tracepoints use the same class as the sched_wakeup
        tracepoint, and they too should be included in what gets filtered by
        the set_event_pid file"
      
      * tag 'trace-v4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Add sched_wakeup_new and sched_waking tracepoints for pid filter
      c041f087
  2. 03 12月, 2015 4 次提交
  3. 02 12月, 2015 7 次提交
  4. 01 12月, 2015 5 次提交
    • G
      pinctrl: sh-pfc: sh7734: Add missing cfg macro parameter to fix build · 48111b79
      Geert Uytterhoeven 提交于
      When building for SH7734:
      
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:586:1: error: macro "_GP_DATA" passed 5 arguments, but takes just 4
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:586:2: error: '_GP_DATA' undeclared here (not in a function)
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:586:1: error: macro "_GP_DATA" passed 5 arguments, but takes just 4
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:586:1: error: macro "_GP_DATA" passed 5 arguments, but takes just 4
          ...
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2389:1: error: macro "_GP_INOUTSEL" passed 5 arguments, but takes just 4
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2389:53: error: '_GP_INOUTSEL' undeclared here (not in a function)
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2389:2: warning: initialization makes integer from pointer without a cast [enabled by default]
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2389:2: warning: (near initialization for '(anonymous)[0]') [enabled by default]
          ...
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2416:1: error: macro "_GP_INDT" passed 5 arguments, but takes just 4
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2416:47: error: '_GP_INDT' undeclared here (not in a function)
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2416:2: warning: initialization makes integer from pointer without a cast [enabled by default]
          drivers/pinctrl/sh-pfc/pfc-sh7734.c:2416:2: warning: (near initialization for '(anonymous)[0]') [enabled by default]
          ...
      
      Add the missing "cfg" macro parameters to the sh7734-specific
      _GP_DATA(), _GP_INOUTSEL(), and _GP_INDT() macros to fix this.
      
      Fixes: 22768fc6 ("pinctrl: sh-pfc: Add macros defining GP ports with config flags")
      Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      48111b79
    • L
      Merge tag 'mn10300-for-linus-v4.4-rc4' of... · 2255702d
      Linus Torvalds 提交于
      Merge tag 'mn10300-for-linus-v4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull mn10300 fix from Guenter Roeck:
       "A single patch to fix mn10300 build failures"
      
      * tag 'mn10300-for-linus-v4.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        mn10300: Select CONFIG_HAVE_UID16 to fix build failure
      2255702d
    • L
      Merge tag 'trace-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 9e5d25e8
      Linus Torvalds 提交于
      Pull tracing fixes from Steven Rostedt:
       "I found two minor bugs while doing development on the ring buffer
        code.
      
        The first is something that's been there since its creation.  If a
        reader reads a page out of the ring buffer before there's any events
        on it, it can get an out of date timestamp for that event.  It may be
        off by a few microseconds, more if the first event gets discarded.
        The fix was to only update the reader time stamp when it actually sees
        an event on the page, instead of just reading the timestamp from the
        page even if it has no events on it.  That timestamp is still volatile
        until an event is present.
      
        The second bug is more recent.  Instead of passing around parameters a
        descriptor was made and the parameters are passed via a single
        descriptor.  This simplified the code a bit.  But there was one place
        that expected the parameter to be passed by value not reference (which
        a descriptor now does).  And it added to the length of the event,
        which may be ignored later, but the length should not have been
        increased.  The only real problem with this bug is that it may
        allocate more than was needed for the event"
      
      * tag 'trace-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ring-buffer: Put back the length if crossed page with add_timestamp
        ring-buffer: Update read stamp with first real commit on page
      9e5d25e8
    • M
      blk-merge: fix computing bio->bi_seg_front_size in case of single segment · a88d32af
      Ming Lei 提交于
      When bio has only one physical segment, we should set bio's
      bi_seg_front_size as the real(final) size of the single segment.
      
      Fixes: 02e70742(blk-merge: fix blk_bio_segment_split)
      Reported-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      a88d32af
    • J
      direct-io: Fix negative return from dio read beyond eof · 74cedf9b
      Jan Kara 提交于
      Assume a filesystem with 4KB blocks. When a file has size 1000 bytes and
      we issue direct IO read at offset 1024, blockdev_direct_IO() reads the
      tail of the last block and the logic for handling short DIO reads in
      dio_complete() results in a return value -24 (1000 - 1024) which
      obviously confuses userspace.
      
      Fix the problem by bailing out early once we sample i_size and can
      reliably check that direct IO read starts beyond i_size.
      Reported-by: NAvi Kivity <avi@scylladb.com>
      Fixes: 9fe55eea
      CC: stable@vger.kernel.org
      CC: Steven Whitehouse <swhiteho@redhat.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      74cedf9b
  5. 30 11月, 2015 21 次提交
    • G
      mn10300: Select CONFIG_HAVE_UID16 to fix build failure · c86576ea
      Guenter Roeck 提交于
      mn10300 builds fail with
      
      fs/stat.c: In function 'cp_old_stat':
      fs/stat.c:163:2: error: 'old_uid_t' undeclared
      
      ipc/util.c: In function 'ipc64_perm_to_ipc_perm':
      ipc/util.c:540:2: error: 'old_uid_t' undeclared
      
      Select CONFIG_HAVE_UID16 and remove local definition of CONFIG_UID16
      to fix the problem.
      
      Fixes: fbc416ff ("arm64: fix building without CONFIG_UID16")
      Cc: Arnd Bergmann <arnd@arndb.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NAcked-by: David Howells <dhowells@redhat.com>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      c86576ea
    • G
      gpio: omap: drop omap1 mpuio specific irq_mask/unmask callbacks · 000255b7
      Grygorii Strashko 提交于
      Originally OMAP MPUIO GPIO irqchip was implemented using Generic irq
      chip, but after set of reworks Generic irq chip code was replaced by
      common OMAP GPIO implementation and finally removed by
      commit d2d05c65 ("gpio: omap: Fix regression for MPUIO interrupts").
      Unfortunately, above commit left .irq_mask/unmask callbacks assigned
      as below for MPUIO GPIO case:
      	irqc->irq_mask = irq_gc_mask_set_bit;
      	irqc->irq_unmask = irq_gc_mask_clr_bit;
      
      This now causes boot failure on OMAP1 platforms, after
      commit 450fa54c ("gpio: omap: convert to use generic irq handler")
      which forces these callbacks to be called during GPIO IRQs mapping
      from gpiochip_irq_map:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = c0004000
      [00000000] *pgd=00000000
      Internal error: Oops: 75 [#1] ARM
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper Not tainted 4.4.0-rc1-e3-los_afe0c+-00002-g25379c0-dirty #1
      Hardware name: Amstrad E3 (Delta)
      task: c1836000 ti: c1838000 task.ti: c1838000
      PC is at irq_gc_mask_set_bit+0x1c/0x60
      LR is at __irq_do_set_handler+0x118/0x15c
      pc : [<c004848c>]    lr : [<c0047d4c>]    psr: 600000d3
      sp : c1839c90  ip : c1862c64  fp : c1839c9c
      r10: 00000000  r9 : c0411950  r8 : c0411bbc
      r7 : 00000000  r6 : c185c310  r5 : c00444e8  r4 : c185c300
      r3 : c1854b50  r2 : 00000000  r1 : 00000000  r0 : c185c310
      Flags: nZCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
      Control: 0000317f  Table: 10004000  DAC: 00000057
      Process swapper (pid: 1, stack limit = 0xc1838190)
      Stack: (0xc1839c90 to 0xc183a000)
      
      [...]
      
      Backtrace:
      [<c0048470>] (irq_gc_mask_set_bit) from [<c0047d4c>] (__irq_do_set_handler+0x118/0x15c)
      [<c0047c34>] (__irq_do_set_handler) from [<c0047dd4>] (__irq_set_handler+0x44/0x5c)
       r6:00000000 r5:c00444e8 r4:c185c300
      [<c0047d90>] (__irq_set_handler) from [<c0047e1c>] (irq_set_chip_and_handler_name+0x30/0x34)
       r7:00000050 r6:00000000 r5:c00444e8 r4:00000050
      [<c0047dec>] (irq_set_chip_and_handler_name) from [<c01b345c>] (gpiochip_irq_map+0x3c/0x8c)
       r7:00000050 r6:00000000 r5:00000050 r4:c1862c64
      [<c01b3420>] (gpiochip_irq_map) from [<c0049670>] (irq_domain_associate+0x7c/0x1c4)
       r5:c185c310 r4:c185cb00
      [<c00495f4>] (irq_domain_associate) from [<c0049894>] (irq_domain_add_simple+0x98/0xc0)
       r8:c0411bbc r7:c185cb00 r6:00000050 r5:00000010 r4:00000001
      [<c00497fc>] (irq_domain_add_simple) from [<c01b3328>] (_gpiochip_irqchip_add+0x64/0x10c)
       r7:c1862c64 r6:c0419280 r5:c1862c64 r4:c1854b50
      [<c01b32c4>] (_gpiochip_irqchip_add) from [<c01b79f4>] (omap_gpio_probe+0x2fc/0x63c)
       r5:c1854b50 r4:c1862c10
      [<c01b76f8>] (omap_gpio_probe) from [<c01fcf58>] (platform_drv_probe+0x2c/0x64)
       r10:00000000 r9:c03e45e8 r8:00000000 r7:c0419294 r6:c0411984 r5:c0419294
       r4:c0411950
      [<c01fcf2c>] (platform_drv_probe) from [<c01fb668>] (really_probe+0x160/0x29c)
      
      Hence, fix it by remove obsolete callbacks assignment. After this
      change 	omap_gpio_mask_irq()/omap_gpio_unmask_irq() will be used
      for MPUIO IRQs masking, but this now happens anyway from
      omap_gpio_irq_startup/shutdown().
      
      Cc: Tony Lindgren <tony@atomide.com>
      Fixes: commit d2d05c65 ("gpio: omap: Fix regression for MPUIO interrupts")
      Reported-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Acked-by: NSantosh Shilimkar <ssantosh@kernel.org>
      Tested-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      000255b7
    • M
      Merge remote-tracking branches 'spi/fix/bcm63xx', 'spi/fix/doc',... · a057d737
      Mark Brown 提交于
      Merge remote-tracking branches 'spi/fix/bcm63xx', 'spi/fix/doc', 'spi/fix/mediatek' and 'spi/fix/pl022' into spi-linus
      a057d737
    • M
      9f28b3c6
    • L
      Linux 4.4-rc3 · 31ade3b8
      Linus Torvalds 提交于
      31ade3b8
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · c5bc1c93
      Linus Torvalds 提交于
      Pull nouveau and radeon fixes from Dave Airlie:
       "Just some nouveau and radeon/amdgpu fixes.
      
        The nouveau fixes look large as the firmware context files are
        regenerated, but the actual change is quite small"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: make some dpm errors debug only
        drm/nouveau/volt/pwm/gk104: fix an off-by-one resulting in the voltage not being set
        drm/nouveau/nvif: allow userspace access to its own client object
        drm/nouveau/gr/gf100-: fix oops when calling zbc methods
        drm/nouveau/gr/gf117-: assume no PPC if NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK is zero
        drm/nouveau/gr/gf117-: read NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK from correct GPC
        drm/nouveau/gr/gf100-: split out per-gpc address calculation macro
        drm/nouveau/bios: return actual size of the buffer retrieved via _ROM
        drm/nouveau/instmem: protect instobj list with a spinlock
        drm/nouveau/pci: enable c800 magic for some unknown Samsung laptop
        drm/nouveau/pci: enable c800 magic for Clevo P157SM
        drm/radeon: make rv770_set_sw_state failures non-fatal
        drm/amdgpu: move dependency handling out of atomic section v2
        drm/amdgpu: optimize scheduler fence handling
        drm/amdgpu: remove vm->mutex
        drm/amdgpu: add mutex for ba_va->valids/invalids
        drm/amdgpu: adapt vce session create interface changes
        drm/amdgpu: vce use multiple cache surface starting from stoney
        drm/amdgpu: reset vce trap interrupt flag
      c5bc1c93
    • L
      Merge tag 'rtc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 818aba30
      Linus Torvalds 提交于
      Pull RTC fixes from Alexandre Belloni:
       "Two fixes for the ds1307 alarm and wakeup"
      
      * tag 'rtc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
        rtc: ds1307: fix alarm reading at probe time
        rtc: ds1307: fix kernel splat due to wakeup irq handling
      818aba30
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 00fd6a71
      Linus Torvalds 提交于
      Pull MIPS fix from Ralf Baechle:
       "Just a fix for empty loops that may be removed by non-antique GCC"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Fix delay loops which may be removed by GCC.
      00fd6a71
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · d72aee78
      Linus Torvalds 提交于
      Pull m68k fixes from Geert Uytterhoeven:
       "Summary:
      
         - Add missing initialization of max_pfn, which is needed to make
           selftests/vm/mlock2-tests succeed,
      
         - Wire up new mlock2 syscall"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Wire up mlock2
        m68knommu: Add missing initialization of max_pfn and {min,max}_low_pfn
        m68k/mm: sun3 - Add missing initialization of max_pfn and {min,max}_low_pfn
        m68k/mm: m54xx - Add missing initialization of max_pfn
        m68k/mm: motorola - Add missing initialization of max_pfn
      d72aee78
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 04527fda
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Just two changes this time around:
      
         - wire up the new mlock2 syscall added during the last merge window
      
         - fix a build problem with certain configurations provoked by making
           CONFIG_OF user selectable"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8454/1: OF implies OF_FLATTREE
        ARM: wire up mlock2 syscall
      04527fda
    • H
      block: Always check queue limits for cloned requests · bf4e6b4e
      Hannes Reinecke 提交于
      When a cloned request is retried on other queues it always needs
      to be checked against the queue limits of that queue.
      Otherwise the calculations for nr_phys_segments might be wrong,
      leading to a crash in scsi_init_sgtable().
      
      To clarify this the patch renames blk_rq_check_limits()
      to blk_cloned_rq_check_limits() and removes the symbol
      export, as the new function should only be used for
      cloned requests and never exported.
      
      Cc: Mike Snitzer <snitzer@redhat.com>
      Cc: Ewan Milne <emilne@redhat.com>
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Signed-off-by: NHannes Reinecke <hare@suse.de>
      Fixes: e2a60da7 ("block: Clean up special command handling logic")
      Cc: stable@vger.kernel.org # 3.7+
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      bf4e6b4e
    • W
      lightnvm: missing nvm_lock acquire · d0a712ce
      Wenwei Tao 提交于
      To avoid race conditions, traverse dev, media manager,
      and target lists and also register, unregister entries
      to/from them, should be always under the nvm_lock control.
      Signed-off-by: NWenwei Tao <ww.tao0320@gmail.com>
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      d0a712ce
    • M
      lightnvm: unconverted ppa returned in get_bb_tbl · 08236c6b
      Matias Bjørling 提交于
      The get_bb_tbl function takes ppa as a generic address, which is
      converted to the ppa device address within the device driver. When
      the update_bbtbl callback is called from get_bb_tbl, the device
      specific ppa is used, instead of the generic ppa.
      
      Make sure to pass the generic ppa.
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      08236c6b
    • M
      lightnvm: refactor and change vendor id for qemu · 09f2e716
      Matias Bjørling 提交于
      The QEMU NVMe implementation uses Intel vendor, Intel device id, and the
      first vendor specific byte to identify a LightNVM compatible nvme
      instance.
      
      Instead of using the Intel specific, use a preallocated from CNEX Labs
      instead. This lets us uniquely identify a QEMU lightnvm device without
      breaking other vendor specific work in the qemu device driver.
      Reported-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      09f2e716
    • W
      lightnvm: do device max sectors boundary check first · d160147b
      Wenwei Tao 提交于
      do device max_phys_sect boundary check first, otherwise
      we will allocate dma_pools for devices whose max sectors
      are beyond lightnvm support and register them.
      Signed-off-by: NWenwei Tao <ww.tao0320@gmail.com>
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      d160147b
    • S
      lightnvm: fix ioctl memory leaks · 76e25081
      Sudip Mukherjee 提交于
      If copy_to_user() fails we returned error but we missed releasing
      devices.
      Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      76e25081
    • W
      lightnvm: free memory when gennvm register fails · 8261bd48
      Wenwei Tao 提交于
      free allocated nvm block and gennvm lun structures when
      gennvm register fails, otherwise it will cause memory leak.
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      8261bd48
    • K
      lightnvm: Simplify config when disabled · c4699e70
      Keith Busch 提交于
      We shouldn't compile an object file to get empty implementations;
      conforms to linux coding style on conditional compilation.
      Signed-off-by: NKeith Busch <keith.busch@intel.com>
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      c4699e70
    • V
      gpiolib: fix oops, if gpio name is NULL · d06165b3
      Vladimir Zapolskiy 提交于
      Commit c0017ed7 ("gpio: Introduce gpio descriptor 'name'") causes
      OOPS on boot on LPC32xx boards:
      
          Unable to handle kernel NULL pointer dereference at virtual address 00000000
          CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0+ #707
          Hardware name: LPC32XX SoC (Flattened Device Tree)
          task: c381baa0 ti: c381e000 task.ti: c381e000
          PC is at strcmp+0x10/0x40
          LR is at gpiochip_add+0x3d0/0x4d4
          pc : [<>]    lr : [<>]    psr: a0000093
          sp : c381fd60  ip : c381fd70  fp : c381fd6c
      
          [snip]
      
          Backtrace:
          [<>] (strcmp) from [<>] (gpiochip_add+0x3d0/0x4d4)
          [<>] (gpiochip_add) from [<>] (lpc32xx_gpio_probe+0x44/0x60)
          [<>] (lpc32xx_gpio_probe) from [<>] (platform_drv_probe+0x40/0x8c)
          [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x110/0x294)
          [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94)
          [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98)
          [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28)
          [<>] (driver_attach) from [<>] (bus_add_driver+0xd4/0x1f0)
          [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8)
          [<>] (driver_register) from [<>] (__platform_driver_register+0x38/0x4c)
          [<>] (__platform_driver_register) from [<>] (lpc32xx_gpio_driver_init+0x18/0x20)
          [<>] (lpc32xx_gpio_driver_init) from [<>] (do_one_initcall+0x108/0x1c8)
          [<>] (do_one_initcall) from [<>] (kernel_init_freeable+0x10c/0x1d4)
          [<>] (kernel_init_freeable) from [<>] (kernel_init+0x10/0xec)
          [<>] (kernel_init) from [<>] (ret_from_fork+0x14/0x24)
      
      This is caused by the fact that at the moment some GPIO names are set
      to NULL, there is a hole in linear representation of one GPI bank, see
      drivers/gpio/gpio-lpc32xx.c / gpi_p3_names[] for details.
      
      The same problem most probably affects also gpio-cs5535.c, see
      cs5535_gpio_names[].
      Signed-off-by: NVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      d06165b3
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 36511e86
      Linus Torvalds 提交于
      Pull SCSI target fixes from Nicholas Bellinger:
       - fix tcm-user backend driver expired cmd time processing (agrover)
       - eliminate kref_put_spinlock_irqsave() for I/O completion (bart)
       - fix iscsi login kthread failure case hung task regression (nab)
       - fix COMPARE_AND_WRITE completion use-after-free race (nab)
       - fix COMPARE_AND_WRITE with SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC non zero
         SGL offset data corruption.  (Jan + Doug)
       - fix >= v4.4-rc1 regression for tcm_qla2xxx enable configfs attribute
         (Himanshu + HCH)
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target/stat: print full t10_wwn.model buffer
        target: fix COMPARE_AND_WRITE non zero SGL offset data corruption
        qla2xxx: Fix regression introduced by target configFS changes
        kref: Remove kref_put_spinlock_irqsave()
        target: Invoke release_cmd() callback without holding a spinlock
        target: Fix race for SCF_COMPARE_AND_WRITE_POST checking
        iscsi-target: Fix rx_login_comp hang after login failure
        iscsi-target: return -ENOMEM instead of -1 in case of failed kmalloc()
        target/user: Do not set unused fields in tcmu_ops
        target/user: Fix time calc in expired cmd processing
      36511e86
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 75a29ec1
      Linus Torvalds 提交于
      Pull thermal management fixes from Zhang Rui:
       "Specifics:
      
       - several fixes and cleanups on Rockchip thermal drivers.
      
       - add the missing support of RK3368 SoCs in Rockchip driver.
      
       - small fixes on of-thermal, power_allocator, rcar driver, IMX, and
         QCOM drivers, and also compilation fixes, on thermal.h, when thermal
         is not selected"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        imx: thermal: use CPU temperature grade info for thresholds
        thermal: fix thermal_zone_bind_cooling_device prototype
        Revert "thermal: qcom_spmi: allow compile test"
        thermal: rcar_thermal: remove redundant operation
        thermal: of-thermal: Reduce log level for message when can't fine thermal zone
        thermal: power_allocator: Use temperature reading from tz
        thermal: rockchip: Support the RK3368 SoCs in thermal driver
        thermal: rockchip: consistently use int for temperatures
        thermal: rockchip: Add the sort mode for adc value increment or decrement
        thermal: rockchip: improve the conversion function
        thermal: rockchip: trivial: fix typo in commit
        thermal: rockchip: better to compatible the driver for different SoCs
        dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible
      75a29ec1
  6. 29 11月, 2015 1 次提交