05 Aug, 2013

1 commit


29 Jul, 2013

1 commit

  • …/linusw/linux-pinctrl

    Pull pin control fixes from Linus Walleij:
    - Driver fixes for AM33xx, SIRF and PFC pin controllers
    - Fix a compile warning from the pinctrl single-register driver
    - Fix a little nasty memory leak

    * tag 'pinctrl-for-v3.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl: fix a memleak when freeing maps
    pinctrl: pinctrl-single: fix compile warning when no CONFIG_PM
    pinctrl: sh-pfc: fix SDHI0 VccQ regulator on sh73a0 with DT
    arm/dts: sirf: fix the pingroup name mismatch between drivers and dts
    pinctrl: sirf: add usp0_uart_nostreamctrl pin group for usp-uart without flowctrl
    pinctrl: sirf: fix the pin number and mux bit for usp0
    pinctrl: am33xx dt binding: correct include path

    Linus Torvalds
     

27 Jul, 2013

4 commits

  • Pull ACPI and power management fixes from Rafael Wysocki:
    "These are just two fixes, a revert of the would-be backlight fix that
    didn't work and an intel_pstate fix for two problems related to
    maximum P-state selection.

    Specifics:

    - Revert of the ACPI video commit that I hoped would help fix
    backlight problems related to Windows 8 compatibility on some
    systems. Unfortunately, it turned out to cause problems to happen
    too.

    - Fix for two problems in intel_pstate, a possible failure to respond
    to a load change on a quiet system and a possible failure to select
    the highest available P-state on some systems. From Dirk
    Brandewie"

    * tag 'pm+acpi-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPI / video / i915: No ACPI backlight if firmware expects Windows 8"
    cpufreq / intel_pstate: Change to scale off of max P-state

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "This is a largeish batch of fixes, mostly because I missed -rc2 due to
    travel/vacation. So in number these are a bit more than ideal unless
    you amortize them over two -rcs.

    Quick breakdown:
    - Defconfig updates
    - Making multi_v7_defconfig useful on more hardware to encourage
    single-image usage
    - Davinci and nomadik updates due to new code merged this merge
    window
    - Fixes for UART on Samsung platforms, both PM and clock-related
    - A handful of warning fixes from defconfig builds, including for
    max8925 backlight and pxamci (both with appropriate acks)
    - Exynos5440 fixes for LPAE configuration, PM
    - ...plus a bunch of other smaller changes all over the place

    I expect to switch to regressions-or-severe-bugs-only fixes from here
    on out"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
    mfd: max8925: fix dt code for backlight
    ARM: omap5: Only select errata 798181 if SMP
    ARM: EXYNOS: Update CONFIG_ARCH_NR_GPIO for Exynos
    ARM: EXYNOS: Fix low level debug support
    ARM: SAMSUNG: Save/restore only selected uart's registers
    ARM: SAMSUNG: Add SAMSUNG_PM config option to select pm
    ARM: S3C24XX: Add missing clkdev entries for s3c2440 UART
    ARM: multi_v7_defconfig: Select USB chipidea driver
    ARM: pxa: propagate errors from regulator_enable() to pxamci
    ARM: zynq: fix compilation warning
    ARM: keystone: fix compilation warning
    ARM: highbank: Only touch common coherency control register fields
    ARM: footbridge: fix overlapping PCI mappings
    dmaengine: shdma: fix a build failure on platforms with no DMA support
    ARM: STi: Set correct ARM ERRATAs.
    ARM: dts: STi: Fix pinconf setup for STiH416 serial2
    ARM: nomadik: configure for NO_HZ and HRTIMERS
    ARM: nomadik: update defconfig base
    ARM: nomadik: Update MMC defconfigs
    ARM: davinci: defconfig: enable EDMA driver
    ...

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a number of USB fixes for 3.11-rc3.

    Lots of little things, nothing major. A number of new device ids,
    build fixes for DMA, and a bunch of other minor things. All of these
    have been in the linux-next tree"

    * tag 'usb-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (40 commits)
    usb: Clear both buffers when clearing a control transfer TT buffer.
    usb/gadget: free opts struct on error recovery
    USB: mos7840: fix memory leak in open
    usb: serial: option.c: remove ONDA MT825UP product ID fromdriver
    usb: serial: option: add Olivetti Olicard 200
    usb: serial: option: blacklist ONDA MT689DC QMI interface
    xhci: fix null pointer dereference on ring_doorbell_for_active_rings
    usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with xhci 1.0
    usb: fix build warning in pci-quirks.h when CONFIG_PCI is not enabled
    usb: xhci: Mark two functions __maybe_unused
    xhci: Avoid NULL pointer deref when host dies.
    usb: serial: option: Add ONYX 3G device support
    USB: ti_usb_3410_5052: fix dynamic-id matching
    usb: option: add TP-LINK MA260
    USB: option: add D-Link DWM-152/C1 and DWM-156/C1
    USB: EHCI: Fix resume signalling on remote wakeup
    USB: cp210x: add MMB and PI ZigBee USB Device Support
    usb: cp210x support SEL C662 Vendor/Device
    USB: option: append Petatel NP10T device to GSM modems list
    USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga
    ...

    Linus Torvalds
     
  • Pull libata fixes from Tejun Heo:
    "Assorted libata updates.

    The most critical one is a fix for ahci oops during boot. Also, a new
    smallish platform ahci driver is added and sata_inic162x is marked
    clearly as experimental (it whines during boot too) as data corruption
    seems rather common on the device and it's unlikely to get any love in
    the foreseeable future. If the whining doesn't draw any attention, I
    think we'd probably be better of making the driver depend on BROKEN in
    a couple releases"

    This is v2 of this pull request with fixed dependencies for ahci_imx.

    * 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ahci_imx: depend on CONFIG_MFD_SYSCON
    ahci_imx: add ahci sata support on imx platforms
    ARM: imx6q: update the sata bits definitions of gpr13
    ahci: fix Null pointer dereference in achi_host_active()
    libata: make it clear that sata_inic162x is experimental
    libata: replace strict_strtol() with kstrtol()
    ata: Fix DVD not dectected at some platform with Wellsburg PCH

    Linus Torvalds
     

