04 Mar, 2012

3 commits


03 Mar, 2012

4 commits

  • hhwmon fixes for 3.3-rc6 from Guenter Roeck:

    These patches are necessary for correct operation and management of
    F75387.

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (f75375s) Catch some attempts to write to r/o registers
    hwmon: (f75375s) Properly map the F75387 automatic modes to pwm_enable
    hwmon: (f75375s) Make pwm*_mode writable for the F75387
    hwmon: (f75375s) Fix writes to the pwm* attribute for the F75387

    Linus Torvalds
     
  • fbdev fixes for 3.3 from Florian Tobias Schandinat

    It includes:
    - two fixes for OMAP HDMI
    - one fix to make new OMAP functions behave as they are supposed to
    - one Kconfig dependency fix
    - two fixes for viafb for modesetting on VX900 hardware

    * tag 'fbdev-fixes-for-3.3-2' of git://github.com/schandinat/linux-2.6:
    OMAPDSS: APPLY: make ovl_enable/disable synchronous
    OMAPDSS: panel-dvi: Add Kconfig dependency on I2C
    viafb: fix IGA1 modesetting on VX900
    viafb: select HW scaling on VX900 for IGA2
    OMAPDSS: HDMI: hot plug detect fix
    OMAPDSS: HACK: Ensure DSS clock domain gets out of idle when HDMI is enabled

    Linus Torvalds
     
  • It makes no sense to attempt to manually configure the fan in auto mode,
    or set the duty cycle directly in closed loop mode. The corresponding
    registers are then read-only. If the user tries it nonetheless, error out
    with EINVAL instead of silently doing nothing.

    Signed-off-by: Nikolaus Schulz
    [guenter.roeck@ericsson.com: Minor formatting cleanup]
    Signed-off-by: Guenter Roeck

    Nikolaus Schulz
     
  • The F75387 supports automatic fan control using either PWM duty cycle or
    RPM speed values. Make the driver detect the latter mode, and expose the
    different modes in sysfs as per pwm_enable, so that the user can switch
    between them.

    The interpretation of the pwm_enable attribute for the F75387 is adjusted
    to be a superset of those values used for similar Fintek chips which do
    not support automatic duty mode, with 2 mapping to automatic speed mode,
    and moving automatic duty mode to the new value 4.

    Toggling the duty mode via pwm_enable is currently denied for the F75387,
    as the chip then simply reinterprets the fan configuration register values
    according to the new mode, switching between RPM and PWM units, which
    makes this a dangerous operation.

    This patch introduces a new pwm mode into the driver. This is necessary
    because the new mode (automatic pwm mode, 4) may already be enabled by the
    BIOS, and the driver should not break existing functionality. This was seen
    on at least one board.

    Signed-off-by: Nikolaus Schulz
    Signed-off-by: Guenter Roeck

    Nikolaus Schulz
     

02 Mar, 2012

