Merge changes from sid up to 3.12.8-1
svn path=/dists/trunk/linux/; revision=20985
This commit is contained in:
commit
04aa0d4809
|
@ -53,6 +53,155 @@ linux (3.13~rc6-1~exp1) experimental; urgency=low
|
|||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Mon, 30 Dec 2013 02:36:11 +0100
|
||||
|
||||
linux (3.12.8-1) unstable; urgency=medium
|
||||
|
||||
* New upstream stable update:
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.7
|
||||
- [powerpc] kvm: fix rare but potential deadlock scene
|
||||
- [m68k] TTY: pmac_zilog, check existence of ports in pmz_console_init()
|
||||
- xhci: Limit the spurious wakeup fix only to HP machines (fixes
|
||||
regression in 3.12)
|
||||
- usb: chipidea: host: Only disable the vbus regulator if it is not NULL
|
||||
(fixes regression in 3.12)
|
||||
- aio: fix kioctx leak introduced by "aio: Fix a trinity splat"
|
||||
- iser-target: Move INIT_WORK setup into isert_create_device_ib_res
|
||||
- [x86] idle: Repair large-server 50-watt idle-power regression
|
||||
(fixes regression in 3.10)
|
||||
- ext4: call ext4_error_inode() if jbd2_journal_dirty_metadata() fails
|
||||
- ext4: fix use-after-free in ext4_mb_new_blocks
|
||||
- ext4: fix del_timer() misuse for ->s_err_report
|
||||
- ext4: add explicit casts when masking cluster sizes
|
||||
- ext4: fix bigalloc regression
|
||||
- sched/rt: Fix rq's cpupri leak while enqueue/dequeue child RT entities
|
||||
- net_dma: mark broken (fixes potential data loss)
|
||||
- drm/i915: Take modeset locks around intel_modeset_setup_hw_state()
|
||||
- drm/i915: Hold mutex across i915_gem_release
|
||||
- drm/i915: Fix use-after-free in do_switch
|
||||
- drm/i915: don't update the dri1 breadcrumb with modesetting
|
||||
- drm/i915: Fix erroneous dereference of batch_obj inside reset_status
|
||||
- ceph: Avoid data inconsistency due to d-cache aliasing in readpage()
|
||||
- tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
|
||||
- cgroup: fix cgroup_create() error handling path
|
||||
- [powerpc] auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE
|
||||
- ath9k_htc: properly set MAC address and BSSID mask (CVE-2013-4579)
|
||||
(Closes: #729573)
|
||||
- KVM: nVMX: Unconditionally uninit the MMU on nested vmexit
|
||||
- [x86] KVM: Fix APIC map calculation after re-enabling
|
||||
- [powerpc] Fix bad stack check in exception entry
|
||||
- libata: implement ATA_HORKAGE_NO_NCQ_TRIM and apply it to Micro M500 SSDs
|
||||
(fixes potential data loss)
|
||||
- radiotap: fix bitmap-end-finding buffer overrun
|
||||
- mm: numa: serialise parallel get_user_page against THP migration
|
||||
- mm: numa: call MMU notifiers on THP migration
|
||||
- mm: clear pmd_numa before invalidating
|
||||
- mm: numa: do not clear PTE for pte_numa update
|
||||
- mm: numa: ensure anon_vma is locked to prevent parallel THP splits
|
||||
- sched: numa: skip inaccessible VMAs
|
||||
- mm: numa: clear numa hinting information on mprotect
|
||||
- mm: fix TLB flush race between migration, and change_protection_range
|
||||
- mm: numa: guarantee that tlb_flush_pending updates are visible before
|
||||
page table updates
|
||||
- mm/mempolicy: correct putback method for isolate pages if failed
|
||||
- mm/compaction: respect ignore_skip_hint in update_pageblock_skip
|
||||
- mm/hugetlb: check for pte NULL pointer in __page_check_address()
|
||||
- mm: munlock: fix a bug where THP tail page is encountered
|
||||
- mm: munlock: fix deadlock in __munlock_pagevec()
|
||||
- mm: fix use-after-free in sys_remap_file_pages
|
||||
- Input: allocate absinfo data when setting ABS capability
|
||||
- GFS2: Fix use-after-free race when calling gfs2_remove_from_ail
|
||||
- GFS2: Fix slab memory leak in gfs2_bufdata
|
||||
- GFS2: Fix incorrect invalidation for DIO/buffered I/O
|
||||
- [s390] 3270: fix allocation of tty3270_screen structure
|
||||
- [sh] always link in helper functions extracted from libgcc
|
||||
- selinux: look for IPsec labels on both inbound and outbound packets
|
||||
- selinux: process labeled IPsec TCP SYN-ACK packets properly in
|
||||
selinux_ip_postroute()
|
||||
- aio: clean up and fix aio_setup_ring page mapping
|
||||
- aio/migratepages: make aio migrate pages sane
|
||||
- ACPIPHP / radeon / nouveau: Fix VGA switcheroo problem related to hotplug
|
||||
(regression in 3.12)
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.8
|
||||
- IPv6: Fixed support for blackhole and prohibit routes
|
||||
- net: do not pretend FRAGLIST support
|
||||
- tun: unbreak truncated packet signalling
|
||||
- macvtap: signal truncated packets
|
||||
- br: fix use of ->rx_handler_data in code executed on non-rx_handler path
|
||||
- inet: fix NULL pointer Oops in fib(6)_rule_suppress
|
||||
- vxlan: release rt when found circular route
|
||||
- ipv6: fix illegal mac_header comparison on 32bit
|
||||
- ip_gre: fix msg_name parsing for recvfrom/recvmsg
|
||||
- net: inet_diag: zero out uninitialized idiag_{src,dst} fields
|
||||
- drivers/net/hamradio: Integer overflow in hdlcdrv_ioctl()
|
||||
- hamradio/yam: fix info leak in ioctl
|
||||
- net: fec: fix potential use after free
|
||||
- rds: prevent dereference of a NULL device
|
||||
- arc_emac: fix potential use after free
|
||||
- net: rose: restore old recvmsg behavior (regression in 3.12.4)
|
||||
- vlan: Fix header ops passthru when doing TX VLAN offload.
|
||||
- virtio-net: fix refill races during restore
|
||||
- net: llc: fix use after free in llc_ui_recvmsg
|
||||
- netpoll: Fix missing TXQ unlock and and OOPS.
|
||||
- bridge: use spin_lock_bh() in br_multicast_set_hash_max
|
||||
- sfc: Add length checks to efx_xmit_with_hwtstamp() and
|
||||
efx_ptp_is_ptp_tx()
|
||||
- sfc: PTP: Moderate log message on event queue overflow
|
||||
- sfc: Rate-limit log message for PTP packets without a matching timestamp
|
||||
event
|
||||
- [arm] fix "bad mode in ... handler" message for undefined instructions
|
||||
- [arm] 7923/1: mm: fix dcache flush logic for compound high pages
|
||||
- [hppa] Ensure full cache coherency for kmap/kunmap
|
||||
- clk: clk-divider: fix divisor > 255 bug
|
||||
- mfd: rtsx_pcr: Disable interrupts before cancelling delayed works
|
||||
- netfilter: fix wrong byte order in nf_ct_seqadj_set internal information
|
||||
(regression in 3.12)
|
||||
- netfilter: nf_nat: fix access to uninitialized buffer in IRC NAT helper
|
||||
- x86, fpu, amd: Clear exceptions in AMD FXSAVE workaround
|
||||
(CVE-2014-1438) (Closes: #733551)
|
||||
- sched: Fix race on toggling cfs_bandwidth_used
|
||||
- sched: Fix cfs_bandwidth misuse of hrtimer_expires_remaining
|
||||
- sched: Fix hrtimer_cancel()/rq->lock deadlock
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* [hppa] Update configuration, thanks to Helge Deller (Closes: #733895)
|
||||
- Change AGP, AGP_PARISC from modules to built-in, to work around
|
||||
race condition between DRM and AGP
|
||||
- Enable DEBUG_STACKOVERFLOW
|
||||
- udeb: Build packages for the parisc64-smp flavour instead of the
|
||||
removed parisc flavour (fixes FTBFS)
|
||||
* linux-image: Make maintainer scripts less verbose (Closes: #734266)
|
||||
* [m68k] Enable EARLY_PRINTK (Closes: #734289)
|
||||
* crypto: Enable more processor-specific algorithms and drivers:
|
||||
- [amd64] Enable CRYPTO_CRCT10DIF_PCLMUL, CRYPTO_SHA256_SSSE3,
|
||||
CRYPTO_SHA512_SSSE3, CRYPTO_GHASH_CLMUL_NI_INTEL,
|
||||
CRYPTO_CAMELLIA_AESNI_AVX_X86_64, CRYPTO_CAMELLIA_AESNI_AVX2_X86_64,
|
||||
CRYPTO_CAST5_AVX_X86_64, CRYPTO_CAST6_AVX_X86_64,
|
||||
CRYPTO_SERPENT_AVX2_X86_64 as modules (Closes: #734376)
|
||||
- [arm] Enable CRYPTO_SHA1_ARM, CRYPTO_AES_ARM as modules
|
||||
- [powerpc] Enable CRYPTO_SHA1_PPC as module
|
||||
- [sparc] Enable CRYPTO_CRC32C_SPARC64, CRYPTO_MD5_SPARC64,
|
||||
CRYPTO_SHA1_SPARC64, CRYPTO_SHA256_SPARC64, CRYPTO_SHA512_SPARC64,
|
||||
CRYPTO_AES_SPARC64, CRYPTO_CAMELLIA_SPARC64, CRYPTO_DES_SPARC64,
|
||||
CRYPTO_DEV_NIAGARA2 as modules
|
||||
- [x86] Enable CRYPTO_CRC32_PCLMUL as module
|
||||
* [powerpc] Remove AT_HWCAP2 from auxv to avoid module ABI change
|
||||
* [rt] Update to 3.12.6-rt9:
|
||||
- rcu: Don't activate RCU core on NO_HZ_FULL CPUs
|
||||
- timers: do not raise softirq unconditionally
|
||||
- rcutree/rcu_bh_qs: disable irq while calling rcu_preempt_qs()
|
||||
* Revert "net: unix: allow set_peek_off to fail", included in 3.12.8,
|
||||
as it would cause an ABI change
|
||||
* media: Enable VIDEO_STK1160_COMMON (new dependency of VIDEO_STK1160)
|
||||
as module (Closes: #735870)
|
||||
* [x86] brcm80211: Enable BRCMFMAC as module, and BRCMFMAC_SDIO
|
||||
(Closes: #735245)
|
||||
* [x86] staging: lustre: Make LUSTRE_LLITE_LLOOP tristate
|
||||
|
||||
[ Ian Campbell ]
|
||||
* [armel/kirkwood] Fix interrupt handling on non-DT platforms (Closes: #735172)
|
||||
* [armhf/armmp] Add mmci driver to mmc-module udeb.
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Sun, 19 Jan 2014 19:22:22 +0000
|
||||
|
||||
linux (3.12.6-2) unstable; urgency=medium
|
||||
|
||||
[ Bastian Blank ]
|
||||
|
|
|
@ -17,6 +17,12 @@ CONFIG_EARLY_PRINTK=y
|
|||
#. Support Thumb user binaries
|
||||
CONFIG_ARM_THUMB=y
|
||||
|
||||
##
|
||||
## file: crypto/Kconfig
|
||||
##
|
||||
CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_AES_ARM=m
|
||||
|
||||
##
|
||||
## file: drivers/input/misc/Kconfig
|
||||
##
|
||||
|
|
|
@ -6,6 +6,12 @@ CONFIG_ATAGS_PROC=y
|
|||
#. Enable floating point unit
|
||||
CONFIG_VFP=y
|
||||
|
||||
##
|
||||
## file: crypto/Kconfig
|
||||
##
|
||||
CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_AES_ARM=m
|
||||
|
||||
##
|
||||
## file: drivers/input/mouse/Kconfig
|
||||
##
|
||||
|
|
|
@ -1762,6 +1762,7 @@ CONFIG_USB_SN9C102=m
|
|||
##
|
||||
## file: drivers/media/usb/stk1160/Kconfig
|
||||
##
|
||||
CONFIG_VIDEO_STK1160_COMMON=m
|
||||
CONFIG_VIDEO_STK1160=m
|
||||
CONFIG_VIDEO_STK1160_AC97=y
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ CONFIG_PARISC_PAGE_SIZE_4KB=y
|
|||
## file: arch/parisc/Kconfig.debug
|
||||
##
|
||||
# CONFIG_DEBUG_RODATA is not set
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
|
||||
##
|
||||
## file: block/partitions/Kconfig
|
||||
|
|
|
@ -18,8 +18,8 @@ CONFIG_PATA_SIL680=m
|
|||
## file: drivers/char/agp/Kconfig
|
||||
##
|
||||
#. for ATI FireGL DRM in C8000 workstation
|
||||
CONFIG_AGP=m
|
||||
CONFIG_AGP_PARISC=m
|
||||
CONFIG_AGP=y
|
||||
CONFIG_AGP_PARISC=y
|
||||
|
||||
##
|
||||
## file: drivers/gpu/drm/Kconfig
|
||||
|
|
|
@ -147,6 +147,7 @@ CONFIG_SUN_PARTITION=y
|
|||
## file: crypto/Kconfig
|
||||
##
|
||||
CONFIG_CRYPTO_CRC32C_INTEL=m
|
||||
CONFIG_CRYPTO_CRC32_PCLMUL=m
|
||||
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
|
||||
CONFIG_CRYPTO_AES_NI_INTEL=m
|
||||
|
||||
|
@ -1091,6 +1092,14 @@ CONFIG_AIRO_CS=m
|
|||
CONFIG_PCMCIA_WL3501=m
|
||||
CONFIG_USB_ZD1201=m
|
||||
|
||||
##
|
||||
## file: drivers/net/wireless/brcm80211/Kconfig
|
||||
##
|
||||
CONFIG_BRCMFMAC=m
|
||||
#. Sony Vaio laptops
|
||||
CONFIG_BRCMFMAC_SDIO=y
|
||||
# CONFIG_BRCMFMAC_USB is not set
|
||||
|
||||
##
|
||||
## file: drivers/net/wireless/mwifiex/Kconfig
|
||||
##
|
||||
|
|
|
@ -30,13 +30,22 @@ CONFIG_GENERIC_CPU=y
|
|||
##
|
||||
## file: crypto/Kconfig
|
||||
##
|
||||
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
|
||||
CONFIG_CRYPTO_SHA1_SSSE3=m
|
||||
CONFIG_CRYPTO_SHA256_SSSE3=m
|
||||
CONFIG_CRYPTO_SHA512_SSSE3=m
|
||||
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
|
||||
CONFIG_CRYPTO_AES_X86_64=m
|
||||
CONFIG_CRYPTO_BLOWFISH_X86_64=m
|
||||
CONFIG_CRYPTO_CAMELLIA_X86_64=m
|
||||
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
|
||||
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_SALSA20_X86_64=m
|
||||
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
|
||||
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
|
||||
CONFIG_CRYPTO_TWOFISH_X86_64=m
|
||||
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
|
||||
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
|
||||
|
|
|
@ -20,6 +20,11 @@ CONFIG_M68060=y
|
|||
CONFIG_M68KFPU_EMU=y
|
||||
# CONFIG_ADVANCED is not set
|
||||
|
||||
##
|
||||
## file: arch/m68k/Kconfig.debug
|
||||
##
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
|
||||
##
|
||||
## file: arch/m68k/Kconfig.devices
|
||||
##
|
||||
|
|
|
@ -74,6 +74,11 @@ CONFIG_PPC_PMAC=y
|
|||
CONFIG_AMIGA_PARTITION=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
|
||||
##
|
||||
## file: crypto/Kconfig
|
||||
##
|
||||
CONFIG_CRYPTO_SHA1_PPC=m
|
||||
|
||||
##
|
||||
## file: drivers/ata/Kconfig
|
||||
##
|
||||
|
|
|
@ -13,6 +13,18 @@ CONFIG_SUN_OPENPROMFS=m
|
|||
##
|
||||
CONFIG_SUN_PARTITION=y
|
||||
|
||||
##
|
||||
## file: crypto/Kconfig
|
||||
##
|
||||
CONFIG_CRYPTO_CRC32C_SPARC64=m
|
||||
CONFIG_CRYPTO_MD5_SPARC64=m
|
||||
CONFIG_CRYPTO_SHA1_SPARC64=m
|
||||
CONFIG_CRYPTO_SHA256_SPARC64=m
|
||||
CONFIG_CRYPTO_SHA512_SPARC64=m
|
||||
CONFIG_CRYPTO_AES_SPARC64=m
|
||||
CONFIG_CRYPTO_CAMELLIA_SPARC64=m
|
||||
CONFIG_CRYPTO_DES_SPARC64=m
|
||||
|
||||
##
|
||||
## file: drivers/ata/Kconfig
|
||||
##
|
||||
|
@ -58,6 +70,11 @@ CONFIG_PRINTER=m
|
|||
##
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
##
|
||||
## file: drivers/crypto/Kconfig
|
||||
##
|
||||
CONFIG_CRYPTO_DEV_NIAGARA2=m
|
||||
|
||||
##
|
||||
## file: drivers/gpu/drm/Kconfig
|
||||
##
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
#include <mmc-modules>
|
||||
sdhci-esdhc-imx
|
||||
mmci
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# arch version flavour installedname suffix build-depends
|
||||
hppa - parisc - y -
|
||||
hppa - parisc64 - y -
|
||||
# arch version flavour installedname suffix build-depends
|
||||
hppa - parisc - y -
|
||||
hppa - parisc64-smp - y -
|
||||
|
|
119
debian/patches/bugfix/arm/ARM-orion-provide-C-style-interrupt-handler-for-MULTI_IRQ_HANDLER.patch
vendored
Normal file
119
debian/patches/bugfix/arm/ARM-orion-provide-C-style-interrupt-handler-for-MULTI_IRQ_HANDLER.patch
vendored
Normal file
|
@ -0,0 +1,119 @@
|
|||
From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||
Subject: [PATCH] ARM: orion: provide C-style interrupt handler for
|
||||
MULTI_IRQ_HANDLER
|
||||
Date: Thu, 16 Jan 2014 09:10:31 +0100
|
||||
Message-Id: <1389859831-9883-1-git-send-email-sebastian.hesselbarth@gmail.com>
|
||||
|
||||
DT-enabled Marvell Kirkwood and Dove SoCs make use of an irqchip
|
||||
driver. As expected for irqchip drivers, it uses a C-style
|
||||
interrupt handler and therefore selects MULTI_IRQ_HANDLER.
|
||||
|
||||
Now, compiling a kernel with both non-DT and DT support enabled,
|
||||
selecting MULTI_IRQ_HANDLER will break ASM irq handler used by
|
||||
non-DT boards.
|
||||
|
||||
Therefore, we provide a C-style irq handler even for non-DT boards,
|
||||
if MULTI_IRQ_HANDLER is set. By installing the C-style irq handler
|
||||
in orion_irq_init this is transparent to all non-DT board files.
|
||||
|
||||
While the regression report was filed on Marvell Kirkwood, also
|
||||
Marvell Dove non-DT boards are affected and fixed by this patch.
|
||||
|
||||
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||
Tested-by: Ian Campbell <ijc@hellion.org.uk>
|
||||
Reported-by: Ian Campbell <ijc@hellion.org.uk>
|
||||
Fixes: 2326f04321a9 ("ARM: kirkwood: convert to DT irqchip and clocksource")
|
||||
Fixes: f07d73e33d0e ("ARM: dove: convert to DT irqchip and clocksource")
|
||||
---
|
||||
Compared to the two patch version sent on Ian's regression report,
|
||||
I cooked this down to a single patch only touching plat-orion/irq.c.
|
||||
I also dropped Orion5x and MV78x00, as they not yet select MULTI_IRQ_HANDLER
|
||||
at all. Instead I added a comment about taking care of them, as soon as
|
||||
they move over to an irqchip driver themselves.
|
||||
|
||||
I have not yet Cc'ed this patch to -stable to get some discussion and
|
||||
an Acked-by from Jason or Andrew, too.
|
||||
|
||||
Cc: Jason Cooper <jason@lakedaemon.net>
|
||||
Cc: Andrew Lunn <andrew@lunn.ch>
|
||||
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||
Cc: Russell King <linux@arm.linux.org.uk>
|
||||
Cc: Ian Campbell <ijc@hellion.org.uk>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: linux-kernel@vger.kernel.org
|
||||
---
|
||||
arch/arm/plat-orion/irq.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 47 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/plat-orion/irq.c b/arch/arm/plat-orion/irq.c
|
||||
index c492e1b3dfdb..807df142444b 100644
|
||||
--- a/arch/arm/plat-orion/irq.c
|
||||
+++ b/arch/arm/plat-orion/irq.c
|
||||
@@ -15,8 +15,51 @@
|
||||
#include <linux/io.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_irq.h>
|
||||
+#include <asm/exception.h>
|
||||
#include <plat/irq.h>
|
||||
#include <plat/orion-gpio.h>
|
||||
+#include <mach/bridge-regs.h>
|
||||
+
|
||||
+#ifdef CONFIG_MULTI_IRQ_HANDLER
|
||||
+/*
|
||||
+ * Compiling with both non-DT and DT support enabled, will
|
||||
+ * break asm irq handler used by non-DT boards. Therefore,
|
||||
+ * we provide a C-style irq handler even for non-DT boards,
|
||||
+ * if MULTI_IRQ_HANDLER is set.
|
||||
+ *
|
||||
+ * Notes:
|
||||
+ * - this is prepared for Kirkwood and Dove only, update
|
||||
+ * accordingly if you add Orion5x or MV78x00.
|
||||
+ * - Orion5x uses different macro names and has only one
|
||||
+ * set of CAUSE/MASK registers.
|
||||
+ * - MV78x00 uses the same macro names but has a third
|
||||
+ * set of CAUSE/MASK registers.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+static void __iomem *orion_irq_base = IRQ_VIRT_BASE;
|
||||
+
|
||||
+asmlinkage void
|
||||
+__exception_irq_entry orion_legacy_handle_irq(struct pt_regs *regs)
|
||||
+{
|
||||
+ u32 stat;
|
||||
+
|
||||
+ stat = readl_relaxed(orion_irq_base + IRQ_CAUSE_LOW_OFF);
|
||||
+ stat &= readl_relaxed(orion_irq_base + IRQ_MASK_LOW_OFF);
|
||||
+ if (stat) {
|
||||
+ unsigned int hwirq = __fls(stat);
|
||||
+ handle_IRQ(hwirq, regs);
|
||||
+ return;
|
||||
+ }
|
||||
+ stat = readl_relaxed(orion_irq_base + IRQ_CAUSE_HIGH_OFF);
|
||||
+ stat &= readl_relaxed(orion_irq_base + IRQ_MASK_HIGH_OFF);
|
||||
+ if (stat) {
|
||||
+ unsigned int hwirq = 32 + __fls(stat);
|
||||
+ handle_IRQ(hwirq, regs);
|
||||
+ return;
|
||||
+ }
|
||||
+}
|
||||
+#endif
|
||||
|
||||
void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr)
|
||||
{
|
||||
@@ -35,6 +78,10 @@ void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr)
|
||||
ct->chip.irq_unmask = irq_gc_mask_set_bit;
|
||||
irq_setup_generic_chip(gc, IRQ_MSK(32), IRQ_GC_INIT_MASK_CACHE,
|
||||
IRQ_NOREQUEST, IRQ_LEVEL | IRQ_NOPROBE);
|
||||
+
|
||||
+#ifdef CONFIG_MULTI_IRQ_HANDLER
|
||||
+ set_handle_irq(orion_legacy_handle_irq);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
--
|
||||
1.8.5.2
|
||||
|
||||
|
||||
|
|
@ -77,3 +77,4 @@ bugfix/all/disable-some-marvell-phys.patch
|
|||
features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch
|
||||
bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch
|
||||
bugfix/arm/xen-pci-fix-build-on-non-x86.patch
|
||||
bugfix/arm/ARM-orion-provide-C-style-interrupt-handler-for-MULTI_IRQ_HANDLER.patch
|
||||
|
|
|
@ -471,7 +471,6 @@ sub image_magic {
|
|||
######################################################################
|
||||
|
||||
sub do_modules {
|
||||
print STDERR "Running depmod.\n";
|
||||
my $ret = system("depmod -a -F $realimageloc/System.map-$version $version");
|
||||
my $exit_value = $? >> 8;
|
||||
my $signal_num = $? & 127;
|
||||
|
@ -585,16 +584,14 @@ if ($postinst_hook) {
|
|||
}
|
||||
|
||||
if (-d "/etc/kernel/postinst.d") {
|
||||
print STDERR "Examining /etc/kernel/postinst.d.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
system ("run-parts --report --exit-on-error --arg=$version " .
|
||||
"--arg=$realimageloc$kimage-$version " .
|
||||
"/etc/kernel/postinst.d") &&
|
||||
die "Failed to process /etc/kernel/postinst.d";
|
||||
}
|
||||
|
||||
if (-d "/etc/kernel/postinst.d/$version") {
|
||||
print STDERR "Examining /etc/kernel/postinst.d/$version.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
system ("run-parts --report --exit-on-error --arg=$version " .
|
||||
"--arg=$realimageloc$kimage-$version " .
|
||||
"/etc/kernel/postinst.d/$version") &&
|
||||
die "Failed to process /etc/kernel/postinst.d/$version";
|
||||
|
|
|
@ -204,15 +204,13 @@ if ($postrm_hook) {
|
|||
&run_hook("postrm", $postrm_hook);
|
||||
}
|
||||
if (-d "/etc/kernel/postrm.d") {
|
||||
warn "Examining /etc/kernel/postrm.d .\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
system ("run-parts --report --exit-on-error --arg=$version " .
|
||||
"--arg=$realimageloc$kimage-$version " .
|
||||
"/etc/kernel/postrm.d") &&
|
||||
die "Failed to process /etc/kernel/postrm.d";
|
||||
}
|
||||
if (-d "/etc/kernel/postrm.d/$version") {
|
||||
warn "Examining /etc/kernel/postrm.d/$version .\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
system ("run-parts --report --exit-on-error --arg=$version " .
|
||||
"--arg=$realimageloc$kimage-$version " .
|
||||
"/etc/kernel/postrm.d/$version") &&
|
||||
die "Failed to process /etc/kernel/postrm.d/$version";
|
||||
|
|
|
@ -102,15 +102,13 @@ if (-x "$preinst_hook") {
|
|||
&run_hook("preinst", $preinst_hook);
|
||||
}
|
||||
if (-d "/etc/kernel/preinst.d") {
|
||||
print STDERR "Examining /etc/kernel/preinst.d/\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version" .
|
||||
system ("run-parts --report --exit-on-error --arg=$version" .
|
||||
" --arg=$realimageloc$kimage-$version" .
|
||||
" /etc/kernel/preinst.d") &&
|
||||
die "Failed to process /etc/kernel/preinst.d";
|
||||
}
|
||||
if (-d "/etc/kernel/preinst.d/$version") {
|
||||
print STDERR "Examining /etc/kernel/preinst.d/$version.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version" .
|
||||
system ("run-parts --report --exit-on-error --arg=$version" .
|
||||
" --arg=$realimageloc$kimage-$version" .
|
||||
" /etc/kernel/preinst.d/$version") &&
|
||||
die "Failed to process /etc/kernel/preinst.d/$version";
|
||||
|
|
|
@ -143,14 +143,12 @@ if (-x "$prerm_hook") {
|
|||
&run_hook("prerm", $prerm_hook);
|
||||
}
|
||||
if (-d "/etc/kernel/prerm.d") {
|
||||
print STDERR "Examining /etc/kernel/prerm.d.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version " .
|
||||
system ("run-parts --report --exit-on-error --arg=$version " .
|
||||
"--arg=$realimageloc$kimage-$version /etc/kernel/prerm.d") &&
|
||||
die "Failed to process /etc/kernel/prerm.d";
|
||||
}
|
||||
if (-d "/etc/kernel/prerm.d/$version") {
|
||||
print STDERR "Examining /etc/kernel/prerm.d/$version.\n";
|
||||
system ("run-parts --verbose --exit-on-error --arg=$version" .
|
||||
system ("run-parts --report --exit-on-error --arg=$version" .
|
||||
" --arg=$realimageloc$kimage-$version " .
|
||||
"/etc/kernel/prerm.d/$version") &&
|
||||
die "Failed to process /etc/kernel/prerm.d/$version";
|
||||
|
|
Loading…
Reference in New Issue