26 Jul, 2013

1 commit

  • We attempted to address a regression introduced by commit a57f7f9
    (ACPICA: Add Windows8/Server2012 string for _OSI method.) after which
    ACPI video backlight support doesn't work on a number of systems,
    because the relevant AML methods in the ACPI tables in their BIOSes
    become useless after the BIOS has been told that the OS is compatible
    with Windows 8. That problem is tracked by the bug entry at:

    https://bugzilla.kernel.org/show_bug.cgi?id=51231

    Commit 8c5bd7a (ACPI / video / i915: No ACPI backlight if firmware
    expects Windows 8) introduced for this purpose essentially prevented
    the ACPI backlight support from being used if the BIOS had been told
    that the OS was compatible with Windows 8 and the i915 driver was
    loaded, in which case the backlight would always be handled by i915.
    Unfortunately, however, that turned out to cause problems with
    backlight to appear on multiple systems with symptoms indicating that
    i915 was unable to control the backlight on those systems as
    expected.

    For this reason, revert commit 8c5bd7a, but leave the function
    acpi_video_backlight_quirks() introduced by it, because another
    commit on top of it uses that function.

    References: https://lkml.org/lkml/2013/7/21/119
    References: https://lkml.org/lkml/2013/7/22/261
    References: https://lkml.org/lkml/2013/7/23/429
    References: https://lkml.org/lkml/2013/7/23/459
    References: https://lkml.org/lkml/2013/7/23/81
    References: https://lkml.org/lkml/2013/7/24/27
    Reported-and-tested-by: James Hogan
    Reported-and-tested-by: Kamal Mostafa
    Reported-and-tested-by: Jörg Otte
    Reported-and-tested-by: Steven Newbury
    Reported-by: Martin Steigerwald
    Reported-by: Kalle Valo
    Tested-by: Joerg Platte
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

25 Jul, 2013

2 commits

  • Pull crypto fixes from Herbert Xu:
    "This push fixes a memory corruption issue in caam, as well as
    reverting the new optimised crct10dif implementation as it breaks boot
    on initrd systems.

    Hopefully crct10dif will be reinstated once the supporting code is
    added so that it doesn't break boot"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    Revert "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework"
    crypto: caam - Fixed the memory out of bound overwrite issue

    Linus Torvalds
     
  • Replace the SATA_PHY_# by the more readable definitons.

    tj: Being routed through libata branch to enable implementation of
    ahci_imx.

    Signed-off-by: Richard Zhu
    Acked-by: Shawn Guo
    Signed-off-by: Tejun Heo

    Richard Zhu
     

24 Jul, 2013

