24 Oct, 2022

1 commit


19 Oct, 2022

1 commit


18 Oct, 2022

8 commits


17 Oct, 2022

1 commit


12 Oct, 2022

1 commit


30 Sep, 2022

1 commit

  • This is the 5.15.71 stable release

    * tag 'v5.15.71': (144 commits)
    Linux 5.15.71
    ext4: use locality group preallocation for small closed files
    ext4: avoid unnecessary spreading of allocations among groups
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    drivers/net/phy/aquantia_main.c
    drivers/tty/serial/fsl_lpuart.c

    Jason Liu
     

28 Sep, 2022

2 commits

  • [ Upstream commit e01f5c8d6af231b3b09e23c1fe8a4057cdcc4e42 ]

    This device is reported as using the RTL8188EUS chip.

    It has the improbable USB ID of 0bda:ffef, which normally would belong
    to Realtek, but this ID works for the reporter.

    Signed-off-by: Larry Finger
    Cc: stable
    Link: https://lore.kernel.org/r/20220814175027.2689-1-Larry.Finger@lwfinger.net
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Larry Finger
     
  • [ Upstream commit 6723b283c44a3fdf9f922ae9788aab38bd909211 ]

    The new r8188eu driver doesn't actually support devices with vendor ID 0bda
    and product ID f179[0][1][2], remove the ID so owners of these devices
    don't have to blacklist the staging driver.

    [0] https://github.com/lwfinger/rtl8188eu/issues/366#issuecomment-888511731
    [1] https://github.com/lwfinger/rtl8188eu/issues/385
    [2] https://github.com/lwfinger/rtl8188eu/issues/385#issuecomment-973013539

    Cc: Larry Finger
    CC: Phillip Potter
    Signed-off-by: Candy Febriyanto
    Link: https://lore.kernel.org/r/YZaBTq9vlMaJDFz2@mainframe.localdomain
    Signed-off-by: Greg Kroah-Hartman
    Stable-dep-of: e01f5c8d6af2 ("staging: r8188eu: Add Rosewill USB-N150 Nano to device tables")
    Signed-off-by: Sasha Levin

    Candy Febriyanto
     

27 Sep, 2022

1 commit

  • This is the 5.15.70 stable release

    * tag 'v5.15.70': (2444 commits)
    Linux 5.15.70
    ALSA: hda/sigmatel: Fix unused variable warning for beep power change
    cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx6ul.dtsi
    arch/arm/mm/mmu.c
    arch/arm64/boot/dts/freescale/imx8mp-evk.dts
    drivers/gpu/drm/imx/dcss/dcss-kms.c
    drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
    drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
    drivers/soc/fsl/Kconfig
    drivers/soc/imx/gpcv2.c
    drivers/usb/dwc3/host.c
    net/dsa/slave.c
    sound/soc/fsl/imx-card.c

    Jason Liu
     

08 Sep, 2022

2 commits

  • commit b2fa9e13bbf101c662c4cd974608242a0db98cfc upstream.

    The old rtl8188eu module, removed in commit 55dfa29b43d2 ("staging:
    rtl8188eu: remove rtl8188eu driver from staging dir") (Linux kernel
    v5.15-rc1), required (through a MODULE_FIRMWARE call()) the
    rtlwifi/rtl8188eufw.bin firmware file, which the new r8188eu driver no
    longer requires.

    I have tested a few RTL8188EUS-based Wi-Fi cards and, while supported by
    both drivers, they do not work when using the new one and the firmware
    wasn't manually loaded. According to Larry Finger, the module
    maintainer, all such cards need the firmware and the driver should
    depend on it (see the linked mails).

    Add a proper MODULE_FIRMWARE() call, like it was done in the old driver.

    Thanks to Greg Kroah-Hartman and Larry Finger for quick responses to my
    questions.

    Cc: stable
    Link: https://answers.launchpad.net/ubuntu/+source/linux-meta-hwe-5.15/+question/702611
    Link: https://lore.kernel.org/lkml/YukkBu3TNODO3or9@nx64de-df6d00/
    Signed-off-by: Grzegorz Szymaszek
    Link: https://lore.kernel.org/r/YulcdKfhA8dPQ78s@nx64de-df6d00
    Acked-by: Phillip Potter
    Acked-by: Larry Finger
    Signed-off-by: Greg Kroah-Hartman

    Grzegorz Szymaszek
     
  • commit e230a4455ac3e9b112f0367d1b8e255e141afae0 upstream.

    _Read/Write_MACREG callbacks are NULL so the read/write_macreg_hdl()
    functions don't do anything except free the "pcmd" pointer. It
    results in a use after free. Delete them.

    Fixes: 2865d42c78a9 ("staging: r8712u: Add the new driver to the mainline kernel")
    Cc: stable
    Reported-by: Zheng Wang
    Signed-off-by: Dan Carpenter
    Link: https://lore.kernel.org/r/Yw4ASqkYcUhUfoY2@kili
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     

