22 Jul, 2020

3 commits

  • commit b037d60a3b1d1227609fd858fa34321f41829911 upstream.

    Uninterruptible context is not needed in the driver and causes lockdep
    warning because of mutex taken in of_alias_get_id(). Convert the lock to
    mutex to avoid the issue.

    Cc: stable@vger.kernel.org
    Fixes: 099343c64e16 ("ARM: at91: atmel-ssc: add device tree support")
    Signed-off-by: Michał Mirosław
    Link: https://lore.kernel.org/r/50f0d7fa107f318296afb49477c3571e4d6978c5.1592998403.git.mirq-linux@rere.qmqm.pl
    Signed-off-by: Greg Kroah-Hartman

    Michał Mirosław
     
  • commit e852c2c251ed9c23ae6e3efebc5ec49adb504207 upstream.

    It's not needed to set driver to NULL in mei_cl_device_remove()
    which is bus_type remove() handler as this is done anyway
    in __device_release_driver().

    Actually this is causing an endless loop in driver_detach()
    on ubuntu patched kernel, while removing (rmmod) the mei_hdcp module.
    The reason list_empty(&drv->p->klist_devices.k_list) is always not-empty.
    as the check is always true in __device_release_driver()
    if (dev->driver != drv)
    return;

    The non upstream patch is causing this behavior, titled:
    'vfio -- release device lock before userspace requests'

    Nevertheless the fix is correct also for the upstream.

    Link: https://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20180912085046.3401-2-apw@canonical.com/
    Cc:
    Cc: Andy Whitcroft
    Signed-off-by: Alexander Usyskin
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200628225359.2185929-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Alexander Usyskin
     
  • commit 79c823c57e69d9e584a5ee4ee6406eb3854393ae upstream.

    Align the protection bits configuration of all TPC cores to be as of TPC
    core 0.

    Fixes: a513f9a7eca5 ("habanalabs: make tpc registers secured")

    Signed-off-by: Tomer Tayar
    Reviewed-by: Oded Gabbay
    Signed-off-by: Oded Gabbay
    Signed-off-by: Greg Kroah-Hartman

    Tomer Tayar
     

24 Jun, 2020

4 commits

  • [ Upstream commit 57343d51613227373759f5b0f2eede257fd4b82e ]

    This fixes the case of get_user_pages_fast() returning a -errno.
    The result needs to be stored in a signed integer. And for safe
    signed/unsigned comparisons, it's best to keep everything signed.
    And get_user_pages_fast() also expects a signed value for number
    of pages to pin.

    Therefore, change most relevant variables, from u32 to int. Leave
    "n" unsigned, for convenience in checking for overflow. And provide
    a WARN_ON_ONCE() and early return, if overflow occurs.

    Also, as long as we're tidying up: rename the page array from page,
    to pages, in order to match the conventions used in most other call
    sites.

    Fixes: 20ec628e8007e ("misc: xilinx_sdfec: Add ability to configure LDPC")
    Cc: Derek Kiernan
    Cc: Dragan Cvetic
    Cc: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Cc: Michal Simek
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: John Hubbard
    Link: https://lore.kernel.org/r/20200527012628.1100649-2-jhubbard@nvidia.com
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    John Hubbard
     
  • [ Upstream commit 7a65ee046b2238e053f6ebb610e1a082cfc49490 ]

    When doing training, the DL framework (e.g. tensorflow) performs hundreds
    of thousands of memory allocations and mappings. In case the driver needs
    to perform hard-reset during training, the driver kills the application and
    unmaps all those memory allocations. Unfortunately, because of that large
    amount of mappings, the driver isn't able to do that in the current timeout
    (5 seconds). Therefore, increase the timeout significantly to 30 seconds
    to avoid situation where the driver resets the device with active mappings,
    which sometime can cause a kernel bug.

    BTW, it doesn't mean we will spend all the 30 seconds because the reset
    thread checks every one second if the unmap operation is done.

    Reviewed-by: Omer Shpigelman
    Signed-off-by: Oded Gabbay
    Signed-off-by: Sasha Levin

    Oded Gabbay
     
  • [ Upstream commit 74003385cf716f1b88cc7753ca282f5493f204a2 ]

    fastrpc_invoke_ctx can have refcount of 2 in error path where
    rpmsg_send() fails to send invoke message. decrement the refcount
    properly in the error path to fix this leak.

    This also fixes below static checker warning:

    drivers/misc/fastrpc.c:990 fastrpc_internal_invoke()
    warn: 'ctx->refcount.refcount.ref.counter' not decremented on lines: 990.

    Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context")
    Reported-by: Dan Carpenter
    Signed-off-by: Srinivas Kandagatla
    Reviewed-by: Bjorn Andersson
    Link: https://lore.kernel.org/r/20200512110930.2550-1-srinivas.kandagatla@linaro.org
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Srinivas Kandagatla
     
  • [ Upstream commit 0978de9fc7335c73934ab8fac189fb4cb3f23191 ]

    fastrpc_channel_ctx is not freed if misc_register() fails, this would
    lead to a memory leak. Fix this leak by adding kfree in misc_register()
    error path.

    Fixes: 278d56f970ae ("misc: fastrpc: Reference count channel context")
    Signed-off-by: Srinivas Kandagatla
    Reviewed-by: Bjorn Andersson
    Link: https://lore.kernel.org/r/20200511162722.2552-1-srinivas.kandagatla@linaro.org
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Srinivas Kandagatla
     