5 commits

  • This reverts commits
    67822649d7305caf3dd50ed46c27b99c94eff996
    39761214eefc6b070f29402aa1165f24d789b3f7
    0b95a7f85718adcbba36407ef88bba0a7379ed03
    31d939625a9a20b1badd2d4e6bf6fd39fa523405
    2d31e518a42828df7877bca23a958627d60408bc

    Unfortunately this change broke boot on some systems that used an
    initrd which does not include the newly created crct10dif modules.
    As these modules are required by sd_mod under certain configurations
    this is a serious problem.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Pull EDAC fix from Tony Luck:
    "Fix EDAC lockdep splat"

    * tag 'please-pull-bp-edac' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
    EDAC: Fix lockdep splat

    Linus Torvalds
     
  • Fix the following:

    BUG: key ffff88043bdd0330 not in .data!
    ------------[ cut here ]------------
    WARNING: at kernel/lockdep.c:2987 lockdep_init_map+0x565/0x5a0()
    DEBUG_LOCKS_WARN_ON(1)
    Modules linked in: glue_helper sb_edac(+) edac_core snd acpi_cpufreq lrw gf128mul ablk_helper iTCO_wdt evdev i2c_i801 dcdbas button cryptd pcspkr iTCO_vendor_support usb_common lpc_ich mfd_core soundcore mperf processor microcode
    CPU: 2 PID: 599 Comm: modprobe Not tainted 3.10.0 #1
    Hardware name: Dell Inc. Precision T3600/0PTTT9, BIOS A08 01/24/2013
    0000000000000009 ffff880439a1d920 ffffffff8160a9a9 ffff880439a1d958
    ffffffff8103d9e0 ffff88043af4a510 ffffffff81a16e11 0000000000000000
    ffff88043bdd0330 0000000000000000 ffff880439a1d9b8 ffffffff8103dacc
    Call Trace:
    dump_stack
    warn_slowpath_common
    warn_slowpath_fmt
    lockdep_init_map
    ? trace_hardirqs_on_caller
    ? trace_hardirqs_on
    debug_mutex_init
    __mutex_init
    bus_register
    edac_create_sysfs_mci_device
    edac_mc_add_mc
    sbridge_probe
    pci_device_probe
    driver_probe_device
    __driver_attach
    ? driver_probe_device
    bus_for_each_dev
    driver_attach
    bus_add_driver
    driver_register
    __pci_register_driver
    ? 0xffffffffa0010fff
    sbridge_init
    ? 0xffffffffa0010fff
    do_one_initcall
    load_module
    ? unset_module_init_ro_nx
    SyS_init_module
    tracesys
    ---[ end trace d24a70b0d3ddf733 ]---
    EDAC MC0: Giving out device to 'sbridge_edac.c' 'Sandy Bridge Socket#0': DEV 0000:3f:0e.0
    EDAC sbridge: Driver loaded.

    What happens is that bus_register needs a statically allocated lock_key
    because the last is handed in to lockdep. However, struct mem_ctl_info
    embeds struct bus_type (the whole struct, not a pointer to it) and the
    whole thing gets dynamically allocated.

    Fix this by using a statically allocated struct bus_type for the MC bus.

    Signed-off-by: Borislav Petkov
    Acked-by: Mauro Carvalho Chehab
    Cc: Markus Trippelsdorf
    Cc: stable@kernel.org # v3.10
    Signed-off-by: Tony Luck

    Borislav Petkov
     
  • Pull cgroup changes from Tejun Heo:
    "This contains two patches, both of which aren't fixes per-se but I
    think it'd be better to fast-track them.

    One removes bcache_subsys_id which was added without proper review
    through the block tree. Fortunately, bcache cgroup code is
    unconditionally disabled, so this was never exposed to userland. The
    cgroup subsys_id is removed. Kent will remove the affected (disabled)
    code through bcache branch.

    The other simplifies task_group_path_from_hierarchy(). The function
    doesn't currently have in-kernel users but there are external code and
    development going on dependent on the function and making the function
    available for 3.11 would make things go smoother"

    * 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup: replace task_cgroup_path_from_hierarchy() with task_cgroup_path()
    cgroup: remove bcache_subsys_id which got added stealthily

    Linus Torvalds
     
  • The em_x270_mci_setpower() and em_x270_usb_hub_init() functions
    call regulator_enable(), which may return an error that must
    be checked.

    This changes the em_x270_usb_hub_init() function to bail out
    if it fails, and changes the pxamci_platform_data->setpower
    callback so that the a failed em_x270_mci_setpower call
    can be propagated by the pxamci driver into the mmc core.

    Signed-off-by: Arnd Bergmann
    Cc: Mike Rapoport
    Cc: Paul Gortmaker
    Cc: Mark Brown
    Cc: Haojian Zhuang
    Acked-by: Chris Ball
    [olof: fixed order of regulator_enable() and test in em_x270_usb_hub_init]
    Signed-off-by: Olof Johansson

    Arnd Bergmann
     

23 Jul, 2013

