1. 16 Jan, 2013 4 commits
    • Linus Torvalds's avatar
      Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2409c873
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "This is mainly a workaround for a bug in Sandy Bridge graphics which
        causes corruption of certain memory pages."
      
      * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/Sandy Bridge: Sandy Bridge workaround depends on CONFIG_PCI
        x86/Sandy Bridge: mark arrays in __init functions as __initconst
        x86/Sandy Bridge: reserve pages when integrated graphics is present
        x86, efi: correct precedence of operators in setup_efi_pci
      2409c873
    • Timur Tabi's avatar
      MAINTAINERS: update email address for Timur Tabi · c4ef9bc4
      Timur Tabi authored
      Timur Tabi no longer works for Freescale, so update the email address
      and status for all of his maintained projects.
      
      Also mark the QE library as orphaned, for lack of interest in
      maintaining it.
      
      The CS4270 driver is marked as "Odd Fixes" because appropriate hardware
      is no longer available.
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c4ef9bc4
    • Luciano Coelho's avatar
      firmware: make sure the fw file size is not 0 · 4adf07fb
      Luciano Coelho authored
      If the requested firmware file size is 0 bytes in the filesytem, we
      will try to vmalloc(0), which causes a warning:
      
        vmalloc: allocation failure: 0 bytes
        kworker/1:1: page allocation failure: order:0, mode:0xd2
          __vmalloc_node_range+0x164/0x208
          __vmalloc_node+0x4c/0x58
          vmalloc+0x38/0x44
          _request_firmware_load+0x220/0x6b0
          request_firmware+0x64/0xc8
          wl18xx_setup+0xb4/0x570 [wl18xx]
          wlcore_nvs_cb+0x64/0x9f8 [wlcore]
          request_firmware_work_func+0x94/0x100
          process_one_work+0x1d0/0x750
          worker_thread+0x184/0x4ac
          kthread+0xb4/0xc0
      
      To fix this, check whether the file size is less than or equal to zero
      in fw_read_file_contents().
      
      Cc: stable <stable@vger.kernel.org> [3.7]
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      Acked-by: default avatarMing Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4adf07fb
    • 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/1420814Signed-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. 15 Jan, 2013 7 commits
  3. 14 Jan, 2013 16 commits
    • 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.comSigned-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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * 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
    • Stephen Warren's avatar
      ARM: dts: prevent *.dtb from always being rebuilt · 1ab36812
      Stephen Warren authored
      if_changed (used by the *.dts->*.dtc rule) rebuilds files if they aren't
      contained in $(targets). (make V=2 indicates this). Add $(dtb-y) to
      $(targets) to prevent *.dtb from always being rebuilt.
      
      This fixes a regression introduced by the .dtb rule rework in 499cd829
      "ARM: dt: change .dtb build rules to build in dts directory".
      Reported-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      1ab36812
    • Stephen Warren's avatar
      arm64: dts: prevent *.dtb from always being rebuilt · d0b6a548
      Stephen Warren authored
      if_changed (used by the *.dts->*.dtc rule) rebuilds files if they aren't
      contained in $(targets). (make V=2 indicates this). Add $(dtb-y) to
      $(targets) to prevent *.dtb from always being rebuilt. Note
      
      This fixes a regression introduced by the .dtb rule rework in da4cbc6
      "arm64: use new common dtc rule", although since arm64 doesn't actually
      have any *.dts yet, this isn't a critical issue.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      d0b6a548
    • H. Peter Anvin's avatar
      x86/Sandy Bridge: Sandy Bridge workaround depends on CONFIG_PCI · e43b3cec
      H. Peter Anvin authored
      early_pci_allowed() and read_pci_config_16() are only available if
      CONFIG_PCI is defined.
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      e43b3cec
    • H. Peter Anvin's avatar
      x86/Sandy Bridge: mark arrays in __init functions as __initconst · ab3cd867
      H. Peter Anvin authored
      Mark static arrays as __initconst so they get removed when the init
      sections are flushed.
      Reported-by: default avatarMathias Krause <minipli@googlemail.com>
      Link: http://lkml.kernel.org/r/75F4BEE6-CB0E-4426-B40B-697451677738@googlemail.comSigned-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      ab3cd867
    • Nitin Gupta's avatar
      staging: zram: fix invalid memory references during disk write · 397c6066
      Nitin Gupta authored
      Fixes a bug introduced by commit c8f2f0db ("zram: Fix handling
      of incompressible pages") which caused invalid memory references
      during disk write. Invalid references could occur in two cases:
       - Incoming data expands on compression: In this case, reference was
      made to kunmap()'ed bio page.
       - Partial (non PAGE_SIZE) write with incompressible data: In this
      case, reference was made to a kfree()'ed buffer.
      
      Fixes bug 50081:
      https://bugzilla.kernel.org/show_bug.cgi?id=50081Signed-off-by: default avatarNitin Gupta <ngupta@vflare.org>
      Cc: stable <stable@vger.kernel.org>
      Reported-by: default avatarMihail Kasadjikov <hamer.mk@gmail.com>
      Reported-by: default avatarTomas M <tomas@slax.org>
      Reviewed-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      397c6066
  4. 13 Jan, 2013 13 commits