18 Jan, 2015

3 commits

  • The commit 646cafc6 (clk: Change clk_ops->determine_rate to
    return a clk_hw as the best parent) opens a possibility for
    null pointer dereference, fix this.

    Signed-off-by: Stanimir Varbanov
    Reviewed-by: Stephen Boyd
    Signed-off-by: Michael Turquette

    Stanimir Varbanov
     
  • This reverts commit da788acb28386aa896224e784954bb73c99ff26c.

    That commit tried to fix the section mismatch warning by moving the
    ppc_corenet_clk_driver struct to init section. This is definitely wrong
    because the kernel would free the memories occupied by this struct
    after boot while this driver is still registered in the driver core.
    The kernel would panic when accessing this driver struct.

    Cc: stable@vger.kernel.org # 3.17
    Signed-off-by: Kevin Hao
    Acked-by: Scott Wood
    Signed-off-by: Michael Turquette

    Kevin Hao
     
  • Lockdep reported a possible deadlock between the cpuclk lock and for example
    the i2c driver.

    CPU0 CPU1
    ---- ----
    lock(clk_lock);
    local_irq_disable();
    lock(&(&i2c->lock)->rlock);
    lock(clk_lock);

    lock(&(&i2c->lock)->rlock);

    *** DEADLOCK ***

    The generic clock-types of the core ccf already use spin_lock_irqsave when
    touching clock registers, so do the same for the cpuclk.

    Signed-off-by: Heiko Stuebner
    Reviewed-by: Doug Anderson
    Signed-off-by: Michael Turquette
    [mturquette@linaro.org: removed initialization of "flags"]

    Heiko Stübner
     

14 Jan, 2015

2 commits

  • The "smemc" clock is removed on BG2Q SoCs. In fact, bit19 of clkenable
    register is for nfc. Current code use bit19 for non-exist "smemc"
    incorrectly, this prevents eMMC from working due to the sdhci's
    "core" clk is still gated.

    Signed-off-by: Jisheng Zhang
    Cc: stable@vger.kernel.org # 3.16+
    Signed-off-by: Michael Turquette

    Jisheng Zhang
     
  • All slow clk users are not properly claiming it (get + prepare + enable)
    before using it.
    If all users properly claiming this clock release it, the clock is
    disabled, but faulty users still depends on it, and the system hangs.

    This fix prevents the slow clock from being disabled, and should solve the
    hanging issue, but offending drivers should be patched to properly claim
    this clock.

    Signed-off-by: Boris Brezillon
    Reported-by: Bo Shen
    Cc: stable@vger.kernel.org
    Signed-off-by: Michael Turquette

    Boris Brezillon
     

13 Jan, 2015

1 commit


29 Dec, 2014

2 commits

  • Commit 0e5bdb3f9fa5 (clk: rockchip: switch to using the new cpuclk type
    for armclk) didn't take into account that the divider used on rk3288
    are of the (n+1) type.

    The rk3066 and rk3188 socs use more complex divider types making it
    necessary for the list-elements to be the real register-values to write.

    Therefore reduce divider values in the table accordingly so that they
    really are the values that should be written to the registers and match
    the dividers actually specified for the rk3288.

    Reported-by: Sonny Rao
    Fixes: 0e5bdb3f9fa5 ("clk: rockchip: switch to using the new cpuclk type for armclk")
    Signed-off-by: Heiko Stuebner
    Reviewed-by: Doug Anderson
    Cc: stable@vger.kernel.org

    Heiko Stuebner
     
  • The bit locations indicating the locking status of the plls on rk3066 are
    shifted by one to the right when compared to the rk3188, bits [7:4] instead
    of [8:5] on the rk3188, thus indicating the locking state of the wrong pll
    or a completely different information in case of the gpll.

    The recently introduced pll init code exposed that problem on some rk3066
    boards when it tried to bring the boot-pll value in line with the value
    from the rate table.

    Fix this by defining separate pll definitions for rk3066 with the correct
    locking indices.

    Signed-off-by: Heiko Stuebner
    Fixes: 2c14736c75db ("clk: rockchip: add clock driver for rk3188 and rk3066 clocks")
    Tested-by: FUKAUMI Naoki
    Cc: stable@vger.kernel.org

    Heiko Stuebner
     

21 Dec, 2014