4 commits

  • From Shawn Guo, imx fixes for 3.11:

    - A few device tree source fixes regarding pinctrl, clock, and pwm
    backlight.
    - Fixes imx28 and imx51 audio driver failure caused by sgtl5000 codec
    driver change by supplying the correct clock for codec.
    - imx6q emi_sel clock muxing and imx6q-iomuxc-gpr macro fixes

    * tag 'imx-fixes-3.11' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: dts: imx51-babbage: Pass a real clock to the codec
    ARM i.MX53: mba53: Fix PWM backlight DT node
    ARM: imx: fix vf610 enet module clock selection
    ARM: mxs: saif0 is the clock provider to sgtl5000
    ARM: i.MX6Q: correct emi_sel clock muxing
    ARM i.MX6Q: Fix IOMUXC GPR1 defines for ENET_CLK_SEL and IPU1/2_MUX
    ARM: i.MX27: Typo fix
    ARM: imx27: Fix documentation for SPLL clock
    ARM i.MX53: Fix UART pad configuration

    Olof Johansson
     
  • On platforms with no support for the shdma dmaengine driver build is
    currently failing with

    drivers/built-in.o: In function `sh_mobile_sdhi_probe':
    drivers/mmc/host/sh_mobile_sdhi.c:170: undefined reference to`shdma_chan_filter'

    Fix the breakage by defining shdma_chan_filter to NULL in such
    configurations.

    Signed-off-by: Guennadi Liakhovetski
    [horms+renesas@verge.net.au: Apply change to shdma-base.h instead of sh_dma.h]
    Signed-off-by: Simon Horman
    Signed-off-by: Olof Johansson

    Guennadi Liakhovetski
     
  • Pull tracing fixes and cleanups from Steven Rostedt:
    "This contains fixes, optimizations and some clean ups

    Some of the fixes need to go back to 3.10. They are minor, and deal
    mostly with incorrect ref counting in accessing event files.

    There was a couple of optimizations that should have perf perform a
    bit better when accessing trace events.

    And some various clean ups. Some of the clean ups are necessary to
    help in a fix to a theoretical race between opening a event file and
    deleting that event"

    * tag 'trace-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Kill the unbalanced tr->ref++ in tracing_buffers_open()
    tracing: Kill trace_array->waiter
    tracing: Do not (ab)use trace_seq in event_id_read()
    tracing: Simplify the iteration logic in f_start/f_next
    tracing: Add ref_data to function and fgraph tracer structs
    tracing: Miscellaneous fixes for trace_array ref counting
    tracing: Fix error handling to ensure instances can always be removed
    tracing/kprobe: Wait for disabling all running kprobe handlers
    tracing/perf: Move the PERF_MAX_TRACE_SIZE check into perf_trace_buf_prepare()
    tracing/syscall: Avoid perf_trace_buf_*() if sys_data->perf_events is empty
    tracing/function: Avoid perf_trace_buf_*() if event_function.perf_events is empty
    tracing: Typo fix on ring buffer comments
    tracing: Use trace_seq_puts()/trace_seq_putc() where possible
    tracing: Use correct config guard CONFIG_STACK_TRACER

    Linus Torvalds
     
  • Pull block IO driver bits from Jens Axboe:
    "As I mentioned in the core block pull request, due to real life
    circumstances the driver pull request would be late. Now it looks
    like -rc2 late... On the plus side, apart form the rsxx update, these
    are all things that I could argue could go in later in the cycle as
    they are fixes and not features. So even though things are late, it's
    not ALL bad.

    The pull request contains:

    - Updates to bcache, all bug fixes, from Kent.

    - A pile of drbd bug fixes (no big features this time!).

    - xen blk front/back fixes.

    - rsxx driver updates, some of them deferred form 3.10. So should be
    well cooked by now"

    * 'for-3.11/drivers' of git://git.kernel.dk/linux-block: (63 commits)
    bcache: Allocation kthread fixes
    bcache: Fix GC_SECTORS_USED() calculation
    bcache: Journal replay fix
    bcache: Shutdown fix
    bcache: Fix a sysfs splat on shutdown
    bcache: Advertise that flushes are supported
    bcache: check for allocation failures
    bcache: Fix a dumb race
    bcache: Use standard utility code
    bcache: Update email address
    bcache: Delete fuzz tester
    bcache: Document shrinker reserve better
    bcache: FUA fixes
    drbd: Allow online change of al-stripes and al-stripe-size
    drbd: Constants should be UPPERCASE
    drbd: Ignore the exit code of a fence-peer handler if it returns too late
    drbd: Fix rcu_read_lock balance on error path
    drbd: fix error return code in drbd_init()
    drbd: Do not sleep inside rcu
    bcache: Refresh usage docs
    ...

    Linus Torvalds
     

22 Jul, 2013

2 commits

  • Using #include is a bit odd. It happens to work because the DTC
    flags include -Iarch/FOO/boot/dts as well as arch/FOO/boot/dts/include and
    arch/FOO/boot/dts/include/dt-bindings is a symlink to include/dt-bindings.

    Signed-off-by: Ian Campbell
    Cc: Grant Likely
    Cc: Linus Walleij
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Linus Walleij

    Ian Campbell
     
  • Pull ACPI video support fixes from Rafael Wysocki:
    "I'm sending a separate pull request for this as it may be somewhat
    controversial. The breakage addressed here is not really new and the
    fixes may not satisfy all users of the affected systems, but we've had
    so much back and forth dance in this area over the last several weeks
    that I think it's time to actually make some progress.

    The source of the problem is that about a year ago we started to tell
    BIOSes that we're compatible with Windows 8, which we really need to
    do, because some systems shipping with Windows 8 are tested with it
    and nothing else, so if we tell their BIOSes that we aren't compatible
    with Windows 8, we expose our users to untested BIOS/AML code paths.

    However, as it turns out, some Windows 8-specific AML code paths are
    not tested either, because Windows 8 actually doesn't use the ACPI
    methods containing them, so if we declare Windows 8 compatibility and
    attempt to use those ACPI methods, things break. That occurs mostly
    in the backlight support area where in particular the _BCM and _BQC
    methods are plain unusable on some systems if the OS declares Windows
    8 compatibility.

    [ The additional twist is that they actually become usable if the OS
    says it is not compatible with Windows 8, but that may cause
    problems to show up elsewhere ]

    Investigation carried out by Matthew Garrett indicates that what
    Windows 8 does about backlight is to leave backlight control up to
    individual graphics drivers. At least there's evidence that it does
    that if the Intel graphics driver is used, so we've decided to follow
    Windows 8 in that respect and allow i915 to control backlight (Daniel
    likes that part).

    The first commit from Aaron Lu makes ACPICA export the variable from
    which we can infer whether or not the BIOS believes that we are
    compatible with Windows 8.

    The second commit from Matthew Garrett prepares the ACPI video driver
    by making it initialize the ACPI backlight even if it is not going to
    be used afterward (that is needed for backlight control to work on
    Thinkpads).

    The third commit implements the actual workaround making i915 take
    over backlight control if the firmware thinks it's dealing with
    Windows 8 and is based on the work of multiple developers, including
    Matthew Garrett, Chun-Yi Lee, Seth Forshee, and Aaron Lu.

    The final commit from Aaron Lu makes us follow Windows 8 by informing
    the firmware through the _DOS method that it should not carry out
    automatic brightness changes, so that brightness can be controlled by
    GUI.

    Hopefully, this approach will allow us to avoid using blacklists of
    systems that should not declare Windows 8 compatibility just to avoid
    backlight control problems in the future.

    - Change from Aaron Lu makes ACPICA export a variable which can be
    used by driver code to determine whether or not the BIOS believes
    that we are compatible with Windows 8.

    - Change from Matthew Garrett makes the ACPI video driver initialize
    the ACPI backlight even if it is not going to be used afterward
    (that is needed for backlight control to work on Thinkpads).

    - Fix from Rafael J Wysocki implements Windows 8 backlight support
    workaround making i915 take over bakclight control if the firmware
    thinks it's dealing with Windows 8. Based on the work of multiple
    developers including Matthew Garrett, Chun-Yi Lee, Seth Forshee,
    and Aaron Lu.

    - Fix from Aaron Lu makes the kernel follow Windows 8 by informing
    the firmware through the _DOS method that it should not carry out
    automatic brightness changes, so that brightness can be controlled
    by GUI"

    * tag 'acpi-video-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / video: no automatic brightness changes by win8-compatible firmware
    ACPI / video / i915: No ACPI backlight if firmware expects Windows 8
    ACPI / video: Always call acpi_video_init_brightness() on init
    ACPICA: expose OSI version

    Linus Torvalds
     

