Список изменений в Linux 5.4.214

 
drm/msm/rd: Fix FIFO-full deadlock [+ + +]
Author: Rob Clark <robdclark@chromium.org>
Date:   Sun Aug 7 09:09:01 2022 -0700

    drm/msm/rd: Fix FIFO-full deadlock
    
    [ Upstream commit 174974d8463b77c2b4065e98513adb204e64de7d ]
    
    If the previous thing cat'ing $debugfs/rd left the FIFO full, then
    subsequent open could deadlock in rd_write() (because open is blocked,
    not giving a chance for read() to consume any data in the FIFO).  Also
    it is generally a good idea to clear out old data from the FIFO.
    
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Patchwork: https://patchwork.freedesktop.org/patch/496706/
    Link: https://lore.kernel.org/r/20220807160901.2353471-2-robdclark@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
 
hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message [+ + +]
Author: Even Xu <even.xu@intel.com>
Date:   Thu Aug 4 08:59:19 2022 +0800

    hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message
    
    [ Upstream commit e1fa076706209cc447d7a2abd0843a18277e5ef7 ]
    
    There is a timing issue captured during ishtp client sending stress tests.
    It was observed during stress tests that ISH firmware is getting out of
    ordered messages. This is a rare scenario as the current set of ISH client
    drivers don't send much data to firmware. But this may not be the case
    going forward.
    
    When message size is bigger than IPC MTU, ishtp splits the message into
    fragments and uses serialized async method to send message fragments.
    The call stack:
    ishtp_cl_send_msg_ipc->ipc_tx_callback(first fregment)->
    ishtp_send_msg(with callback)->write_ipc_to_queue->
    write_ipc_from_queue->callback->ipc_tx_callback(next fregment)......
    
    When an ipc write complete interrupt is received, driver also calls
    write_ipc_from_queue->ipc_tx_callback in ISR to start sending of next fragment.
    
    Through ipc_tx_callback uses spin_lock to protect message splitting, as the
    serialized sending method will call back to ipc_tx_callback again, so it doesn't
    put sending under spin_lock, it causes driver cannot guarantee all fragments
    be sent in order.
    
    Considering this scenario:
    ipc_tx_callback just finished a fragment splitting, and not call ishtp_send_msg
    yet, there is a write complete interrupt happens, then ISR->write_ipc_from_queue
    ->ipc_tx_callback->ishtp_send_msg->write_ipc_to_queue......
    
    Because ISR has higher exec priority than normal thread, this causes the new
    fragment be sent out before previous fragment. This disordered message causes
    invalid message to firmware.
    
    The solution is, to send fragments synchronously:
    Use ishtp_write_message writing fragments into tx queue directly one by one,
    instead of ishtp_send_msg only writing one fragment with completion callback.
    As no completion callback be used, so change ipc_tx_callback to ipc_tx_send.
    
    Signed-off-by: Even Xu <even.xu@intel.com>
    Acked-by: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo [+ + +]
