12 Nov, 2013

1 commit

  • Pull devicetree updates from Rob Herring:
    "DeviceTree updates for 3.13. This is a bit larger pull request than
    usual for this cycle with lots of clean-up.

    - Cross arch clean-up and consolidation of early DT scanning code.
    - Clean-up and removal of arch prom.h headers. Makes arch specific
    prom.h optional on all but Sparc.
    - Addition of interrupts-extended property for devices connected to
    multiple interrupt controllers.
    - Refactoring of DT interrupt parsing code in preparation for
    deferred probe of interrupts.
    - ARM cpu and cpu topology bindings documentation.
    - Various DT vendor binding documentation updates"

    * tag 'devicetree-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (82 commits)
    powerpc: add missing explicit OF includes for ppc
    dt/irq: add empty of_irq_count for !OF_IRQ
    dt: disable self-tests for !OF_IRQ
    of: irq: Fix interrupt-map entry matching
    MIPS: Netlogic: replace early_init_devtree() call
    of: Add Panasonic Corporation vendor prefix
    of: Add Chunghwa Picture Tubes Ltd. vendor prefix
    of: Add AU Optronics Corporation vendor prefix
    of/irq: Fix potential buffer overflow
    of/irq: Fix bug in interrupt parsing refactor.
    of: set dma_mask to point to coherent_dma_mask
    of: add vendor prefix for PHYTEC Messtechnik GmbH
    DT: sort vendor-prefixes.txt
    of: Add vendor prefix for Cadence
    of: Add empty for_each_available_child_of_node() macro definition
    arm/versatile: Fix versatile irq specifications.
    of/irq: create interrupts-extended property
    microblaze/pci: Drop PowerPC-ism from irq parsing
    of/irq: Create of_irq_parse_and_map_pci() to consolidate arch code.
    of/irq: Use irq_of_parse_and_map()
    ...

    Linus Torvalds
     

11 Nov, 2013

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "This branch contains code cleanups, moves and removals for 3.13.

    Qualcomm msm targets had a bunch of code removal for legacy non-DT
    platforms. Nomadik saw more device tree conversions and cleanup of
    old code. Tegra has some code refactoring, etc.

    One longish patch series from Sebastian Hasselbarth changes the
    init_time hooks and tries to use a generic implementation for most
    platforms, since they were all doing more or less the same things.

    Finally the "shark" platform is removed in this release. It's been
    abandoned for a while and nobody seems to care enough to keep it
    around. If someone comes along and wants to resurrect it, the removal
    can easily be reverted and code brought back.

    Beyond this, mostly a bunch of removals of stale content across the
    board, etc"

    * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (79 commits)
    ARM: gemini: convert to GENERIC_CLOCKEVENTS
    ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4, 5]_DT config options
    ARM: OMAP3: control: add API for setting IVA bootmode
    ARM: OMAP3: CM/control: move CM scratchpad save to CM driver
    ARM: OMAP3: McBSP: do not access CM register directly
    ARM: OMAP3: clock: add API to enable/disable autoidle for a single clock
    ARM: OMAP2: CM/PM: remove direct register accesses outside CM code
    MAINTAINERS: Add patterns for DTS files for AT91
    ARM: at91: remove init_machine() as default is suitable
    ARM: at91/dt: split sama5d3 peripheral definitions
    ARM: at91/dt: split sam9x5 peripheral definitions
    ARM: Remove temporary sched_clock.h header
    ARM: clps711x: Use linux/sched_clock.h
    MAINTAINERS: Add DTS files to patterns for Samsung platform
    ARM: EXYNOS: remove unnecessary header inclusions from exynos4/5 dt machine file
    ARM: tegra: fix ARCH_TEGRA_114_SOC select sort order
    clk: nomadik: fix missing __init on nomadik_src_init
    ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP
    ARM: S3C64XX: Kill CONFIG_PLAT_S3C64XX
    ASoC: samsung: Use CONFIG_ARCH_S3C64XX to check for S3C64XX support
    ...

    Linus Torvalds
     