21 Jul, 2013

2 commits

  • Pull staging tree fixes from Greg KH:
    "Here are a few iio driver fixes for 3.11-rc2. They are still spread
    across drivers/iio and drivers/staging/iio so they are coming in
    through this tree.

    I've also removed the drivers/staging/csr/ driver as the developers
    who originally sent it to me have moved on to other companies, and CSR
    still will not send us the specs for the device, making the driver
    pretty much obsolete and impossible to fix up. Deleting it now
    prevents people from sending in lots of tiny codingsyle fixes that
    will never go anywhere.

    It also helps to offset the large lustre filesystem merge that
    happened in 3.11-rc1 in the overall 3.11.0 diffstat. :)"

    * tag 'staging-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: csr: remove driver
    iio: lps331ap: Fix wrong in_pressure_scale output value
    iio staging: fix lis3l02dq, read error handling
    staging:iio:ad7291: add missing .driver_module to struct iio_info
    iio: ti_am335x_adc: add missing .driver_module to struct iio_info
    iio: mxs-lradc: Remove useless check in read_raw
    iio: mxs-lradc: Fix misuse of iio->trig
    iio: inkern: fix iio_convert_raw_to_processed_unlocked
    iio: Fix iio_channel_has_info
    iio:trigger: device_unregister->device_del to avoid double free
    iio: dac: ad7303: fix error return code in ad7303_probe()

    Linus Torvalds
     
  • Pull vfs fixes from Al Viro:
    "The sget() one is a long-standing bug and will need to go into -stable
    (in fact, it had been originally caught in RHEL6), the other two are
    3.11-only"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    vfs: constify dentry parameter in d_count()
    livelock avoidance in sget()
    allow O_TMPFILE to work with O_WRONLY

    Linus Torvalds
     

20 Jul, 2013

3 commits

  • so that it can be used in places like d_compare/d_hash
    without causing a compiler warning.

    Signed-off-by: Peng Tao
    Signed-off-by: Al Viro

    Peng Tao
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Pull power management and ACPI fixes from Rafael Wysocki:
    "These are fixes collected over the last week, most importnatly two
    cpufreq reverts fixing regressions introduced in 3.10, an autoseelp
    fix preventing systems using it from crashing during shutdown and two
    ACPI scan fixes related to hotplug.

    Specifics:

    - Two cpufreq commits from the 3.10 cycle introduced regressions.
    The first of them was buggy (it did way much more than it needed to
    do) and the second one attempted to fix an issue introduced by the
    first one. Fixes from Srivatsa S Bhat revert both.

    - If autosleep triggers during system shutdown and the shutdown
    callbacks of some device drivers have been called already, it may
    crash the system. Fix from Liu Shuo prevents that from happening
    by making try_to_suspend() check system_state.

    - The ACPI memory hotplug driver doesn't clear its driver_data on
    errors which may cause a NULL poiter dereference to happen later.
    Fix from Toshi Kani.

    - The ACPI namespace scanning code should not try to attach scan
    handlers to device objects that have them already, which may
    confuse things quite a bit, and it should rescan the whole
    namespace branch starting at the given node after receiving a bus
    check notify event even if the device at that particular node has
    been discovered already. Fixes from Rafael J Wysocki.

    - New ACPI video blacklist entry for a system whose initial backlight
    setting from the BIOS doesn't make sense. From Lan Tianyu.

    - Garbage string output avoindance for ACPI PNP from Liu Shuo.

    - Two Kconfig fixes for issues introduced recently in the s3c24xx
    cpufreq driver (when moving the driver to drivers/cpufreq) from
    Paul Bolle.

    - Trivial comment fix in pm_wakeup.h from Chanwoo Choi"

    * tag 'pm+acpi-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / video: ignore BIOS initial backlight value for Fujitsu E753
    PNP / ACPI: avoid garbage in resource name
    cpufreq: Revert commit 2f7021a8 to fix CPU hotplug regression
    cpufreq: s3c24xx: fix "depends on ARM_S3C24XX" in Kconfig
    cpufreq: s3c24xx: rename CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
    PM / Sleep: Fix comment typo in pm_wakeup.h
    PM / Sleep: avoid 'autosleep' in shutdown progress
    cpufreq: Revert commit a66b2e to fix suspend/resume regression
    ACPI / memhotplug: Fix a stale pointer in error path
    ACPI / scan: Always call acpi_bus_scan() for bus check notifications
    ACPI / scan: Do not try to attach scan handlers to devices having them

    Linus Torvalds
     