27 May, 2020

2 commits

  • commit fc9c03ce30f79b71807961bfcb42be191af79873 upstream.

    Allow me_cl object to be freed by releasing the reference
    that was acquired by one of the search functions:
    __mei_me_cl_by_uuid_id() or __mei_me_cl_by_uuid()

    Cc:
    Reported-by: 亿一
    Signed-off-by: Alexander Usyskin
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200512223140.32186-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Alexander Usyskin
     
  • commit 7a839dbab1be59f5ed3b3b046de29e166784c9b4 upstream.

    DMA transfers to and from the SD card stall for 10 seconds and run into
    timeout on RTS5260 card readers after ASPM was enabled.

    Adding a short msleep after disabling ASPM fixes the issue on several
    Dell Precision 7530/7540 systems I tested.

    This function is only called when waking up after the chip went into
    power-save after not transferring data for a few seconds. The added
    msleep does therefore not change anything in data transfer speed or
    induce any excessive waiting while data transfers are running, or the
    chip is sleeping. Only the transition from sleep to active is affected.

    Signed-off-by: Klaus Doth
    Cc: stable
    Link: https://lore.kernel.org/r/4434eaa7-2ee3-a560-faee-6cee63ebd6d4@doth.eu
    Signed-off-by: Greg Kroah-Hartman

    Klaus Doth
     

08 Apr, 2020

