2020-01-22 09:49:48

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 000/103] 4.19.98-stable review

This is the start of the stable review cycle for the 4.19.98 release.
There are 103 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.

Responses should be made by Fri, 24 Jan 2020 09:25:24 +0000.
Anything received after that time might be too late.

The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.98-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <[email protected]>
Linux 4.19.98-rc1

Eddie James <[email protected]>
hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call

Stephan Gerhold <[email protected]>
regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id

Baolin Wang <[email protected]>
clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle()

Masami Hiramatsu <[email protected]>
perf probe: Fix wrong address verification

Bart Van Assche <[email protected]>
scsi: core: scsi_trace: Use get_unaligned_be*()

Martin Wilck <[email protected]>
scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan

Huacai Chen <[email protected]>
scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI

Bart Van Assche <[email protected]>
scsi: target: core: Fix a pr_debug() argument

Pan Bian <[email protected]>
scsi: bnx2i: fix potential use after free

Pan Bian <[email protected]>
scsi: qla4xxx: fix double free bug

Dan Carpenter <[email protected]>
scsi: esas2r: unlock on error in esas2r_nvram_read_direct()

Jeff Mahoney <[email protected]>
reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr

Jon Derrick <[email protected]>
drm/nouveau/mmu: qualify vmm during dtor

Jon Derrick <[email protected]>
drm/nouveau/bar/gf100: ensure BAR is mapped

Jon Derrick <[email protected]>
drm/nouveau/bar/nv50: check bar1 vmm return value

Angelo Dureghello <[email protected]>
mtd: devices: fix mchp23k256 read and write

Sudeep Holla <[email protected]>
Revert "arm64: dts: juno: add dma-ranges property"

Miquel Raynal <[email protected]>
arm64: dts: marvell: Fix CP110 NAND controller node multi-line comment alignment

Eric Dumazet <[email protected]>
tick/sched: Annotate lockless access to last_jiffies_update

Johannes Berg <[email protected]>
cfg80211: check for set_wiphy_params

Christian Hewitt <[email protected]>
arm64: dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node

Dan Carpenter <[email protected]>
cw1200: Fix a signedness bug in cw1200_load_firmware()

Jonathan Neuschäfer <[email protected]>
irqchip: Place CONFIG_SIFIVE_PLIC into the menu

Eric Dumazet <[email protected]>
tcp: refine rule to allow EPOLLOUT generation under mem pressure

Nathan Chancellor <[email protected]>
xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk

Petr Machata <[email protected]>
mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters

Petr Machata <[email protected]>
mlxsw: spectrum: Wipe xstats.backlog of down ports

Sergei Shtylyov <[email protected]>
sh_eth: check sh_eth_cpu_data::dual_port when dumping registers

Pengcheng Yang <[email protected]>
tcp: fix marked lost packets not being retransmitted

Johan Hovold <[email protected]>
r8152: add missing endpoint sanity check

Vladis Dronov <[email protected]>
ptp: free ptp device pin descriptors properly

Colin Ian King <[email protected]>
net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info

Eric Dumazet <[email protected]>
net: usb: lan78xx: limit size of local TSO packets

Yonglong Liu <[email protected]>
net: hns: fix soft lockup when there is not enough memory

Alexander Lobakin <[email protected]>
net: dsa: tag_qca: fix doubled Tx statistics

Mohammed Gamal <[email protected]>
hv_netvsc: Fix memory leak when removing rndis device

Eric Dumazet <[email protected]>
macvlan: use skb_reset_mac_header() in macvlan_queue_xmit()

Sven Eckelmann <[email protected]>
batman-adv: Fix DAT candidate selection on little endian systems

Johan Hovold <[email protected]>
NFC: pn533: fix bulk-message timeout

Florian Westphal <[email protected]>
netfilter: nf_tables: fix flowtable list del corruption

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: store transaction list locally while requesting module

Florian Westphal <[email protected]>
netfilter: nf_tables: remove WARN and add NLA_STRING upper limits

Florian Westphal <[email protected]>
netfilter: nft_tunnel: fix null-attribute check

Florian Westphal <[email protected]>
netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct

Cong Wang <[email protected]>
netfilter: fix a use-after-free in mtype_destroy()

Felix Fietkau <[email protected]>
cfg80211: fix page refcount issue in A-MSDU decap

Felix Fietkau <[email protected]>
cfg80211: fix memory leak in cfg80211_cqm_rssi_update

Markus Theil <[email protected]>
cfg80211: fix deadlocks in autodisconnect work

Daniel Borkmann <[email protected]>
bpf: Fix incorrect verifier simulation of ARSH under ALU32

Dinh Nguyen <[email protected]>
arm64: dts: agilex/stratix10: fix pmu interrupt numbers

Kirill A. Shutemov <[email protected]>
mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment

Bharath Vedartham <[email protected]>
mm/huge_memory.c: make __thp_get_unmapped_area static

Jose Abreu <[email protected]>
net: stmmac: Enable 16KB buffer size

Jose Abreu <[email protected]>
net: stmmac: 16KB buffer must be 16 byte aligned