07 Nov, 2013

1 commit

  • Pull USB driver update from Greg KH:
    "Here's the big USB driver update for 3.13-rc1.

    It includes the usual xhci changes, EHCI updates to get the scheduling
    of USB transactions working better, and a raft of gadget and musb
    updates as well.

    All of this has been in linux-next for a while with no reported
    issues"

    * tag 'usb-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (305 commits)
    USB: Maintainers change for usb serial drivers
    usb: usbtest: support container id descriptor test
    usb: usbtest: support superspeed device capbility descriptor test
    usb: usbtest: support usb2 extension descriptor test
    usb: chipidea: only get vbus regulator for non-peripheral mode
    USB: ehci-atmel: add usb_clk for transition to CCF
    usb: cdc-wdm: ignore speed change notifications
    USB: cdc-wdm: support back-to-back USB_CDC_NOTIFY_RESPONSE_AVAILABLE notifications
    usbatm: Fix dynamic_debug / ratelimited atm_dbg and atm_rldbg macros
    printk: pr_debug_ratelimited: check state first to reduce "callbacks suppressed" messages
    usb: usbtest: support bos descriptor test for usb 3.0
    USB: phy: samsung: Support multiple PHYs of same type
    usb: wusbcore: change WA_SEGS_MAX to a legal value
    usb: wusbcore: add a quirk for Alereon HWA device isoc behavior
    usb: wusbcore: combine multiple isoc frames in a single transfer request.
    usb: wusbcore: set the RPIPE wMaxPacketSize value correctly
    usb: chipidea: host: more enhancement when ci->hcd is NULL
    usb: ohci: remove ep93xx bus glue platform driver
    usb: usbtest: fix checkpatch warning as sizeof code style
    UWB: clean up attribute use by using ATTRIBUTE_GROUPS()
    ...

    Linus Torvalds
     

17 Oct, 2013

1 commit


14 Oct, 2013

6 commits


10 Oct, 2013

1 commit


06 Oct, 2013

1 commit


25 Sep, 2013