10 commits

  • Do not disable clock gate "hclk_emem_peri", otherwise EMAC clocks no longer work
    and it breaks ethernet on RK3066 and RK3188. It fixes a regression introduced by
    commit 78eaf6095cc7 ("clk: rockchip: disable unused clocks").

    Signed-off-by: Romain Perier
    Fixes: 78eaf6095cc7 ("clk: rockchip: disable unused clocks")
    Signed-off-by: Heiko Stuebner

    Romain Perier
     
  • This patch adds CLK_IGNORE_UNUSED flag to hclk_usb_peri, hclk_usbotg0
    and hclk_usbotg1 because these clocks must remain enabled to use the
    USB controllers in host mode.

    This fixes a regression introduced by commit 78eaf6095cc7
    ("clk: rockchip: disable unused clocks").

    Signed-off-by: Julien CHAUVEAU
    Fixes: 78eaf6095cc7 ("clk: rockchip: disable unused clocks")
    Reviewed-by: Romain Perier
    Tested-by: Romain Perier
    Signed-off-by: Heiko Stuebner

    Julien CHAUVEAU
     
  • Linus Torvalds
     
  • Pull ACCESS_ONCE cleanup preparation from Christian Borntraeger:
    "kernel: Provide READ_ONCE and ASSIGN_ONCE

    As discussed on LKML http://marc.info/?i=54611D86.4040306%40de.ibm.com
    ACCESS_ONCE might fail with specific compilers for non-scalar
    accesses.

    Here is a set of patches to tackle that problem.

    The first patch introduce READ_ONCE and ASSIGN_ONCE. If the data
    structure is larger than the machine word size memcpy is used and a
    warning is emitted. The next patches fix up several in-tree users of
    ACCESS_ONCE on non-scalar types.

    This does not yet contain a patch that forces ACCESS_ONCE to work only
    on scalar types. This is targetted for the next merge window as Linux
    next already contains new offenders regarding ACCESS_ONCE vs.
    non-scalar types"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger/linux:
    s390/kvm: REPLACE barrier fixup with READ_ONCE
    arm/spinlock: Replace ACCESS_ONCE with READ_ONCE
    arm64/spinlock: Replace ACCESS_ONCE READ_ONCE
    mips/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/spinlock: Replace ACCESS_ONCE with READ_ONCE
    mm: replace ACCESS_ONCE with READ_ONCE or barriers
    kernel: Provide READ_ONCE and ASSIGN_ONCE

    Linus Torvalds
     
  • Pull clk framework updates from Mike Turquette:
    "This is much later than usual due to several last minute bugs that had
    to be addressed. As usual the majority of changes are new drivers and
    modifications to existing drivers. The core recieved many fixes along
    with the groundwork for several large changes coming in the future
    which will better parition clock providers from clock consumers"

    * tag 'clk-for-linus-3.19' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
    clk: samsung: Fix Exynos 5420 pinctrl setup and clock disable failure due to domain being gated
    ARM: OMAP3: clock: fix boot breakage in legacy mode
    ARM: OMAP2+: clock: fix DPLL code to use new determine rate APIs
    clk: Really fix deadlock with mmap_sem
    clk: mmp: fix sparse non static symbol warning
    clk: Change clk_ops->determine_rate to return a clk_hw as the best parent
    clk: change clk_debugfs_add_file to take a struct clk_hw
    clk: Don't expose __clk_get_accuracy
    clk: Don't try to use a struct clk* after it could have been freed
    clk: Remove unused function __clk_get_prepare_count
    clk: samsung: Fix double add of syscore ops after driver rebind
    clk: samsung: exynos4: set parent of sclk_hdmiphy to hdmi
    clk: samsung: exynos4415: Fix build with PM_SLEEP disabled
    clk: samsung: remove unnecessary inclusion of header files from clk.h
    clk: samsung: remove unnecessary CONFIG_OF from clk.c
    clk: samsung: Spelling s/bwtween/between/
    clk: rockchip: Add support for the mmc clock phases using the framework
    clk: rockchip: add bindings for the mmc clocks
    clk: rockchip: rk3288 export i2s0_clkout for use in DT
    clk: rockchip: use clock ID for DMC (memory controller) on rk3288
    ...

    Linus Torvalds
     
  • Pull more i2c updates from Wolfram Sang:
    "Included are two bugfixes needing some bigger refactoring (sh_mobile:
    deferred probe with DMA, mv64xxx: fix offload support) and one
    deprecated driver removal I thought would go in via ppc but I
    misunderstood. It has a proper ack from BenH"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: sh_mobile: fix uninitialized var when debug is enabled
    macintosh: therm_pm72: delete deprecated driver
    i2c: sh_mobile: I2C_SH_MOBILE should depend on HAS_DMA
    i2c: sh_mobile: rework deferred probing
    i2c: sh_mobile: refactor DMA setup
    i2c: mv64xxx: rework offload support to fix several problems
    i2c: mv64xxx: use BIT() macro for register value definitions

    Linus Torvalds
     
  • Pull SCSI update from James Bottomley:
    "This is a much shorter set of patches that were on the go but didn't
    make it in to the early pull request for the merge window. It's
    really a set of bug fixes plus some final cleanup work on the new tag
    queue API"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    storvsc: ring buffer failures may result in I/O freeze
    ipr: set scsi_level correctly for disk arrays
    ipr: add support for async scanning to speed up boot
    scsi_debug: fix missing "break;" in SDEBUG_UA_CAPACITY_CHANGED case
    scsi_debug: take sdebug_host_list_lock when changing capacity
    scsi_debug: improve driver description in Kconfig
    scsi_debug: fix compare and write errors
    qla2xxx: fix race in handling rport deletion during recovery causes panic
    scsi: blacklist RSOC for Microsoft iSCSI target devices
    scsi: fix random memory corruption with scsi-mq + T10 PI
    Revert "[SCSI] mpt3sas: Remove phys on topology change"
    Revert "[SCSI] mpt2sas: Remove phys on topology change."
    esas2r: Correct typos of "validate" in a comment
    fc: FCP_PTA_SIMPLE is 0
    ibmvfc: remove unused tag variable
    scsi: remove MSG_*_TAG defines
    scsi: remove scsi_set_tag_type
    scsi: remove scsi_get_tag_type
    scsi: never drop to untagged mode during queue ramp down
    scsi: remove ->change_queue_type method

    Linus Torvalds
     
  • Pull CONFIG_PM_RUNTIME elimination from Rafael Wysocki:
    "This removes the last few uses of CONFIG_PM_RUNTIME introduced
    recently and makes that config option finally go away.

    CONFIG_PM will be available directly from the menu now and also it
    will be selected automatically if CONFIG_SUSPEND or CONFIG_HIBERNATION
    is set"

    * tag 'pm-config-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM: Eliminate CONFIG_PM_RUNTIME
    tty: 8250_omap: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    sound: sst-haswell-pcm: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM

    Linus Torvalds
     
  • Pull misc kbuild changes from Michal Marek:
    "There are only a few things in the misc branch:

    - Fix for bugon.cocci semantic patch
    - Kdevelop4 files are .gitignored
    - Put make binrpm-pkg on diet"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts/package: binrpm-pkg do not create source and devel package
    .gitignore: Add Kdevelop4 project files
    bugon.cocci: fix Options at the macro

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:
    "Here are the kbuild changes for v3.19-rc1:

    - Cleanups and deduplication in the main Makefile and
    scripts/Makefile.*
    - Sort the output of *config targets in make help
    - Old is always removed to avoid a surprise during
    bisecting
    - Warning fix in kconfig"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: remove redundant -rR flag of hdr-inst
    kbuild: Fix make help- on powerpc
    kbuild: Automatically remove stale file
    kconfig: Fix warning "‘jump’ may be used uninitialized"
    Makefile: sort list of defconfig targets in make help output
    kbuild: Remove duplicate $(cmd) definition in Makefile.clean
    kbuild: collect shorthands into scripts/Kbuild.include

    Linus Torvalds
     

