Merge branch 'f21' into baytrail

This commit is contained in:
Adam Williamson 2014-09-09 16:33:20 -07:00
commit 8a5770dc47
16 changed files with 191 additions and 373 deletions

View File

@ -1,36 +0,0 @@
From 86da2d12cf6f76b1fa487f7acf3995f058a2e516 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 1 Aug 2014 17:27:49 +0200
Subject: [PATCH v2 1/2] uas: Limit qdepth to 32 when connected over usb-2
Some jmicron uas chipsets act up (they disconnect from the bus) when sending
more then 32 commands to them at once.
Rather then building an ever growing list with usb-id based quirks for
devices using this chipset, simply reduce the qdepth to 32 when connected
over usb-2. 32 should be plenty to keep things close to maximum
possible throughput on usb-2.
Cc: stable@vger.kernel.org
Tested-and-reported-by: Laszlo T. <tlacix@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/usb/storage/uas.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 511b229..3f42785 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -1026,7 +1026,7 @@ static int uas_configure_endpoints(struct uas_dev_info *devinfo)
usb_endpoint_num(&eps[3]->desc));
if (udev->speed != USB_SPEED_SUPER) {
- devinfo->qdepth = 256;
+ devinfo->qdepth = 32;
devinfo->use_streams = 0;
} else {
devinfo->qdepth = usb_alloc_streams(devinfo->intf, eps + 1,
--
2.0.4

View File

@ -1,100 +0,0 @@
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1121288
Upstream-status: Send upstream for 3.16/3.17 with Cc: stable
From 508b353921aa266c48f70e1cd9332d3e2ef67171 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 25 Jul 2014 12:28:02 +0200
Subject: [PATCH v2] xhci: Blacklist using streams on the Etron EJ168
controller
Streams on the EJ168 do not work as they should. I've spend 2 days trying
to get them to work, but without success.
The first problem is that when ever you ring the stream-ring doorbell, the
controller starts executing trbs at the beginning of the first ring segment,
event if it ended somewhere else previously. This can be worked around by
allowing enqueing only one td (not a problem with how streams are typically
used) and then resetting our copies of the enqueueing en dequeueing pointers
on a td completion to match what the controller seems to be doing.
This way things seem to start working with uas and instead of being able
to complete only the very first scsi command, the scsi core can probe the disk.
But then things break later on when td-s get enqueued with more then one
trb. The controller does seem to increase its dequeue pointer while executing
a stream-ring (data transfer events I inserted for debugging do trigger).
However execution seems to stop at the final normal trb of a multi trb td,
even if there is a data transfer event inserted after the final trb.
The first problem alone is a serious deviation from the spec, and esp.
dealing with cancellation would have been very tricky if not outright
impossible, but the second problem simply is a deal breaker altogether,
so this patch simply disables streams.
Note this will cause the usb-storage + uas driver pair to automatically switch
to using usb-storage instead of uas on these devices, essentially reverting
to the 3.14 and earlier behavior when uas was marked CONFIG_BROKEN.
https://bugzilla.redhat.com/show_bug.cgi?id=1121288
https://bugzilla.kernel.org/show_bug.cgi?id=80101
Cc: stable@vger.kernel.org # 3.15
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/usb/host/xhci-pci.c | 4 +++-
drivers/usb/host/xhci.c | 3 ++-
drivers/usb/host/xhci.h | 2 ++
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index e20520f..464049f 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -143,6 +143,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
pdev->device == PCI_DEVICE_ID_ASROCK_P67) {
xhci->quirks |= XHCI_RESET_ON_RESUME;
xhci->quirks |= XHCI_TRUST_TX_LENGTH;
+ xhci->quirks |= XHCI_BROKEN_STREAMS;
}
if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
pdev->device == 0x0015)
@@ -230,7 +231,8 @@ static int xhci_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
goto put_usb3_hcd;
/* Roothub already marked as USB 3.0 speed */
- if (HCC_MAX_PSA(xhci->hcc_params) >= 4)
+ if (!(xhci->quirks & XHCI_BROKEN_STREAMS) &&
+ HCC_MAX_PSA(xhci->hcc_params) >= 4)
xhci->shared_hcd->can_do_streams = 1;
/* USB-2 and USB-3 roothubs initialized, allow runtime pm suspend */
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 7d02e1b..758bc31 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -3163,7 +3163,8 @@ int xhci_alloc_streams(struct usb_hcd *hcd, struct usb_device *udev,
num_streams);
/* MaxPSASize value 0 (2 streams) means streams are not supported */
- if (HCC_MAX_PSA(xhci->hcc_params) < 4) {
+ if ((xhci->quirks & XHCI_BROKEN_STREAMS) ||
+ HCC_MAX_PSA(xhci->hcc_params) < 4) {
xhci_dbg(xhci, "xHCI controller does not support streams.\n");
return -ENOSYS;
}
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 1411069..88b2958 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1558,6 +1558,8 @@ struct xhci_hcd {
#define XHCI_PLAT (1 << 16)
#define XHCI_SLOW_SUSPEND (1 << 17)
#define XHCI_SPURIOUS_WAKEUP (1 << 18)
+/* For controllers with a broken beyond repair streams implementation */
+#define XHCI_BROKEN_STREAMS (1 << 19)
unsigned int num_active_eps;
unsigned int limit_active_eps;
/* There are two roothubs to keep track of bus suspend info for */
--
2.0.4

View File

@ -0,0 +1,46 @@
From bdfffc320102278edac2db5a397ffbfd89faeab3 Mon Sep 17 00:00:00 2001
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date: Wed, 3 Sep 2014 15:43:25 -0400
Subject: [PATCH] Input: wacom: Add support for the Cintiq Companion
The Wacom Cintiq Companion shares the same sensor than the Cintiq
Companion Hybrid, with the exception of the different PIDs.
Bugzilla: 1134969
Upstream-status: Queued for 3.18
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
---
drivers/input/tablet/wacom_wac.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index e73cf2c71f35..7f6caf8c85fb 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -2332,6 +2332,13 @@ static const struct wacom_features wacom_features_0x0307 =
static const struct wacom_features wacom_features_0x0309 =
{ "Wacom ISDv5 309", .type = WACOM_24HDT, /* Touch */
.oVid = USB_VENDOR_ID_WACOM, .oPid = 0x0307, .touch_max = 10 };
+static const struct wacom_features wacom_features_0x030A =
+ { "Wacom ISDv5 30A", WACOM_PKGLEN_INTUOS, 59352, 33648, 2047,
+ 63, CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200,
+ .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x30C };
+static const struct wacom_features wacom_features_0x030C =
+ { "Wacom ISDv5 30C", .type = WACOM_24HDT, /* Touch */
+ .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x030A, .touch_max = 10 };
#define USB_DEVICE_WACOM(prod) \
USB_DEVICE(USB_VENDOR_ID_WACOM, prod), \
@@ -2478,6 +2485,8 @@ const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_WACOM(0xFA) },
{ USB_DEVICE_WACOM(0xFB) },
{ USB_DEVICE_WACOM(0x0307) },
+ { USB_DEVICE_WACOM(0x030A) },
+ { USB_DEVICE_DETAILED(0x030C, USB_CLASS_HID, 0, 0) },
{ USB_DEVICE_DETAILED(0x0309, USB_CLASS_HID, 0, 0) },
{ USB_DEVICE_LENOVO(0x6004) },
{ }
--
1.9.3

View File

@ -30,7 +30,6 @@ debug:
@perl -pi -e 's/# CONFIG_DEBUG_STACK_USAGE is not set/CONFIG_DEBUG_STACK_USAGE=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_STACK_USAGE is not set/CONFIG_DEBUG_STACK_USAGE=y/' config-nodebug
@perl -pi -e 's/# CONFIG_DEBUG_SLAB is not set/CONFIG_DEBUG_SLAB=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_SLAB is not set/CONFIG_DEBUG_SLAB=y/' config-nodebug
@perl -pi -e 's/# CONFIG_DEBUG_MUTEXES is not set/CONFIG_DEBUG_MUTEXES=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_MUTEXES is not set/CONFIG_DEBUG_MUTEXES=y/' config-nodebug
@perl -pi -e 's/# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set/CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y/' config-nodebug
@perl -pi -e 's/# CONFIG_DEBUG_RT_MUTEXES is not set/CONFIG_DEBUG_RT_MUTEXES=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_RT_MUTEXES is not set/CONFIG_DEBUG_RT_MUTEXES=y/' config-nodebug
@perl -pi -e 's/# CONFIG_DEBUG_LOCK_ALLOC is not set/CONFIG_DEBUG_LOCK_ALLOC=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_LOCK_ALLOC is not set/CONFIG_DEBUG_LOCK_ALLOC=y/' config-nodebug
@perl -pi -e 's/# CONFIG_LOCK_TORTURE_TEST is not set/CONFIG_LOCK_TORTURE_TEST=m/' config-nodebug @perl -pi -e 's/# CONFIG_LOCK_TORTURE_TEST is not set/CONFIG_LOCK_TORTURE_TEST=m/' config-nodebug

View File

@ -10,7 +10,6 @@ config-release:
@perl -pi -e 's/CONFIG_DEBUG_STACK_USAGE=y/# CONFIG_DEBUG_STACK_USAGE is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_STACK_USAGE=y/# CONFIG_DEBUG_STACK_USAGE is not set/' config-nodebug
@perl -pi -e 's/CONFIG_DEBUG_SLAB=y/# CONFIG_DEBUG_SLAB is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_SLAB=y/# CONFIG_DEBUG_SLAB is not set/' config-nodebug
@perl -pi -e 's/CONFIG_DEBUG_MUTEXES=y/# CONFIG_DEBUG_MUTEXES is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_MUTEXES=y/# CONFIG_DEBUG_MUTEXES is not set/' config-nodebug
@perl -pi -e 's/CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y/# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set/' config-nodebug
@perl -pi -e 's/CONFIG_DEBUG_RT_MUTEXES=y/# CONFIG_DEBUG_RT_MUTEXES is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_RT_MUTEXES=y/# CONFIG_DEBUG_RT_MUTEXES is not set/' config-nodebug
@perl -pi -e 's/CONFIG_DEBUG_LOCK_ALLOC=y/# CONFIG_DEBUG_LOCK_ALLOC is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_LOCK_ALLOC=y/# CONFIG_DEBUG_LOCK_ALLOC is not set/' config-nodebug
@perl -pi -e 's/CONFIG_LOCK_TORTURE_TEST=m/# CONFIG_LOCK_TORTURE_TEST is not set/' config-nodebug @perl -pi -e 's/CONFIG_LOCK_TORTURE_TEST=m/# CONFIG_LOCK_TORTURE_TEST is not set/' config-nodebug

View File

@ -45,6 +45,7 @@ CONFIG_ARM_CCI=y
CONFIG_ARM_DMA_USE_IOMMU=y CONFIG_ARM_DMA_USE_IOMMU=y
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
CONFIG_ARM_GIC=y CONFIG_ARM_GIC=y
CONFIG_KVM_ARM_VGIC=y
CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_GLOBAL_TIMER=y
CONFIG_ARM_SMMU=y CONFIG_ARM_SMMU=y
CONFIG_MMC_ARMMMCI=y CONFIG_MMC_ARMMMCI=y

View File

@ -557,45 +557,19 @@ CONFIG_IIO_ST_SENSORS_I2C=m
CONFIG_IIO_ST_SENSORS_SPI=m CONFIG_IIO_ST_SENSORS_SPI=m
CONFIG_IIO_ST_SENSORS_CORE=m CONFIG_IIO_ST_SENSORS_CORE=m
# tegra # Allwinner
CONFIG_MACH_SUN4I=y
CONFIG_MACH_SUN5I=y
# Tegra (non A15)
CONFIG_ARCH_TEGRA_2x_SOC=y CONFIG_ARCH_TEGRA_2x_SOC=y
CONFIG_ARCH_TEGRA_3x_SOC=y CONFIG_ARCH_TEGRA_3x_SOC=y
CONFIG_ARCH_TEGRA_114_SOC=y
CONFIG_ARCH_TEGRA_124_SOC=y
CONFIG_ARM_TEGRA_CPUFREQ=y
CONFIG_TEGRA20_MC=y CONFIG_TEGRA20_MC=y
CONFIG_TEGRA30_MC=y
CONFIG_TRUSTED_FOUNDATIONS=y
CONFIG_SERIAL_TEGRA=y
CONFIG_PCI_TEGRA=y
CONFIG_TEGRA_IOMMU_GART=y CONFIG_TEGRA_IOMMU_GART=y
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_MMC_SDHCI_TEGRA=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_I2C_TEGRA=m
CONFIG_TEGRA_SYSTEM_DMA=y
CONFIG_TEGRA_EMC_SCALING_ENABLE=y
CONFIG_TEGRA_AHB=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_SPI_TEGRA114=m
CONFIG_SPI_TEGRA20_SFLASH=m CONFIG_SPI_TEGRA20_SFLASH=m
CONFIG_SPI_TEGRA20_SLINK=m CONFIG_SPI_TEGRA20_SLINK=m
CONFIG_PWM_TEGRA=m
CONFIG_MFD_MAX8907=m CONFIG_MFD_MAX8907=m
CONFIG_KEYBOARD_TEGRA=m
CONFIG_PINCTRL_TEGRA=y
CONFIG_PINCTRL_TEGRA20=y
CONFIG_PINCTRL_TEGRA30=y
CONFIG_USB_EHCI_TEGRA=m
CONFIG_RTC_DRV_TEGRA=m
CONFIG_CRYPTO_DEV_TEGRA_AES=m
CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_ALC5632=m CONFIG_SND_SOC_TEGRA_ALC5632=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
CONFIG_SND_SOC_TEGRA_WM8753=m CONFIG_SND_SOC_TEGRA_WM8753=m
CONFIG_SND_SOC_TEGRA_WM8903=m CONFIG_SND_SOC_TEGRA_WM8903=m
@ -603,9 +577,6 @@ CONFIG_SND_SOC_TEGRA_WM9712=m
CONFIG_SND_SOC_TEGRA20_AC97=m CONFIG_SND_SOC_TEGRA20_AC97=m
CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_SPDIF=m CONFIG_SND_SOC_TEGRA20_SPDIF=m
CONFIG_SND_SOC_TEGRA30_AHUB=m
CONFIG_SND_SOC_TEGRA30_I2S=m
CONFIG_SND_HDA_TEGRA=m
# AC100 (PAZ00) # AC100 (PAZ00)
CONFIG_MFD_NVEC=y CONFIG_MFD_NVEC=y
@ -619,25 +590,6 @@ CONFIG_MFD_TPS6586X=y
CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS6586X=y
CONFIG_RTC_DRV_TPS6586X=m CONFIG_RTC_DRV_TPS6586X=m
# Jetson TK1
CONFIG_PINCTRL_AS3722=y
CONFIG_POWER_RESET_AS3722=y
CONFIG_MFD_AS3722=y
CONFIG_REGULATOR_AS3722=m
CONFIG_RTC_DRV_AS3722=y
CONFIG_TEGRA_HOST1X=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_FBDEV=y
# CONFIG_DRM_TEGRA_DEBUG is not set
CONFIG_DRM_TEGRA_STAGING=y
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_LD9040=m
CONFIG_DRM_PANEL_S6E8AA0=m
CONFIG_NOUVEAU_PLATFORM_DRIVER=m
# OLPC XO # OLPC XO
CONFIG_SERIO_OLPC_APSP=m CONFIG_SERIO_OLPC_APSP=m
@ -667,6 +619,7 @@ CONFIG_SND_SOC_ADI_AXI_SPDIF=m
CONFIG_XILLYBUS=m CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_PCIE=m CONFIG_XILLYBUS_PCIE=m
CONFIG_XILLYBUS_OF=m CONFIG_XILLYBUS_OF=m
CONFIG_GS_FPGABOOT=m
# Multi function devices # Multi function devices
CONFIG_MFD_88PM800=m CONFIG_MFD_88PM800=m

View File

@ -54,12 +54,12 @@ CONFIG_IRQ_CROSSBAR=y
CONFIG_ARCH_EXYNOS=y CONFIG_ARCH_EXYNOS=y
CONFIG_ARCH_HIGHBANK=y CONFIG_ARCH_HIGHBANK=y
CONFIG_ARCH_SUNXI=y CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_TEGRA=y
CONFIG_ARCH_VEXPRESS_CA9X4=y CONFIG_ARCH_VEXPRESS_CA9X4=y
CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
# CONFIG_ARCH_BCM is not set # CONFIG_ARCH_BCM is not set
# CONFIG_ARCH_BERLIN is not set # CONFIG_ARCH_BERLIN is not set
# CONFIG_ARCH_HI3xxx is not set # CONFIG_ARCH_HI3xxx is not set
# CONFIG_ARCH_MSM_DT is not set
# CONFIG_ARCH_QCOM is not set # CONFIG_ARCH_QCOM is not set
# CONFIG_ARCH_SHMOBILE_MULTI is not set # CONFIG_ARCH_SHMOBILE_MULTI is not set
# CONFIG_ARCH_SIRF is not set # CONFIG_ARCH_SIRF is not set
@ -128,6 +128,9 @@ CONFIG_PCI_HOST_GENERIC=y
CONFIG_LBDAF=y CONFIG_LBDAF=y
# GRR, needed for MFD_AS3722
CONFIG_I2C=y
# Device tree # Device tree
CONFIG_USE_OF=y CONFIG_USE_OF=y
CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_ATAG_DTB_COMPAT=y
@ -158,15 +161,13 @@ CONFIG_ARM_HIGHBANK_CPUFREQ=m
# CONFIG_ARM_HIGHBANK_CPUIDLE is not set # CONFIG_ARM_HIGHBANK_CPUIDLE is not set
# Allwinner # Allwinner
CONFIG_MACH_SUN4I=y # CONFIG_MACH_SUN4I is not set
CONFIG_MACH_SUN5I=y # CONFIG_MACH_SUN5I is not set
CONFIG_MACH_SUN6I=y CONFIG_MACH_SUN6I=y
CONFIG_MACH_SUN7I=y CONFIG_MACH_SUN7I=y
CONFIG_PINCTRL_SUNXI=y CONFIG_PINCTRL_SUNXI=y
CONFIG_SUNXI_WATCHDOG=m CONFIG_SUNXI_WATCHDOG=m
CONFIG_MDIO_SUN4I=m
CONFIG_NET_VENDOR_ALLWINNER=y CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_SUN4I_EMAC=m
CONFIG_STMMAC_PLATFORM=y CONFIG_STMMAC_PLATFORM=y
CONFIG_DWMAC_SOCFPGA=y CONFIG_DWMAC_SOCFPGA=y
CONFIG_DWMAC_SUNXI=y CONFIG_DWMAC_SUNXI=y
@ -183,7 +184,11 @@ CONFIG_POWER_RESET_SUN6I=y
CONFIG_TOUCHSCREEN_SUN4I=m CONFIG_TOUCHSCREEN_SUN4I=m
CONFIG_MFD_AXP20X=y CONFIG_MFD_AXP20X=y
CONFIG_REGULATOR_AXP20X=m CONFIG_REGULATOR_AXP20X=m
CONFIG_MDIO_SUN4I=m
CONFIG_SUN4I_EMAC=m
CONFIG_MDIO_SUN4I=m
CONFIG_SUN4I_EMAC=m
# Exynos # Exynos
CONFIG_ARCH_EXYNOS3=y CONFIG_ARCH_EXYNOS3=y
CONFIG_ARCH_EXYNOS4=y CONFIG_ARCH_EXYNOS4=y
@ -286,6 +291,55 @@ CONFIG_RTC_DRV_MAX8997=m
CONFIG_RTC_DRV_MAX77686=m CONFIG_RTC_DRV_MAX77686=m
CONFIG_EXTCON_MAX8997=m CONFIG_EXTCON_MAX8997=m
# Tegra
CONFIG_ARCH_TEGRA_114_SOC=y
CONFIG_ARCH_TEGRA_124_SOC=y
CONFIG_ARM_TEGRA_CPUFREQ=y
CONFIG_TRUSTED_FOUNDATIONS=y
CONFIG_SERIAL_TEGRA=y
CONFIG_TEGRA30_MC=y
CONFIG_PCI_TEGRA=y
CONFIG_AHCI_TEGRA=m
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_MMC_SDHCI_TEGRA=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_I2C_TEGRA=m
CONFIG_TEGRA_SYSTEM_DMA=y
CONFIG_TEGRA_EMC_SCALING_ENABLE=y
CONFIG_TEGRA_AHB=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_SPI_TEGRA114=m
CONFIG_PWM_TEGRA=m
CONFIG_KEYBOARD_TEGRA=m
CONFIG_USB_EHCI_TEGRA=m
CONFIG_RTC_DRV_TEGRA=m
CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA30_AHUB=m
CONFIG_SND_SOC_TEGRA30_I2S=m
CONFIG_SND_HDA_TEGRA=m
CONFIG_TEGRA_HOST1X=m
CONFIG_TEGRA_HOST1X_FIREWALL=y
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_FBDEV=y
# CONFIG_DRM_TEGRA_DEBUG is not set
CONFIG_DRM_TEGRA_STAGING=y
CONFIG_NOUVEAU_PLATFORM_DRIVER=m
# Jetson TK1
CONFIG_PINCTRL_AS3722=y
CONFIG_POWER_RESET_AS3722=y
CONFIG_MFD_AS3722=y
CONFIG_REGULATOR_AS3722=m
CONFIG_RTC_DRV_AS3722=y
# DRM panels
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_LD9040=m
CONFIG_DRM_PANEL_S6E8AA0=m
# regmap # regmap
CONFIG_REGMAP=y CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m CONFIG_REGMAP_I2C=m
@ -365,7 +419,14 @@ CONFIG_MFD_TPS65912_SPI=y
# CONFIG_MFD_WM831X_SPI is not set # CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_PM8921_CORE is not set # CONFIG_MFD_PM8921_CORE is not set
# CONFIG_MFD_AXP20X is not set # CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_MFD_TPS80031 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# Pin stuff # Pin stuff
CONFIG_PINMUX=y CONFIG_PINMUX=y
@ -472,6 +533,7 @@ CONFIG_MTD_NAND_PLATFORM=m
CONFIG_MTD_NAND_PXA3xx=m CONFIG_MTD_NAND_PXA3xx=m
CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_RICOH=m
CONFIG_MTD_NAND_TMIO=m CONFIG_MTD_NAND_TMIO=m
CONFIG_MTD_SPI_NOR=m
CONFIG_MTD_SPINAND_MT29F=m CONFIG_MTD_SPINAND_MT29F=m
CONFIG_MTD_SPINAND_ONDIEECC=y CONFIG_MTD_SPINAND_ONDIEECC=y
CONFIG_MTD_SST25L=m CONFIG_MTD_SST25L=m

View File

@ -8,12 +8,10 @@ CONFIG_ARCH_VIRT=y
# CONFIG_ARCH_OMAP4 is not set # CONFIG_ARCH_OMAP4 is not set
# CONFIG_SOC_OMAP5 is not set # CONFIG_SOC_OMAP5 is not set
# CONFIG_SOC_AM33XX is not set # CONFIG_SOC_AM33XX is not set
# CONFIG_SND_AM33XX_SOC_EVM is not set
# CONFIG_SOC_AM43XX is not set # CONFIG_SOC_AM43XX is not set
# CONFIG_SOC_DRA7XX is not set # CONFIG_SOC_DRA7XX is not set
# CONFIG_ARCH_ROCKCHIP is not set # CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_SOCFPGA is not set # CONFIG_ARCH_SOCFPGA is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_ZYNQ is not set # CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCH_AXXIA is not set # CONFIG_ARCH_AXXIA is not set
@ -24,6 +22,9 @@ CONFIG_ARM_VIRT_EXT=y
CONFIG_VIRTUALIZATION=y CONFIG_VIRTUALIZATION=y
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_CMA_SIZE_MBYTES=64
# Cortex-A15 # Cortex-A15
CONFIG_ARM_ERRATA_798181=y CONFIG_ARM_ERRATA_798181=y
CONFIG_ARM_ERRATA_773022=y CONFIG_ARM_ERRATA_773022=y
@ -31,7 +32,6 @@ CONFIG_ARM_ERRATA_773022=y
CONFIG_KVM=y CONFIG_KVM=y
CONFIG_KVM_ARM_HOST=y CONFIG_KVM_ARM_HOST=y
CONFIG_KVM_ARM_MAX_VCPUS=8 CONFIG_KVM_ARM_MAX_VCPUS=8
CONFIG_KVM_ARM_VGIC=y
CONFIG_KVM_ARM_TIMER=y CONFIG_KVM_ARM_TIMER=y
# CONFIG_XEN is not set # CONFIG_XEN is not set
@ -62,10 +62,22 @@ CONFIG_TI_AEMIF=m
CONFIG_POWER_RESET_KEYSTONE=y CONFIG_POWER_RESET_KEYSTONE=y
CONFIG_DAVINCI_WATCHDOG=m CONFIG_DAVINCI_WATCHDOG=m
CONFIG_SPI_DAVINCI=m CONFIG_SPI_DAVINCI=m
# CONFIG_SND_DAVINCI_SOC is not set
# CONFIG_TI_SOC_THERMAL is not set # CONFIG_TI_SOC_THERMAL is not set
# CONFIG_TEGRA_HOST1X is not set # Tegra (non A15 device options)
# CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_ARCH_TEGRA_2x_SOC is not set
# CONFIG_DRM_PANEL_LD9040 is not set # CONFIG_ARCH_TEGRA_3x_SOC is not set
# CONFIG_DRM_PANEL_S6E8AA0 is not set # CONFIG_TEGRA20_MC is not set
# CONFIG_TEGRA_IOMMU_GART is not set
# CONFIG_SPI_TEGRA20_SFLASH is not set
# CONFIG_SPI_TEGRA20_SLINK is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_NVEC is not set
# CONFIG_SND_SOC_TEGRA_ALC5632 is not set
# CONFIG_SND_SOC_TEGRA_TRIMSLICE is not set
# CONFIG_SND_SOC_TEGRA_WM8753 is not set
# CONFIG_SND_SOC_TEGRA_WM8903 is not set
# CONFIG_SND_SOC_TEGRA_WM9712 is not set
# CONFIG_SND_SOC_TEGRA20_AC97 is not set
# CONFIG_SND_SOC_TEGRA20_DAS is not set
# CONFIG_SND_SOC_TEGRA20_SPDIF is not set

View File

@ -5,7 +5,6 @@ CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_DEBUG_ATOMIC_SLEEP=y CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCK_TORTURE_TEST=m CONFIG_LOCK_TORTURE_TEST=m

View File

@ -4354,6 +4354,7 @@ CONFIG_HEADERS_CHECK=y
# CONFIG_READABLE_ASM is not set # CONFIG_READABLE_ASM is not set
# CONFIG_RT_MUTEX_TESTER is not set # CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_LOCKDEP is not set # CONFIG_DEBUG_LOCKDEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set

View File

@ -5,7 +5,6 @@ CONFIG_SND_PCM_XRUN_DEBUG=y
# CONFIG_DEBUG_ATOMIC_SLEEP is not set # CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_MUTEXES is not set # CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set # CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_LOCK_TORTURE_TEST is not set # CONFIG_LOCK_TORTURE_TEST is not set

View File

@ -43,7 +43,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and # For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
# #
%global baserelease 301 %global baserelease 300
%global fedora_build %{baserelease} %global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching # base_sublevel is the kernel version we're starting with and patching
@ -55,7 +55,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel} %if 0%{?released_kernel}
# Do we have a -stable update to apply? # Do we have a -stable update to apply?
%define stable_update 1 %define stable_update 2
# Set rpm version accordingly # Set rpm version accordingly
%if 0%{?stable_update} %if 0%{?stable_update}
%define stablerev %{stable_update} %define stablerev %{stable_update}
@ -95,8 +95,6 @@ Summary: The Linux kernel
%define with_debug %{?_without_debug: 0} %{?!_without_debug: 1} %define with_debug %{?_without_debug: 0} %{?!_without_debug: 1}
# kernel-headers # kernel-headers
%define with_headers %{?_without_headers: 0} %{?!_without_headers: 1} %define with_headers %{?_without_headers: 0} %{?!_without_headers: 1}
# kernel-modules-extra
%define with_extra %{?_without_extra: 0} %{?!_without_extra: 1}
# perf # perf
%define with_perf %{?_without_perf: 0} %{?!_without_perf: 1} %define with_perf %{?_without_perf: 0} %{?!_without_perf: 1}
# tools # tools
@ -231,7 +229,7 @@ Summary: The Linux kernel
%if %{with_vdso_install} %if %{with_vdso_install}
# These arches install vdso/ directories. # These arches install vdso/ directories.
%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x aarch64 ppc64le %define vdso_arches %{all_x86} x86_64 ppc %{power64} s390 s390x aarch64
%endif %endif
# Overrides for generic default options # Overrides for generic default options
@ -256,12 +254,9 @@ Summary: The Linux kernel
%endif %endif
# bootwrapper is only on ppc # bootwrapper is only on ppc
%ifnarch ppc ppc64 ppc64p7 ppc64le # sparse blows up on ppc
%ifnarch ppc %{power64}
%define with_bootwrapper 0 %define with_bootwrapper 0
%endif
# sparse blows up on ppc64 and sparc64
%ifarch ppc64 ppc ppc64p7 ppc64le
%define with_sparse 0 %define with_sparse 0
%endif %endif
@ -283,25 +278,19 @@ Summary: The Linux kernel
%define kernel_image arch/x86/boot/bzImage %define kernel_image arch/x86/boot/bzImage
%endif %endif
%ifarch %{power64}
%define asmarch powerpc
%define hdrarch powerpc
%define image_install_path boot
%define make_target vmlinux
%define kernel_image vmlinux
%define kernel_image_elf 1
%ifarch ppc64 ppc64p7 %ifarch ppc64 ppc64p7
%define asmarch powerpc
%define hdrarch powerpc
%define all_arch_configs kernel-%{version}-ppc64*.config %define all_arch_configs kernel-%{version}-ppc64*.config
%define image_install_path boot
%define make_target vmlinux
%define kernel_image vmlinux
%define kernel_image_elf 1
%endif %endif
%ifarch ppc64le %ifarch ppc64le
%define asmarch powerpc
%define hdrarch powerpc
%define all_arch_configs kernel-%{version}-ppc64le.config %define all_arch_configs kernel-%{version}-ppc64le.config
%define image_install_path boot %endif
%define make_target vmlinux
%define kernel_image vmlinux
%define kernel_image_elf 1
%define with_tools 0
%endif %endif
%ifarch s390x %ifarch s390x
@ -389,7 +378,7 @@ Summary: The Linux kernel
%endif %endif
# Architectures we build tools/cpupower on # Architectures we build tools/cpupower on
%define cpupowerarchs %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} aarch64 ppc64le %define cpupowerarchs %{ix86} x86_64 ppc %{power64} %{arm} aarch64
# #
# Packages that need to be installed before the kernel is, because the %%post # Packages that need to be installed before the kernel is, because the %%post
@ -635,20 +624,11 @@ Patch25109: revert-input-wacom-testing-result-shows-get_report-is-unnecessary.pa
#rhbz 1021036, submitted upstream #rhbz 1021036, submitted upstream
Patch25110: 0001-ideapad-laptop-Change-Lenovo-Yoga-2-series-rfkill-ha.patch Patch25110: 0001-ideapad-laptop-Change-Lenovo-Yoga-2-series-rfkill-ha.patch
#rhbz 1117942
Patch25118: sched-fix-sched_setparam-policy-1-logic.patch
#CVE-2014-{5206,5207} rhbz 1129662 1129669 #CVE-2014-{5206,5207} rhbz 1129662 1129669
Patch25119: namespaces-remount-fixes.patch Patch25119: namespaces-remount-fixes.patch
#rhbz 1121288 #rhbz 1134969
Patch25120: 0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch Patch26019: Input-wacom-Add-support-for-the-Cintiq-Companion.patch
#rhbz 1128472
Patch25121: 0001-uas-Limit-qdepth-to-32-when-connected-over-usb-2.patch
#rhbz 1131551
Patch25122: nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
Patch30000: kernel-arm64.patch Patch30000: kernel-arm64.patch
@ -948,9 +928,7 @@ Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?1:+%{1}}\
%endif\ %endif\
%{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
%{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
%if %{with_extra}\
%{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
%endif\
%{expand:%%kernel_debuginfo_package %{?1:%{1}}}\ %{expand:%%kernel_debuginfo_package %{?1:%{1}}}\
%{nil} %{nil}
@ -1392,20 +1370,11 @@ ApplyPatch revert-input-wacom-testing-result-shows-get_report-is-unnecessary.pat
#rhbz 1021036, submitted upstream #rhbz 1021036, submitted upstream
ApplyPatch 0001-ideapad-laptop-Change-Lenovo-Yoga-2-series-rfkill-ha.patch ApplyPatch 0001-ideapad-laptop-Change-Lenovo-Yoga-2-series-rfkill-ha.patch
#rhbz 1117942
ApplyPatch sched-fix-sched_setparam-policy-1-logic.patch
#CVE-2014-{5206,5207} rhbz 1129662 1129669 #CVE-2014-{5206,5207} rhbz 1129662 1129669
ApplyPatch namespaces-remount-fixes.patch ApplyPatch namespaces-remount-fixes.patch
#rhbz 1121288 #rhbz 1134969
ApplyPatch 0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch ApplyPatch Input-wacom-Add-support-for-the-Cintiq-Companion.patch
#rhbz 1128472
ApplyPatch 0001-uas-Limit-qdepth-to-32-when-connected-over-usb-2.patch
#rhbz 1131551
ApplyPatch nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch
%if 0%{?aarch64patches} %if 0%{?aarch64patches}
ApplyPatch kernel-arm64.patch ApplyPatch kernel-arm64.patch
@ -1652,7 +1621,7 @@ BuildKernel() {
fi fi
rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
%ifarch ppc ppc64 ppc64p7 %ifarch ppc %{power64}
cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
%endif %endif
if [ -d arch/%{asmarch}/include ]; then if [ -d arch/%{asmarch}/include ]; then
@ -1729,10 +1698,8 @@ BuildKernel() {
rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep} rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
popd popd
%if %{with_extra}
# Call the modules-extra script to move things around # Call the modules-extra script to move things around
%{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE16} %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE16}
%endif
# #
# Generate the kernel-core and kernel-modules files lists # Generate the kernel-core and kernel-modules files lists
@ -2102,9 +2069,7 @@ fi\
%define kernel_variant_post(v:r:) \ %define kernel_variant_post(v:r:) \
%{expand:%%kernel_devel_post %{?-v*}}\ %{expand:%%kernel_devel_post %{?-v*}}\
%{expand:%%kernel_modules_post %{?-v*}}\ %{expand:%%kernel_modules_post %{?-v*}}\
%if %{with_extra}\
%{expand:%%kernel_modules_extra_post %{?-v*}}\ %{expand:%%kernel_modules_extra_post %{?-v*}}\
%endif\
%{expand:%%kernel_variant_posttrans %{?-v*}}\ %{expand:%%kernel_variant_posttrans %{?-v*}}\
%{expand:%%post %{?-v*:%{-v*}-}core}\ %{expand:%%post %{?-v*:%{-v*}-}core}\
%{-r:\ %{-r:\
@ -2265,9 +2230,7 @@ fi
%{expand:%%files %{?2:%{2}-}devel}\ %{expand:%%files %{?2:%{2}-}devel}\
%defattr(-,root,root)\ %defattr(-,root,root)\
/usr/src/kernels/%{KVERREL}%{?2:+%{2}}\ /usr/src/kernels/%{KVERREL}%{?2:+%{2}}\
%if %{with_extra}\
%{expand:%%files %{?2:%{2}-}modules-extra}\ %{expand:%%files %{?2:%{2}-}modules-extra}\
%endif\
%defattr(-,root,root)\ %defattr(-,root,root)\
/lib/modules/%{KVERREL}%{?2:+%{2}}/extra\ /lib/modules/%{KVERREL}%{?2:+%{2}}/extra\
%if %{with_debuginfo}\ %if %{with_debuginfo}\
@ -2304,6 +2267,35 @@ fi
# ||----w | # ||----w |
# || || # || ||
%changelog %changelog
* Mon Sep 8 2014 Peter Robinson <pbrobinson@fedoraproject.org>
- Build tools on ppc64le (rhbz 1138884)
- Some minor ppc64 cleanups
* Fri Sep 05 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.16.2-300
- Linux v3.16.2
* Thu Sep 04 2014 Josh Boyer <jwboyer@fedoraproject.org>
- Add support for Wacom Cintiq Companion from Benjamin Tissoires (rhbz 1134969)
* Tue Sep 02 2014 Josh Boyer <jwboyer@fedoraproject.org>
- Remove with_extra switch
* Thu Aug 28 2014 Josh Boyer <jwboyer@fedoraproject.org>
- Fix NFSv3 ACL regression (rhbz 1132786)
- Don't enable CONFIG_DEBUG_WW_MUTEX_SLOWPATH (rhbz 1114160)
* Wed Aug 27 2014 Justin M. Forbes <jforbes@fedoraproject.org>
- CVE-2014-{5471,5472} isofs: Fix unbounded recursion when processing relocated
directories (rhbz 1134099 1134101)
* Wed Aug 27 2014 Josh Boyer <jwboyer@fedoraproject.org>
- Disable streams on via XHCI (rhbz 1132666)
* Tue Aug 26 2014 Peter Robinson <pbrobinson@fedoraproject.org>
- Minor generic ARMv7 updates
- Build tegra on both LPAE and general ARMv7 kernels (thank srwarren RHBZ 1110963)
- Set CMA to 64mb on LPAE kernel (RHBZ 1127000)
* Fri Aug 22 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.16.1-301 * Fri Aug 22 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.16.1-301
- Drop userns revert patch (rhbz 917708) - Drop userns revert patch (rhbz 917708)

View File

@ -1,41 +0,0 @@
Bugzilla: 1131551
Upstream-status: 3.17-rc1 and Cc'd to stable
From 7a9e75a185e6b3a3860e6a26fb6e88691fc2c9d9 Mon Sep 17 00:00:00 2001
From: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Date: Sat, 26 Jul 2014 14:58:01 +0300
Subject: [PATCH] nfs3_list_one_acl(): check get_acl() result with
IS_ERR_OR_NULL
There was a check for result being not NULL. But get_acl() may return
NULL, or ERR_PTR, or actual pointer.
The purpose of the function where current change is done is to "list
ACLs only when they are available", so any error condition of get_acl()
mustn't be elevated, and returning 0 there is still valid.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81111
Signed-off-by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Fixes: 74adf83f5d77 (nfs: only show Posix ACLs in listxattr if actually...)
Cc: stable@vger.kernel.org # 3.14+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
---
fs/nfs/nfs3acl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
index 8f854dde4150..d0fec260132a 100644
--- a/fs/nfs/nfs3acl.c
+++ b/fs/nfs/nfs3acl.c
@@ -256,7 +256,7 @@ nfs3_list_one_acl(struct inode *inode, int type, const char *name, void *data,
char *p = data + *result;
acl = get_acl(inode, type);
- if (!acl)
+ if (IS_ERR_OR_NULL(acl))
return 0;
posix_acl_release(acl);
--
1.9.3

View File

@ -1,68 +0,0 @@
Bugzilla: 1117942
Upstream-status: Sent for 3.16 and seen by peterz
The scheduler uses policy=-1 to preserve the current policy state to
implement sched_setparam(). But, as (int) -1 is equals to 0xffffffff,
it's matching the if (policy & SCHED_RESET_ON_FORK) on
_sched_setscheduler(). This match changes the policy value to an
invalid value, breaking the sched_setparam() syscall.
This patch checks policy=-1 before check the SCHED_RESET_ON_FORK flag.
The following program shows the bug:
int main(void)
{
struct sched_param param = {
.sched_priority = 5,
};
sched_setscheduler(0, SCHED_FIFO, &param);
param.sched_priority = 1;
sched_setparam(0, &param);
param.sched_priority = 0;
sched_getparam(0, &param);
if (param.sched_priority != 1)
printf("failed priority setting (found %d instead of 1)\n",
param.sched_priority);
else
printf("priority setting fine\n");
}
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org # 3.14+
Fixes: 7479f3c9cf67 "sched: Move SCHED_RESET_ON_FORK into attr::sched_flags"
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
---
kernel/sched/core.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index bc1638b..0acf96b 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3558,9 +3558,10 @@ static int _sched_setscheduler(struct task_struct *p, int policy,
};
/*
- * Fixup the legacy SCHED_RESET_ON_FORK hack
+ * Fixup the legacy SCHED_RESET_ON_FORK hack, except if
+ * the policy=-1 was passed by sched_setparam().
*/
- if (policy & SCHED_RESET_ON_FORK) {
+ if ((policy != -1) && (policy & SCHED_RESET_ON_FORK)) {
attr.sched_flags |= SCHED_FLAG_RESET_ON_FORK;
policy &= ~SCHED_RESET_ON_FORK;
attr.sched_policy = policy;
--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

View File

@ -1,3 +1,3 @@
5c569ed649a0c9711879f333e90c5386 linux-3.16.tar.xz 5c569ed649a0c9711879f333e90c5386 linux-3.16.tar.xz
49868ce6467b35cd9ffea1120d129462 perf-man-3.16.tar.gz 49868ce6467b35cd9ffea1120d129462 perf-man-3.16.tar.gz
9da4b0f5e343455b8141bcfa47e88cf5 patch-3.16.1.xz 926e6e2ee0634ce53730701da749b040 patch-3.16.2.xz