8 commits

  • This patch fixes regression introduced in commit 5c77879ff9ab9e7
    "[media] v4l2-dev: add new VFL_DIR_ defines" caused by not initializing
    the vfl_dir field of the vfd_decoder instance of struct video_device,
    after the field was introduced. It precluded calling the driver's ioctls
    which require vfl_dir not to be equal to VFL_DIR_RX which is defined as
    0 and uninitialized vfl_dir field is interpreted as such. In effect the
    test in the v4l_s_fmt function failed for the ioctls that expect is_tx
    to be false, which prevented the ioctl callbacks registered by the driver
    from being called.

    Signed-off-by: Jacek Anaszewski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Jacek Anaszewski
     
  • Earlier version of dma-contig allocator in user ptr mode assumed that in
    all cases DMA address equals physical address. This was just a special case.
    Commit e15dab752d4c588544ccabdbe020a7cc092e23c8 introduced correct support
    for converting userpage to dma address, but unfortunately it broke the
    support for simple dma address = physical address for the case, when given
    physical frame has no struct page associated with it (this happens if one
    use for example dma_declare_coherent api or other reserved memory approach).
    This commit restores support for such cases.

    Signed-off-by: Marek Szyprowski
    [s.nawrocki@samsung.com: replaced #elsif with #elif]
    Signed-off-by: Sylwester Nawrocki

    Signed-off-by: Mauro Carvalho Chehab

    Marek Szyprowski
     
  • Modify the bytesused/data_offset check to not fail if both bytesused
    and data_offset is set to 0. This should minimize possible issues in
    existing applications which worked before we enforced the plane lengths
    for output buffers checks introduced in commit 8023ed09cb278004a2
    "videobuf2-core: Verify planes lengths for output buffers"

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Laurent Pinchart
    Acked-by: Marek Szyprowski
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Smatch complains about the locking here because we mix spin_lock_irq()
    with spin_lock_irqsave() in an unusual way. According to Smatch, it's
    not always clear if the IRQs are enabled or disabled when we return. It
    turns out this function is always called with IRQs enabled and we can
    just use spin_lock_irq().
    It's called from __enqueue_in_driver().

    Signed-off-by: Dan Carpenter
    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Dan Carpenter
     
  • The "i < " part of the "i < ARRAY_SIZE()" condition was missing.

    Signed-off-by: Dan Carpenter
    [g.liakhovetski@gmx.de: remove unrelated superfluous braces]
    Signed-off-by: Guennadi Liakhovetski

    Signed-off-by: Mauro Carvalho Chehab

    Dan Carpenter
     
  • Reading firmware status register to detect whether firmware is
    running or not didn't worked 100% reliably. That register was
    likely set by firmware itself which means it could not contain
    reasonable values until firmware is up and running. Usually it
    just worked as some garbage value was returned accidentally but it
    appears that in some cases returned garbage value was 0x00 which
    was considered "firmware is up and running" by the driver and
    firmware loading was skipped leaving device to non-working state.
    Fix problem by removing unreliable check and let the driver keep
    count whether firmware is loaded or not.

    Signed-off-by: Andreas Matthies
    Signed-off-by: Antti Palosaari
    Signed-off-by: Mauro Carvalho Chehab

    Andreas Matthies
     
  • The owner knows the system as "LX INFINITI Powerlite".
    DMI information for this system:
    System Information
    Manufacturer: HCL Infosystems Limited
    Product Name: T12Rg-H
    Version: 1.0
    Serial Number: B073A1189988
    UUID: 326B3F00-001D-602F-CFD2-4E45435F4349
    Wake-up Type: Power Switch
    SKU Number:
    Family:
    Handle 0x0002, DMI type 2, 15 bytes
    Base Board Information
    Manufacturer: HCL Infosystems Limited
    Product Name: T12Rg-H
    Version: 1.0
    Serial Number: BSN12345678901234567
    Asset Tag: ATN12345678901234567
    Features:
    Board is a hosting board
    Board is replaceable
    Location In Chassis:
    Chassis Handle: 0x0003
    Type: Motherboard
    Contained Object Handles: 0
    Bus 001 Device 003: ID 05e1:0501 Syntek Semiconductor Co., Ltd DC-1125 Webcam

    Signed-off-by: Gregor Jasny
    Reported-by: Noopur Srivastava
    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Gregor Jasny
     
  • Fix long-lasting bug that causes tuning failure of some frequencies
    on 32-bit arch.
    Special thanks goes to Damien CABROL who finally find root of the bug.
    Also big thanks to Jacek Konieczny for donating "non-working" device.

    [crope@iki.fi: fix trivial merge conflict]
    [m.chehab@samsung.com: add missing header file]
    Reported-by: Jacek Konieczny
    Reported-by: Torsten Seyffarth
    Reported-by: Jan Taegert
    Reported-by: Damien CABROL
    Tested-by: Damien CABROL
    Tested-by: Jan Taegert
    Signed-off-by: Antti Palosaari
    Signed-off-by: Mauro Carvalho Chehab

    Antti Palosaari
     

24 Sep, 2013

2 commits


13 Sep, 2013

1 commit


07 Sep, 2013

2 commits

  • Pull powerpc updates from Ben Herrenschmidt:
    "Here's the powerpc batch for this merge window. Some of the
    highlights are:

    - A bunch of endian fixes ! We don't have full LE support yet in that
    release but this contains a lot of fixes all over arch/powerpc to
    use the proper accessors, call the firmware with the right endian
    mode, etc...

    - A few updates to our "powernv" platform (non-virtualized, the one
    to run KVM on), among other, support for bridging the P8 LPC bus
    for UARTs, support and some EEH fixes.

    - Some mpc51xx clock API cleanups in preparation for a clock API
    overhaul

    - A pile of cleanups of our old math emulation code, including better
    support for using it to emulate optional FP instructions on
    embedded chips that otherwise have a HW FPU.

    - Some infrastructure in selftest, for powerpc now, but could be
    generalized, initially used by some tests for our perf instruction
    counting code.

    - A pile of fixes for hotplug on pseries (that was seriously
    bitrotting)

    - The usual slew of freescale embedded updates, new boards, 64-bit
    hiberation support, e6500 core PMU support, etc..."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (146 commits)
    powerpc: Correct FSCR bit definitions
    powerpc/xmon: Fix printing of set of CPUs in xmon
    powerpc/pseries: Move lparcfg.c to platforms/pseries
    powerpc/powernv: Return secondary CPUs to firmware on kexec
    powerpc/btext: Fix CONFIG_PPC_EARLY_DEBUG_BOOTX on ppc32
    powerpc: Cleanup handling of the DSCR bit in the FSCR register
    powerpc/pseries: Child nodes are not detached by dlpar_detach_node
    powerpc/pseries: Add mising of_node_put in delete_dt_node
    powerpc/pseries: Make dlpar_configure_connector parent node aware
    powerpc/pseries: Do all node initialization in dlpar_parse_cc_node
    powerpc/pseries: Fix parsing of initial node path in update_dt_node
    powerpc/pseries: Pack update_props_workarea to map correctly to rtas buffer header
    powerpc/pseries: Fix over writing of rtas return code in update_dt_node
    powerpc/pseries: Fix creation of loop in device node property list
    powerpc: Skip emulating & leave interrupts off for kernel program checks
    powerpc: Add more exception trampolines for hypervisor exceptions
    powerpc: Fix location and rename exception trampolines
    powerpc: Add more trap names to xmon
    powerpc/pseries: Add a warning in the case of cross-cpu VPA registration
    powerpc: Update the 00-Index in Documentation/powerpc
    ...

    Linus Torvalds
     
  • Pull trivial tree from Jiri Kosina:
    "The usual trivial updates all over the tree -- mostly typo fixes and
    documentation updates"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (52 commits)
    doc: Documentation/cputopology.txt fix typo
    treewide: Convert retrun typos to return
    Fix comment typo for init_cma_reserved_pageblock
    Documentation/trace: Correcting and extending tracepoint documentation
    mm/hotplug: fix a typo in Documentation/memory-hotplug.txt
    power: Documentation: Update s2ram link
    doc: fix a typo in Documentation/00-INDEX
    Documentation/printk-formats.txt: No casts needed for u64/s64
    doc: Fix typo "is is" in Documentations
    treewide: Fix printks with 0x%#
    zram: doc fixes
    Documentation/kmemcheck: update kmemcheck documentation
    doc: documentation/hwspinlock.txt fix typo
    PM / Hibernate: add section for resume options
    doc: filesystems : Fix typo in Documentations/filesystems
    scsi/megaraid fixed several typos in comments
    ppc: init_32: Fix error typo "CONFIG_START_KERNEL"
    treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks
    page_isolation: Fix a comment typo in test_pages_isolated()
    doc: fix a typo about irq affinity
    ...

    Linus Torvalds
     

06 Sep, 2013

2 commits

  • Pull media updates from Mauro Carvalho Chehab:
    "This series contains:
    - Exynos s5p-mfc driver got support for VP8 encoder
    - Some SoC drivers gained support for asynchronous registration
    (needed for DT)
    - The RC subsystem gained support for RC activity LED;
    - New drivers added: a video decoder(adv7842), a video encoder
    (adv7511), a new GSPCA driver (stk1135) and support for Renesas
    R-Car (vsp1)
    - the first SDR kernel driver: mirics msi3101. Due to some troubles
    with the driver, and because the API is still under discussion, it
    will be merged at staging for 3.12. Need to rework on it
    - usual new boards additions, fixes, cleanups and driver
    improvements"

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (242 commits)
    [media] cx88: Fix regression: CX88_AUDIO_WM8775 can't be 0
    [media] exynos4-is: Fix entity unregistration on error path
    [media] exynos-gsc: Register v4l2 device
    [media] exynos4-is: Fix fimc-lite bayer formats
    [media] em28xx: fix assignment of the eeprom data
    [media] hdpvr: fix iteration over uninitialized lists in hdpvr_probe()
    [media] usbtv: Throw corrupted frames away
    [media] usbtv: Fix deinterlacing
    [media] v4l2: added missing mutex.h include to v4l2-ctrls.h
    [media] DocBook: upgrade media_api DocBook version to 4.2
    [media] ml86v7667: fix compile warning: 'ret' set but not used
    [media] s5p-g2d: Fix registration failure
    [media] media: coda: Fix DT driver data pointer for i.MX27
    [media] s5p-mfc: Fix input/output format reporting
    [media] v4l: vsp1: Fix mutex double lock at streamon time
    [media] v4l: vsp1: Add support for RT clock
    [media] v4l: vsp1: Initialize media device bus_info field
    [media] davinci: vpif_capture: fix error return code in vpif_probe()
    [media] davinci: vpif_display: fix error return code in vpif_probe()
    [media] MAINTAINERS: add entries for adv7511 and adv7842
    ...

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:
    "Highlights:

    - OF and ACPI helpers are now included in the core, and not in
    external files anymore. This removes dependency problems for
    modules and is cleaner, in general.
    - mv64xxx-driver gains fifo usage to support mv78230
    - imx-driver overhaul to support VF610
    - various cleanups, most notably related to devm_* and CONFIG_PM
    usage
    - driver bugfixes and smaller feature additions"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (51 commits)
    i2c: rcar: add rcar-H2 support
    i2c: sirf: retry 3 times as sometimes we get random noack and timeout
    i2c: sirf: support reverse direction of address
    i2c: sirf: fix the typo for setting bitrate to less than 100k
    i2c: sirf: we need to wait I2C_RESET status in resume
    i2c: sirf: reset i2c controller early after we get a noack
    i2c: designware: get SDA hold time, HCNT and LCNT configuration from ACPI
    i2c: designware: make HCNT/LCNT values configurable
    i2c: mpc: cleanup clock API use
    i2c: pnx: fix error return code in i2c_pnx_probe()
    i2c: ismt: add error return code in probe()
    i2c: mv64xxx: fix typo in binding documentation
    i2c: imx: use exact SoC revision to document binding
    i2c: move ACPI helpers into the core
    i2c: move OF helpers into the core
    i2c: mv64xxx: Fix timing issue on Armada XP (errata FE-8471889)
    i2c: mv64xxx: Add I2C Transaction Generator support
    i2c: powermac: fix return path on error
    Documentation: i2c: Fix example in instantiating-devices
    i2c: tiny-usb: do not use stack as URB transfer_buffer
    ...

    Linus Torvalds
     

05 Sep, 2013

1 commit

  • Pull PTR_RET() removal patches from Rusty Russell:
    "PTR_RET() is a weird name, and led to some confusing usage. We ended
    up with PTR_ERR_OR_ZERO(), and replacing or fixing all the usages.

    This has been sitting in linux-next for a whole cycle"

    [ There are still some PTR_RET users scattered about, with some of them
    possibly being new, but most of them existing in Rusty's tree too. We
    have that

    #define PTR_RET(p) PTR_ERR_OR_ZERO(p)

    thing in , so they continue to work for now - Linus ]

    * tag 'PTR_RET-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    GFS2: Replace PTR_RET with PTR_ERR_OR_ZERO
    Btrfs: volume: Replace PTR_RET with PTR_ERR_OR_ZERO
    drm/cma: Replace PTR_RET with PTR_ERR_OR_ZERO
    sh_veu: Replace PTR_RET with PTR_ERR_OR_ZERO
    dma-buf: Replace PTR_RET with PTR_ERR_OR_ZERO
    drivers/rtc: Replace PTR_RET with PTR_ERR_OR_ZERO
    mm/oom_kill: remove weird use of ERR_PTR()/PTR_ERR().
    staging/zcache: don't use PTR_RET().
    remoteproc: don't use PTR_RET().
    pinctrl: don't use PTR_RET().
    acpi: Replace weird use of PTR_RET.
    s390: Replace weird use of PTR_RET.
    PTR_RET is now PTR_ERR_OR_ZERO(): Replace most.
    PTR_RET is now PTR_ERR_OR_ZERO

    Linus Torvalds
     

04 Sep, 2013

1 commit

  • Pull driver core patches from Greg KH:
    "Here's the big driver core pull request for 3.12-rc1.

    Lots of tiny changes here fixing up the way sysfs attributes are
    created, to try to make drivers simpler, and fix a whole class race
    conditions with creations of device attributes after the device was
    announced to userspace.

    All the various pieces are acked by the different subsystem
    maintainers"

    * tag 'driver-core-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (119 commits)
    firmware loader: fix pending_fw_head list corruption
    drivers/base/memory.c: introduce help macro to_memory_block
    dynamic debug: line queries failing due to uninitialized local variable
    sysfs: sysfs_create_groups returns a value.
    debugfs: provide debugfs_create_x64() when disabled
    rbd: convert bus code to use bus_groups
    firmware: dcdbas: use binary attribute groups
    sysfs: add sysfs_create/remove_groups for when SYSFS is not enabled
    driver core: add #include to core files.
    HID: convert bus code to use dev_groups
    Input: serio: convert bus code to use drv_groups
    Input: gameport: convert bus code to use drv_groups
    driver core: firmware: use __ATTR_RW()
    driver core: core: use DEVICE_ATTR_RO
    driver core: bus: use DRIVER_ATTR_WO()
    driver core: create write-only attribute macros for devices and drivers
    sysfs: create __ATTR_WO()
    driver-core: platform: convert bus code to use dev_groups
    workqueue: convert bus code to use dev_groups
    MEI: convert bus code to use dev_groups
    ...

    Linus Torvalds
     

03 Sep, 2013

11 commits

  • Cards using the wm8775 specify that in their card struct. Those that do not
    use it leave the audio_chip field to 0. Unfortunately, the CX88_AUDIO_WM8775
    enum is 0 as well, so boards that do not have the wm8775 still try to load
    and use that driver. Change it to 1 to fix this.
    This regression was introduced in commit facd23664f1d63c33fbc6da52261c8548ed3fbd4.

    Signed-off-by: Hans Verkuil
    Reported-by: Knut Petersen
    Tested-by: Knut Petersen
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Hans Verkuil
     
  • This patch corrects media entities unregistration order to make sure
    the fimc.N.capture and fimc-lite video nodes are unregistered with
    fimc->lock mutex held. This prevents races between video device open()
    and defered probing and NULL pointer dereference in open() callback
    as follows:
    [ 77.645000] Unable to handle kernel NULL pointer dereference at virtual address 00000290t
    [ 77.655000] pgd = ee7a8000
    [ 77.660000] [00000290] *pgd=6e13c831, *pte=00000000, *ppte=00000000
    [ 77.665000] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
    [ 77.670000] Modules linked in: s5p_fimc ipv6 exynos_fimc_is exynos_fimc_lite
    s5p_csis v4l2_mem2mem videobuf2_dma_contig videobuf2_memops exynos4_is_common videobuf2_core [last unloaded: s5p_fimc]
    [ 77.685000] CPU: 0 PID : 2998 Comm: v4l_id Tainted: G W 3.10.0-next-20130709-00039-g39f491b-dirty #1548
    [ 77.695000] task: ee084000 ti: ee46e000 task.ti: ee46e000
    [ 77.700000] PC is at __mutex_lock_slowpath+0x54/0x368
    [ 77.705000] LR is at __mutex_lock_slowpath+0x24/0x368
    [ 77.710000] pc : [] lr : [] psr: 60000093
    [ 77.710000] sp : ee46fd70 ip : 000008c8 fp : c054e34c
    [ 77.725000] r10: ee084000 r9 : 00000000 r8 : ee439480
    [ 77.730000] r7 : ee46e000 r6 : 60000013 r5 : 00000290 r4 : 0000028c
    [ 77.735000] r3 : 00000000 r2 : 00000000 r1 : 20000093 r0 : 00000001
    [ 77.740000] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
    [ 77.750000] Control: 10c5387d Table: 6e7a804a DAC: 00000015
    [ 77.755000] Process v4l_id (pid: 2998, stack limit = 0xee46e238)
    [ 77.760000] Stack: (0xee46fd70 to 0xee470000)
    ...
    [ 77.935000] [] (__mutex_lock_slowpath+0x54/0x368) from [] (mutex_lock+0xc/0x24)
    [ 77.945000] [] (mutex_lock+0xc/0x24) from [] (fimc_lite_open+0x12c/0x2bc [exynos_fimc_lite])
    [ 77.955000] [] (fimc_lite_open+0x12c/0x2bc [exynos_fimc_lite]) from [] (v4l2_open+0xa0/0xe0)
    [ 77.965000] [] (v4l2_open+0xa0/0xe0) from [] (chrdev_open+0x88/0x170)
    [ 77.975000] [] (chrdev_open+0x88/0x170) from [] (do_dentry_open.isra.14+0x1d8/0x258)
    [ 77.985000] [] (do_dentry_open.isra.14+0x1d8/0x258) from [] (finish_open+0x20/0x38)
    [ 77.995000] [] (finish_open+0x20/0x38) from [] (do_last.isra.43+0x538/0xb1c)
    [ 78.000000] [] (do_last.isra.43+0x538/0xb1c) from [] (path_openat+0xb4/0x5c4)
    [ 78.010000] [] (path_openat+0xb4/0x5c4) from [] (do_filp_open+0x2c/0x80)
    [ 78.020000] [] (do_filp_open+0x2c/0x80) from [] (do_sys_open+0xf4/0x1a8)
    [ 78.025000] [] (do_sys_open+0xf4/0x1a8) from [] (ret_fast_syscall+0x0/0x30)
    [ 78.035000] Code: 1a000093 e10f6000 f10c0080 e2845004 (e1953f9f)

    Reported-by: Andrzej Hajda
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Sylwester Nawrocki
     
  • Gscaler video device registration was happening without reference to
    a parent v4l2_dev causing probe to fail. The patch creates a parent
    v4l2 device and uses it for the gsc m2m video device registration.
    This fixes regression introduced with comit commit 1c1d86a1ea07506
    [media] v4l2: always require v4l2_dev, rename parent to dev_parent

    Signed-off-by: Arun Kumar K
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Arun Kumar K
     
  • The 10-bit and 12-bit Bayer output formats supported by FIMC-LITE
    actually use 16 bits where the extra bits are padded with zeros.
    The patch corrects buffer allocation for these two formats by
    modifying the depth field. This prevents memory corruption by the
    output DMA due to insufficient buffer size.

    Signed-off-by: Arun Kumar K
    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Arun Kumar K
     
  • Set the config structure pointer to the eeprom data pointer (data,
    here eedata dereferenced) not the pointer to the pointer to
    the eeprom data (eedata itself).

    Signed-off-by: Alban Browaeys
    Signed-off-by: Frank Schäfer
    Cc: stable@vger.kernel.org # for v3.10
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Alban Browaeys
     
  • free_buff_list and rec_buff_list are initialized in the middle of hdpvr_probe(),
    but if something bad happens before that, error handling code calls hdpvr_delete(),
    which contains iteration over the lists (via hdpvr_free_buffers()).
    The patch moves the lists initialization to the beginning and by the way fixes
    goto label in error handling of registering videodev.
    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Alexey Khoroshilov
     
  • Ignore out of order data and mark incomplete buffers as errored.
    This gets rid of annoying flicker due to occassional garbage from hardware.

    Signed-off-by: Lubomir Rintel
    Cc: Hans Verkuil
    Cc: Mauro Carvalho Chehab
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-media@vger.kernel.org
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Lubomir Rintel
     
  • The image data is laid out a bit more weirdly and thus needs more work to
    properly interlace. What we get from hardware is V4L2_FIELD_ALTERNATE, but
    since userspace support for it is practically nonexistent, thus we make
    V4L2_FIELD_INTERLACED from it so that it's more easily interpreted.

    Signed-off-by: Lubomir Rintel
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Lubomir Rintel
     
  • media_build/v4l/ml86v7667.c: In function 'ml86v7667_s_ctrl':
    media_build/v4l/ml86v7667.c:120:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
    int ret;
    ^
    And indeed, ret is set but not used. Let's actually return the error
    code.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Commit 1c1d86a1ea ("[media] v4l2: always require v4l2_dev,
    rename parent to dev_parent") expects v4l2_dev to be always set.
    It converted most of the drivers using the parent field of video_device
    to v4l2_dev field. G2D driver did not set the parent field. Hence it got
    left out. Without this patch we get the following boot warning and G2D
    driver fails to register the video device.
    WARNING: CPU: 0 PID: 1 at drivers/media/v4l2-core/v4l2-dev.c:775 __video_register_device+0xfc0/0x1028()
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.11.0-rc1-00001-g1c3e372-dirty #9
    [] (unwind_backtrace+0x0/0xf4) from [] (show_stack+0x10/0x14)
    [] (show_stack+0x10/0x14) from [] (dump_stack+0x7c/0xb0)
    [] (dump_stack+0x7c/0xb0) from [] (warn_slowpath_common+0x6c/0x88)
    [] (warn_slowpath_common+0x6c/0x88) from [] (warn_slowpath_null+0x1c/0x24)
    [] (warn_slowpath_null+0x1c/0x24) from [] (__video_register_device+0xfc0/0x1028)
    [] (__video_register_device+0xfc0/0x1028) from [] (g2d_probe+0x1f8/0x398)
    [] (g2d_probe+0x1f8/0x398) from [] (platform_drv_probe+0x14/0x18)
    [] (platform_drv_probe+0x14/0x18) from [] (driver_probe_device+0x108/0x220)
    [] (driver_probe_device+0x108/0x220) from [] (__driver_attach+0x8c/0x90)
    [] (__driver_attach+0x8c/0x90) from [] (bus_for_each_dev+0x60/0x94)
    [] (bus_for_each_dev+0x60/0x94) from [] (bus_add_driver+0x1c0/0x24c)
    [] (bus_add_driver+0x1c0/0x24c) from [] (driver_register+0x78/0x140)
    [] (driver_register+0x78/0x140) from [] (do_one_initcall+0xf8/0x144)
    [] (do_one_initcall+0xf8/0x144) from [] (kernel_init_freeable+0x13c/0x1d8)
    [] (kernel_init_freeable+0x13c/0x1d8) from [] (kernel_init+0xc/0x160)
    [] (kernel_init+0xc/0x160) from [] (ret_from_fork+0x14/0x3c)
    ---[ end trace 4e0ec028b0028e02 ]---
    s5p-g2d 12800000.g2d: Failed to register video device
    s5p-g2d: probe of 12800000.g2d failed with error -22

    Signed-off-by: Sachin Kamat
    Cc: Hans Verkuil
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Sachin Kamat
     
  • The data pointer should point to DT data, and not to the ID
    array.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Alexander Shiyan