4 commits

  • Watchdog updates from Wim Van Sebroeck:

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: fix GETTIMEOUT ioctl in booke_wdt
    watchdog: update maintainers git entry
    watchdog: Fix typo in pnx4008_wdt.c
    watchdog: Fix typo in Kconfig
    watchdog: fix error in probe() of s3c2410_wdt (reset at booting)
    watchdog: hpwdt: clean up set_memory_x call for 32 bit

    Linus Torvalds
     
  • Pull from Mark Brown:
    "A simple, driver specific fix. This device isn't widely used outside
    of Marvell reference boards most of which are probably used with their
    BSPs rather than with mainline so low risk."

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: fix the ldo configure according to 88pm860x spec

    Linus Torvalds
     
  • i2c bugfix from Wolfram Sang:
    "This patch fixes a wrong assumption in the mxs-i2c-driver about a
    command queue being done. Without it, we have seen races when the
    bus was under load."

    * 'i2c-embedded/for-3.3' of git://git.pengutronix.de/git/wsa/linux-2.6:
    i2c: mxs: only flag completion when queue is completely done

    Linus Torvalds
     
  • DRM fixes from Dave Airlie:
    intel: fixes for output regression on 965GM, an oops and a machine
    hang

    radeon: uninitialised var (that gcc didn't warn about for some reason)
    + a couple of correctness fixes.

    exynos: fixes for various things, drop some chunks of unused code.

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/kms/vm: fix possible bug in radeon_vm_bo_rmv()
    drm/radeon: fix uninitialized variable
    drm/radeon/kms: fix radeon_dp_get_modes for LVDS bridges (v2)
    drm/i915: Remove use of the autoreported ringbuffer HEAD position
    drm/i915: Prevent a machine hang by checking crtc->active before loading lut
    drm/i915: fix operator precedence when enabling RC6p
    drm/i915: fix a sprite watermark computation to avoid divide by zero if xpos<0
    drm/i915: fix mode set on load pipe. (v2)
    drm/exynos: exynos_drm.h header file fixes
    drm/exynos: added panel physical size.
    drm/exynos: added postclose to release resource.
    drm/exynos: removed exynos_drm_fbdev_recreate function.
    drm/exynos: fixed page flip issue.
    drm/exynos: added possible_clones setup function.
    drm/exynos: removed pageflip_event_list init code when closed.
    drm/exynos: changed priority of mixer layers.
    drm/exynos: Fix typo in exynos_mixer.c

    Linus Torvalds
     

01 Mar, 2012

6 commits

  • Merge virtio pull request from Rusty Russell.

    * tag 'for-linus' of git://github.com/rustyrussell/linux:
    virtio: balloon: leak / fill balloon across S4

    Linus Torvalds
     
  • commit e562966dbaf49e7804097cd991e5d3a8934fc148 added support for S4 to
    the balloon driver. The freeze function did nothing to free the pages,
    since reclaiming the pages from the host to immediately give them back
    (if S4 was successful) seemed wasteful. Also, if S4 wasn't successful,
    the guest would have to re-fill the balloon. On restore, the pages were
    supposed to be marked freed and the free page counters were incremented
    to reflect the balloon was totally deflated.

    However, this wasn't done right. The pages that were earlier taken away
    from the guest during a balloon inflation operation were just shown as
    used pages after a successful restore from S4. Just a fancy way of
    leaking lots of memory.

    Instead of trying that, just leak the balloon on freeze and fill it on
    restore/thaw paths. This works properly now. The optimisation to not
    leak can be added later on after a bit of refactoring of the code.

    Signed-off-by: Amit Shah
    Signed-off-by: Rusty Russell

    Amit Shah
     
  • ovl->enable/disable are meant to be synchronous so that they can handle
    the configuration of fifo sizes. The current kernel doesn't configure
    fifo sizes yet, and so the code doesn't need to block to function (from
    omapdss driver's perspective).

    However, for the users of omapdss a non-blocking ovl->disable is
    confusing, because they don't know when the memory area is not used
    any more.

    Furthermore, when the fifo size configuration is added in the next merge
    window, the change from non-blocking to blocking could cause side
    effects to the users of omapdss. So by making the functions block
    already will keep them behaving in the same manner.

    And, while not the main purpose of this patch, this will also remove the
    compile warning:

    drivers/video/omap2/dss/apply.c:350: warning:
    'wait_pending_extra_info_updates' defined but not used

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Florian Tobias Schandinat

    Tomi Valkeinen
     
  • panel-dvi uses i2c, but the Kconfig didn't have dependency on I2C. Add
    it.

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Florian Tobias Schandinat

    Tomi Valkeinen
     
  • Arnd Bergmann says:
    "Another set of arm-soc bug fixes on top of v3.3-rc5. The few larger
    bits are all for devices that still need to get set up in board code.

    Only three platforms are in this set of fixes: omap2+, pxa and lpc32xx."

    * tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits)
    ARM: LPC32xx: serial.c: Fixed loop limit
    ARM: LPC32xx: serial.c: HW bug workaround
    ARM: LPC32xx: irq.c: Clear latched event
    ARM: LPC32xx: Fix interrupt controller init
    ARM: LPC32xx: Fix irq on GPI_28
    ARM: OMAP2: fix mailbox init code
    ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators
    ARM: OMAP1: Fix out-of-bounds array access for Innovator
    OMAP3 EVM: remove out-of-bounds array access of gpio_leds
    ARM: OMAP: Fix build error when mmc_omap is built as module
    ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module
    pxa/hx4700: add platform device and I2C info for AK4641 codec
    arch/arm/mach-pxa/: included linux/gpio.h twice
    arch/arm/mach-mmp/: some files include some headers twice
    ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe
    ARM: pxa: fix including linux/gpio.h twice
    ARM: pxa: fix mixed declarations and code in sharpsl_pm
    ARM: pxa: fix wrong parsing gpio event on spitz
    ARM: OMAP2+: usb-host: fix compile warning
    ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback
    ...

    Linus Torvalds
     
  • The bo is removed from the list at the top of
    radeon_vm_bo_rmv(), but then the list is used
    in radeon_vm_bo_update_pte() to look up the vm.
    remove the bo_list entry at the end of the
    function instead.

    Signed-off-by: Alex Deucher
    Reviewed-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Sebastian Biemueller
     

