From 32fb968be66e32a10c6eec27b33155a9c335d0d4 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 19 Nov 2008 17:10:53 +0000 Subject: tracking-2.6.27-rc7-fiq-still-broken.patch Signed-off-by: Andy Green --- arch/arm/mach-s3c2440/fiq_c_isr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-s3c2440/fiq_c_isr.c b/arch/arm/mach-s3c2440/fiq_c_isr.c index a5a8cddcd77..f3df46161d0 100644 --- a/arch/arm/mach-s3c2440/fiq_c_isr.c +++ b/arch/arm/mach-s3c2440/fiq_c_isr.c @@ -80,6 +80,8 @@ u8 fiq_ready; */ extern void __attribute__ ((naked)) s3c2440_fiq_isr(void); +static void fiq_set_vector_and_regs(void); + /* this is copied into the hard FIQ vector during init */ @@ -220,13 +222,16 @@ static int __init sc32440_fiq_probe(struct platform_device *pdev) /* configure for the interrupt we are meant to use */ printk(KERN_INFO"Enabling FIQ using irq %d\n", r->start); + fiq_set_vector_and_regs(); fiq_init_irq_source(r->start); ret = sysfs_create_group(&pdev->dev.kobj, &s3c2440_fiq_attr_group); + if (ret) + return ret; fiq_ready = 1; - return ret; + return 0; } static int sc32440_fiq_remove(struct platform_device *pdev) @@ -246,7 +251,6 @@ static void fiq_set_vector_and_regs(void) regs.ARM_sp = (unsigned long)u8aFiqStack + sizeof(u8aFiqStack) - 4; /* set up the special FIQ-mode-only registers from our regs */ - set_fiq_regs(®s); /* copy our jump to the real ISR into the hard vector address */ -- cgit v1.2.3