1. 07 1月, 2015 1 次提交
  2. 06 1月, 2015 1 次提交
  3. 05 1月, 2015 2 次提交
  4. 20 12月, 2014 4 次提交
  5. 19 12月, 2014 8 次提交
  6. 18 12月, 2014 9 次提交
    • F
      watchdog: imx2_wdt: Fix the argument of watchdog_active() · ba90f261
      Fabio Estevam 提交于
      Fix the following build warning by passing the expected argument type to
      watchdog_active():
      
      drivers/watchdog/imx2_wdt.c: In function 'imx2_wdt_suspend':
      drivers/watchdog/imx2_wdt.c:340:2: warning: passing argument 1 of 'watchdog_active' from incompatible pointer type [enabled by default]
      In file included from drivers/watchdog/imx2_wdt.c:38:0:
      include/linux/watchdog.h:104:20: note: expected 'struct watchdog_device *' but argument is of type 'struct watchdog_device **'
      Reported-by: NOlof's autobuilder <build@lixom.net>
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      ba90f261
    • X
      watchdog: imx2_wdt: Add power management support. · aefbaf3a
      Xiubo Li 提交于
      Add power management operations(suspend and resume) as part of
      dev_pm_ops for IMX2 watchdog driver.
      Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      aefbaf3a
    • G
      i2c: sh_mobile: I2C_SH_MOBILE should depend on HAS_DMA · f16ea4f0
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
      drivers/built-in.o: In function `sh_mobile_i2c_dma_unmap':
      i2c-sh_mobile.c:(.text+0x60de42): undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `sh_mobile_i2c_xfer_dma':
      i2c-sh_mobile.c:(.text+0x60df22): undefined reference to `dma_map_single'
      i2c-sh_mobile.c:(.text+0x60df2e): undefined reference to `dma_mapping_error'
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      f16ea4f0
    • W
      i2c: sh_mobile: rework deferred probing · 55f5f986
      Wolfram Sang 提交于
      DMA is opt-in for this driver. So, we can't use deferred probing for
      requesting DMA channels in probe, because our driver would get endlessly
      deferred if DMA support is compiled in AND the DMA driver is missing.
      Because we can't know when the DMA driver might show up, we always try
      again when a DMA transfer would be possible. The downside is that there
      is more overhead for setting up PIO transfers under the above scenario.
      But well, having DMA enabled and the proper DMA driver missing looks
      like a broken or test config anyhow.
      Reported-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      55f5f986
    • W
      i2c: sh_mobile: refactor DMA setup · e844a799
      Wolfram Sang 提交于
      Refactor DMA setup to keep the errno so we can implement better
      deferred probe support in the next step.
      Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      e844a799
    • T
      i2c: mv64xxx: rework offload support to fix several problems · 00d8689b
      Thomas Petazzoni 提交于
      Originally, the I2C controller supported by the i2c-mv64xxx driver
      requires a lot of software support: an interrupt is generated at each
      step of an I2C transaction (after the start bit, after sending the
      address, etc.) and the driver is in charge of re-programming the I2C
      controller to do the next step of the I2C transaction. This explains
      the fairly complex state machine that the driver has.
      
      On Marvell Armada XP and later processors (Armada 375, 38x, etc.), the
      I2C controller was extended with a part called the "I2C Bridge", which
      allows to offload the I2C transaction completely to the
      hardware. Initial support for this mechanism was added in commit
      930ab3d4 ("i2c: mv64xxx: Add I2C Transaction Generator support").
      
      However, the implementation done in this commit has two related
      issues, which this commit fixes by completely changing how the offload
      implementation is done:
      
       * SMBus read transfers, where there is one write to select the
         register immediately followed in the same transaction by one read,
         were making the processor hang. This was easier visible on the
         Marvell Armada XP WRT1900AC platform using a driver for an I2C LED
         controller, or on other Armada XP platforms by using a simple
         'i2cget' command to read an I2C EEPROM.
      
       * The implementation was based on the fact that the offload engine
         was re-programmed to transfer each message of an I2C xfer: this
         meant that each message sent with the offload engine was starting
         with a normal I2C start sequence. However, the I2C subsystem
         assumes that all messages belonging to the same xfer will use the
         so-called "repeated start" so that the entire I2C xfer is seen as
         one transfer by the I2C devices and cannot be interrupt by other
         I2C masters on the same bus.
      
      In fact, the "I2C Bridge" allows to offload three types of xfer:
      
       - xfer of one write message
       - xfer of one read message
       - xfer of one write message followed by one read message
      
      For all other situations, we have to fallback to not using the "I2C
      Bridge" in order to get proper I2C semantics.
      
      Therefore, this commit reworks the offload implementation to put it
      not at the message level, but at the xfer level: in the
      mv64xxx_i2c_xfer() function, we decide if the transaction can be
      offloaded (in which case it is handled by the
      mv64xxx_i2c_offload_xfer() function), or otherwise it is handled by
      the slow path (implemented in the existing mv64xxx_i2c_execute_msg()).
      
      This allows to simplify the state machine, which no longer needs to
      have any state related to the offload implementation: the offload
      implementation is now completely separated from the slow path (with
      the exception of the interrupt handler, of course).
      
      In summary:
      
       - mv64xxx_i2c_can_offload() will analyze an I2C xfer and decided of
         the "I2C Bridge" can be used to offload it or not.
      
       - mv64xxx_i2c_offload_xfer() will actually program the "I2C Bridge"
         to offload one xfer (of either one or two messages), and block
         using mv64xxx_i2c_wait_for_completion() until the xfer completes.
      
       - The interrupt handler mv64xxx_i2c_intr() is modified to push the
         offload related code to a separate function,
         mv64xxx_i2c_intr_offload(). It will take care of reading the
         received data if needed.
      
      This commit was tested on:
      
       - Armada XP OpenBlocks AX3-4 (EEPROM on I2C and RTC on I2C)
       - Armada XP WRT1900AC (LED controller on I2C)
       - Armada XP GP (EEPROM on I2C)
      
      Fixes: 930ab3d4 ("i2c: mv64xxx: Add I2C Transaction Generator support")
      Cc: <stable@vger.kernel.org> # v3.12+
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      [wsa: fixed checkpatch warnings]
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      00d8689b
    • T
    • I
      rbd: don't treat CEPH_OSD_OP_DELETE as extent op · 7e868b6e
      Ilya Dryomov 提交于
      CEPH_OSD_OP_DELETE is not an extent op, stop treating it as such.  This
      sneaked in with discard patches - it's one of the three osd ops (the
      other two are CEPH_OSD_OP_TRUNCATE and CEPH_OSD_OP_ZERO) that discard
      is implemented with.
      Signed-off-by: NIlya Dryomov <idryomov@redhat.com>
      Reviewed-by: NAlex Elder <elder@linaro.org>
      7e868b6e
    • S
      ceph, rbd: delete unnecessary checks before two function calls · e96a650a
      SF Markus Elfring 提交于
      The functions ceph_put_snap_context() and iput() test whether their
      argument is NULL and then return immediately. Thus the test around the
      call is not needed.
      
      This issue was detected by using the Coccinelle software.
      Signed-off-by: NMarkus Elfring <elfring@users.sourceforge.net>
      [idryomov@redhat.com: squashed rbd.c hunk, changelog]
      Signed-off-by: NIlya Dryomov <idryomov@redhat.com>
      e96a650a
  7. 17 12月, 2014 15 次提交
    • K
      clk: samsung: Fix Exynos 5420 pinctrl setup and clock disable failure due to domain being gated · f1e9203e
      Krzysztof Kozlowski 提交于
      Audio subsystem clocks are located in separate block. On Exynos 5420 if
      clock for this block (from main clock domain) 'mau_epll' is gated then
      any read or write to audss registers will block.
      
      This kind of boot hang was observed on Arndale Octa and Peach Pi/Pit
      after introducing runtime PM to pl330 DMA driver. After that commit the
      'mau_epll' was gated, because the "amba" clock was disabled and there
      were no more users of mau_epll.
      
      The system hang on one of steps:
      1. Disabling unused clocks from audss block.
      2. During audss GPIO setup (just before probing i2s0 because
         samsung_pinmux_setup() tried to access memory from audss block which was
         gated.
      
      Add a workaround for this by enabling the 'mau_epll' clock in probe.
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Tested-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Tested-by: NKevin Hilman <khilman@linaro.org>
      Signed-off-by: NMichael Turquette <mturquette@linaro.org>
      f1e9203e
    • A
      lustre: get rid of playing with ->fs · 1ad581eb
      Al Viro 提交于
      * removed several pieces of dead code in lustre_compat25.h
      * don't open-code current_umask() (and BTW, 0755 & (S_IRWXUGO | S_ISVTX)
      is better spelled as 0755)
      * fix broken attempt to get the pathname by dentry - abusing d_path() for
      that is simply wrong.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1ad581eb
    • H
      [media] bq/c-qcam, w9966, pms: move to staging in preparation for removal · 427ae153
      Hans Verkuil 提交于
      These drivers haven't been tested in a long, long time. The hardware is
      ancient and hopelessly obsolete. These drivers also need to be converted
      to newer media frameworks but due to the lack of hardware that's going
      to be impossible. In addition, cheaper and vastly better hardware is
      available today.
      
      So these drivers are a prime candidate for removal. If someone is
      interested in working on these drivers to prevent their removal, then
      please contact the linux-media mailinglist.
      
      Let's be honest, the age of parallel port webcams and ISA video capture
      boards is really gone.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      427ae153
    • H
      [media] tlg2300: move to staging in preparation for removal · ea2e813e
      Hans Verkuil 提交于
      This driver hasn't been tested in a long, long time. The company that made
      this chip has gone bust many years ago and hardware using this chip is next
      to impossible to find.
      
      This driver needs to be converted to newer media frameworks but due to the
      lack of hardware that's going to be impossible. Since cheap alternatives are
      easily available, there is little point in keeping this driver alive.
      
      In other words, this driver is a prime candidate for removal. If someone is
      interested in working on this driver to prevent its removal, then please
      contact the linux-media mailinglist.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: NHuang Shijie <shijie8@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      ea2e813e
    • H
      [media] vino/saa7191: move to staging in preparation for removal · c1d9e03d
      Hans Verkuil 提交于
      These drivers haven't been tested in a long, long time. The hardware is
      ancient and hopelessly obsolete. These drivers also need to be converted
      to newer media frameworks but due to the lack of hardware that's going
      to be impossible.
      
      So these drivers are a prime candidate for removal. If someone is
      interested in working on these drivers to prevent their removal, then
      please contact the linux-media mailinglist.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c1d9e03d
    • H
      [media] cx88: remove leftover start_video_dma() call · 389208e1
      Hans Verkuil 提交于
      The start_streaming op is responsible for starting the video dma,
      so it shouldn't be called anymore from the buf_queue op.
      
      Unfortunately, this call to start_video_dma() was added to the
      start_streaming op, but was forgotten to be removed from the
      buf_queue op, which is where it used to be before the vb2 conversion.
      
      Calling this function twice causes very hard to find errors: sometimes
      it works, sometimes it doesn't. It took me a whole friggin' day
      to track this down, and in the end it was just luck that my eye suddenly
      triggered on that line.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      389208e1
    • H
      [media] cx88: add missing alloc_ctx support · 165d0043
      Hans Verkuil 提交于
      The cx88 vb2 conversion and the vb2 dma_sg improvements were developed separately and
      were merged separately. Unfortunately, the patch updating drivers to the dma_sg
      improvements didn't take the updated cx88 driver into account. Basically two ships
      passing in the night, unaware of one another even though both ships have the same
      owner, i.e. me :-)
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Reported-by: NChris Lee <updatelee@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      165d0043
    • H
      [media] v4l2-ioctl: WARN_ON if querycap didn't fill device_caps · 454a4e72
      Hans Verkuil 提交于
      This is easy to forget to do in drivers. While v4l2-compliance will check for it,
      not everyone remembers to run it. So warn about it.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      454a4e72
    • H
      [media] vivid: fix CROP_BOUNDS typo for video output · bb9ff078
      Hans Verkuil 提交于
      An error was returned if composing was not supported, instead of if
      cropping was not supported.
      
      A classic copy-and-paste bug. Found with v4l2-compliance.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Cc: <stable@vger.kernel.org>      # for v3.18
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      bb9ff078
    • H
      virtio_pci: restore module attributes · 5ff16110
      Herbert Xu 提交于
      When the virtio_pci driver was moved into virtio_pci_legacy.c the module
      licence and other attributes went AWOL.  This patch restores them.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      5ff16110
    • O
      net: Disallow providing non zero VLAN ID for NIC drivers FDB add flow · 65891fea
      Or Gerlitz 提交于
      The current implementations all use dev_uc_add_excl() and such whose API
      doesn't support vlans, so we can't make it with NICs HW for now.
      
      Fixes: f6f6424b ('net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del')
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Reviewed-by: NJiri Pirko <jiri@resnulli.us>
      Acked-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      65891fea
    • M
      iommu/exynos: Fix arm64 allmodconfig build · 20911ce6
      Mark Brown 提交于
      The Exynos IOMMU driver uses the ARM specific dmac_flush_range() and
      outer_flush_range() functions. This breaks the build on arm64 allmodconfig
      in -next since support has been merged for some Exynos ARMv8 SoCs. Add a
      dependency on ARM to keep things building until either the driver has the
      ARM dependencies removed or the ARMv8 architecture code implements these
      ARM specific APIs.
      Signed-off-by: NMark Brown <broonie@kernel.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      20911ce6
    • I
      net/mlx4: Cache line CQE/EQE stride fixes · c3f2511f
      Ido Shamay 提交于
      This commit contains 2 fixes for the 128B CQE/EQE stride feaure.
      Wei found that mlx4_QUERY_HCA function marked the wrong capability
      in flags (64B CQE/EQE), when CQE/EQE stride feature was enabled.
      Also added small fix in initial CQE ownership bit assignment, when CQE
      is size is not default 32B.
      
      Fixes: 77507aa2 (net/mlx4: Enable CQE/EQE stride support)
      Signed-off-by: NWei Yang <weiyang@linux.vnet.ibm.com>
      Signed-off-by: NIdo Shamay <idos@mellanox.com>
      Signed-off-by: NAmir Vadai <amirv@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c3f2511f
    • N
      net: fec: Fix NAPI race · 94191fd6
      Nimrod Andy 提交于
      Do camera capture test on i.MX6q sabresd board, and save the capture data to
      nfs rootfs. The command is:
      gst-launch-1.0 -e imxv4l2src device=/dev/video1 num-buffers=2592000 ! tee name=t !
      queue ! imxv4l2sink sync=false t. ! queue ! vpuenc ! queue ! mux. pulsesrc num-buffers=3720937
      blocksize=4096 ! 'audio/x-raw, rate=44100, channels=2' ! queue ! imxmp3enc ! mpegaudioparse !
      queue ! mux. qtmux name=mux ! filesink location=video_recording_long.mov
      
      After about 10 hours running, there have net watchdog timeout kernel dump:
      ...
      WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:264 dev_watchdog+0x2b4/0x2d8()
      NETDEV WATCHDOG: eth0 (fec): transmit queue 0 timed out
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.24-01051-gdb840b7 #440
      [<80014e6c>] (unwind_backtrace) from [<800118ac>] (show_stack+0x10/0x14)
      [<800118ac>] (show_stack) from [<806ae3f0>] (dump_stack+0x78/0xc0)
      [<806ae3f0>] (dump_stack) from [<8002b504>] (warn_slowpath_common+0x68/0x8c)
      [<8002b504>] (warn_slowpath_common) from [<8002b558>] (warn_slowpath_fmt+0x30/0x40)
      [<8002b558>] (warn_slowpath_fmt) from [<8055e0d4>] (dev_watchdog+0x2b4/0x2d8)
      [<8055e0d4>] (dev_watchdog) from [<800352d8>] (call_timer_fn.isra.33+0x24/0x8c)
      [<800352d8>] (call_timer_fn.isra.33) from [<800354c4>] (run_timer_softirq+0x184/0x220)
      [<800354c4>] (run_timer_softirq) from [<8002f420>] (__do_softirq+0xc0/0x22c)
      [<8002f420>] (__do_softirq) from [<8002f804>] (irq_exit+0xa8/0xf4)
      [<8002f804>] (irq_exit) from [<8000ee5c>] (handle_IRQ+0x54/0xb4)
      [<8000ee5c>] (handle_IRQ) from [<80008598>] (gic_handle_irq+0x28/0x5c)
      [<80008598>] (gic_handle_irq) from [<800123c0>] (__irq_svc+0x40/0x74)
      Exception stack(0x80d27f18 to 0x80d27f60)
      7f00:                                                       80d27f60 0000014c
      7f20: 8858c60e 0000004d 884e4540 0000004d ab7250d0 80d34348 00000000 00000000
      7f40: 00000001 00000000 00000017 80d27f60 800702a4 80476e6c 600f0013 ffffffff
      [<800123c0>] (__irq_svc) from [<80476e6c>] (cpuidle_enter_state+0x50/0xe0)
      [<80476e6c>] (cpuidle_enter_state) from [<80476fa8>] (cpuidle_idle_call+0xac/0x154)
      [<80476fa8>] (cpuidle_idle_call) from [<8000f174>] (arch_cpu_idle+0x8/0x44)
      [<8000f174>] (arch_cpu_idle) from [<80064c54>] (cpu_startup_entry+0x100/0x158)
      [<80064c54>] (cpu_startup_entry) from [<80cd8a9c>] (start_kernel+0x304/0x368)
      ---[ end trace 09ebd32fb032f86d ]---
      ...
      
      There might have a race in napi_schedule(), leaving interrupts disabled forever.
      After these patch, the case still work more than 40 hours running.
      Signed-off-by: NFugang Duan <B38611@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      94191fd6
    • D
      xen-netfront: use napi_complete() correctly to prevent Rx stalling · 6a6dc08f
      David Vrabel 提交于
      After d75b1ade (net: less interrupt
      masking in NAPI) the napi instance is removed from the per-cpu list
      prior to calling the n->poll(), and is only requeued if all of the
      budget was used.  This inadvertently broke netfront because netfront
      does not use NAPI correctly.
      
      If netfront had not used all of its budget it would do a final check
      for any Rx responses and avoid calling napi_complete() if there were
      more responses.  It would still return under budget so it would never
      be rescheduled.  The final check would also not re-enable the Rx
      interrupt.
      
      Additionally, xenvif_poll() would also call napi_complete() /after/
      enabling the interrupt.  This resulted in a race between the
      napi_complete() and the napi_schedule() in the interrupt handler.  The
      use of local_irq_save/restore() avoided by race iff the handler is
      running on the same CPU but not if it was running on a different CPU.
      
      Fix both of these by always calling napi_compete() if the budget was
      not all used, and then calling napi_schedule() if the final checks
      says there's more work.
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6a6dc08f