Marcel Ziswiler <[email protected]>
ARM: dts: imx7: Fix Toradex Colibri iMX7S 256MB NAND flash support

Jagan Teki <[email protected]>
ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL

Jacopo Mondi <[email protected]>
ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6

Wen Yang <[email protected]>
mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio()

Johannes Thumshirn <[email protected]>
btrfs: fix memory leak in qgroup accounting

Josef Bacik <[email protected]>
btrfs: do not delete mismatched root refs

Josef Bacik <[email protected]>
btrfs: fix invalid removal of root ref

Josef Bacik <[email protected]>
btrfs: rework arguments of btrfs_unlink_subvol

Adrian Huang <[email protected]>
mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid

Kirill A. Shutemov <[email protected]>
mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment

Jin Yao <[email protected]>
perf report: Fix incorrectly added dimensions as switch perf data file

Yuya Fujita <[email protected]>
perf hists: Fix variable name's inconsistency in hists__for_each() macro

Shakeel Butt <[email protected]>
x86/resctrl: Fix potential memory leak

YueHaibing <[email protected]>
drm/i915: Add missing include file <linux/math64.h>

Ard Biesheuvel <[email protected]>
x86/efistub: Disable paging at mixed mode entry

Tom Lendacky <[email protected]>
x86/CPU/AMD: Ensure clearing of SME/SEV features is maintained

Qian Cai <[email protected]>
x86/resctrl: Fix an imbalance in domain_remove_cpu()

Keiya Nobuta <[email protected]>
usb: core: hub: Improved device recognition on remote wakeup

Christian Brauner <[email protected]>
ptrace: reintroduce usage of subjective credentials in ptrace_has_cap()

Micah Morton <[email protected]>
LSM: generalize flag passing to security_capable

Kishon Vijay Abraham I <[email protected]>
ARM: dts: am571x-idk: Fix gpios property to have the correct gpio number

Mikulas Patocka <[email protected]>
block: fix an integer overflow in logical block size

Jari Ruusu <[email protected]>
Fix built-in early-load Intel microcode alignment

Stefan Mavrodiev <[email protected]>
arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator

Johan Hovold <[email protected]>
ALSA: usb-audio: fix sync-ep altsetting sanity check

Takashi Iwai <[email protected]>
ALSA: seq: Fix racy access for queue timer in proc read

Takashi Sakamoto <[email protected]>
ALSA: dice: fix fallback from protocol extension into limited functionality

Marek Vasut <[email protected]>
ARM: dts: imx6q-dhcom: Fix SGTL5000 VDDIO regulator connection

Stephan Gerhold <[email protected]>
ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1

Stephan Gerhold <[email protected]>
ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1

Dan Carpenter <[email protected]>
scsi: mptfusion: Fix double fetch bug in ioctl

Arnd Bergmann <[email protected]>
scsi: fnic: fix invalid stack access

Johan Hovold <[email protected]>
USB: serial: quatech2: handle unbound ports

Johan Hovold <[email protected]>
USB: serial: keyspan: handle unbound ports

Johan Hovold <[email protected]>
USB: serial: io_edgeport: add missing active-port sanity check

Johan Hovold <[email protected]>
USB: serial: io_edgeport: handle unbound ports on URB completion

Johan Hovold <[email protected]>
USB: serial: ch341: handle unbound port at reset_resume

Johan Hovold <[email protected]>
USB: serial: suppress driver bind attributes

Reinhard Speyerer <[email protected]>
USB: serial: option: add support for Quectel RM500Q in QDL mode

Johan Hovold <[email protected]>
USB: serial: opticon: fix control-message timeouts

Kristian Evensen <[email protected]>
USB: serial: option: Add support for Quectel RM500Q

Jerónimo Borque <[email protected]>
USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx

Lars Möllendorf <[email protected]>
iio: buffer: align the size of scan bytes to size of the largest element

Stephan Gerhold <[email protected]>
ASoC: msm8916-wcd-digital: Reset RX interpolation path after use

Guenter Roeck <[email protected]>
clk: Don't try to enable critical clocks if prepare failed

Alexandre Belloni <[email protected]>
ARM: dts: imx6q-dhcom: fix rtc compatible

Martin Blumenstingl <[email protected]>
dt-bindings: reset: meson8b: fix duplicate reset IDs

Georgi Djakov <[email protected]>
clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs

Martin Blumenstingl <[email protected]>
ARM: dts: meson8: fix the size of the PMU registers


-------------

Diffstat:

Makefile | 4 +-
arch/arm/boot/dts/am571x-idk.dts | 2 +-
arch/arm/boot/dts/imx6dl-icore-mipi.dts | 2 +-
arch/arm/boot/dts/imx6q-dhcom-pdk2.dts | 2 +-
arch/arm/boot/dts/imx6q-dhcom-som.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi | 34 ++++
arch/arm/boot/dts/imx7s-colibri.dtsi | 4 +
arch/arm/boot/dts/meson8.dtsi | 2 +-
.../boot/dts/allwinner/sun50i-a64-olinuxino.dts | 2 +-
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 8 +-
.../dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 4 +-
arch/arm64/boot/dts/arm/juno-base.dtsi | 1 -
arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 8 +-
arch/x86/boot/compressed/head_64.S | 5 +
arch/x86/kernel/cpu/amd.c | 4 +-
arch/x86/kernel/cpu/intel_rdt.c | 2 +-
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 6 +-
block/blk-settings.c | 2 +-
drivers/block/xen-blkfront.c | 4 +-
drivers/clk/clk.c | 10 +-
drivers/clk/qcom/gcc-sdm845.c | 7 +
drivers/clk/sprd/common.c | 2 +-
drivers/gpu/drm/i915/selftests/i915_random.h | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c | 2 +
drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c | 2 +
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 +-
drivers/hwmon/pmbus/ibm-cffps.c | 10 +-
drivers/iio/industrialio-buffer.c | 6 +-
drivers/irqchip/Kconfig | 4 +-
drivers/md/dm-snap-persistent.c | 2 +-
drivers/md/raid0.c | 2 +-
drivers/message/fusion/mptctl.c | 213 +++++----------------
drivers/mtd/devices/mchp23k256.c | 20 +-
drivers/net/ethernet/hisilicon/hns/hns_enet.c | 4 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 13 ++
.../net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | 30 ++-
drivers/net/ethernet/renesas/sh_eth.c | 38 ++--
drivers/net/ethernet/stmicro/stmmac/common.h | 5 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +-
drivers/net/hyperv/rndis_filter.c | 2 -
drivers/net/macvlan.c | 5 +-
drivers/net/usb/lan78xx.c | 1 +
drivers/net/usb/r8152.c | 3 +
drivers/net/wan/fsl_ucc_hdlc.c | 2 +-
drivers/net/wireless/st/cw1200/fwio.c | 6 +-
drivers/nfc/pn533/usb.c | 2 +-
drivers/ptp/ptp_clock.c | 4 +-
drivers/scsi/bnx2i/bnx2i_iscsi.c | 2 +-
drivers/scsi/esas2r/esas2r_flash.c | 1 +
drivers/scsi/fnic/vnic_dev.c | 20 +-
drivers/scsi/qla2xxx/qla_init.c | 6 +-
drivers/scsi/qla2xxx/qla_isr.c | 6 +-
drivers/scsi/qla4xxx/ql4_mbx.c | 3 -
drivers/scsi/scsi_trace.c | 113 ++++-------
drivers/target/target_core_fabric_lib.c | 2 +-
drivers/usb/core/hub.c | 1 +
drivers/usb/serial/ch341.c | 6 +-
drivers/usb/serial/io_edgeport.c | 16 +-
drivers/usb/serial/keyspan.c | 4 +
drivers/usb/serial/opticon.c | 2 +-
drivers/usb/serial/option.c | 6 +
drivers/usb/serial/quatech2.c | 6 +
drivers/usb/serial/usb-serial-simple.c | 2 +
drivers/usb/serial/usb-serial.c | 3 +
firmware/Makefile | 2 +-
fs/btrfs/inode.c | 73 +++----
fs/btrfs/qgroup.c | 6 +-
fs/btrfs/root-tree.c | 10 +-
fs/reiserfs/xattr.c | 8 +-
include/dt-bindings/reset/amlogic,meson8b-reset.h | 6 +-
include/linux/blkdev.h | 8 +-
include/linux/lsm_hooks.h | 8 +-
include/linux/regulator/ab8500.h | 2 -
include/linux/security.h | 28 +--
include/linux/tnum.h | 2 +-
kernel/bpf/tnum.c | 9 +-
kernel/bpf/verifier.c | 13 +-
kernel/capability.c | 22 ++-
kernel/ptrace.c | 15 +-
kernel/seccomp.c | 4 +-
kernel/time/tick-sched.c | 14 +-
mm/huge_memory.c | 38 ++--
mm/page-writeback.c | 4 +-
mm/shmem.c | 7 +-
mm/slab_common.c | 3 +-
net/batman-adv/distributed-arp-table.c | 4 +-
net/dsa/tag_qca.c | 3 -
net/ipv4/netfilter/arp_tables.c | 19 +-
net/ipv4/tcp.c | 6 +-
net/ipv4/tcp_input.c | 7 +-
net/netfilter/ipset/ip_set_bitmap_gen.h | 2 +-
net/netfilter/nf_tables_api.c | 38 ++--
net/netfilter/nft_tunnel.c | 2 +-
net/wireless/nl80211.c | 1 +
net/wireless/rdev-ops.h | 4 +
net/wireless/sme.c | 6 +-
net/wireless/util.c | 2 +-
security/apparmor/capability.c | 14 +-
security/apparmor/include/capability.h | 2 +-
security/apparmor/ipc.c | 3 +-
security/apparmor/lsm.c | 4 +-
security/apparmor/resource.c | 2 +-
security/commoncap.c | 17 +-
security/security.c | 14 +-
security/selinux/hooks.c | 18 +-
security/smack/smack_access.c | 2 +-
sound/core/seq/seq_timer.c | 14 +-
sound/firewire/dice/dice-extension.c | 5 +-
sound/soc/codecs/msm8916-wcd-analog.c | 20 +-
sound/soc/codecs/msm8916-wcd-digital.c | 6 +
sound/usb/pcm.c | 2 +-
tools/perf/builtin-report.c | 5 +-
tools/perf/util/hist.h | 4 +-
tools/perf/util/probe-finder.c | 32 +---
114 files changed, 644 insertions(+), 595 deletions(-)



2020-01-22 09:49:53

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 007/103] iio: buffer: align the size of scan bytes to size of the largest element

From: Lars Möllendorf <[email protected]>

commit 883f616530692d81cb70f8a32d85c0d2afc05f69 upstream.

Previous versions of `iio_compute_scan_bytes` only aligned each element
to its own length (i.e. its own natural alignment). Because multiple
consecutive sets of scan elements are buffered this does not work in
case the computed scan bytes do not align with the natural alignment of
the first scan element in the set.

This commit fixes this by aligning the scan bytes to the natural
alignment of the largest scan element in the set.

Fixes: 959d2952d124 ("staging:iio: make iio_sw_buffer_preenable much more general.")
Signed-off-by: Lars Möllendorf <[email protected]>
Reviewed-by: Lars-Peter Clausen <[email protected]>
Cc: <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/iio/industrialio-buffer.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -570,7 +570,7 @@ static int iio_compute_scan_bytes(struct
const unsigned long *mask, bool timestamp)
{
unsigned bytes = 0;
- int length, i;
+ int length, i, largest = 0;

/* How much space will the demuxed element take? */
for_each_set_bit(i, mask,
@@ -578,13 +578,17 @@ static int iio_compute_scan_bytes(struct
length = iio_storage_bytes_for_si(indio_dev, i);
bytes = ALIGN(bytes, length);
bytes += length;
+ largest = max(largest, length);
}

if (timestamp) {
length = iio_storage_bytes_for_timestamp(indio_dev);
bytes = ALIGN(bytes, length);
bytes += length;
+ largest = max(largest, length);
}
+
+ bytes = ALIGN(bytes, largest);
return bytes;
}



2020-01-22 09:49:56

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 017/103] USB: serial: quatech2: handle unbound ports

From: Johan Hovold <[email protected]>

commit 9715a43eea77e42678a1002623f2d9a78f5b81a1 upstream.

Check for NULL port data in the modem- and line-status handlers to avoid
dereferencing a NULL pointer in the unlikely case where a port device
isn't bound to a driver (e.g. after an allocation failure on port
probe).

Note that the other (stubbed) event handlers qt2_process_xmit_empty()
and qt2_process_flush() would need similar sanity checks in case they
are ever implemented.

Fixes: f7a33e608d9a ("USB: serial: add quatech2 usb to serial driver")
Cc: stable <[email protected]> # 3.5
Reviewed-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/serial/quatech2.c | 6 ++++++
1 file changed, 6 insertions(+)

--- a/drivers/usb/serial/quatech2.c
+++ b/drivers/usb/serial/quatech2.c
@@ -864,7 +864,10 @@ static void qt2_update_msr(struct usb_se
u8 newMSR = (u8) *ch;
unsigned long flags;

+ /* May be called from qt2_process_read_urb() for an unbound port. */
port_priv = usb_get_serial_port_data(port);
+ if (!port_priv)
+ return;

spin_lock_irqsave(&port_priv->lock, flags);
port_priv->shadowMSR = newMSR;
@@ -892,7 +895,10 @@ static void qt2_update_lsr(struct usb_se
unsigned long flags;
u8 newLSR = (u8) *ch;

+ /* May be called from qt2_process_read_urb() for an unbound port. */
port_priv = usb_get_serial_port_data(port);
+ if (!port_priv)
+ return;

if (newLSR & UART_LSR_BI)
newLSR &= (u8) (UART_LSR_OE | UART_LSR_BI);


2020-01-22 09:49:56

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 039/103] perf report: Fix incorrectly added dimensions as switch perf data file

From: Jin Yao <[email protected]>

commit 0feba17bd7ee3b7e03d141f119049dcc23efa94e upstream.

We observed an issue that was some extra columns displayed after switching
perf data file in browser. The steps to reproduce:

1. perf record -a -e cycles,instructions -- sleep 3
2. perf report --group
3. In browser, we use hotkey 's' to switch to another perf.data
4. Now in browser, the extra columns 'Self' and 'Children' are displayed.

The issue is setup_sorting() executed again after repeat path, so dimensions
are added again.

This patch checks the last key returned from __cmd_report(). If it's
K_SWITCH_INPUT_DATA, skips the setup_sorting().

Fixes: ad0de0971b7f ("perf report: Enable the runtime switching of perf data file")
Signed-off-by: Jin Yao <[email protected]>
Tested-by: Arnaldo Carvalho de Melo <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Feng Tang <[email protected]>
Cc: Jin Yao <[email protected]>
Cc: Kan Liang <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
tools/perf/builtin-report.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -961,6 +961,7 @@ int cmd_report(int argc, const char **ar
struct stat st;
bool has_br_stack = false;
int branch_mode = -1;
+ int last_key = 0;
bool branch_call_mode = false;
#define CALLCHAIN_DEFAULT_OPT "graph,0.5,caller,function,percent"
const char report_callchain_help[] = "Display call graph (stack chain/backtrace):\n\n"
@@ -1292,7 +1293,8 @@ repeat:
else
use_browser = 0;

- if (setup_sorting(session->evlist) < 0) {
+ if ((last_key != K_SWITCH_INPUT_DATA) &&
+ (setup_sorting(session->evlist) < 0)) {
if (sort_order)
parse_options_usage(report_usage, options, "s", 1);
if (field_order)
@@ -1390,6 +1392,7 @@ repeat:
ret = __cmd_report(&report);
if (ret == K_SWITCH_INPUT_DATA) {
perf_session__delete(session);
+ last_key = K_SWITCH_INPUT_DATA;
goto repeat;
} else
ret = 0;


2020-01-22 09:50:01

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 013/103] USB: serial: ch341: handle unbound port at reset_resume

From: Johan Hovold <[email protected]>

commit 4d5ef53f75c22d28f490bcc5c771fcc610a9afa4 upstream.

Check for NULL port data in reset_resume() to avoid dereferencing a NULL
pointer in case the port device isn't bound to a driver (e.g. after a
failed control request at port probe).

Fixes: 1ded7ea47b88 ("USB: ch341 serial: fix port number changed after resume")
Cc: stable <[email protected]> # 2.6.30
Reviewed-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/serial/ch341.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

--- a/drivers/usb/serial/ch341.c
+++ b/drivers/usb/serial/ch341.c
@@ -589,9 +589,13 @@ static int ch341_tiocmget(struct tty_str
static int ch341_reset_resume(struct usb_serial *serial)
{
struct usb_serial_port *port = serial->port[0];
- struct ch341_private *priv = usb_get_serial_port_data(port);
+ struct ch341_private *priv;
int ret;

+ priv = usb_get_serial_port_data(port);
+ if (!priv)
+ return 0;
+
/* reconfigure ch341 serial port after bus-reset */
ch341_configure(serial->dev, priv);



2020-01-22 09:50:10

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 001/103] ARM: dts: meson8: fix the size of the PMU registers

From: Martin Blumenstingl <[email protected]>

commit 46c9585ed4af688ff1be6d4e76d7ed2f04de4fba upstream.

The PMU registers are at least 0x18 bytes wide. Meson8b already uses a
size of 0x18. The structure of the PMU registers on Meson8 and Meson8b
is similar but not identical.

Meson8 and Meson8b have the following registers in common (starting at
AOBUS + 0xe0):
#define AO_RTI_PWR_A9_CNTL0 0xe0 (0x38 << 2)
#define AO_RTI_PWR_A9_CNTL1 0xe4 (0x39 << 2)
#define AO_RTI_GEN_PWR_SLEEP0 0xe8 (0x3a << 2)
#define AO_RTI_GEN_PWR_ISO0 0x4c (0x3b << 2)

Meson8b additionally has these three registers:
#define AO_RTI_GEN_PWR_ACK0 0xf0 (0x3c << 2)
#define AO_RTI_PWR_A9_MEM_PD0 0xf4 (0x3d << 2)
#define AO_RTI_PWR_A9_MEM_PD1 0xf8 (0x3e << 2)

Thus we can assume that the register size of the PMU IP blocks is
identical on both SoCs (and Meson8 just contains some reserved registers
in that area) because the CEC registers start right after the PMU
(AO_RTI_*) registers at AOBUS + 0x100 (0x40 << 2).

The upcoming power domain driver will need to read and write the
AO_RTI_GEN_PWR_SLEEP0 and AO_RTI_GEN_PWR_ISO0 registers, so the updated
size is needed for that driver to work.

Fixes: 4a5a27116b447d ("ARM: dts: meson8: add support for booting the secondary CPU cores")
Signed-off-by: Martin Blumenstingl <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/arm/boot/dts/meson8.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/arm/boot/dts/meson8.dtsi
+++ b/arch/arm/boot/dts/meson8.dtsi
@@ -139,7 +139,7 @@
&aobus {
pmu: pmu@e0 {
compatible = "amlogic,meson8-pmu", "syscon";
- reg = <0xe0 0x8>;
+ reg = <0xe0 0x18>;
};

pinctrl_aobus: pinctrl@84 {


2020-01-22 09:50:11

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 040/103] mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment

From: Kirill A. Shutemov <[email protected]>

commit 991589974d9c9ecb24ee3799ec8c415c730598a2 upstream.

Shmem/tmpfs tries to provide THP-friendly mappings if huge pages are
enabled. But it doesn't work well with above-47bit hint address.

Normally, the kernel doesn't create userspace mappings above 47-bit,
even if the machine allows this (such as with 5-level paging on x86-64).
Not all user space is ready to handle wide addresses. It's known that
at least some JIT compilers use higher bits in pointers to encode their
information.

Userspace can ask for allocation from full address space by specifying
hint address (with or without MAP_FIXED) above 47-bits. If the
application doesn't need a particular address, but wants to allocate
from whole address space it can specify -1 as a hint address.

Unfortunately, this trick breaks THP alignment in shmem/tmp:
shmem_get_unmapped_area() would not try to allocate PMD-aligned area if
*any* hint address specified.

This can be fixed by requesting the aligned area if the we failed to
allocated at user-specified hint address. The request with inflated
length will also take the user-specified hint address. This way we will
not lose an allocation request from the full address space.

[[email protected]: fold in a fixup]
Link: http://lkml.kernel.org/r/20191223231309.t6bh5hkbmokihpfu@box
Link: http://lkml.kernel.org/r/[email protected]
Fixes: b569bab78d8d ("x86/mm: Prepare to expose larger address space to userspace")
Signed-off-by: Kirill A. Shutemov <[email protected]>
Cc: "Willhalm, Thomas" <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: "Bruggeman, Otto G" <[email protected]>
Cc: "Aneesh Kumar K . V" <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
mm/shmem.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2072,9 +2072,10 @@ unsigned long shmem_get_unmapped_area(st
/*
* Our priority is to support MAP_SHARED mapped hugely;
* and support MAP_PRIVATE mapped hugely too, until it is COWed.
- * But if caller specified an address hint, respect that as before.
+ * But if caller specified an address hint and we allocated area there
+ * successfully, respect that as before.
*/
- if (uaddr)
+ if (uaddr == addr)
return addr;

if (shmem_huge != SHMEM_HUGE_FORCE) {
@@ -2108,7 +2109,7 @@ unsigned long shmem_get_unmapped_area(st
if (inflated_len < len)
return addr;

- inflated_addr = get_area(NULL, 0, inflated_len, 0, flags);
+ inflated_addr = get_area(NULL, uaddr, inflated_len, 0, flags);
if (IS_ERR_VALUE(inflated_addr))
return addr;
if (inflated_addr & ~PAGE_MASK)


2020-01-22 09:50:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 021/103] ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1

From: Stephan Gerhold <[email protected]>

commit 057efcf9faea4769cf1020677d93d040db9b23f3 upstream.

MIC BIAS Internal1 is broken at the moment because we always
enable the internal rbias resistor to the TX2 line (connected to
the headset microphone), rather than enabling the resistor connected
to TX1.

Move the RBIAS code to pm8916_wcd_analog_enable_micbias_int1/2()
to fix this.

Fixes: 585e881e5b9e ("ASoC: codecs: Add msm8916-wcd analog codec")
Cc: Srinivas Kandagatla <[email protected]>
Signed-off-by: Stephan Gerhold <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
sound/soc/codecs/msm8916-wcd-analog.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)

--- a/sound/soc/codecs/msm8916-wcd-analog.c
+++ b/sound/soc/codecs/msm8916-wcd-analog.c
@@ -388,9 +388,6 @@ static int pm8916_wcd_analog_enable_micb

switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS,
- MICB_1_INT_TX2_INT_RBIAS_EN_MASK,
- MICB_1_INT_TX2_INT_RBIAS_EN_ENABLE);
snd_soc_component_update_bits(component, reg, MICB_1_EN_PULL_DOWN_EN_MASK, 0);
snd_soc_component_update_bits(component, CDC_A_MICB_1_EN,
MICB_1_EN_OPA_STG2_TAIL_CURR_MASK,
@@ -440,6 +437,14 @@ static int pm8916_wcd_analog_enable_micb
struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
struct pm8916_wcd_analog_priv *wcd = snd_soc_component_get_drvdata(component);

+ switch (event) {
+ case SND_SOC_DAPM_PRE_PMU:
+ snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS,
+ MICB_1_INT_TX1_INT_RBIAS_EN_MASK,
+ MICB_1_INT_TX1_INT_RBIAS_EN_ENABLE);
+ break;
+ }
+
return pm8916_wcd_analog_enable_micbias_int(component, event, w->reg,
wcd->micbias1_cap_mode);
}
@@ -550,6 +555,11 @@ static int pm8916_wcd_analog_enable_micb
struct pm8916_wcd_analog_priv *wcd = snd_soc_component_get_drvdata(component);

switch (event) {
+ case SND_SOC_DAPM_PRE_PMU:
+ snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS,
+ MICB_1_INT_TX2_INT_RBIAS_EN_MASK,
+ MICB_1_INT_TX2_INT_RBIAS_EN_ENABLE);
+ break;
case SND_SOC_DAPM_POST_PMU:
pm8916_mbhc_configure_bias(wcd, true);
break;


2020-01-22 09:50:27

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 029/103] ARM: dts: am571x-idk: Fix gpios property to have the correct gpio number

From: Kishon Vijay Abraham I <[email protected]>

commit 0c4eb2a6b3c6b0facd0a3bccda5db22e7b3b6f96 upstream.

commit d23f3839fe97d8dce03d ("ARM: dts: DRA7: Add pcie1 dt node for
EP mode") while adding the dt node for EP mode for DRA7 platform,
added rc node for am571x-idk and populated gpios property with
"gpio3 23". However the GPIO_PCIE_SWRST line is actually connected
to "gpio5 18". Fix it here. (The patch adding "gpio3 23" was tested
with another am57x board in EP mode which doesn't rely on reset from
host).

Cc: stable <[email protected]> # 4.14+
Fixes: d23f3839fe97d8dce03d ("ARM: dts: DRA7: Add pcie1 dt node for EP mode")
Signed-off-by: Kishon Vijay Abraham I <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/arm/boot/dts/am571x-idk.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/arm/boot/dts/am571x-idk.dts
+++ b/arch/arm/boot/dts/am571x-idk.dts
@@ -90,7 +90,7 @@

&pcie1_rc {
status = "okay";
- gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
+ gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>;
};

&pcie1_ep {


2020-01-22 09:50:38

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 012/103] USB: serial: suppress driver bind attributes

From: Johan Hovold <[email protected]>

commit fdb838efa31e1ed9a13ae6ad0b64e30fdbd00570 upstream.

USB-serial drivers must not be unbound from their ports before the
corresponding USB driver is unbound from the parent interface so
suppress the bind and unbind attributes.

Unbinding a serial driver while it's port is open is a sure way to
trigger a crash as any driver state is released on unbind while port
hangup is handled on the parent USB interface level. Drivers for
multiport devices where ports share a resource such as an interrupt
endpoint also generally cannot handle individual ports going away.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable <[email protected]>
Reviewed-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/serial/usb-serial.c | 3 +++
1 file changed, 3 insertions(+)

--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -1294,6 +1294,9 @@ static int usb_serial_register(struct us
return -EINVAL;
}

+ /* Prevent individual ports from being unbound. */
+ driver->driver.suppress_bind_attrs = true;
+
usb_serial_operations_init(driver);

/* Add this device to our list of devices */


2020-01-22 09:50:38

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 009/103] USB: serial: option: Add support for Quectel RM500Q

From: Kristian Evensen <[email protected]>

commit accf227de4d211b52c830a58b2df00d5739f2389 upstream.

RM500Q is a 5G module from Quectel, supporting both standalone and
non-standalone modes. Unlike other recent Quectel modems, it is possible
to identify the diagnostic interface (bInterfaceProtocol is unique).
Thus, there is no need to check for the number of endpoints or reserve
interfaces. The interface number is still dynamic though, so matching on
interface number is not possible and two entries have to be added to the
table.

Output from usb-devices with all interfaces enabled (order is diag,
nmea, at_port, modem, rmnet and adb):

Bus 004 Device 007: ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.20
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x2c7c Quectel Wireless Solutions Co., Ltd.
idProduct 0x0800
bcdDevice 4.14
iManufacturer 1 Quectel
iProduct 2 LTE-A Module
iSerial 3 40046d60
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 328
bNumInterfaces 6
bConfigurationValue 1
iConfiguration 4 DIAG_SER_RMNET
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 224mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 48
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 5 CDEV Serial
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 9
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x8e EP 14 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 6
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0f EP 15 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 66
bInterfaceProtocol 1
iInterface 6 ADB Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 42
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000006
Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000f
Device can operate at Low Speed (1Mbps)
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 1 micro seconds
bU2DevExitLat 500 micro seconds
** UNRECOGNIZED: 14 10 0a 00 01 00 00 00 00 11 00 00 30 40 0a 00 b0 40 0a 00
Device Status: 0x0000
(Bus Powered)

Signed-off-by: Kristian Evensen <[email protected]>
Cc: stable <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/serial/option.c | 4 ++++
1 file changed, 4 insertions(+)

--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -248,6 +248,7 @@ static void option_instat_callback(struc
#define QUECTEL_PRODUCT_BG96 0x0296
#define QUECTEL_PRODUCT_EP06 0x0306
#define QUECTEL_PRODUCT_EM12 0x0512
+#define QUECTEL_PRODUCT_RM500Q 0x0800

#define CMOTECH_VENDOR_ID 0x16d8
#define CMOTECH_PRODUCT_6001 0x6001
@@ -1104,6 +1105,9 @@ static const struct usb_device_id option
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff),
.driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 },
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
+ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) },
+ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0) },
+
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },
{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003),


