- Temporaily disable cpu idle on ARM as it appears to be causing stability issues

- Minor ARM config updates
- Add patch for DT DMA issues that affect at least highbank/tegra ARM devices
This commit is contained in:
Peter Robinson 2013-04-19 15:39:04 +01:00
parent ec8b3c3fe9
commit 2ec528d96c
5 changed files with 72 additions and 12 deletions

43
arm-of-dma.patch Normal file
View File

@ -0,0 +1,43 @@
From 7362f04c2888b14c20f8aaa02e1a897025261768 Mon Sep 17 00:00:00 2001
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Fri, 15 Mar 2013 08:48:20 +0000
Subject: DMA: OF: Check properties value before running be32_to_cpup() on it
In of_dma_controller_register() routine we are calling of_get_property() as an
parameter to be32_to_cpup(). In case the property doesn't exist we will get a
crash.
This patch changes this code to check if we got a valid property first and then
runs be32_to_cpup() on it.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
diff --git a/drivers/dma/of-dma.c b/drivers/dma/of-dma.c
index 6036cd0..00db454 100644
--- a/drivers/dma/of-dma.c
+++ b/drivers/dma/of-dma.c
@@ -93,6 +93,7 @@ int of_dma_controller_register(struct device_node *np,
{
struct of_dma *ofdma;
int nbcells;
+ const __be32 *prop;
if (!np || !of_dma_xlate) {
pr_err("%s: not enough information provided\n", __func__);
@@ -103,8 +104,11 @@ int of_dma_controller_register(struct device_node *np,
if (!ofdma)
return -ENOMEM;
- nbcells = be32_to_cpup(of_get_property(np, "#dma-cells", NULL));
- if (!nbcells) {
+ prop = of_get_property(np, "#dma-cells", NULL);
+ if (prop)
+ nbcells = be32_to_cpup(prop);
+
+ if (!prop || !nbcells) {
pr_err("%s: #dma-cells property is missing or invalid\n",
__func__);
kfree(ofdma);
--
cgit v0.9.1

View File

@ -27,7 +27,8 @@ CONFIG_ARCH_ZYNQ=y
# CONFIG_ARM_VIRT_EXT is not set
# highbank
CONFIG_CPU_IDLE_CALXEDA=y
# 2013/04/19 - stability issues
# CONFIG_CPU_IDLE_CALXEDA is not set
CONFIG_EDAC_HIGHBANK_MC=m
CONFIG_EDAC_HIGHBANK_L2=m
CONFIG_SATA_HIGHBANK=m
@ -72,6 +73,7 @@ CONFIG_MVEBU_CLK_CORE=y
CONFIG_MVEBU_CLK_GATING=y
CONFIG_MMC_MVSDIO=m
CONFIG_SPI_ORION=m
CONFIG_USB_MV_UDC=m
# omap
CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
@ -125,6 +127,7 @@ CONFIG_OMAP_MBOX_KFIFO_SIZE=256
CONFIG_OMAP_DM_TIMER=y
CONFIG_OMAP_PM_NOOP=y
CONFIG_OMAP_IOMMU=y
CONFIG_OMAP_IOVMM=m
CONFIG_OMAP3_EMU=y
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
CONFIG_ARM_OMAP2PLUS_CPUFREQ=y
@ -136,6 +139,7 @@ CONFIG_TI_DAVINCI_MDIO=m
CONFIG_TI_DAVINCI_CPDMA=m
CONFIG_TI_CPSW=m
CONFIG_TI_CPTS=y
CONFIG_TI_EMIF=m
CONFIG_SERIAL_OMAP=y
CONFIG_SERIAL_OMAP_CONSOLE=y
@ -155,12 +159,17 @@ CONFIG_TWL6030_USB=m
CONFIG_TWL6030_PWM=m
CONFIG_TWL6040_CORE=y
CONFIG_CLK_TWL6040=m
CONFIG_OMAP_INTERCONNECT=m
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_TI_AM335X_TSCADC=m
CONFIG_MFD_OMAP_USB_HOST=y
CONFIG_MTD_ONENAND_OMAP2=m
CONFIG_HDQ_MASTER_OMAP=m
CONFIG_REGULATOR_TWL4030=y
CONFIG_BACKLIGHT_PANDORA=m
CONFIG_OMAP_OCP2SCP=m
CONFIG_USB_EHCI_HCD_OMAP=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_OHCI_HCD_OMAP3=y
CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_OMAP2PLUS=m
@ -302,9 +311,7 @@ CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=m
CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
CONFIG_SND_OMAP_SOC_OVERO=m
# CONFIG_SND_OMAP_SOC_RX51 is not set
CONFIG_SND_OMAP_SOC_SDP3430=m
CONFIG_SND_OMAP_SOC_SDP4430=m
CONFIG_SND_OMAP_SOC_ZOOM2=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TWL4030=m
@ -473,7 +480,6 @@ CONFIG_REGULATOR_LP8755=m
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS80031 is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PMIC_ADP5520 is not set

View File

@ -84,10 +84,11 @@ CONFIG_SCHED_SMT=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
# 2013/04/19 - disable due to stability issues in 3.9 for the moment
# CONFIG_CPU_IDLE is not set
## CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_MENU is not set
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
CONFIG_LSM_MMAP_MIN_ADDR=32768
@ -112,8 +113,6 @@ CONFIG_HW_PERF_EVENTS=y
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
@ -219,6 +218,8 @@ CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MC33880=m
CONFIG_GPIO_74X164=m
CONFIG_GPIO_TPS65912=m
CONFIG_W1_MASTER_GPIO=m
CONFIG_CHARGER_GPIO=m
CONFIG_SPI=y
CONFIG_SPI_GPIO=m
@ -340,6 +341,7 @@ CONFIG_SENSORS_LM70=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_LIS3_SPI=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_LCD_L4F00242T03=m
CONFIG_LCD_LMS283GF05=m

View File

@ -60,6 +60,7 @@ CONFIG_SND_SOC_TEGRA_WM9712=m
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
CONFIG_SND_SOC_TEGRA30_AHUB=m
CONFIG_SND_SOC_TEGRA30_I2S=m
CONFIG_SND_SOC_TEGRA20_AC97=m
# AC100 (PAZ00)
CONFIG_MFD_NVEC=y

View File

@ -701,12 +701,14 @@ Patch14010: lis3-improve-handling-of-null-rate.patch
# ARM
Patch21000: arm-export-read_current_timer.patch
# https://lists.ozlabs.org/pipermail/devicetree-discuss/2013-March/029029.html
Patch21001: arm-of-dma.patch
# lpae
Patch21001: arm-lpae-ax88796.patch
Patch21002: arm-lpae-ax88796.patch
# ARM omap
Patch21002: arm-omap-ehci-fix.patch
Patch21003: arm-omap-ehci-fix.patch
# ARM tegra
Patch21005: arm-tegra-usb-no-reset-linux33.patch
@ -1311,6 +1313,7 @@ ApplyPatch debug-bad-pte-modules.patch
# ARM
#
ApplyPatch arm-export-read_current_timer.patch
ApplyPatch arm-of-dma.patch
ApplyPatch arm-lpae-ax88796.patch
ApplyPatch arm-omap-ehci-fix.patch
ApplyPatch arm-tegra-usb-no-reset-linux33.patch
@ -2292,6 +2295,11 @@ fi
# and build.
%changelog
* Fri Apr 19 2013 Peter Robinson <pbrobinson@fedoraproject.org>
- Temporaily disable cpu idle on ARM as it appears to be causing stability issues
- Minor ARM config updates
- Add patch for DT DMA issues that affect at least highbank/tegra ARM devices
* Fri Apr 19 2013 Josh Boyer <jwboyer@redhat.com>
- Disable Intel HDA and enable RSXX block dev on ppc64/ppc64p7