1. 04 7月, 2012 1 次提交
    • S
      regulator: Fix recursive mutex lockdep warning · d92d95b6
      Stephen Boyd 提交于
      A recursive lockdep warning occurs if you call
      regulator_set_optimum_mode() on a regulator with a supply because
      there is no nesting annotation for the rdev->mutex. To avoid this
      warning, get the supply's load before locking the regulator's
      mutex to avoid grabbing the same class of lock twice.
      
      =============================================
      [ INFO: possible recursive locking detected ]
      3.4.0 #3257 Tainted: G        W
      ---------------------------------------------
      swapper/0/1 is trying to acquire lock:
       (&rdev->mutex){+.+.+.}, at: [<c036e9e0>] regulator_get_voltage+0x18/0x38
      
      but task is already holding lock:
       (&rdev->mutex){+.+.+.}, at: [<c036ef38>] regulator_set_optimum_mode+0x24/0x224
      
      other info that might help us debug this:
       Possible unsafe locking scenario:
      
             CPU0
             ----
        lock(&rdev->mutex);
        lock(&rdev->mutex);
      
       *** DEADLOCK ***
      
       May be due to missing lock nesting notation
      
      3 locks held by swapper/0/1:
       #0:  (&__lockdep_no_validate__){......}, at: [<c03dbb48>] __driver_attach+0x40/0x8c
       #1:  (&__lockdep_no_validate__){......}, at: [<c03dbb58>] __driver_attach+0x50/0x8c
       #2:  (&rdev->mutex){+.+.+.}, at: [<c036ef38>] regulator_set_optimum_mode+0x24/0x224
      
      stack backtrace:
      [<c001521c>] (unwind_backtrace+0x0/0x12c) from [<c00cc4d4>] (validate_chain+0x760/0x1080)
      [<c00cc4d4>] (validate_chain+0x760/0x1080) from [<c00cd744>] (__lock_acquire+0x950/0xa10)
      [<c00cd744>] (__lock_acquire+0x950/0xa10) from [<c00cd990>] (lock_acquire+0x18c/0x1e8)
      [<c00cd990>] (lock_acquire+0x18c/0x1e8) from [<c080c248>] (mutex_lock_nested+0x68/0x3c4)
      [<c080c248>] (mutex_lock_nested+0x68/0x3c4) from [<c036e9e0>] (regulator_get_voltage+0x18/0x38)
      [<c036e9e0>] (regulator_get_voltage+0x18/0x38) from [<c036efb8>] (regulator_set_optimum_mode+0xa4/0x224)
      ...
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      d92d95b6
  2. 01 7月, 2012 9 次提交
  3. 30 6月, 2012 9 次提交
  4. 29 6月, 2012 21 次提交
    • K
      printk: flush continuation lines immediately to console · 084681d1
      Kay Sievers 提交于
      Continuation lines are buffered internally, intended to merge the
      chunked printk()s into a single record, and to isolate potentially
      racy continuation users from usual terminated line users.
      
      This though, has the effect that partial lines are not printed to
      the console in the moment they are emitted. In case the kernel
      crashes in the meantime, the potentially interesting printed
      information would never reach the consoles.
      
      Here we share the continuation buffer with the console copy logic,
      and partial lines are always immediately flushed to the available
      consoles. They are still buffered internally to improve the
      readability and integrity of the messages and minimize the amount
      of needed record headers to store.
      Signed-off-by: NKay Sievers <kay@vrfy.org>
      Tested-by: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      084681d1
    • M
      powerpc/pseries: Fix software invalidate TCE · bc6dc752
      Michael Neuling 提交于
      The following added support for powernv but broke pseries/BML:
       1f1616e8 powerpc/powernv: Add TCE SW invalidation support
      
      TCE_PCI_SW_INVAL was split into FREE and CREATE flags but the tests in
      the pseries code were not updated to reflect this.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      cc: stable@kernel.org [v3.3+]
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      bc6dc752
    • A
      powerpc: check_and_cede_processor() never cedes · 0b17ba72
      Anton Blanchard 提交于
      Commit f948501b ("Make hard_irq_disable() actually hard-disable
      interrupts") caused check_and_cede_processor to stop working.
      ->irq_happened will never be zero right after a hard_irq_disable
      so the compiler removes the call to cede_processor completely.
      
      The bug was introduced back in the lazy interrupt handling rework
      of 3.4 but was hidden until recently because hard_irq_disable did
      nothing.
      
      This issue will eventually appear in 3.4 stable since the
      hard_irq_disable fix is marked stable, so mark this one for stable
      too.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0b17ba72
    • S
      powerpc/ftrace: Do not trace restore_interrupts() · 2d773aa4
      Steven Rostedt 提交于
      As I was adding code that affects all archs, I started testing function
      tracer against PPC64 and found that it currently locks up with 3.4
      kernel. I figured it was due to tracing a function that shouldn't be, so
      I went through the following process to bisect to find the culprit:
      
       cat /debug/tracing/available_filter_functions > t
       num=`wc -l t`
       sed -ne "1,${num}p" t > t1
       let num=num+1
       sed -ne "${num},$p" t > t2
       cat t1 > /debug/tracing/set_ftrace_filter
       echo function /debug/tracing/current_tracer
       <failed? bisect t1, if not bisect t2>
      
      It finally came down to this function: restore_interrupts()
      
      I'm not sure why this locks up the system. It just seems to prevent
      scheduling from occurring. Interrupts seem to still work, as I can ping
      the box. But all user processes freeze.
      
      When restore_interrupts() is not traced, function tracing works fine.
      
      Cc: stable@kernel.org
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2d773aa4
    • L
      powerpc: Fix Section mismatch warnings in prom_init.c · 2cb387ae
      Li Zhong 提交于
      This patches tries to fix a couple of Section mismatch warnings like
      following one:
      
      WARNING: arch/powerpc/kernel/built-in.o(.text+0x2923c): Section mismatch
      in reference from the function .prom_query_opal() to the
      function .init.text:.call_prom()
      The function .prom_query_opal() references
      the function __init .call_prom().
      This is often because .prom_query_opal lacks a __init
      annotation or the annotation of .call_prom is wrong.
      Signed-off-by: NLi Zhong <zhong@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2cb387ae
    • T
      ppc64: fix missing to check all bits of _TIF_USER_WORK_MASK in preempt · c58ce2b1
      Tiejun Chen 提交于
      In entry_64.S version of ret_from_except_lite, you'll notice that
      in the !preempt case, after we've checked MSR_PR we test for any
      TIF flag in _TIF_USER_WORK_MASK to decide whether to go to do_work
      or not. However, in the preempt case, we do a convoluted trick to
      test SIGPENDING only if PR was set and always test NEED_RESCHED ...
      but we forget to test any other bit of _TIF_USER_WORK_MASK !!! So
      that means that with preempt, we completely fail to test for things
      like single step, syscall tracing, etc...
      
      This should be fixed as the following path:
      
       - Test PR. If not set, go to resume_kernel, else continue.
      
       - If go resume_kernel, to do that original do_work.
      
       - If else, then always test for _TIF_USER_WORK_MASK to decide to do
      that original user_work, else restore directly.
      Signed-off-by: NTiejun Chen <tiejun.chen@windriver.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c58ce2b1
    • M
      powerpc: Fix uninitialised error in numa.c · 82b2521d
      Michael Neuling 提交于
      chroma_defconfig currently gives me this with gcc 4.6:
        arch/powerpc/mm/numa.c:638:13: error: 'dm' may be used uninitialized in this function [-Werror=uninitialized]
      
      It's a bogus warning/error since of_get_drconf_memory() only writes it
      anyway.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      cc: <stable@kernel.org> [v3.3+]
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      82b2521d
    • M
      powerpc: Fix BPF_JIT code to link with multiple TOCs · 7784655a
      Michael Ellerman 提交于
      If the kernel is big enough (eg. allyesconfig), the linker may need to
      switch TOCs when calling from the BPF JIT code out to the external
      helpers (skb_copy_bits() & bpf_internal_load_pointer_neg_helper()).
      
      In order to do that we need to leave space after the bl for the linker
      to insert a reload of our TOC pointer.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Acked-by: NMatt Evans <matt@ozlabs.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7784655a
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 9acc7bde
      Linus Torvalds 提交于
      Pull hwmon changes from Guenter Roeck:
       "Just e-mail address updates"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: Update my e-mail address
        hwmon: (applesmc) correct email address for Jesper Juhl
      9acc7bde
    • L
      Merge git://www.linux-watchdog.org/linux-watchdog · ccce27c0
      Linus Torvalds 提交于
      Pull watchdog fixes from Wim Van Sebroeck:
       "This fixes:
         - the WDIOC_GETSTATUS return value
         - the unregister of all NMI events on exit
         - the loading of the iTCO_wdt driver after the conversion to the
           lpc_ich mfd model."
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: core: fix WDIOC_GETSTATUS return value
        watchdog: hpwdt: Unregister NMI events on exit.
        watchdog: iTCO_wdt: add platform driver module alias
      ccce27c0
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 221d3ebf
      Linus Torvalds 提交于
      Pull UDF fixes from Jan Kara:
       "Make UDF more robust in presence of corrupted filesystem"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fortify loading of sparing table
        udf: Avoid run away loop when partition table length is corrupted
        udf: Use 'ret' instead of abusing 'i' in udf_load_logicalvol()
      221d3ebf
    • L
      Merge tag 'upstream-3.5-rc5' of git://git.infradead.org/linux-ubifs · 9a7c6b73
      Linus Torvalds 提交于
      Pull ubi/ubifs fixes from Artem Bityutskiy:
       "Fix the debugfs regression - we never enable it because incorrect
        'IS_ENABLED()' macro usage: should be 'IS_ENABLED(CONFIG_DEBUG_FS)',
        but we had 'IS_ENABLED(DEBUG_FS)'.  Also fix incorrect assertion."
      
      * tag 'upstream-3.5-rc5' of git://git.infradead.org/linux-ubifs:
        UBI: correct usage of IS_ENABLED()
        UBIFS: correct usage of IS_ENABLED()
        UBIFS: fix assertion
      9a7c6b73
    • W
      watchdog: core: fix WDIOC_GETSTATUS return value · 8b9468d4
      Wim Van Sebroeck 提交于
      In commit 7a879824 we added
      a wrapper for the WDIOC_GETSTATUS ioctl call. The code results
      however in a different behaviour: it returns an error if the
      driver doesn't support the status operation. This is not
      according to the API that says that when we don't support
      the status operation, that we just should return a 0 value.
      Only when the device isn't there anymore, we should return an
      error.
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      8b9468d4
    • M
      watchdog: hpwdt: Unregister NMI events on exit. · a089361c
      Mingarelli, Thomas 提交于
      This patch is to unregister for NMI events upon exit. Also we are now
      making the default setting for allow_kdump enabled.
      Signed-off-by: NThomas Mingarelli <thomas.mingarelli@hp.com>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      a089361c
    • J
      watchdog: iTCO_wdt: add platform driver module alias · e5de32e3
      Jan Beulich 提交于
      The recent conversion of iTCO_wdt resulted in the driver no longer
      getting loaded automatically, since it no longer has a
      MODULE_DEVICE_TABLE() included. As the lpc_ich driver now creates a
      platform device, auto-loading can easily be done by having a respective
      module alias in place.
      Signed-off-by: NJan Beulich <jbeulich@suse.com>
      Cc: Aaron Sierra <asierra@xes-inc.com>
      Acked-by: NGuenter Roeck <linux@roeck-us.net>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      e5de32e3
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 4a9c4697
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Nearly all intel, one missing license header in nouveau, nothing
        majorly earth shattering."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        Revert "drm/i915: allow PCH PWM override on IVB"
        drm/nouveau: add license header to prime.
        drm/i915: Fix eDP blank screen after S3 resume on HP desktops
        drm/i915: rip out the PM_IIR WARN
      4a9c4697
    • L
      Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh · ef726227
      Linus Torvalds 提交于
      Pull SuperH fixes from Paul Mundt.
      
      * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
        sh: Convert sh_clk_mstp32_register to sh_clk_mstp_register
        sh: kfr2r09: fix compile breakage
      ef726227
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f3747e2f
      Linus Torvalds 提交于
      Pull networking update from David Miller:
      
       1) Pairing and deadlock fixes in bluetooth from Johan Hedberg.
      
       2) Add device IDs for AR3011 and AR3012 bluetooth chips.  From
          Giancarlo Formicuccia and Marek Vasut.
      
       3) Fix wireless regulatory deadlock, from Eliad Peller.
      
       4) Fix full TX ring panic in bnx2x driver, from Eric Dumazet.
      
       5) Revert the two commits that added skb_orphan_try(), it causes
          erratic bonding behavior with UDP clients and the gains it used to
          give are mostly no longer happening due to how BQL works.  From Eric
          Dumazet.
      
       6) It took two tries, but Thomas Graf fixed a problem wherein we
          registered ipv6 routing procfs files before their backend data were
          initialized properly.
      
       7) Fix max GSO size setting in be2net, from Sarveshwar Bandi.
      
       8) PHY device id mask is wrong for KSZ9021 and KS8001 chips, fix from
          Jason Wang.
      
       9) Fix use of stale SKB data pointer after skb_linearize() call in
          batman-adv, from Antonio Quartulli.
      
      10) Fix memory leak in IXGBE due to missing __GFP_COMP, from Alexander
          Duyck.
      
      11) Fix probing of Gobi devices in qmi_wwan usbnet driver, from Bjørn
          Mork.
      
      12) Fix suspend/resume and open failure handling in usbnet from Ming
          Lei.
      
      13) Attempt to fix device r8169 hangs for certain chips, from Francois
          Romieu.
      
      14) Fix advancement of RX dirty pointer in some situations in sh_eth
          driver, from Yoshihiro Shimoda.
      
      15) Attempt to fix restart of IPV6 routing table dumps when there is an
          intervening table update.  From Eric Dumazet.
      
      16) Respect security_inet_conn_request() return value in ipv6 TCP.  From
          Neal Cardwell.
      
      17) Add another iPAD device ID to ipheth driver, from Davide Gerhard.
      
      18) Fix access to freed SKB in l2tp_eth_dev_xmit(), and fix l2tp lockdep
          splats, from Eric Dumazet.
      
      19) Make sure all bridge devices, regardless of whether they were
          created via netlink or ioctls, have their rtnetlink ops hooked up.
          From Thomas Graf and Stephen Hemminger.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (81 commits)
        9p: fix min_t() casting in p9pdu_vwritef()
        can: flexcan: use be32_to_cpup to handle the value of dt entry
        xen/netfront: teardown the device before unregistering it.
        bridge: Assign rtnl_link_ops to bridge devices created via ioctl (v2)
        vhost: use USER_DS in vhost_worker thread
        ixgbe: Do not pad FCoE frames as this can cause issues with FCoE DDP
        net: l2tp_eth: use LLTX to avoid LOCKDEP splats
        mac802154: add missed braces
        net: l2tp_eth: fix l2tp_eth_dev_xmit race
        net/mlx4_en: Release QP range in free_resources
        net/mlx4: Use single completion vector after NOP failure
        net/mlx4_en: Set correct port parameters during device initialization
        ipheth: add support for iPad
        caif-hsi: Add missing return in error path
        caif-hsi: Bugfix - Piggyback'ed embedded CAIF frame lost
        caif: Clear shutdown mask to zero at reconnect.
        tcp: heed result of security_inet_conn_request() in tcp_v6_conn_request()
        ipv6: fib: fix fib dump restart
        batman-adv: fix race condition in TT full-table replacement
        batman-adv: only drop packets of known wifi clients
        ...
      f3747e2f
    • J
      udf: Fortify loading of sparing table · 1df2ae31
      Jan Kara 提交于
      Add sanity checks when loading sparing table from disk to avoid accessing
      unallocated memory or writing to it.
      Signed-off-by: NJan Kara <jack@suse.cz>
      1df2ae31
    • J
      udf: Avoid run away loop when partition table length is corrupted · adee11b2
      Jan Kara 提交于
      Check provided length of partition table so that (possibly maliciously)
      corrupted partition table cannot cause accessing data beyond current buffer.
      Signed-off-by: NJan Kara <jack@suse.cz>
      adee11b2
    • J
      udf: Use 'ret' instead of abusing 'i' in udf_load_logicalvol() · cb14d340
      Jan Kara 提交于
      Signed-off-by: NJan Kara <jack@suse.cz>
      cb14d340