19 Jul, 2013

5 commits

  • Pull networking fixes from David Miller:
    "A couple interesting SKB fragment handling fixes, plus the usual small
    bits here and there:

    1) Fix 64-bit divide build failure on 32-bit platforms in mlx5, from
    Tim Gardner.

    2) Get rid of a stupid reimplementation on "%*phC" in our sysfs MAC
    address printing helper.

    3) Fix NETIF_F_SG capability advertisement in hyperv driver, if the
    device can't do checksumming offloads then it shouldn't say it can
    do SG either. From Haiyang Zhang.

    4) bgmac needs to depend on PHYLIB, from Hauke Mehrtens.

    5) Don't leak DMA mappings on mapping failures, from Neil Horman.

    6) We need to reset the transport header of SKBs in ipv4 before we
    attempt to perform early socket demux, just like ipv6 does. From
    Eric Dumazet.

    7) Add missing locking on vxlan device removal, from Stephen
    Hemminger.

    8) xen-netfront has to make two passes over an SKB to prepare it for
    transfer. One pass calculates the number of slots needed, the
    second massages the SKB and fills the slots. Unfortunately, the
    first pass doesn't calculate the number of slots properly so we
    can end up trying to build a MAX_SKB_FRAGS + 1 SKB which doesn't
    work out so well. Fix from Jan Beulich with help and discussion
    with several others.

    9) Fix a similar problem in tun and macvtap, which have to split up
    scatter-gather elements at PAGE_SIZE boundaries. Don't do
    zerocopy if it would result in a > MAX_SKB_FRAGS skb. Fixes from
    Jason Wang.

    10) On receive, once we've decoded the VLAN state completely, clear
    skb->vlan_tci. Otherwise demuxed tunnels underneath can trigger
    the VLAN code again, corrupting the packet. Fix from Eric
    Dumazet"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    vlan: fix a race in egress prio management
    vlan: mask vlan prio bits
    macvtap: do not zerocopy if iov needs more pages than MAX_SKB_FRAGS
    tuntap: do not zerocopy if iov needs more pages than MAX_SKB_FRAGS
    pkt_sched: sch_qfq: remove a source of high packet delay/jitter
    xen-netfront: pull on receive skb may need to happen earlier
    vxlan: add necessary locking on device removal
    hyperv: Fix the NETIF_F_SG flag setting in netvsc
    net: Fix sysfs_format_mac() code duplication.
    be2net: Fix to avoid hardware workaround when not needed
    macvtap: do not assume 802.1Q when send vlan packets
    macvtap: fix the missing ret value of TUNSETQUEUE
    ipv4: set transport header earlier
    mlx5 core: Fix __udivdi3 when compiling for 32 bit arches
    bgmac: add dependency to phylib
    net/irda: fixed style issues in irlan_eth
    ethtool: fixed trailing statements in ethtool
    ndisc: bool initializations should use true and false
    atl1e: unmap partially mapped skb on dma error and free skb

    Linus Torvalds
     
  • Every perf_trace_buf_prepare() caller does
    WARN_ONCE(size > PERF_MAX_TRACE_SIZE, message) and "message" is
    almost the same.

    Shift this WARN_ONCE() into perf_trace_buf_prepare(). This changes
    the meaning of _ONCE, but I think this is fine.

    - 4947014 2932448 10104832 17984294 1126b26 vmlinux
    + 4948422 2932448 10104832 17985702 11270a6 vmlinux

    on my build.

    Link: http://lkml.kernel.org/r/20130617170211.GA19813@redhat.com

    Acked-by: Peter Zijlstra
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Steven Rostedt

    Oleg Nesterov
     
  • In commit 48cc32d38a52d0b68f91a171a8d00531edc6a46e
    ("vlan: don't deliver frames for unknown vlans to protocols")
    Florian made sure we set pkt_type to PACKET_OTHERHOST
    if the vlan id is set and we could find a vlan device for this
    particular id.

    But we also have a problem if prio bits are set.

    Steinar reported an issue on a router receiving IPv6 frames with a
    vlan tag of 4000 (id 0, prio 2), and tunneled into a sit device,
    because skb->vlan_tci is set.

    Forwarded frame is completely corrupted : We can see (8100:4000)
    being inserted in the middle of IPv6 source address :

    16:48:00.780413 IP6 2001:16d8:8100:4000:ee1c:0:9d9:bc87 >
    9f94:4d95:2001:67c:29f4::: ICMP6, unknown icmp6 type (0), length 64
    0x0000: 0000 0029 8000 c7c3 7103 0001 a0ae e651
    0x0010: 0000 0000 ccce 0b00 0000 0000 1011 1213
    0x0020: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223
    0x0030: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233

    It seems we are not really ready to properly cope with this right now.

    We can probably do better in future kernels :
    vlan_get_ingress_priority() should be a netdev property instead of
    a per vlan_dev one.

    For stable kernels, lets clear vlan_tci to fix the bugs.

    Reported-by: Steinar H. Gunderson
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Pull driver core patches from Greg KH:
    "Here are some driver core patches for 3.11-rc2. They aren't really
    bugfixes, but a bunch of new helper macros for drivers to properly
    create attribute groups, which drivers and subsystems need to fix up a
    ton of race issues with incorrectly creating sysfs files (binary and
    normal) after userspace has been told that the device is present.

    Also here is the ability to create binary files as attribute groups,
    to solve that race condition, which was impossible to do before this,
    so that's my fault the drivers were broken.

    The majority of the .c changes is indenting and moving code around a
    bit. It affects no existing code, but allows the large backlog of 70+
    patches that I already have created to start flowing into the
    different subtrees, instead of having to live in my driver-core tree,
    causing merge nightmares in linux-next for the next few months.

    These were finalized too late for the -rc1 merge window, which is why
    they were didn't make that pull request, testing and review from
    others didn't happen until a few weeks ago, and then there's the whole
    distraction of the past few days, which prevented these from getting
    to you sooner, sorry about that.

    Oh, and there's a bugfix for the documentation build warning in here
    as well. All of these have been in linux-next this week, with no
    reported problems"

    * tag 'driver-core-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    driver-core: fix new kernel-doc warning in base/platform.c
    sysfs: use file mode defines from stat.h
    sysfs: add more helper macro's for (bin_)attribute(_groups)
    driver core: add default groups to struct class
    driver core: Introduce device_create_groups
    sysfs: prevent warning when only using binary attributes
    sysfs: add support for binary attributes in groups
    driver core: device.h: add RW and RO attribute macros
    sysfs.h: add BIN_ATTR macro
    sysfs.h: add ATTRIBUTE_GROUPS() macro
    sysfs.h: add __ATTR_RW() macro

    Linus Torvalds
     
  • Pull phase two of __cpuinit removal from Paul Gortmaker:
    "With the __cpuinit infrastructure removed earlier, this group of
    commits only removes the function/data tagging that was done with the
    various (now no-op) __cpuinit related prefixes.

    Now that the dust has settled with yesterday's v3.11-rc1, there
    hopefully shouldn't be any new users leaking back in tree, but I think
    we can leave the harmless no-op stubs there for a release as a
    courtesy to those who still have out of tree stuff and weren't paying
    attention.

    Although the commits are against the recent tag to allow for minor
    context refreshes for things like yesterday's v3.11-rc1~ slab content,
    the patches have been largely unchanged for weeks, aside from such
    trivial updates.

    For detail junkies, the largely boring and mostly irrelevant history
    of the patches can be viewed at:

    http://git.kernel.org/cgit/linux/kernel/git/paulg/cpuinit-delete.git

    If nothing else, I guess it does at least demonstrate the level of
    involvement required to shepherd such a treewide change to completion.

    This is the same repository of patches that has been applied to the
    end of the daily linux-next branches for the past several weeks"

    * 'cpuinit_phase2' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (28 commits)
    block: delete __cpuinit usage from all block files
    drivers: delete __cpuinit usage from all remaining drivers files
    kernel: delete __cpuinit usage from all core kernel files
    rcu: delete __cpuinit usage from all rcu files
    net: delete __cpuinit usage from all net files
    acpi: delete __cpuinit usage from all acpi files
    hwmon: delete __cpuinit usage from all hwmon files
    cpufreq: delete __cpuinit usage from all cpufreq files
    clocksource+irqchip: delete __cpuinit usage from all related files
    x86: delete __cpuinit usage from all x86 files
    score: delete __cpuinit usage from all score files
    xtensa: delete __cpuinit usage from all xtensa files
    openrisc: delete __cpuinit usage from all openrisc files
    m32r: delete __cpuinit usage from all m32r files
    hexagon: delete __cpuinit usage from all hexagon files
    frv: delete __cpuinit usage from all frv files
    cris: delete __cpuinit usage from all cris files
    metag: delete __cpuinit usage from all metag files
    tile: delete __cpuinit usage from all tile files
    sh: delete __cpuinit usage from all sh files
    ...

    Linus Torvalds
     