29 Feb, 2012

11 commits

  • Without this fix the driver randomly treats
    textures as arrays and I'm really wondering
    why gcc isn't complaining about it.

    Signed-off-by: Christian König
    Reviewed-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Christian König
     
  • * 'exynos-drm-fixes' of git://git.infradead.org/users/kmpark/linux-2.6-samsung:
    drm/exynos: exynos_drm.h header file fixes
    drm/exynos: added panel physical size.
    drm/exynos: added postclose to release resource.
    drm/exynos: removed exynos_drm_fbdev_recreate function.
    drm/exynos: fixed page flip issue.
    drm/exynos: added possible_clones setup function.
    drm/exynos: removed pageflip_event_list init code when closed.
    drm/exynos: changed priority of mixer layers.
    drm/exynos: Fix typo in exynos_mixer.c

    Dave Airlie
     
  • Need to call ExternalEncoderControl to set up DDC before
    trying to get an EDID for all DP bridge chips (including
    DP to LVDS).

    Also remove redundant encoder assignment.

    V2: fix typo in commit message.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Commit dcfb748422 ([WATCHDOG] fix book E watchdog to take
    WDIOC_SETTIMEOUT arg in seconds) fixed SETTIMEOUT ioctl
    to use seconds as a parameter instead of some hardware-specific
    "period", but missed to apply similar changes to GETTIMEOUT,
    so it still returns "period" value. Let's fix it!
    Also, while at it, make SETTIMEOUT ioctl return real timeout
    value as it should do according to the documentation.

    Signed-off-by: Dmitry Artamonow
    Signed-off-by: Wim Van Sebroeck

    Dmitry Artamonow
     
  • Signed-off-by: Nikolaus Schulz
    Signed-off-by: Guenter Roeck

    Nikolaus Schulz
     
  • For the F75387, the register holding the current PWM duty cycle value is
    r/o; changing it requires writing to the fan expect register instead.

    Signed-off-by: Nikolaus Schulz
    [guenter.roeck@ericsson.com: Simplified function parameters]
    Signed-off-by: Guenter Roeck

    Nikolaus Schulz
     
  • IOMMU fixes for Linux 3.3-rc5

    All the fixes are for the OMAP IOMMU driver. The first patch is the
    biggest one. It fixes the calls of the function omap_find_iovm_area() in
    the omap-iommu-debug module which expects a 'struct device' parameter
    since commit fabdbca instead of an omap_iommu handle. The
    omap-iommu-debug code still passed the handle to the function which
    caused a crash.

    The second patch fixes a NULL pointer dereference in the OMAP code and
    the third patch makes sure that the omap-iommu is initialized before the
    omap-isp driver, which relies on the iommu. The last patch is only a
    workaround until defered probing is implemented.

    * tag 'iommu-fixes-v3.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp
    iommu/omap: fix NULL pointer dereference
    iommu/omap: fix erroneous omap-iommu-debug API calls

    Linus Torvalds
     
  • Correct spelling "resouce" to "resource" in
    drivers/watchdog/pnx4008_wdt.c

    Signed-off-by: Masanari Iida
    Signed-off-by: Jiri Kosina
    Signed-off-by: Wim Van Sebroeck

    Masanari Iida
     
  • Correct spelling "overidden" to "overridden" in
    drivers/watchdog/Kconfig

    Signed-off-by: Masanari Iida
    Signed-off-by: Jiri Kosina
    Signed-off-by: Wim Van Sebroeck

    Masanari Iida
     
  • Probe function of s3c2410 watchdog calls request_irq before initializing
    required value (wdt_count). This incurs resetting watchdog counter value
    and watchdog-reboot during booting up.

    This patch addresses such an issue by calling request_irq later.

    Error handling in probe function and calling oder in remove function are
    also revised accordingly.

    Reported-by: Chanwoo Park
    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Wim Van Sebroeck

    MyungJoo Ham
     
  • 1. address has to be page aligned.
    2. set_memory_x uses page size argument, not size.
    Bug causes with following commit:
    commit da28179b4e90dda56912ee825c7eaa62fc103797
    Author: Mingarelli, Thomas
    Date: Mon Nov 7 10:59:00 2011 +0100

    watchdog: hpwdt: Changes to handle NX secure bit in 32bit path

    commit e67d668e147c3b4fec638c9e0ace04319f5ceccd upstream.

    This patch makes use of the set_memory_x() kernel API in order
    to make necessary BIOS calls to source NMIs.

    Signed-off-by: Maxim Uvarov
    Signed-off-by: Wim Van Sebroeck
    Cc: stable

    Maxim Uvarov
     

