I'm announcing the release of the 5.4.34 kernel.
All users of the 5.4 kernel series must upgrade.
The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.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/imx7-colibri.dtsi | 9 +
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts | 1
arch/arm64/kernel/vdso.c | 13 --
arch/x86/include/asm/microcode_amd.h | 2
arch/x86/kernel/cpu/resctrl/core.c | 2
arch/x86/kernel/cpu/resctrl/internal.h | 1
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 16 ++
drivers/acpi/ec.c | 6
drivers/acpi/nfit/core.c | 10 -
drivers/acpi/nfit/nfit.h | 1
drivers/clk/at91/clk-usb.c | 2
drivers/clk/at91/sam9x60.c | 5
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 5
drivers/i2c/busses/i2c-designware-platdrv.c | 14 +-
drivers/irqchip/irq-ti-sci-inta.c | 3
drivers/net/dsa/mt7530.c | 103 +---------------
drivers/net/dsa/mt7530.h | 17 +-
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 2
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 24 +++
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 8 +
drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 5
drivers/net/ethernet/mellanox/mlx5/core/en.h | 7 -
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 10 -
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 49 +++++--
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 9 -
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 5
drivers/net/ethernet/mellanox/mlx5/core/health.c | 2
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 2
drivers/net/phy/micrel.c | 2
drivers/net/tun.c | 3
drivers/net/wireless/mac80211_hwsim.c | 12 -
drivers/platform/chrome/cros_ec_rpmsg.c | 16 ++
drivers/pwm/pwm-pca9685.c | 85 +++++++------
drivers/scsi/ufs/ufshcd.c | 5
drivers/target/iscsi/iscsi_target.c | 79 +++---------
drivers/target/iscsi/iscsi_target.h | 1
drivers/target/iscsi/iscsi_target_configfs.c | 5
drivers/target/iscsi/iscsi_target_login.c | 5
drivers/usb/dwc3/gadget.c | 4
fs/btrfs/relocation.c | 4
fs/ext4/extents.c | 8 -
fs/ext4/super.c | 6
fs/jbd2/commit.c | 7 -
fs/overlayfs/inode.c | 4
include/net/ip6_route.h | 1
include/target/iscsi/iscsi_target_core.h | 2
kernel/trace/trace_events_trigger.c | 10 -
net/bpfilter/main.c | 1
net/core/dev.c | 3
net/hsr/hsr_netlink.c | 10 +
net/ipv4/devinet.c | 13 +-
net/l2tp/l2tp_netlink.c | 16 +-
net/mac80211/main.c | 24 ++-
net/qrtr/qrtr.c | 7 -
net/wireless/nl80211.c | 6
security/keys/proc.c | 2
sound/pci/hda/patch_realtek.c | 1
sound/soc/intel/atom/sst-atom-controls.c | 2
sound/soc/intel/atom/sst/sst_pci.c | 2
sound/usb/mixer.c | 31 ++--
sound/usb/mixer_maps.c | 4
tools/perf/builtin-report.c | 9 -
64 files changed, 371 insertions(+), 356 deletions(-)
Adam Barber (1):
ALSA: hda/realtek - Enable the headset mic on Asus FX505DT
Amir Goldstein (1):
ovl: fix value of i_ino for lower hardlink corner case
Angus Ainslie (Purism) (1):
arm64: dts: librem5-devkit: add a vbus supply to usb0
Atsushi Nemoto (1):
net: phy: micrel: use genphy_read_status for KSZ9131
Bruno Meneguele (1):
net/bpfilter: remove superfluous testing message
Can Guo (1):
scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic
Claudiu Beznea (2):
clk: at91: sam9x60: fix usb clock parents
clk: at91: usb: use proper usbs_mask
Colin Ian King (2):
ASoC: Intel: mrfld: fix incorrect check on p->sink
ASoC: Intel: mrfld: return error codes when an error occurs
DENG Qingfang (1):
net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode
Dan Carpenter (1):
acpi/nfit: improve bounds checking for 'func'
Dmytro Linkin (1):
net/mlx5e: Fix nest_level for vlan pop action
Eran Ben Elisha (1):
net/mlx5e: Add missing release firmware call
Florian Fainelli (1):
net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes
Gilberto Bertin (1):
net: tun: record RX queue in skb before do_xdp_generic()
Greg Kroah-Hartman (2):
Revert "ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add()"
Linux 5.4.34
Grygorii Strashko (1):
irqchip/ti-sci-inta: Fix processing of masked irqs
Hans de Goede (1):
i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT
James Morse (1):
x86/resctrl: Preserve CDP enable over CPU hotplug
Jan Kara (1):
ext4: do not zeroout extents beyond i_disksize
Jin Yao (1):
perf report: Fix no branch type statistics report issue
Johannes Berg (1):
nl80211: fix NL80211_ATTR_FTM_RESPONDER policy
John Allen (1):
x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE
Josef Bacik (1):
btrfs: check commit root generation in should_ignore_root
Josh Triplett (2):
ext4: fix incorrect group count in ext4_fill_super error message
ext4: fix incorrect inodes per group in error message
Konstantin Khlebnikov (1):
net: revert default NAPI poll timeout to 2 jiffies
Mark Rutland (1):
arm64: vdso: don't free unallocated pages
Maurizio Lombardi (2):
scsi: target: remove boilerplate code
scsi: target: fix hang when multiple threads try to destroy the same iscsi session
Maxim Mikityanskiy (3):
net/mlx5e: Encapsulate updating netdev queues into a function
net/mlx5e: Rename hw_modify to preactivate
net/mlx5e: Use preactivate hook to set the indirection table
Michael Weiß (1):
l2tp: Allow management of tunnels and session in user namespace
Moshe Shemesh (1):
net/mlx5: Fix frequent ioread PCI access during recovery
Oleksandr Suvorov (1):
ARM: dts: imx7-colibri: fix muxing of usbc_det pin
Parav Pandit (1):
net/mlx5e: Fix pfnum in devlink port attribute
Pi-Hsun Shih (1):
platform/chrome: cros_ec_rpmsg: Fix race with host event
Prike Liang (1):
drm/amdgpu: fix the hw hang during perform system reboot and reset
Reinette Chatre (1):
x86/resctrl: Fix invalid attempt at removing the default resource group
René van Dorst (2):
net: dsa: mt7530: move mt7623 settings out off the mt7530
net: ethernet: mediatek: move mt7623 settings out off the mt7530
Sebastian Andrzej Siewior (1):
amd-xgbe: Use __napi_schedule() in BH context
Sergei Lopatin (1):
drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled
Sumit Garg (1):
mac80211: fix race in ieee80211_register_hw()
Sven Van Asbroeck (1):
pwm: pca9685: Fix PWM/GPIO inter-operation
Taehee Yoo (1):
hsr: check protocol version in hsr_newlink()
Takashi Iwai (4):
ALSA: usb-audio: Filter error from connector kctl ops, too
ALSA: usb-audio: Don't override ignore_ctl_error value from the map
ALSA: usb-audio: Don't create jack controls for PCM terminals
ALSA: usb-audio: Check mapping at creating connector controls, too
Taras Chornyi (1):
net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin
Thinh Nguyen (1):
usb: dwc3: gadget: Don't clear flags before transfer ended
Tim Stallard (1):
net: ipv6: do not consider routes via gateways for anycast address check
Tuomas Tynkkynen (1):
mac80211_hwsim: Use kstrndup() in place of kasprintf()
Vasily Averin (1):
keys: Fix proc_keys_next to increase position index
Wang Wenhu (1):
net: qrtr: send msgs from local of same id as broadcast
Xiao Yang (1):
tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
zhangyi (F) (1):
jbd2: improve comments about freeing data buffers whose page mapping is NULL
I'm announcing the release of the 4.19.117 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/x86/include/asm/microcode_amd.h | 2
arch/x86/kernel/cpu/intel_rdt.c | 2
arch/x86/kernel/cpu/intel_rdt.h | 1
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 16 +++-
arch/x86/kvm/cpuid.c | 3
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 5 +
drivers/net/dsa/mt7530.c | 18 +++-
drivers/net/dsa/mt7530.h | 7 +
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 2
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 2
drivers/net/wireless/ath/wil6210/debugfs.c | 29 -------
drivers/net/wireless/ath/wil6210/interrupt.c | 12 ++-
drivers/net/wireless/ath/wil6210/main.c | 5 +
drivers/net/wireless/ath/wil6210/txrx.c | 4 -
drivers/net/wireless/ath/wil6210/txrx_edma.c | 14 ++-
drivers/net/wireless/ath/wil6210/wil6210.h | 3
drivers/net/wireless/ath/wil6210/wmi.c | 2
drivers/net/wireless/mac80211_hwsim.c | 12 +--
drivers/pwm/pwm-pca9685.c | 85 ++++++++++++----------
drivers/scsi/ufs/ufshcd.c | 5 +
drivers/target/iscsi/iscsi_target.c | 79 +++++---------------
drivers/target/iscsi/iscsi_target.h | 1
drivers/target/iscsi/iscsi_target_configfs.c | 5 +
drivers/target/iscsi/iscsi_target_login.c | 5 -
drivers/usb/dwc3/gadget.c | 18 ++--
fs/btrfs/relocation.c | 4 -
fs/ext4/extents.c | 8 +-
fs/ext4/super.c | 6 -
fs/jbd2/commit.c | 7 +
fs/overlayfs/inode.c | 4 -
include/net/ip6_route.h | 1
include/target/iscsi/iscsi_target_core.h | 2
kernel/trace/trace_events_trigger.c | 10 --
mm/vmalloc.c | 8 +-
net/core/dev.c | 3
net/hsr/hsr_netlink.c | 10 ++
net/ipv4/devinet.c | 13 ++-
net/qrtr/qrtr.c | 7 +
security/keys/proc.c | 2
sound/soc/intel/atom/sst-atom-controls.c | 2
sound/soc/intel/atom/sst/sst_pci.c | 2
sound/usb/mixer.c | 31 ++++----
sound/usb/mixer_maps.c | 4 -
44 files changed, 251 insertions(+), 212 deletions(-)
Alexei Avshalom Lazar (1):
wil6210: add general initialization/size checks
Amir Goldstein (1):
ovl: fix value of i_ino for lower hardlink corner case
Austin Kim (1):
mm/vmalloc.c: move 'area->pages' after if statement
Can Guo (1):
scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic
Colin Ian King (2):
ASoC: Intel: mrfld: fix incorrect check on p->sink
ASoC: Intel: mrfld: return error codes when an error occurs
DENG Qingfang (1):
net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode
Dedy Lansky (2):
wil6210: check rx_buff_mgmt before accessing it
wil6210: make sure Rx ring sizes are correlated
Florian Fainelli (1):
net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes
Greg Kroah-Hartman (1):
Linux 4.19.117
James Morse (1):
x86/resctrl: Preserve CDP enable over CPU hotplug
Jan Kara (1):
ext4: do not zeroout extents beyond i_disksize
Jim Mattson (1):
kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD
John Allen (1):
x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE
Josef Bacik (1):
btrfs: check commit root generation in should_ignore_root
Josh Triplett (2):
ext4: fix incorrect group count in ext4_fill_super error message
ext4: fix incorrect inodes per group in error message
Karthick Gopalasubramanian (1):
wil6210: remove reset file from debugfs
Konstantin Khlebnikov (1):
net: revert default NAPI poll timeout to 2 jiffies
Maurizio Lombardi (2):
scsi: target: remove boilerplate code
scsi: target: fix hang when multiple threads try to destroy the same iscsi session
Maya Erez (1):
wil6210: ignore HALP ICR if already handled
Reinette Chatre (1):
x86/resctrl: Fix invalid attempt at removing the default resource group
Sasha Levin (1):
usb: dwc3: gadget: don't enable interrupt when disabling endpoint
Sebastian Andrzej Siewior (1):
amd-xgbe: Use __napi_schedule() in BH context
Sergei Lopatin (1):
drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled
Sven Van Asbroeck (1):
pwm: pca9685: Fix PWM/GPIO inter-operation
Taehee Yoo (1):
hsr: check protocol version in hsr_newlink()
Takashi Iwai (4):
ALSA: usb-audio: Filter error from connector kctl ops, too
ALSA: usb-audio: Don't override ignore_ctl_error value from the map
ALSA: usb-audio: Don't create jack controls for PCM terminals
ALSA: usb-audio: Check mapping at creating connector controls, too
Taras Chornyi (1):
net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin
Thinh Nguyen (1):
usb: dwc3: gadget: Don't clear flags before transfer ended
Tim Stallard (1):
net: ipv6: do not consider routes via gateways for anycast address check
Tuomas Tynkkynen (1):
mac80211_hwsim: Use kstrndup() in place of kasprintf()
Vasily Averin (1):
keys: Fix proc_keys_next to increase position index
Wang Wenhu (1):
net: qrtr: send msgs from local of same id as broadcast
Xiao Yang (1):
tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
zhangyi (F) (1):
jbd2: improve comments about freeing data buffers whose page mapping is NULL
Commit 871f1f2bcb01 ("platform/x86: intel_int0002_vgpio: Only implement
irq_set_wake on Bay Trail") stopped passing irq_set_wake requests on to
the parents IRQ because this was breaking suspend (causing immediate
wakeups) on an Asus E202SA.
This workaround for this issue is mostly fine, on most Cherry Trail
devices where we need the INT0002 device for wakeups by e.g. USB kbds,
the parent IRQ is shared with the ACPI SCI and that is marked as wakeup
anyways.
But not on all devices, specifically on a Medion Akoya E1239T there is
no SCI at all, and because the irq_set_wake request is not passed on to
the parent IRQ, wake up by the builtin USB kbd does not work here.
So the workaround for the Asus E202SA immediate wake problem is causing
problems elsewhere; and in hindsight it is not the correct fix,
the Asus E202SA uses Airmont CPU cores, but this does not mean it is a
Cherry Trail based device, Brasswell uses Airmont CPU cores too and this
actually is a Braswell device.
Most (all?) Braswell devices use classic S3 mode suspend rather then
s2idle suspend and in this case directly dealing with PME events as
the INT0002 driver does likely is not the best idea, so that this is
causing issues is not surprising.
Replace the workaround of not passing irq_set_wake requests on to the
parents IRQ, by not binding to the INT0002 device when s2idle is not used.
This fixes USB kbd wakeups not working on some Cherry Trail devices,
while still avoiding mucking with the wakeup flags on the Asus E202SA
(and other Brasswell devices).
Cc: Maxim Mikityanskiy <maxtram95(a)gmail.com>
Cc: 5.3+ <stable(a)vger.kernel.org> # 5.3+
Fixes: 871f1f2bcb01 ("platform/x86: intel_int0002_vgpio: Only implement irq_set_wake on Bay Trail")
Tested-by: Maxim Mikityanskiy <maxtram95(a)gmail.com>
Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
---
Changes in v2:
- Rebase on top of 5.7-rc1
---
drivers/platform/x86/intel_int0002_vgpio.c | 18 +++++-------------
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/drivers/platform/x86/intel_int0002_vgpio.c b/drivers/platform/x86/intel_int0002_vgpio.c
index 289c6655d425..30806046b664 100644
--- a/drivers/platform/x86/intel_int0002_vgpio.c
+++ b/drivers/platform/x86/intel_int0002_vgpio.c
@@ -143,21 +143,9 @@ static struct irq_chip int0002_byt_irqchip = {
.irq_set_wake = int0002_irq_set_wake,
};
-static struct irq_chip int0002_cht_irqchip = {
- .name = DRV_NAME,
- .irq_ack = int0002_irq_ack,
- .irq_mask = int0002_irq_mask,
- .irq_unmask = int0002_irq_unmask,
- /*
- * No set_wake, on CHT the IRQ is typically shared with the ACPI SCI
- * and we don't want to mess with the ACPI SCI irq settings.
- */
- .flags = IRQCHIP_SKIP_SET_WAKE,
-};
-
static const struct x86_cpu_id int0002_cpu_ids[] = {
X86_MATCH_INTEL_FAM6_MODEL(ATOM_SILVERMONT, &int0002_byt_irqchip),
- X86_MATCH_INTEL_FAM6_MODEL(ATOM_AIRMONT, &int0002_cht_irqchip),
+ X86_MATCH_INTEL_FAM6_MODEL(ATOM_AIRMONT, &int0002_byt_irqchip),
{}
};
@@ -181,6 +169,10 @@ static int int0002_probe(struct platform_device *pdev)
if (!cpu_id)
return -ENODEV;
+ /* We only need to directly deal with PMEs when using s2idle */
+ if (!pm_suspend_default_s2idle())
+ return -ENODEV;
+
irq = platform_get_irq(pdev, 0);
if (irq < 0)
return irq;
--
2.26.0
Unlike the other CPUs, CPU0 is never offlined during hibernation, so in the
resume path, the "new" kernel's VP assist page is not suspended (i.e. not
disabled), and later when we jump to the "old" kernel, the page is not
properly re-enabled for CPU0 with the allocated page from the old kernel.
So far, the VP assist page is used by hv_apic_eoi_write(), and is also
used in the case of nested virtualization (running KVM atop Hyper-V).
For hv_apic_eoi_write(), when the page is not properly re-enabled,
hvp->apic_assist is always 0, so the HV_X64_MSR_EOI MSR is always written.
This is not ideal with respect to performance, but Hyper-V can still
correctly handle this according to the Hyper-V spec; nevertheless, Linux
still must update the Hyper-V hypervisor with the correct VP assist page
to prevent Hyper-V from writing to the stale page, which causes guest
memory corruption and consequently may have caused the hangs and triple
faults seen during non-boot CPUs resume.
Fix the issue by calling hv_cpu_die()/hv_cpu_init() in the syscore ops.
Without the fix, hibernation can fail at a rate of 1/300 ~ 1/500.
With the fix, hibernation can pass a long-haul test of 2000 runs.
In the case of nested virtualization, disabling/reenabling the assist
page upon hibernation may be unsafe if there are active L2 guests.
It looks KVM should be enhanced to abort the hibernation request if
there is any active L2 guest.
Fixes: 05bd330a7fd8 ("x86/hyperv: Suspend/resume the hypercall page for hibernation")
Cc: stable(a)vger.kernel.org
Signed-off-by: Dexuan Cui <decui(a)microsoft.com>
---
Changes in v2:
Used alloc_page(irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL) [Wei Liu]
Improved the changelog per comments from Wei Liu and Vitaly Kuznetsov.
arch/x86/hyperv/hv_init.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index b0da5320bcff..a151ec7feb4b 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -72,7 +72,8 @@ static int hv_cpu_init(unsigned int cpu)
struct page *pg;
input_arg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg);
- pg = alloc_page(GFP_KERNEL);
+ /* hv_cpu_init() can be called with IRQs disabled from hv_resume() */
+ pg = alloc_page(irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
if (unlikely(!pg))
return -ENOMEM;
*input_arg = page_address(pg);
@@ -253,6 +254,7 @@ static int __init hv_pci_init(void)
static int hv_suspend(void)
{
union hv_x64_msr_hypercall_contents hypercall_msr;
+ int ret;
/*
* Reset the hypercall page as it is going to be invalidated
@@ -269,12 +271,17 @@ static int hv_suspend(void)
hypercall_msr.enable = 0;
wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
- return 0;
+ ret = hv_cpu_die(0);
+ return ret;
}
static void hv_resume(void)
{
union hv_x64_msr_hypercall_contents hypercall_msr;
+ int ret;
+
+ ret = hv_cpu_init(0);
+ WARN_ON(ret);
/* Re-enable the hypercall page */
rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
@@ -287,6 +294,7 @@ static void hv_resume(void)
hv_hypercall_pg_saved = NULL;
}
+/* Note: when the ops are called, only CPU0 is online and IRQs are disabled. */
static struct syscore_ops hv_syscore_ops = {
.suspend = hv_suspend,
.resume = hv_resume,
--
2.19.1
512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
introduced an unintended linker error for i.MX6 configurations that have
ARM_CPU_SUSPEND=n which can happen if neither CONFIG_PM, CONFIG_CPU_IDLE,
nor ARM_PSCI_FW are selected.
Fix this by having v7_cpu_resume() compiled only when cpu_resume() it
calls is available as well.
The C declaration for the function remains unguarded to avoid future code
inadvertently using a stub and introducing a regression to the bug the
original commit fixed.
Cc: <stable(a)vger.kernel.org>
Fixes: 512a928affd5 ("ARM: imx: build v7_cpu_resume() unconditionally")
Reported-by: Clemens Gruber <clemens.gruber(a)pqgruber.com>
Signed-off-by: Ahmad Fatoum <a.fatoum(a)pengutronix.de>
---
arch/arm/mach-imx/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 03506ce46149..e7364e6c8c6b 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -91,8 +91,10 @@ AFLAGS_suspend-imx6.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o
obj-$(CONFIG_SOC_IMX53) += suspend-imx53.o
endif
+ifeq ($(CONFIG_ARM_CPU_SUSPEND),y)
AFLAGS_resume-imx6.o :=-Wa,-march=armv7-a
obj-$(CONFIG_SOC_IMX6) += resume-imx6.o
+endif
obj-$(CONFIG_SOC_IMX6) += pm-imx6.o
obj-$(CONFIG_SOC_IMX1) += mach-imx1.o
--
2.25.1