27 Mar, 2018

1 commit


24 Jan, 2018

1 commit


08 Aug, 2017

4 commits

  • TI-Feature: ti_linux_base_lsk
    TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
    TI-Branch: ti-linux-4.9.y

    * 'ti-linux-4.9.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
    ti_config_fragments/connectivity.cfg: Enable PCIe Endpoint in Keystone

    Signed-off-by: Dan Murphy

    Dan Murphy
     
  • TI-Feature: ti_linux_base_lsk
    TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
    TI-Branch: ti-linux-4.9.y

    * 'ti-linux-4.9.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (111 commits)
    Linux 4.9.41
    ASoC: dpcm: Avoid putting stream state to STOP when FE stream is paused
    ASoC: Intel: Skylake: Release FW ctx in cleanup
    scsi: bfa: Increase requested firmware version to 3.2.5.1
    scsi: snic: Return error code on memory allocation failure
    scsi: fnic: Avoid sending reset to firmware when another reset is in progress
    HID: ignore Petzl USB headlamp
    ASoC: Intel: bytcr-rt5640: fix settings in internal clock mode
    perf/x86: Set pmu->module in Intel PMU modules
    x86/platform/intel-mid: Rename 'spidev' to 'mrfld_spidev'
    ALSA: usb-audio: test EP_FLAG_RUNNING at urb completion
    ARCv2: IRQ: Call entry/exit functions for chained handlers in MCIP
    sh_eth: enable RX descriptor word 0 shift on SH7734
    ASoC: fsl_ssi: set fifo watermark to more reliable value
    net: usb: asix_devices: add .reset_resume for USB PM
    nvmem: imx-ocotp: Fix wrong register size
    arm64: mm: fix show_pte KERN_CONT fallout
    vfio-pci: Handle error from pci_iomap
    video: fbdev: cobalt_lcdfb: Handle return NULL error from devm_ioremap
    perf symbols: Robustify reading of build-id from sysfs
    ...

    Signed-off-by: Dan Murphy

    Dan Murphy
     
  • …gration-tree/connectivity-ti-linux-kernel into ti-linux-4.9.y

    TI-Feature: connectivity
    TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
    TI-Branch: connectivity-ti-linux-4.9.y

    * 'connectivity-ti-linux-4.9.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
    ti_config_fragments/connectivity.cfg: Enable PCIe Endpoint in Keystone

    Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>

    LCPD Auto Merger
     
  • Enable PCIe Endpoint in Keystone.

    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Sekhar Nori

    Kishon Vijay Abraham I
     

07 Aug, 2017