28 Feb, 2012

4 commits

  • Broken by commit 6ef84509f3d439ed2d43ea40080643efec37f54f for users
    passing a request with non-zero 'nbytes' field, like e.g. testmgr.

    Cc: # 3.0+
    Signed-off-by: Phil Sutter
    Signed-off-by: Herbert Xu

    Phil Sutter
     
  • …jbarnes/drm-intel into HEAD

    * 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/drm-intel:
    drm/i915: Remove use of the autoreported ringbuffer HEAD position
    drm/i915: Prevent a machine hang by checking crtc->active before loading lut
    drm/i915: fix operator precedence when enabling RC6p
    drm/i915: fix a sprite watermark computation to avoid divide by zero if xpos<0
    drm/i915: fix mode set on load pipe. (v2)

    Dave Airlie
     
  • * 'lpc32xx/fixes' of git://git.antcom.de/linux-2.6: (5 commits)
    ARM: LPC32xx: serial.c: Fixed loop limit
    ARM: LPC32xx: serial.c: HW bug workaround
    ARM: LPC32xx: irq.c: Clear latched event
    ARM: LPC32xx: Fix interrupt controller init
    ARM: LPC32xx: Fix irq on GPI_28

    Update to Linux 3.3-rc5

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • This is a revert of 6aa56062eaba67adfb247cded244fd877329588d.

    This was originally introduced to workaround reads of the ringbuffer
    registers returning 0 on SandyBridge causing hangs due to ringbuffer
    overflow. The root cause here was reads through the GT powerwell require
    the forcewake dance, something we only learnt of later. Now it appears
    that reading the reported head position from the HWS is returning
    garbage, leading once again to hangs.

    For example, on q35 the autoreported head reports:
    [ 217.975608] head now 00010000, actual 00010000
    [ 436.725613] head now 00200000, actual 00200000
    [ 462.956033] head now 00210000, actual 00210010
    [ 485.501409] head now 00400000, actual 00400020
    [ 508.064280] head now 00410000, actual 00410000
    [ 530.576078] head now 00600000, actual 00600020
    [ 553.273489] head now 00610000, actual 00610018
    which appears reasonably sane. In contrast, if we look at snb:
    [ 141.970680] head now 00e10000, actual 00008238
    [ 141.974062] head now 02734000, actual 000083c8
    [ 141.974425] head now 00e10000, actual 00008488
    [ 141.980374] head now 032b5000, actual 000088b8
    [ 141.980885] head now 03271000, actual 00008950
    [ 142.040628] head now 02101000, actual 00008b40
    [ 142.180173] head now 02734000, actual 00009050
    [ 142.181090] head now 00000000, actual 00000ae0
    [ 142.183737] head now 02734000, actual 00009050

    In addition, the automatic reporting of the head position is scheduled
    to be defeatured in the future. It has no more utility, remove it.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45492
    Reviewed-by: Daniel Vetter
    Tested-by: Eric Anholt
    Signed-off-by: Chris Wilson
    Signed-off-by: Jesse Barnes

    Chris Wilson
     

27 Feb, 2012

