Linux 5.10.114
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.114 kernel.
All users of the 5.10 kernel series must upgrade.
The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 arch/arm/boot/dts/am3517-evm.dts | 45 +++ arch/arm/boot/dts/am3517-som.dtsi | 9 arch/arm/boot/dts/at91-sama5d4_xplained.dts | 4 arch/arm/boot/dts/at91sam9g20ek_common.dtsi | 6 arch/arm/boot/dts/imx6qdl-apalis.dtsi | 10 arch/arm/boot/dts/imx6ull-colibri.dtsi | 2 arch/arm/boot/dts/logicpd-som-lv-35xx-devkit.dts | 15 + arch/arm/boot/dts/logicpd-som-lv-37xx-devkit.dts | 15 + arch/arm/boot/dts/logicpd-som-lv.dtsi | 15 - arch/arm/boot/dts/omap3-gta04.dtsi | 2 arch/arm/mach-exynos/Kconfig | 1 arch/arm/mach-omap2/omap4-common.c | 2 arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi | 40 --- arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi | 40 --- arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 20 - arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts | 4 arch/powerpc/perf/Makefile | 4 arch/riscv/kernel/patch.c | 2 arch/x86/include/asm/microcode.h | 2 arch/x86/kernel/cpu/microcode/core.c | 6 arch/x86/lib/usercopy_64.c | 2 arch/x86/pci/xen.c | 6 arch/x86/power/cpu.c | 10 block/blk-iocost.c | 12 drivers/base/arch_topology.c | 2 drivers/block/Kconfig | 16 + drivers/block/floppy.c | 43 ++- drivers/bus/sunxi-rsb.c | 2 drivers/bus/ti-sysc.c | 16 + drivers/clk/sunxi/clk-sun9i-mmc.c | 2 drivers/cpufreq/sun50i-cpufreq-nvmem.c | 4 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 83 +++--- drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c | 1 drivers/gpu/drm/i915/i915_reg.h | 2 drivers/iio/dac/ad5446.c | 2 drivers/iio/dac/ad5592r-base.c | 2 drivers/iio/imu/bmi160/bmi160_core.c | 20 + drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c | 15 - drivers/iio/magnetometer/ak8975.c | 1 drivers/lightnvm/Kconfig | 2 drivers/memory/renesas-rpc-if.c | 60 +++- drivers/mtd/nand/raw/mtk_ecc.c | 12 drivers/mtd/nand/raw/sh_flctl.c | 14 - drivers/net/dsa/lantiq_gswip.c | 3 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 9 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 7 drivers/net/ethernet/freescale/fec_main.c | 2 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 31 +- drivers/net/ethernet/ibm/ibmvnic.c | 144 +++-------- drivers/net/ethernet/ibm/ibmvnic.h | 6 drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c | 3 drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 12 drivers/net/hippi/rrunner.c | 2 drivers/net/phy/marvell10g.c | 2 drivers/net/wireguard/device.c | 3 drivers/phy/motorola/phy-mapphone-mdm6600.c | 3 drivers/phy/samsung/phy-exynos5250-sata.c | 21 + drivers/phy/ti/phy-am654-serdes.c | 2 drivers/phy/ti/phy-omap-usb2.c | 2 drivers/pinctrl/mediatek/Kconfig | 1 drivers/pinctrl/pinctrl-pistachio.c | 6 drivers/pinctrl/pinctrl-rockchip.c | 45 ++- drivers/pinctrl/samsung/Kconfig | 11 drivers/pinctrl/stm32/pinctrl-stm32.c | 23 + drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 4 drivers/tty/n_gsm.c | 194 ++++++++-------- drivers/tty/serial/8250/8250_pci.c | 8 drivers/tty/serial/8250/8250_port.c | 2 drivers/tty/serial/imx.c | 2 drivers/usb/cdns3/gadget.c | 7 drivers/usb/core/quirks.c | 6 drivers/usb/dwc3/core.c | 11 drivers/usb/dwc3/drd.c | 11 drivers/usb/dwc3/gadget.c | 31 ++ drivers/usb/gadget/configfs.c | 2 drivers/usb/gadget/function/uvc_queue.c | 2 drivers/usb/host/xhci-hub.c | 2 drivers/usb/host/xhci-pci.c | 4 drivers/usb/host/xhci-ring.c | 2 drivers/usb/host/xhci.c | 11 drivers/usb/misc/uss720.c | 3 drivers/usb/mtu3/mtu3_dr.c | 6 drivers/usb/phy/phy-generic.c | 7 drivers/usb/serial/cp210x.c | 2 drivers/usb/serial/option.c | 12 drivers/usb/serial/whiteheat.c | 5 drivers/usb/typec/ucsi/ucsi.c | 24 + drivers/video/fbdev/udlfb.c | 14 - fs/cifs/smb2ops.c | 8 fs/ext4/super.c | 15 - fs/zonefs/super.c | 46 +++ include/linux/kernel.h | 2 include/linux/mtd/mtd.h | 6 include/memory/renesas-rpc-if.h | 1 include/net/ip6_tunnel.h | 2 include/net/ip_tunnels.h | 2 include/net/tcp.h | 8 lib/hexdump.c | 41 ++- mm/kasan/quarantine.c | 7 net/core/lwt_bpf.c | 7 net/dsa/port.c | 2 net/ipv4/ip_gre.c | 12 net/ipv4/syncookies.c | 8 net/ipv4/tcp_input.c | 15 + net/ipv4/tcp_minisocks.c | 2 net/ipv4/tcp_output.c | 1 net/ipv4/tcp_rate.c | 11 net/ipv6/ip6_gre.c | 16 - net/ipv6/syncookies.c | 3 net/netfilter/ipvs/ip_vs_conn.c | 2 net/netfilter/nft_set_rbtree.c | 6 net/netfilter/nft_socket.c | 52 +++- net/sctp/sm_sideeffect.c | 4 net/smc/af_smc.c | 2 net/tls/tls_device.c | 12 sound/soc/codecs/wm8731.c | 19 - sound/soc/intel/common/soc-acpi-intel-tgl-match.c | 4 tools/perf/arch/arm64/util/Build | 1 tools/perf/arch/arm64/util/machine.c | 27 -- tools/perf/arch/s390/util/machine.c | 16 - tools/perf/util/symbol-elf.c | 2 tools/perf/util/symbol.c | 37 ++- tools/perf/util/symbol.h | 3 124 files changed, 1007 insertions(+), 680 deletions(-)
Adam Ford (2):
ARM: dts: am3517-evm: Fix misc pinmuxing
ARM: dts: logicpd-som-lv: Fix wrong pinmuxing on OMAP35
Alexey Kardashevskiy (1):
powerpc/perf: Fix 32bit compile
Baruch Siach (1):
net: phy: marvell10g: fix return value on error
Borislav Petkov (1):
x86/cpu: Load microcode during restore_processor_state()
Bruno Thomsen (1):
USB: serial: cp210x: add PIDs for Kamstrup USB Meter Reader
Chao Song (1):
ASoC: Intel: soc-acpi: correct device endpoints for max98373
Christian Hewitt (2):
arm64: dts: meson: remove CPU opps below 1GHz for G12B boards
arm64: dts: meson: remove CPU opps below 1GHz for SM1 boards
Christophe JAILLET (1):
bus: sunxi-rsb: Fix the return value of sunxi_rsb_device_create()
Chuanhong Guo (1):
mtd: rawnand: fix ecc parameters for mt7622
Claudiu Beznea (1):
ARM: dts: at91: sama5d4_xplained: fix pinctrl phandle name
Damien Le Moal (2):
zonefs: Fix management of open zones
zonefs: Clear inode information flags on inode creation
Dan Vacura (1):
usb: gadget: uvc: Fix crash when encoding data for usb request
Daniel Starke (13):
tty: n_gsm: fix restart handling via CLD command
tty: n_gsm: fix decoupled mux resource
tty: n_gsm: fix mux cleanup after unregister tty device
tty: n_gsm: fix wrong signal octet encoding in convergence layer type 2
tty: n_gsm: fix malformed counter for out of frame data
tty: n_gsm: fix insufficient txframe size
tty: n_gsm: fix wrong DLCI release order
tty: n_gsm: fix missing explicit ldisc flush
tty: n_gsm: fix wrong command retry handling
tty: n_gsm: fix wrong command frame length field encoding
tty: n_gsm: fix reset fifo race condition
tty: n_gsm: fix incorrect UA handling
tty: n_gsm: fix software flow control handling
Daniele Palmas (1):
USB: serial: option: add Telit 0x1057, 0x1058, 0x1075 compositions
Dany Madden (1):
Revert "ibmvnic: Add ethtool private flag for driver-defined queue limits"
David Yat Sin (1):
drm/amdkfd: Fix GWS queue count
Dinh Nguyen (1):
net: ethernet: stmmac: fix write to sgmii_adapter_base
Duoming Zhou (1):
drivers: net: hippi: Fix deadlock in rr_close()
Eric Dumazet (2):
tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT
tcp: make sure treq->af_specific is initialized
Evan Green (1):
xhci: Enable runtime PM on second Alderlake controller
Eyal Birger (1):
bpf, lwt: Fix crash when using bpf_skb_set_tunnel_key() from bpf_xmit lwt hook
Fabio Estevam (2):
ARM: dts: imx6qdl-apalis: Fix sgtl5000 detection issue
arm64: dts: imx8mn-ddr4-evk: Describe the 32.768 kHz PMIC clock
Fawzi Khaber (1):
iio: imu: inv_icm42600: Fix I2C init possible nack
Florian Westphal (1):
netfilter: nft_socket: only do sk lookups when indev is available
Francesco Ruggeri (1):
tcp: md5: incorrect tcp_header_len for incoming connections
Geert Uytterhoeven (1):
memory: renesas-rpc-if: Fix HF/OSPI data transfer in Manual Mode
Greg Kroah-Hartman (2):
lightnvm: disable the subsystem
Linux 5.10.114
Guo Ren (1):
riscv: patch_text: Fixup last cpu should be master
H. Nikolaus Schaller (1):
ARM: dts: Fix mmc order for omap3-gta04
Hangyu Hua (1):
usb: misc: fix improper handling of refcount in uss720_probe()
Heikki Krogerus (2):
usb: typec: ucsi: Fix reuse of completion structure
usb: typec: ucsi: Fix role swapping
Henry Lin (1):
xhci: stop polling roothubs after shutdown
Imre Deak (1):
drm/i915: Fix SEL_FETCH_PLANE_*(PIPE_B+) register addresses
Jian Shen (2):
net: hns3: add validity check for message data length
net: hns3: add return value for mailbox handling in PF
Jie Wang (1):
net: hns3: modify the return code of hclge_get_ring_chain_from_mbx
Johan Hovold (1):
serial: imx: fix overrun interrupts in DMA mode
Jonathan Lemon (1):
net: bcmgenet: hide status block before TX timestamping
Kees Cook (2):
USB: serial: whiteheat: fix heap overflow in WHITEHEAT_GET_DTR_RTS
thermal: int340x: Fix attr.show callback prototype
Krzysztof Kozlowski (2):
pinctrl: samsung: fix missing GPIOLIB on ARM64 Exynos config
phy: samsung: exynos5250-sata: fix missing device put in probe error paths
Leon Romanovsky (1):
ixgbe: ensure IPsec VF<->PF compatibility
Lijun Pan (1):
ibmvnic: fix miscellaneous checks
Luca Ceresoli (1):
pinctrl: rockchip: fix RK3308 pinmux bits
Lv Ruyi (1):
pinctrl: pistachio: fix use of irq_of_parse_and_map()
Maciej W. Rozycki (2):
serial: 8250: Also set sticky MCR bits in console restoration
serial: 8250: Correct the clock for EndRun PTP/1588 PCIe device
Macpaul Lin (1):
usb: mtu3: fix USB 3.0 dual-role-switch from device to host
Manish Chopra (1):
bnx2x: fix napi API usage sequence
Marek Vasut (2):
pinctrl: stm32: Do not call stm32_gpio_get() for edge triggered IRQs in EOI
pinctrl: stm32: Keep pinctrl block clock enabled when LEVEL IRQ requested
Mark Brown (1):
ARM: dts: at91: Map MCLK for wm8731 on at91sam9g20ek
Martin Blumenstingl (1):
net: dsa: lantiq_gswip: Don't set GSWIP_MII_CFG_RMII_CLK
Mathias Nyman (1):
xhci: increase usb U3 -> U0 link resume timeout from 100ms to 500ms
Max Krummenacher (1):
ARM: dts: imx6ull-colibri: fix vqmmc regulator
Maxim Mikityanskiy (1):
tls: Skip tls_append_frag on zero copy size
Miaoqian Lin (8):
phy: samsung: Fix missing of_node_put() in exynos_sata_phy_probe
ARM: OMAP2+: Fix refcount leak in omap_gic_of_init
phy: ti: omap-usb2: Fix error handling in omap_usb2_enable_clocks
phy: mapphone-mdm6600: Fix PM error handling in phy_mdm6600_probe
phy: ti: Add missing pm_runtime_disable() in serdes_am654_probe
mtd: rawnand: Fix return value check of wait_for_completion_timeout
net: dsa: Add missing of_node_put() in dsa_port_link_register_of drm/amd/display: Fix memory leak in dcn21_clock_source_create
Michael Hennerich (1):
iio: dac: ad5446: Fix read_raw not returning set value
Mikulas Patocka (3):
hex2bin: make the function hex_to_bin constant-time
hex2bin: fix access beyond string end
x86: __memcpy_flushcache: fix wrong alignment if size > 2^32
Namhyung Kim (3):
perf symbol: Pass is_kallsyms to symbols__fixup_end() perf symbol: Update symbols__fixup_end() perf symbol: Remove arch__symbols__fixup_end()
Nikolay Aleksandrov (1):
wireguard: device: check for metadata_dst with skb_valid_dst()
Oleksandr Ocheretnyi (1):
mtd: fix 'part' field data corruption in mtd_info
Oliver Neukum (2):
USB: quirks: add a Realtek card reader
USB: quirks: add STRING quirk for VCOM device
Pablo Neira Ayuso (1):
netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion
Pavel Skripkin (1):
video: fbdev: udlfb: properly check endpoint type
Pawel Laszczak (1):
usb: cdns3: Fix issue for clear halt endpoint
Peilin Ye (3):
ip_gre: Make o_seqno start from 0 in native mode
ip6_gre: Make o_seqno start from 0 in native mode ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode
Pengcheng Yang (3):
ipvs: correctly print the memory size of ip_vs_conn_tab
tcp: ensure to use the most recently sent skb when filling the rate sample
tcp: fix F-RTO may not work correctly when receiving DSACK
Ronnie Sahlberg (1):
cifs: destage any unwritten data to the server before calling copychunk_write
Sean Anderson (1):
usb: phy: generic: Get the vbus supply
Slark Xiao (1):
USB: serial: option: add support for Cinterion MV32-WA/MV32-WB
Sven Peter (1):
usb: dwc3: Try usb-role-switch first in dwc3_drd_init
Tejun Heo (1):
iocost: don't reset the inuse weight of under-weighted debtors
Thinh Nguyen (3):
usb: dwc3: core: Fix tx/rx threshold settings
usb: dwc3: core: Only handle soft-reset in DCTL
usb: dwc3: gadget: Return proper request status
Thomas Gleixner (1):
x86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests
Tong Zhang (1):
iio:imu:bmi160: disable regulator in error path
Tony Lindgren (1):
bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific
Vijayavardhan Vennapusa (1):
usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()
Wang Qing (1):
arch_topology: Do not set llc_sibling if llc_id is invalid
Weitao Wang (1):
USB: Fix xhci event ring dequeue pointer ERDP update issue
Willy Tarreau (1):
floppy: disable FDRAWCMD by default
Xiaobing Luo (1):
cpufreq: fix memory leak in sun50i_cpufreq_nvmem_probe
Xin Long (1):
sctp: check asoc strreset_chunk in sctp_generate_reconf_event
Yang Yingliang (2):
clk: sunxi: sun9i-mmc: check return value after calling platform_get_resource()
net: fec: add missing of_node_put() in fec_enet_init_stop_mode()
Ye Bin (1):
ext4: fix bug_on in start_this_handle during umount filesystem
YueHaibing (1):
pinctrl: mediatek: moore: Fix build error
Zheyu Ma (2):
iio: magnetometer: ak8975: Fix the error handling in ak8975_power_on()
ASoC: wm8731: Disable the regulator when probing fails
Zizhuang Deng (1):
iio: dac: ad5592r: Fix the missing return value.
Zqiang (1):
kasan: prevent cpu_quarantine corruption when CPU offline and cache shrink occur at same time
liuyacan (1):
net/smc: sync err code when tcp connection was refused
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 113 +SUBLEVEL = 114 EXTRAVERSION = NAME = Dare mighty things
arch/arm/boot/dts/am3517-evm.dts +40 -5
87 lines not on this page · raw message
arch/arm/boot/dts/am3517-som.dtsi +9 -0
@@ -69,6 +69,8 @@ nand@0,0 { }; &i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins>; clock-frequency = <400000>; s35390a: s35390a@30 {
@@ -179,6 +181,13 @@ bluetooth { &omap3_pmx_core { + i2c1_pins: pinmux_i2c1_pins { + pinctrl-single,pins = < + OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ + OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ + >; + }; + wl12xx_buffer_pins: pinmux_wl12xx_buffer_pins { pinctrl-single,pins = < OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* mmc1_dat7.gpio_129 */
arch/arm/boot/dts/at91-sama5d4_xplained.dts +2 -2
@@ -91,7 +91,7 @@ usart4: serial@fc010000 { spi1: spi@fc018000 { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_spi0_cs>; + pinctrl-0 = <&pinctrl_spi1_cs>; cs-gpios = <&pioB 21 0>; status = "okay"; };
@@ -149,7 +149,7 @@ pinctrl_macb0_phy_irq: macb0_phy_irq_0 { atmel,pins = <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; }; - pinctrl_spi0_cs: spi0_cs_default { + pinctrl_spi1_cs: spi1_cs_default { atmel,pins = <AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; };
arch/arm/boot/dts/at91sam9g20ek_common.dtsi +6 -0
@@ -219,6 +219,12 @@ i2c-gpio-0 { wm8731: wm8731@1b { compatible = "wm8731"; reg = <0x1b>; + + /* PCK0 at 12MHz */ + clocks = <&pmc PMC_TYPE_SYSTEM 8>; + clock-names = "mclk"; + assigned-clocks = <&pmc PMC_TYPE_SYSTEM 8>; + assigned-clock-rates = <12000000>; }; };
arch/arm/boot/dts/imx6qdl-apalis.dtsi +8 -2
@@ -286,6 +286,8 @@ vgen6_reg: vgen6 { codec: sgtl5000@a { compatible = "fsl,sgtl5000"; reg = <0x0a>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sgtl5000>; clocks = <&clks IMX6QDL_CLK_CKO>; VDDA-supply = <®_module_3v3_audio>; VDDIO-supply = <®_module_3v3>;
@@ -516,8 +518,6 @@ MX6QDL_PAD_DISP0_DAT20__AUD4_TXC 0x130b0 MX6QDL_PAD_DISP0_DAT21__AUD4_TXD 0x130b0 MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0 MX6QDL_PAD_DISP0_DAT23__AUD4_RXD 0x130b0 - /* SGTL5000 sys_mclk */ - MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 >; };
@@ -810,6 +810,12 @@ MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x000b0 >; }; + pinctrl_sgtl5000: sgtl5000grp { + fsl,pins = < + MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 + >; + }; + pinctrl_spdif: spdifgrp { fsl,pins = < MX6QDL_PAD_GPIO_16__SPDIF_IN 0x1b0b0
arch/arm/boot/dts/imx6ull-colibri.dtsi +1 -1
@@ -37,7 +37,7 @@ reg_module_3v3_avdd: regulator-module-3v3-avdd { reg_sd1_vmmc: regulator-sd1-vmmc { compatible = "regulator-gpio"; - gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>; + gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_snvs_reg_sd>; regulator-always-on;
arch/arm/boot/dts/logicpd-som-lv-35xx-devkit.dts +15 -0
@@ -11,3 +11,18 @@ / { model = "LogicPD Zoom OMAP35xx SOM-LV Development Kit"; compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3430", "ti,omap3"; }; + +&omap3_pmx_core2 { + pinctrl-names = "default"; + pinctrl-0 = <&hsusb2_2_pins>; + hsusb2_2_pins: pinmux_hsusb2_2_pins { + pinctrl-single,pins = < + OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ + OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ + OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ + OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ + OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ + OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ + >; + }; +};
arch/arm/boot/dts/logicpd-som-lv-37xx-devkit.dts +15 -0
@@ -11,3 +11,18 @@ / { model = "LogicPD Zoom DM3730 SOM-LV Development Kit"; compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3630", "ti,omap3"; }; + +&omap3_pmx_core2 { + pinctrl-names = "default"; + pinctrl-0 = <&hsusb2_2_pins>; + hsusb2_2_pins: pinmux_hsusb2_2_pins { + pinctrl-single,pins = < + OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ + OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ + OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ + OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ + OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ + OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ + >; + }; +};
arch/arm/boot/dts/logicpd-som-lv.dtsi +0 -15
@@ -265,21 +265,6 @@ OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4) /* sys_boot1.gpio_3 */ }; }; -&omap3_pmx_core2 { - pinctrl-names = "default"; - pinctrl-0 = <&hsusb2_2_pins>; - hsusb2_2_pins: pinmux_hsusb2_2_pins { - pinctrl-single,pins = < - OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */ - OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */ - OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */ - OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */ - OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */ - OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */ - >; - }; -}; - &uart2 { interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>; pinctrl-names = "default";
arch/arm/boot/dts/omap3-gta04.dtsi +2 -0
@@ -31,6 +31,8 @@ chosen { aliases { display0 = &lcd; display1 = &tv0; + /delete-property/ mmc2; + /delete-property/ mmc3; }; ldo_3v3: fixedregulator {
arch/arm/mach-exynos/Kconfig +0 -1
@@ -20,7 +20,6 @@ menuconfig ARCH_EXYNOS select EXYNOS_PMU select EXYNOS_SROM select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS - select GPIOLIB select HAVE_ARM_ARCH_TIMER if ARCH_EXYNOS5 select HAVE_ARM_SCU if SMP select HAVE_S3C2410_I2C if I2C
arch/arm/mach-omap2/omap4-common.c +2 -0
@@ -314,10 +314,12 @@ void __init omap_gic_of_init(void) np =of_find_compatible_node (NULL ,NULL ,"arm,cortex-a9-gic" ); gic_dist_base_addr =of_iomap (np,0 ); +of_node_put (np);WARN_ON (!gic_dist_base_addr); np =of_find_compatible_node (NULL ,NULL ,"arm,cortex-a9-twd-timer" ); twd_base =of_iomap (np,0 ); +of_node_put (np);WARN_ON (!twd_base); skip_errata_init:
arch/arm64/boot/dts/amlogic/meson-g12b-a311d.dtsi +0 -40
@@ -11,26 +11,6 @@ cpu_opp_table_0: opp-table-0 { compatible = "operating-points-v2"; opp-shared; - opp-100000000 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <731000>; - }; - - opp-250000000 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <731000>; - }; - - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <731000>; - }; - - opp-667000000 { - opp-hz = /bits/ 64 <667000000>; - opp-microvolt = <731000>; - }; - opp-1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <761000>;
@@ -71,26 +51,6 @@ cpub_opp_table_1: opp-table-1 { compatible = "operating-points-v2"; opp-shared; - opp-100000000 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <731000>; - }; - - opp-250000000 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <731000>; - }; - - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <731000>; - }; - - opp-667000000 { - opp-hz = /bits/ 64 <667000000>; - opp-microvolt = <731000>; - }; - opp-1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <731000>;
arch/arm64/boot/dts/amlogic/meson-g12b-s922x.dtsi +0 -40
@@ -11,26 +11,6 @@ cpu_opp_table_0: opp-table-0 { compatible = "operating-points-v2"; opp-shared; - opp-100000000 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <731000>; - }; - - opp-250000000 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <731000>; - }; - - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <731000>; - }; - - opp-667000000 { - opp-hz = /bits/ 64 <667000000>; - opp-microvolt = <731000>; - }; - opp-1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <731000>;
@@ -76,26 +56,6 @@ cpub_opp_table_1: opp-table-1 { compatible = "operating-points-v2"; opp-shared; - opp-100000000 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <751000>; - }; - - opp-250000000 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <751000>; - }; - - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <751000>; - }; - - opp-667000000 { - opp-hz = /bits/ 64 <667000000>; - opp-microvolt = <751000>; - }; - opp-1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <771000>;
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi +0 -20
@@ -95,26 +95,6 @@ cpu_opp_table: opp-table { compatible = "operating-points-v2"; opp-shared; - opp-100000000 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <730000>; - }; - - opp-250000000 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <730000>; - }; - - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <730000>; - }; - - opp-667000000 { - opp-hz = /bits/ 64 <666666666>; - opp-microvolt = <750000>; - }; - opp-1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <770000>;
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts +4 -0
@@ -59,6 +59,10 @@ pmic@4b { interrupts = <3 IRQ_TYPE_LEVEL_LOW>; rohm,reset-snvs-powered; + #clock-cells = <0>; + clocks = <&osc_32k 0>; + clock-output-names = "clk-32k-out"; + regulators { buck1_reg: BUCK1 { regulator-name = "buck1";
arch/powerpc/perf/Makefile +2 -2
@@ -5,11 +5,11 @@ ifdef CONFIG_COMPAT obj-$(CONFIG_PERF_EVENTS) += callchain_32.o endif -obj-$(CONFIG_PPC_PERF_CTRS) += core-book3s.o bhrb.o +obj-$(CONFIG_PPC_PERF_CTRS) += core-book3s.o obj64-$(CONFIG_PPC_PERF_CTRS) += ppc970-pmu.o power5-pmu.o \ power5+-pmu.o power6-pmu.o power7-pmu.o \ isa207-common.o power8-pmu.o power9-pmu.o \ - generic-compat-pmu.o power10-pmu.o + generic-compat-pmu.o power10-pmu.o bhrb.o obj32-$(CONFIG_PPC_PERF_CTRS) += mpc7450-pmu.o obj-$(CONFIG_PPC_POWERNV) += imc-pmu.o
arch/riscv/kernel/patch.c +1 -1
@@ -100,7 +100,7 @@ static int patch_text_cb(void *data)struct patch_insn *patch = data;int ret =0 ; -if (atomic_inc_return (&patch->cpu_count) ==1 ) { +if (atomic_inc_return (&patch->cpu_count) ==num_online_cpus ()) { ret =patch_text_nosync (patch->addr, &patch->insn,GET_INSN_LENGTH (patch->insn));
arch/x86/include/asm/microcode.h +2 -0
@@ -133,11 +133,13 @@ extern void load_ucode_ap(void);void reload_early_microcode (void );extern bool get_builtin_firmware (struct cpio_data *cd,const char *name);extern bool initrd_gone; +void microcode_bsp_resume (void );#else static inline int __init microcode_init (void ) {return 0 ; };static inline void __init load_ucode_bsp (void ) { }static inline void load_ucode_ap (void ) { }static inline void reload_early_microcode (void ) { } +static inline void microcode_bsp_resume (void ) { }static inline bool get_builtin_firmware (struct cpio_data *cd,const char *name) {return false; }#endif
arch/x86/kernel/cpu/microcode/core.c +3 -3
@@ -775,9 +775,9 @@ static struct subsys_interface mc_cpu_interface = { };/** -* mc_bp_resume - Update boot CPU microcode during resume. +* microcode_bsp_resume - Update boot CPU microcode during resume. */ -static void mc_bp_resume (void ) +void microcode_bsp_resume (void ) {int cpu =smp_processor_id ();struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
@@ -789,7 +789,7 @@ static void mc_bp_resume(void) }static struct syscore_ops mc_syscore_ops = { - .resume = mc_bp_resume, + .resume = microcode_bsp_resume, };static int mc_cpu_starting (unsigned int cpu)
arch/x86/lib/usercopy_64.c +1 -1
@@ -121,7 +121,7 @@ void __memcpy_flushcache(void *_dst, const void *_src, size_t size)/* cache copy and flush to align dest */ if (!IS_ALIGNED (dest,8 )) { -unsigned len =min_t (unsigned, size,ALIGN (dest,8 ) - dest); +size_t len =min_t (size_t, size,ALIGN (dest,8 ) - dest);memcpy ((void *) dest, (void *) source, len);clean_cache_range ((void *) dest, len);
arch/x86/pci/xen.c +5 -1
@@ -476,7 +476,6 @@ static __init void xen_setup_pci_msi(void) xen_msi_ops.setup_msi_irqs = xen_setup_msi_irqs; } xen_msi_ops.teardown_msi_irqs = xen_pv_teardown_msi_irqs; - pci_msi_ignore_mask =1 ; }else if (xen_hvm_domain ()) { xen_msi_ops.setup_msi_irqs = xen_hvm_setup_msi_irqs; xen_msi_ops.teardown_msi_irqs = xen_teardown_msi_irqs;
@@ -490,6 +489,11 @@ static __init void xen_setup_pci_msi(void)* in allocating the native domain and never use it. */ x86_init.irqs.create_pci_msi_domain = xen_create_pci_msi_domain; +/* +* With XEN PIRQ/Eventchannels in use PCI/MSI[-X] masking is solely +* controlled by the hypervisor. +*/ + pci_msi_ignore_mask = 1; }#else /* CONFIG_PCI_MSI */
arch/x86/power/cpu.c +9 -1
@@ -25,6 +25,7 @@#include <asm/cpu.h> #include <asm/mmu_context.h> #include <asm/cpu_device_id.h> +#include <asm/microcode.h> #ifdef CONFIG_X86_32 __visible unsigned long saved_context_ebx;
@@ -265,11 +266,18 @@ static void notrace __restore_processor_state(struct saved_context *ctxt) x86_platform.restore_sched_clock_state ();mtrr_bp_restore ();perf_restore_debug_store (); -msr_restore_context (ctxt); c = &cpu_data (smp_processor_id ());if (cpu_has (c,X86_FEATURE_MSR_IA32_FEAT_CTL ))init_ia32_feat_ctl (c); + +microcode_bsp_resume (); + +/* +* This needs to happen after the microcode has been updated upon resume +* because some of the MSRs are "emulated" in microcode. +*/ +msr_restore_context (ctxt); }/* Needed by apm.c */
block/blk-iocost.c +11 -1
@@ -2257,7 +2257,17 @@ static void ioc_timer_fn(struct timer_list *timer) iocg->hweight_donating = hwa; iocg->hweight_after_donation = new_hwi;list_add (&iocg->surplus_list, &surpluses); - }else { + }else if (!iocg->abs_vdebt) { +/* +* @iocg doesn't have enough to donate. Reset +* its inuse to active. +* +* Don't reset debtors as their inuse's are +* owned by debt handling. This shouldn't affect +* donation calculuation in any meaningful way +* as @iocg doesn't have a meaningful amount of +* share anyway. +*/ TRACE_IOCG_PATH (inuse_shortage, iocg, &now, iocg->inuse, iocg->active, iocg->hweight_inuse, new_hwi);
drivers/base/arch_topology.c +1 -1
@@ -515,7 +515,7 @@ void update_siblings_masks(unsigned int cpuid)for_each_online_cpu (cpu) { cpu_topo = &cpu_topology[cpu]; -if (cpuid_topo->llc_id == cpu_topo->llc_id) { +if (cpu_topo->llc_id !=-1 && cpuid_topo->llc_id == cpu_topo->llc_id) {cpumask_set_cpu (cpu, &cpuid_topo->llc_sibling);cpumask_set_cpu (cpuid, &cpu_topo->llc_sibling); }
drivers/block/Kconfig +16 -0
@@ -39,6 +39,22 @@ config BLK_DEV_FD To compile this driver as a module, choose M here: the module will be called floppy. +config BLK_DEV_FD_RAWCMD + bool "Support for raw floppy disk commands (DEPRECATED)" + depends on BLK_DEV_FD + help + If you want to use actual physical floppies and expect to do + special low-level hardware accesses to them (access and use + non-standard formats, for example), then enable this. + + Note that the code enabled by this option is rarely used and + might be unstable or insecure, and distros should not enable it. + + Note: FDRAWCMD is deprecated and will be removed from the kernel + in the near future. + + If unsure, say N. + config AMIGA_FLOPPY tristate "Amiga floppy support" depends on AMIGA
drivers/block/floppy.c +32 -11
67 lines not on this page · raw message
drivers/bus/sunxi-rsb.c +2 -0
@@ -224,6 +224,8 @@ static struct sunxi_rsb_device *sunxi_rsb_device_create(struct sunxi_rsb *rsb,dev_dbg (&rdev->dev,"device %s registered\n" ,dev_name (&rdev->dev)); +return rdev; + err_device_add:put_device (&rdev->dev);
drivers/bus/ti-sysc.c +15 -1
@@ -3130,13 +3130,27 @@ static int sysc_check_disabled_devices(struct sysc *ddata)*/ static int sysc_check_active_timer (struct sysc *ddata) { +int error; +if (ddata->cap->type !=TI_SYSC_OMAP2_TIMER && ddata->cap->type !=TI_SYSC_OMAP4_TIMER )return 0 ; +/* +* Quirk for omap3 beagleboard revision A to B4 to use gpt12. +* Revision C and later are fixed with commit 23885389dbbb ("ARM: +* dts: Fix timer regression for beagleboard revision c"). This all +* can be dropped if we stop supporting old beagleboard revisions +* A to B4 at some point. +*/ +if (sysc_soc->soc ==SOC_3430 ) + error = -ENXIO ; +else + error = -EBUSY ; +if ((ddata->cfg.quirks &SYSC_QUIRK_NO_RESET_ON_INIT ) && (ddata->cfg.quirks &SYSC_QUIRK_NO_IDLE )) -return -ENXIO ; +return error;return 0 ; }
drivers/clk/sunxi/clk-sun9i-mmc.c +2 -0
@@ -109,6 +109,8 @@ static int sun9i_a80_mmc_config_clk_probe(struct platform_device *pdev)spin_lock_init (&data->lock); r =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); +if (!r) +return -EINVAL ;/* one clock/reset pair per word */ count =DIV_ROUND_UP ((resource_size (r)),SUN9I_MMC_WIDTH ); data->membase =devm_ioremap_resource (&pdev->dev, r);
drivers/cpufreq/sun50i-cpufreq-nvmem.c +3 -1
@@ -98,8 +98,10 @@ static int sun50i_cpufreq_nvmem_probe(struct platform_device *pdev)return -ENOMEM ; ret =sun50i_cpufreq_get_efuse (&speed); -if (ret) +if (ret) { +kfree (opp_tables);return ret; + }snprintf (name,MAX_NAME_LEN ,"speed%d" , speed);
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +37 -46
180 lines not on this page · raw message
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +1 -0
@@ -1267,6 +1267,7 @@ static struct clock_source *dcn21_clock_source_create(return &clk_src->base; } +kfree (clk_src);BREAK_TO_DEBUGGER ();return NULL ; }
drivers/gpu/drm/i915/i915_reg.h +1 -1
@@ -7202,7 +7202,7 @@ enum {#define _SEL_FETCH_PLANE_BASE_6_A 0x70940#define _SEL_FETCH_PLANE_BASE_7_A 0x70960#define _SEL_FETCH_PLANE_BASE_CUR_A 0x70880 -#define _SEL_FETCH_PLANE_BASE_1_B 0x70990 +#define _SEL_FETCH_PLANE_BASE_1_B 0x71890#define _SEL_FETCH_PLANE_BASE_A (plane) _PICK(plane, \ _SEL_FETCH_PLANE_BASE_1_A, \
drivers/iio/dac/ad5446.c +1 -1
@@ -178,7 +178,7 @@ static int ad5446_read_raw(struct iio_dev *indio_dev,switch (m) {case IIO_CHAN_INFO_RAW : - *val = st->cached_val; + *val = st->cached_val >> chan->scan_type.shift;return IIO_VAL_INT ;case IIO_CHAN_INFO_SCALE : *val = st->vref_mv;
drivers/iio/dac/ad5592r-base.c +1 -1
@@ -523,7 +523,7 @@ static int ad5592r_alloc_channels(struct iio_dev *iio_dev)if (!ret) st->channel_modes[reg] = tmp; -fwnode_property_read_u32 (child,"adi,off-state" , &tmp); + ret =fwnode_property_read_u32 (child,"adi,off-state" , &tmp);if (!ret) st->channel_offstate[reg] = tmp; }
drivers/iio/imu/bmi160/bmi160_core.c +14 -6
@@ -731,7 +731,7 @@ static int bmi160_chip_init(struct bmi160_data *data, bool use_spi) ret =regmap_write (data->regmap,BMI160_REG_CMD ,BMI160_CMD_SOFTRESET );if (ret) -return ret; + goto disable_regulator;usleep_range (BMI160_SOFTRESET_USLEEP ,BMI160_SOFTRESET_USLEEP +1 );
@@ -742,29 +742,37 @@ static int bmi160_chip_init(struct bmi160_data *data, bool use_spi)if (use_spi) { ret =regmap_read (data->regmap,BMI160_REG_DUMMY , &val);if (ret) -return ret; + goto disable_regulator; } ret =regmap_read (data->regmap,BMI160_REG_CHIP_ID , &val);if (ret) {dev_err (dev,"Error reading chip id\n" ); -return ret; + goto disable_regulator; }if (val !=BMI160_CHIP_ID_VAL ) {dev_err (dev,"Wrong chip id, got %x expected %x\n" , val,BMI160_CHIP_ID_VAL ); -return -ENODEV ; + ret = -ENODEV ; + goto disable_regulator; } ret =bmi160_set_mode (data,BMI160_ACCEL , true);if (ret) -return ret; + goto disable_regulator; ret =bmi160_set_mode (data,BMI160_GYRO , true);if (ret) -return ret; + goto disable_accel;return 0 ; + +disable_accel: +bmi160_set_mode (data,BMI160_ACCEL , false); + +disable_regulator: +regulator_bulk_disable (ARRAY_SIZE (data->supplies), data->supplies); +return ret; } static int bmi160_data_rdy_trigger_set_state(struct iio_trigger *trig,
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c +9 -6
@@ -18,12 +18,15 @@ static int inv_icm42600_i2c_bus_setup(struct inv_icm42600_state *st)unsigned int mask, val;int ret; -/* setup interface registers */ - ret =regmap_update_bits (st->map,INV_ICM42600_REG_INTF_CONFIG6 , -INV_ICM42600_INTF_CONFIG6_MASK , -INV_ICM42600_INTF_CONFIG6_I3C_EN ); -if (ret) -return ret; +/* +* setup interface registers +* This register write to REG_INTF_CONFIG6 enables a spike filter that +* is impacting the line and can prevent the I2C ACK to be seen by the +* controller. So we don't test the return value. +*/ +regmap_update_bits (st->map,INV_ICM42600_REG_INTF_CONFIG6 , +INV_ICM42600_INTF_CONFIG6_MASK , +INV_ICM42600_INTF_CONFIG6_I3C_EN ); ret =regmap_update_bits (st->map,INV_ICM42600_REG_INTF_CONFIG4 ,INV_ICM42600_INTF_CONFIG4_I3C_BUS_ONLY ,0 );
drivers/iio/magnetometer/ak8975.c +1 -0
@@ -389,6 +389,7 @@ static int ak8975_power_on(const struct ak8975_data *data)if (ret) {dev_warn (&data->client->dev,"Failed to enable specified Vid supply\n" ); +regulator_disable (data->vdd);return ret; }
drivers/lightnvm/Kconfig +1 -1
@@ -5,7 +5,7 @@ menuconfig NVM bool "Open-Channel SSD target support" - depends on BLOCK + depends on BLOCK && BROKEN help Say Y here to get to enable Open-channel SSDs.
drivers/memory/renesas-rpc-if.c +46 -14
101 lines not on this page · raw message
drivers/mtd/nand/raw/mtk_ecc.c +8 -4
@@ -43,6 +43,7 @@struct mtk_ecc_caps {u32 err_mask; +u32 err_shift;const u8 *ecc_strength;const u32 *ecc_regs;u8 num_ecc_strength;
@@ -76,7 +77,7 @@ static const u8 ecc_strength_mt2712[] = { };static const u8 ecc_strength_mt7622[] = { -4 ,6 ,8 ,10 ,12 ,14 ,16 +4 ,6 ,8 ,10 ,12 };enum mtk_ecc_regs {
@@ -221,7 +222,7 @@ void mtk_ecc_get_stats(struct mtk_ecc *ecc, struct mtk_ecc_stats *stats,for (i =0 ; i < sectors; i++) { offset = (i >>2 ) <<2 ; err =readl (ecc->regs +ECC_DECENUM0 + offset); - err = err >> ((i %4 ) *8 ); + err = err >> ((i %4 ) * ecc->caps->err_shift); err &= ecc->caps->err_mask;if (err == ecc->caps->err_mask) {/* uncorrectable errors */
@@ -449,6 +450,7 @@ EXPORT_SYMBOL(mtk_ecc_get_parity_bits);static const struct mtk_ecc_caps mtk_ecc_caps_mt2701 = { .err_mask =0x3f , + .err_shift =8 , .ecc_strength = ecc_strength_mt2701, .ecc_regs = mt2701_ecc_regs, .num_ecc_strength =20 ,
@@ -459,6 +461,7 @@ static const struct mtk_ecc_caps mtk_ecc_caps_mt2701 = {static const struct mtk_ecc_caps mtk_ecc_caps_mt2712 = { .err_mask =0x7f , + .err_shift =8 , .ecc_strength = ecc_strength_mt2712, .ecc_regs = mt2712_ecc_regs, .num_ecc_strength =23 ,
@@ -468,10 +471,11 @@ static const struct mtk_ecc_caps mtk_ecc_caps_mt2712 = { };static const struct mtk_ecc_caps mtk_ecc_caps_mt7622 = { - .err_mask =0x3f , + .err_mask =0x1f , + .err_shift =5 , .ecc_strength = ecc_strength_mt7622, .ecc_regs = mt7622_ecc_regs, - .num_ecc_strength =7 , + .num_ecc_strength =5 , .ecc_mode_shift =4 , .parity_bits =13 , .pg_irq_sel =0 ,
drivers/mtd/nand/raw/sh_flctl.c +8 -6
@@ -384,7 +384,8 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf,dma_addr_t dma_addr;dma_cookie_t cookie;uint32_t reg; -int ret; +int ret =0 ; +unsigned long time_left;if (dir ==DMA_FROM_DEVICE ) { chan = flctl->chan_fifo0_rx;
@@ -425,13 +426,14 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf, goto out; } - ret = + time_left =wait_for_completion_timeout (&flctl->dma_complete,msecs_to_jiffies (3000 )); -if (ret <=0 ) { +if (time_left ==0 ) {dmaengine_terminate_all (chan);dev_err (&flctl->pdev->dev,"wait_for_completion_timeout\n" ); + ret = -ETIMEDOUT ; } out:
@@ -441,7 +443,7 @@ static int flctl_dma_fifo0_transfer(struct sh_flctl *flctl, unsigned long *buf,dma_unmap_single (chan->device->dev, dma_addr, len, dir); -/* ret > 0 is success */ +/* ret == 0 is success */ return ret; }
@@ -465,7 +467,7 @@ static void read_fiforeg(struct sh_flctl *flctl, int rlen, int offset)/* initiate DMA transfer */ if (flctl->chan_fifo0_rx && rlen >=32 && -flctl_dma_fifo0_transfer (flctl, buf, rlen,DMA_FROM_DEVICE ) >0 ) + !flctl_dma_fifo0_transfer (flctl, buf, rlen,DMA_FROM_DEVICE )) goto convert;/* DMA success */ /* do polling transfer */
@@ -524,7 +526,7 @@ static void write_ec_fiforeg(struct sh_flctl *flctl, int rlen,/* initiate DMA transfer */ if (flctl->chan_fifo0_tx && rlen >=32 && -flctl_dma_fifo0_transfer (flctl, buf, rlen,DMA_TO_DEVICE ) >0 ) + !flctl_dma_fifo0_transfer (flctl, buf, rlen,DMA_TO_DEVICE ))return ;/* DMA success */ /* do polling transfer */
drivers/net/dsa/lantiq_gswip.c +0 -3
@@ -1629,9 +1629,6 @@ static void gswip_phylink_mac_config(struct dsa_switch *ds, int port,break ;case PHY_INTERFACE_MODE_RMII : miicfg |=GSWIP_MII_CFG_MODE_RMIIM ; - -/* Configure the RMII clock as output: */ - miicfg |=GSWIP_MII_CFG_RMII_CLK ;break ;case PHY_INTERFACE_MODE_RGMII :case PHY_INTERFACE_MODE_RGMII_ID :
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +5 -4
@@ -14213,10 +14213,6 @@ static int bnx2x_eeh_nic_unload(struct bnx2x *bp)/* Stop Tx */ bnx2x_tx_disable (bp); -/* Delete all NAPI objects */ -bnx2x_del_all_napi (bp); -if (CNIC_LOADED (bp)) -bnx2x_del_all_napi_cnic (bp);netdev_reset_tc (bp->dev);del_timer_sync (&bp->timer);
@@ -14321,6 +14317,11 @@ static pci_ers_result_t bnx2x_io_slot_reset(struct pci_dev *pdev)bnx2x_drain_tx_queues (bp);bnx2x_send_unload_req (bp,UNLOAD_RECOVERY );bnx2x_netif_stop (bp,1 ); +bnx2x_del_all_napi (bp); + +if (CNIC_LOADED (bp)) +bnx2x_del_all_napi_cnic (bp); +bnx2x_free_irq (bp);/* Report UNLOAD_DONE to MCP */
drivers/net/ethernet/broadcom/genet/bcmgenet.c +7 -0
@@ -1987,6 +1987,11 @@ static struct sk_buff *bcmgenet_add_tsb(struct net_device *dev,return skb; } +static void bcmgenet_hide_tsb (struct sk_buff *skb) +{ +__skb_pull (skb,sizeof (struct status_64 )); +} +static netdev_tx_t bcmgenet_xmit (struct sk_buff *skb,struct net_device *dev) {struct bcmgenet_priv *priv =netdev_priv (dev);
@@ -2093,6 +2098,8 @@ static netdev_tx_t bcmgenet_xmit(struct sk_buff *skb, struct net_device *dev) }GENET_CB (skb)->last_cb = tx_cb_ptr; + +bcmgenet_hide_tsb (skb);skb_tx_timestamp (skb);/* Decrement total BD count and advance our write pointer */
drivers/net/ethernet/freescale/fec_main.c +1 -1
@@ -3529,7 +3529,7 @@ static int fec_enet_init_stop_mode(struct fec_enet_private *fep, ARRAY_SIZE(out_val));if (ret) {dev_dbg (&fep->pdev->dev,"no stop mode property\n" ); -return ret; + goto out; } fep->stop_gpr.gpr =syscon_node_to_regmap (gpr_np);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +20 -11
@@ -91,6 +91,13 @@ static int hclge_send_mbx_msg(struct hclge_vport *vport, u8 *msg, u16 msg_len,enum hclge_cmd_status status;struct hclge_desc desc; +if (msg_len >HCLGE_MBX_MAX_MSG_SIZE ) { +dev_err (&hdev->pdev->dev, +"msg data length(=%u) exceeds maximum(=%u)\n" , + msg_len,HCLGE_MBX_MAX_MSG_SIZE ); +return -EMSGSIZE ; + } + resp_pf_to_vf = (struct hclge_mbx_pf_to_vf_cmd *)desc.data;hclge_cmd_setup_basic_desc (&desc,HCLGEVF_OPC_MBX_PF_TO_VF , false);
@@ -173,7 +180,7 @@ static int hclge_get_ring_chain_from_mbx( ring_num = req->msg.ring_num;if (ring_num >HCLGE_MBX_MAX_RING_CHAIN_PARAM_NUM ) -return -ENOMEM ; +return -EINVAL ;for (i =0 ; i < ring_num; i++) {if (req->msg.param[i].tqp_index >= vport->nic.kinfo.rss_size) {
@@ -577,9 +584,9 @@ static int hclge_set_vf_mtu(struct hclge_vport *vport,return hclge_set_vport_mtu (vport, mtu); } -static void hclge_get_queue_id_in_pf (struct hclge_vport *vport, -struct hclge_mbx_vf_to_pf_cmd *mbx_req, -struct hclge_respond_to_vf_msg *resp_msg) +static int hclge_get_queue_id_in_pf (struct hclge_vport *vport, +struct hclge_mbx_vf_to_pf_cmd *mbx_req, +struct hclge_respond_to_vf_msg *resp_msg) {struct hnae3_handle *handle = &vport->nic;struct hclge_dev *hdev = vport->back;
@@ -589,17 +596,18 @@ static void hclge_get_queue_id_in_pf(struct hclge_vport *vport,if (queue_id >= handle->kinfo.num_tqps) {dev_err (&hdev->pdev->dev,"Invalid queue id(%u) from VF %u\n" , queue_id, mbx_req->mbx_src_vfid); -return ; +return -EINVAL ; } qid_in_pf =hclge_covert_handle_qid_global (&vport->nic, queue_id);memcpy (resp_msg->data, &qid_in_pf,sizeof (qid_in_pf)); resp_msg->len =sizeof (qid_in_pf); +return 0 ; } -static void hclge_get_rss_key (struct hclge_vport *vport, -struct hclge_mbx_vf_to_pf_cmd *mbx_req, -struct hclge_respond_to_vf_msg *resp_msg) +static int hclge_get_rss_key (struct hclge_vport *vport, +struct hclge_mbx_vf_to_pf_cmd *mbx_req, +struct hclge_respond_to_vf_msg *resp_msg) {#define HCLGE_RSS_MBX_RESP_LEN 8struct hclge_dev *hdev = vport->back;
@@ -615,13 +623,14 @@ static void hclge_get_rss_key(struct hclge_vport *vport,dev_warn (&hdev->pdev->dev,"failed to get the rss hash key, the index(%u) invalid !\n" , index); -return ; +return -EINVAL ; }memcpy (resp_msg->data, &hdev->vport[0 ].rss_hash_key[index *HCLGE_RSS_MBX_RESP_LEN ],HCLGE_RSS_MBX_RESP_LEN ); resp_msg->len =HCLGE_RSS_MBX_RESP_LEN ; +return 0 ; }static void hclge_link_fail_parse (struct hclge_dev *hdev,u8 link_fail_code)
@@ -800,10 +809,10 @@ void hclge_mbx_handler(struct hclge_dev *hdev) "VF fail(%d) to set mtu\n", ret);break ;case HCLGE_MBX_GET_QID_IN_PF : -hclge_get_queue_id_in_pf (vport, req, &resp_msg); + ret =hclge_get_queue_id_in_pf (vport, req, &resp_msg);break ;case HCLGE_MBX_GET_RSS_KEY : -hclge_get_rss_key (vport, req, &resp_msg); + ret =hclge_get_rss_key (vport, req, &resp_msg);break ;case HCLGE_MBX_GET_LINK_MODE :hclge_get_link_mode (vport, req);
drivers/net/ethernet/ibm/ibmvnic.c +43 -101
243 lines not on this page · raw message
drivers/net/ethernet/ibm/ibmvnic.h +0 -6
@@ -41,11 +41,6 @@#define IBMVNIC_RESET_DELAY 100 -static const char ibmvnic_priv_flags[][ETH_GSTRING_LEN ] = { -#define IBMVNIC_USE_SERVER_MAXES 0x1 -"use-server-maxes" -}; -struct ibmvnic_login_buffer {__be32 len;__be32 version;
@@ -974,7 +969,6 @@ struct ibmvnic_adapter {struct ibmvnic_control_ip_offload_buffer ip_offload_ctrl;dma_addr_t ip_offload_ctrl_tok;u32 msg_enable; -u32 priv_flags;/* Vital Product Data (VPD) */ struct ibmvnic_vpd *vpd;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c +2 -1
@@ -903,7 +903,8 @@ int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)/* Tx IPsec offload doesn't seem to work on this * device, so block these requests for now. */ -if (!(sam->flags &XFRM_OFFLOAD_INBOUND )) { + sam->flags = sam->flags & ~XFRM_OFFLOAD_IPV6 ; +if (sam->flags !=XFRM_OFFLOAD_INBOUND ) { err = -EOPNOTSUPP ; goto err_out; }
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c +7 -5
@@ -65,8 +65,9 @@ static void socfpga_dwmac_fix_mac_speed(void *priv, unsigned int speed)struct phy_device *phy_dev = ndev->phydev;u32 val; -writew (SGMII_ADAPTER_DISABLE , - sgmii_adapter_base +SGMII_ADAPTER_CTRL_REG ); +if (sgmii_adapter_base) +writew (SGMII_ADAPTER_DISABLE , + sgmii_adapter_base +SGMII_ADAPTER_CTRL_REG );if (splitter_base) { val =readl (splitter_base +EMAC_SPLITTER_CTRL_REG );
@@ -88,10 +89,11 @@ static void socfpga_dwmac_fix_mac_speed(void *priv, unsigned int speed)writel (val, splitter_base +EMAC_SPLITTER_CTRL_REG ); } -writew (SGMII_ADAPTER_ENABLE , - sgmii_adapter_base +SGMII_ADAPTER_CTRL_REG ); -if (phy_dev) +if (phy_dev && sgmii_adapter_base) { +writew (SGMII_ADAPTER_ENABLE , + sgmii_adapter_base +SGMII_ADAPTER_CTRL_REG );tse_pcs_fix_mac_speed (&dwmac->pcs, phy_dev, speed); + } }static int socfpga_dwmac_parse_data (struct socfpga_dwmac *dwmac,struct device *dev)
drivers/net/hippi/rrunner.c +2 -0
@@ -1353,7 +1353,9 @@ static int rr_close(struct net_device *dev) rrpriv->fw_running =0 ; +spin_unlock_irqrestore (&rrpriv->lock, flags);del_timer_sync (&rrpriv->timer); +spin_lock_irqsave (&rrpriv->lock, flags);writel (0 , ®s->TxPi);writel (0 , ®s->IpRxPi);
drivers/net/phy/marvell10g.c +1 -1
@@ -650,7 +650,7 @@ static int mv3310_read_status_copper(struct phy_device *phydev) cssr1 =phy_read_mmd (phydev,MDIO_MMD_PCS ,MV_PCS_CSSR1 );if (cssr1 <0 ) -return val; +return cssr1;/* If the link settings are not resolved, mark the link down */ if (!(cssr1 &MV_PCS_CSSR1_RESOLVED )) {
drivers/net/wireguard/device.c +2 -1
@@ -19,6 +19,7 @@#include <linux/if_arp.h> #include <linux/icmp.h> #include <linux/suspend.h> +#include <net/dst_metadata.h> #include <net/icmp.h> #include <net/rtnetlink.h> #include <net/ip_tunnels.h>
@@ -152,7 +153,7 @@ static netdev_tx_t wg_xmit(struct sk_buff *skb, struct net_device *dev) goto err_peer; } - mtu =skb_dst (skb) ?dst_mtu (skb_dst (skb)) : dev->mtu; + mtu =skb_valid_dst (skb) ?dst_mtu (skb_dst (skb)) : dev->mtu;__skb_queue_head_init (&packets);if (!skb_is_gso (skb)) {
drivers/phy/motorola/phy-mapphone-mdm6600.c +2 -1
@@ -629,7 +629,8 @@ static int phy_mdm6600_probe(struct platform_device *pdev) cleanup:if (error <0 )phy_mdm6600_device_power_off (ddata); - +pm_runtime_disable (ddata->dev); +pm_runtime_dont_use_autosuspend (ddata->dev);return error; }
drivers/phy/samsung/phy-exynos5250-sata.c +15 -6
@@ -190,6 +190,7 @@ static int exynos_sata_phy_probe(struct platform_device *pdev)return -EINVAL ; sata_phy->client =of_find_i2c_device_by_node (node); +of_node_put (node);if (!sata_phy->client)return -EPROBE_DEFER ;
@@ -198,20 +199,21 @@ static int exynos_sata_phy_probe(struct platform_device *pdev) sata_phy->phyclk =devm_clk_get (dev,"sata_phyctrl" );if (IS_ERR (sata_phy->phyclk)) {dev_err (dev,"failed to get clk for PHY\n" ); -return PTR_ERR (sata_phy->phyclk); + ret =PTR_ERR (sata_phy->phyclk); + goto put_dev; } ret =clk_prepare_enable (sata_phy->phyclk);if (ret <0 ) {dev_err (dev,"failed to enable source clk\n" ); -return ret; + goto put_dev; } sata_phy->phy =devm_phy_create (dev,NULL , &exynos_sata_phy_ops);if (IS_ERR (sata_phy->phy)) { -clk_disable_unprepare (sata_phy->phyclk);dev_err (dev,"failed to create PHY\n" ); -return PTR_ERR (sata_phy->phy); + ret =PTR_ERR (sata_phy->phy); + goto clk_disable; }phy_set_drvdata (sata_phy->phy, sata_phy);
@@ -219,11 +221,18 @@ static int exynos_sata_phy_probe(struct platform_device *pdev) phy_provider =devm_of_phy_provider_register (dev, of_phy_simple_xlate);if (IS_ERR (phy_provider)) { -clk_disable_unprepare (sata_phy->phyclk); -return PTR_ERR (phy_provider); + ret =PTR_ERR (phy_provider); + goto clk_disable; }return 0 ; + +clk_disable: +clk_disable_unprepare (sata_phy->phyclk); +put_dev: +put_device (&sata_phy->client->dev); + +return ret; }static const struct of_device_id exynos_sata_phy_of_match[] = {
drivers/phy/ti/phy-am654-serdes.c +1 -1
@@ -838,7 +838,7 @@ static int serdes_am654_probe(struct platform_device *pdev) clk_err:of_clk_del_provider (node); - +pm_runtime_disable (dev);return ret; }
drivers/phy/ti/phy-omap-usb2.c +1 -1
@@ -215,7 +215,7 @@ static int omap_usb2_enable_clocks(struct omap_usb *phy)return 0 ; err1: -clk_disable (phy->wkupclk); +clk_disable_unprepare (phy->wkupclk); err0:return ret;
drivers/pinctrl/mediatek/Kconfig +1 -0
@@ -30,6 +30,7 @@ config PINCTRL_MTK_MOORE select GENERIC_PINMUX_FUNCTIONS select GPIOLIB select OF_GPIO + select EINT_MTK select PINCTRL_MTK_V2 config PINCTRL_MTK_PARIS
drivers/pinctrl/pinctrl-pistachio.c +3 -3
@@ -1374,10 +1374,10 @@ static int pistachio_gpio_register(struct pistachio_pinctrl *pctl) } irq =irq_of_parse_and_map (child,0 ); -if (irq <0 ) { -dev_err (pctl->dev,"No IRQ for bank %u: %d\n" , i, irq); +if (!irq) { +dev_err (pctl->dev,"No IRQ for bank %u\n" , i);of_node_put (child); - ret = irq; + ret = -EINVAL ; goto err; }
drivers/pinctrl/pinctrl-rockchip.c +30 -15
125 lines not on this page · raw message
drivers/pinctrl/samsung/Kconfig +4 -7
@@ -4,14 +4,13 @@ # config PINCTRL_SAMSUNG bool - depends on OF_GPIO + select GPIOLIB select PINMUX select PINCONF config PINCTRL_EXYNOS bool "Pinctrl common driver part for Samsung Exynos SoCs" - depends on OF_GPIO - depends on ARCH_EXYNOS || ARCH_S5PV210 || COMPILE_TEST + depends on ARCH_EXYNOS || ARCH_S5PV210 || (COMPILE_TEST && OF) select PINCTRL_SAMSUNG select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210) select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS
@@ -26,12 +25,10 @@ config PINCTRL_EXYNOS_ARM64 config PINCTRL_S3C24XX bool "Samsung S3C24XX SoC pinctrl driver" - depends on OF_GPIO - depends on ARCH_S3C24XX || COMPILE_TEST + depends on ARCH_S3C24XX || (COMPILE_TEST && OF) select PINCTRL_SAMSUNG config PINCTRL_S3C64XX bool "Samsung S3C64XX SoC pinctrl driver" - depends on OF_GPIO - depends on ARCH_S3C64XX || COMPILE_TEST + depends on ARCH_S3C64XX || (COMPILE_TEST && OF) select PINCTRL_SAMSUNG
drivers/pinctrl/stm32/pinctrl-stm32.c +21 -2
@@ -225,6 +225,13 @@ static void stm32_gpio_free(struct gpio_chip *chip, unsigned offset)pinctrl_gpio_free (chip->base + offset); } +static int stm32_gpio_get_noclk (struct gpio_chip *chip,unsigned int offset) +{ +struct stm32_gpio_bank *bank =gpiochip_get_data (chip); + +return !!(readl_relaxed (bank->base +STM32_GPIO_IDR ) &BIT (offset)); +} +static int stm32_gpio_get (struct gpio_chip *chip,unsigned offset) {struct stm32_gpio_bank *bank =gpiochip_get_data (chip);
@@ -232,7 +239,7 @@ static int stm32_gpio_get(struct gpio_chip *chip, unsigned offset)clk_enable (bank->clk); - ret = !!(readl_relaxed (bank->base +STM32_GPIO_IDR ) &BIT (offset)); + ret =stm32_gpio_get_noclk (chip, offset);clk_disable (bank->clk);
@@ -311,8 +318,12 @@ static void stm32_gpio_irq_trigger(struct irq_data *d)struct stm32_gpio_bank *bank = d->domain->host_data;int level; +/* Do not access the GPIO if this is not LEVEL triggered IRQ. */ +if (!(bank->irq_type[d->hwirq] &IRQ_TYPE_LEVEL_MASK )) +return ; +/* If level interrupt type then retrig */ - level =stm32_gpio_get (&bank->gpio_chip, d->hwirq); + level =stm32_gpio_get_noclk (&bank->gpio_chip, d->hwirq);if ((level ==0 && bank->irq_type[d->hwirq] ==IRQ_TYPE_LEVEL_LOW ) || (level ==1 && bank->irq_type[d->hwirq] ==IRQ_TYPE_LEVEL_HIGH ))irq_chip_retrigger_hierarchy (d);
@@ -354,6 +365,7 @@ static int stm32_gpio_irq_request_resources(struct irq_data *irq_data) {struct stm32_gpio_bank *bank = irq_data->domain->host_data;struct stm32_pinctrl *pctl =dev_get_drvdata (bank->gpio_chip.parent); +unsigned long flags;int ret; ret =stm32_gpio_direction_input (&bank->gpio_chip, irq_data->hwirq);
@@ -367,6 +379,10 @@ static int stm32_gpio_irq_request_resources(struct irq_data *irq_data)return ret; } + flags =irqd_get_trigger_type (irq_data); +if (flags &IRQ_TYPE_LEVEL_MASK ) +clk_enable (bank->clk); +return 0 ; }
@@ -374,6 +390,9 @@ static void stm32_gpio_irq_release_resources(struct irq_data *irq_data) {struct stm32_gpio_bank *bank = irq_data->domain->host_data; +if (bank->irq_type[irq_data->hwirq] &IRQ_TYPE_LEVEL_MASK ) +clk_disable (bank->clk); +gpiochip_unlock_as_irq (&bank->gpio_chip, irq_data->hwirq); }
drivers/thermal/intel/int340x_thermal/int3400_thermal.c +2 -2
@@ -67,7 +67,7 @@ static int evaluate_odvp(struct int3400_thermal_priv *priv);struct odvp_attr {int odvp;struct int3400_thermal_priv *priv; -struct kobj_attribute attr; +struct device_attribute attr; }; static ssize_t data_vault_read(struct file *file, struct kobject *kobj,
@@ -269,7 +269,7 @@ static int int3400_thermal_run_osc(acpi_handle handle,return result; } -static ssize_t odvp_show (struct kobject *kobj,struct kobj_attribute *attr, +static ssize_t odvp_show (struct device *dev,struct device_attribute *attr,char *buf) {struct odvp_attr *odvp_attr;
drivers/tty/n_gsm.c +105 -89
408 lines not on this page · raw message
drivers/tty/serial/8250/8250_pci.c +4 -4
@@ -2940,7 +2940,7 @@ enum pci_board_num_t { pbn_panacom2, pbn_panacom4, pbn_plx_romulus, - pbn_endrun_2_4000000, + pbn_endrun_2_3906250, pbn_oxsemi, pbn_oxsemi_1_4000000, pbn_oxsemi_2_4000000,
@@ -3468,10 +3468,10 @@ static struct pciserial_board pci_boards[] = {* signal now many ports are available * 2 port 952 Uart support */ - [pbn_endrun_2_4000000] = { + [pbn_endrun_2_3906250] = { .flags = FL_BASE0, .num_ports = 2, - .base_baud = 4000000, + .base_baud = 3906250, .uart_offset = 0x200, .first_offset = 0x1000, },
@@ -4386,7 +4386,7 @@ static const struct pci_device_id serial_pci_tbl[] = {*/ {PCI_VENDOR_ID_ENDRUN ,PCI_DEVICE_ID_ENDRUN_1588 ,PCI_ANY_ID ,PCI_ANY_ID ,0 ,0 , - pbn_endrun_2_4000000 }, + pbn_endrun_2_3906250 },/* * Quatech cards. These actually have configurable clocks but for * now we just use the default.
drivers/tty/serial/8250/8250_port.c +1 -1
@@ -3311,7 +3311,7 @@ static void serial8250_console_restore(struct uart_8250_port *up)serial8250_set_divisor (port, baud, quot, frac);serial_port_out (port,UART_LCR , up->lcr); -serial8250_out_MCR (up,UART_MCR_DTR |UART_MCR_RTS ); +serial8250_out_MCR (up, up->mcr |UART_MCR_DTR |UART_MCR_RTS ); }/*
drivers/tty/serial/imx.c +1 -1
@@ -1470,7 +1470,7 @@ static int imx_uart_startup(struct uart_port *port)imx_uart_writel (sport, ucr1,UCR1 ); ucr4 =imx_uart_readl (sport,UCR4 ) & ~(UCR4_OREN |UCR4_INVR ); -if (!sport->dma_is_enabled) +if (!dma_is_inited) ucr4 |=UCR4_OREN ;if (sport->inverted_rx) ucr4 |=UCR4_INVR ;
drivers/usb/cdns3/gadget.c +5 -2
@@ -2697,6 +2697,7 @@ int __cdns3_gadget_ep_clear_halt(struct cdns3_endpoint *priv_ep)struct usb_request *request;struct cdns3_request *priv_req;struct cdns3_trb *trb =NULL ; +struct cdns3_trb trb_tmp;int ret;int val;
@@ -2706,8 +2707,10 @@ int __cdns3_gadget_ep_clear_halt(struct cdns3_endpoint *priv_ep)if (request) { priv_req =to_cdns3_request (request); trb = priv_req->trb; -if (trb) +if (trb) { + trb_tmp = *trb; trb->control = trb->control ^cpu_to_le32 (TRB_CYCLE ); + } }writel (EP_CMD_CSTALL |EP_CMD_EPRST , &priv_dev->regs->ep_cmd);
@@ -2722,7 +2725,7 @@ int __cdns3_gadget_ep_clear_halt(struct cdns3_endpoint *priv_ep)if (request) {if (trb) - trb->control = trb->control ^cpu_to_le32 (TRB_CYCLE ); + *trb = trb_tmp;cdns3_rearm_transfer (priv_ep,1 ); }
drivers/usb/core/quirks.c +6 -0
@@ -404,6 +404,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x0b05, 0x17e0), .driver_info = USB_QUIRK_IGNORE_REMOTE_WAKEUP }, + /* Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)*/ + { USB_DEVICE(0x0bda, 0x0151), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, + /* Realtek hub in Dell WD19 (Type-C) */ { USB_DEVICE(0x0bda, 0x0487), .driver_info = USB_QUIRK_NO_LPM }, { USB_DEVICE(0x0bda, 0x5487), .driver_info = USB_QUIRK_RESET_RESUME },
@@ -508,6 +511,9 @@ static const struct usb_device_id usb_quirk_list[] = {/* DJI CineSSD */ { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM }, + /* VCOM device */ + { USB_DEVICE(0x4296, 0x7570), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, + /* INTEL VALUE SSD */ { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
drivers/usb/dwc3/core.c +6 -5
@@ -275,7 +275,8 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc) reg =dwc3_readl (dwc->regs,DWC3_DCTL ); reg |=DWC3_DCTL_CSFTRST ; -dwc3_writel (dwc->regs,DWC3_DCTL , reg); + reg &= ~DWC3_DCTL_RUN_STOP ; +dwc3_gadget_dctl_write_safe (dwc, reg);/* * For DWC_usb31 controller 1.90a and later, the DCTL.CSFRST bit
@@ -1277,10 +1278,10 @@ static void dwc3_get_properties(struct dwc3 *dwc)u8 lpm_nyet_threshold;u8 tx_de_emphasis;u8 hird_threshold; -u8 rx_thr_num_pkt_prd; -u8 rx_max_burst_prd; -u8 tx_thr_num_pkt_prd; -u8 tx_max_burst_prd; +u8 rx_thr_num_pkt_prd =0 ; +u8 rx_max_burst_prd =0 ; +u8 tx_thr_num_pkt_prd =0 ; +u8 tx_max_burst_prd =0 ;/* default to highest possible threshold */ lpm_nyet_threshold =0xf ;
drivers/usb/dwc3/drd.c +5 -6
@@ -568,16 +568,15 @@ int dwc3_drd_init(struct dwc3 *dwc) {int ret, irq; +if (ROLE_SWITCH && +device_property_read_bool (dwc->dev,"usb-role-switch" )) +return dwc3_setup_role_switch (dwc); + dwc->edev =dwc3_get_extcon (dwc);if (IS_ERR (dwc->edev))return PTR_ERR (dwc->edev); -if (ROLE_SWITCH && -device_property_read_bool (dwc->dev,"usb-role-switch" )) { - ret =dwc3_setup_role_switch (dwc); -if (ret <0 ) -return ret; - }else if (dwc->edev) { +if (dwc->edev) { dwc->edev_nb.notifier_call = dwc3_drd_notifier; ret =extcon_register_notifier (dwc->edev,EXTCON_USB_HOST , &dwc->edev_nb);
drivers/usb/dwc3/gadget.c +30 -1
@@ -2859,6 +2859,7 @@ static int dwc3_gadget_ep_cleanup_completed_request(struct dwc3_ep *dep,const struct dwc3_event_depevt *event, struct dwc3_request *req, int status) { + int request_status;int ret;if (req->request.num_mapped_sgs)
@@ -2879,7 +2880,35 @@ static int dwc3_gadget_ep_cleanup_completed_request(struct dwc3_ep *dep, req->needs_extra_trb = false; } -dwc3_gadget_giveback (dep, req, status); +/* +* The event status only reflects the status of the TRB with IOC set. +* For the requests that don't set interrupt on completion, the driver +* needs to check and return the status of the completed TRBs associated +* with the request. Use the status of the last TRB of the request. +*/ +if (req->request.no_interrupt) { +struct dwc3_trb *trb; + + trb =dwc3_ep_prev_trb (dep, dep->trb_dequeue); +switch (DWC3_TRB_SIZE_TRBSTS (trb->size)) { +case DWC3_TRBSTS_MISSED_ISOC : +/* Isoc endpoint only */ + request_status = -EXDEV ; +break ; +case DWC3_TRB_STS_XFER_IN_PROG : +/* Applicable when End Transfer with ForceRM=0 */ +case DWC3_TRBSTS_SETUP_PENDING : +/* Control endpoint only */ +case DWC3_TRBSTS_OK : +default : + request_status =0 ; +break ; + } + }else { + request_status = status; + } + +dwc3_gadget_giveback (dep, req, request_status); out:return ret;
drivers/usb/gadget/configfs.c +2 -0
@@ -1443,6 +1443,8 @@ static void configfs_composite_unbind(struct usb_gadget *gadget)usb_ep_autoconfig_reset (cdev->gadget);spin_lock_irqsave (&gi->spinlock, flags); cdev->gadget =NULL ; + cdev->deactivations =0 ; + gadget->deactivated = false;set_gadget_data (gadget,NULL );spin_unlock_irqrestore (&gi->spinlock, flags); }
drivers/usb/gadget/function/uvc_queue.c +2 -0
@@ -242,6 +242,8 @@ void uvcg_queue_cancel(struct uvc_video_queue *queue, int disconnect) buf->state =UVC_BUF_STATE_ERROR ;vb2_buffer_done (&buf->buf.vb2_buf,VB2_BUF_STATE_ERROR ); } + queue->buf_used =0 ; +/* This must be protected by the irqlock spinlock to avoid race * conditions between uvc_queue_buffer and the disconnection event that * could result in an interruptible wait in uvc_dequeue_buffer. Do not
drivers/usb/host/xhci-hub.c +1 -1
@@ -1348,7 +1348,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, }spin_unlock_irqrestore (&xhci->lock, flags);if (!wait_for_completion_timeout (&bus_state->u3exit_done[wIndex], -msecs_to_jiffies (100 ))) +msecs_to_jiffies (500 )))xhci_dbg (xhci,"missing U0 port change event for port %d-%d\n" , hcd->self.busnum, wIndex +1 );spin_lock_irqsave (&xhci->lock, flags);
drivers/usb/host/xhci-pci.c +3 -1
@@ -59,6 +59,7 @@#define PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI 0x9a13#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI 0x1138#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_XHCI 0x461e +#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI 0x51ed#define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9#define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba
@@ -261,7 +262,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) pdev->device ==PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI || pdev->device ==PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI || pdev->device ==PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI || - pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_XHCI)) + pdev->device ==PCI_DEVICE_ID_INTEL_ALDER_LAKE_XHCI || + pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI)) xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW; if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
drivers/usb/host/xhci-ring.c +2 -0
@@ -2969,6 +2969,8 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)if (event_loop++ <TRBS_PER_SEGMENT /2 )continue ;xhci_update_erst_dequeue (xhci, event_ring_deq); + event_ring_deq = xhci->event_ring->dequeue; + event_loop =0 ; }
drivers/usb/host/xhci.c +11 -0
@@ -779,6 +779,17 @@ void xhci_shutdown(struct usb_hcd *hcd)if (xhci->quirks &XHCI_SPURIOUS_REBOOT )usb_disable_xhci_ports (to_pci_dev (hcd->self.sysdev)); +/* Don't poll the roothubs after shutdown. */ +xhci_dbg (xhci,"%s: stopping usb%d port polling.\n" , + __func__, hcd->self.busnum); +clear_bit (HCD_FLAG_POLL_RH , &hcd->flags); +del_timer_sync (&hcd->rh_timer); + +if (xhci->shared_hcd) { +clear_bit (HCD_FLAG_POLL_RH , &xhci->shared_hcd->flags); +del_timer_sync (&xhci->shared_hcd->rh_timer); + } +spin_lock_irq (&xhci->lock);xhci_halt (xhci);/* Workaround for spurious wakeups at shutdown with HSW */
drivers/usb/misc/uss720.c +1 -2
@@ -71,6 +71,7 @@ static void destroy_priv(struct kref *kref)dev_dbg (&priv->usbdev->dev,"destroying priv datastructure\n" );usb_put_dev (priv->usbdev); + priv->usbdev =NULL ;kfree (priv); }
@@ -736,7 +737,6 @@ static int uss720_probe(struct usb_interface *intf,parport_announce_port (pp);usb_set_intfdata (intf, pp); -usb_put_dev (usbdev);return 0 ; probe_abort:
@@ -754,7 +754,6 @@ static void uss720_disconnect(struct usb_interface *intf)usb_set_intfdata (intf,NULL );if (pp) { priv = pp->private_data; - priv->usbdev =NULL ; priv->pp =NULL ;dev_dbg (&intf->dev,"parport_remove_port\n" );parport_remove_port (pp);
drivers/usb/mtu3/mtu3_dr.c +2 -4
@@ -41,10 +41,8 @@ static char *mailbox_state_string(enum mtu3_vbus_id_state state)static void toggle_opstate (struct ssusb_mtk *ssusb) { -if (!ssusb->otg_switch.is_u3_drd) { -mtu3_setbits (ssusb->mac_base,U3D_DEVICE_CONTROL ,DC_SESSION ); -mtu3_setbits (ssusb->mac_base,U3D_POWER_MANAGEMENT ,SOFT_CONN ); - } +mtu3_setbits (ssusb->mac_base,U3D_DEVICE_CONTROL ,DC_SESSION ); +mtu3_setbits (ssusb->mac_base,U3D_POWER_MANAGEMENT ,SOFT_CONN ); }/* only port0 supports dual-role mode */
drivers/usb/phy/phy-generic.c +7 -0
@@ -268,6 +268,13 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop)return -EPROBE_DEFER ; } + nop->vbus_draw =devm_regulator_get_exclusive (dev,"vbus" ); +if (PTR_ERR (nop->vbus_draw) == -ENODEV ) + nop->vbus_draw =NULL ; +if (IS_ERR (nop->vbus_draw)) +return dev_err_probe (dev,PTR_ERR (nop->vbus_draw), +"could not get vbus regulator\n" ); + nop->dev = dev; nop->phy.dev = nop->dev; nop->phy.label ="nop-xceiv" ;
drivers/usb/serial/cp210x.c +2 -0
@@ -198,6 +198,8 @@ static const struct usb_device_id id_table[] = { { USB_DEVICE(0x16DC, 0x0015) }, /* W-IE-NE-R Plein & Baus GmbH CML Control, Monitoring and Data Logger */ { USB_DEVICE(0x17A8, 0x0001) }, /* Kamstrup Optical Eye/3-wire */ { USB_DEVICE(0x17A8, 0x0005) }, /* Kamstrup M-Bus Master MultiPort 250D */ + { USB_DEVICE(0x17A8, 0x0101) }, /* Kamstrup 868 MHz wM-Bus C-Mode Meter Reader (Int Ant) */ + { USB_DEVICE(0x17A8, 0x0102) }, /* Kamstrup 868 MHz wM-Bus C-Mode Meter Reader (Ext Ant) */ { USB_DEVICE(0x17F4, 0xAAAA) }, /* Wavesense Jazz blood glucose meter */ { USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */ { USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */
drivers/usb/serial/option.c +12 -0
@@ -432,6 +432,8 @@ static void option_instat_callback(struct urb *urb);#define CINTERION_PRODUCT_CLS8 0x00b0#define CINTERION_PRODUCT_MV31_MBIM 0x00b3#define CINTERION_PRODUCT_MV31_RMNET 0x00b7 +#define CINTERION_PRODUCT_MV32_WA 0x00f1 +#define CINTERION_PRODUCT_MV32_WB 0x00f2/* Olivetti products */ #define OLIVETTI_VENDOR_ID 0x0b3c
@@ -1217,6 +1219,10 @@ static const struct usb_device_id option_ids[] = { .driver_info = NCTRL(0) | RSVD(1) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1056, 0xff), /* Telit FD980 */ .driver_info = NCTRL(2) | RSVD(3) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1057, 0xff), /* Telit FN980 */ + .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1058, 0xff), /* Telit FN980 (PCIe) */ + .driver_info = NCTRL(0) | RSVD(1) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1060, 0xff), /* Telit LN920 (rmnet) */ .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1061, 0xff), /* Telit LN920 (MBIM) */
@@ -1233,6 +1239,8 @@ static const struct usb_device_id option_ids[] = { .driver_info = NCTRL(2) | RSVD(3) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1073, 0xff), /* Telit FN990 (ECM) */ .driver_info = NCTRL(0) | RSVD(1) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1075, 0xff), /* Telit FN990 (PCIe) */ + .driver_info = RSVD(0) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM),
@@ -1969,6 +1977,10 @@ static const struct usb_device_id option_ids[] = { .driver_info = RSVD(3)}, { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_RMNET, 0xff), .driver_info = RSVD(0)}, + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WA, 0xff), + .driver_info = RSVD(3)}, + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WB, 0xff), + .driver_info = RSVD(3)}, { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100), .driver_info = RSVD(4) }, { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD120),
drivers/usb/serial/whiteheat.c +2 -3
@@ -599,9 +599,8 @@ static int firm_send_command(struct usb_serial_port *port, __u8 command,switch (command) {case WHITEHEAT_GET_DTR_RTS : info =usb_get_serial_port_data (port); -memcpy (&info->mcr, command_info->result_buffer, -sizeof (struct whiteheat_dr_info )); -break ; + info->mcr = command_info->result_buffer[0 ]; +break ; } } exit:
drivers/usb/typec/ucsi/ucsi.c +17 -7
@@ -928,6 +928,8 @@ static int ucsi_dr_swap(struct typec_port *port, enum typec_data_role role) role == TYPEC_HOST)) goto out_unlock; +reinit_completion (&con->complete); + command =UCSI_SET_UOR |UCSI_CONNECTOR_NUMBER (con->num); command |=UCSI_SET_UOR_ROLE (role); command |=UCSI_SET_UOR_ACCEPT_ROLE_SWAPS ;
@@ -935,14 +937,18 @@ static int ucsi_dr_swap(struct typec_port *port, enum typec_data_role role)if (ret <0 ) goto out_unlock; +mutex_unlock (&con->lock); +if (!wait_for_completion_timeout (&con->complete, -msecs_to_jiffies (UCSI_SWAP_TIMEOUT_MS ))) - ret = -ETIMEDOUT ; +msecs_to_jiffies (UCSI_SWAP_TIMEOUT_MS ))) +return -ETIMEDOUT ; + +return 0 ; out_unlock:mutex_unlock (&con->lock); -return ret <0 ? ret :0 ; +return ret; }static int ucsi_pr_swap (struct typec_port *port,enum typec_role role)
@@ -964,6 +970,8 @@ static int ucsi_pr_swap(struct typec_port *port, enum typec_role role)if (cur_role == role) goto out_unlock; +reinit_completion (&con->complete); + command =UCSI_SET_PDR |UCSI_CONNECTOR_NUMBER (con->num); command |=UCSI_SET_PDR_ROLE (role); command |=UCSI_SET_PDR_ACCEPT_ROLE_SWAPS ;
@@ -971,11 +979,13 @@ static int ucsi_pr_swap(struct typec_port *port, enum typec_role role)if (ret <0 ) goto out_unlock; +mutex_unlock (&con->lock); +if (!wait_for_completion_timeout (&con->complete, -msecs_to_jiffies (UCSI_SWAP_TIMEOUT_MS ))) { - ret = -ETIMEDOUT ; - goto out_unlock; - } +msecs_to_jiffies (UCSI_SWAP_TIMEOUT_MS ))) +return -ETIMEDOUT ; + +mutex_lock (&con->lock);/* Something has gone wrong while swapping the role */ if (UCSI_CONSTAT_PWR_OPMODE(con->status.flags) !=
drivers/video/fbdev/udlfb.c +12 -2
@@ -1649,8 +1649,9 @@ static int dlfb_usb_probe(struct usb_interface *intf,const struct device_attribute *attr;struct dlfb_data *dlfb;struct fb_info *info; -int retval = -ENOMEM ; +int retval;struct usb_device *usbdev =interface_to_usbdev (intf); +struct usb_endpoint_descriptor *out;/* usb initialization */ dlfb =kzalloc (sizeof (*dlfb),GFP_KERNEL );
@@ -1664,6 +1665,12 @@ static int dlfb_usb_probe(struct usb_interface *intf, dlfb->udev =usb_get_dev (usbdev);usb_set_intfdata (intf, dlfb); + retval =usb_find_common_endpoints (intf->cur_altsetting,NULL , &out,NULL ,NULL ); +if (retval) { +dev_err (&intf->dev,"Device should have at lease 1 bulk endpoint!\n" ); + goto error; + } +dev_dbg (&intf->dev,"console enable=%d\n" , console);dev_dbg (&intf->dev,"fb_defio enable=%d\n" , fb_defio);dev_dbg (&intf->dev,"shadow enable=%d\n" , shadow);
@@ -1673,6 +1680,7 @@ static int dlfb_usb_probe(struct usb_interface *intf,if (!dlfb_parse_vendor_descriptor (dlfb, intf)) {dev_err (&intf->dev,"firmware not recognized, incompatible device?\n" ); + retval = -ENODEV ; goto error; }
@@ -1686,8 +1694,10 @@ static int dlfb_usb_probe(struct usb_interface *intf,/* allocates framebuffer driver structure, not framebuffer memory */ info =framebuffer_alloc (0 , &dlfb->udev->dev); -if (!info) +if (!info) { + retval = -ENOMEM ; goto error; + } dlfb->info = info; info->par = dlfb;
fs/cifs/smb2ops.c +8 -0
@@ -1744,9 +1744,17 @@ smb2_copychunk_range(const unsigned int xid,int chunks_copied =0 ;bool chunk_sizes_updated = false;ssize_t bytes_written, total_bytes_written =0 ; +struct inode *inode; pcchunk =kmalloc (sizeof (struct copychunk_ioctl ),GFP_KERNEL ); +/* +* We need to flush all unwritten data before we can send the +* copychunk ioctl to the server. +*/ + inode =d_inode (trgtfile->dentry); +filemap_write_and_wait (inode->i_mapping); +if (pcchunk ==NULL )return -ENOMEM ;
fs/ext4/super.c +10 -5
@@ -1176,18 +1176,23 @@ static void ext4_put_super(struct super_block *sb)int aborted =0 ;int i, err; -ext4_unregister_li_request (sb); -ext4_quota_off_umount (sb); - -destroy_workqueue (sbi->rsv_conversion_wq); -/* * Unregister sysfs before destroying jbd2 journal. * Since we could still access attr_journal_task attribute via sysfs * path which could have sbi->s_journal->j_task as NULL +* Unregister sysfs before flush sbi->s_error_work. +* Since user may read /proc/fs/ext4/xx/mb_groups during umount, If +* read metadata verify failed then will queue error work. +* flush_stashed_error_work will call start_this_handle may trigger +* BUG_ON. */ ext4_unregister_sysfs (sb); +ext4_unregister_li_request (sb); +ext4_quota_off_umount (sb); + +destroy_workqueue (sbi->rsv_conversion_wq); +if (sbi->s_journal) { aborted =is_journal_aborted (sbi->s_journal); err =jbd2_journal_destroy (sbi->s_journal);
fs/zonefs/super.c +41 -5
87 lines not on this page · raw message
include/linux/kernel.h +1 -1
@@ -635,7 +635,7 @@ static inline char *hex_byte_pack_upper(char *buf, u8 byte)return buf; } -extern int hex_to_bin (char ch); +extern int hex_to_bin (unsigned char ch);extern int __must_check hex2bin (u8 *dst,const char *src,size_t count);extern char *bin2hex (char *dst,const void *src,size_t count);
include/linux/mtd/mtd.h +2 -4
@@ -388,10 +388,8 @@ struct mtd_info {/* List of partitions attached to this MTD device */ struct list_head partitions; -union { -struct mtd_part part; -struct mtd_master master; - }; +struct mtd_part part; +struct mtd_master master; };static inline struct mtd_info *mtd_get_master (struct mtd_info *mtd)
include/memory/renesas-rpc-if.h +1 -0
@@ -65,6 +65,7 @@ struct rpcif {size_t size;enum rpcif_data_dir dir;u8 bus_size; +u8 xfer_size;void *buffer;u32 xferlen;u32 smcr;
include/net/ip6_tunnel.h +1 -1
@@ -57,7 +57,7 @@ struct ip6_tnl {/* These fields used only by GRE */ __u32 i_seqno;/* The last seen seqno */ -__u32 o_seqno;/* The last output seqno */ +atomic_t o_seqno;/* The last output seqno */ int hlen;/* tun_hlen + encap_hlen */ int tun_hlen;/* Precalculated header length */ int encap_hlen;/* Encap header length (FOU,GUE) */
include/net/ip_tunnels.h +1 -1
@@ -113,7 +113,7 @@ struct ip_tunnel {/* These four fields used only by GRE */ u32 i_seqno;/* The last seen seqno */ -u32 o_seqno;/* The last output seqno */ +atomic_t o_seqno;/* The last output seqno */ int tun_hlen;/* Precalculated header length */ /* These four fields used only by ERSPAN */
include/net/tcp.h +8 -0
@@ -460,6 +460,7 @@ int __cookie_v4_check(const struct iphdr *iph, const struct tcphdr *th, u32 cookie);struct sock *cookie_v4_check (struct sock *sk,struct sk_buff *skb);struct request_sock *cookie_tcp_reqsk_alloc (const struct request_sock_ops *ops, +const struct tcp_request_sock_ops *af_ops,struct sock *sk,struct sk_buff *skb);#ifdef CONFIG_SYN_COOKIES
@@ -598,6 +599,7 @@ void tcp_synack_rtt_meas(struct sock *sk, struct request_sock *req);void tcp_reset (struct sock *sk);void tcp_skb_mark_lost_uncond_verify (struct tcp_sock *tp,struct sk_buff *skb);void tcp_fin (struct sock *sk); +void tcp_check_space (struct sock *sk);
Lines of this file are not shown. View the raw message.
lib/hexdump.c +31 -10
41 lines not on this page · raw message
net/netfilter/nft_socket.c +38 -14
52 lines not on this page · raw message
sound/soc/intel/common/soc-acpi-intel-tgl-match.c +2 -2
Lines of this file are not shown. View the raw message.
tools/perf/arch/arm64/util/machine.c deleted +0 -27
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.