18 Jul, 2013

2 commits

  • According to Matthew Garrett, "Windows 8 leaves backlight control up
    to individual graphics drivers rather than making ACPI calls itself.
    There's plenty of evidence to suggest that the Intel driver for
    Windows [8] doesn't use the ACPI interface, including the fact that
    it's broken on a bunch of machines when the OS claims to support
    Windows 8. The simplest thing to do appears to be to disable the
    ACPI backlight interface on these systems".

    There's a problem with that approach, however, because simply
    avoiding to register the ACPI backlight interface if the firmware
    calls _OSI for Windows 8 may not work in the following situations:
    (1) The ACPI backlight interface actually works on the given system
    and the i915 driver is not loaded (e.g. another graphics driver
    is used).
    (2) The ACPI backlight interface doesn't work on the given system,
    but there is a vendor platform driver that will register its
    own, equally broken, backlight interface if not prevented from
    doing so by the ACPI subsystem.
    Therefore we need to allow the ACPI backlight interface to be
    registered until the i915 driver is loaded which then will unregister
    it if the firmware has called _OSI for Windows 8 (or will register
    the ACPI video driver without backlight support if not already
    present).

    For this reason, introduce an alternative function for registering
    ACPI video, acpi_video_register_with_quirks(), that will check
    whether or not the ACPI video driver has already been registered
    and whether or not the backlight Windows 8 quirk has to be applied.
    If the quirk has to be applied, it will block the ACPI backlight
    support and either unregister the backlight interface if the ACPI
    video driver has already been registered, or register the ACPI
    video driver without the backlight interface otherwise. Make
    the i915 driver use acpi_video_register_with_quirks() instead of
    acpi_video_register() in i915_driver_load().

    This change is based on earlier patches from Matthew Garrett,
    Chun-Yi Lee and Seth Forshee and includes a fix from Aaron Lu's.

    References: https://bugzilla.kernel.org/show_bug.cgi?id=51231
    Tested-by: Aaron Lu
    Tested-by: Igor Gnatenko
    Tested-by: Yves-Alexis Perez
    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Aaron Lu
    Acked-by: Matthew Garrett

    Rafael J. Wysocki
     
  • Expose acpi_gbl_osi_data so that code outside of ACPICA can check
    the value of the last successfull _OSI call. The definitions for
    OSI versions are moved to actypes.h so that other components can
    access them too.

    Based on a patch from Matthew Garrett which in turn was based on
    an earlier patch from Seth Forshee.

    [rjw: Changelog]
    Signed-off-by: Aaron Lu
    Signed-off-by: Rafael J. Wysocki

    Aaron Lu
     