4 commits

  • The new is_compat_task() define for the !COMPAT case in
    include/linux/compat.h conflicts with a similar define in
    arch/s390/include/asm/compat.h.

    This is the minimal patch which fixes the build issues.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • drivers/parisc/iommu-helpers.h:62: error: implicit declaration of function 'prefetchw'
    make[3]: *** [drivers/parisc/sba_iommu.o] Error 1

    drivers/parisc/iommu-helpers.h needs to #include
    where prefetchw is declared.

    Signed-off-by: WANG Cong
    Signed-off-by: James Bottomley

    Cong Wang
     
  • omap3isp depends on omap's iommu and will fail to probe if
    initialized before it (which always happen if they are builtin).

    Make omap's iommu subsys_initcall as an interim solution until
    the probe deferral mechanism is merged.

    Reported-by: James
    Debugged-by: Laurent Pinchart
    Signed-off-by: Ohad Ben-Cohen
    Cc: stable
    Cc: Tony Lindgren
    Cc: Hiroshi Doyu
    Cc: Joerg Roedel
    Signed-off-by: Joerg Roedel

    Ohad Ben-Cohen
     
  • 1) ICMP sockets leave err uninitialized but we try to return it for the
    unsupported MSG_OOB case, reported by Dave Jones.

    2) Add new Zaurus device ID entries, from Dave Jones.

    3) Pointer calculation in hso driver memset is wrong, from Dan
    Carpenter.

    4) ks8851_probe() checks unsigned value as negative, fix also from Dan
    Carpenter.

    5) Fix crashes in atl1c driver due to TX queue handling, from Eric
    Dumazet. I anticipate some TX side locking fixes coming in the near
    future for this driver as well.

    6) The inline directive fix in Bluetooth which was breaking the build
    only with very new versions of GCC, from Johan Hedberg.

    7) Fix crashes in the ATP CLIP code due to ARP cleanups this merge
    window, reported by Meelis Roos and fixed by Eric Dumazet.

    8) JME driver doesn't flush RX FIFO correctly, from Guo-Fu Tseng.

    9) Some ip6_route_output() callers test the return value for NULL, but
    this never happens as the convention is to return a dst entry with
    dst->error set. Fixes from RonQing Li.

    10) Logitech Harmony 900 should be handled by zaurus driver not
    cdc_ether, update white lists and black lists accordingly. From
    Scott Talbert.

    11) Receiving from certain kinds of devices there won't be a MAC header,
    so there is no MAC header to fixup in the IPSEC code, and if we try
    to do it we'll crash. Fix from Eric Dumazet.

    12) Port type array indexing off-by-one in mlx4 driver, fix from Yevgeny
    Petrilin.

    13) Fix regression in link-down handling in davinci_emac which causes
    all RX descriptors to be freed up and therefore RX to wedge
    completely, from Christian Riesch.

    14) It took two attempts, but ctnetlink soft lockups seem to be
    cured now, from Pablo Neira Ayuso.

    15) Endianness bug fix in ENIC driver, from Santosh Nayak.

    16) The long ago conversion of the PPP fragmentation code over to
    abstracted SKB list handling wasn't perfect, once we get an
    out of sequence SKB we don't flush the rest of them like we
    should. From Ben McKeegan.

    17) Fix regression of ->ip_summed initialization in sfc driver.
    From Ben Hutchings.

    18) Bluetooth timeout mistakenly using msecs instead of jiffies,
    from Andrzej Kaczmarek.

    19) Using _sync variant of work cancellation results in deadlocks,
    use the non _sync variants instead. From Andre Guedes.

    20) Bluetooth rfcomm code had reference counting problems leading
    to crashes, fix from Octavian Purdila.

    21) The conversion of netem over to classful qdisc handling added
    two bugs to netem_dequeue(), fixes from Eric Dumazet.

    22) Missing pci_iounmap() in ATM Solos driver. Fix from Julia Lawall.

    23) b44_pci_exit() should not have __exit tag since it's invoked from
    non-__exit code. From Nikola Pajkovsky.

    24) The conversion of the neighbour hash tables over to RCU added a
    race, fixed here by adding the necessary reread of tbl->nht, fix
    from Michel Machado.

    25) When we added VF (virtual function) attributes for network device
    dumps, this potentially bloats up the size of the dump of one
    network device such that the dump size is too large for the buffer
    allocated by properly written netlink applications.

    In particular, if you add 255 VFs to a network device, parts of
    GLIBC stop working.

    To fix this, we add an attribute that is used to turn on these
    extended portions of the network device dump. Sophisticaed
    applications like 'ip' that want to see this stuff will be changed
    to set the attribute, whereas things like GLIBC that don't care
    about VFs simply will not, and therefore won't be busted by the
    mere presence of VFs on a network device.

    Thanks to the tireless work of Greg Rose on this fix.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (53 commits)
    sfc: Fix assignment of ip_summed for pre-allocated skbs
    ppp: fix 'ppp_mp_reconstruct bad seq' errors
    enic: Fix endianness bug.
    gre: fix spelling in comments
    netfilter: ctnetlink: fix soft lockup when netlink adds new entries (v2)
    Revert "netfilter: ctnetlink: fix soft lockup when netlink adds new entries"
    davinci_emac: Do not free all rx dma descriptors during init
    mlx4_core: Fixing array indexes when setting port types
    phy: IC+101G and PHY_HAS_INTERRUPT flag
    netdev/phy/icplus: Correct broken phy_init code
    ipsec: be careful of non existing mac headers
    Move Logitech Harmony 900 from cdc_ether to zaurus
    hso: memsetting wrong data in hso_get_count()
    netfilter: ip6_route_output() never returns NULL.
    ethernet/broadcom: ip6_route_output() never returns NULL.
    ipv6: ip6_route_output() never returns NULL.
    jme: Fix FIFO flush issue
    atm: clip: remove clip_tbl
    ipv4: ping: Fix recvmsg MSG_OOB error handling.
    rtnetlink: Fix problem with buffer allocation
    ...

    Linus Torvalds
     

26 Feb, 2012

1 commit


25 Feb, 2012

3 commits