06 Sep, 2022

2 commits

  • When a frame is dequeued by the CEETM, the effective packet size is a
    function of the actual packet size, the configured Overhead Accounting
    Length (OAL), and the configured Minimum Packet Size (MPS). This
    effective packet size is used to update the CEETM shaper credits. This
    MPS value should be applied to the actual packet size before the OAL
    value is applied. However, the OAL value is applied to the actual packet
    size first. Then, the MPS is applied. This results in an incorrect value
    being subtracted from the CEETM credit for that particular Logical
    Network Interface (LNI) shaper.

    To avoid an erroneous shaper credit count, do not configure both OAL and
    MPS on an LNI shaper.

    Signed-off-by: Camelia Groza

    Camelia Groza
     
  • The WQ number is stored in the last 3 bits of the DEST_WQ FQD field. Fix
    the mask that is used to extract it from 0x3 to 0x7.

    Signed-off-by: Camelia Groza

    Camelia Groza
     

01 Sep, 2022

1 commit


17 Aug, 2022

8 commits

  • [ Upstream commit 6a0c054930d554ad8f8044ef1fc856d9da391c81 ]

    There are sleep in atomic context bugs when dm_fsync_timer_callback is
    executing. The root cause is that the memory allocation functions with
    GFP_KERNEL or GFP_NOIO parameters are called in dm_fsync_timer_callback
    which is a timer handler. The call paths that could trigger bugs are
    shown below:

    (interrupt context)
    dm_fsync_timer_callback
    write_nic_byte
    kzalloc(sizeof(data), GFP_KERNEL); //may sleep
    usb_control_msg
    kmalloc(.., GFP_NOIO); //may sleep
    write_nic_dword
    kzalloc(sizeof(data), GFP_KERNEL); //may sleep
    usb_control_msg
    kmalloc(.., GFP_NOIO); //may sleep

    This patch uses delayed work to replace timer and moves the operations
    that may sleep into the delayed work in order to mitigate bugs.

    Fixes: 8fc8598e61f6 ("Staging: Added Realtek rtl8192u driver to staging")
    Signed-off-by: Duoming Zhou
    Link: https://lore.kernel.org/r/20220710103002.63283-1-duoming@zju.edu.cn
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Duoming Zhou
     
  • [ Upstream commit 143201a6435bf65f0115435e9dc6d95c66b908e9 ]

    Not all DPB entries will be used most of the time. Unused entries will
    thus have invalid timestamps. They will produce negative buffer index
    which is not specifically handled. This works just by chance in current
    code. It will even produce bogus pointer, but since it's not used, it
    won't do any harm.

    Let's fix that brittle design by skipping writing DPB entry altogether
    if timestamp is invalid.

    Fixes: 86caab29da78 ("media: cedrus: Add HEVC/H.265 decoding support")
    Signed-off-by: Jernej Skrabec
    Reviewed-by: Ezequiel Garcia
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Sasha Levin

    Jernej Skrabec
     
  • [ Upstream commit d8f6f1c56d5469e22eeb7cc1f3580b29e2f0fef5 ]

    Fix typos in comments within the Hantro driver.

    Signed-off-by: Sebastian Fricke
    Reviewed-by: Nicolas Dufresne
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Sasha Levin

    Sebastian Fricke
     
  • [ Upstream commit d95a63daca85f4bca3b70e622c75586b5bf0ea5c ]

    Reference Picture Set lists provide indices of short and long term
    reference in DBP array.
    Fix Hantro to not do a look up in DBP entries.
    Make documentation more clear about it.

    [hverkuil: fix typo in commit log]

    Signed-off-by: Benjamin Gaignard
    Reviewed-by: Ezequiel Garcia
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Sasha Levin

    Benjamin Gaignard
     
  • [ Upstream commit 53a3e71095c572333ceea30762565dbedec951ca ]

    Add a 'postprocessed' boolean property to struct hantro_fmt
    to signal that a format is produced by the post-processor.
    This will allow to introduce the G2 post-processor in a simple way.

    Signed-off-by: Ezequiel Garcia
    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Sasha Levin

    Ezequiel Garcia
     
  • [ Upstream commit 9393761aec4c56b7f2f19d21f806d316731401c1 ]

    When the post-processor hardware block is enabled, the driver
    allocates an internal queue of buffers for the decoder enginer,
    and uses the vb2 queue for the post-processor engine.

    For instance, on a G1 core, the decoder engine produces NV12 buffers
    and the post-processor engine can produce YUY2 buffers. The decoder
    engine expects motion vectors to be appended to the NV12 buffers,
    but this is only required for CODECs that need motion vectors,
    such as H.264.

    Fix the post-processor logic accordingly.

    Signed-off-by: Ezequiel Garcia
    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Sasha Levin

    Ezequiel Garcia
     
  • [ Upstream commit 104a70e1d0bcef28db13c4192b8729086089651c ]

    Bit 21 in register 0x24 (slice header info 1) actually represents
    negated version of low delay flag. This can be seen in vendor Cedar
    library source code. While this flag is not part of the standard, it can
    be found in reference HEVC implementation.

    Fix macro name and change it to flag.

    Fixes: 86caab29da78 ("media: cedrus: Add HEVC/H.265 decoding support")
    Signed-off-by: Jernej Skrabec
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Sasha Levin

    Jernej Skrabec
     
  • commit 09b204eb9de9fdf07d028c41c4331b5cfeb70dd7 upstream.

    The three bugs are here:
    __func__, s3a_buf->s3a_data->exp_id);
    __func__, md_buf->metadata->exp_id);
    __func__, dis_buf->dis_data->exp_id);

    The list iterator 's3a_buf/md_buf/dis_buf' will point to a bogus
    position containing HEAD if the list is empty or no element is found.
    This case must be checked before any use of the iterator, otherwise
    it will lead to a invalid memory access.

    To fix this bug, add an check. Use a new variable '*_iter' as the
    list iterator, while use the old variable '*_buf' as a dedicated
    pointer to point to the found element.

    Link: https://lore.kernel.org/linux-media/20220414041415.3342-1-xiam0nd.tong@gmail.com
    Cc: stable@vger.kernel.org
    Fixes: ad85094b293e4 ("Revert "media: staging: atomisp: Remove driver"")
    Signed-off-by: Xiaomeng Tong
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Xiaomeng Tong
     

09 Aug, 2022

1 commit


03 Aug, 2022

1 commit


02 Aug, 2022

1 commit

  • Reproduce steps:
    grecorder-1.0 -u 2 -w 1280 -e 720 -v 1 -i3
    gst-launch-1.0 videotestsrc num-buffers=100 ! video/x-raw,format=BGRx !
    v4l2convert ! video/x-raw,format=RGB16 ! videoconvert ! waylandsink

    Kernel will dump when convert format using ISI memory to memory after run
    ISI capture. The reason is that ISI m2m will use capture num_planes as plane
    count. When the planes of format used in m2m are different with ISI capture,
    invalid data will be used, so it leads to kernel dump. The resolution is to
    use num_planes in v4l2 buffer which passed by videobuf2 core.

    Signed-off-by: Guoniu.zhou
    Reviewed-by: Sandor Yu

    Guoniu.zhou
     

01 Aug, 2022

1 commit

  • Kernel will dump randomly afer run about 650 times AP1302 resolution switching
    test. The reason is that ISI HW is filling buffer and user space call streamoff
    to stop streaming. After that, driver will do cleanup in stop_streaming. During
    this time, ISI interrupt triggered and change the buffer v4l2 state, then back
    to stop_streaming and continue to do cleanup, v4l2-core will do buffer state
    checking every time when driver try to release buffer to v4l2 core, so it leads
    to kernel dump as bellow. The solution is to add spin lock to make sure atomic
    cleanup operation without ISI interrupt.

    Got EOS from element "pipeline0"[ 8640.544083] ------------[ cut here ]------------
    .
    Execution end[ 8640.549919] WARNING: CPU: 1 PID: 21556 at drivers/media/common/videobuf2/videobuf2-core.c:1960 __vb2_queue_cancel+0x1b0/0x21c
    ed after 0:00:02[ 8640.562588] Modules linked in: imx8_media_dev(C)
    .716028126
    Setti[ 8640.568587] CPU: 1 PID: 21556 Comm: gst-launch-1.0 Tainted: G WC 5.15.52-03897-g7b0c32a97056-dirty #61
    ng pipeline to NU[ 8640.580554] Hardware name: NXP i.MX93 11X11 EVK board (DT)
    LL ...
    [ 8640.587497] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [ 8640.595131] pc : __vb2_queue_cancel+0x1b0/0x21c
    [ 8640.599646] lr : __vb2_queue_cancel+0x34/0x21c
    [ 8640.604075] sp : ffff80000b9c3b30
    [ 8640.607377] x29: ffff80000b9c3b30 x28: ffff0000091b8700 x27: 0000000000000000
    [ 8640.614501] x26: 0000000000000000 x25: ffff80000b9c3d28 x24: ffff00000494f828
    [ 8640.621625] x23: ffff000008fda000 x22: 0000000000000009 x21: ffff00000494e7c0
    [ 8640.628749] x20: 0000000000000009 x19: ffff00000494e7c0 x18: 0000000000000000
    [ 8640.635873] x17: 0000000000000000 x16: 0000000000000000 x15: 0000aaaafbda3510
    [ 8640.642997] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
    [ 8640.650121] x11: 0000000000000000 x10: ffff80000b9c3970 x9 : ffff00006fbbf140
    [ 8640.657245] x8 : fffffc0001c6e508 x7 : 0000000000000016 x6 : 0000000000000056
    [ 8640.664369] x5 : ffff00000409e370 x4 : ffffffffffffffff x3 : ffffffffffffffff
    [ 8640.671493] x2 : 0000000000000000 x1 : ffff000008bdaa00 x0 : 00000000ffffffff
    [ 8640.678618] Call trace:
    [ 8640.681053] __vb2_queue_cancel+0x1b0/0x21c
    [ 8640.685229] vb2_core_streamoff+0x28/0xc0
    [ 8640.689234] vb2_ioctl_streamoff+0x60/0xb0
    [ 8640.693316] mxc_isi_cap_streamoff+0x4c/0x11c
    [ 8640.697666] v4l_streamoff+0x28/0x3c
    [ 8640.701237] __video_do_ioctl+0x178/0x3dc
    [ 8640.705232] video_usercopy+0x368/0x6ec
    [ 8640.709054] video_ioctl2+0x1c/0x30
    [ 8640.712529] v4l2_ioctl+0x44/0x64
    [ 8640.715832] __arm64_sys_ioctl+0xac/0xf0
    [ 8640.719749] invoke_syscall+0x48/0x114
    [ 8640.723493] el0_svc_common.constprop.0+0xd4/0xfc
    [ 8640.728181] do_el0_svc+0x2c/0x94
    [ 8640.731484] el0_svc+0x28/0x80
    [ 8640.734534] el0t_64_sync_handler+0xa8/0x130
    [ 8640.738790] el0t_64_sync+0x1a0/0x1a4
    [ 8640.742439] ---[ end trace d116e7f9ad624e8c ]---
    [ 8640.748360] ------------[ cut here ]------------

    Signed-off-by: Guoniu.zhou
    Reviewed-by: Robby Cai

    Guoniu.zhou
     

29 Jul, 2022

2 commits


27 Jul, 2022

1 commit


26 Jul, 2022

1 commit


25 Jul, 2022

2 commits


14 Jul, 2022

1 commit