Skip to content
  1. Jan 17, 2013
    • Tejun Heo's avatar
      module, async: async_synchronize_full() on module init iff async is used · 774a1221
      Tejun Heo authored
      If the default iosched is built as module, the kernel may deadlock
      while trying to load the iosched module on device probe if the probing
      was running off async.  This is because async_synchronize_full() at
      the end of module init ends up waiting for the async job which
      initiated the module loading.
      
       async A				modprobe
      
       1. finds a device
       2. registers the block device
       3. request_module(default iosched)
      					4. modprobe in userland
      					5. load and init module
      					6. async_synchronize_full()
      
      Async A waits for modprobe to finish in request_module() and modprobe
      waits for async A to finish in async_synchronize_full().
      
      Because there's no easy to track dependency once control goes out to
      userland, implementing properly nested flushing is difficult.  For
      now, make module init perform async_synchronize_full() iff module init
      has queued async jobs as suggested by Linus.
      
      This avoids the described deadlock because iosched module doesn't use
      async and thus wouldn't invoke async_synchronize_full().  This is
      hacky and incomplete.  It will deadlock if async module loading nests;
      however, this works around the known problem case and seems to be the
      best of bad options.
      
      For more details, please refer to the following thread.
      
        http://thread.gmane.org/gmane.linux.kernel/1420814
      
      
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarAlex Riesen <raa.lkml@gmail.com>
      Tested-by: default avatarMing Lei <ming.lei@canonical.com>
      Tested-by: default avatarAlex Riesen <raa.lkml@gmail.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      774a1221
  2. Jan 15, 2013
    • Linus Torvalds's avatar
      Merge tag 'trace-3.8-rc3-regression-fix' of... · 406089d0
      Linus Torvalds authored
      Merge tag 'trace-3.8-rc3-regression-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing regression fixes from Steven Rostedt:
       "The clean up patch commit 0fb9656d "tracing: Make tracing_enabled
        be equal to tracing_on" caused two regressions.
      
         1) The irqs off latency tracer no longer starts if tracing_on is off
            when the tracer is set, and then tracing_on is enabled.  The
            tracing_on file needs the hook that tracing_enabled had to enable
            tracers if they request it (call the tracer's start() method).
      
         2) That commit had a separate change that really should have been a
            separate patch, but it must have been added accidently with the -a
            option of git commit.  But as the change is still related to the
            commit it wasn't noticed in review.  That change, changed the way
            blocking is done by the trace_pipe file with respect to the
            tracing_on settings.  I've been told that this change breaks
            current userspace, and this specific change is being reverted."
      
      * tag 'trace-3.8-rc3-regression-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix regression of trace_pipe
        tracing: Fix regression with irqsoff tracer and tracing_on file
      406089d0
    • Linus Torvalds's avatar
      Merge tag 'regmap-debugfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 7dea1ff3
      Linus Torvalds authored
      Pull regmap debugfs optimisation fixes from Mark Brown:
       "The debugfs optimisations merged in v3.8 weren't my finest hour, there
        were a number of cases that the more complex algorithm made worse
        especially around the error handling.  This patch series should
        address those issues."
      
      * tag 'regmap-debugfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: debugfs: Make sure we store the last entry in the offset cache
        regmap: debugfs: Ensure a correct return value for empty caches
        regmap: debugfs: Discard the cache if we fail to allocate an entry
        regmap: debugfs: Fix check for block start in cached seeks
        regmap: debugfs: Fix attempts to read nonexistant register blocks
      7dea1ff3
    • Linus Torvalds's avatar
      Merge tag 'regulator-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 2ac1e664
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "A few fixes for the regulator subsystems, a few driver specific things
        plus a fix for the interaction between regultor_can_change_voltage()
        and continuous voltage ranges both of which were added for this
        release."
      
      * tag 'regulator-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: max8998: Ensure enough delay time for max8998_set_voltage_buck_time_sel
        regulator: max8998: Use uV in voltage_map_desc
        regulator: max8997: Use uV in voltage_map_desc
        regulator: core: Fix comment for regulator_register()
        regulator: core: Fix continuous_voltage_range case in regulator_can_change_voltage
        regulator: s5m8767: Fix probe failure due to stack corruption
      2ac1e664
    • Mark Brown's avatar
    • Mark Brown's avatar
    • Mark Brown's avatar
    • Mark Brown's avatar
    • Linus Torvalds's avatar
      Merge tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux · 3152ba0f
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
       "Two fixes to prevent unconditional re-compile of dts files on arm and
        arm64."
      
      * tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux:
        ARM: dts: prevent *.dtb from always being rebuilt
        arm64: dts: prevent *.dtb from always being rebuilt
      3152ba0f
    • Linus Torvalds's avatar
      vfs: add missing virtual cache flush after editing partial pages · 6d283dba
      Linus Torvalds authored
      
      
      Andrew Morton pointed this out a month ago, and then I completely forgot
      about it.
      
      If we read a partial last page of a block device, we will zero out the
      end of the page, but since that page can then be mapped into user space,
      we should also make sure to flush the cache on architectures that have
      virtual caches.  We have the flush_dcache_page() function for this, so
      use it.
      
      Now, in practice this really never matters, because nobody sane uses
      virtual caches to begin with, and they largely exist on old broken RISC
      arhitectures.
      
      And even if you did run on one of those obsolete CPU's, the whole "mmap
      and access the last partial page of a block device" behavior probably
      doesn't actually exist.  The normal IO functions (read/write) will never
      see the zeroed-out part of the page that migth not be coherent in the
      cache, because they honor the size of the device.
      
      So I'm marking this for stable (3.7 only), but I'm not sure anybody will
      ever care.
      
      Pointed-out-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: stable@vger.kernel.org  # 3.7
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d283dba
    • Linus Torvalds's avatar
      Merge tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 9bbcbad4
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Most of commits found here are for ASoC device specific fixes,
        arizona, cs4271, wm5102, wm2200, etc, in addition to a couple of
        memory leak fixes in ASoC core.
      
        Other than that, regression fixes in HD-audio and USB-audio, and a fix
        for new Realtek codecs."
      
      * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (30 commits)
        ALSA: usb-audio: Fix NULL dereference by access to non-existing substream
        ALSA: hda - Add support of new codec ALC284
        ALSA: usb-audio: Make ebox44_table static
        ALSA: hdspm - Fix wordclock status on AES32
        Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs"
        ALSA: hda - Disable runtime D3 for Intel CPT & co
        ALSA: pxa27x: fix ac97 warm reset
        ALSA: pxa27x: fix ac97 cold reset
        ASoC: wm_adsp: Ensure that block writes are from DMA aligned addresses
        ASoC: wm2000: Fix sense of speech clarity enable
        ASoC: wm5100: Remove DSP B and left justified formats
        ASoC: arizona: Remove DSP B and left justified AIF modes
        ASoC: wm2200: Remove DSP B and left justified AIF modes
        ASoC: wm5102: Improve speaker enable performance
        ASoC: core: fix the memory leak in case of remove_aux_dev()
        ASoC: core: fix the memory leak in case of device_add() failure
        ASoC: cs42l52: Catch no-match case in cs42l52_get_clk
        ASoC: lm49453: Update lm49453_reg_defs values as per LM49453 HW revision-B
        ASoC: lm49453: Fix adc, mic and sidetone volume ranges
        ASoC: arizona: Correct FLL source definitions
        ...
      9bbcbad4
    • Liu Bo's avatar
      tracing: Fix regression of trace_pipe · 250bfd3d
      Liu Bo authored
      Commit 0fb9656d "tracing: Make tracing_enabled be equal to tracing_on"
      changes the behaviour of trace_pipe, ie. it makes trace_pipe return if
      we've read something and tracing is enabled, and this means that we have
      to 'cat trace_pipe' again and again while running tests.
      
      IMO the right way is if tracing is enabled, we always block and wait for
      ring buffer, or we may lose what we want since ring buffer's size is limited.
      
      Link: http://lkml.kernel.org/r/1358132051-5410-1-git-send-email-bo.li.liu@oracle.com
      
      
      
      Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      250bfd3d
    • Linus Torvalds's avatar
      Merge tag 'staging-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b87fc3e6
      Linus Torvalds authored
      
      
      Pull staging fixes from Greg Kroah-Hartman:
       "Here are a number of small fixes to staging drivers for your 3.8-rc3
        tree.
      
        Well, the omapdrm fixes aren't really "small" but they were waiting on
        a number of other drm patches to go in through the drm tree, and got
        delayed by my vacation over the holidays.  They are totally
        self-contained, everyone involved have acked them, and they fix issues
        that people have been having with the driver.
      
        Other than that one, it's a bunch of tiny bugfixes for a number of
        reported issues.
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org&gt;">
      
      * tag 'staging-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (36 commits)
        staging: zram: fix invalid memory references during disk write
        staging: tidspbridge: use prepare/unprepare on dsp clocks
        staging: tidspbridge: Fix build breakage due to splitting CM functions.
        staging: comedi: comedi_test: fix race when cancelling command
        staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC
        staging: comedi: prevent auto-unconfig of manually configured devices
        staging: comedi: fix minimum AO period for NI 625x and NI 628x
        staging: vme_pio2: fix oops on module unloading
        staging: speakup: avoid out-of-range access in synth_add()
        staging: speakup: avoid out-of-range access in synth_init()
        staging: rtl8192e: Fix failure to check pci_map_single()
        staging: rtl8187se: Fix failure to check pci_map_single()
        staging: drm/imx: fix double free bug in error path
        staging: drm/imx: several bug fixes
        staging: drm/imx: check return value of ipu_reset()
        staging: drm/omap: fix flags in dma buf exporting
        staging: drm/omap: use omapdss low level API
        staging/fwserial: Update TODO file per reviewer comments
        staging/fwserial: Limit tx/rx to 1394-2008 spec maximum
        staging/fwserial: Refine Kconfig help text
        ...
      b87fc3e6
    • Linus Torvalds's avatar
      Merge tag 'usb-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 46fed0a5
      Linus Torvalds authored
      
      
      Pull USB fixes from Greg Kroah-Hartman:
       "Here are a bunch of USB fixes for your 3.8-rc3 tree.  They all either
        fix problems that have been reported (like the xhci/hub changes) or
        add new device ids to existing drivers.
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org&gt;">
      
      * tag 'usb-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (39 commits)
        usb: ftdi_sio: Crucible Technologies COMET Caller ID - pid added
        usb: host: ohci-tmio: fix compile warning
        USB: Add device quirk for Microsoft VX700 webcam
        USB: ehci-fsl: fix regression on mpc5121e
        usb: chipidea: Allow disabling streaming not only in udc mode
        USB: fsl-mph-dr-of: fix regression on mpc5121e
        USB: select USB_ARCH_HAS_EHCI for MXS
        USB: hub: handle claim of enabled remote wakeup after reset
        USB: cdc-acm: Add support for "PSC Scanning, Magellan 800i"
        USB: option: add Nexpring NP10T terminal id
        USB: option: add Telekom Speedstick LTE II
        USB: option: blacklist network interface on ZTE MF880
        usb: imx21-hcd: Include missing linux/module.h
        USB: option: Add new MEDIATEK PID support
        USB: ehci: make debug port in-use detection functional again
        USB: usbtest: fix test number in log message
        xhci: Avoid "dead ports", add roothub port polling.
        USB: Handle warm reset failure on empty port.
        USB: Ignore port state until reset completes.
        USB: Increase reset timeout.
        ...
      46fed0a5
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 3441f0d2
      Linus Torvalds authored
      
      
      Pull driver core fixes from Greg Kroah-Hartman:
       "Here are two patches for 3.8-rc3.
      
        One removes the __dev* defines from init.h now that all usages of it
        are gone from your tree.  The other fix is for debugfs's paramater
        that was using the wrong base for the option.
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org&gt;">
      
      * tag 'driver-core-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        debugfs: convert gid= argument from decimal, not octal
        Remove __dev* markings from init.h
      3441f0d2
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6a0e2ca
      Linus Torvalds authored
      
      
      Pull char/misc fix from Greg Kroah-Hartman:
       "Here is a single fix for the mei driver that resolves a reported
        issue.
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org&gt;">
      
      * tag 'char-misc-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        mei: fix mismatch in mutex unlock-lock in mei_amthif_read()
      f6a0e2ca
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 7f1825da
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too astounding
      
         - nouveau: bunch of regression fixes and oops fixes
         - radeon: UMS fixes, rn50 fix, dma fix
         - udl: fix EDID retrieval for large EDIDs."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        udldrmfb: udl_get_edid: drop unneeded i--
        udldrmfb: udl_get_edid: usb_control_msg buffer must not be on the stack
        udldrmfb: Fix EDID not working with monitors with EDID extension blocks
        drm/nvc0/fb: fix crash when different mutex is used to protect same list
        drm/nouveau/clock: fix support for more than 2 monitors on nve0
        drm/nv50/disp: fix selection of bios script for analog outputs
        drm/nv17-50: restore fence buffer on resume
        drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards
        drm/nouveau: fix nouveau_client allocation failure path
        drm/nouveau: don't return freed object from nouveau_handle_create
        drm/nouveau/vm: fix memory corruption when pgt allocation fails
        drm/nouveau: add locking around instobj list operations
        drm/nouveau: do not forcibly power on lvds panels
        drm/nouveau/devinit: ensure legacy vga control is enabled during post
        radeon/kms: fix dma relocation checking
        radeon/kms: force rn50 chip to always report connected on analog output
        drm/radeon: fix error path in kpage allocation
        drm/radeon: fix a bogus kfree
        drm/radeon: fix NULL pointer dereference in UMS mode
      7f1825da
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6843cc0e
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix regression allowing IP_TTL setting of zero, fix from Cong Wang.
      
       2) Fix leak regressions in tunap, from Jason Wang.
      
       3) be2net driver always returns IRQ_HANDLED in INTx handler, fix from
          Sathya Perla.
      
       4) qlge doesn't really support NETIF_F_TSO6, don't set that flag.  Fix
          from Amerigo Wang.
      
       5) Add 802.11ad Atheros wil6210 driver, from Vladimir Kondratiev.
      
       6) Fix MTU calculations in mac80211 layer, from T Krishna Chaitanya.
      
       7) Station info layer of mac80211 needs to use del_timer_sync(), from
          Johannes Berg.
      
       8) tcp_read_sock() can loop forever, because we don't immediately stop
          when recv_actor() returns zero.  Fix from Eric Dumazet.
      
       9) Fix WARN_ON() in tcp_cleanup_rbuf().  We have to use sk_eat_skb() in
          tcp_recv_skb() to handle the case where a large GRO packet is split
          up while it is use by a splice() operation.  Fix also from Eric
          Dumazet.
      
      10) addrconf_get_prefix_route() in ipv6 tests flags incorrectly, it
          does:
      
              if (X && (p->flags & Y) != 0)
      
          when it really meant to go:
      
              if (X && (p->flags & X) != 0)
      
          fix from Romain Kuntz.
      
      11) Fix lost Kconfig dependency for bfin_mac driver hardware
          timestamping.  From Lars-Peter Clausen.
      
      12) Fix regression in handling of RST without ACK in TCP, from Eric
          Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (37 commits)
        be2net: fix unconditionally returning IRQ_HANDLED in INTx
        tuntap: fix leaking reference count
        tuntap: forbid calling TUNSETIFF when detached
        tuntap: switch to use rtnl_dereference()
        net, wireless: overwrite default_ethtool_ops
        qlge: remove NETIF_F_TSO6 flag
        tcp: accept RST without ACK flag
        net: ethernet: xilinx: Do not use NO_IRQ in axienet
        net: ethernet: xilinx: Do not use axienet on PPC
        bnx2x: Allow management traffic after boot from SAN
        bnx2x: Fix fastpath structures when memory allocation fails
        bfin_mac: Restore hardware time-stamping dependency on BF518
        tun: avoid owner checks on IFF_ATTACH_QUEUE
        bnx2x: move debugging code before the return
        tuntap: refuse to re-attach to different tun_struct
        ipv6: use addrconf_get_prefix_route for prefix route lookup [v2]
        ipv6: fix the noflags test in addrconf_get_prefix_route
        tcp: fix splice() and tcp collapsing interaction
        tcp: splice: fix an infinite loop in tcp_read_sock()
        net: prevent setting ttl=0 via IP_TTL
        ...
      6843cc0e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 7c8284c3
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Add finit_module syscall entry.
      
       2) Remove stray __dev{init,exit} references, from Sam Ravnborg.
      
      Fix up conflicts in the sparc PCI code due to whitespace differences in
      the __dev{init,exit} removal (which also came in through Greg).
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: remove __devinit, __devexit annotations
        sparc: Hook up finit_module syscall.
      7c8284c3
  3. Jan 14, 2013
  4. Jan 13, 2013