Re: kerenl 3.0.3: irq x: nobody cared problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 6, 2011 at 11:09 AM, Yegor Yefremov
<yegorslists@xxxxxxxxxxxxxx> wrote:
> I'm using a ks8695 based board with more or less self-made IDE
> controller (EPLD). Most CF cards wprked without a problem with kernel
> 2.6.33 and legacy IDE driver. Now I ported our platform to 3.0.3 and
> both legacy driver and libata driver give following error:
>
> ks8695_ether Ethernet driver, V1.02
> irq 3: nobody cared (try booting with the "irqpoll" option)
> [<c002fbbc>] (unwind_backtrace+0x0/0xe4) from [<c005ffc8>]
> (__report_bad_irq.clone.6+0x24/0xa8)
> [<c005ffc8>] (__report_bad_irq.clone.6+0x24/0xa8) from [<c0060234>]
> (note_interrupt+0x194/0x240)
> [<c0060234>] (note_interrupt+0x194/0x240) from [<c005ee58>]
> (handle_irq_event_percpu+0x150/0x17c)
> [<c005ee58>] (handle_irq_event_percpu+0x150/0x17c) from [<c005eeac>]
> (handle_irq_event+0x28/0x38)
> [<c005eeac>] (handle_irq_event+0x28/0x38) from [<c006090c>]
> (handle_level_irq+0xbc/0xe4)
> [<c006090c>] (handle_level_irq+0xbc/0xe4) from [<c005e868>]
> (generic_handle_irq+0x34/0x48)
> [<c005e868>] (generic_handle_irq+0x34/0x48) from [<c002505c>]
> (asm_do_IRQ+0x5c/0x80)
> [<c002505c>] (asm_do_IRQ+0x5c/0x80) from [<c002aa88>] (__irq_svc+0x28/0xa0)
> Exception stack(0xc3419ed0 to 0xc3419f18)
> 9ec0:                                     c036a394 00000000 c036a384 60000013
> 9ee0: 0000002a 00000003 c03822f8 c036a364 00000000 c0382220 c3419f2c 00000003
> 9f00: 00000000 c3419f18 c003a544 c003a54c 60000013 ffffffff
> [<c002aa88>] (__irq_svc+0x28/0xa0) from [<c003a54c>] (vprintk+0x310/0x348)
> [<c003a54c>] (vprintk+0x310/0x348) from [<c02b57f4>] (printk+0x18/0x24)
> [<c02b57f4>] (printk+0x18/0x24) from [<c0018244>] (ks8695_init+0x14/0x30)
> [<c0018244>] (ks8695_init+0x14/0x30) from [<c00088f8>]
> (do_one_initcall+0xa8/0x178)
> [<c00088f8>] (do_one_initcall+0xa8/0x178) from [<c0008a3c>]
> (kernel_init+0x74/0x110)
> [<c0008a3c>] (kernel_init+0x74/0x110) from [<c002bd74>]
> (kernel_thread_exit+0x0/0x8)
> handlers:
> [<c01896d8>] ata_sff_interrupt
> Disabling IRQ #3
> ks8695_ether ks8695_ether.0: ks8695 ethernet (WAN) MAC: 00:04:d9:80:91:69
> ks8695_ether ks8695_ether.1: ks8695 ethernet (LAN) MAC: 00:04:d9:80:91:6a
>
> Any idea how solve the problem? The driver fails on every CF card
> compared to 2.6.33, which made problems only by some CF types.

I've done some investigations:

- if I add printk to drivers/ide/ide-io.c->drive_is_read(), everything
is working like a charm by all tested cards. Tried to replace printk()
with ndelay()/udelay() - no way

alternative

- changed   drivers/ide/ide-io.c->ide_intr() to always return
IRQ_HANDLED. As a result:

1. Transcend Industrial Ultra cards are working as before (no issues)
2. Transcend Industrial UDMA 300x and Transcend Industrial Grade
(CF200I) make a pause between detecting CF size and partition table,
after this delay no other issues
3. TRS Industrial Grade 2GB, swissbit 1GB or Mustang 1GB seem to stay
endlessly between detecting CF size and partition table (activity LED
is on permanently)

What can be done? How can I simulate printk() behavior?

Yegor
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux