Hi Greg,
Requesting for the following patches to be picked to stable 5.15+ where
the following change was integrated: e81e7f9a0eb9 ("usb: gadget: uvc:
add scatter gather support")
Without these fixes data corruption and smmu panics will occur in the
uvc gadget driver.
The fixes to be integrated are:
859c675d84d4 ("usb: gadget: uvc: consistently use define for headerlen")
f262ce66d40c ("usb: gadget: uvc: use on returned header len in video_encode_isoc_sg")
61aa709ca58a ("usb: gadget: uvc: rework uvcg_queue_next_buffer to uvcg_complete_buffer")
9b969f93bcef ("usb: gadget: uvc: giveback vb2 buffer on req complete")
aef11279888c ("usb: gadget: uvc: improve sg exit condition")
They apply cleanly on 5.15.y
Thanks,
Dan
An issue was identified with lpfc in the LTS 5.15 kernel. There is an
FLOGI failure which prevents FC link bringup.
In the past several kernel releases, we have been reworking areas of
the driver to fix issues in the broader design rather than continuing
to create a patchwork on an issue-by-issue basis. This means there are
a lot of inter-related patches.
In this case, it appears that a portion of the "path split" rework was
pulled into 5.15, and the portion that wasn't picked up introduced
the error.
This patch set reverts the patches for the partial pull in, then adds
the full rework set and all known fixes. lpfc ends up in a state
somewhat close to 5.18.y
-- james
This patch set was created via the following:
# Revert prior partial "path split" patches
git revert 17bf429b913b 6e99860de6f4 9a570069cdbb 2b5ef6430c21
b4543dbea84c c56cc7fefc31 1c5e670d6a5a
# Pick up full patch set for "path split"
git cherry-pick a680a9298e7b 1b64aa9eae28 561341425bcc 6831ce129f19
cad93a089031 3bea83b68d54 3f607dcb43f1 e0367dfe90d6 9d41f08aa2eb
351849800157 2d1928c57df6 61910d6a5243 3512ac094293 31a59f75702f
0e082d926f59
# Pick up atomic_inc VMID fix
git cherry-pick 0948a9c53860
# Pick up known fixes on "path split"
git cherry-pick 7294a9bcaa7e c26bd6602e1d c2024e3b33ee cc28fac16ab7
775266207105 84c6f99e3907 596fc8adb171 44ba9786b673 24e1f056677e
e27f05147bff
James Smart (33):
Revert "scsi: lpfc: Resolve some cleanup issues following SLI path
refactoring"
Revert "scsi: lpfc: Fix element offset in
__lpfc_sli_release_iocbq_s4()"
Revert "scsi: lpfc: Fix locking for lpfc_sli_iocbq_lookup()"
Revert "scsi: lpfc: Remove extra atomic_inc on cmd_pending in
queuecommand after VMID"
Revert "scsi: lpfc: SLI path split: Refactor SCSI paths"
Revert "scsi: lpfc: SLI path split: Refactor fast and slow paths to
native SLI4"
Revert "scsi: lpfc: SLI path split: Refactor lpfc_iocbq"
scsi: lpfc: SLI path split: Refactor lpfc_iocbq
scsi: lpfc: SLI path split: Refactor fast and slow paths to native
SLI4
scsi: lpfc: SLI path split: Introduce lpfc_prep_wqe
scsi: lpfc: SLI path split: Refactor base ELS paths and the FLOGI path
scsi: lpfc: SLI path split: Refactor PLOGI/PRLI/ADISC/LOGO paths
scsi: lpfc: SLI path split: Refactor the RSCN/SCR/RDF/EDC/FARPR paths
scsi: lpfc: SLI path split: Refactor LS_ACC paths
scsi: lpfc: SLI path split: Refactor LS_RJT paths
scsi: lpfc: SLI path split: Refactor FDISC paths
scsi: lpfc: SLI path split: Refactor VMID paths
scsi: lpfc: SLI path split: Refactor misc ELS paths
scsi: lpfc: SLI path split: Refactor CT paths
scsi: lpfc: SLI path split: Refactor SCSI paths
scsi: lpfc: SLI path split: Refactor Abort paths
scsi: lpfc: SLI path split: Refactor BSG paths
scsi: lpfc: Remove extra atomic_inc on cmd_pending in queuecommand
after VMID
scsi: lpfc: Fix broken SLI4 abort path
scsi: lpfc: Fix locking for lpfc_sli_iocbq_lookup()
scsi: lpfc: Remove redundant lpfc_sli_prep_wqe() call
scsi: lpfc: Fix split code for FLOGI on FCoE
scsi: lpfc: Correct BDE DMA address assignment for GEN_REQ_WQE
scsi: lpfc: Fix element offset in __lpfc_sli_release_iocbq_s4()
scsi: lpfc: Fix dmabuf ptr assignment in lpfc_ct_reject_event()
scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in
lpfc_ct_reject_event()
scsi: lpfc: Resolve some cleanup issues following abort path
refactoring
scsi: lpfc: Resolve some cleanup issues following SLI path refactoring
drivers/scsi/lpfc/lpfc.h | 56 +-
drivers/scsi/lpfc/lpfc_bsg.c | 303 ++---
drivers/scsi/lpfc/lpfc_crtn.h | 21 +-
drivers/scsi/lpfc/lpfc_ct.c | 338 +++--
drivers/scsi/lpfc/lpfc_els.c | 1378 +++++++++++++-------
drivers/scsi/lpfc/lpfc_hbadisc.c | 44 +-
drivers/scsi/lpfc/lpfc_hw.h | 14 +-
drivers/scsi/lpfc/lpfc_hw4.h | 29 +
drivers/scsi/lpfc/lpfc_nportdisc.c | 98 +-
drivers/scsi/lpfc/lpfc_nvme.c | 11 +-
drivers/scsi/lpfc/lpfc_scsi.c | 2 +-
drivers/scsi/lpfc/lpfc_sli.c | 1953 +++++++++++++---------------
drivers/scsi/lpfc/lpfc_sli.h | 5 +-
13 files changed, 2308 insertions(+), 1944 deletions(-)
--
2.35.3
Call sysfb_disable() from aperture_remove_conflicting_pci_devices()
before removing PCI devices. Without, simpledrm can still bind to
simple-framebuffer devices after the hardware driver has taken over
the hardware. Both drivers interfere with each other and results are
undefined.
Reported modesetting errors [1] are shown below.
---- snap ----
rcu: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 13-.... } 7 jiffies s: 165 root: 0x2000/.
rcu: blocking rcu_node structures (internal RCU debug):
Task dump for CPU 13:
task:X state:R running task stack: 0 pid: 4242 ppid: 4228 flags:0x00000008
Call Trace:
<TASK>
? commit_tail+0xd7/0x130
? drm_atomic_helper_commit+0x126/0x150
? drm_atomic_commit+0xa4/0xe0
? drm_plane_get_damage_clips.cold+0x1c/0x1c
? drm_atomic_helper_dirtyfb+0x19e/0x280
? drm_mode_dirtyfb_ioctl+0x10f/0x1e0
? drm_mode_getfb2_ioctl+0x2d0/0x2d0
? drm_ioctl_kernel+0xc4/0x150
? drm_ioctl+0x246/0x3f0
? drm_mode_getfb2_ioctl+0x2d0/0x2d0
? __x64_sys_ioctl+0x91/0xd0
? do_syscall_64+0x60/0xd0
? entry_SYSCALL_64_after_hwframe+0x4b/0xb5
</TASK>
...
rcu: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 13-.... } 30 jiffies s: 169 root: 0x2000/.
rcu: blocking rcu_node structures (internal RCU debug):
Task dump for CPU 13:
task:X state:R running task stack: 0 pid: 4242 ppid: 4228 flags:0x0000400e
Call Trace:
<TASK>
? memcpy_toio+0x76/0xc0
? memcpy_toio+0x1b/0xc0
? drm_fb_memcpy_toio+0x76/0xb0
? drm_fb_blit_toio+0x75/0x2b0
? simpledrm_simple_display_pipe_update+0x132/0x150
? drm_atomic_helper_commit_planes+0xb6/0x230
? drm_atomic_helper_commit_tail+0x44/0x80
? commit_tail+0xd7/0x130
? drm_atomic_helper_commit+0x126/0x150
? drm_atomic_commit+0xa4/0xe0
? drm_plane_get_damage_clips.cold+0x1c/0x1c
? drm_atomic_helper_dirtyfb+0x19e/0x280
? drm_mode_dirtyfb_ioctl+0x10f/0x1e0
? drm_mode_getfb2_ioctl+0x2d0/0x2d0
? drm_ioctl_kernel+0xc4/0x150
? drm_ioctl+0x246/0x3f0
? drm_mode_getfb2_ioctl+0x2d0/0x2d0
? __x64_sys_ioctl+0x91/0xd0
? do_syscall_64+0x60/0xd0
? entry_SYSCALL_64_after_hwframe+0x4b/0xb5
</TASK>
The problem was added by commit 5e0137612430 ("video/aperture: Disable
and unregister sysfb devices via aperture helpers") to v6.0.3 and does
not exist in the mainline branch.
The mainline commit 5e0137612430 ("video/aperture: Disable and
unregister sysfb devices via aperture helpers") has been backported
from v6.0-rc1 to stable v6.0.3 from a larger patch series [2] that
reworks fbdev framebuffer ownership. The backport misses a change to
aperture_remove_conflicting_pci_devices(). Mainline itself is fine,
because the function does not exist there as a result of the patch
series.
Instead of backporting the whole series, fix the additional function.
v2:
* expand justification for this fix (Greg)
Reported-by: Andreas Thalhammer <andreas.thalhammer-linux(a)gmx.net>
Reported-by: Thorsten Leemhuis <regressions(a)leemhuis.info>
Signed-off-by: Thomas Zimmermann <tzimmermann(a)suse.de>
Tested-by: Andreas Thalhammer <andreas.thalhammer-linux(a)gmx.net>
Fixes: cfecfc98a78d ("video/aperture: Disable and unregister sysfb devices via aperture helpers")
Cc: Thomas Zimmermann <tzimmermann(a)suse.de>
Cc: Javier Martinez Canillas <javierm(a)redhat.com>
Cc: Zack Rusin <zackr(a)vmware.com>
Cc: Daniel Vetter <daniel.vetter(a)ffwll.ch>
Cc: Daniel Vetter <daniel(a)ffwll.ch>
Cc: Sam Ravnborg <sam(a)ravnborg.org>
Cc: Helge Deller <deller(a)gmx.de>
Cc: Alex Deucher <alexander.deucher(a)amd.com>
Cc: Zhen Lei <thunder.leizhen(a)huawei.com>
Cc: Changcheng Deng <deng.changcheng(a)zte.com.cn>
Cc: Maarten Lankhorst <maarten.lankhorst(a)linux.intel.com>
Cc: Maxime Ripard <mripard(a)kernel.org>
Cc: dri-devel(a)lists.freedesktop.org
Cc: Sasha Levin <sashal(a)kernel.org>
Cc: linux-fbdev(a)vger.kernel.org
Cc: <stable(a)vger.kernel.org> # v6.0.3+
Link: https://lore.kernel.org/dri-devel/d6afe54b-f8d7-beb2-3609-186e566cbfac@gmx.… # [1]
Link: https://patchwork.freedesktop.org/series/106040/ # [2]
---
drivers/video/aperture.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
index d245826a9324..cc6427a091bc 100644
--- a/drivers/video/aperture.c
+++ b/drivers/video/aperture.c
@@ -338,6 +338,17 @@ int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *na
resource_size_t base, size;
int bar, ret;
+ /*
+ * If a driver asked to unregister a platform device registered by
+ * sysfb, then can be assumed that this is a driver for a display
+ * that is set up by the system firmware and has a generic driver.
+ *
+ * Drivers for devices that don't have a generic driver will never
+ * ask for this, so let's assume that a real driver for the display
+ * was already probed and prevent sysfb to register devices later.
+ */
+ sysfb_disable();
+
/*
* WARNING: Apparently we must kick fbdev drivers before vgacon,
* otherwise the vga fbdev driver falls over.
--
2.38.0
On 9/14/22 19:21, Jason Wittlin-Cohen wrote:
> 8d5c106fe216bf16080d7070c37adf56a9227e60 is the first bad commit
> commit 8d5c106fe216bf16080d7070c37adf56a9227e60
> Author: Kiwoong Kim <kwmad.kim(a)samsung.com <mailto:kwmad.kim@samsung.com>>
> Date: Tue Aug 2 10:42:31 2022 +0900
>
> scsi: ufs: core: Enable link lost interrupt
>
> commit 6d17a112e9a63ff6a5edffd1676b99e0ffbcd269 upstream.
>
> Link lost is treated as fatal error with commit c99b9b230149 ("scsi: ufs:
> Treat link loss as fatal error"), but the event isn't registered as
> interrupt source. Enable it.
Hi Jason,
Something must have gone wrong during the bisection process. Commit
8d5c106fe216 ("scsi: ufs: core: Enable link lost interrupt") only
affects the UFS driver and hence cannot change the behavior of a SAS
controller. How about repeating the bisection process?
Thanks,
Bart.
I'm announcing the release of the 6.0.5 kernel.
This quick release resolves a much reported problem with a tiny subset
of systems that have btrfs volumes, as well as a Tegra platform
regression. If you do not use btrfs, nor run Linux on a Tegra system,
there is no need to upgrade to this release.
The updated 6.0.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.0.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 -
drivers/clk/tegra/clk-tegra114.c | 1
drivers/clk/tegra/clk-tegra124.c | 1
drivers/clk/tegra/clk-tegra20.c | 1
drivers/clk/tegra/clk-tegra210.c | 1
drivers/clk/tegra/clk-tegra30.c | 1
fs/btrfs/free-space-cache.c | 53 ++++++++++++++-------------------------
7 files changed, 26 insertions(+), 34 deletions(-)
Greg Kroah-Hartman (2):
Revert "btrfs: call __btrfs_remove_free_space_cache_locked on cache load failure"
Linux 6.0.5
Jon Hunter (1):
clk: tegra: Fix Tegra PWM parent clock