1. 12 Nov, 2012 3 commits
    • Jon Hunter's avatar
      ARM: OMAP: Fix timer posted mode support · 7b44cf2c
      Jon Hunter authored
      Currently the dmtimer posted mode is being enabled when the function
      omap_dm_timer_enable_posted() is called. This function is only being called
      for OMAP1 timers and OMAP2+ timers that are being used as system timers. Hence,
      for OMAP2+ timers that are NOT being used as a system timer, posted mode is
      not enabled but the "timer->posted" variable is still set (incorrectly) in
      the omap_dm_timer_prepare() function.
      
      This is a regression introduced by commit 3392cdd3 (ARM: OMAP: dmtimer:
      switch-over to platform device driver) which was before the
      omap_dm_timer_enable_posted() function was introduced. Although this is a
      regression from the original code it only impacts performance and so is not
      needed for stable.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      7b44cf2c
    • Jon Hunter's avatar
      ARM: OMAP3+: Implement timer workaround for errata i103 and i767 · bfd6d021
      Jon Hunter authored
      Errata Titles:
      i103: Delay needed to read some GP timer, WD timer and sync timer
            registers after wakeup (OMAP3/4)
      i767: Delay needed to read some GP timer registers after wakeup (OMAP5)
      
      Description (i103/i767):
      If a General Purpose Timer (GPTimer) is in posted mode
      (TSICR [2].POSTED=1), due to internal resynchronizations, values read in
      TCRR, TCAR1 and TCAR2 registers right after the timer interface clock
      (L4) goes from stopped to active may not return the expected values. The
      most common event leading to this situation occurs upon wake up from
      idle.
      
      GPTimer non-posted synchronization mode is not impacted by this
      limitation.
      
      Workarounds:
      1). Disable posted mode
      2). Use static dependency between timer clock domain and MPUSS clock
          domain
      3). Use no-idle mode when the timer is active
      
      Workarounds #2 and #3 are not pratical from a power standpoint and so
      workaround #1 has been implemented. Disabling posted mode adds some CPU
      overhead for configuring and reading the timers as the CPU has to wait
      for accesses to be re-synchronised within the timer. However, disabling
      posted mode guarantees correct operation.
      
      Please note that it is safe to use posted mode for timers if the counter
      (TCRR) and capture (TCARx) registers will never be read. An example of
      this is the clock-event system timer. This is used by the kernel to
      schedule events however, the timers counter is never read and capture
      registers are not used. Given that the kernel configures this timer
      often yet never reads the counter register it is safe to enable posted
      mode in this case. Hence, for the timer used for kernel clock-events,
      posted mode is enabled by overriding the errata for devices that are
      impacted by this defect.
      
      For drivers using the timers that do not read the counter or capture
      registers and wish to use posted mode, can override the errata and
      enable posted mode by making the following function calls.
      
      	__omap_dm_timer_override_errata(timer, OMAP_TIMER_ERRATA_I103_I767);
      	__omap_dm_timer_enable_posted(timer);
      
      Both dmtimers and watchdogs are impacted by this defect this patch only
      implements the workaround for the dmtimer. Currently the watchdog driver
      does not read the counter register and so no workaround is necessary.
      
      Posted mode will be disabled for all OMAP2+ devices (including AM33xx)
      using a GP timer as a clock-source timer to guarantee correct operation.
      This is not necessary for OMAP24xx devices but the default clock-source
      timer for OMAP24xx devices is the 32k-sync timer and not the GP timer
      and so should not have any impact. This should be re-visited for future
      devices if this errata is fixed.
      
      Confirmed with Vaibhav Hiremath that this bug also impacts AM33xx
      devices.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      bfd6d021
    • Jon Hunter's avatar
      ARM: OMAP: Add DMTIMER definitions for posted mode · 971d0254
      Jon Hunter authored
      For OMAP2+ devices, when using DMTIMERs for system timers (clock-events and
      clock-source) the posted mode configuration of the timers is used. To allow
      the compiler to optimise the functions for configuring and reading the system
      timers, the posted flag variable is hard-coded with the value 1. To make it
      clear that posted mode is being used add some definitions so that it is more
      readable.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      971d0254
  2. 09 Nov, 2012 4 commits
  3. 07 Nov, 2012 6 commits
  4. 06 Nov, 2012 12 commits
  5. 05 Nov, 2012 3 commits
  6. 04 Nov, 2012 1 commit
  7. 03 Nov, 2012 11 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.7-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · d4164973
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
      
       - Fix a bunch of deadlock situations:
         * State recovery can deadlock if we fail to release sequence ids
           before scheduling the recovery thread.
         * Calling deactivate_super() from an RPC workqueue thread can
           deadlock because of the call to rpc_shutdown_client.
      
       - Display the device name correctly in /proc/*/mounts
      
       - Fix a number of incorrect error return values:
         * When NFSv3 mounts fail due to a timeout.
         * On NFSv4.1 backchannel setup failure
         * On NFSv4 open access checks
      
       - pnfs_find_alloc_layout() must check the layout pointer for NULL
      
       - Fix a regression in the legacy DNS resolved
      
      * tag 'nfs-for-3.7-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS4: nfs4_opendata_access should return errno
        NFSv4: Initialise the NFSv4.1 slot table highest_used_slotid correctly
        SUNRPC: return proper errno from backchannel_rqst
        NFS: add nfs_sb_deactive_async to avoid deadlock
        nfs: Show original device name verbatim in /proc/*/mount{s,info}
        nfsv3: Make v3 mounts fail with ETIMEDOUTs instead EIO on mountd timeouts
        nfs: Check whether a layout pointer is NULL before free it
        NFS: fix bug in legacy DNS resolver.
        NFSv4: nfs4_locku_done must release the sequence id
        NFSv4.1: We must release the sequence id when we fail to get a session slot
        NFS: Wait for session recovery to finish before returning
      d4164973
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 225ff868
      Linus Torvalds authored
      Pull thermal management & ACPI update from Zhang Rui,
      
      Ho humm.  Normally these things go through Len.  But it's just three
      small fixes, I guess I can pull directly too.
      
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        exynos4_tmu_driver_ids should be exynos_tmu_driver_ids.
        ACPI video: Ignore errors after _DOD evaluation.
        thermal: solve compilation errors in rcar_thermal
      225ff868
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 209c510e
      Linus Torvalds authored
      Pull i2c embedded fixes from Wolfram Sang:
       "Two patches are usual stuff.
      
        The bigger patch is needed to correct a wrong decision made in this
        merge window.  We hoped to get the PIOQUEUE mode in the mxs driver
        working with DMA, but it turned out to be too broken (leading to data
        loss), so we now think it is best to remove it entirely and work only
        with DMA now.  The patch should be in 3.7.  IMO, so users never get
        the chance to use both modes in parallel."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: tegra: set irq name as device name
        i2c-nomadik: Fixup clock handling
        i2c: mxs: remove broken PIOQUEUE support
      209c510e
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 53f9313f
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Scattered selection of fixes:
      
         - radeon: load detect fixes from SuSE/AMD
         - intel: misc i830, sdvo regression, vesafb kickoff ums fix
         - exynos: maintainers entry update + fixes
         - udl: fix stride scanout issue
      
        it's slightly bigger than I'd probably like, but nothing looked
        dangerous enough to hold off on."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/udl: fix stride issues scanning out stride != width*bpp
        drm/radeon: add load detection support for ext DAC on R200 (v2)
        DRM/radeon: For single CRTC GPUs move handling of CRTC_CRT_ON to crtc_dpms().
        DRM/Radeon: Fix TV DAC Load Detection for single CRTC chips.
        DRM/Radeon: Clean up code in TV DAC load detection.
        drm/radeon: fix ATPX function documentation
        drivers/gpu/drm/radeon/evergreen_cs.c: Remove unnecessary semicolon
        DRM/Radeon: On DVI-I use Load Detection when EDID is bogus.
        DRM/Radeon: Fix primary DAC Load Detection for RV100 chips.
        DRM/Radeon: Fix Load Detection on legacy primary DAC.
        drm: exynos: removed warning due to missing typecast for mixer driver data
        drm/exynos: add support for ARCH_MULTIPLATFORM
        MAINTAINERS: Add git repository for Exynos DRM
        drm/exynos: fix display on issue
        drm/i915: Only kick out vesafb if we takeover the fbcon with KMS
        drm/i915: be less verbose about inability to provide vendor backlight
        drm/i915: clear the entire sdvo infoframe buffer
        drm/i915: VGA needs to be on pipe A on i830M
        drm/i915: fix overlay on i830M
      53f9313f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 0f89a573
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "First post-Sandy pull request"
      
       1) Fix antenna gain handling and initialization of chan->max_reg_power
          in wireless, from Felix Fietkau.
      
       2) Fix nexthop handling in H.232 conntrack helper, from Julian
          Anastasov.
      
       3) Only process 80211 mesh config header in certain kinds of frames,
          from Javier Cardona.
      
       4) 80211 management frame header length needs to be validated, from
          Johannes Berg.
      
       5) Don't access free'd SKBs in ath9k driver, from Felix Fietkay.
      
       6) Test for permanent state correctly in VXLAN driver, from Stephen
          Hemminger.
      
       7) BNX2X bug fixes from Yaniv Rosner and Dmitry Kravkov.
      
       8) Fix off by one errors in bonding, from Nikolay ALeksandrov.
      
       9) Fix divide by zero in TCP-Illinois congestion control.  From Jesper
          Dangaard Brouer.
      
      10) TCP metrics code says "Yo dawg, I heard you like sizeof, so I did a
          sizeof of a sizeof, so you can size your size" Fix from Julian
          Anastasov.
      
      11) Several drivers do mdiobus_free without first doing an
          mdiobus_unregister leading to stray pointer references.  Fix from
          Peter Senna Tschudin.
      
      12) Fix OOPS in l2tp_eth_create() error path, it's another danling
          pointer kinda situation.  Fix from Tom Parkin.
      
      13) Hardware driven by the vmxnet driver can't handle larger than 16K
          fragments, so split them up when necessary.  From Eric Dumazet.
      
      14) Handle zero length data length in tcp_send_rcvq() properly.  Fix
          from Pavel Emelyanov.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (38 commits)
        tcp-repair: Handle zero-length data put in rcv queue
        vmxnet3: must split too big fragments
        l2tp: fix oops in l2tp_eth_create() error path
        cxgb4: Fix unable to get UP event from the LLD
        drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister before mdiobus_free
        drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before mdiobus_free
        bnx2x: fix HW initialization using fw 7.8.x
        tcp: Fix double sizeof in new tcp_metrics code
        net: fix divide by zero in tcp algorithm illinois
        net: sctp: Fix typo in net/sctp
        bonding: fix second off-by-one error
        bonding: fix off-by-one error
        bnx2x: Disable FCoE for 57840 since not yet supported by FW
        bnx2x: Fix no link on 577xx 10G-baseT
        bnx2x: Fix unrecognized SFP+ module after driver is loaded
        bnx2x: Fix potential incorrect link speed provision
        bnx2x: Restore global registers back to default.
        bnx2x: Fix link down in 57712 following LFA
        bnx2x: Fix 57810 1G-KR link against certain switches.
        ixgbe: PTP get_ts_info missing software support
        ...
      0f89a573
    • Pavel Emelyanov's avatar
      tcp-repair: Handle zero-length data put in rcv queue · c454e611
      Pavel Emelyanov authored
      When sending data into a tcp socket in repair state we should check
      for the amount of data being 0 explicitly. Otherwise we'll have an skb
      with seq == end_seq in rcv queue, but tcp doesn't expect this to happen
      (in particular a warn_on in tcp_recvmsg shoots).
      Signed-off-by: default avatarPavel Emelyanov <xemul@parallels.com>
      Reported-by: default avatarGiorgos Mavrikas <gmavrikas@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c454e611
    • Eric Dumazet's avatar
      vmxnet3: must split too big fragments · a4d7e485
      Eric Dumazet authored
      vmxnet3 has a 16Kbytes limit per tx descriptor, that happened to work
      as long as we provided PAGE_SIZE fragments.
      
      Our stack can now build larger fragments, so we need to split them to
      the 16kbytes boundary.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarjongman heo <jongman.heo@samsung.com>
      Tested-by: default avatarjongman heo <jongman.heo@samsung.com>
      Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
      Reviewed-by: default avatarBhavesh Davda <bhavesh@vmware.com>
      Signed-off-by: default avatarShreyas Bhatewara <sbhatewara@vmware.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a4d7e485
    • Tom Parkin's avatar
      l2tp: fix oops in l2tp_eth_create() error path · 78933636
      Tom Parkin authored
      When creating an L2TPv3 Ethernet session, if register_netdev() should fail for
      any reason (for example, automatic naming for "l2tpeth%d" interfaces hits the
      32k-interface limit), the netdev is freed in the error path.  However, the
      l2tp_eth_sess structure's dev pointer is left uncleared, and this results in
      l2tp_eth_delete() then attempting to unregister the same netdev later in the
      session teardown.  This results in an oops.
      
      To avoid this, clear the session dev pointer in the error path.
      Signed-off-by: default avatarTom Parkin <tparkin@katalix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      78933636
    • Jonghwan Choi's avatar
    • Igor Murzov's avatar
      ACPI video: Ignore errors after _DOD evaluation. · fba4e087
      Igor Murzov authored
      There are systems where video module known to work fine regardless
      of broken _DOD and ignoring returned value here doesn't cause
      any issues later. This should fix brightness controls on some laptops.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47861Signed-off-by: default avatarIgor Murzov <e-mail@date.by>
      Reviewed-by: default avatarSergey V <sftp.mtuci@gmail.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      fba4e087
    • Devendra Naga's avatar
      thermal: solve compilation errors in rcar_thermal · 608f62b9
      Devendra Naga authored
      following were the errors reported
      
      drivers/thermal/rcar_thermal.c: In function ‘rcar_thermal_probe’:
      drivers/thermal/rcar_thermal.c:214:10: warning: passing argument 3 of ‘thermal_zone_device_register’ makes integer from pointer without a cast [enabled by default]
      include/linux/thermal.h:166:29: note: expected ‘int’ but argument is of type ‘struct rcar_thermal_priv *’
      drivers/thermal/rcar_thermal.c:214:10: error: too few arguments to function ‘thermal_zone_device_register’
      include/linux/thermal.h:166:29: note: declared here
      make[1]: *** [drivers/thermal/rcar_thermal.o] Error 1
      make: *** [drivers/thermal/rcar_thermal.o] Error 2
      
      with gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
      Signed-off-by: default avatarDevendra Naga <develkernel412222@gmail.com>
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      608f62b9