17 Jul, 2013

8 commits

  • …/jic23/iio into staging-linus

    Jonathan writes:

    The first round of IIO fixes for the 3.11 cycle.

    This set is larger than I would like, partly due to my lack of review
    time in the weeks before the merge window and partly because a
    couple of large drivers and the subsystem as a whole seem to be
    getting a lot more exposure and testing recently.

    1) A long term bug in trigger handling gave a double free of the device.

    2) Wrong return value handling means offsets are ignored in
    iio_convert_raw_to_processed_unlocked.

    3) The iio_channel_has_info utility function was incorrectly updated
    during the recent info_mask split, this is now fixed.

    4) mxs-lradc has a couple of little fixes.

    5) A couple of missing .driver_module entries meant that drivers
    could be removed from underneath their users.

    6) Error path fixes for ad7303 and lis3l02dq.

    7) The scale value for presure in the lps331ap driver was out by
    a factor of 100.

    Greg Kroah-Hartman
     
  • __list_for_each used to be the non prefetch() aware list walking
    primitive. When we removed the prefetch macros from the list routines,
    it became redundant. Given it does exactly the same thing as
    list_for_each now, we might as well remove it and call list_for_each
    directly.

    All users of __list_for_each have been converted to list_for_each calls
    in the current merge window.

    Signed-off-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • The USB_MAXCHILDREN symbol is used in include/uapi/linux/usb/ch11.h, a
    user-mode header, even though it is defined in include/linux/usb.h,
    which is kernel-only. This causes compile-time errors when user
    programs try to #include linux/usb/ch11.h.

    This patch fixes the problem by moving the definition of USB_MAXCHILDREN
    into ch11.h. It also gets rid of unneeded parentheses.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • With the last patches stat.h was included to the header, and thus those
    permission defines should be used.

    Signed-off-by: Oliver Schinagl
    Signed-off-by: Greg Kroah-Hartman

    Oliver Schinagl
     
  • With the recent changes to sysfs there's various helper macro's.
    However there's no RW, RO BIN_ helper macro's. This patch adds them.

    Signed-off-by: Oliver Schinagl
    Signed-off-by: Greg Kroah-Hartman

    Oliver Schinagl
     
  • We should be using groups, not attribute lists, for classes to allow
    subdirectories, and soon, binary files. Groups are just more flexible
    overall, so add them.

    The dev_attrs list will go away after all in-kernel users are converted
    to use dev_groups.

    Reviewed-by: Guenter Roeck
    Tested-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • device_create_groups lets callers create devices as well as associated
    sysfs attributes with a single call. This avoids race conditions seen
    if sysfs attributes on new devices are created later.

    [fixed up comment block placement and add checks for printk buffer
    formats - gregkh]

    Signed-off-by: Guenter Roeck
    Cc: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • groups should be able to support binary attributes, just like it
    supports "normal" attributes. This lets us only handle one type of
    structure, groups, throughout the driver core and subsystems, making
    binary attributes a "full fledged" part of the driver model, and not
    something just "tacked on".

    Reported-by: Oliver Schinagl
    Reviewed-by: Guenter Roeck
    Tested-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman