linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH, IDE] Blacklist CD-912E/ATK
       [not found] <E1EeJoy-0001LS-DG__45201.7337469899$1132611644$gmane$org@iglo.domek.prywatny>
@ 2005-11-22  2:44 ` Horms
  2005-11-22 20:26   ` Alan Cox
  0 siblings, 1 reply; 3+ messages in thread
From: Horms @ 2005-11-22  2:44 UTC (permalink / raw)
  To: Karol Lewandowski, 340228
  Cc: Bartlomiej Zolnierkiewicz, linux-kernel, linux-ide

    URL: http://bugs.debian.org/340228
    From: Karol Lewandowski <klz@o2.pl>
    
    Package: kernel-image-2.6.8-2-k7
    Version: 2.6.8-16
    Severity: important
    
    Linux kernel 2.6.(everything) panics when mounting cdrom when DMA
    transfers are enabled (default).  It works fine if DMA is disabled.
    
    The drive is clearly broken.  Adding blacklist to drivers/ide/ide-dma.c
    for this model ("CD-912E/ATK") fixes this problem.
    
    Messages gathered on panic condition:
    
    --- Begin kernel messages ---
    
    ide-cd: cmd 0x28 timed out
    hdc: DMA interrupt recovery
    hdc: lost interrupt
    hdc: cdrom_decode_status: status=0xd0 { Busy }
    ide: failed opcode was: unknown
    hdc: DMA disabled
    ------------[ cut here ]------------
    kernel BUG at drivers/ide/ide-iops.c:949!
    invalid operand: 0000 [#1]
    Modules linked in:
    CPU:    0
    EIP:    0060:[<c01ece82>]    Not tainted VLI
    EFLAGS: 00010086   (2.6.14-eve1)
    EIP is at ide_execute_command+0x22/0x90
    eax: c01ecef0   ebx: c02fed38   ecx: 00008000   edx: c3f81580
    esi: c02feca8   edi: 00000286   ebp: c01f9000   esp: c02c7e50
    ds: 007b   es: 007b   ss: 0068
    Process swapper (pid: 0, threadinfo=c02c6000 task=c028eba0)
    Stack: 00000082 00808000 c01179e5 a00ce600 c10ce600 c02fed38 c02feca8 c01f8869
    c02fed38 000000a0 c01f9000 00001770 c01f86e0 c10d8ec4 c02fed38 c10d8ec4
    c10ce600 00000004 c01f938a c02fed38 00008000 c01f9000 c02fed38 c10d8ec4
    Call Trace:
    [<c01179e5>] update_process_times+0x85/0x130
    [<c01f8869>] cdrom_start_packet_command+0x119/0x1a0
    [<c01f9000>] cdrom_start_read_continuation+0x0/0xb0
    [<c01f86e0>] cdrom_timer_expiry+0x0/0x70
    [<c01f938a>] cdrom_start_read+0xca/0xd0
    [<c01f9000>] cdrom_start_read_continuation+0x0/0xb0
    [<c01fa075>] ide_do_rw_cdrom+0x95/0x1b0
    [<c01eb1b6>] start_request+0x156/0x240
    [<c01eb4fa>] ide_do_request+0x22a/0x380
    [<c01eb867>] ide_timer_expiry+0xd7/0x1c0
    [<c01eb790>] ide_timer_expiry+0x0/0x1c0
    [<c0117b66>] run_timer_softirq+0xb6/0x1b0
    [<c0113deb>] __do_softirq+0x7b/0x90
    [<c0113e26>] do_softirq+0x26/0x30
    [<c010415e>] do_IRQ+0x1e/0x30
    [<c0102a46>] common_interrupt+0x1a/0x20
    [<c0100920>] default_idle+0x0/0x30
    [<c0100943>] default_idle+0x23/0x30
    [<c01009e0>] cpu_idle+0x50/0x60
    [<c02c87f6>] start_kernel+0x146/0x170
    [<c02c8380>] unknown_bootoption+0x0/0x1e0
    Code: c3 90 8d b4 26 00 00 00 00 57 56 53 83 ec 10 8b 5c 24 20 0f b6 44 24 24 88 44 24 0f 8b 73 6c 8b 56 08 9c 5f fa 8b 02 85 c0 74 08 <0f> 0b b5 03 9c 08 27 c0 8b 44 24 28 89 02 8b 44 24 30 89 82 dc
    <0>Kernel panic - not syncing: Fatal exception in interrupt
    
    --- End ---
    
    Thanks, I'm forwarding the patch you suggest to the IDE maintainers for
    consideration. It seems to apply to current 2.6 head as well
    as the somewhat ancient 2.6.8.
    
    Signed-off-by: Horms <horms@verge.net.au>

diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index 1e15313..e430717 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -126,6 +126,7 @@ static const struct drive_list_entry dri
 	{ "HITACHI CDR-8435"	,	"ALL"		},
 	{ "Toshiba CD-ROM XM-6202B"	,	"ALL"		},
 	{ "CD-532E-A"		,	"ALL"		},
+	{ "CD-912E/ATK"		,	"ALL"		},
 	{ "E-IDE CD-ROM CR-840",	"ALL"		},
 	{ "CD-ROM Drive/F5A",	"ALL"		},
 	{ "WPI CDD-820",		"ALL"		},

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH, IDE] Blacklist CD-912E/ATK
  2005-11-22  2:44 ` [PATCH, IDE] Blacklist CD-912E/ATK Horms
@ 2005-11-22 20:26   ` Alan Cox
  2005-11-23 11:11     ` kl
  0 siblings, 1 reply; 3+ messages in thread
From: Alan Cox @ 2005-11-22 20:26 UTC (permalink / raw)
  To: Horms
  Cc: Karol Lewandowski, 340228, Bartlomiej Zolnierkiewicz,
	linux-kernel, linux-ide


>     The drive is clearly broken.  Adding blacklist to drivers/ide/ide-dma.c
>     for this model ("CD-912E/ATK") fixes this problem.

That may be the case but knowing if th drive is the problem is more
tricky.

Firstly try it on a different controller
Secondly check for other firmware revisions 
Thirdly blacklist only your firmware rev if there are others


>     hdc: DMA disabled
>     ------------[ cut here ]------------
>     kernel BUG at drivers/ide/ide-iops.c:949!
>     invalid operand: 0000 [#1]

That is an IDE layer bug not a drive incompatibility. It may be one
triggered the other but until the BUG the kernel was correctly behaving
and had just turned off DMA anyway.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH, IDE] Blacklist CD-912E/ATK
  2005-11-22 20:26   ` Alan Cox
@ 2005-11-23 11:11     ` kl
  0 siblings, 0 replies; 3+ messages in thread
From: kl @ 2005-11-23 11:11 UTC (permalink / raw)
  To: Alan Cox
  Cc: Horms, Karol Lewandowski, 340228, Bartlomiej Zolnierkiewicz,
	linux-kernel, linux-ide

On Tue, Nov 22, 2005 at 08:26:19 +0000, Alan Cox wrote:
 
> >     The drive is clearly broken.  Adding blacklist to drivers/ide/ide-dma.c
> >     for this model ("CD-912E/ATK") fixes this problem.
 
> That may be the case but knowing if th drive is the problem is more
> tricky.

By saying that drive is broken I meant "it never worked with DMA", at
least for me.  Sorry for not being clear.

I have more to add -- IMHO blacklisting the drive doesn't fix the
problem, but just works around it.  As I written in my original bug
report[1] I thought panic shouldn't happen anyway.  I also noted that
kernels 2.4.* handle this situation gracefully, and pointed out that
the time between panic (in 2.6), and graceful recovery (in 2.4)
differs between kernels.

[1] http://bugs.debian.org/340228

 
> Firstly try it on a different controller

I tested it on two controllers:
0000:00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II]
0000:00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)

Kernel panics as before on both of them.


> Secondly check for other firmware revisions 
> Thirdly blacklist only your firmware rev if there are others

Here goes output of "hdparm -i" for said drive.

 Model=CD-912E/ATK, FwRev=17A, SerialNo=
 Config={ SpinMotCtl Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=DualPortCache, BuffSize=128kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=yes, tPIO={min:209,w/IORDY:180}, tDMA={min:150,rec:150}
 PIO modes:  pio0 pio1 pio2 pio3 
 DMA modes:  sdma0 sdma1 sdma2 mdma0 *mdma1 
 AdvancedPM=no

As things are more clear now, I think there is no reason to search for
newer firmware for this drive?  (This is Generic-IDE bug, right?)


> >     hdc: DMA disabled
> >     ------------[ cut here ]------------
> >     kernel BUG at drivers/ide/ide-iops.c:949!
> >     invalid operand: 0000 [#1]
 
> That is an IDE layer bug not a drive incompatibility. It may be one
> triggered the other but until the BUG the kernel was correctly behaving
> and had just turned off DMA anyway.

This is what I thought in the first place, and this is what I
suggested in my original bug report.  Debian kernel mainainer shortened
the report somewhat, probably because it was too long and too boring.
Additionaly I incorrectly stated that blacklisting _fixes_ the
problem, which was even not what I personally thought. ;)

Sorry for that.

-- 
This signature intentionally says nothing.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-11-23 11:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1EeJoy-0001LS-DG__45201.7337469899$1132611644$gmane$org@iglo.domek.prywatny>
2005-11-22  2:44 ` [PATCH, IDE] Blacklist CD-912E/ATK Horms
2005-11-22 20:26   ` Alan Cox
2005-11-23 11:11     ` kl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).