Author: Jason Wang <wangborong@cdjrlc.com>
Date:   Thu Aug 4 08:58:14 2022 +0800

    HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo
    
    [ Upstream commit 94553f8a218540d676efbf3f7827ed493d1057cf ]
    
    The double `like' is duplicated in the comment, remove one.
    
    Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
ieee802154: cc2520: add rc code in cc2520_tx() [+ + +]
Author: Li Qiong <liqiong@nfschina.com>
Date:   Mon Aug 29 15:12:59 2022 +0800

    ieee802154: cc2520: add rc code in cc2520_tx()
    
    [ Upstream commit ffd7bdddaab193c38416fd5dd416d065517d266e ]
    
    The rc code is 0 at the error path "status & CC2520_STATUS_TX_UNDERFLOW".
    Assign rc code with '-EINVAL' at this error path to fix it.
    
    Signed-off-by: Li Qiong <liqiong@nfschina.com>
    Link: https://lore.kernel.org/r/20220829071259.18330-1-liqiong@nfschina.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
Input: iforce - add support for Boeder Force Feedback Wheel [+ + +]
Author: Greg Tulli <greg.iforce@gmail.com>
Date:   Mon Aug 29 11:21:03 2022 -0700

    Input: iforce - add support for Boeder Force Feedback Wheel
    
    [ Upstream commit 9c9c71168f7979f3798b61c65b4530fbfbcf19d1 ]
    
    Add a new iforce_device entry to support the Boeder Force Feedback Wheel
    device.
    
    Signed-off-by: Greg Tulli <greg.iforce@gmail.com>
    Link: https://lore.kernel.org/r/3256420-c8ac-31b-8499-3c488a9880fd@gmail.com
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
Linux: Linux 5.4.214 [+ + +]
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Tue Sep 20 12:28:00 2022 +0200

    Linux 5.4.214
    
    Link: https://lore.kernel.org/r/20220916100443.123226979@linuxfoundation.org
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
    Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
    Tested-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region() [+ + +]
Author: Jann Horn <jannh@google.com>
Date:   Thu Sep 15 16:25:19 2022 +0200

    mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region()
    
    This is a stable-specific patch.
    I botched the stable-specific rewrite of
    commit b67fbebd4cf98 ("mmu_gather: Force tlb-flush VM_PFNMAP vmas"):
    As Hugh pointed out, unmap_region() actually operates on a list of VMAs,
    and the variable "vma" merely points to the first VMA in that list.
    So if we want to check whether any of the VMAs we're operating on is
    PFNMAP or MIXEDMAP, we have to iterate through the list and check each VMA.
    
    Signed-off-by: Jann Horn <jannh@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
net: dp83822: disable rx error interrupt [+ + +]
Author: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
Date:   Thu Jun 23 15:46:45 2022 +0200

    net: dp83822: disable rx error interrupt
    
    commit 0e597e2affb90d6ea48df6890d882924acf71e19 upstream.
    
    Some RX errors, notably when disconnecting the cable, increase the RCSR
    register. Once half full (0x7fff), an interrupt flood is generated. I
    measured ~3k/s interrupts even after the RX errors transfer was
    stopped.
    
    Since we don't read and clear the RCSR register, we should disable this
    interrupt.
    
    Fixes: 87461f7a58ab ("net: phy: DP83822 initial driver submission")
    Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change() [+ + +]
Author: Maurizio Lombardi <mlombard@redhat.com>
Date:   Mon Aug 29 14:40:30 2022 +0200

    nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change()
    
    [ Upstream commit 478814a5584197fa1fb18377653626e3416e7cd6 ]
    
    TCP_FIN_WAIT2 and TCP_LAST_ACK were not handled, the connection is closing
    so we can ignore them and avoid printing the "unhandled state"
    warning message.
    
    [ 1298.852386] nvmet_tcp: queue 2 unhandled state 5
    [ 1298.879112] nvmet_tcp: queue 7 unhandled state 5
    [ 1298.884253] nvmet_tcp: queue 8 unhandled state 5
    [ 1298.889475] nvmet_tcp: queue 9 unhandled state 5
    
    v2: Do not call nvmet_tcp_schedule_release_queue(), just ignore
    the fin_wait2 and last_ack states.
    
    Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
perf/arm_pmu_platform: fix tests for platform_get_irq() failure [+ + +]
Author: Yu Zhe <yuzhe@nfschina.com>
Date:   Thu Aug 25 09:18:44 2022 +0800

    perf/arm_pmu_platform: fix tests for platform_get_irq() failure
    
    [ Upstream commit 6bb0d64c100091e131cd16710b62fda3319cd0af ]
    
    The platform_get_irq() returns negative error codes.  It can't actually
    return zero.
    
    Signed-off-by: Yu Zhe <yuzhe@nfschina.com>
    Link: https://lore.kernel.org/r/20220825011844.8536-1-yuzhe@nfschina.com
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes [+ + +]
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Mon Aug 29 18:35:44 2022 +0200

    platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes
    
    [ Upstream commit c3b82d26bc85f5fc2fef5ec8cce17c89633a55a8 ]
    
    2 keymap fixes for the Acer Aspire One AOD270 and the same hardware
    rebranded as Packard Bell Dot SC:
    
    1. The F2 key is marked with a big '?' symbol on the Packard Bell Dot SC,
    this sends WMID_HOTKEY_EVENTs with a scancode of 0x27 add a mapping
    for this.
    
    2. Scancode 0x61 is KEY_SWITCHVIDEOMODE. Usually this is a duplicate
    input event with the "Video Bus" input device events. But on these devices
    the "Video Bus" does not send events for this key. Map 0x61 to KEY_UNKNOWN
    instead of using KE_IGNORE so that udev/hwdb can override it on these devs.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220829163544.5288-1-hdegoede@redhat.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
soc: fsl: select FSL_GUTS driver for DPIO [+ + +]
Author: Mathew McBride <matt@traverse.com.au>
Date:   Thu Sep 1 05:21:49 2022 +0000

    soc: fsl: select FSL_GUTS driver for DPIO
    
    commit 9a472613f5bccf1b36837423495ae592a9c5182f upstream.
    
    The soc/fsl/dpio driver will perform a soc_device_match()
    to determine the optimal cache settings for a given CPU core.
    
    If FSL_GUTS is not enabled, this search will fail and
    the driver will not configure cache stashing for the given
    DPIO, and a string of "unknown SoC" messages will appear:
    
    fsl_mc_dpio dpio.7: unknown SoC version
    fsl_mc_dpio dpio.6: unknown SoC version
    fsl_mc_dpio dpio.5: unknown SoC version
    
    Fixes: 51da14e96e9b ("soc: fsl: dpio: configure cache stashing destination")
    Signed-off-by: Mathew McBride <matt@traverse.com.au>
    Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20220901052149.23873-2-matt@traverse.com.au'
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
tg3: Disable tg3 device on system reboot to avoid triggering AER [+ + +]
Author: Kai-Heng Feng <kai.heng.feng@canonical.com>
Date:   Fri Aug 26 08:25:30 2022 +0800

    tg3: Disable tg3 device on system reboot to avoid triggering AER
    
    [ Upstream commit 2ca1c94ce0b65a2ce7512b718f3d8a0fe6224bca ]
    
    Commit d60cd06331a3 ("PM: ACPI: reboot: Use S5 for reboot") caused a
    reboot hang on one Dell servers so the commit was reverted.
    
    Someone managed to collect the AER log and it's caused by MSI:
    [ 148.762067] ACPI: Preparing to enter system sleep state S5
    [ 148.794638] {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 5
    [ 148.803731] {1}[Hardware Error]: event severity: recoverable
    [ 148.810191] {1}[Hardware Error]: Error 0, type: fatal
    [ 148.816088] {1}[Hardware Error]: section_type: PCIe error
    [ 148.822391] {1}[Hardware Error]: port_type: 0, PCIe end point
    [ 148.829026] {1}[Hardware Error]: version: 3.0
    [ 148.834266] {1}[Hardware Error]: command: 0x0006, status: 0x0010
    [ 148.841140] {1}[Hardware Error]: device_id: 0000:04:00.0
    [ 148.847309] {1}[Hardware Error]: slot: 0
    [ 148.852077] {1}[Hardware Error]: secondary_bus: 0x00
    [ 148.857876] {1}[Hardware Error]: vendor_id: 0x14e4, device_id: 0x165f
    [ 148.865145] {1}[Hardware Error]: class_code: 020000
    [ 148.870845] {1}[Hardware Error]: aer_uncor_status: 0x00100000, aer_uncor_mask: 0x00010000
    [ 148.879842] {1}[Hardware Error]: aer_uncor_severity: 0x000ef030
    [ 148.886575] {1}[Hardware Error]: TLP Header: 40000001 0000030f 90028090 00000000
    [ 148.894823] tg3 0000:04:00.0: AER: aer_status: 0x00100000, aer_mask: 0x00010000
    [ 148.902795] tg3 0000:04:00.0: AER: [20] UnsupReq (First)
    [ 148.910234] tg3 0000:04:00.0: AER: aer_layer=Transaction Layer, aer_agent=Requester ID
    [ 148.918806] tg3 0000:04:00.0: AER: aer_uncor_severity: 0x000ef030
    [ 148.925558] tg3 0000:04:00.0: AER: TLP Header: 40000001 0000030f 90028090 00000000
    
    The MSI is probably raised by incoming packets, so power down the device
    and disable bus mastering to stop the traffic, as user confirmed this
    approach works.
    
    In addition to that, be extra safe and cancel reset task if it's running.
    
    Cc: Josef Bacik <josef@toxicpanda.com>
    Link: https://lore.kernel.org/all/b8db79e6857c41dab4ef08bdf826ea7c47e3bafc.1615947283.git.josef@toxicpanda.com/
    BugLink: https://bugs.launchpad.net/bugs/1917471
    Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
    Reviewed-by: Michael Chan <michael.chan@broadcom.com>
    Link: https://lore.kernel.org/r/20220826002530.1153296-1-kai.heng.feng@canonical.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 
tracefs: Only clobber mode/uid/gid on remount if asked [+ + +]
Author: Brian Norris <briannorris@chromium.org>
Date:   Fri Aug 26 17:44:17 2022 -0700

    tracefs: Only clobber mode/uid/gid on remount if asked
    
    commit 47311db8e8f33011d90dee76b39c8886120cdda4 upstream.
    
    Users may have explicitly configured their tracefs permissions; we
    shouldn't overwrite those just because a second mount appeared.
    
    Only clobber if the options were provided at mount time.
    
    Note: the previous behavior was especially surprising in the presence of
    automounted /sys/kernel/debug/tracing/.
    
    Existing behavior:
    
      ## Pre-existing status: tracefs is 0755.
      # stat -c '%A' /sys/kernel/tracing/
      drwxr-xr-x
    
      ## (Re)trigger the automount.
      # umount /sys/kernel/debug/tracing
      # stat -c '%A' /sys/kernel/debug/tracing/.
      drwx------
    
      ## Unexpected: the automount changed mode for other mount instances.
      # stat -c '%A' /sys/kernel/tracing/
      drwx------
    
    New behavior (after this change):
    
      ## Pre-existing status: tracefs is 0755.
      # stat -c '%A' /sys/kernel/tracing/
      drwxr-xr-x
    
      ## (Re)trigger the automount.
      # umount /sys/kernel/debug/tracing
      # stat -c '%A' /sys/kernel/debug/tracing/.
      drwxr-xr-x
    
      ## Expected: the automount does not change other mount instances.
      # stat -c '%A' /sys/kernel/tracing/
      drwxr-xr-x
    
    Link: https://lkml.kernel.org/r/20220826174353.2.Iab6e5ea57963d6deca5311b27fb7226790d44406@changeid
    
    Cc: stable@vger.kernel.org
    Fixes: 4282d60689d4f ("tracefs: Add new tracefs file system")
    Signed-off-by: Brian Norris <briannorris@chromium.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 
usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS [+ + +]
Author: Hu Xiaoying <huxiaoying@kylinos.cn>
Date:   Thu Sep 1 12:57:37 2022 +0800

    usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS
    
    [ Upstream commit c61feaee68b9735be06f162bc046c7f1959efb0c ]
    
    USB external storage device(0x0b05:1932), use gnome-disk-utility tools
    to test usb write  < 30MB/s.
    if does not to load module of uas for this device, can increase the
    write speed from 20MB/s to >40MB/s.
    
    Suggested-by: Matthias Kaehlcke <mka@chromium.org>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Hu Xiaoying <huxiaoying@kylinos.cn>
    Link: https://lore.kernel.org/r/20220901045737.3438046-1-huxiaoying@kylinos.cn
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>