2020-01-22 09:50:56

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 003/103] dt-bindings: reset: meson8b: fix duplicate reset IDs

From: Martin Blumenstingl <[email protected]>

commit 4881873f4cc1460f63d85fa81363d56be328ccdc upstream.

According to the public S805 datasheet the RESET2 register uses the
following bits for the PIC_DC, PSC and NAND reset lines:
- PIC_DC is at bit 3 (meaning: RESET_VD_RMEM + 3)
- PSC is at bit 4 (meaning: RESET_VD_RMEM + 4)
- NAND is at bit 5 (meaning: RESET_VD_RMEM + 4)

Update the reset IDs of these three reset lines so they don't conflict
with PIC_DC and map to the actual hardware reset lines.

Fixes: 79795e20a184eb ("dt-bindings: reset: Add bindings for the Meson SoC Reset Controller")
Signed-off-by: Martin Blumenstingl <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
include/dt-bindings/reset/amlogic,meson8b-reset.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/include/dt-bindings/reset/amlogic,meson8b-reset.h
+++ b/include/dt-bindings/reset/amlogic,meson8b-reset.h
@@ -95,9 +95,9 @@
#define RESET_VD_RMEM 64
#define RESET_AUDIN 65
#define RESET_DBLK 66
-#define RESET_PIC_DC 66
-#define RESET_PSC 66
-#define RESET_NAND 66
+#define RESET_PIC_DC 67
+#define RESET_PSC 68
+#define RESET_NAND 69
#define RESET_GE2D 70
#define RESET_PARSER_REG 71
#define RESET_PARSER_FETCH 72