34 commits

  • …ux-stable into ti-linux-4.9.y

    This is the 4.9.41 stable release

    * tag 'v4.9.41' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (106 commits)
    Linux 4.9.41
    ASoC: dpcm: Avoid putting stream state to STOP when FE stream is paused
    ASoC: Intel: Skylake: Release FW ctx in cleanup
    scsi: bfa: Increase requested firmware version to 3.2.5.1
    scsi: snic: Return error code on memory allocation failure
    scsi: fnic: Avoid sending reset to firmware when another reset is in progress
    HID: ignore Petzl USB headlamp
    ASoC: Intel: bytcr-rt5640: fix settings in internal clock mode
    perf/x86: Set pmu->module in Intel PMU modules
    x86/platform/intel-mid: Rename 'spidev' to 'mrfld_spidev'
    ALSA: usb-audio: test EP_FLAG_RUNNING at urb completion
    ARCv2: IRQ: Call entry/exit functions for chained handlers in MCIP
    sh_eth: enable RX descriptor word 0 shift on SH7734
    ASoC: fsl_ssi: set fifo watermark to more reliable value
    net: usb: asix_devices: add .reset_resume for USB PM
    nvmem: imx-ocotp: Fix wrong register size
    arm64: mm: fix show_pte KERN_CONT fallout
    vfio-pci: Handle error from pci_iomap
    video: fbdev: cobalt_lcdfb: Handle return NULL error from devm_ioremap
    perf symbols: Robustify reading of build-id from sysfs
    ...

    Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>

    LCPD Auto Merger
     
  • Greg Kroah-Hartman
     
  • [ Upstream commit 9f169b9f52a4afccdab7a7d2311b0c53a78a1e6b ]

    When multiple front-ends are using the same back-end, putting state of a
    front-end to STOP state upon receiving pause command will result in backend
    stream getting released by DPCM framework unintentionally. In order to
    avoid backend to be released when another active front-end stream is
    present, put the stream state to PAUSED state instead of STOP state.

    Signed-off-by: Patrick Lai
    Signed-off-by: Mark Brown
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Patrick Lai
     
  • [ Upstream commit bc65a326c579e93a5c2120a65ede72f11369ee5a ]

    Saved firmware ctx was not never released, so release Firmware
    ctx in cleanup routine.

    Signed-off-by: Jeeja KP
    Acked-by: Vinod Koul
    Signed-off-by: Mark Brown
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Jeeja KP
     
  • [ Upstream commit 2d1148f0f45079d25a0fa0d67e4fdb2a656d12fb ]

    bna & bfa firmware version 3.2.5.1 was submitted to linux-firmware on
    Feb 17 19:10:20 2015 -0500 in 0ab54ff1dc ("linux-firmware: Add QLogic BR
    Series Adapter Firmware").

    bna was updated to use the newer firmware on Feb 19 16:02:32 2015 -0500 in
    3f307c3d70 ("bna: Update the Driver and Firmware Version")

    bfa was not updated. I presume this was an oversight but it broke support
    for bfa+bna cards such as the following
    04:00.0 Fibre Channel [0c04]: Brocade Communications Systems, Inc.
    1010/1020/1007/1741 10Gbps CNA [1657:0014] (rev 01)
    04:00.1 Fibre Channel [0c04]: Brocade Communications Systems, Inc.
    1010/1020/1007/1741 10Gbps CNA [1657:0014] (rev 01)
    04:00.2 Ethernet controller [0200]: Brocade Communications Systems,
    Inc. 1010/1020/1007/1741 10Gbps CNA [1657:0014] (rev 01)
    04:00.3 Ethernet controller [0200]: Brocade Communications Systems,
    Inc. 1010/1020/1007/1741 10Gbps CNA [1657:0014] (rev 01)

    Currently, if the bfa module is loaded first, bna fails to probe the
    respective devices with
    [ 215.026787] bna: QLogic BR-series 10G Ethernet driver - version: 3.2.25.1
    [ 215.043707] bna 0000:04:00.2: bar0 mapped to ffffc90001fc0000, len 262144
    [ 215.060656] bna 0000:04:00.2: initialization failed err=1
    [ 215.073893] bna 0000:04:00.3: bar0 mapped to ffffc90002040000, len 262144
    [ 215.090644] bna 0000:04:00.3: initialization failed err=1

    Whereas if bna is loaded first, bfa fails with
    [ 249.592109] QLogic BR-series BFA FC/FCOE SCSI driver - version: 3.2.25.0
    [ 249.610738] bfa 0000:04:00.0: Running firmware version is incompatible with the driver version
    [ 249.833513] bfa 0000:04:00.0: bfa init failed
    [ 249.833919] scsi host6: QLogic BR-series FC/FCOE Adapter, hwpath: 0000:04:00.0 driver: 3.2.25.0
    [ 249.841446] bfa 0000:04:00.1: Running firmware version is incompatible with the driver version
    [ 250.045449] bfa 0000:04:00.1: bfa init failed
    [ 250.045962] scsi host7: QLogic BR-series FC/FCOE Adapter, hwpath: 0000:04:00.1 driver: 3.2.25.0

    Increase bfa's requested firmware version. Also increase the driver
    version. I only tested that all of the devices probe without error.

    Reported-by: Tim Ehlers
    Signed-off-by: Benjamin Poirier
    Acked-by: Rasesh Mody
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Poirier
     
  • [ Upstream commit 0371adcdaca92912baaa3256ed13e058a016e62d ]

    If a call to mempool_create_slab_pool() in snic_probe() returns NULL,
    return -ENOMEM to indicate failure. mempool_creat_slab_pool() only fails
    if it cannot allocate memory.

    https://bugzilla.kernel.org/show_bug.cgi?id=189061

    Reported-by: bianpan2010@ruc.edu.cn
    Signed-off-by: Burak Ok
    Signed-off-by: Andreas Schaertl
    Acked-by: Narsimhulu Musini
    Reviewed-by: Ewan D. Milne
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Burak Ok
     
  • [ Upstream commit 9698b6f473555a722bf81a3371998427d5d27bde ]

    This fix is to avoid calling fnic_fw_reset_handler through
    fnic_host_reset when a finc reset is alreay in progress.

    Signed-off-by: Satish Kharat
    Signed-off-by: Sesidhar Baddela
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Satish Kharat
     
  • [ Upstream commit 08f9572671c8047e7234cbf150869aa3c3d59a97 ]

    This headlamp contains a dummy HID descriptor which pretends to be
    a mouse-like device, but can't be used as a mouse at all.

    Reported-by: Lukas Ocilka
    Signed-off-by: Jiri Kosina
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     
  • [ Upstream commit 60448b077ed93d227e6c117a9e87db76ff0c1911 ]

    Frequency value of zero did not make sense, use same 24.576MHz
    setting and only change the clock source in idle mode

    Suggested-by: Bard Liao
    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Mark Brown
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Pierre-Louis Bossart
     
  • [ Upstream commit 74545f63890e38520eb4d1dbedcadaa9c0dbc824 ]

    The conversion of Intel PMU drivers into modules did not include reference
    counting. The machine will crash when attempting to access deleted code
    if an event from a module PMU is started and the module removed before the
    event is destroyed.

    i.e. this crashes the machine:

    $ insmod intel-rapl-perf.ko
    $ perf stat -e power/energy-cores/ -C 0 &
    $ rmmod intel-rapl-perf.ko

    Set THIS_MODULE to pmu->module in Intel module PMUs so that generic code
    can handle reference counting and deny rmmod while an event still exists.

    Signed-off-by: David Carrillo-Cisneros
    Cc: Alexander Shishkin
    Cc: Arnaldo Carvalho de Melo
    Cc: Borislav Petkov
    Cc: Dave Hansen
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Linus Torvalds
    Cc: Paul Turner
    Cc: Peter Zijlstra
    Cc: Srinivas Pandruvada
    Cc: Stephane Eranian
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1482455860-116269-1-git-send-email-davidcc@google.com
    Signed-off-by: Ingo Molnar
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    David Carrillo-Cisneros
     
  • [ Upstream commit 159d3726db12b3476bc59ea0ab0a702103d466b5 ]

    The current implementation supports only Intel Merrifield platforms. Don't mess
    with the rest of the Intel MID family by not registering device with wrong
    properties.

    Signed-off-by: Andy Shevchenko
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/20170102092450.87229-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Ingo Molnar
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • [ Upstream commit 13a6c8328e6056932dc680e447d4c5e8ad9add17 ]

    Testing EP_FLAG_RUNNING in snd_complete_urb() before running the completion
    logic allows us to save a few cpu cycles by returning early, skipping the
    pending urb in case the stream was stopped; the stop logic handles the urb
    and sets the completion callbacks to NULL.

    Signed-off-by: Ioan-Adrian Ratiu
    Signed-off-by: Takashi Iwai
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Ioan-Adrian Ratiu
     
  • [ Upstream commit e51d5d02f688c45b6f644f472f0c80fdfa73f0cb ]

    It is necessary to call entry/exit functions for parent interrupt
    controllers for proper masking/unmasking of interrupt lines.

    Signed-off-by: Yuriy Kolerov
    Signed-off-by: Vineet Gupta
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Yuriy Kolerov
     
  • [ Upstream commit 71eae1ca77fd6be218d8a952d97bba827e56516d ]

    The RX descriptor word 0 on SH7734 has the RFS[9:0] field in bits 16-25
    (bits 0-15 usually used for that are occupied by the packet checksum).
    Thus we need to set the 'shift_rd0' field in the SH7734 SoC data...

    Fixes: f0e81fecd4f8 ("net: sh_eth: Add support SH7734")
    Signed-off-by: Sergei Shtylyov
    Signed-off-by: David S. Miller
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Sergei Shtylyov
     
  • [ Upstream commit 4ee437fbf626b5ad756889d8bc0fcead3d66dde7 ]

    The fsl_ssi fifo watermark is by default set to 2 free spaces (i.e.
    activate DMA on FIFO when only 2 spaces are left.) This means the
    DMA must service the fifo within 2 audio samples, which is just not
    enough time for many use cases with high data rate. In many
    configurations the audio channel slips (causing l/r swap in stereo
    configurations, or channel slipping in multi-channel configurations).

    This patch gives more breathing room and allows the SSI to operate
    reliably by changing the fifio refill watermark to 8.

    There is no change in behavior for older chips (with an 8-deep fifo).
    Only the newer chips with a 15-deep fifo get the new behavior. I
    suspect a new fifo depth setting could be optimized on the older
    chips too, but I have not tested.

    Signed-off-by: Caleb Crome
    Reviewed-by: Fabio Estevam
    Signed-off-by: Mark Brown
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Caleb Crome
     
  • [ Upstream commit 63dfb0dac9055145db85ce764355aef2f563739a ]

    The USB core may call reset_resume when it fails to resume asix device.
    And USB core can recovery this abnormal resume at low level driver,
    the same .resume at asix driver can work too. Add .reset_resume can
    avoid disconnecting after backing from system resume, and NFS can
    still be mounted after this commit.

    Signed-off-by: Peter Chen
    Signed-off-by: David S. Miller
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Peter Chen
     
  • [ Upstream commit 14ba972842f9e84e6d3264bc0302101b8a792288 ]

    All i.MX6 SoCs have an OCOTP Controller with 4kbit fuses. The i.MX6SL is
    an exception and has only 2kbit fuses.

    In the TRM for the i.MX6DQ (IMX6QDRM - Rev 2, 06/2014) the fuses size is
    described in chapter 46.1.1 with:
    "32-bit word restricted program and read to 4Kbits of eFuse OTP(512x8)."

    In the TRM for the i.MX6SL (IMX6SLRM - Rev 2, 06/2015) the fuses size is
    described in chapter 34.1.1 with:
    "32-bit word restricted program and read to 2 kbit of eFuse OTP(128x8)."

    Since the Freescale Linux kernel OCOTP driver works with a fuses size of
    2 kbit for the i.MX6SL, it looks like the TRM is wrong and the formula
    to calculate the correct fuses size has to be 256x8.

    Signed-off-by: Daniel Schultz
    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Daniel Schultz
     
  • [ Upstream commit 6ef4fb387d50fa8f3bffdffc868b57e981cdd709 ]

    Recent changes made KERN_CONT mandatory for continued lines. In the
    absence of KERN_CONT, a newline may be implicit inserted by the core
    printk code.

    In show_pte, we (erroneously) use printk without KERN_CONT for continued
    prints, resulting in output being split across a number of lines, and
    not matching the intended output, e.g.

    [ff000000000000] *pgd=00000009f511b003
    , *pud=00000009f4a80003
    , *pmd=0000000000000000

    Fix this by using pr_cont() for all the continuations.

    Acked-by: Will Deacon
    Signed-off-by: Mark Rutland
    Signed-off-by: Catalin Marinas
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Mark Rutland
     
  • [ Upstream commit e19f32da5ded958238eac1bbe001192acef191a2 ]

    Here, pci_iomap can fail, handle this case release selected
    pci regions and return -ENOMEM.

    Signed-off-by: Arvind Yadav
    Signed-off-by: Alex Williamson
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Arvind Yadav
     
  • [ Upstream commit 4dcd19bfabaee8f9f4bcf203afba09b98ccbaf76 ]

    Here, If devm_ioremap will fail. It will return NULL.
    Kernel can run into a NULL-pointer dereference.
    This error check will avoid NULL pointer dereference.

    Signed-off-by: Arvind Yadav
    Acked-by: Yoichi Yuasa
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Arvind Yadav
     
  • [ Upstream commit 7934c98a6e04028eb34c1293bfb5a6b0ab630b66 ]

    Markus reported that perf segfaults when reading /sys/kernel/notes from
    a kernel linked with GNU gold, due to what looks like a gold bug, so do
    some bounds checking to avoid crashing in that case.

    Reported-by: Markus Trippelsdorf
    Report-Link: http://lkml.kernel.org/r/20161219161821.GA294@x4
    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-ryhgs6a6jxvz207j2636w31c@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Arnaldo Carvalho de Melo
     
  • [ Upstream commit 30a9c6444810429aa2b7cbfbd453ce339baaadbf ]

    Those are binaries as well, so should be installed by:

    make -C tools/perf install-bin'

    too.

    Cc: Alexander Shishkin
    Cc: Daniel Bristot de Oliveira
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/n/tip-3841b37u05evxrs1igkyu6ks@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Arnaldo Carvalho de Melo
     
  • commit 4c86d77743a54fb2d8a4d18a037a074c892bb3be upstream.

    On IPv4-mapped IPv6 addresses sk_family is AF_INET6,
    but the flow informations are created based on AF_INET.
    So the routing set up 'struct flowi4' but we try to
    access 'struct flowi6' what leads to an out of bounds
    access. Fix this by using the family we get with the
    dst_entry, like we do it for the standard policy lookup.

    Reported-by: Dmitry Vyukov
    Tested-by: Dmitry Vyukov
    Signed-off-by: Steffen Klassert
    Signed-off-by: Greg Kroah-Hartman

    Steffen Klassert
     
  • [ Upstream commit 074859184d770824f4437dca716bdeb625ae8b1c ]

    Currently, the sched:sched_switch tracepoint reports deadline tasks with
    priority -1. But when reading the trace via perf script I've got the
    following output:

    # ./d & # (d is a deadline task, see [1])
    # perf record -e sched:sched_switch -a sleep 1
    # perf script
    ...
    swapper 0 [000] 2146.962441: sched:sched_switch: swapper/0:0 [120] R ==> d:2593 [4294967295]
    d 2593 [000] 2146.972472: sched:sched_switch: d:2593 [4294967295] R ==> g:2590 [4294967295]

    The task d reports the wrong priority [4294967295]. This happens because
    the "int prio" is stored in an unsigned long long val. Although it is
    set as a %lld, as int is shorter than unsigned long long,
    trace_seq_printf prints it as a positive number.

    The fix is just to cast the val as an int, and print it as a %d,
    as in the sched:sched_switch tracepoint's "format".

    The output with the fix is:

    # ./d &
    # perf record -e sched:sched_switch -a sleep 1
    # perf script
    ...
    swapper 0 [000] 4306.374037: sched:sched_switch: swapper/0:0 [120] R ==> d:10941 [-1]
    d 10941 [000] 4306.383823: sched:sched_switch: d:10941 [-1] R ==> swapper/0:0 [120]

    [1] d.c

    ---
    #include
    #include
    #include
    #include
    #include

    struct sched_attr {
    __u32 size, sched_policy;
    __u64 sched_flags;
    __s32 sched_nice;
    __u32 sched_priority;
    __u64 sched_runtime, sched_deadline, sched_period;
    };

    int sched_setattr(pid_t pid, const struct sched_attr *attr, unsigned int flags)
    {
    return syscall(__NR_sched_setattr, pid, attr, flags);
    }

    int main(void)
    {
    struct sched_attr attr = {
    .size = sizeof(attr),
    .sched_policy = SCHED_DEADLINE, /* This creates a 10ms/30ms reservation */
    .sched_runtime = 10 * 1000 * 1000,
    .sched_period = attr.sched_deadline = 30 * 1000 * 1000,
    };

    if (sched_setattr(0, &attr, 0) < 0) {
    perror("sched_setattr");
    return -1;
    }

    for(;;);
    }
    ---

    Committer notes:

    Got the program from the provided URL, http://bristot.me/lkml/d.c,
    trimmed it and included in the cset log above, so that we have
    everything needed to test it in one place.

    Signed-off-by: Daniel Bristot de Oliveira
    Acked-by: Steven Rostedt
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Alexander Shishkin
    Cc: Daniel Bristot de Oliveira
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/866ef75bcebf670ae91c6a96daa63597ba981f0d.1483443552.git.bristot@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Daniel Bristot de Oliveira
     
  • [ Upstream commit 0b47a6bd1150f4846b1d61925a4cc5a96593a541 ]

    Ensure all reserved fields of xatp are zero before making
    hypervisor call to XEN in xen_map_device_mmio().
    xenmem_add_to_physmap_one() in XEN fails the mapping request if
    extra.res reserved field in xatp is not zero for XENMAPSPACE_dev_mmio
    request.

    Signed-off-by: Jiandi An
    Reviewed-by: Stefano Stabellini
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Jiandi An
     
  • [ Upstream commit c2931667c83ded6504b3857e99cc45b21fa496fb ]

    Currently how btrfs dio deals with split dio write is not good
    enough if dio write is split into several segments due to the
    lack of contiguous space, a large dio write like 'dd bs=1G count=1'
    can end up with incorrect outstanding_extents counter and endio
    would complain loudly with an assertion.

    This fixes the problem by compensating the outstanding_extents
    counter in inode if a large dio write gets split.

    Reported-by: Anand Jain
    Tested-by: Anand Jain
    Signed-off-by: Liu Bo
    Signed-off-by: David Sterba
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Liu Bo
     
  • [ Upstream commit 096de2f83ebc8e0404c5b7e847a4abd27b9739da ]

    When VXLAN offloading is enabled, be_features_check() tries to check if
    an encapsulated packet is indeed a VXLAN packet. The check is not strict
    enough, and considers any UDP-encapsulated ethernet frame with a 8-byte
    tunnel header as being VXLAN. Unfortunately, both GENEVE and VXLAN-GPE
    have a 8-byte header, so they get through this check.

    Force the UDP destination port to be the one that has been offloaded to
    hardware.

    Without this, GENEVE-encapsulated packets can end up having an incorrect
    checksum when both a GENEVE and a VXLAN (offloaded) tunnel are
    configured.

    This is similar to commit a547224dceed ("mlx4e: Do not attempt to
    offload VXLAN ports that are unrecognized").

    Signed-off-by: Sabrina Dubroca
    Signed-off-by: David S. Miller
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Sabrina Dubroca
     
  • [ Upstream commit 781feef7e6befafd4d9787d1f7ada1f9ccd504e4 ]

    While checking INODE_REF/INODE_EXTREF for a corner case, we may acquire a
    different inode's log_mutex with holding the current inode's log_mutex, and
    lockdep has complained this with a possilble deadlock warning.

    Fix this by using mutex_lock_nested() when processing the other inode's
    log_mutex.

    Reviewed-by: Filipe Manana
    Signed-off-by: Liu Bo
    Signed-off-by: David Sterba
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Liu Bo
     
  • [ Upstream commit e321f8a801d7b4c40da8005257b05b9c2b51b072 ]

    If @block_group is not @used_bg, it'll try to get @used_bg's lock without
    droping @block_group 's lock and lockdep has throwed a scary deadlock warning
    about it.
    Fix it by using down_read_nested.

    Signed-off-by: Liu Bo
    Reviewed-by: David Sterba
    Signed-off-by: David Sterba
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Liu Bo
     
  • [ Upstream commit 43aef5c2ca90535b3227e97e71604291875444ed ]

    This fixes an error message that was probably copied and pasted. The same
    message is used for both the in and out endpoints, so it makes it impossible
    to know which one actually failed because both cases say "IN".

    Make the out endpoint error message say "OUT".

    Signed-off-by: David Lechner
    Signed-off-by: Felipe Balbi
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    David Lechner
     
  • [ Upstream commit c2a6bbaf0c5f90463a7011a295bbdb7e33c80b51 ]

    The way acpi_find_child_device() works currently is that, if there
    are two (or more) devices with the same _ADR value in the same
    namespace scope (which is not specifically allowed by the spec and
    the OS behavior in that case is not defined), the first one of them
    found to be present (with the help of _STA) will be returned.

    This covers the majority of cases, but is not sufficient if some of
    the devices in question have a _HID (or _CID) returning some valid
    ACPI/PNP device IDs (which is disallowed by the spec) and the
    ASL writers' expectation appears to be that the OS will match
    devices without a valid ACPI/PNP device ID against a given bus
    address first.

    To cover this special case as well, modify find_child_checks()
    to prefer devices without ACPI/PNP device IDs over devices that
    have them.

    Suggested-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki
    Tested-by: Hans de Goede
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     
  • [ Upstream commit 3ef01c968fbfb21c2f16281445d30a865ee4412c ]

    NF_CT_PROTO_DCCP/SCTP/UDPLITE were switched from tristate to boolean so
    defconfig needs to be adjusted to silence warnings:
    warning: symbol value 'm' invalid for NF_CT_PROTO_DCCP
    warning: symbol value 'm' invalid for NF_CT_PROTO_SCTP
    warning: symbol value 'm' invalid for NF_CT_PROTO_UDPLITE

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     
  • [ Upstream commit 1f2ed153b916c95a49a1ca9d7107738664224b7f ]

    Since 'perf probe' supports cross-arch probes, it is possible to analyze
    different arch kernel image which has different bits-per-long.

    In that case, it fails to get the module name because it uses the
    MOD_NAME_OFFSET macro based on the host machine bits-per-long, instead
    of the target arch bits-per-long.

    This fixes above issue by changing modname-offset based on the target
    archs bit width. This is ok because linux kernel uses LP64 model on
    64bit arch.

    E.g. without this (on x86_64, and target module is arm32):

    $ perf probe -m build-arm/fs/configfs/configfs.ko -D configfs_lookup
    p:probe/configfs_lookup :configfs_lookup+0
    ^-Here is an empty module name.

    With this fix, you can see correct module name:

    $ perf probe -m build-arm/fs/configfs/configfs.ko -D configfs_lookup
    p:probe/configfs_lookup configfs:configfs_lookup+0

    Signed-off-by: Masami Hiramatsu
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/148337043836.6752.383495516397005695.stgit@devbox
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Masami Hiramatsu
     
  • [ Upstream commit c415f9e8304a1d235ef118d912f374ee2e46c45d ]

    The Zynq Ultrascale MP uses version 1.4 of the Cadence IP core
    which fixes some silicon bugs that needed software workarounds
    in Version 1.0 that was used on Zynq systems.

    Signed-off-by: Moritz Fischer
    Cc: Michal Simek
    Cc: Sören Brinkmann
    Cc: Rob Herring
    Acked-by: Sören Brinkmann
    Signed-off-by: Michal Simek
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Moritz Fischer