4 commits

  • commit 99397d33b763dc554d118aaa38cc5abc6ce985de upstream.

    Add Cedar Fork (CDF) device ids, those belongs to the cannon point family.

    Cc:
    Signed-off-by: Alexander Usyskin
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200324210730.17672-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Alexander Usyskin
     
  • commit b2ba9225e0313b1de631a44b7b48c109032bffec upstream.

    commit e03327122e2c ("pci_endpoint_test: Add 2 ioctl commands")
    uses module parameter 'irqtype' in pci_endpoint_test_set_irq()
    to check if IRQ vectors of a particular type (MSI or MSI-X or
    LEGACY) is already allocated. However with multi-function devices,
    'irqtype' will not correctly reflect the IRQ type of the PCI device.

    Fix it here by adding 'irqtype' for each PCI device to show the
    IRQ type of a particular PCI device.

    Fixes: e03327122e2c ("pci_endpoint_test: Add 2 ioctl commands")
    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Lorenzo Pieralisi
    Cc: stable@vger.kernel.org # v4.19+
    Signed-off-by: Greg Kroah-Hartman

    Kishon Vijay Abraham I
     
  • commit 6b443e5c80b67a7b8a85b33d052d655ef9064e90 upstream.

    Adding more than 10 pci-endpoint-test devices results in
    "kobject_add_internal failed for pci-endpoint-test.1 with -EEXIST, don't
    try to register things with the same name in the same directory". This
    is because commit 2c156ac71c6b ("misc: Add host side PCI driver for PCI
    test function device") limited the length of the "name" to 20 characters.
    Change the length of the name to 24 in order to support upto 10000
    pci-endpoint-test devices.

    Fixes: 2c156ac71c6b ("misc: Add host side PCI driver for PCI test function device")
    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Lorenzo Pieralisi
    Cc: stable@vger.kernel.org # v4.14+
    Signed-off-by: Greg Kroah-Hartman

    Kishon Vijay Abraham I
     
  • commit 10cea23b6aae15e8324f4101d785687f2c514fe5 upstream.

    rts522a should use rts522a_pcr_ops, which is
    diffrent with rts5227 in phy/hw init setting.

    Fixes: ce6a5acc9387 ("mfd: rtsx: Add support for rts522A")
    Signed-off-by: YueHaibing
    Cc: stable
    Link: https://lore.kernel.org/r/20200326032618.20472-1-yuehaibing@huawei.com
    Signed-off-by: Greg Kroah-Hartman

    YueHaibing
     

25 Mar, 2020

2 commits

  • commit 4686392c32361c97e8434adf9cc77ad7991bfa81 upstream.

    The TX/RX register should not be treated the same way to allow for better
    support of tuning. Fix this by using a default initial value for TX.

    Signed-off-by: Ricky Wu
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20200316025232.1167-1-ricky_wu@realtek.com
    [Ulf: Updated changelog]
    Signed-off-by: Ulf Hansson
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Greg Kroah-Hartman

    Ricky Wu
     
  • [ Upstream commit 3745488e9d599916a0b40d45d3f30e3d4720288e ]

    altera_get_note is called from altera_init, where key is kzalloc(33).

    When the allocation functions are annotated to allow the compiler to see
    the sizes of objects, and with FORTIFY_SOURCE, we see:

    In file included from drivers/misc/altera-stapl/altera.c:14:0:
    In function ‘strlcpy’,
    inlined from ‘altera_init’ at drivers/misc/altera-stapl/altera.c:2189:5:
    include/linux/string.h:378:4: error: call to ‘__write_overflow’ declared with attribute error: detected write beyond size of object passed as 1st parameter
    __write_overflow();
    ^~~~~~~~~~~~~~~~~~

    That refers to this code in altera_get_note:

    if (key != NULL)
    strlcpy(key, &p[note_strings +
    get_unaligned_be32(
    &p[note_table + (8 * i)])],
    length);

    The error triggers because the length of 'key' is 33, but the copy
    uses length supplied as the 'length' parameter, which is always
    256. Split the size parameter into key_len and val_len, and use the
    appropriate length depending on what is being copied.

    Detected by compiler error, only compile-tested.

    Cc: "Igor M. Liplianin"
    Signed-off-by: Daniel Axtens
    Link: https://lore.kernel.org/r/20200120074344.504-2-dja@axtens.net
    Signed-off-by: Kees Cook
    Link: https://lore.kernel.org/r/202002251042.D898E67AC@keescook
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Daniel Axtens
     

12 Mar, 2020

3 commits

  • [ Upstream commit cf01514c5c6efa2d521d35e68dff2e0674d08e91 ]

    During device memory memset, the driver allocates and use a CB (command
    buffer). To reuse existing code, it keeps a pointer to the CB in two
    variables, user_cb and patched_cb. Therefore, there is no need to "put"
    both the user_cb and patched_cb, as it will cause an underflow of the
    refcnt of the CB.

    Signed-off-by: Oded Gabbay
    Signed-off-by: Sasha Levin

    Oded Gabbay
     
  • [ Upstream commit a37e47192dfa98f79a0cd5ab991c224b5980c982 ]

    During hard reset we must not write to the device.
    Hence avoid halting CoreSight during user context close if it is done
    during hard reset.
    In addition, we must not re-enable clock gating afterwards as it was
    deliberately disabled in the beginning of the hard reset flow.

    Signed-off-by: Omer Shpigelman
    Reviewed-by: Oded Gabbay
    Signed-off-by: Oded Gabbay
    Signed-off-by: Sasha Levin

    Omer Shpigelman
     
  • [ Upstream commit 908087ffbe896c100ed73d5f0ce11a5b7264af4a ]

    The driver must halt the engines before doing hard-reset, otherwise the
    device can go into undefined state. There is a place where the driver
    didn't do that and this patch fixes it.

    Reviewed-by: Tomer Tayar
    Signed-off-by: Oded Gabbay
    Signed-off-by: Sasha Levin

    Oded Gabbay
     

24 Feb, 2020

1 commit

  • [ Upstream commit fa4e7fc1386078edcfddd8848cb0374f4af74fe7 ]

    xsdfec_poll() is defined as returning 'unsigned int' but the
    .poll method is declared as returning '__poll_t', a bitwise type.

    Fix this by using the proper return type and using the EPOLL
    constants instead of the POLL ones, as required for __poll_t.

    CC: Derek Kiernan
    CC: Dragan Cvetic
    Signed-off-by: Luc Van Oostenryck
    Acked-by: Dragan Cvetic
    Link: https://lore.kernel.org/r/20191209213655.57985-1-luc.vanoostenryck@gmail.com
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Luc Van Oostenryck
     

06 Feb, 2020

1 commit

  • [ Upstream commit 0e31e3573f0cd94d7b821117db854187ffc85765 ]

    When building ARCH=um with CONFIG_UML_X86=y and CONFIG_64BIT=y we get
    the build errors:

    drivers/misc/lkdtm/bugs.c: In function ‘lkdtm_UNSET_SMEP’:
    drivers/misc/lkdtm/bugs.c:288:8: error: implicit declaration of function ‘native_read_cr4’ [-Werror=implicit-function-declaration]
    cr4 = native_read_cr4();
    ^~~~~~~~~~~~~~~
    drivers/misc/lkdtm/bugs.c:290:13: error: ‘X86_CR4_SMEP’ undeclared (first use in this function); did you mean ‘X86_FEATURE_SMEP’?
    if ((cr4 & X86_CR4_SMEP) != X86_CR4_SMEP) {
    ^~~~~~~~~~~~
    X86_FEATURE_SMEP
    drivers/misc/lkdtm/bugs.c:290:13: note: each undeclared identifier is reported only once for each function it appears in
    drivers/misc/lkdtm/bugs.c:297:2: error: implicit declaration of function ‘native_write_cr4’; did you mean ‘direct_write_cr4’? [-Werror=implicit-function-declaration]
    native_write_cr4(cr4);
    ^~~~~~~~~~~~~~~~
    direct_write_cr4

    So specify that this block of code should only build when
    CONFIG_X86_64=y *AND* CONFIG_UML is unset.

    Signed-off-by: Brendan Higgins
    Acked-by: Kees Cook
    Link: https://lore.kernel.org/r/20191213003522.66450-1-brendanhiggins@google.com
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Brendan Higgins
     

01 Feb, 2020

2 commits

  • commit 559e575a8946a6561dfe8880de341d4ef78d5994 upstream.

    Add Comet Point device IDs for Comet Lake H platforms.

    Cc:
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20200119094229.20116-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     
  • commit 1e8d19d9b0dfcf11b61bac627203a290577e807a upstream.

    The mei device and i915 must reside on the same
    PCH in order for HDCP to work. Make the component
    matching function enforce this requirement.

    hdcp
    |
    i915 mei
    | |
    +----= PCH =----+

    Cc: v5.0+
    Cc: Ramalingam C
    Signed-off-by: Tomas Winkler
    Reviewed-by: Alexander Usyskin
    Link: https://lore.kernel.org/r/20191212084103.2893-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     

18 Jan, 2020

1 commit

  • commit 529244bd1afc102ab164429d338d310d5d65e60d upstream.

    Doing an add/remove/add on a SCSI device in an enclosure leads to an oops
    caused by poisoned values in the enclosure device list pointers. The
    reason is because we are keeping the enclosure device across the enclosed
    device add/remove/add but the current code is doing a
    device_add/device_del/device_add on it. This is the wrong thing to do in
    sysfs, so fix it by not doing a device_del on the enclosure device simply
    because of a hot remove of the drive in the slot.

    [mkp: added missing email addresses]

    Fixes: 43d8eb9cfd0a ("[SCSI] ses: add support for enclosure component hot removal")
    Link: https://lore.kernel.org/r/1578532892.3852.10.camel@HansenPartnership.com
    Signed-off-by: James Bottomley
    Reported-by: Luo Jiaxing
    Tested-by: John Garry
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Greg Kroah-Hartman

    James Bottomley
     

12 Jan, 2020

3 commits

  • [ Upstream commit 68a1fdf2451f38b4ada0607eb6e1303f8a02e0b7 ]

    Fixes gcc '-Wunused-but-set-variable' warning:

    drivers/misc/habanalabs/goya/goya.c: In function goya_pldm_init_cpu:
    drivers/misc/habanalabs/goya/goya.c:2195:6: warning: variable val set but not used [-Wunused-but-set-variable]
    drivers/misc/habanalabs/goya/goya.c: In function goya_hw_init:
    drivers/misc/habanalabs/goya/goya.c:2505:6: warning: variable val set but not used [-Wunused-but-set-variable]

    Fixes: 9494a8dd8d22 ("habanalabs: add h/w queues module")
    Signed-off-by: Chen Wandun
    Reviewed-by: Oded Gabbay
    Signed-off-by: Oded Gabbay
    Signed-off-by: Sasha Levin

    Chen Wandun
     
  • [ Upstream commit 018e0e3594f7dcd029d258e368c485e742fa9cdb ]

    In case a user submits a CS, and the submission fails, and the user doesn't
    check the return value and instead use the error return value as a valid
    sequence number of a CS and ask to wait on it, the driver will print an
    error and return an error code for that wait.

    The real problem happens if now the user ignores the error of the wait, and
    try to wait again and again. This can lead to a flood of error messages
    from the driver and even soft lockup event.

    Signed-off-by: Oded Gabbay
    Reviewed-by: Tomer Tayar
    Signed-off-by: Sasha Levin

    Oded Gabbay
     
  • [ Upstream commit 913e73c77d48aeeb50c16450a653dca9c71ae2e2 ]

    If we couldn't fully init a context, we were leaking memory.

    Fixes: b9721d275cc2 ("ocxl: Allow external drivers to use OpenCAPI contexts")
    Signed-off-by: Frederic Barrat
    Acked-by: Andrew Donnellan
    Reviewed-by: Greg Kurz
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/20191209105513.8566-1-fbarrat@linux.ibm.com
    Signed-off-by: Sasha Levin

    Frederic Barrat
     

05 Jan, 2020

1 commit

  • [ Upstream commit 71c5e55e7c077fa17c42fbda91a8d14322825c44 ]

    Reduce context close time by skipping the VA block free list update in
    order to avoid hard reset with open contexts.
    Reset with open contexts can potentially lead to a kernel crash as the
    generic pool of the MMU hops is destroyed while it is not empty because
    some unmap operations are not done.
    The commit affect mainly when running on simulator.

    Signed-off-by: Omer Shpigelman
    Reviewed-by: Oded Gabbay
    Signed-off-by: Oded Gabbay
    Signed-off-by: Sasha Levin

    Omer Shpigelman
     

31 Dec, 2019

2 commits

  • commit a58d37bce0d21cf7fbd589384c619e465ef2f927 upstream.

    If an ocxl device is unbound through sysfs at the same time its AFU is
    being opened by a user process, the open code may dereference freed
    stuctures, which can lead to kernel oops messages. You'd have to hit a
    tiny time window, but it's possible. It's fairly easy to test by
    making the time window bigger artificially.

    Fix it with a combination of 2 changes:
    - when an AFU device is found in the IDR by looking for the device
    minor number, we should hold a reference on the device until after
    the context is allocated. A reference on the AFU structure is kept
    when the context is allocated, so we can release the reference on
    the device after the context allocation.
    - with the fix above, there's still another even tinier window,
    between the time the AFU device is found in the IDR and the
    reference on the device is taken. We can fix this one by removing
    the IDR entry earlier, when the device setup is removed, instead
    of waiting for the 'release' device callback. With proper locking
    around the IDR.

    Fixes: 75ca758adbaf ("ocxl: Create a clear delineation between ocxl backend & frontend")
    Cc: stable@vger.kernel.org # v5.2+
    Signed-off-by: Frederic Barrat
    Reviewed-by: Greg Kurz
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/20190624144148.32022-1-fbarrat@linux.ibm.com
    Signed-off-by: Greg Kroah-Hartman

    Frederic Barrat
     
  • [ Upstream commit 2d10d2d170723e9278282458a6704552dcb77eac ]

    Fix a memory leak in miscdev->name by using devm_variant

    Orignally reported by kmemleak:
    [] kmemleak_alloc+0x50/0x84
    [] __kmalloc_track_caller+0xe8/0x168
    [] kvasprintf+0x78/0x100
    [] kasprintf+0x50/0x74
    [] fastrpc_rpmsg_probe+0xd8/0x20c
    [] rpmsg_dev_probe+0xa8/0x148
    [] really_probe+0x208/0x248
    [] driver_probe_device+0x98/0xc0
    [] __device_attach_driver+0x9c/0xac
    [] bus_for_each_drv+0x60/0x8c
    [] __device_attach+0x8c/0x100
    [] device_initial_probe+0x20/0x28
    [] bus_probe_device+0x34/0x7c
    [] device_add+0x420/0x498
    [] device_register+0x24/0x2c

    Signed-off-by: Srinivas Kandagatla
    Reviewed-by: Bjorn Andersson
    Link: https://lore.kernel.org/r/20191009144123.24583-3-srinivas.kandagatla@linaro.org
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Srinivas Kandagatla
     

05 Dec, 2019

2 commits

  • commit 82b29b9f72afdccb40ea5f3c13c6a3cb65a597bc upstream.

    Comet Point (Comet Lake) V device id.

    Cc:
    Signed-off-by: Alexander Usyskin
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20191105150514.14010-2-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Alexander Usyskin
     
  • commit 7a2b9e6ec84588b0be65cc0ae45a65bac431496b upstream.

    Add parent device name to the name of devices on bus to avoid
    device names collisions for same client UUID available
    from different MEI heads. Namely this prevents sysfs collision under
    /sys/bus/mei/device/

    In the device part leave just UUID other parameters that are
    required for device matching are not required here and are
    just bloating the name.

    Cc:
    Signed-off-by: Alexander Usyskin
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20191105150514.14010-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Alexander Usyskin
     

05 Oct, 2019

1 commit


04 Oct, 2019

2 commits

  • The fixed MKHI client on PCH 6 gen platforms
    does not support fw version retrieval.
    The error is not fatal, but it fills up the kernel logs and
    slows down the driver start.
    This patch disables requesting FW version on GEN6 and earlier platforms.

    Fixes warning:
    [ 15.964298] mei mei::55213584-9a29-4916-badf-0fb7ed682aeb:01: Could not read FW version
    [ 15.964301] mei mei::55213584-9a29-4916-badf-0fb7ed682aeb:01: version command failed -5

    Cc: +v4.18
    Cc: Paul Menzel
    Signed-off-by: Alexander Usyskin
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20191004181722.31374-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Alexander Usyskin
     
  • Add Comet Point devices IDs for Comet Lake U platforms.

    Cc:
    Signed-off-by: Tomas Winkler
    Link: https://lore.kernel.org/r/20191001235958.19979-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     

25 Sep, 2019

1 commit

  • Pull i2c updates from Wolfram Sang:

    - new driver for ICY, an Amiga Zorro card :)

    - axxia driver gained slave mode support, NXP driver gained ACPI

    - the slave EEPROM backend gained 16 bit address support

    - and lots of regular driver updates and reworks

    * 'i2c/for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits)
    i2c: tegra: Move suspend handling to NOIRQ phase
    i2c: imx: ACPI support for NXP i2c controller
    i2c: uniphier(-f): remove all dev_dbg()
    i2c: uniphier(-f): use devm_platform_ioremap_resource()
    i2c: slave-eeprom: Add comment about address handling
    i2c: exynos5: Remove IRQF_ONESHOT
    i2c: stm32f7: Make structure stm32f7_i2c_algo constant
    i2c: cht-wc: drop check because i2c_unregister_device() is NULL safe
    i2c-eeprom_slave: Add support for more eeprom models
    i2c: fsi: Add of_put_node() before break
    i2c: synquacer: Make synquacer_i2c_ops constant
    i2c: hix5hd2: Remove IRQF_ONESHOT
    i2c: i801: Use iTCO version 6 in Cannon Lake PCH and beyond
    watchdog: iTCO: Add support for Cannon Lake PCH iTCO
    i2c: iproc: Make bcm_iproc_i2c_quirks constant
    i2c: iproc: Add full name of devicetree node to adapter name
    i2c: piix4: Add ACPI support
    i2c: piix4: Fix probing of reserved ports on AMD Family 16h Model 30h
    i2c: ocores: use request_any_context_irq() to register IRQ handler
    i2c: designware: Fix optional reset error handling
    ...

    Linus Torvalds
     

22 Sep, 2019

1 commit

  • Pull hmm updates from Jason Gunthorpe:
    "This is more cleanup and consolidation of the hmm APIs and the very
    strongly related mmu_notifier interfaces. Many places across the tree
    using these interfaces are touched in the process. Beyond that a
    cleanup to the page walker API and a few memremap related changes
    round out the series:

    - General improvement of hmm_range_fault() and related APIs, more
    documentation, bug fixes from testing, API simplification &
    consolidation, and unused API removal

    - Simplify the hmm related kconfigs to HMM_MIRROR and DEVICE_PRIVATE,
    and make them internal kconfig selects

    - Hoist a lot of code related to mmu notifier attachment out of
    drivers by using a refcount get/put attachment idiom and remove the
    convoluted mmu_notifier_unregister_no_release() and related APIs.

    - General API improvement for the migrate_vma API and revision of its
    only user in nouveau

    - Annotate mmu_notifiers with lockdep and sleeping region debugging

    Two series unrelated to HMM or mmu_notifiers came along due to
    dependencies:

    - Allow pagemap's memremap_pages family of APIs to work without
    providing a struct device

    - Make walk_page_range() and related use a constant structure for
    function pointers"

    * tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (75 commits)
    libnvdimm: Enable unit test infrastructure compile checks
    mm, notifier: Catch sleeping/blocking for !blockable
    kernel.h: Add non_block_start/end()
    drm/radeon: guard against calling an unpaired radeon_mn_unregister()
    csky: add missing brackets in a macro for tlb.h
    pagewalk: use lockdep_assert_held for locking validation
    pagewalk: separate function pointers from iterator data
    mm: split out a new pagewalk.h header from mm.h
    mm/mmu_notifiers: annotate with might_sleep()
    mm/mmu_notifiers: prime lockdep
    mm/mmu_notifiers: add a lockdep map for invalidate_range_start/end
    mm/mmu_notifiers: remove the __mmu_notifier_invalidate_range_start/end exports
    mm/hmm: hmm_range_fault() infinite loop
    mm/hmm: hmm_range_fault() NULL pointer bug
    mm/hmm: fix hmm_range_fault()'s handling of swapped out pages
    mm/mmu_notifiers: remove unregister_no_release
    RDMA/odp: remove ib_ucontext from ib_umem
    RDMA/odp: use mmu_notifier_get/put for 'struct ib_ucontext_per_mm'
    RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr
    RDMA/mlx5: Use ib_umem_start instead of umem.address
    ...

    Linus Torvalds
     

21 Sep, 2019

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "This is a bit late, partly due to me travelling, and partly due to a
    power outage knocking out some of my test systems *while* I was
    travelling.

    - Initial support for running on a system with an Ultravisor, which
    is software that runs below the hypervisor and protects guests
    against some attacks by the hypervisor.

    - Support for building the kernel to run as a "Secure Virtual
    Machine", ie. as a guest capable of running on a system with an
    Ultravisor.

    - Some changes to our DMA code on bare metal, to allow devices with
    medium sized DMA masks (> 32 && < 59 bits) to use more than 2GB of
    DMA space.

    - Support for firmware assisted crash dumps on bare metal (powernv).

    - Two series fixing bugs in and refactoring our PCI EEH code.

    - A large series refactoring our exception entry code to use gas
    macros, both to make it more readable and also enable some future
    optimisations.

    As well as many cleanups and other minor features & fixups.

    Thanks to: Adam Zerella, Alexey Kardashevskiy, Alistair Popple, Andrew
    Donnellan, Aneesh Kumar K.V, Anju T Sudhakar, Anshuman Khandual,
    Balbir Singh, Benjamin Herrenschmidt, Cédric Le Goater, Christophe
    JAILLET, Christophe Leroy, Christopher M. Riedl, Christoph Hellwig,
    Claudio Carvalho, Daniel Axtens, David Gibson, David Hildenbrand,
    Desnes A. Nunes do Rosario, Ganesh Goudar, Gautham R. Shenoy, Greg
    Kurz, Guerney Hunt, Gustavo Romero, Halil Pasic, Hari Bathini, Joakim
    Tjernlund, Jonathan Neuschafer, Jordan Niethe, Leonardo Bras, Lianbo
    Jiang, Madhavan Srinivasan, Mahesh Salgaonkar, Mahesh Salgaonkar,
    Masahiro Yamada, Maxiwell S. Garcia, Michael Anderson, Nathan
    Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas Piggin, Oliver
    O'Halloran, Qian Cai, Ram Pai, Ravi Bangoria, Reza Arbab, Ryan Grimm,
    Sam Bobroff, Santosh Sivaraj, Segher Boessenkool, Sukadev Bhattiprolu,
    Thiago Bauermann, Thiago Jung Bauermann, Thomas Gleixner, Tom
    Lendacky, Vasant Hegde"

    * tag 'powerpc-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (264 commits)
    powerpc/mm/mce: Keep irqs disabled during lockless page table walk
    powerpc: Use ftrace_graph_ret_addr() when unwinding
    powerpc/ftrace: Enable HAVE_FUNCTION_GRAPH_RET_ADDR_PTR
    ftrace: Look up the address of return_to_handler() using helpers
    powerpc: dump kernel log before carrying out fadump or kdump
    docs: powerpc: Add missing documentation reference
    powerpc/xmon: Fix output of XIVE IPI
    powerpc/xmon: Improve output of XIVE interrupts
    powerpc/mm/radix: remove useless kernel messages
    powerpc/fadump: support holes in kernel boot memory area
    powerpc/fadump: remove RMA_START and RMA_END macros
    powerpc/fadump: update documentation about option to release opalcore
    powerpc/fadump: consider f/w load area
    powerpc/opalcore: provide an option to invalidate /sys/firmware/opal/core file
    powerpc/opalcore: export /sys/firmware/opal/core for analysing opal crashes
    powerpc/fadump: update documentation about CONFIG_PRESERVE_FA_DUMP
    powerpc/fadump: add support to preserve crash data on FADUMP disabled kernel
    powerpc/fadump: improve how crashed kernel's memory is reserved
    powerpc/fadump: consider reserved ranges while releasing memory
    powerpc/fadump: make crash memory ranges array allocation generic
    ...

    Linus Torvalds
     

19 Sep, 2019

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver pull request for 5.4-rc1.

    As has been happening in previous releases, more and more individual
    driver subsystem trees are ending up in here. Now if that is good or
    bad I can't tell, but hopefully it makes your life easier as it's more
    of an aggregation of trees together to one merge point for you.

    Anyway, lots of stuff in here:
    - habanalabs driver updates
    - thunderbolt driver updates
    - misc driver updates
    - coresight and intel_th hwtracing driver updates
    - fpga driver updates
    - extcon driver updates
    - some dma driver updates
    - char driver updates
    - android binder driver updates
    - nvmem driver updates
    - phy driver updates
    - parport driver fixes
    - pcmcia driver fix
    - uio driver updates
    - w1 driver updates
    - configfs fixes
    - other assorted driver updates

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

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (200 commits)
    misc: mic: Use PTR_ERR_OR_ZERO rather than its implementation
    habanalabs: correctly cast variable to __le32
    habanalabs: show correct id in error print
    habanalabs: stop using the acronym KMD
    habanalabs: display card name as sensors header
    habanalabs: add uapi to retrieve aggregate H/W events
    habanalabs: add uapi to retrieve device utilization
    habanalabs: Make the Coresight timestamp perpetual
    habanalabs: explicitly set the queue-id enumerated numbers
    habanalabs: print to kernel log when reset is finished
    habanalabs: replace __le32_to_cpu with le32_to_cpu
    habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64
    habanalabs: Handle HW_IP_INFO if device disabled or in reset
    habanalabs: Expose devices after initialization is done
    habanalabs: improve security in Debug IOCTL
    habanalabs: use default structure for user input in Debug IOCTL
    habanalabs: Add descriptive name to PSOC app status register
    habanalabs: Add descriptive names to PSOC scratch-pad registers
    habanalabs: create two char devices per ASIC
    habanalabs: change device_setup_cdev() to be more generic
    ...

    Linus Torvalds
     

18 Sep, 2019

1 commit

  • …anaszewski/linux-leds

    Pull LED updates from Jacek Anaszewski:
    "In this cycle we've finally managed to contribute the patch set
    sorting out LED naming issues. Besides that there are many changes
    scattered among various LED class drivers and triggers.

    LED naming related improvements:

    - add new 'function' and 'color' fwnode properties and deprecate
    'label' property which has been frequently abused for conveying
    vendor specific names that have been available in sysfs anyway

    - introduce a set of standard LED_FUNCTION* definitions

    - introduce a set of standard LED_COLOR_ID* definitions

    - add a new {devm_}led_classdev_register_ext() API with the
    capability of automatic LED name composition basing on the
    properties available in the passed fwnode; the function is
    backwards compatible in a sense that it uses 'label' data, if
    present in the fwnode, for creating LED name

    - add tools/leds/get_led_device_info.sh script for retrieving LED
    vendor, product and bus names, if applicable; it also performs
    basic validation of an LED name

    - update following drivers and their DT bindings to use the new LED
    registration API:

    - leds-an30259a, leds-gpio, leds-as3645a, leds-aat1290, leds-cr0014114,
    leds-lm3601x, leds-lm3692x, leds-lp8860, leds-lt3593, leds-sc27xx-blt

    Other LED class improvements:

    - replace {devm_}led_classdev_register() macros with inlines

    - allow to call led_classdev_unregister() unconditionally

    - switch to use fwnode instead of be stuck with OF one

    LED triggers improvements:

    - led-triggers:
    - fix dereferencing of null pointer
    - fix a memory leak bug

    - ledtrig-gpio:
    - GPIO 0 is valid

    Drop superseeded apu2/3 support from leds-apu since for apu2+ a newer,
    more complete driver exists, based on a generic driver for the AMD
    SOCs gpio-controller, supporting LEDs as well other devices:

    - drop profile field from priv data

    - drop iosize field from priv data

    - drop enum_apu_led_platform_types

    - drop superseeded apu2/3 led support

    - add pr_fmt prefix for better log output

    - fix error message on probing failure

    Other misc fixes and improvements to existing LED class drivers:

    - leds-ns2, leds-max77650:
    - add of_node_put() before return

    - leds-pwm, leds-is31fl32xx:
    - use struct_size() helper

    - leds-lm3697, leds-lm36274, leds-lm3532:
    - switch to use fwnode_property_count_uXX()

    - leds-lm3532:
    - fix brightness control for i2c mode
    - change the define for the fs current register
    - fixes for the driver for stability
    - add full scale current configuration
    - dt: Add property for full scale current.
    - avoid potentially unpaired regulator calls
    - move static keyword to the front of declarations
    - fix optional led-max-microamp prop error handling

    - leds-max77650:
    - add of_node_put() before return
    - add MODULE_ALIAS()
    - Switch to fwnode property API

    - leds-as3645a:
    - fix misuse of strlcpy

    - leds-netxbig:
    - add of_node_put() in netxbig_leds_get_of_pdata()
    - remove legacy board-file support

    - leds-is31fl319x:
    - simplify getting the adapter of a client

    - leds-ti-lmu-common:
    - fix coccinelle issue
    - move static keyword to the front of declaration

    - leds-syscon:
    - use resource managed variant of device register

    - leds-ktd2692:
    - fix a typo in the name of a constant

    - leds-lp5562:
    - allow firmware files up to the maximum length

    - leds-an30259a:
    - fix typo

    - leds-pca953x:
    - include the right header"

    * tag 'leds-for-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (72 commits)
    leds: lm3532: Fix optional led-max-microamp prop error handling
    led: triggers: Fix dereferencing of null pointer
    leds: ti-lmu-common: Move static keyword to the front of declaration
    leds: lm3532: Move static keyword to the front of declarations
    leds: trigger: gpio: GPIO 0 is valid
    leds: pwm: Use struct_size() helper
    leds: is31fl32xx: Use struct_size() helper
    leds: ti-lmu-common: Fix coccinelle issue in TI LMU
    leds: lm3532: Avoid potentially unpaired regulator calls
    leds: syscon: Use resource managed variant of device register
    leds: Replace {devm_}led_classdev_register() macros with inlines
    leds: Allow to call led_classdev_unregister() unconditionally
    leds: lm3532: Add full scale current configuration
    dt: lm3532: Add property for full scale current.
    leds: lm3532: Fixes for the driver for stability
    leds: lm3532: Change the define for the fs current register
    leds: lm3532: Fix brightness control for i2c mode
    leds: Switch to use fwnode instead of be stuck with OF one
    leds: max77650: Switch to fwnode property API
    led: triggers: Fix a memory leak bug
    ...

    Linus Torvalds
     

17 Sep, 2019

1 commit

  • Pull ia64 updates from Tony Luck:
    "The big change here is removal of support for SGI Altix"

    * tag 'please-pull-ia64_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: (33 commits)
    genirq: remove the is_affinity_mask_valid hook
    ia64: remove CONFIG_SWIOTLB ifdefs
    ia64: remove support for machvecs
    ia64: move the screen_info setup to common code
    ia64: move the ROOT_DEV setup to common code
    ia64: rework iommu probing
    ia64: remove the unused sn_coherency_id symbol
    ia64: remove the SGI UV simulator support
    ia64: remove the zx1 swiotlb machvec
    ia64: remove CONFIG_ACPI ifdefs
    ia64: remove CONFIG_PCI ifdefs
    ia64: remove the hpsim platform
    ia64: remove now unused machvec indirections
    ia64: remove support for the SGI SN2 platform
    drivers: remove the SGI SN2 IOC4 base support
    drivers: remove the SGI SN2 IOC3 base support
    qla2xxx: remove SGI SN2 support
    qla1280: remove SGI SN2 support
    misc/sgi-xp: remove SGI SN2 support
    char/mspec: remove SGI SN2 support
    ...

    Linus Torvalds