2020-01-22 09:50:59

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 016/103] USB: serial: keyspan: handle unbound ports

From: Johan Hovold <[email protected]>

commit 3018dd3fa114b13261e9599ddb5656ef97a1fa17 upstream.

Check for NULL port data in the control URB completion handlers to avoid
dereferencing a NULL pointer in the unlikely case where a port device
isn't bound to a driver (e.g. after an allocation failure on port
probe()).

Fixes: 0ca1268e109a ("USB Serial Keyspan: add support for USA-49WG & USA-28XG")
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable <[email protected]>
Reviewed-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/serial/keyspan.c | 4 ++++
1 file changed, 4 insertions(+)

--- a/drivers/usb/serial/keyspan.c
+++ b/drivers/usb/serial/keyspan.c
@@ -1058,6 +1058,8 @@ static void usa49_glocont_callback(struc
for (i = 0; i < serial->num_ports; ++i) {
port = serial->port[i];
p_priv = usb_get_serial_port_data(port);
+ if (!p_priv)
+ continue;

if (p_priv->resend_cont) {
dev_dbg(&port->dev, "%s - sending setup\n", __func__);
@@ -1459,6 +1461,8 @@ static void usa67_glocont_callback(struc
for (i = 0; i < serial->num_ports; ++i) {
port = serial->port[i];
p_priv = usb_get_serial_port_data(port);
+ if (!p_priv)
+ continue;

if (p_priv->resend_cont) {
dev_dbg(&port->dev, "%s - sending setup\n", __func__);


2020-01-22 15:00:09

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH 4.19 000/103] 4.19.98-stable review


On 22/01/2020 09:28, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.19.98 release.
> There are 103 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Fri, 24 Jan 2020 09:25:24 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.98-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

All tests are passing for Tegra ...

Test results for stable-v4.19:
13 builds: 13 pass, 0 fail
22 boots: 22 pass, 0 fail
32 tests: 32 pass, 0 fail

Linux version: 4.19.98-rc1-g0ed30079b15d
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

--
nvpublic

2020-01-22 17:05:16

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 4.19 000/103] 4.19.98-stable review

On Wed, 22 Jan 2020 at 15:13, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 4.19.98 release.
> There are 103 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Fri, 24 Jan 2020 09:25:24 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.98-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

Summary
------------------------------------------------------------------------

kernel: 4.19.98-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-4.19.y
git commit: 0ed30079b15d245f5a148a4ff156dff23d9569df
git describe: v4.19.97-104-g0ed30079b15d
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-4.19-oe/build/v4.19.97-104-g0ed30079b15d


No regressions (compared to build v4.19.97)


No fixes (compared to build v4.19.97)

Ran 18532 total tests in the following environments and test suites.

Environments
--------------
- dragonboard-410c - arm64
- hi6220-hikey - arm64
- i386
- juno-r2 - arm64
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15 - arm
- x86_64

Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* libhugetlbfs
* linux-log-parser
* ltp-commands-tests
* ltp-containers-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fs-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-sched-tests
* spectre-meltdown-checker-test
* ltp-filecaps-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-securebits-tests
* network-basic-tests
* perf
* kvm-unit-tests
* ltp-cap_bounds-tests
* ltp-cpuhotplug-tests
* ltp-fcntl-locktests-tests
* ltp-open-posix-tests
* ltp-syscalls-tests
* v4l2-compliance
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-none
* ssuite

--
Linaro LKFT
https://lkft.linaro.org

2020-01-22 19:01:47

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 4.19 000/103] 4.19.98-stable review

On Wed, Jan 22, 2020 at 10:28:16AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.19.98 release.
> There are 103 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Fri, 24 Jan 2020 09:25:24 +0000.
> Anything received after that time might be too late.
>

Build results:
total: 156 pass: 156 fail: 0
Qemu test results:
total: 383 pass: 383 fail: 0

Guenter

2020-01-22 20:54:54

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH 4.19 000/103] 4.19.98-stable review

On 1/22/20 2:28 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.19.98 release.
> There are 103 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Fri, 24 Jan 2020 09:25:24 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.98-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Compiled and booted on my test system. No dmesg regressions.

thanks,
-- Shuah