linux-stable/drivers/ieee1394
Frans Pop d1069aea68 ieee1394: ohci1394: don't leave interrupts enabled during suspend/resume
On my HP 2510p I get the following in dmesg during near the end of most
resumes from suspend to RAM:

irq 19: nobody cared (try booting with the "irqpoll" option)
Pid: 0, comm: swapper Not tainted 2.6.28-rc7 #67
Call Trace:
 <IRQ>  [<ffffffffa00ee9e1>] ? ohci_irq_handler+0x60/0x7e9 [ohci1394]
 [<ffffffff8026aa4d>] __report_bad_irq+0x38/0x87
 [<ffffffff8026abaa>] note_interrupt+0x10e/0x174
 [<ffffffff8026b262>] handle_fasteoi_irq+0xa7/0xd1
 [<ffffffff8020eb87>] do_IRQ+0x73/0xe4
 [<ffffffff8020c626>] ret_from_intr+0x0/0xa
 <EOI>  [<ffffffffa0012606>] ? acpi_idle_enter_bm+0x26b/0x2b2 [processor]
 [<ffffffffa00125fc>] ? acpi_idle_enter_bm+0x261/0x2b2 [processor]
 [<ffffffff8024f30f>] ? notifier_call_chain+0x33/0x5b
 [<ffffffff803b9c64>] ? cpuidle_idle_call+0x8c/0xc4
 [<ffffffff8020b312>] ? cpu_idle+0x4a/0x9a
 [<ffffffff8042c5c8>] ? rest_init+0x5c/0x5e
handlers:
[<ffffffffa00ee981>] (ohci_irq_handler+0x0/0x7e9 [ohci1394])
Disabling IRQ #19

There also seems to be an interrupt storm during suspend/resume when this
happens:
 19:      99968         33   IO-APIC-fasteoi   ohci1394

This patch gets rid of both issues and makes the resume as a whole
significantly faster.

Signed-off-by: Frans Pop <elendil@planet.nl>

As was pointed out in http://lkml.org/lkml/2008/12/6/127, this does not
fix the cause of the interrupt storm.  However, since the source of the
interrupts could not be determined yet, we make the system at least more
usable with this change.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-01-04 23:50:33 +01:00
..
config_roms.c
config_roms.h
csr.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
csr.h
csr1212.c ieee1394: Use DIV_ROUND_UP 2008-10-15 22:21:07 +02:00
csr1212.h
dma.c ieee1394: dump mmapped iso buffers in core files 2008-07-14 13:06:02 +02:00
dma.h
dv1394-private.h
dv1394.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-11-06 15:55:34 -08:00
dv1394.h
eth1394.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
eth1394.h
highlevel.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
highlevel.h ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
hosts.c ieee1394: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-31 08:48:25 +01:00
hosts.h ieee1394: fix list corruption (reported at module removal) 2008-11-29 17:07:56 +01:00
ieee1394-ioctl.h
ieee1394.h
ieee1394_core.c ieee1394: limit early node speed to host interface speed 2008-04-18 17:55:31 +02:00
ieee1394_core.h
ieee1394_hotplug.h
ieee1394_transactions.c ieee1394: remove unused code 2008-01-30 22:22:20 +01:00
ieee1394_transactions.h
ieee1394_types.h
init_ohci1394_dma.c x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
iso.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
iso.h ieee1394: rawiso: requeue packet for transmission after skipped cycle 2008-04-25 18:15:45 +02:00
Kconfig ieee1394: Kconfig menu touch-up 2008-06-19 00:12:36 +02:00
Makefile x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
nodemgr.c ieee1394: add quirk fix for Freecom HDD 2008-12-14 01:13:13 +01:00
nodemgr.h ieee1394: survive a few seconds connection loss 2008-10-15 22:21:09 +02:00
ohci1394.c ieee1394: ohci1394: don't leave interrupts enabled during suspend/resume 2009-01-04 23:50:33 +01:00
ohci1394.h
pcilynx.c ieee1394: Use shorter list_splice_init() for brevity. 2008-04-18 17:55:30 +02:00
pcilynx.h
raw1394-private.h ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe 2008-10-15 22:21:08 +02:00
raw1394.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
raw1394.h
sbp2.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
sbp2.h ieee1394: sbp2: enforce s/g segment size limit 2008-10-15 22:21:07 +02:00
video1394.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-10-16 15:02:24 -07:00
video1394.h