15 Mar, 2021

3 commits

  • Pull irq fixes from Thomas Gleixner:
    "A set of irqchip updates:

    - Make the GENERIC_IRQ_MULTI_HANDLER configuration correct

    - Add a missing DT compatible string for the Ingenic driver

    - Remove the pointless debugfs_file pointer from struct irqdomain"

    * tag 'irq-urgent-2021-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/ingenic: Add support for the JZ4760
    dt-bindings/irq: Add compatible string for the JZ4760B
    irqchip: Do not blindly select CONFIG_GENERIC_IRQ_MULTI_HANDLER
    ARM: ep93xx: Select GENERIC_IRQ_MULTI_HANDLER directly
    irqdomain: Remove debugfs_file from struct irq_domain

    Linus Torvalds
     
  • Pull EFI fix from Ard Biesheuvel via Borislav Petkov:
    "Fix an oversight in the handling of EFI_RT_PROPERTIES_TABLE, which was
    added v5.10, but failed to take the SetVirtualAddressMap() RT service
    into account"

    * tag 'efi-urgent-for-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    efi: stub: omit SetVirtualAddressMap() if marked unsupported in RT_PROP table

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "28 patches.

    Subsystems affected by this series: mm (memblock, pagealloc, hugetlb,
    highmem, kfence, oom-kill, madvise, kasan, userfaultfd, memcg, and
    zram), core-kernel, kconfig, fork, binfmt, MAINTAINERS, kbuild, and
    ia64"

    * emailed patches from Andrew Morton : (28 commits)
    zram: fix broken page writeback
    zram: fix return value on writeback_store
    mm/memcg: set memcg when splitting page
    mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg and add nr_pages argument
    ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign
    ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls
    mm/userfaultfd: fix memory corruption due to writeprotect
    kasan: fix KASAN_STACK dependency for HW_TAGS
    kasan, mm: fix crash with HW_TAGS and DEBUG_PAGEALLOC
    mm/madvise: replace ptrace attach requirement for process_madvise
    include/linux/sched/mm.h: use rcu_dereference in in_vfork()
    kfence: fix reports if constant function prefixes exist
    kfence, slab: fix cache_alloc_debugcheck_after() for bulk allocations
    kfence: fix printk format for ptrdiff_t
    linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP*
    MAINTAINERS: exclude uapi directories in API/ABI section
    binfmt_misc: fix possible deadlock in bm_register_write
    mm/highmem.c: fix zero_user_segments() with start > end
    hugetlb: do early cow when page pinned on src mm
    mm: use is_cow_mapping() across tree where proper
    ...

    Linus Torvalds
     

14 Mar, 2021

7 commits

  • Pull char/misc driver fixes from Greg KH:
    "Here are some small misc/char driver fixes to resolve some reported
    problems:

    - habanalabs driver fixes

    - Acrn build fixes (reported many times)

    - pvpanic module table export fix

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    misc/pvpanic: Export module FDT device table
    misc: fastrpc: restrict user apps from sending kernel RPC messages
    virt: acrn: Correct type casting of argument of copy_from_user()
    virt: acrn: Use EPOLLIN instead of POLLIN
    virt: acrn: Use vfs_poll() instead of f_op->poll()
    virt: acrn: Make remove_cpu sysfs invisible with !CONFIG_HOTPLUG_CPU
    cpu/hotplug: Fix build error of using {add,remove}_cpu() with !CONFIG_SMP
    habanalabs: fix debugfs address translation
    habanalabs: Disable file operations after device is removed
    habanalabs: Call put_pid() when releasing control device
    drivers: habanalabs: remove unused dentry pointer for debugfs files
    habanalabs: mark hl_eq_inc_ptr() as static

    Linus Torvalds
     
  • Pull staging driver fixes from Greg KH:
    "Here are some small staging driver fixes for reported problems. They
    include:

    - wfx header file cleanup patch reverted as it could cause problems

    - comedi driver endian fixes

    - buffer overflow problems for staging wifi drivers

    - build dependency issue for rtl8192e driver

    All have been in linux-next for a while with no reported problems"

    * tag 'staging-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (23 commits)
    Revert "staging: wfx: remove unused included header files"
    staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan()
    staging: rtl8188eu: fix potential memory corruption in rtw_check_beacon_data()
    staging: rtl8192u: fix ->ssid overflow in r8192_wx_set_scan()
    staging: comedi: pcl726: Use 16-bit 0 for interrupt data
    staging: comedi: ni_65xx: Use 16-bit 0 for interrupt data
    staging: comedi: ni_6527: Use 16-bit 0 for interrupt data
    staging: comedi: comedi_parport: Use 16-bit 0 for interrupt data
    staging: comedi: amplc_pc236_common: Use 16-bit 0 for interrupt data
    staging: comedi: pcl818: Fix endian problem for AI command data
    staging: comedi: pcl711: Fix endian problem for AI command data
    staging: comedi: me4000: Fix endian problem for AI command data
    staging: comedi: dmm32at: Fix endian problem for AI command data
    staging: comedi: das800: Fix endian problem for AI command data
    staging: comedi: das6402: Fix endian problem for AI command data
    staging: comedi: adv_pci1710: Fix endian problem for AI command data
    staging: comedi: addi_apci_1500: Fix endian problem for command sample
    staging: comedi: addi_apci_1032: Fix endian problem for COS sample
    staging: ks7010: prevent buffer overflow in ks_wlan_set_scan()
    staging: rtl8712: Fix possible buffer overflow in r8712_sitesurvey_cmd
    ...

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg KH:
    "Here are some small tty and serial driver fixes to resolve some
    reported problems:

    - led tty trigger fixes based on review and were acked by the led
    maintainer

    - revert a max310x serial driver patch as it was causing problems

    - revert a pty change as it was also causing problems

    All of these have been in linux-next for a while with no reported
    problems"

    * tag 'tty-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    Revert "drivers:tty:pty: Fix a race causing data loss on close"
    Revert "serial: max310x: rework RX interrupt handling"
    leds: trigger/tty: Use led_set_brightness_sync() from workqueue
    leds: trigger: Fix error path to not unlock the unlocked mutex

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are a small number of USB fixes for 5.12-rc3 to resolve a bunch
    of reported issues:

    - usbip fixups for issues found by syzbot

    - xhci driver fixes and quirk additions

    - gadget driver fixes

    - dwc3 QCOM driver fix

    - usb-serial new ids and fixes

    - usblp fix for a long-time issue

    - cdc-acm quirk addition

    - other tiny fixes for reported problems

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'usb-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (25 commits)
    xhci: Fix repeated xhci wake after suspend due to uncleared internal wake state
    usb: xhci: Fix ASMedia ASM1042A and ASM3242 DMA addressing
    xhci: Improve detection of device initiated wake signal.
    usb: xhci: do not perform Soft Retry for some xHCI hosts
    usbip: fix vudc usbip_sockfd_store races leading to gpf
    usbip: fix vhci_hcd attach_store() races leading to gpf
    usbip: fix stub_dev usbip_sockfd_store() races leading to gpf
    usbip: fix vudc to check for stream socket
    usbip: fix vhci_hcd to check for stream socket
    usbip: fix stub_dev to check for stream socket
    usb: dwc3: qcom: Add missing DWC3 OF node refcount decrement
    USB: usblp: fix a hang in poll() if disconnected
    USB: gadget: udc: s3c2410_udc: fix return value check in s3c2410_udc_probe()
    usb: renesas_usbhs: Clear PIPECFG for re-enabling pipe with other EPNUM
    usb: dwc3: qcom: Honor wakeup enabled/disabled state
    usb: gadget: f_uac1: stop playback on function disable
    usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio slot
    USB: gadget: u_ether: Fix a configfs return code
    usb: dwc3: qcom: add ACPI device id for sc8180x
    Goodix Fingerprint device is not a modem
    ...

    Linus Torvalds
     
  • commit 0d8359620d9b ("zram: support page writeback") introduced two
    problems. It overwrites writeback_store's return value as kstrtol's
    return value, which makes return value zero so user could see zero as
    return value of write syscall even though it wrote data successfully.

    It also breaks index value in the loop in that it doesn't increase the
    index any longer. It means it can write only first starting block index
    so user couldn't write all idle pages in the zram so lose memory saving
    chance.

    This patch fixes those issues.

    Link: https://lkml.kernel.org/r/20210312173949.2197662-2-minchan@kernel.org
    Fixes: 0d8359620d9b("zram: support page writeback")
    Signed-off-by: Minchan Kim
    Reported-by: Amos Bianchi
    Cc: Sergey Senozhatsky
    Cc: John Dias
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • writeback_store's return value is overwritten by submit_bio_wait's return
    value. Thus, writeback_store will return zero since there was no IO
    error. In the end, write syscall from userspace will see the zero as
    return value, which could make the process stall to keep trying the write
    until it will succeed.

    Link: https://lkml.kernel.org/r/20210312173949.2197662-1-minchan@kernel.org
    Fixes: 3b82a051c101("drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store")
    Signed-off-by: Minchan Kim
    Cc: Sergey Senozhatsky
    Cc: Colin Ian King
    Cc: John Dias
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • After is_cow_mapping() is exported in mm.h, replace some manual checks
    elsewhere throughout the tree but start to use the new helper.

    Link: https://lkml.kernel.org/r/20210217233547.93892-5-peterx@redhat.com
    Signed-off-by: Peter Xu
    Reviewed-by: Jason Gunthorpe
    Cc: VMware Graphics
    Cc: Roland Scheidegger
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: Mike Kravetz
    Cc: Alexey Dobriyan
    Cc: Andrea Arcangeli
    Cc: Christoph Hellwig
    Cc: David Gibson
    Cc: Gal Pressman
    Cc: Jan Kara
    Cc: Jann Horn
    Cc: Kirill Shutemov
    Cc: Kirill Tkhai
    Cc: Matthew Wilcox
    Cc: Miaohe Lin
    Cc: Mike Rapoport
    Cc: Wei Zhang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Xu
     

13 Mar, 2021

10 commits

  • Pull SCSI fixes from James Bottomley:
    "Ten updates: one non code maintainer update for vmw_pvscsi, five code
    updates for ibmvfc and four for UFS.

    All are either trivial patches or bug fixes"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: vmw_pvscsi: MAINTAINERS: Update maintainer
    scsi: ufs: Convert sysfs sprintf/snprintf family to sysfs_emit
    scsi: ufs: Remove redundant checks of !hba in suspend/resume callbacks
    scsi: ufs: ufs-qcom: Disable interrupt in reset path
    scsi: ufs: Minor adjustments to error handling
    scsi: ibmvfc: Reinitialize sub-CRQs and perform channel enquiry after LPM
    scsi: ibmvfc: Store return code of H_FREE_SUB_CRQ during cleanup
    scsi: ibmvfc: Treat H_CLOSED as success during sub-CRQ registration
    scsi: ibmvfc: Fix invalid sub-CRQ handles after hard reset
    scsi: ibmvfc: Simplify handling of sub-CRQ initialization

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "Mostly just random fixes all over the map.

    The only odd-one-out change is finally getting the rename of
    BIO_MAX_PAGES to BIO_MAX_VECS done. This should've been done with the
    multipage bvec change, but it's been left.

    Do it now to avoid hassles around changes piling up for the next merge
    window.

    Summary:

    - NVMe pull request:
    - one more quirk (Dmitry Monakhov)
    - fix max_zone_append_sectors initialization (Chaitanya Kulkarni)
    - nvme-fc reset/create race fix (James Smart)
    - fix status code on aborts/resets (Hannes Reinecke)
    - fix the CSS check for ZNS namespaces (Chaitanya Kulkarni)
    - fix a use after free in a debug printk in nvme-rdma (Lv Yunlong)

    - Follow-up NVMe error fix for NULL 'id' (Christoph)

    - Fixup for the bd_size_lock being IRQ safe, now that the offending
    driver has been dropped (Damien).

    - rsxx probe failure error return (Jia-Ju)

    - umem probe failure error return (Wei)

    - s390/dasd unbind fixes (Stefan)

    - blk-cgroup stats summing fix (Xunlei)

    - zone reset handling fix (Damien)

    - Rename BIO_MAX_PAGES to BIO_MAX_VECS (Christoph)

    - Suppress uevent trigger for hidden devices (Daniel)

    - Fix handling of discard on busy device (Jan)

    - Fix stale cache issue with zone reset (Shin'ichiro)"

    * tag 'block-5.12-2021-03-12-v2' of git://git.kernel.dk/linux-block:
    nvme: fix the nsid value to print in nvme_validate_or_alloc_ns
    block: Discard page cache of zone reset target range
    block: Suppress uevent for hidden device when removed
    block: rename BIO_MAX_PAGES to BIO_MAX_VECS
    nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a
    nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done
    nvme-core: check ctrl css before setting up zns
    nvme-fc: fix racing controller reset and create association
    nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted
    nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange()
    nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request()
    nvme: simplify error logic in nvme_validate_ns()
    nvme: set max_zone_append_sectors nvme_revalidate_zones
    block: rsxx: fix error return code of rsxx_pci_probe()
    block: Fix REQ_OP_ZONE_RESET_ALL handling
    umem: fix error return code in mm_pci_probe()
    blk-cgroup: Fix the recursive blkg rwstat
    s390/dasd: fix hanging IO request during DASD driver unbind
    s390/dasd: fix hanging DASD driver unbind
    block: Try to handle busy underlying device on discard

    Linus Torvalds
     
  • Pull device properties framework fixes from Rafael Wysocki:
    "Prevent software nodes from being registered before their parents and
    fix a recent mistake causing already registered software nodes to be
    registered again in some cases (Heikki Krogerus)"

    * tag 'devprop-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    software node: Fix device_add_software_node()
    software node: Fix node registration

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix an operating performance point (OPP) reference counting
    issue and three issues in ARM cpufreq drivers.

    Specifics:

    - Add a flag to mark OPPs that are not referenced by he OPP core any
    more to prevent OPPs from being freed prematurely by mistake (Beata
    Michalska).

    - Add ARM Vexpress platforms to the cpufreq-dt-platdev blacklist
    since the actual scaling of them is handled elsewhere (Sudeep
    Holla).

    - Fix a function return value check and a possible use-after-free in
    the qcom-hw cpufreq driver (Shawn Guo, Wei Yongjun)"

    * tag 'pm-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    opp: Don't drop extra references to OPPs accidentally
    cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev
    cpufreq: qcom-hw: Fix return value check in qcom_cpufreq_hw_cpu_init()
    cpufreq: qcom-hw: fix dereferencing freed memory 'data'

    Linus Torvalds
     
  • ns can be NULL at this point, and my move of the check from
    the original patch by Chaitanya broke this.

    Fixes: 0ec84df4953b ("nvme-core: check ctrl css before setting up zns")
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • Pull MMC fixes from Ulf Hansson:
    "MMC core:

    - Fix partition switch time for eMMC

    MMC host:

    - mmci: Enforce R1B response to fix busy detection for
    the stm32 variants

    - cqhci: Fix crash when removing mmc module/card"

    * tag 'mmc-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: cqhci: Fix random crash when remove mmc module/card
    mmc: core: Fix partition switch time for eMMC
    mmc: mmci: Add MMC_CAP_NEED_RSP_BUSY for the stm32 variants

    Linus Torvalds
     
  • …/git/broonie/regulator

    Pull regulator fixes from Mark Brown:
    "A small collection fo driver specific fixes that have arrived since
    the merge window"

    * tag 'regulator-fix-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: mt6315: Fix off-by-one for .n_voltages
    regulator: rt4831: Fix return value check in rt4831_regulator_probe()
    regulator: pca9450: Clear PRESET_EN bit to fix BUCK1/2/3 voltage setting
    regulator: qcom-rpmh: Use correct buck for S1C regulator
    regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
    regulator: pca9450: Fix return value when failing to get sd-vsel GPIO
    regulator: mt6315: Return REGULATOR_MODE_INVALID for invalid mode

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:
    "We've got a smattering of changes all over the place which we've
    acrued since -rc1. To my knowledge, there aren't any pending issues at
    the moment, but there's still plenty of time for something else to
    crop up...

    Summary:

    - Fix booting a 52-bit-VA-aware kernel on Qualcomm Amberwing

    - Fix pfn_valid() not to reject all ZONE_DEVICE memory

    - Fix memory tagging setup for hotplugged memory regions

    - Fix KASAN tagging in page_alloc() when DEBUG_VIRTUAL is enabled

    - Fix accidental truncation of CPU PMU event counters

    - Fix error code initialisation when failing probe of DMC620 PMU

    - Fix return value initialisation for sve-ptrace selftest

    - Drop broken support for CMDLINE_EXTEND"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    perf/arm_dmc620_pmu: Fix error return code in dmc620_pmu_device_probe()
    arm64: mm: remove unused __cpu_uses_extended_idmap[_level()]
    arm64: mm: use a 48-bit ID map when possible on 52-bit VA builds
    arm64: perf: Fix 64-bit event counter read truncation
    arm64/mm: Fix __enable_mmu() for new TGRAN range values
    kselftest: arm64: Fix exit code of sve-ptrace
    arm64: mte: Map hotplugged memory as Normal Tagged
    arm64: kasan: fix page_alloc tagging with DEBUG_VIRTUAL
    arm64/mm: Reorganize pfn_valid()
    arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory
    arm64/mm: Drop THP conditionality from FORCE_MAX_ZONEORDER
    arm64/mm: Drop redundant ARCH_WANT_HUGE_PMD_SHARE
    arm64: Drop support for CMDLINE_EXTEND
    arm64: cpufeatures: Fix handling of CONFIG_CMDLINE for idreg overrides

    Linus Torvalds
     
  • Pull xen fixes from Juergen Gross:
    "Two fix series and a single cleanup:

    - a small cleanup patch to remove unneeded symbol exports

    - a series to cleanup Xen grant handling (avoiding allocations in
    some cases, and using common defines for "invalid" values)

    - a series to address a race issue in Xen event channel handling"

    * tag 'for-linus-5.12b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    Xen/gntdev: don't needlessly use kvcalloc()
    Xen/gnttab: introduce common INVALID_GRANT_{HANDLE,REF}
    Xen/gntdev: don't needlessly allocate k{,un}map_ops[]
    Xen: drop exports of {set,clear}_foreign_p2m_mapping()
    xen/events: avoid handling the same event on two cpus at the same time
    xen/events: don't unmask an event channel when an eoi is pending
    xen/events: reset affinity of 2-level event when tearing it down

    Linus Torvalds
     
  • * pm-opp:
    opp: Don't drop extra references to OPPs accidentally

    Rafael J. Wysocki
     

12 Mar, 2021

8 commits

  • Pull NVMe fixes from Christoph:

    "nvme fixes for 5.12:

    - one more quirk (Dmitry Monakhov)
    - fix max_zone_append_sectors initialization (Chaitanya Kulkarni)
    - nvme-fc reset/create race fix (James Smart)
    - fix status code on aborts/resets (Hannes Reinecke)
    - fix the CSS check for ZNS namespaces (Chaitanya Kulkarni)
    - fix a use after free in a debug printk in nvme-rdma (Lv Yunlong)"

    * tag 'nvme-5.12-2021-03-12' of git://git.infradead.org/nvme:
    nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a
    nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done
    nvme-core: check ctrl css before setting up zns
    nvme-fc: fix racing controller reset and create association
    nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted
    nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange()
    nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request()
    nvme: simplify error logic in nvme_validate_ns()
    nvme: set max_zone_append_sectors nvme_revalidate_zones

    Jens Axboe
     
  • Fix to return negative error code -ENOMEM from the error handling
    case instead of 0, as done elsewhere in this function.

    Fixes: 53c218da220c ("driver/perf: Add PMU driver for the ARM DMC-620 memory controller")
    Reported-by: Hulk Robot
    Signed-off-by: Wei Yongjun
    Link: https://lore.kernel.org/r/20210312080421.277562-1-weiyongjun1@huawei.com
    Signed-off-by: Will Deacon

    Wei Yongjun
     
  • We are required to call dev_pm_opp_put() from outside of the
    opp_table->lock as debugfs removal needs to happen lock-less to avoid
    circular dependency issues.

    commit cf1fac943c63 ("opp: Reduce the size of critical section in
    _opp_kref_release()") tried to fix that introducing a new routine
    _opp_get_next() which keeps returning OPPs that can be freed by the
    callers and this routine shall be called without holding the
    opp_table->lock.

    Though the commit overlooked the fact that the OPPs can be referenced by
    other users as well and this routine will end up dropping references
    which were taken by other users and hence freeing the OPPs prematurely.

    In effect, other users of the OPPs will end up having invalid pointers
    at hand. We didn't see any crash reports earlier as the exact situation
    never happened, though it is certainly possible.

    We need a way to mark which OPPs are no longer referenced by the OPP
    core, so we don't drop extra references to them accidentally.

    This commit adds another OPP flag, "removed", which is used to track
    this. And now we should never end up dropping extra references to the
    OPPs.

    Cc: v5.11+ # v5.11+
    Fixes: cf1fac943c63 ("opp: Reduce the size of critical section in _opp_kref_release()")
    Signed-off-by: Beata Michalska
    [ Viresh: Almost rewrote entire patch, added new "removed" field,
    rewrote commit log and added the correct Fixes tag. ]
    Co-developed-by: Viresh Kumar
    Signed-off-by: Viresh Kumar

    Beata Michalska
     
  • Pull drm fixes from Dave Airlie:
    "Regular fixes for rc3. The i915 pull was based on the rc1 tag so I
    just cherry-picked the single fix from there to avoid it. The misc and
    amd trees seem to be on okay bases.

    It's a bunch of fixes across the tree, amdgpu has most of them a few
    ttm fixes around qxl, and nouveau.

    core:
    - Clear holes when converting compat ioctl's between 32-bits and
    64-bits.

    docs:
    - Use gitlab for drm bugzilla now.

    ttm:
    - Fix ttm page pool accounting.

    fbdev:
    - Fix oops in drm_fbdev_cleanup()

    shmem:
    - Assorted fixes for shmem helpers.

    qxl:
    - unpin qxl bos created as pinned when freeing them, and make ttm
    only warn once on this behavior.
    - Zero head.surface_id correctly in qxl.

    atyfb:
    - Use LCD management for atyfb on PPC_MAC.

    meson:
    - Shutdown kms poll helper in meson correctly.

    nouveau:
    - fix regression in bo syncing

    i915:
    - Wedge the GPU if command parser setup fails

    amdgpu:
    - Fix aux backlight control
    - Add a backlight override parameter
    - Various display fixes
    - PCIe DPM fix for vega
    - Polaris watermark fixes
    - Additional S0ix fix

    radeon:
    - Fix GEM regression
    - Fix AGP dependency handling"

    * tag 'drm-fixes-2021-03-12-1' of git://anongit.freedesktop.org/drm/drm: (33 commits)
    drm/nouveau: fix dma syncing for loops (v2)
    drm/i915: Wedge the GPU if command parser setup fails
    drm/compat: Clear bounce structures
    drm/shmem-helpers: vunmap: Don't put pages for dma-buf
    drm: meson_drv add shutdown function
    drm/shmem-helper: Don't remove the offset in vm_area_struct pgoff
    drm/shmem-helper: Check for purged buffers in fault handler
    qxl: Fix uninitialised struct field head.surface_id
    drm/ttm: Fix TTM page pool accounting
    drm/ttm: soften TTM warnings
    drm: Use USB controller's DMA mask when importing dmabufs
    MAINTAINERS: update drm bug reporting URL
    fbdev: atyfb: use LCD management functions for PPC_PMAC also
    fbdev: atyfb: always declare aty_{ld,st}_lcd()
    drm/qxl: fix lockdep issue in qxl_alloc_release_reserved
    drm/qxl: unpin release objects
    drm/fb-helper: only unmap if buffer not null
    drm/amdgpu: fix S0ix handling when the CONFIG_AMD_PMC=m
    drm/radeon: fix AGP dependency
    drm/radeon: also init GEM funcs in radeon_gem_prime_import_sg_table
    ...

    Linus Torvalds
     
  • The index variable should only be increased in one place.

    Noticed this while trying to track down another oops.

    v2: use while loop.

    Fixes: f295c8cfec83 ("drm/nouveau: fix dma syncing warning with debugging on.")
    Signed-off-by: Dave Airlie
    Reviewed-by: Michael J. Ruhl
    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20210311043527.5376-1-airlied@gmail.com

    Dave Airlie
     
  • Commit 311a50e76a33 ("drm/i915: Add support for mandatory cmdparsing")
    introduced mandatory command parsing but setup failures were not
    translated into wedging the GPU which was probably the intent.

    Possible errors come in two categories. Either the sanity check on
    internal tables has failed, which should be caught in CI unless an
    affected platform would be missed in testing; or memory allocation failure
    happened during driver load, which should be extremely unlikely but for
    correctness should still be handled.

    v2:
    * Tidy coding style. (Chris)

    [airlied: cherry-picked to avoid rc1 base]
    Signed-off-by: Tvrtko Ursulin
    Fixes: 311a50e76a33 ("drm/i915: Add support for mandatory cmdparsing")
    Cc: Jon Bloomfield
    Cc: Joonas Lahtinen
    Cc: Chris Wilson
    Reviewed-by: Chris Wilson
    Link: https://patchwork.freedesktop.org/patch/msgid/20210302114213.1102223-1-tvrtko.ursulin@linux.intel.com
    (cherry picked from commit 5a1a659762d35a6dc51047c9127c011303c77b7f)
    Signed-off-by: Rodrigo Vivi
    Signed-off-by: Dave Airlie

    Tvrtko Ursulin
     
  • …f/linux into drm-fixes

    amd-drm-fixes-5.12-2021-03-10:

    amdgpu:
    - Fix aux backlight control
    - Add a backlight override parameter
    - Various display fixes
    - PCIe DPM fix for vega
    - Polaris watermark fixes
    - Additional S0ix fix

    radeon:
    - Fix GEM regression
    - Fix AGP dependency handling

    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Alex Deucher <alexander.deucher@amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210310221141.3974-1-alexander.deucher@amd.com

    Dave Airlie
     
  • Pull media fixes from Mauro Carvalho Chehab:
    "A couple of fixes:

    - fix a build issue with CEC

    - fix a deadlock at usbtv driver

    - fix some null pointer address issues at vsp1 driver

    - fix a wrong bitmap setting at rkisp1 driver"

    * tag 'media/v5.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    media: rkisp1: params: fix wrong bits settings
    media: v4l: vsp1: Fix uif null pointer access
    media: v4l: vsp1: Fix bru null pointer access
    media: usbtv: Fix deadlock on suspend
    media: rc: compile rc-cec.c into rc-core

    Linus Torvalds
     

11 Mar, 2021

12 commits

  • Ever since the addition of multipage bio_vecs BIO_MAX_PAGES has been
    horribly confusingly misnamed. Rename it to BIO_MAX_VECS to stop
    confusing users of the bio API.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Matthew Wilcox (Oracle)
    Reviewed-by: Martin K. Petersen
    Link: https://lore.kernel.org/r/20210311110137.1132391-2-hch@lst.de
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • The valid selector is 0 ~ 0xbf, so the .n_voltages should be 0xc0.

    Signed-off-by: Axel Lin
    Link: https://lore.kernel.org/r/20210311020558.579597-1-axel.lin@ingics.com
    Signed-off-by: Mark Brown

    Axel Lin
     
  • If port terminations are detected in suspend, but link never reaches U0
    then xHCI may have an internal uncleared wake state that will cause an
    immediate wake after suspend.

    This wake state is normally cleared when driver clears the PORT_CSC bit,
    which is set after a device is enabled and in U0.

    Write 1 to clear PORT_CSC for ports that don't have anything connected
    when suspending. This makes sure any pending internal wake states in
    xHCI are cleared.

    Cc: stable@vger.kernel.org
    Tested-by: Mika Westerberg
    Signed-off-by: Mathias Nyman
    Link: https://lore.kernel.org/r/20210311115353.2137560-5-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman

    Mathias Nyman
     
  • I've confirmed that both the ASMedia ASM1042A and ASM3242 have the same
    problem as the ASM1142 and ASM2142/ASM3142, where they lose some of the
    upper bits of 64-bit DMA addresses. As with the other chips, this can
    cause problems on systems where the upper bits matter, and adding the
    XHCI_NO_64BIT_SUPPORT quirk completely fixes the issue.

    Cc: stable@vger.kernel.org
    Signed-off-by: Forest Crossman
    Signed-off-by: Mathias Nyman
    Link: https://lore.kernel.org/r/20210311115353.2137560-4-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman

    Forest Crossman
     
  • A xHC USB 3 port might miss the first wake signal from a USB 3 device
    if the port LFPS reveiver isn't enabled fast enough after xHC resume.

    xHC host will anyway be resumed by a PME# signal, but will go back to
    suspend if no port activity is seen.
    The device resends the U3 LFPS wake signal after a 100ms delay, but
    by then host is already suspended, starting all over from the
    beginning of this issue.

    USB 3 specs say U3 wake LFPS signal is sent for max 10ms, then device
    needs to delay 100ms before resending the wake.

    Don't suspend immediately if port activity isn't detected in resume.
    Instead add a retry. If there is no port activity then delay for 120ms,
    and re-check for port activity.

    Cc:
    Signed-off-by: Mathias Nyman
    Link: https://lore.kernel.org/r/20210311115353.2137560-3-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman

    Mathias Nyman
     
  • On some systems rt2800usb and mt7601u devices are unable to operate since
    commit f8f80be501aa ("xhci: Use soft retry to recover faster from
    transaction errors")

    Seems that some xHCI controllers can not perform Soft Retry correctly,
    affecting those devices.

    To avoid the problem add xhci->quirks flag that restore pre soft retry
    xhci behaviour for affected xHCI controllers. Currently those are
    AMD_PROMONTORYA_4 and AMD_PROMONTORYA_2, since it was confirmed
    by the users: on those xHCI hosts issue happen and is gone after
    disabling Soft Retry.

    [minor commit message rewording for checkpatch -Mathias]

    Fixes: f8f80be501aa ("xhci: Use soft retry to recover faster from transaction errors")
    Cc: # 4.20+
    Reported-by: Bernhard
    Tested-by: Bernhard
    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: Mathias Nyman
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=202541
    Link: https://lore.kernel.org/r/20210311115353.2137560-2-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman

    Stanislaw Gruszka
     
  • This adds a quirk for Samsung PM1725a drive which fixes timeouts and
    I/O errors due to the fact that the controller does not properly
    handle the Write Zeroes command, dmesg log:

    nvme nvme0: I/O 528 QID 10 timeout, aborting
    nvme nvme0: I/O 529 QID 10 timeout, aborting
    nvme nvme0: I/O 530 QID 10 timeout, aborting
    nvme nvme0: I/O 531 QID 10 timeout, aborting
    nvme nvme0: I/O 532 QID 10 timeout, aborting
    nvme nvme0: I/O 533 QID 10 timeout, aborting
    nvme nvme0: I/O 534 QID 10 timeout, aborting
    nvme nvme0: I/O 535 QID 10 timeout, aborting
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: I/O 528 QID 10 timeout, reset controller
    nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x10
    nvme nvme0: Device not ready; aborting reset, CSTS=0x3
    nvme nvme0: Device not ready; aborting reset, CSTS=0x3
    nvme nvme0: Removing after probe failure status: -19
    nvme0n1: detected capacity change from 6251233968 to 0
    blk_update_request: I/O error, dev nvme0n1, sector 32776 op 0x1:(WRITE) flags 0x3000 phys_seg 6 prio class 0
    blk_update_request: I/O error, dev nvme0n1, sector 113319936 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 1, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113319680 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 2, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113319424 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 3, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113319168 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 4, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113318912 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 5, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113318656 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 6, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113318400 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    blk_update_request: I/O error, dev nvme0n1, sector 113318144 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    blk_update_request: I/O error, dev nvme0n1, sector 113317888 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0

    Signed-off-by: Dmitry Monakhov
    Signed-off-by: Christoph Hellwig

    Dmitry Monakhov
     
  • In nvmet_rdma_write_data_done, rsp is recoverd by wc->wr_cqe and freed by
    nvmet_rdma_release_rsp(). But after that, pr_info() used the freed
    chunk's member object and could leak the freed chunk address with
    wc->wr_cqe by computing the offset.

    Signed-off-by: Lv Yunlong
    Signed-off-by: Christoph Hellwig

    Lv Yunlong
     
  • Ensure multiple Command Sets are supported before starting to setup a
    ZNS namespace.

    Signed-off-by: Chaitanya Kulkarni
    [hch: move the check around a bit]
    Signed-off-by: Christoph Hellwig

    Chaitanya Kulkarni
     
  • Recent patch to prevent calling __nvme_fc_abort_outstanding_ios in
    interrupt context results in a possible race condition. A controller
    reset results in errored io completions, which schedules error
    work. The change of error work to a work element allows it to fire
    after the ctrl state transition to NVME_CTRL_CONNECTING, causing
    any outstanding io (used to initialize the controller) to fail and
    cause problems for connect_work.

    Add a state check to only schedule error work if not in the RESETTING
    state.

    Fixes: 19fce0470f05 ("nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context")
    Signed-off-by: Nigel Kirkland
    Signed-off-by: James Smart
    Signed-off-by: Christoph Hellwig

    James Smart
     
  • When a command has been aborted we should return NVME_SC_HOST_ABORTED_CMD
    to be consistent with the other transports.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Sagi Grimberg
    Reviewed-by: James Smart
    Reviewed-by: Daniel Wagner
    Signed-off-by: Christoph Hellwig

    Hannes Reinecke
     
  • nvme_fc_terminate_exchange() is being called when exchanges are
    being deleted, and as such we should be setting the NVME_REQ_CANCELLED
    flag to have identical behaviour on all transports.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Keith Busch
    Reviewed-by: Sagi Grimberg
    Reviewed-by: James Smart
    Reviewed-by: Daniel Wagner
    Signed-off-by: Christoph Hellwig

    Hannes Reinecke