20 Dec, 2014

22 commits

  • Signed-off-by: Wolfram Sang
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Pull vfs pile #3 from Al Viro:
    "Assorted fixes and patches from the last cycle"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    [regression] chunk lost from bd9b51
    vfs: make mounts and mountstats honor root dir like mountinfo does
    vfs: cleanup show_mountinfo
    init: fix read-write root mount
    unfuck binfmt_misc.c (broken by commit e6084d4)
    vm_area_operations: kill ->migrate()
    new helper: iter_is_iovec()
    move_extent_per_page(): get rid of unused w_flags
    lustre: get rid of playing with ->fs
    btrfs: filp_open() returns ERR_PTR() on failure, not NULL...

    Linus Torvalds
     
  • …/git/tyhicks/ecryptfs

    Pull eCryptfs fixes from Tyler Hicks:
    "Fixes for filename decryption and encrypted view plus a cleanup

    - The filename decryption routines were, at times, writing a zero
    byte one character past the end of the filename buffer

    - The encrypted view feature attempted, and failed, to roll its own
    form of enforcing a read-only mount instead of letting the VFS
    enforce it"

    * tag 'ecryptfs-3.19-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
    eCryptfs: Remove buggy and unnecessary write in file name decode routine
    eCryptfs: Remove unnecessary casts when parsing packet lengths
    eCryptfs: Force RO mount when encrypted view is enabled

    Linus Torvalds
     
  • Pull more btrfs updates from Chris Mason:
    "This is part two of our merge window patches.

    These are all from Filipe, and fix some really hard to find races that
    can cause corruptions. Most of them involved block group removal
    (balance) or discard"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: remove non-sense btrfs_error_discard_extent() function
    Btrfs: fix fs corruption on transaction abort if device supports discard
    Btrfs: always clear a block group node when removing it from the tree
    Btrfs: ensure deletion from pinned_chunks list is protected

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Here are a few fixes that have landed after the previous pull request.
    All are driver specific fixes including:

    - error/int value fixes in OXFW,
    - Intel Skylake HD-audio HDMI codec support,
    - Additional HD-audio Realtek codecs and AD1986A codec fixes/quirks,
    - a few more DSD support and a quirk for Arcam rPAC in usb-audio,
    - a typo fix for Scarlett 6i6,
    - fixes for new ASIHPI firmware,
    - ASoC Exynos7 cleanups,
    - Intel ACPI support, and
    - a fix for PCM512 register cache sync"

    * tag 'sound-fix-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (24 commits)
    ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC
    ALSA: hda/realtek - New codec support for ALC298
    ALSA: asihpi: update to HPI version 4.14
    ALSA: asihpi: increase tuner pad cache size
    ALSA: asihpi: relax firmware version check
    ALSA: usb-audio: Fix Scarlett 6i6 initialization typo
    ALSA: hda - Add quirk for Packard Bell EasyNote MX65
    ALSA: usb-audio: add native DSD support for Matrix Audio DACs
    ALSA: hda/realtek - New codec support for ALC256
    ALSA: hda/realtek - Add new Dell desktop for ALC3234 headset mode
    ASoC: Intel: fix possible acpi enumeration panic
    ALSA: hda/hdmi - apply Haswell fix-ups to Skylake display codec
    ASoC: Intel: fix return value check in sst_acpi_probe()
    ALSA: hda - Make add_stereo_mix_input flag tristate
    ALSA: hda - Create capture source ctls when stereo mix input is added
    ALSA: hda - Fix typos in snd_hda_get_int_hint() kerneldoc comments
    ALSA: hda - add codec ID for Skylake display audio codec
    ALSA: oxfw: some signedness bugs
    ALSA: oxfw: fix detect_loud_models() return value
    ASoC: rt5677: add REGMAP_I2C and REGMAP_IRQ dependency
    ...

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "The highlights this merge window include:

    - Allow target fabric drivers to function as built-in. (Roland)
    - Fix tcm_loop multi-TPG endpoint nexus bug. (Hannes)
    - Move per device config_item_type into se_subsystem_api, allowing
    configfs attributes to be defined at module_init time. (Jerome +
    nab)
    - Convert existing IBLOCK/FILEIO/RAMDISK/PSCSI/TCMU drivers to use
    external configfs attributes. (nab)
    - A number of iser-target fixes related to active session + network
    portal shutdown stability during extended stress testing. (Sagi +
    Slava)
    - Dynamic allocation of T10-PI contexts for iser-target, fixing a
    potentially bogus iscsi_np->tpg_np pointer reference in >= v3.14
    code. (Sagi)
    - iser-target performance + scalability improvements. (Sagi)
    - Fixes for SPC-4 Persistent Reservation AllRegistrants spec
    compliance. (Ilias + James + nab)
    - Avoid potential short kern_sendmsg() in iscsi-target for now until
    Al's conversion to use msghdr iteration is merged post -rc1.
    (Viro)

    Also, Sagi has requested a number of iser-target patches (9) that
    address stability issues he's encountered during extended stress
    testing be considered for v3.10.y + v3.14.y code. Given the amount of
    LOC involved, it will certainly require extra backporting effort.

    Apologies in advance to Greg-KH & Co on this. Sagi and I will be
    working post-merge to ensure they each get applied correctly"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (53 commits)
    target: Allow AllRegistrants to re-RESERVE existing reservation
    uapi/linux/target_core_user.h: fix headers_install.sh badness
    iscsi-target: Fail connection on short sendmsg writes
    iscsi-target: nullify session in failed login sequence
    target: Avoid dropping AllRegistrants reservation during unregister
    target: Fix R_HOLDER bit usage for AllRegistrants
    iscsi-target: Drop left-over bogus iscsi_np->tpg_np
    iser-target: Fix wc->wr_id cast warning
    iser-target: Remove code duplication
    iser-target: Adjust log levels and prettify some prints
    iser-target: Use debug_level parameter to control logging level
    iser-target: Fix logout sequence
    iser-target: Don't wait for session commands from completion context
    iser-target: Reduce CQ lock contention by batch polling
    iser-target: Introduce isert_poll_budget
    iser-target: Remove an atomic operation from the IO path
    iser-target: Remove redundant call to isert_conn_terminate
    iser-target: Use single CQ for TX and RX
    iser-target: Centralize completion elements to a context
    iser-target: Cast wr_id with uintptr_t instead of unsinged long
    ...

    Linus Torvalds
     
  • Pull arch/hexagon updates from Richard Kuo:
    "Build cleanup and a few misc fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel:
    Hexagon: fix signal delivery for debug traps
    Hexagon: set ARCH_DMA_MINALIGN
    Hexagon: fix alignment of init_task in RW_DATA_SECTION
    hexagon: Fix build failures in linux-next

    Linus Torvalds
     
  • Pull arch/chris updates from Jesper Nilsson:
    "Mostly cleanup and build fixes for CRISv32 allmodconfig

    God Jul och Gott Nytt år!"

    * tag 'cris-changes-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
    CRISv32: Remove last remnants of ETRAX_SPI_MMC_BOARD
    CRISv32: ETRAXFS: Fix recursive spinlock
    CRISv32: Select MTDRAM for axisflashmap
    CRISv32: Implement early console
    CRIS: Use KALLSYMs if available in call stack dump
    CRISv32: Fix declaration mismatch
    CRISv32: Rewrite of synchronous serial port driver
    CRIS: Update init memory handling
    CRISv32: Better handling of watchdog bite
    CRIS: Export missing function symbols
    CRIS: Export ioremap_nocache
    CRIS: Fix headers_install
    CRISv32: Add missing include for mm.h
    CRISv32: Drop obsolete file for SPI driver

    Linus Torvalds
     
  • Pull ia64 __get_cpu_var removal from Tony Luck:
    "__get_cpu_var removed from rest of tree, drop reference from comments
    in arch/ia64"

    * tag 'please-pull-misc-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    [IA64] Update comment that references __get_cpu_var

    Linus Torvalds
     
  • There are no users of this symbol left.

    Reported-by: Paul Bolle
    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Move pinmux alloc/dealloc code into functions that don't take
    the spinlock so we can use from code that has the spinlock already.

    CRISv32 has no working SMP, so spinlocks becomes a NOP,
    so deadlock was never seen.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Fixes compile error on allmodconfig.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Also, print kernel version on oops.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Drop i2c_init from this header, it was declared non-static here,
    but static in the C-file.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Make driver possible to load as a module and try to handle
    locking better.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • - Add free_initrd_mem as found by Guenter Roeck
    - Add free_init_pages
    - Export empty_zero_page symbol

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Don't enter watchdog handling if we're already in watchdog handling.

    Also some minor formatting tweaks.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • strcmp was lost when all other string functions were removed,
    but we still have an optimized version for this on CRISv32,
    so any driver built as a module would not have access to this symbol.

    In a similar manner, we had optimized versions of
    csum_partial_copy_from_user and __do_clear_user
    but no exported symbols for them, breaking bunch of other drivers
    when built as a module.

    At the same time, move EXPORT_SYMBOL(__copy_user) and
    EXPORT_SYMBOL(__copy_user_zeroing) C-files so it's
    located together with the function definition.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Fix headers_install by adjusting the path to arch files.
    And delete unused Kbuild file.
    Drop special handling of cris in the headers.sh script
    as a nice side-effect.

    Signed-off-by: Sam Ravnborg
    Cc: Mikael Starvik
    Cc: David Howells
    Signed-off-by: Jesper Nilsson

    Sam Ravnborg
     
  • Fixes the following compile error.

    arch/cris/arch-v32/kernel/time.c: In function 'reset_watchdog':
    arch/cris/arch-v32/kernel/time.c:121:2:
    error: implicit declaration of function 'global_page_state'

    Signed-off-by: Guenter Roeck
    Signed-off-by: Jesper Nilsson

    Jesper Nilsson