I updated to 295.20 once it was released and things were looking good for a while, but I just had the same unhandled IRQ issue again last night. It happened while watching/seeking in a H.264 encoded video through MythTV. After killing the X server, removing the kernel module and reinserting it, I was able to restart X and watch the same video just fine. If you have any suggestions or need more info, please feel free to ask.
Here is a snippet from the kernel log:
Code:
irq 50: nobody cared (try booting with the "irqpoll" option)
Pid: 0, comm: swapper Tainted: P 3.1.1 #5
Call Trace:
[<c1065fe1>] ? __report_bad_irq+0x21/0xc0
[<c106619e>] ? note_interrupt+0x11e/0x1d0
[<fac72bff>] ? nv_kern_isr+0x2f/0x70 [nvidia]
[<c1064626>] ? handle_irq_event_percpu+0x66/0x140
[<c1067d52>] ? irq_move_masked_irq+0x82/0xb0
[<c1066840>] ? irq_check_poll+0x20/0x20
[<c106472c>] ? handle_irq_event+0x2c/0x50
[<c1066840>] ? irq_check_poll+0x20/0x20
[<c1066894>] ? handle_edge_irq+0x54/0xd0
<IRQ> [<c1003ead>] ? do_IRQ+0x3d/0xc0
[<c1037091>] ? irq_exit+0x31/0xa0
[<c1019e11>] ? smp_apic_timer_interrupt+0x51/0x90
[<c1037270>] ? irq_enter+0x60/0x60
[<c1277e69>] ? common_interrupt+0x29/0x30
[<c1037270>] ? irq_enter+0x60/0x60
[<c10372ae>] ? __do_softirq+0x3e/0xf0
[<c1037270>] ? irq_enter+0x60/0x60
<IRQ> [<c10370ce>] ? irq_exit+0x6e/0xa0
[<c1003eb6>] ? do_IRQ+0x46/0xc0
[<c104f1e0>] ? hrtimer_start+0x20/0x30
[<c1277e69>] ? common_interrupt+0x29/0x30
[<c1009902>] ? mwait_idle+0x42/0x60
[<c1001bf4>] ? cpu_idle+0x54/0x90
[<c136c6c7>] ? start_kernel+0x26c/0x271
[<c136c299>] ? kernel_init+0x117/0x117
handlers:
[<fac72bd0>] nv_kern_isr
Disabling IRQ #50
sky2 0000:03:00.0: eth1: rx error, status 0x7ffc0001 length 168
NVRM: Xid (0000:07:00): 8, Channel 00000004
NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
NVRM: Xid (0000:07:00): 16, Head 00000000 Count 01378862