Linux 4.19.296
Greg Kroah-Hartman
maintainerI'm announcing the release of the 4.19.296 kernel.
All users of the 4.19 kernel series must upgrade.
The updated 4.19.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.19.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/omap4-droid4-xt894.dts | 4 arch/mips/alchemy/devboards/db1000.c | 4 arch/mips/alchemy/devboards/db1200.c | 6 arch/mips/alchemy/devboards/db1300.c | 4 arch/parisc/include/asm/ldcw.h | 36 +- arch/parisc/include/asm/ropes.h | 3 arch/parisc/include/asm/spinlock_types.h | 5 arch/parisc/kernel/drivers.c | 2 arch/parisc/kernel/irq.c | 2 arch/powerpc/perf/hv-24x7.c | 2 drivers/ata/ahci.c | 13 drivers/ata/ahci_xgene.c | 4 drivers/ata/libahci.c | 49 +-- drivers/ata/libata-core.c | 60 +++- drivers/ata/libata-eh.c | 13 drivers/ata/libata-scsi.c | 2 drivers/ata/libata-transport.c | 9 drivers/ata/libata.h | 2 drivers/base/arch_topology.c | 2 drivers/base/cacheinfo.c | 18 - drivers/base/core.c | 8 drivers/base/cpu.c | 34 +- drivers/base/firmware_loader/fallback.c | 2 drivers/base/memory.c | 24 - drivers/base/node.c | 34 +- drivers/base/platform.c | 2 drivers/base/power/sysfs.c | 50 +-- drivers/base/regmap/regcache-rbtree.c | 3 drivers/base/soc.c | 8 drivers/char/agp/parisc-agp.c | 2 drivers/clk/tegra/clk-bpmp.c | 2 drivers/gpio/gpio-aspeed.c | 2 drivers/gpio/gpio-pmic-eic-sprd.c | 1 drivers/gpio/gpio-pxa.c | 1 drivers/gpio/gpio-tb10x.c | 6 drivers/i2c/busses/i2c-i801.c | 1 drivers/i2c/muxes/i2c-demux-pinctrl.c | 4 drivers/infiniband/core/cma_configfs.c | 2 drivers/infiniband/hw/mlx4/sysfs.c | 2 drivers/infiniband/hw/mlx5/main.c | 2 drivers/input/serio/i8042-x86ia64io.h | 7 drivers/media/dvb-frontends/sp8870.c | 2 drivers/media/tuners/tuner-xc2028.c | 2 drivers/mtd/ubi/build.c | 7 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 5 drivers/net/ethernet/qlogic/qed/qed_ll2.h | 2 drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c | 7 drivers/net/team/team.c | 10 drivers/net/thunderbolt.c | 3 drivers/net/usb/smsc75xx.c | 4 drivers/net/wan/fsl_ucc_hdlc.c | 12 drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c | 4 drivers/net/wireless/marvell/mwifiex/sta_rx.c | 16 - drivers/nvme/host/pci.c | 2 drivers/parisc/iosapic.c | 4 drivers/parisc/iosapic_private.h | 4 drivers/pci/controller/dwc/pcie-qcom.c | 2 drivers/s390/scsi/zfcp_aux.c | 9 drivers/scsi/megaraid/megaraid_sas.h | 5 drivers/scsi/megaraid/megaraid_sas_base.c | 44 ++- drivers/scsi/megaraid/megaraid_sas_fusion.c | 18 + drivers/scsi/qla2xxx/qla_attr.c | 2 drivers/scsi/qla2xxx/qla_dbg.c | 2 drivers/scsi/qla2xxx/qla_os.c | 45 ++- drivers/target/target_core_device.c | 11 drivers/tty/serial/8250/8250_port.c | 5 drivers/video/fbdev/Kconfig | 2 drivers/watchdog/iTCO_wdt.c | 26 + drivers/xen/events/events_base.c | 85 +++--- drivers/xen/events/events_internal.h | 2 fs/binfmt_elf_fdpic.c | 5 fs/btrfs/super.c | 2 fs/ext4/ext4.h | 2 fs/ext4/mballoc.c | 138 +++++----- fs/ext4/namei.c | 26 + fs/nfs/flexfilelayout/flexfilelayout.c | 1 fs/nilfs2/gcinode.c | 6 include/linux/if_team.h | 2 include/linux/libata.h | 6 include/linux/netdevice.h | 58 ++-- include/net/dst.h | 5 include/net/tcp.h | 6 include/uapi/linux/bpf.h | 4 kernel/trace/ring_buffer.c | 2 net/bridge/br_forward.c | 4 net/bridge/br_input.c | 4 net/core/dev.c | 14 - net/core/rtnetlink.c | 12 net/dccp/ipv4.c | 9 net/dccp/ipv6.c | 9 net/ipv4/route.c | 4 net/ipv4/tcp_input.c | 13 net/ipv4/tcp_output.c | 7 net/l2tp/l2tp_ip6.c | 2 net/netfilter/ipvs/ip_vs_sync.c | 4 net/netfilter/nf_tables_api.c | 9 net/rds/tcp_connect.c | 2 net/sctp/associola.c | 3 net/sctp/socket.c | 1 scripts/mod/file2alias.c | 2 security/smack/smack.h | 1 security/smack/smack_lsm.c | 65 +++- sound/pci/hda/hda_intel.c | 1 tools/include/uapi/linux/bpf.h | 4 tools/power/cpupower/Makefile | 8 tools/power/cpupower/bench/Makefile | 2 tools/testing/selftests/ftrace/test.d/instances/instance-event.tc | 2 tools/testing/selftests/net/tls.c | 11 109 files changed, 747 insertions(+), 490 deletions(-)
Alexandra Diupina (1):
drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close()
Andy Shevchenko (1):
serial: 8250_port: Check IRQ data before use
Bartosz Golaszewski (1):
gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config()
Ben Wolsieffer (1):
net: stmmac: dwmac-stm32: fix resume on STM32 MCU
Christoph Hellwig (1):
MIPS: Alchemy: only build mmc support helpers if au1xmmc is enabled
Christophe JAILLET (2):
gpio: tb10x: Fix an error handling path in tb10x_gpio_probe() IB/mlx4: Fix the size of a buffer in add_port_entries()
Damien Le Moal (3):
ata: libata-core: Fix ata_port_request_pm() locking
ata: libata-core: Fix port and device removal
ata: libata-core: Do not register PM operations for SAS ports
David Howells (1):
ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data()
Dinghao Liu (1):
scsi: zfcp: Fix a double put in zfcp_port_enqueue()
Dmitry Monakhov (1):
ext4: mark group as trimmed only if it was fully scanned
Duje Mihanović (1):
gpio: pxa: disable pinctrl calls for MMP_GPIO
Eric Dumazet (3):
net: add atomic_long_t to net_device_stats fields
net: bridge: use DEV_STATS_INC()
dccp: fix dccp_v4_err()/dccp_v6_err() again
Felix Riemann (1):
net: Fix unwanted sign extension in netdev_stats_to_stats64()
Greg Kroah-Hartman (5):
Revert "drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions"
media: dvb: symbol fixup for dvb_attach() - again
Revert "PCI: qcom: Disable write access to read only registers for IP v2.3.3" Revert "rtnetlink: Reject negative ifindexes in RTM_NEWLINK"
Linux 4.19.296
Greg Ungerer (1):
fs: binfmt_elf_efpic: fix personality for ELF-FDPIC
Gustavo A. R. Silva (2):
qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info
wifi: mwifiex: Fix tlv_buf_left calculation
Hannes Reinecke (1):
ata: ahci: Drop pointless VPRINTK() calls and convert the remaining ones
Heiner Kallweit (1):
i2c: i801: unregister tco_pdev in i801_probe() error path
Helge Deller (4):
parisc: sba: Fix compile warning wrt list of SBA devices
parisc: iosapic.c: Fix sparse warnings
parisc: drivers: Fix sparse warning
parisc: irq: Make irq_stack_union static to avoid sparse warning
Ido Schimmel (1):
rtnetlink: Reject negative ifindexes in RTM_NEWLINK
Ivan Babrou (1):
cpupower: add Makefile dependencies for install targets
Jan Kara (2):
ext4: move setting of trimmed bit into ext4_try_to_trim_range()
ext4: do not let fstrim block system suspend
Jie Wang (1):
net: hns3: add 5ms delay before clear firmware reset irq source
John David Anglin (1):
parisc: Restore __ldcw_align for PA-RISC 2.0 processors
Jordan Rife (1):
net: replace calls to sock->ops->connect() with kernel_connect()
Josef Bacik (1):
btrfs: properly report 0 avail for very full file systems
Juergen Gross (1):
xen/events: replace evtchn_rwlock with RCU
Junxiao Bi (2):
scsi: megaraid_sas: Fix deadlock on firmware crashdump
scsi: target: core: Fix deadlock due to recursive locking
Kailang Yang (1):
ALSA: hda: Disable power save for solving pop issue on Lenovo ThinkCentre M70q
Kajol Jain (1):
powerpc/perf/hv-24x7: Update domain value check
Kees Cook (1):
selftests/tls: Add {} to avoid static checker warning
Kemeng Shi (1):
ext4: replace the traditional ternary conditional operator with with max()/min()
Kyle Zeng (1):
ipv4: fix null-deref in ipv4_link_failure
Leon Romanovsky (1):
RDMA/cma: Fix truncation compilation warning in make_cma_ports
Lukas Bulwahn (1):
ext4: scope ret locally in ext4_try_to_trim_range()
Lukas Czerner (1):
ext4: change s_last_trim_minblks type to unsigned long
Manish Rangankar (1):
scsi: qla2xxx: Remove unsupported ql2xenabledif option
Martin K. Petersen (1):
scsi: qla2xxx: Add protection mask module parameters
Matthias Schiffer (1):
ata: libata-sata: increase PMP SRST timeout to 10s
Mauricio Faria de Oliveira (1):
modpost: add missing else to the "of" check
Mika Westerberg (3):
watchdog: iTCO_wdt: No need to stop the timer in probe
watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running
net: thunderbolt: Fix TCPv6 GSO checksum calculation
Neal Cardwell (2):
tcp: fix quick-ack counting to count actual ACKs of new data
tcp: fix delayed ACKs for MSS boundary condition
Niklas Cassel (3):
ata: libata-eh: do not clear ATA_PFLAG_EH_PENDING in ata_eh_reset()
ata: libata-scsi: ignore reserved bits for REPORT SUPPORTED OPERATION CODES
ata: libata: disallow dev-initiated LPM transitions to unsupported states
Pablo Neira Ayuso (1):
netfilter: nf_tables: disallow element removal on anonymous sets
Pan Bian (1):
nilfs2: fix potential use after free in nilfs_gccache_submit_read_data()
Pin-yen Lin (1):
wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet
Pratyush Yadav (1):
nvme-pci: do not set the NUMA node of device if it has none
Richard Fitzgerald (1):
regmap: rbtree: Fix wrong register marked as in-cache when creating new node
Roberto Sassu (2):
smack: Retrieve transmuting information in smack_inode_getsecurity()
smack: Record transmuting in smk_transmuted
Sabrina Dubroca (1):
selftests: tls: swap the TX and RX sockets in some tests
Shay Drory (1):
RDMA/mlx5: Fix NULL string error
Shida Zhang (1):
ext4: fix rec_len verify error
Shigeru Yoshida (1):
net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg
Shivasharan S (2):
scsi: megaraid_sas: Load balance completions across all MSI-X
scsi: megaraid_sas: Enable msix_load_balance for Invader and later controllers
Stanislav Fomichev (1):
bpf: Clarify error expectations from bpf_clone_redirect
Szuying Chen (1):
ata: libahci: clear pending interrupt status
Thomas Zimmermann (1):
fbdev/sh7760fb: Depend on FB=y
Timo Alho (1):
clk: tegra: fix error return case for recalc_rate
Tony Lindgren (1):
ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot
Trond Myklebust (1):
NFS/pNFS: Report EINVAL errors from connect() to the server
Vishal Goel (1):
Smack:- Use overlay inode label in smack_inode_copy_up()
Wang Jianchao (2):
ext4: remove the 'group' parameter of ext4_trim_extent
ext4: add new helper interface ext4_try_to_trim_range()
Wenhua Lin (1):
gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip
Werner Sembach (1):
Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN
Xiaoke Wang (1):
i2c: mux: demux-pinctrl: check the return value of devm_kstrdup()
Xin Long (2):
sctp: update transport state when processing a dupcook packet
sctp: update hb timer immediately after users change hb_interval
Zheng Yejian (2):
selftests/ftrace: Correctly enable event in instance-event.tc
ring-buffer: Avoid softlockup in ring_buffer_resize()
Zhihao Cheng (1):
ubi: Refuse attaching if mtd's erasesize is 0
Ziyang Xuan (1):
team: fix null-ptr-deref when team device type is changed
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 19 -SUBLEVEL = 295 +SUBLEVEL = 296 EXTRAVERSION = NAME = "People's Front"
arch/arm/boot/dts/omap4-droid4-xt894.dts +2 -2
@@ -647,12 +647,12 @@ /* Configure pwm clock source for timers 8 & 9 */ &timer8 { assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>; - assigned-clock-parents = <&sys_clkin_ck>; + assigned-clock-parents = <&sys_32k_ck>; }; &timer9 { assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>; - assigned-clock-parents = <&sys_clkin_ck>; + assigned-clock-parents = <&sys_32k_ck>; }; /*
arch/mips/alchemy/devboards/db1000.c +4 -0
@@ -173,6 +173,7 @@ static struct platform_device db1x00_audio_dev = {/******************************************************************************/ +#ifdef CONFIG_MMC_AU1X static irqreturn_t db1100_mmc_cd (int irq,void *ptr) {mmc_detect_change (ptr,msecs_to_jiffies (500 ));
@@ -380,6 +381,7 @@ static struct platform_device db1100_mmc1_dev = { .num_resources = ARRAY_SIZE(au1100_mmc1_res), .resource = au1100_mmc1_res, }; +#endif /* CONFIG_MMC_AU1X */ /******************************************************************************/
@@ -497,9 +499,11 @@ static struct platform_device *db1000_devs[] = {static struct platform_device *db1100_devs[] = { &au1100_lcd_device, +#ifdef CONFIG_MMC_AU1X &db1100_mmc0_dev, &db1100_mmc1_dev, &db1000_irda_dev, +#endif };int __init db1000_dev_setup (void )
arch/mips/alchemy/devboards/db1200.c +6 -0
@@ -341,6 +341,7 @@ static struct platform_device db1200_ide_dev = {/**********************************************************************/ +#ifdef CONFIG_MMC_AU1X /* SD carddetects: they're supposed to be edge-triggered, but ack * doesn't seem to work (CPLD Rev 2). Instead, the screaming one * is disabled and its counterpart enabled. The 200ms timeout is
@@ -601,6 +602,7 @@ static struct platform_device pb1200_mmc1_dev = { .num_resources = ARRAY_SIZE(au1200_mmc1_res), .resource = au1200_mmc1_res, }; +#endif /* CONFIG_MMC_AU1X */ /**********************************************************************/
@@ -768,7 +770,9 @@ static struct platform_device db1200_audiodma_dev = {static struct platform_device *db1200_devs[]__initdata = {NULL ,/* PSC0, selected by S6.8 */ &db1200_ide_dev, +#ifdef CONFIG_MMC_AU1X &db1200_mmc0_dev, +#endif &au1200_lcd_dev, &db1200_eth_dev, &db1200_nand_dev,
@@ -779,7 +783,9 @@ static struct platform_device *db1200_devs[] __initdata = { };static struct platform_device *pb1200_devs[]__initdata = { +#ifdef CONFIG_MMC_AU1X &pb1200_mmc1_dev, +#endif };/* Some peripheral base addresses differ on the PB1200 */
arch/mips/alchemy/devboards/db1300.c +4 -0
@@ -448,6 +448,7 @@ static struct platform_device db1300_ide_dev = {/**********************************************************************/ +#ifdef CONFIG_MMC_AU1X static irqreturn_t db1300_mmc_cd (int irq,void *ptr) {disable_irq_nosync (irq);
@@ -626,6 +627,7 @@ static struct platform_device db1300_sd0_dev = { .resource = au1300_sd0_res, .num_resources = ARRAY_SIZE(au1300_sd0_res), }; +#endif /* CONFIG_MMC_AU1X */ /**********************************************************************/
@@ -756,8 +758,10 @@ static struct platform_device *db1300_dev[] __initdata = { &db1300_5waysw_dev, &db1300_nand_dev, &db1300_ide_dev, +#ifdef CONFIG_MMC_AU1X &db1300_sd0_dev, &db1300_sd1_dev, +#endif &db1300_lcd_dev, &db1300_ac97_dev, &db1300_i2s_dev,
arch/parisc/include/asm/ldcw.h +20 -16
@@ -2,14 +2,28 @@#ifndef __PARISC_LDCW_H#define __PARISC_LDCW_H -#ifndef CONFIG_PA20 /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data, and GCC only guarantees 8-byte alignment for stack locals, we can't be assured of 16-byte alignment for atomic lock data even if we specify "__attribute ((aligned(16)))" in the type declaration. So, we use a struct containing an array of four ints for the atomic lock type and dynamically select the 16-byte aligned int from the array -for the semaphore. */ +for the semaphore. */ + +/* From: "Jim Hull" <jim.hull of hp.com> +I've attached a summary of the change, but basically, for PA 2.0, as +long as the ",CO" (coherent operation) completer is implemented, then the +16-byte alignment requirement for ldcw and ldcd is relaxed, and instead +they only require "natural" alignment (4-byte for ldcw, 8-byte for +ldcd). + +Although the cache control hint is accepted by all PA 2.0 processors, +it is only implemented on PA8800/PA8900 CPUs. Prior PA8X00 CPUs still +require 16-byte alignment. If the address is unaligned, the operation +of the instruction is undefined. The ldcw instruction does not generate +unaligned data reference traps so misaligned accesses are not detected. +This hid the problem for years. So, restore the 16-byte alignment dropped +by Kyle McMartin in "Remove __ldcw_align for PA-RISC 2.0 processors". */ #define __PA_LDCW_ALIGNMENT 16#define __PA_LDCW_ALIGN_ORDER 4
@@ -19,22 +33,12 @@ & ~(__PA_LDCW_ALIGNMENT -1 ); \ (volatile unsigned int *) __ret; \ }) -#define __LDCW "ldcw" -#else /*CONFIG_PA20*/ -/* From: "Jim Hull" <jim.hull of hp.com> -I've attached a summary of the change, but basically, for PA 2.0, as -long as the ",CO" (coherent operation) completer is specified, then the -16-byte alignment requirement for ldcw and ldcd is relaxed, and instead -they only require "natural" alignment (4-byte for ldcw, 8-byte for -ldcd). */ - -#define __PA_LDCW_ALIGNMENT 4 -#define __PA_LDCW_ALIGN_ORDER 2 -#define __ldcw_align (a) (&(a)->slock) +#ifdef CONFIG_PA20 #define __LDCW "ldcw,co" - -#endif /*!CONFIG_PA20*/ +#else +#define __LDCW "ldcw" +#endif /* LDCW, the only atomic read-write operation PA-RISC has. *sigh*. We don't explicitly expose that "*a" may be written as reload
arch/parisc/include/asm/ropes.h +3 -0
@@ -86,6 +86,9 @@ struct sba_device {struct ioc ioc[MAX_IOC ]; }; +/* list of SBA's in system, see drivers/parisc/sba_iommu.c */ +extern struct sba_device *sba_list; +#define ASTRO_RUNWAY_PORT 0x582#define IKE_MERCED_PORT 0x803#define REO_MERCED_PORT 0x804
arch/parisc/include/asm/spinlock_types.h +0 -5
@@ -3,13 +3,8 @@#define __ASM_SPINLOCK_TYPES_Htypedef struct { -#ifdef CONFIG_PA20 -volatile unsigned int slock; -# define __ARCH_SPIN_LOCK_UNLOCKED { 1 } -#else volatile unsigned int lock[4 ];# define __ARCH_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } } -#endif }arch_spinlock_t ; typedef struct {
arch/parisc/kernel/drivers.c +1 -1
@@ -903,9 +903,9 @@ static __init void qemu_header(void)pr_info ("#define PARISC_MODEL \"%s\"\n\n" , boot_cpu_data.pdc.sys_model_name); +#define p ((unsigned long *)&boot_cpu_data.pdc.model)pr_info ("#define PARISC_PDC_MODEL 0x%lx, 0x%lx, 0x%lx, " "0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx\n\n" , - #define p ((unsigned long *)&boot_cpu_data.pdc.model) p[0 ], p[1 ], p[2 ], p[3 ], p[4 ], p[5 ], p[6 ], p[7 ], p[8 ]);#undef p
arch/parisc/kernel/irq.c +1 -1
@@ -392,7 +392,7 @@ union irq_stack_union {volatile unsigned int lock[1 ]; }; -DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = { +static DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = { .slock = {1 ,1 ,1 ,1 }, };#endif
arch/powerpc/perf/hv-24x7.c +1 -1
@@ -1326,7 +1326,7 @@ static int h_24x7_event_init(struct perf_event *event) } domain =event_get_domain (event); -if (domain >=HV_PERF_DOMAIN_MAX ) { +if (domain ==0 || domain >=HV_PERF_DOMAIN_MAX ) {pr_devel ("invalid domain %d\n" , domain);return -EINVAL ; }
drivers/ata/ahci.c +10 -3
@@ -694,7 +694,7 @@ static void ahci_pci_init_controller(struct ata_host *host)/* clear port IRQ */ tmp =readl (port_mmio +PORT_IRQ_STAT ); -VPRINTK ("PORT_IRQ_STAT 0x%x\n" , tmp); +dev_dbg (&pdev->dev,"PORT_IRQ_STAT 0x%x\n" , tmp);if (tmp)writel (tmp, port_mmio +PORT_IRQ_STAT ); }
@@ -1504,7 +1504,6 @@ static irqreturn_t ahci_thunderx_irq_handler(int irq, void *dev_instance)u32 irq_stat, irq_masked;unsigned int handled =1 ; -VPRINTK ("ENTER\n" ); hpriv = host->private_data; mmio = hpriv->mmio; irq_stat =readl (mmio +HOST_IRQ_STAT );
@@ -1521,7 +1520,6 @@ static irqreturn_t ahci_thunderx_irq_handler(int irq, void *dev_instance) irq_stat =readl (mmio +HOST_IRQ_STAT );spin_unlock (&host->lock); }while (irq_stat); -VPRINTK ("EXIT\n" );return IRQ_RETVAL (handled); }
@@ -1866,6 +1864,15 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)else dev_info (&pdev->dev,"SSS flag set, parallel bus scan disabled\n" ); +if (!(hpriv->cap &HOST_CAP_PART )) + host->flags |=ATA_HOST_NO_PART ; + +if (!(hpriv->cap &HOST_CAP_SSC )) + host->flags |=ATA_HOST_NO_SSC ; + +if (!(hpriv->cap2 &HOST_CAP2_SDS )) + host->flags |=ATA_HOST_NO_DEVSLP ; +if (pi.flags &ATA_FLAG_EM )ahci_reset_em (host);
drivers/ata/ahci_xgene.c +0 -4
@@ -601,8 +601,6 @@ static irqreturn_t xgene_ahci_irq_intr(int irq, void *dev_instance)void __iomem *mmio;u32 irq_stat, irq_masked; -VPRINTK ("ENTER\n" ); - hpriv = host->private_data; mmio = hpriv->mmio;
@@ -625,8 +623,6 @@ static irqreturn_t xgene_ahci_irq_intr(int irq, void *dev_instance)spin_unlock (&host->lock); -VPRINTK ("EXIT\n" ); -return IRQ_RETVAL (rc); }
drivers/ata/libahci.c +25 -24
106 lines not on this page · raw message
drivers/ata/libata-core.c +46 -14
101 lines not on this page · raw message
drivers/ata/libata-eh.c +3 -10
@@ -2922,18 +2922,11 @@ int ata_eh_reset(struct ata_link *link, int classify,postreset (slave, classes); } -/* -* Some controllers can't be frozen very well and may set spurious -* error conditions during reset. Clear accumulated error -* information and re-thaw the port if frozen. As reset is the -* final recovery action and we cross check link onlineness against -* device classification later, no hotplug event is lost by this. -*/ +/* clear cached SError */ spin_lock_irqsave (link->ap->lock, flags); -memset (&link->eh_info,0 ,sizeof (link->eh_info)); + link->eh_info.serror =0 ;if (slave) -memset (&slave->eh_info,0 ,sizeof (link->eh_info)); - ap->pflags &= ~ATA_PFLAG_EH_PENDING ; + slave->eh_info.serror =0 ;spin_unlock_irqrestore (link->ap->lock, flags);if (ap->pflags &ATA_PFLAG_FROZEN )
drivers/ata/libata-scsi.c +1 -1
@@ -4561,7 +4561,7 @@ void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd)break ;case MAINTENANCE_IN : -if (scsicmd[1 ] ==MI_REPORT_SUPPORTED_OPERATION_CODES ) +if ((scsicmd[1 ] &0x1f ) ==MI_REPORT_SUPPORTED_OPERATION_CODES )ata_scsi_rbuf_fill (&args, ata_scsiop_maint_in);else ata_scsi_set_invalid_field (dev, cmd,1 ,0xff );
drivers/ata/libata-transport.c +8 -1
@@ -266,6 +266,10 @@ void ata_tport_delete(struct ata_port *ap)put_device (dev); } +static const struct device_type ata_port_sas_type = { + .name =ATA_PORT_TYPE_NAME , +}; +/** ata_tport_add - initialize a transport ATA port structure * * @parent: parent device
@@ -283,7 +287,10 @@ int ata_tport_add(struct device *parent,struct device *dev = &ap->tdev;device_initialize (dev); - dev->type = &ata_port_type; +if (ap->flags &ATA_FLAG_SAS_HOST ) + dev->type = &ata_port_sas_type; +else + dev->type = &ata_port_type; dev->parent = parent;ata_host_get (ap->host);
drivers/ata/libata.h +2 -0
@@ -46,6 +46,8 @@ enum { ATA_DNXFER_QUIET = (1 << 31), }; +#define ATA_PORT_TYPE_NAME "ata_port" +extern atomic_t ata_print_id;extern int atapi_passthru16;extern int libata_fua;
drivers/base/arch_topology.c +1 -1
@@ -44,7 +44,7 @@ static ssize_t cpu_capacity_show(struct device *dev, { struct cpu *cpu = container_of(dev, struct cpu, dev); -return sysfs_emit (buf,"%lu\n" ,topology_get_cpu_scale (NULL , cpu->dev.id)); +return sprintf (buf,"%lu\n" ,topology_get_cpu_scale (NULL , cpu->dev.id)); } static ssize_t cpu_capacity_store(struct device *dev,
drivers/base/cacheinfo.c +9 -9
@@ -372,7 +372,7 @@ static ssize_t size_show(struct device *dev, {struct cacheinfo *this_leaf =dev_get_drvdata (dev); -return sysfs_emit (buf,"%uK\n" , this_leaf->size >>10 ); +return sprintf (buf,"%uK\n" , this_leaf->size >>10 ); }static ssize_t shared_cpumap_show_func (struct device *dev,bool list,char *buf)
@@ -402,11 +402,11 @@ static ssize_t type_show(struct device *dev,switch (this_leaf->type) {case CACHE_TYPE_DATA : -return sysfs_emit (buf,"Data\n" ); +return sprintf (buf,"Data\n" );case CACHE_TYPE_INST : -return sysfs_emit (buf,"Instruction\n" ); +return sprintf (buf,"Instruction\n" );case CACHE_TYPE_UNIFIED : -return sysfs_emit (buf,"Unified\n" ); +return sprintf (buf,"Unified\n" );default :return -EINVAL ; }
@@ -420,11 +420,11 @@ static ssize_t allocation_policy_show(struct device *dev,int n =0 ;if ((ci_attr &CACHE_READ_ALLOCATE ) && (ci_attr &CACHE_WRITE_ALLOCATE )) - n =sysfs_emit (buf,"ReadWriteAllocate\n" ); + n =sprintf (buf,"ReadWriteAllocate\n" );else if (ci_attr &CACHE_READ_ALLOCATE ) - n =sysfs_emit (buf,"ReadAllocate\n" ); + n =sprintf (buf,"ReadAllocate\n" );else if (ci_attr &CACHE_WRITE_ALLOCATE ) - n =sysfs_emit (buf,"WriteAllocate\n" ); + n =sprintf (buf,"WriteAllocate\n" );return n; }
@@ -436,9 +436,9 @@ static ssize_t write_policy_show(struct device *dev,int n =0 ;if (ci_attr &CACHE_WRITE_THROUGH ) - n =sysfs_emit (buf,"WriteThrough\n" ); + n =sprintf (buf,"WriteThrough\n" );else if (ci_attr &CACHE_WRITE_BACK ) - n =sysfs_emit (buf,"WriteBack\n" ); + n =sprintf (buf,"WriteBack\n" );return n; }
drivers/base/core.c +4 -4
@@ -994,7 +994,7 @@ ssize_t device_show_ulong(struct device *dev, char *buf) {struct dev_ext_attribute *ea =to_ext_attr (attr); -return sysfs_emit (buf,"%lx\n" , *(unsigned long *)(ea->var)); +return snprintf (buf,PAGE_SIZE ,"%lx\n" , *(unsigned long *)(ea->var)); }EXPORT_SYMBOL_GPL (device_show_ulong);
@@ -1019,7 +1019,7 @@ ssize_t device_show_int(struct device *dev, {struct dev_ext_attribute *ea =to_ext_attr (attr); -return sysfs_emit (buf,"%d\n" , *(int *)(ea->var)); +return snprintf (buf,PAGE_SIZE ,"%d\n" , *(int *)(ea->var)); }EXPORT_SYMBOL_GPL (device_show_int);
@@ -1040,7 +1040,7 @@ ssize_t device_show_bool(struct device *dev, struct device_attribute *attr, {struct dev_ext_attribute *ea =to_ext_attr (attr); -return sysfs_emit (buf,"%d\n" , *(bool *)(ea->var)); +return snprintf (buf,PAGE_SIZE ,"%d\n" , *(bool *)(ea->var)); }EXPORT_SYMBOL_GPL (device_show_bool);
@@ -1273,7 +1273,7 @@ static ssize_t online_show(struct device *dev, struct device_attribute *attr,device_lock (dev); val = !dev->offline;device_unlock (dev); -return sysfs_emit (buf,"%u\n" , val); +return sprintf (buf,"%u\n" , val); } static ssize_t online_store(struct device *dev, struct device_attribute *attr,
drivers/base/cpu.c +17 -17
@@ -156,7 +156,7 @@ static ssize_t show_crash_notes(struct device *dev, struct device_attribute *att* operation should be safe. No locking required. */ addr =per_cpu_ptr_to_phys (per_cpu_ptr (crash_notes, cpunum)); - rc =sysfs_emit (buf,"%Lx\n" , addr); + rc =sprintf (buf,"%Lx\n" , addr);return rc; } static DEVICE_ATTR(crash_notes, 0400, show_crash_notes, NULL);
@@ -167,7 +167,7 @@ static ssize_t show_crash_notes_size(struct device *dev, {ssize_t rc; - rc =sysfs_emit (buf,"%zu\n" ,sizeof (note_buf_t)); + rc =sprintf (buf,"%zu\n" ,sizeof (note_buf_t));return rc; } static DEVICE_ATTR(crash_notes_size, 0400, show_crash_notes_size, NULL);
@@ -264,7 +264,7 @@ static ssize_t print_cpus_offline(struct device *dev, nr_cpu_ids, total_cpus-1); } - n +=sysfs_emit (&buf[n],"\n" ); + n +=snprintf (&buf[n], len - n,"\n" );return n; } static DEVICE_ATTR(offline, 0444, print_cpus_offline, NULL);
@@ -272,7 +272,7 @@ static DEVICE_ATTR(offline, 0444, print_cpus_offline, NULL);static ssize_t print_cpus_isolated (struct device *dev,struct device_attribute *attr,char *buf) { -int n =0 ; +int n =0 , len =PAGE_SIZE -2 ;cpumask_var_t isolated;if (!alloc_cpumask_var (&isolated,GFP_KERNEL ))
@@ -280,7 +280,7 @@ static ssize_t print_cpus_isolated(struct device *dev,cpumask_andnot (isolated, cpu_possible_mask,housekeeping_cpumask (HK_FLAG_DOMAIN )); - n =sysfs_emit (buf,"%*pbl\n" ,cpumask_pr_args (isolated)); + n =scnprintf (buf, len,"%*pbl\n" ,cpumask_pr_args (isolated));free_cpumask_var (isolated);
@@ -292,9 +292,9 @@ static DEVICE_ATTR(isolated, 0444, print_cpus_isolated, NULL);static ssize_t print_cpus_nohz_full (struct device *dev,struct device_attribute *attr,char *buf) { -int n =0 ; +int n =0 , len =PAGE_SIZE -2 ; - n =sysfs_emit (buf,"%*pbl\n" ,cpumask_pr_args (tick_nohz_full_mask)); + n =scnprintf (buf, len,"%*pbl\n" ,cpumask_pr_args (tick_nohz_full_mask));return n; }
@@ -328,7 +328,7 @@ static ssize_t print_cpu_modalias(struct device *dev,ssize_t n;u32 i; - n =sysfs_emit (buf,"cpu:type:" CPU_FEATURE_TYPEFMT ":feature:" , + n =sprintf (buf,"cpu:type:" CPU_FEATURE_TYPEFMT ":feature:" ,CPU_FEATURE_TYPEVAL );for (i =0 ; i <MAX_CPU_FEATURES ; i++)
@@ -520,56 +520,56 @@ static void __init cpu_dev_register_generic(void)ssize_t __weak cpu_show_meltdown (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_spectre_v1 (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_spectre_v2 (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_spec_store_bypass (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_l1tf (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_mds (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_tsx_async_abort (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_itlb_multihit (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); }ssize_t __weak cpu_show_srbds (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf,"Not affected\n" ); +return sprintf (buf,"Not affected\n" ); } ssize_t __weak cpu_show_mmio_stale_data(struct device *dev,
drivers/base/firmware_loader/fallback.c +1 -1
@@ -215,7 +215,7 @@ static ssize_t firmware_loading_show(struct device *dev, loading =fw_sysfs_loading (fw_sysfs->fw_priv);mutex_unlock (&fw_lock); -return sysfs_emit (buf,"%d\n" , loading); +return sprintf (buf,"%d\n" , loading); }/* one pages buffer should be mapped/unmapped only once */
drivers/base/memory.c +12 -12
@@ -121,7 +121,7 @@ static ssize_t show_mem_start_phys_index(struct device *dev,unsigned long phys_index; phys_index = mem->start_section_nr / sections_per_block; -return sysfs_emit (buf,"%08lx\n" , phys_index); +return sprintf (buf,"%08lx\n" , phys_index); }/*
@@ -145,7 +145,7 @@ static ssize_t show_mem_removable(struct device *dev, } out: -return sysfs_emit (buf,"%d\n" , ret); +return sprintf (buf,"%d\n" , ret); }/*
@@ -163,17 +163,17 @@ static ssize_t show_mem_state(struct device *dev,*/ switch (mem->state) {case MEM_ONLINE : - len =sysfs_emit (buf,"online\n" ); + len =sprintf (buf,"online\n" );break ;case MEM_OFFLINE : - len =sysfs_emit (buf,"offline\n" ); + len =sprintf (buf,"offline\n" );break ;case MEM_GOING_OFFLINE : - len =sysfs_emit (buf,"going-offline\n" ); + len =sprintf (buf,"going-offline\n" );break ;default : - len =sysfs_emit (buf,"ERROR-UNKNOWN-%ld\n" , - mem->state); + len =sprintf (buf,"ERROR-UNKNOWN-%ld\n" , + mem->state);WARN_ON (1 );break ; }
@@ -384,7 +384,7 @@ static ssize_t show_phys_device(struct device *dev, struct device_attribute *attr, char *buf) { struct memory_block *mem = to_memory_block(dev); -return sysfs_emit (buf,"%d\n" , mem->phys_device); +return sprintf (buf,"%d\n" , mem->phys_device); }#ifdef CONFIG_MEMORY_HOTREMOVE
@@ -422,7 +422,7 @@ static ssize_t show_valid_zones(struct device *dev,*/ if (!test_pages_in_a_zone (start_pfn, start_pfn + nr_pages, &valid_start_pfn, &valid_end_pfn)) -return sysfs_emit (buf,"none\n" ); +return sprintf (buf,"none\n" ); start_pfn = valid_start_pfn;strcat (buf,page_zone (pfn_to_page (start_pfn))->name); goto out;
@@ -456,7 +456,7 @@ static ssize_t print_block_size(struct device *dev, struct device_attribute *attr, char *buf) { - return sysfs_emit(buf, "%lx\n", get_memory_block_size()); + return sprintf(buf, "%lx\n", get_memory_block_size()); } static DEVICE_ATTR(block_size_bytes, 0444, print_block_size, NULL);
@@ -470,9 +470,9 @@ show_auto_online_blocks(struct device *dev, struct device_attribute *attr, char *buf) {if (memhp_auto_online) -return sysfs_emit (buf,"online\n" ); +return sprintf (buf,"online\n" );else -return sysfs_emit (buf,"offline\n" ); +return sprintf (buf,"offline\n" ); } static ssize_t
drivers/base/node.c +17 -17
@@ -69,7 +69,7 @@ static ssize_t node_read_meminfo(struct device *dev,struct sysinfo i;si_meminfo_node (&i, nid); - n =sysfs_emit (buf, + n =sprintf (buf,"Node %d MemTotal: %8lu kB\n" "Node %d MemFree: %8lu kB\n" "Node %d MemUsed: %8lu kB\n"
@@ -96,7 +96,7 @@ static ssize_t node_read_meminfo(struct device *dev, nid, K(sum_zone_node_page_state(nid, NR_MLOCK)));#ifdef CONFIG_HIGHMEM - n +=sysfs_emit (buf + n, + n +=sprintf (buf + n,"Node %d HighTotal: %8lu kB\n" "Node %d HighFree: %8lu kB\n" "Node %d LowTotal: %8lu kB\n"
@@ -106,7 +106,7 @@ static ssize_t node_read_meminfo(struct device *dev, nid,K (i.totalram - i.totalhigh), nid, K(i.freeram - i.freehigh));#endif - n +=sysfs_emit (buf + n, + n +=sprintf (buf + n,"Node %d Dirty: %8lu kB\n" "Node %d Writeback: %8lu kB\n" "Node %d FilePages: %8lu kB\n"
@@ -162,19 +162,19 @@ static DEVICE_ATTR(meminfo, S_IRUGO, node_read_meminfo, NULL);static ssize_t node_read_numastat (struct device *dev,struct device_attribute *attr,char *buf) { -return sysfs_emit (buf, -"numa_hit %lu\n" -"numa_miss %lu\n" -"numa_foreign %lu\n" -"interleave_hit %lu\n" -"local_node %lu\n" -"other_node %lu\n" , -sum_zone_numa_state (dev->id,NUMA_HIT ), -sum_zone_numa_state (dev->id,NUMA_MISS ), -sum_zone_numa_state (dev->id,NUMA_FOREIGN ), -sum_zone_numa_state (dev->id,NUMA_INTERLEAVE_HIT ), -sum_zone_numa_state (dev->id,NUMA_LOCAL ), -sum_zone_numa_state (dev->id,NUMA_OTHER )); +return sprintf (buf, +"numa_hit %lu\n" +"numa_miss %lu\n" +"numa_foreign %lu\n" +"interleave_hit %lu\n" +"local_node %lu\n" +"other_node %lu\n" , +sum_zone_numa_state (dev->id,NUMA_HIT ), +sum_zone_numa_state (dev->id,NUMA_MISS ), +sum_zone_numa_state (dev->id,NUMA_FOREIGN ), +sum_zone_numa_state (dev->id,NUMA_INTERLEAVE_HIT ), +sum_zone_numa_state (dev->id,NUMA_LOCAL ), +sum_zone_numa_state (dev->id,NUMA_OTHER )); } static DEVICE_ATTR(numastat, S_IRUGO, node_read_numastat, NULL);
@@ -612,7 +612,7 @@ static ssize_t print_nodes_state(enum node_states state, char *buf) {int n; - n =sysfs_emit (buf,"%*pbl" , + n =scnprintf (buf,PAGE_SIZE -1 ,"%*pbl" ,nodemask_pr_args (&node_states[state])); buf[n++] ='\n' ; buf[n] ='\0' ;
drivers/base/platform.c +1 -1
@@ -927,7 +927,7 @@ static ssize_t driver_override_show(struct device *dev,ssize_t len;device_lock (dev); - len =sysfs_emit (buf,"%s\n" , pdev->driver_override); + len =sprintf (buf,"%s\n" , pdev->driver_override);device_unlock (dev);return len; }
drivers/base/power/sysfs.c +25 -25
135 lines not on this page · raw message
drivers/base/regmap/regcache-rbtree.c +2 -1
@@ -467,7 +467,8 @@ static int regcache_rbtree_write(struct regmap *map, unsigned int reg,if (!rbnode)return -ENOMEM ;regcache_rbtree_set_register (map, rbnode, - reg - rbnode->base_reg, value); + (reg - rbnode->base_reg) / map->reg_stride, + value);regcache_rbtree_insert (map, &rbtree_ctx->root, rbnode); rbtree_ctx->cached_rbnode = rbnode; }
drivers/base/soc.c +4 -4
@@ -72,13 +72,13 @@ static ssize_t soc_info_get(struct device *dev, struct soc_device *soc_dev = container_of(dev, struct soc_device, dev);if (attr == &dev_attr_machine) -return sysfs_emit (buf,"%s\n" , soc_dev->attr->machine); +return sprintf (buf,"%s\n" , soc_dev->attr->machine);if (attr == &dev_attr_family) -return sysfs_emit (buf,"%s\n" , soc_dev->attr->family); +return sprintf (buf,"%s\n" , soc_dev->attr->family);if (attr == &dev_attr_revision) -return sysfs_emit (buf,"%s\n" , soc_dev->attr->revision); +return sprintf (buf,"%s\n" , soc_dev->attr->revision);if (attr == &dev_attr_soc_id) -return sysfs_emit (buf,"%s\n" , soc_dev->attr->soc_id); +return sprintf (buf,"%s\n" , soc_dev->attr->soc_id);return -EINVAL ;
drivers/char/agp/parisc-agp.c +0 -2
@@ -385,8 +385,6 @@ find_quicksilver(struct device *dev, void *data)static int __init parisc_agp_init (void ) { -extern struct sba_device *sba_list; -int err =-1 ;struct parisc_device *sba =NULL , *lba =NULL ;struct lba_device *lbadev =NULL ;
drivers/clk/tegra/clk-bpmp.c +1 -1
@@ -162,7 +162,7 @@ static unsigned long tegra_bpmp_clk_recalc_rate(struct clk_hw *hw, err =tegra_bpmp_clk_transfer (clk->bpmp, &msg);if (err <0 ) -return err; +return 0 ;return response.rate; }
drivers/gpio/gpio-aspeed.c +1 -1
@@ -999,7 +999,7 @@ static int aspeed_gpio_set_config(struct gpio_chip *chip, unsigned int offset,else if (param ==PIN_CONFIG_BIAS_DISABLE || param ==PIN_CONFIG_BIAS_PULL_DOWN || param ==PIN_CONFIG_DRIVE_STRENGTH ) -return pinctrl_gpio_set_config (offset, config); +return pinctrl_gpio_set_config (chip->base + offset, config);else if (param ==PIN_CONFIG_DRIVE_OPEN_DRAIN || param ==PIN_CONFIG_DRIVE_OPEN_SOURCE )/* Return -ENOTSUPP to trigger emulation, as per datasheet */
drivers/gpio/gpio-pmic-eic-sprd.c +1 -0
@@ -341,6 +341,7 @@ static int sprd_pmic_eic_probe(struct platform_device *pdev) pmic_eic->chip.set_config = sprd_pmic_eic_set_config; pmic_eic->chip.set = sprd_pmic_eic_set; pmic_eic->chip.get = sprd_pmic_eic_get; + pmic_eic->chip.can_sleep = true; pmic_eic->intc.name =dev_name (&pdev->dev); pmic_eic->intc.irq_mask = sprd_pmic_eic_irq_mask;
drivers/gpio/gpio-pxa.c +1 -0
@@ -246,6 +246,7 @@ static bool pxa_gpio_has_pinctrl(void)switch (gpio_type) {case PXA3XX_GPIO :case MMP2_GPIO : +case MMP_GPIO :return false;default :
drivers/gpio/gpio-tb10x.c +5 -1
@@ -246,7 +246,7 @@ static int tb10x_gpio_probe(struct platform_device *pdev) handle_edge_irq,IRQ_NOREQUEST ,IRQ_NOPROBE , IRQ_GC_INIT_MASK_CACHE);if (ret) -return ret; + goto err_remove_domain; gc = tb10x_gpio->domain->gc->gc[0 ]; gc->reg_base = tb10x_gpio->base;
@@ -260,6 +260,10 @@ static int tb10x_gpio_probe(struct platform_device *pdev) }return 0 ; + +err_remove_domain: +irq_domain_remove (tb10x_gpio->domain); +return ret; }static int tb10x_gpio_remove (struct platform_device *pdev)
drivers/i2c/busses/i2c-i801.c +1 -0
@@ -1679,6 +1679,7 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id) "SMBus I801 adapter at %04lx", priv->smba); err =i2c_add_adapter (&priv->adapter);if (err) { +platform_device_unregister (priv->tco_pdev);i801_acpi_remove (priv);return err; }
drivers/i2c/muxes/i2c-demux-pinctrl.c +4 -0
@@ -244,6 +244,10 @@ static int i2c_demux_pinctrl_probe(struct platform_device *pdev) props[i].name =devm_kstrdup (&pdev->dev,"status" ,GFP_KERNEL ); props[i].value =devm_kstrdup (&pdev->dev,"ok" ,GFP_KERNEL ); +if (!props[i].name || !props[i].value) { + err = -ENOMEM ; + goto err_rollback; + } props[i].length =3 ;of_changeset_init (&priv->chan[i].chgset);
drivers/infiniband/core/cma_configfs.c +1 -1
@@ -215,7 +215,7 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group, }for (i =0 ; i < ports_num; i++) { -char port_str[10 ]; +char port_str[11 ]; ports[i].port_num = i +1 ;snprintf (port_str,sizeof (port_str),"%u" , i +1 );
drivers/infiniband/hw/mlx4/sysfs.c +1 -1
@@ -221,7 +221,7 @@ void del_sysfs_port_mcg_attr(struct mlx4_ib_dev *device, int port_num,static int add_port_entries (struct mlx4_ib_dev *device,int port_num) {int i; -char buff[11 ]; +char buff[12 ];struct mlx4_ib_iov_port *port =NULL ;int ret =0 ;struct ib_port_attr attr;
drivers/infiniband/hw/mlx5/main.c +1 -1
@@ -2005,7 +2005,7 @@ static inline char *mmap_cmd2str(enum mlx5_ib_mmap_cmd cmd)case MLX5_IB_MMAP_DEVICE_MEM :return "Device Memory" ;default : -return NULL ; +return "Unknown" ; } }
drivers/input/serio/i8042-x86ia64io.h +7 -0
@@ -1188,6 +1188,13 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) }, +/* See comment on TUXEDO InfinityBook S17 Gen6 / Clevo NS70MU above */ + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PD5x_7xPNP_PNR_PNN_PNT"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOAUX ) + }, { .matches = { DMI_MATCH(DMI_BOARD_NAME, "X170SM"),
drivers/media/dvb-frontends/sp8870.c +1 -1
@@ -619,4 +619,4 @@ MODULE_DESCRIPTION("Spase SP8870 DVB-T Demodulator driver");MODULE_AUTHOR ("Juergen Peitz" );MODULE_LICENSE ("GPL" ); -EXPORT_SYMBOL (sp8870_attach); +EXPORT_SYMBOL_GPL (sp8870_attach);
drivers/media/tuners/tuner-xc2028.c +1 -1
@@ -1513,7 +1513,7 @@ struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe,return NULL ; } -EXPORT_SYMBOL (xc2028_attach); +EXPORT_SYMBOL_GPL (xc2028_attach);MODULE_DESCRIPTION ("Xceive xc2028/xc3028 tuner driver" );MODULE_AUTHOR ("Michel Ludwig <[email protected]>" );
drivers/mtd/ubi/build.c +7 -0
@@ -878,6 +878,13 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,return -EINVAL ; } +/* UBI cannot work on flashes with zero erasesize. */ +if (!mtd->erasesize) { +pr_err ("ubi: refuse attaching mtd%d - zero erasesize flash is not supported\n" , + mtd->index); +return -EINVAL ; + } +if (ubi_num ==UBI_DEV_NUM_AUTO ) {/* Search for an empty slot in the @ubi_devices array */ for (ubi_num =0 ; ubi_num <UBI_MAX_DEVICES ; ubi_num++)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +5 -0
@@ -2517,8 +2517,13 @@ static u32 hclge_check_event_cause(struct hclge_dev *hdev, u32 *clearval)static void hclge_clear_event_cause (struct hclge_dev *hdev,u32 event_type,u32 regclr) { +#define HCLGE_IMP_RESET_DELAY 5 +switch (event_type) {case HCLGE_VECTOR0_EVENT_RST : +if (regclr ==BIT (HCLGE_VECTOR0_IMPRESET_INT_B )) +mdelay (HCLGE_IMP_RESET_DELAY ); +hclge_write_dev (&hdev->hw,HCLGE_MISC_RESET_STS_REG , regclr);break ;case HCLGE_VECTOR0_EVENT_MBX :
drivers/net/ethernet/qlogic/qed/qed_ll2.h +1 -1
@@ -122,9 +122,9 @@ struct qed_ll2_info {enum core_tx_dest tx_dest;u8 tx_stats_en;bool main_func_queue; +struct qed_ll2_cbs cbs;struct qed_ll2_rx_queue rx_queue;struct qed_ll2_tx_queue tx_queue; -struct qed_ll2_cbs cbs; };/**
drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c +5 -2
@@ -57,6 +57,7 @@ struct stm32_ops {int (*parse_data)(struct stm32_dwmac *dwmac,struct device *dev);u32 syscfg_eth_mask; +bool clk_rx_enable_in_suspend; };static int stm32_dwmac_init (struct plat_stmmacenet_data *plat_dat)
@@ -74,7 +75,8 @@ static int stm32_dwmac_init(struct plat_stmmacenet_data *plat_dat)if (ret)return ret; -if (!dwmac->dev->power.is_suspended) { +if (!dwmac->ops->clk_rx_enable_in_suspend || + !dwmac->dev->power.is_suspended) { ret =clk_prepare_enable (dwmac->clk_rx);if (ret) {clk_disable_unprepare (dwmac->clk_tx);
@@ -413,7 +415,8 @@ static struct stm32_ops stm32mp1_dwmac_data = { .suspend = stm32mp1_suspend, .resume = stm32mp1_resume, .parse_data = stm32mp1_parse_data, - .syscfg_eth_mask = SYSCFG_MP1_ETH_MASK + .syscfg_eth_mask = SYSCFG_MP1_ETH_MASK, + .clk_rx_enable_in_suspend = true };static const struct of_device_id stm32_dwmac_match[] = {
drivers/net/team/team.c +9 -1
@@ -2095,7 +2095,12 @@ static const struct ethtool_ops team_ethtool_ops = {static void team_setup_by_port (struct net_device *dev,struct net_device *port_dev) { - dev->header_ops = port_dev->header_ops; +struct team *team =netdev_priv (dev); + +if (port_dev->type ==ARPHRD_ETHER ) + dev->header_ops = team->header_ops_cache; +else + dev->header_ops = port_dev->header_ops; dev->type = port_dev->type; dev->hard_header_len = port_dev->hard_header_len; dev->needed_headroom = port_dev->needed_headroom;
@@ -2142,8 +2147,11 @@ static int team_dev_type_check_change(struct net_device *dev,static void team_setup (struct net_device *dev) { +struct team *team =netdev_priv (dev); +ether_setup (dev); dev->max_mtu =ETH_MAX_MTU ; + team->header_ops_cache = dev->header_ops; dev->netdev_ops = &team_netdev_ops; dev->ethtool_ops = &team_ethtool_ops;
drivers/net/thunderbolt.c +1 -2
@@ -961,12 +961,11 @@ static bool tbnet_xmit_csum_and_map(struct tbnet *net, struct sk_buff *skb, *tucso = ~csum_tcpudp_magic (ip_hdr (skb)->saddr,ip_hdr (skb)->daddr,0 ,ip_hdr (skb)->protocol,0 ); - }else if (skb_is_gso_v6 (skb)) { + }else if (skb_is_gso (skb) &&skb_is_gso_v6 (skb)) { tucso = dest + ((void *)&(tcp_hdr (skb)->check) - data); *tucso = ~csum_ipv6_magic (&ipv6_hdr (skb)->saddr, &ipv6_hdr (skb)->daddr,0 ,IPPROTO_TCP ,0 ); -return false; }else if (protocol ==htons (ETH_P_IPV6 )) { tucso = dest +skb_checksum_start_offset (skb) + skb->csum_offset; *tucso = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr,
drivers/net/usb/smsc75xx.c +3 -1
@@ -102,7 +102,9 @@ static int __must_check __smsc75xx_read_reg(struct usbnet *dev, u32 index, ret =fn (dev,USB_VENDOR_REQUEST_READ_REGISTER ,USB_DIR_IN |USB_TYPE_VENDOR |USB_RECIP_DEVICE ,0 , index, &buf,4 ); -if (unlikely (ret <0 )) { +if (unlikely (ret <4 )) { + ret = ret <0 ? ret : -ENODATA ; +netdev_warn (dev->net,"Failed to read reg index 0x%08x: %d\n" , index, ret);return ret;
drivers/net/wan/fsl_ucc_hdlc.c +10 -2
@@ -37,6 +37,8 @@#define TDM_PPPOHT_SLIC_MAXIN +static int uhdlc_close (struct net_device *dev); +static struct ucc_tdm_info utdm_primary_info = { .uf_info = { .tsa =0 ,
@@ -661,6 +663,7 @@ static int uhdlc_open(struct net_device *dev)hdlc_device *hdlc =dev_to_hdlc (dev);struct ucc_hdlc_private *priv = hdlc->priv;struct ucc_tdm *utdm = priv->utdm; +int rc =0 ;if (priv->hdlc_busy !=1 ) { if (request_irq(priv->ut_info->uf_info.irq,
@@ -683,10 +686,13 @@ static int uhdlc_open(struct net_device *dev)netif_device_attach (priv->ndev);napi_enable (&priv->napi);netif_start_queue (dev); -hdlc_open (dev); + + rc =hdlc_open (dev); +if (rc) +uhdlc_close (dev); } -return 0 ; +return rc; }static void uhdlc_memclean (struct ucc_hdlc_private *priv)
@@ -775,6 +781,8 @@ static int uhdlc_close(struct net_device *dev)netif_stop_queue (dev); priv->hdlc_busy =0 ; +hdlc_close (dev); +return 0 ; }
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c +2 -2
@@ -986,8 +986,8 @@ void mwifiex_11n_rxba_sync_event(struct mwifiex_private *priv, } } - tlv_buf_left -= (sizeof (*tlv_rxba) + tlv_len); - tmp = (u8 *)tlv_rxba + tlv_len +sizeof (*tlv_rxba); + tlv_buf_left -= (sizeof (tlv_rxba->header) + tlv_len); + tmp = (u8 *)tlv_rxba +sizeof (tlv_rxba->header) + tlv_len; tlv_rxba = (struct mwifiex_ie_types_rxba_sync *)tmp; } }
drivers/net/wireless/marvell/mwifiex/sta_rx.c +9 -7
@@ -98,7 +98,8 @@ int mwifiex_process_rx_packet(struct mwifiex_private *priv, rx_pkt_len =le16_to_cpu (local_rx_pd->rx_pkt_length); rx_pkt_hdr = (void *)local_rx_pd + rx_pkt_off; -if (sizeof (*rx_pkt_hdr) + rx_pkt_off > skb->len) { +if (sizeof (rx_pkt_hdr->eth803_hdr) +sizeof (rfc1042_header) + + rx_pkt_off > skb->len) {mwifiex_dbg (priv->adapter,ERROR ,"wrong rx packet offset: len=%d, rx_pkt_off=%d\n" , skb->len, rx_pkt_off);
@@ -107,12 +108,13 @@ int mwifiex_process_rx_packet(struct mwifiex_private *priv,return -1 ; } -if ((!memcmp (&rx_pkt_hdr->rfc1042_hdr, bridge_tunnel_header, -sizeof (bridge_tunnel_header))) || - (!memcmp (&rx_pkt_hdr->rfc1042_hdr, rfc1042_header, -sizeof (rfc1042_header)) && -ntohs (rx_pkt_hdr->rfc1042_hdr.snap_type) !=ETH_P_AARP && -ntohs (rx_pkt_hdr->rfc1042_hdr.snap_type) !=ETH_P_IPX )) { +if (sizeof (*rx_pkt_hdr) + rx_pkt_off <= skb->len && + ((!memcmp (&rx_pkt_hdr->rfc1042_hdr, bridge_tunnel_header, +sizeof (bridge_tunnel_header))) || + (!memcmp (&rx_pkt_hdr->rfc1042_hdr, rfc1042_header, +sizeof (rfc1042_header)) && +ntohs (rx_pkt_hdr->rfc1042_hdr.snap_type) !=ETH_P_AARP && +ntohs (rx_pkt_hdr->rfc1042_hdr.snap_type) !=ETH_P_IPX ))) {/* * Replace the 803 header and rfc1042 header (llc/snap) with an * EthernetII header, keep the src/dst and snap_type
drivers/nvme/host/pci.c +0 -2
@@ -2501,8 +2501,6 @@ static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id)size_t alloc_size; node =dev_to_node (&pdev->dev); -if (node ==NUMA_NO_NODE ) -set_dev_node (&pdev->dev, first_memory_node); dev =kzalloc_node (sizeof (*dev),GFP_KERNEL , node);if (!dev)
drivers/parisc/iosapic.c +2 -2
@@ -216,9 +216,9 @@ static inline void iosapic_write(void __iomem *iosapic, unsigned int reg, u32 vastatic DEFINE_SPINLOCK (iosapic_lock); -static inline void iosapic_eoi (void __iomem *addr,unsigned int data) +static inline void iosapic_eoi (__le32 __iomem *addr,__le32 data) { -__raw_writel (data, addr); +__raw_writel ((__force u32 )data, addr); }/*
drivers/parisc/iosapic_private.h +2 -2
@@ -132,8 +132,8 @@ struct iosapic_irt {struct vector_info {struct iosapic_info *iosapic;/* I/O SAPIC this vector is on */ struct irt_entry *irte;/* IRT entry */ -u32 __iomem *eoi_addr;/* precalculate EOI reg address */ -u32 eoi_data;/* IA64: ? PA: swapped txn_data */ +__le32 __iomem *eoi_addr;/* precalculate EOI reg address */ +__le32 eoi_data;/* IA64: ? PA: swapped txn_data */ int txn_irq;/* virtual IRQ number for processor */ ulong txn_addr;/* IA64: id_eid PA: partial HPA */ u32 txn_data;/* CPU interrupt bit */
drivers/pci/controller/dwc/pcie-qcom.c +0 -2
@@ -758,8 +758,6 @@ static int qcom_pcie_get_resources_2_4_0(struct qcom_pcie *pcie)if (IS_ERR (res->phy_ahb_reset))return PTR_ERR (res->phy_ahb_reset); -dw_pcie_dbi_ro_wr_dis (pci); -return 0 ; }
drivers/s390/scsi/zfcp_aux.c +5 -4
@@ -493,12 +493,12 @@ struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,if (port) {put_device (&port->dev); retval = -EEXIST ; - goto err_out; + goto err_put; } port =kzalloc (sizeof (struct zfcp_port ),GFP_KERNEL );if (!port) - goto err_out; + goto err_put;rwlock_init (&port->unit_list_lock);INIT_LIST_HEAD (&port->unit_list);
@@ -521,7 +521,7 @@ struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,if (dev_set_name (&port->dev,"0x%016llx" , (unsigned long long )wwpn)) {kfree (port); - goto err_out; + goto err_put; } retval = -EINVAL ;
@@ -538,8 +538,9 @@ struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,return port; -err_out: +err_put:zfcp_ccw_adapter_put (adapter); +err_out:return ERR_PTR (retval); }
drivers/scsi/megaraid/megaraid_sas.h +4 -1
@@ -2193,7 +2193,8 @@ struct megasas_instance {u32 secure_jbod_support;u32 support_morethan256jbod;/* FW support for more than 256 PD/JBOD */ bool use_seqnum_jbod_fp;/* Added for PD sequence */ -spinlock_t crashdump_lock; +bool smp_affinity_enable; +struct mutex crashdump_lock;struct megasas_register_set __iomem *reg_set;u32 __iomem *reply_post_host_index_addr[MR_MAX_MSIX_REG_ARRAY ];
@@ -2210,6 +2211,7 @@ struct megasas_instance {u16 ldio_threshold;u16 cur_can_queue;u32 max_sectors_per_req; +bool msix_load_balance;struct megasas_aen_event *ev;struct megasas_cmd **cmd_list;
@@ -2246,6 +2248,7 @@ struct megasas_instance {atomic_t sge_holes_type1;atomic_t sge_holes_type2;atomic_t sge_holes_type3; +atomic64_t total_io_count;struct megasas_instance_template *instancet;struct tasklet_struct isr_tasklet;
drivers/scsi/megaraid/megaraid_sas_base.c +28 -16
148 lines not on this page · raw message
drivers/scsi/megaraid/megaraid_sas_fusion.c +14 -4
@@ -2641,8 +2641,13 @@ megasas_build_ldio_fusion(struct megasas_instance *instance, fp_possible = (io_info.fpOkForIo >0 ) ? true : false; } - cmd->request_desc->SCSIIO.MSIxIndex = - instance->reply_map[raw_smp_processor_id ()]; +if (instance->msix_load_balance) + cmd->request_desc->SCSIIO.MSIxIndex = + (mega_mod64 (atomic64_add_return (1 , &instance->total_io_count), + instance->msix_vectors)); +else + cmd->request_desc->SCSIIO.MSIxIndex = + instance->reply_map[raw_smp_processor_id ()]; praid_context = &io_request->RaidContext;
@@ -2969,8 +2974,13 @@ megasas_build_syspd_fusion(struct megasas_instance *instance, cmd->request_desc->SCSIIO.DevHandle = io_request->DevHandle; - cmd->request_desc->SCSIIO.MSIxIndex = - instance->reply_map[raw_smp_processor_id ()]; +if (instance->msix_load_balance) + cmd->request_desc->SCSIIO.MSIxIndex = + (mega_mod64 (atomic64_add_return (1 , &instance->total_io_count), + instance->msix_vectors)); +else + cmd->request_desc->SCSIIO.MSIxIndex = + instance->reply_map[raw_smp_processor_id ()];if (!fp_possible) {/* system pd firmware path */
drivers/scsi/qla2xxx/qla_attr.c +0 -2
@@ -2088,8 +2088,6 @@ qla24xx_vport_create(struct fc_vport *fc_vport, bool disable) vha->flags.difdix_supported =1 ;ql_dbg (ql_dbg_user, vha,0x7082 ,"Registered for DIF/DIX type 1 and 3 protection.\n" ); -if (ql2xenabledif ==1 ) - prot =SHOST_DIX_TYPE0_PROTECTION ;scsi_host_set_prot (vha->host, prot |SHOST_DIF_TYPE1_PROTECTION | SHOST_DIF_TYPE2_PROTECTION
drivers/scsi/qla2xxx/qla_dbg.c +1 -1
@@ -22,7 +22,7 @@* | Queue Command and IO tracing | 0x3074 | 0x300b | * | | | 0x3027-0x3028 | * | | | 0x303d-0x3041 | -* | | | 0x302d,0x3033 | +* | | | 0x302e,0x3033 | * | | | 0x3036,0x3038 | * | | | 0x303a | * | DPC Thread | 0x4023 | 0x4002,0x4013 |
drivers/scsi/qla2xxx/qla_os.c +35 -10
69 lines not on this page · raw message
drivers/target/target_core_device.c +4 -7
@@ -881,7 +881,6 @@ sector_t target_to_linux_sector(struct se_device *dev, sector_t lb)EXPORT_SYMBOL (target_to_linux_sector);struct devices_idr_iter { -struct config_item *prev_item;int (*fn)(struct se_device *dev,void *data);void *data; };
@@ -891,11 +890,9 @@ static int target_devices_idr_iter(int id, void *p, void *data) {struct devices_idr_iter *iter = data;struct se_device *dev = p; +struct config_item *item;int ret; -config_item_put (iter->prev_item); - iter->prev_item =NULL ; -/* * We add the device early to the idr, so it can be used * by backend modules during configuration. We do not want
@@ -905,12 +902,13 @@ static int target_devices_idr_iter(int id, void *p, void *data)if (!target_dev_configured (dev))return 0 ; - iter->prev_item =config_item_get_unless_zero (&dev->dev_group.cg_item); -if (!iter->prev_item) + item =config_item_get_unless_zero (&dev->dev_group.cg_item); +if (!item)return 0 ;mutex_unlock (&device_mutex); ret = iter->fn (dev, iter->data); +config_item_put (item);mutex_lock (&device_mutex);return ret;
@@ -933,7 +931,6 @@ int target_for_each_device(int (*fn)(struct se_device *dev, void *data),mutex_lock (&device_mutex); ret =idr_for_each (&devices_idr, target_devices_idr_iter, &iter);mutex_unlock (&device_mutex); -config_item_put (iter.prev_item);return ret; }
drivers/tty/serial/8250/8250_port.c +4 -1
@@ -1910,7 +1910,10 @@ int serial8250_handle_irq(struct uart_port *port, unsigned int iir) skip_rx = true;if (status & (UART_LSR_DR |UART_LSR_BI ) && !skip_rx) { -if (irqd_is_wakeup_set (irq_get_irq_data (port->irq))) +struct irq_data *d; + + d =irq_get_irq_data (port->irq); +if (d &&irqd_is_wakeup_set (d))pm_wakeup_event (tport->tty->dev,0 );if (!up->dma ||handle_rx_dma (up, iir)) status =serial8250_rx_chars (up, status);
drivers/video/fbdev/Kconfig +1 -1
@@ -2085,7 +2085,7 @@ config FB_COBALT config FB_SH7760 bool "SH7760/SH7763/SH7720/SH7721 LCDC support" - depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ + depends on FB=y && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) select FB_CFB_FILLRECT select FB_CFB_COPYAREA
drivers/watchdog/iTCO_wdt.c +21 -5
@@ -401,6 +401,20 @@ static unsigned int iTCO_wdt_get_timeleft(struct watchdog_device *wd_dev)return time_left; } +/* Returns true if the watchdog was running */ +static bool iTCO_wdt_set_running (struct iTCO_wdt_private *p) +{ +u16 val; + +/* Bit 11: TCO Timer Halt -> 0 = The TCO timer is enabled */ + val =inw (TCO1_CNT (p)); +if (!(val &BIT (11 ))) { +set_bit (WDOG_HW_RUNNING , &p->wddev.status); +return true; + } +return false; +} +/* * Kernel Interfaces */
@@ -476,9 +490,6 @@ static int iTCO_wdt_probe(struct platform_device *pdev)return -ENODEV ;/* Cannot reset NO_REBOOT bit */ } -/* Set the NO_REBOOT bit to prevent later reboots, just for sure */ - p->update_no_reboot_bit (p->no_reboot_priv, true); -/* The TCO logic uses the TCO_EN bit in the SMI_EN register */ if (!devm_request_region(dev, p->smi_res->start, resource_size(p->smi_res),
@@ -537,8 +548,13 @@ static int iTCO_wdt_probe(struct platform_device *pdev)watchdog_set_drvdata (&p->wddev, p);platform_set_drvdata (pdev, p); -/* Make sure the watchdog is not running */ -iTCO_wdt_stop (&p->wddev); +if (!iTCO_wdt_set_running (p)) { +/* +* If the watchdog was not running set NO_REBOOT now to +* prevent later reboots. +*/ + p->update_no_reboot_bit (p->no_reboot_priv, true); + }/* Check that the heartbeat value is within it's range; if not reset to the default */
drivers/xen/events/events_base.c +44 -41
173 lines not on this page · raw message
drivers/xen/events/events_internal.h +2 -0
@@ -8,6 +8,7 @@*/ #ifndef __EVENTS_INTERNAL_H__#define __EVENTS_INTERNAL_H__ +#include <linux/rcupdate.h> /* Interrupt types. */ enum xen_irq_type {
@@ -33,6 +34,7 @@ enum xen_irq_type {struct irq_info {struct list_head list;struct list_head eoi_list; +struct rcu_work rwork;short refcnt;short spurious_cnt;short type;/* type */
fs/binfmt_elf_fdpic.c +2 -3
@@ -349,10 +349,9 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm)/* there's now no turning back... the old userspace image is dead, * defunct, deceased, etc. */ +SET_PERSONALITY (exec_params.hdr);if (elf_check_fdpic (&exec_params.hdr)) -set_personality (PER_LINUX_FDPIC ); -else -set_personality (PER_LINUX ); + current->personality |=PER_LINUX_FDPIC ;if (elf_read_implies_exec (&exec_params.hdr, executable_stack)) current->personality |=READ_IMPLIES_EXEC ;
fs/btrfs/super.c +1 -1
@@ -2196,7 +2196,7 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf)* calculated f_bavail. */ if (!mixed && block_rsv->space_info->full && - total_free_meta - thresh < block_rsv->size) + (total_free_meta < thresh || total_free_meta - thresh < block_rsv->size)) buf->f_bavail =0 ; buf->f_type =BTRFS_SUPER_MAGIC ;
fs/ext4/ext4.h +1 -1
@@ -1500,7 +1500,7 @@ struct ext4_sb_info {struct task_struct *s_mmp_tsk;/* record the last minlen when FITRIM is called. */ -atomic_t s_last_trim_minblks; +unsigned long s_last_trim_minblks;/* Reference to checksum algorithm driver via cryptoapi */ struct crypto_shash *s_chksum_driver;
fs/ext4/mballoc.c +82 -56
219 lines not on this page · raw message
fs/ext4/namei.c +15 -11
@@ -322,17 +322,17 @@ static struct ext4_dir_entry_tail *get_dirent_tail(struct inode *inode, struct ext4_dir_entry *de) {struct ext4_dir_entry_tail *t; +int blocksize =EXT4_BLOCK_SIZE (inode->i_sb);#ifdef PARANOID struct ext4_dir_entry *d, *top; d = de; top = (struct ext4_dir_entry *)(((void *)de) + - (EXT4_BLOCK_SIZE (inode->i_sb) - -sizeof (struct ext4_dir_entry_tail ))); -while (d < top && d->rec_len) + (blocksize -sizeof (struct ext4_dir_entry_tail ))); +while (d < top &&ext4_rec_len_from_disk (d->rec_len, blocksize)) d = (struct ext4_dir_entry *)(((void *)d) + -le16_to_cpu (d->rec_len)); +ext4_rec_len_from_disk (d->rec_len, blocksize));if (d != top)return NULL ;
@@ -343,7 +343,8 @@ static struct ext4_dir_entry_tail *get_dirent_tail(struct inode *inode,#endif if (t->det_reserved_zero1 || -le16_to_cpu (t->det_rec_len) !=sizeof (struct ext4_dir_entry_tail ) || + (ext4_rec_len_from_disk (t->det_rec_len, blocksize) != +sizeof (struct ext4_dir_entry_tail )) || t->det_reserved_zero2 || t->det_reserved_ft !=EXT4_FT_DIR_CSUM )return NULL ;
@@ -425,13 +426,14 @@ static struct dx_countlimit *get_dx_countlimit(struct inode *inode,struct ext4_dir_entry *dp;struct dx_root_info *root;int count_offset; +int blocksize =EXT4_BLOCK_SIZE (inode->i_sb); +unsigned int rlen =ext4_rec_len_from_disk (dirent->rec_len, blocksize); -if (le16_to_cpu (dirent->rec_len) ==EXT4_BLOCK_SIZE (inode->i_sb)) +if (rlen == blocksize) count_offset =8 ; -else if (le16_to_cpu (dirent->rec_len) ==12 ) { +else if (rlen ==12 ) { dp = (struct ext4_dir_entry *)(((void *)dirent) +12 ); -if (le16_to_cpu (dp->rec_len) != -EXT4_BLOCK_SIZE (inode->i_sb) -12 ) +if (ext4_rec_len_from_disk (dp->rec_len, blocksize) != blocksize -12 )return NULL ; root = (struct dx_root_info *)(((void *)dp +12 )); if (root->reserved_zero ||
@@ -1244,6 +1246,7 @@ static int dx_make_map(struct inode *dir, struct buffer_head *bh,unsigned int buflen = bh->b_size;char *base = bh->b_data;struct dx_hash_info h = *hinfo; +int blocksize =EXT4_BLOCK_SIZE (dir->i_sb);if (ext4_has_metadata_csum (dir->i_sb)) buflen -=sizeof (struct ext4_dir_entry_tail );
@@ -1257,11 +1260,12 @@ static int dx_make_map(struct inode *dir, struct buffer_head *bh, map_tail--; map_tail->hash = h.hash; map_tail->offs = ((char *) de - base)>>2 ; - map_tail->size =le16_to_cpu (de->rec_len); + map_tail->size =ext4_rec_len_from_disk (de->rec_len, + blocksize); count++;cond_resched (); } - de =ext4_next_entry (de, dir->i_sb->s_blocksize); + de =ext4_next_entry (de, blocksize); }return count; }
fs/nfs/flexfilelayout/flexfilelayout.c +1 -0
@@ -1189,6 +1189,7 @@ static void ff_layout_io_track_ds_error(struct pnfs_layout_segment *lseg,case -EPFNOSUPPORT :case -EPROTONOSUPPORT :case -EOPNOTSUPP : +case -EINVAL :case -ECONNREFUSED :case -ECONNRESET :case -EHOSTDOWN :
fs/nilfs2/gcinode.c +3 -3
@@ -73,10 +73,8 @@ int nilfs_gccache_submit_read_data(struct inode *inode, sector_t blkoff,struct the_nilfs *nilfs = inode->i_sb->s_fs_info; err =nilfs_dat_translate (nilfs->ns_dat, vbn, &pbn); -if (unlikely (err)) {/* -EIO, -ENOMEM, -ENOENT */ -brelse (bh); +if (unlikely (err))/* -EIO, -ENOMEM, -ENOENT */ goto failed; - } }lock_buffer (bh);
@@ -102,6 +100,8 @@ int nilfs_gccache_submit_read_data(struct inode *inode, sector_t blkoff, failed:unlock_page (bh->b_page);put_page (bh->b_page); +if (unlikely (err)) +brelse (bh);return err; }
include/linux/if_team.h +2 -0
@@ -196,6 +196,8 @@ struct team {struct net_device *dev;/* associated netdevice */ struct team_pcpu_stats __percpu *pcpu_stats; +const struct header_ops *header_ops_cache; +struct mutex lock;/* used for overall locking, e.g. port lists write */ /*
include/linux/libata.h +5 -1
@@ -278,6 +278,10 @@ enum {ATA_HOST_PARALLEL_SCAN = (1 <<2 ),/* Ports on this host can be scanned in parallel */ ATA_HOST_IGNORE_ATA = (1 <<3 ),/* Ignore ATA devices on this host. */ +ATA_HOST_NO_PART = (1 <<4 ),/* Host does not support partial */ +ATA_HOST_NO_SSC = (1 <<5 ),/* Host does not support slumber */ +ATA_HOST_NO_DEVSLP = (1 <<6 ),/* Host does not support devslp */ +/* bits 24:31 of host->flags are reserved for LLD specific flags */ /* various lengths of time */
@@ -311,7 +315,7 @@ enum {* advised to wait only for the following duration before * doing SRST. */ - ATA_TMOUT_PMP_SRST_WAIT = 5000, + ATA_TMOUT_PMP_SRST_WAIT = 10000,/* When the LPM policy is set to ATA_LPM_MAX_POWER, there might * be a spurious PHY event, so ignore the first PHY event that
include/linux/netdevice.h +35 -23
70 lines not on this page · raw message
include/net/dst.h +2 -3
@@ -362,9 +362,8 @@ static inline void __skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev,static inline void skb_tunnel_rx (struct sk_buff *skb,struct net_device *dev,struct net *net) { -/* TODO : stats should be SMP safe */ - dev->stats.rx_packets++; - dev->stats.rx_bytes += skb->len; +DEV_STATS_INC (dev, rx_packets); +DEV_STATS_ADD (dev, rx_bytes, skb->len);__skb_tunnel_rx (skb, dev, net); }
include/net/tcp.h +4 -2
@@ -346,12 +346,14 @@ ssize_t tcp_splice_read(struct socket *sk, loff_t *ppos, struct pipe_inode_info *pipe, size_t len, unsigned int flags); -static inline void tcp_dec_quickack_mode (struct sock *sk, -const unsigned int pkts) +static inline void tcp_dec_quickack_mode (struct sock *sk) {struct inet_connection_sock *icsk =inet_csk (sk);if (icsk->icsk_ack.quick) { +/* How many ACKs S/ACKing new data have we sent? */ +const unsigned int pkts =inet_csk_ack_scheduled (sk) ?1 :0 ; +if (pkts >= icsk->icsk_ack.quick) { icsk->icsk_ack.quick =0 ;/* Leaving quickack mode we deflate ATO. */
include/uapi/linux/bpf.h +3 -1
@@ -693,7 +693,9 @@ union bpf_attr {* performed again, if the helper is used in combination with * direct packet access. * Return -* 0 on success, or a negative error in case of failure. +* 0 on success, or a negative error in case of failure. Positive +* error indicates a potential drop or congestion in the target +* device. The particular positive error codes are not defined. * * u64 bpf_get_current_pid_tgid(void) * Return
kernel/trace/ring_buffer.c +2 -0
@@ -1753,6 +1753,8 @@ int ring_buffer_resize(struct ring_buffer *buffer, unsigned long size, err = -ENOMEM ; goto out_err; } + +cond_resched (); }get_online_cpus ();
net/bridge/br_forward.c +2 -2
@@ -122,7 +122,7 @@ static int deliver_clone(const struct net_bridge_port *prev, skb =skb_clone (skb,GFP_ATOMIC );if (!skb) { - dev->stats.tx_dropped++; +DEV_STATS_INC (dev, tx_dropped);return -ENOMEM ; }
@@ -261,7 +261,7 @@ static void maybe_deliver_addr(struct net_bridge_port *p, struct sk_buff *skb, skb =skb_copy (skb,GFP_ATOMIC );if (!skb) { - dev->stats.tx_dropped++; +DEV_STATS_INC (dev, tx_dropped);return ; }
net/bridge/br_input.c +2 -2
@@ -146,12 +146,12 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skbif ((mdst && mdst->host_joined) ||br_multicast_is_router (br)) { local_rcv = true; - br->dev->stats.multicast++; +DEV_STATS_INC (br->dev, multicast); } mcast_hit = true; }else { local_rcv = true; - br->dev->stats.multicast++; +DEV_STATS_INC (br->dev, multicast); }break ;case BR_PKT_UNICAST :
net/core/dev.c +3 -11
@@ -9035,24 +9035,16 @@ void netdev_run_todo(void)void netdev_stats_to_stats64 (struct rtnl_link_stats64 *stats64,const struct net_device_stats *netdev_stats) { -#if BITS_PER_LONG ==64 -BUILD_BUG_ON (sizeof (*stats64) <sizeof (*netdev_stats)); -memcpy (stats64, netdev_stats,sizeof (*netdev_stats)); -/* zero out counters that only exist in rtnl_link_stats64 */ -memset ((char *)stats64 +sizeof (*netdev_stats),0 , -sizeof (*stats64) -sizeof (*netdev_stats)); -#else -size_t i, n =sizeof (*netdev_stats) /sizeof (unsigned long ); -const unsigned long *src = (const unsigned long *)netdev_stats; +size_t i, n =sizeof (*netdev_stats) /sizeof (atomic_long_t); +const atomic_long_t *src = (atomic_long_t *)netdev_stats;u64 *dst = (u64 *)stats64;BUILD_BUG_ON (n >sizeof (*stats64) /sizeof (u64));for (i =0 ; i < n; i++) - dst[i] = src[i]; + dst[i] = (unsigned long )atomic_long_read (&src[i]);/* zero out counters that only exist in rtnl_link_stats64 */ memset ((char *)stats64 + n *sizeof (u64),0 ,sizeof (*stats64) - n *sizeof (u64)); -#endif }EXPORT_SYMBOL (netdev_stats_to_stats64);
net/core/rtnetlink.c +6 -6
@@ -2702,10 +2702,7 @@ static int rtnl_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, ifm =nlmsg_data (nlh);if (ifm->ifi_index >0 ) dev =__dev_get_by_index (net, ifm->ifi_index); -else if (ifm->ifi_index <0 ) { -NL_SET_ERR_MSG (extack,"ifindex can't be negative" ); -return -EINVAL ; - }else if (tb[IFLA_IFNAME ]) +else if (tb[IFLA_IFNAME ]) dev =__dev_get_by_name (net, ifname);else goto errout;
@@ -2973,9 +2970,12 @@ static int rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh, ifname[0 ] ='\0' ; ifm =nlmsg_data (nlh); -if (ifm->ifi_index >0 ) +if (ifm->ifi_index >0 ) { dev =__dev_get_by_index (net, ifm->ifi_index); -else { + }else if (ifm->ifi_index <0 ) { +NL_SET_ERR_MSG (extack,"ifindex can't be negative" ); +return -EINVAL ; + }else {if (ifname[0 ]) dev =__dev_get_by_name (net, ifname);else
net/dccp/ipv4.c +2 -7
@@ -247,13 +247,8 @@ static void dccp_v4_err(struct sk_buff *skb, u32 info)int err;struct net *net =dev_net (skb->dev); -/* For the first __dccp_basic_hdr_len() check, we only need dh->dccph_x, -* which is in byte 7 of the dccp header. -* Our caller (icmp_socket_deliver()) already pulled 8 bytes for us. -* -* Later on, we want to access the sequence number fields, which are -* beyond 8 bytes, so we have to pskb_may_pull() ourselves. -*/ +if (!pskb_may_pull (skb, offset +sizeof (*dh))) +return ; dh = (struct dccp_hdr *)(skb->data + offset);if (!pskb_may_pull (skb, offset +__dccp_basic_hdr_len (dh)))return ;
net/dccp/ipv6.c +2 -7
@@ -80,13 +80,8 @@ static void dccp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,__u64 seq;struct net *net =dev_net (skb->dev); -/* For the first __dccp_basic_hdr_len() check, we only need dh->dccph_x, -* which is in byte 7 of the dccp header. -* Our caller (icmpv6_notify()) already pulled 8 bytes for us. -* -* Later on, we want to access the sequence number fields, which are -* beyond 8 bytes, so we have to pskb_may_pull() ourselves. -*/ +if (!pskb_may_pull (skb, offset +sizeof (*dh))) +return ; dh = (struct dccp_hdr *)(skb->data + offset);if (!pskb_may_pull (skb, offset +__dccp_basic_hdr_len (dh)))return ;
net/ipv4/route.c +3 -1
@@ -1215,6 +1215,7 @@ static struct dst_entry *ipv4_dst_check(struct dst_entry *dst, u32 cookie)static void ipv4_send_dest_unreach (struct sk_buff *skb) { +struct net_device *dev;struct ip_options opt;int res;
@@ -1232,7 +1233,8 @@ static void ipv4_send_dest_unreach(struct sk_buff *skb) opt.optlen =ip_hdr (skb)->ihl *4 -sizeof (struct iphdr );rcu_read_lock (); - res =__ip_options_compile (dev_net (skb->dev), &opt, skb,NULL ); + dev = skb->dev ? skb->dev :skb_rtable (skb)->dst.dev; + res =__ip_options_compile (dev_net (dev), &opt, skb,NULL );rcu_read_unlock ();if (res)
net/ipv4/tcp_input.c +13 -0
@@ -172,6 +172,19 @@ static void tcp_measure_rcv_mss(struct sock *sk, const struct sk_buff *skb)if (unlikely (len > icsk->icsk_ack.rcv_mss +MAX_TCP_OPTION_SPACE ))tcp_gro_dev_warn (sk, skb, len); +/* If the skb has a len of exactly 1*MSS and has the PSH bit +* set then it is likely the end of an application write. So +* more data may not be arriving soon, and yet the data sender +* may be waiting for an ACK if cwnd-bound or using TX zero +* copy. So we set ICSK_ACK_PUSHED here so that +* tcp_cleanup_rbuf() will send an ACK immediately if the app +* reads all of the data and is not ping-pong. If len > MSS +* then this logic does not matter (and does not hurt) because +* tcp_cleanup_rbuf() will always ACK immediately if the app +* reads data and there is more than an MSS of unACKed data. +*/ +if (TCP_SKB_CB (skb)->tcp_flags &TCPHDR_PSH ) + icsk->icsk_ack.pending |=ICSK_ACK_PUSHED ; }else {/* Otherwise, we make more careful check taking into account, * that SACKs block is variable.
net/ipv4/tcp_output.c +3 -4
@@ -164,8 +164,7 @@ static void tcp_event_data_sent(struct tcp_sock *tp, }/* Account for an ACK we sent. */ -static inline void tcp_event_ack_sent (struct sock *sk,unsigned int pkts, -u32 rcv_nxt) +static inline void tcp_event_ack_sent (struct sock *sk,u32 rcv_nxt) {struct tcp_sock *tp =tcp_sk (sk);
@@ -179,7 +178,7 @@ static inline void tcp_event_ack_sent(struct sock *sk, unsigned int pkts,if (unlikely (rcv_nxt != tp->rcv_nxt))return ;/* Special ACK sent by DCTCP to reflect ECN */ -tcp_dec_quickack_mode (sk, pkts); +tcp_dec_quickack_mode (sk);inet_csk_clear_xmit_timer (sk,ICSK_TIME_DACK ); }
@@ -1139,7 +1138,7 @@ static int __tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, icsk->icsk_af_ops->send_check (sk, skb);if (likely (tcb->tcp_flags &TCPHDR_ACK )) -tcp_event_ack_sent (sk,tcp_skb_pcount (skb), rcv_nxt); +tcp_event_ack_sent (sk, rcv_nxt);if (skb->len != tcp_header_size) {tcp_event_data_sent (tp, sk);
net/l2tp/l2tp_ip6.c +1 -1
@@ -525,7 +525,6 @@ static int l2tp_ip6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)*/ if (len >INT_MAX - transhdrlen)return -EMSGSIZE ; - ulen = len + transhdrlen;/* Mirror BSD error message compatibility */ if (msg->msg_flags &MSG_OOB )
@@ -649,6 +648,7 @@ static int l2tp_ip6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) back_from_confirm:lock_sock (sk); + ulen = len +skb_queue_empty (&sk->sk_write_queue) ? transhdrlen :0 ; err = ip6_append_data(sk, ip_generic_getfrag, msg, ulen, transhdrlen, &ipc6, &fl6, (struct rt6_info *)dst,
net/netfilter/ipvs/ip_vs_sync.c +2 -2
@@ -1510,8 +1510,8 @@ static int make_send_sock(struct netns_ipvs *ipvs, int id, }get_mcast_sockaddr (&mcast_addr, &salen, &ipvs->mcfg, id); - result = sock->ops->connect (sock, (struct sockaddr *) &mcast_addr, - salen,0 ); + result =kernel_connect (sock, (struct sockaddr *)&mcast_addr, + salen,0 );if (result <0 ) {pr_err ("Error connecting to the multicast addr\n" ); goto error;
net/netfilter/nf_tables_api.c +5 -4
@@ -993,8 +993,7 @@ static int nft_flush_table(struct nft_ctx *ctx)if (!nft_is_active_next (ctx->net, set))continue ; -if (nft_set_is_anonymous (set) && - !list_empty (&set->bindings)) +if (nft_set_is_anonymous (set))continue ; err =nft_delset (ctx, set);
@@ -4902,8 +4901,10 @@ static int nf_tables_delsetelem(struct net *net, struct sock *nlsk,if (IS_ERR (set))return PTR_ERR (set); -if (!list_empty (&set->bindings) && - (set->flags & (NFT_SET_CONSTANT |NFT_SET_ANONYMOUS ))) +if (nft_set_is_anonymous (set)) +return -EOPNOTSUPP ; + +if (!list_empty (&set->bindings) && (set->flags &NFT_SET_CONSTANT ))return -EBUSY ;if (nla[NFTA_SET_ELEM_LIST_ELEMENTS ] ==NULL ) {
net/rds/tcp_connect.c +1 -1
@@ -169,7 +169,7 @@ int rds_tcp_conn_path_connect(struct rds_conn_path *cp)* own the socket */ rds_tcp_set_callbacks (sock, cp); - ret = sock->ops->connect (sock, addr, addrlen,O_NONBLOCK ); + ret =kernel_connect (sock, addr, addrlen,O_NONBLOCK );rdsdebug ("connect to address %pI6c returned %d\n" , &conn->c_faddr, ret);if (ret == -EINPROGRESS )
net/sctp/associola.c +1 -2
@@ -1181,8 +1181,7 @@ int sctp_assoc_update(struct sctp_association *asoc,/* Add any peer addresses from the new association. */ list_for_each_entry (trans, &new->peer.transport_addr_list, transports) -if (!sctp_assoc_lookup_paddr (asoc, &trans->ipaddr) && - !sctp_assoc_add_peer (asoc, &trans->ipaddr, +if (!sctp_assoc_add_peer (asoc, &trans->ipaddr,GFP_ATOMIC , trans->state))return -ENOMEM ;
net/sctp/socket.c +1 -0
@@ -2578,6 +2578,7 @@ static int sctp_apply_peer_addr_params(struct sctp_paddrparams *params,if (trans) { trans->hbinterval =msecs_to_jiffies (params->spp_hbinterval); +sctp_transport_reset_hb_timer (trans); }else if (asoc) { asoc->hbinterval =msecs_to_jiffies (params->spp_hbinterval);
scripts/mod/file2alias.c +1 -1
@@ -1395,7 +1395,7 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,/* First handle the "special" cases */ if (sym_is (name, namelen,"usb" ))do_usb_table (symval, sym->st_size, mod); -if (sym_is (name, namelen,"of" )) +else if (sym_is (name, namelen,"of" ))do_of_table (symval, sym->st_size, mod);else if (sym_is (name, namelen,"pnp" ))do_pnp_device_entry (symval, sym->st_size, mod);
security/smack/smack.h +1 -0
@@ -120,6 +120,7 @@ struct inode_smack {struct task_smack {struct smack_known *smk_task;/* label for access control */ struct smack_known *smk_forked;/* label when forked */ +struct smack_known *smk_transmuted;/* label when transmuted */ struct list_head smk_rules;/* per task access rules */ struct mutex smk_rules_lock;/* lock for the rules */ struct list_head smk_relabel;/* transit allowed labels */
security/smack/smack_lsm.c +48 -17
114 lines not on this page · raw message
sound/pci/hda/hda_intel.c +1 -0
@@ -2364,6 +2364,7 @@ static struct snd_pci_quirk power_save_blacklist[] = {SND_PCI_QUIRK (0x8086 ,0x2068 ,"Intel NUC7i3BNB" ,0 ),/* https://bugzilla.kernel.org/show_bug.cgi?id=198611 */ SND_PCI_QUIRK (0x17aa ,0x2227 ,"Lenovo X1 Carbon 3rd Gen" ,0 ), +SND_PCI_QUIRK (0x17aa ,0x316e ,"Lenovo ThinkCentre M70q" ,0 ),/* https://bugzilla.redhat.com/show_bug.cgi?id=1689623 */ SND_PCI_QUIRK(0x17aa, 0x367b, "Lenovo IdeaCentre B550", 0),/* https://bugzilla.redhat.com/show_bug.cgi?id=1572975 */
tools/include/uapi/linux/bpf.h +3 -1
@@ -691,7 +691,9 @@ union bpf_attr {* performed again, if the helper is used in combination with * direct packet access. * Return -* 0 on success, or a negative error in case of failure. +* 0 on success, or a negative error in case of failure. Positive +* error indicates a potential drop or congestion in the target +* device. The particular positive error codes are not defined. * * u64 bpf_get_current_pid_tgid(void) * Return
tools/power/cpupower/Makefile +4 -4
@@ -278,14 +278,14 @@ clean: $(MAKE) -C bench O=$(OUTPUT) clean -install-lib: +install-lib: libcpupower $(INSTALL) -d $(DESTDIR)${libdir} $(CP) $(OUTPUT)libcpupower.so* $(DESTDIR)${libdir}/ $(INSTALL) -d $(DESTDIR)${includedir} $(INSTALL_DATA) lib/cpufreq.h $(DESTDIR)${includedir}/cpufreq.h $(INSTALL_DATA) lib/cpuidle.h $(DESTDIR)${includedir}/cpuidle.h -install-tools: +install-tools: $(OUTPUT)cpupower $(INSTALL) -d $(DESTDIR)${bindir} $(INSTALL_PROGRAM) $(OUTPUT)cpupower $(DESTDIR)${bindir}
@@ -299,14 +299,14 @@ install-man: $(INSTALL_DATA) -D man/cpupower-info.1 $(DESTDIR)${mandir}/man1/cpupower-info.1 $(INSTALL_DATA) -D man/cpupower-monitor.1 $(DESTDIR)${mandir}/man1/cpupower-monitor.1 -install-gmo: +install-gmo: create-gmo $(INSTALL) -d $(DESTDIR)${localedir} for HLANG in $(LANGUAGES); do \ echo '$(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo'; \ $(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \ done; -install-bench: +install-bench: compile-bench @#DESTDIR must be set from outside to survive @sbindir=$(sbindir) bindir=$(bindir) docdir=$(docdir) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT) install
tools/power/cpupower/bench/Makefile +1 -1
@@ -27,7 +27,7 @@ $(OUTPUT)cpufreq-bench: $(OBJS) all: $(OUTPUT)cpufreq-bench -install: +install: $(OUTPUT)cpufreq-bench mkdir -p $(DESTDIR)/$(sbindir) mkdir -p $(DESTDIR)/$(bindir) mkdir -p $(DESTDIR)/$(docdir)
tools/testing/selftests/ftrace/test.d/instances/instance-event.tc +1 -1
@@ -43,7 +43,7 @@ instance_read() { instance_set() { while :; do - echo 1 > foo/events/sched/sched_switch + echo 1 > foo/events/sched/sched_switch/enable done 2> /dev/null }
tools/testing/selftests/net/tls.c +6 -5
@@ -199,11 +199,12 @@ TEST_F(tls, sendmsg_large) msg.msg_iov = &vec; msg.msg_iovlen =1 ; -EXPECT_EQ (sendmsg (self->cfd, &msg,0 ), send_len); +EXPECT_EQ (sendmsg (self->fd, &msg,0 ), send_len); } -while (recvs++ < sends) -EXPECT_NE (recv (self->fd, mem, send_len,0 ),-1 ); +while (recvs++ < sends) { +EXPECT_NE (recv (self->cfd, mem, send_len,0 ),-1 ); + }free (mem); }
@@ -231,9 +232,9 @@ TEST_F(tls, sendmsg_multiple) msg.msg_iov = vec; msg.msg_iovlen = iov_len; -EXPECT_EQ (sendmsg (self->cfd, &msg,0 ), total_len); +EXPECT_EQ (sendmsg (self->fd, &msg,0 ), total_len); buf =malloc (total_len); -EXPECT_NE (recv (self->fd, buf, total_len,0 ),-1 ); +EXPECT_NE (recv (self->cfd, buf, total_len,0 ),-1 );for (i =0 ; i < iov_len; i++) { EXPECT_EQ(memcmp(test_strs[i], buf + len_cmp, strlen(test_strs[i])),