Bug 8036 - hdc: lost interrupt using some compact flash as ide disk
Summary: hdc: lost interrupt using some compact flash as ide disk
Status: REJECTED INSUFFICIENT_DATA
Alias: None
Product: IO/Storage
Classification: Unclassified
Component: IDE (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: io_ide@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-19 01:22 UTC by Marco Lazzarotto
Modified: 2008-09-24 10:01 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.20
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
Partial output of dmesg (2.27 KB, text/plain)
2007-03-12 04:01 UTC, Marco Lazzarotto
Details
Output of lspci -vvvxxx (13.53 KB, text/plain)
2007-03-12 04:20 UTC, Marco Lazzarotto
Details
Output of hdparm --Istdout (1.26 KB, text/plain)
2007-03-12 04:21 UTC, Marco Lazzarotto
Details
Kernel config file (25.08 KB, text/plain)
2007-03-12 09:35 UTC, Marco Lazzarotto
Details
Output of dmesg on Gene-4312 board (7.67 KB, text/plain)
2007-03-13 02:39 UTC, Marco Lazzarotto
Details

Description Marco Lazzarotto 2007-02-19 01:22:12 UTC
Most recent kernel where this bug did *NOT* occur:

none, already seen in 2.4.* kernel

Distribution:

Debian sarge *and* bootdisk made with uclibc

Hardware Environment:

VIA SOM-ETX (4475)
and
Gene-4312

Software Environment:

shell

Problem Description:

Accessing the compact flash as /dev/hdc gives the message:

hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hdc: drive not ready for command
[ the 'bad bit' is DataRequest ]

and then, several
hdc: lost interrupt

Steps to reproduce:

 - Use a compact flash SanDisk SDCFB-128 Firmware revision HDX 2.15
   (we used other compact flashes with the same hw ad sw for years with no trouble)

 - sfdisk -l /dev/hdc

Other information:

 - sfdisk -R /dev/hdc does't block (no hdc: lost interrupt)

 - mounting an already existent vfat partition seems to be ok, no error
messages, and copying a big file goes ok)

 - mounting an already existent ext2/ext3 partition does'nt function

 - enabling dma gives the message
hdc: dma_timer_expiry: dma status == 0x21
hdc: DMA timeout error
hdc: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown

 - booting with the irqpoll parameter does'nt stop the system, but the data on
the compact flash are corrupted (after making and formatting a ext3 partition
get message "allocating block in system zone" writing files on it }
[ in the function 
irqreturn_t ide_intr (int irq, void *dev_id)
in file drivers/ide/ide-io.c
if (!drive_is_ready(drive)) -> is true ]
Comment 1 Marco Lazzarotto 2007-03-12 04:01:49 UTC
Created attachment 10709 [details]
Partial output of dmesg

I dump IDE_STATUS_REG with e.g. 'printk("%s : recal_intr()
IDE_STATUS_REG=%02x\n",drive->name,stat)'
where stat was assigned as 'u8 stat=hwif->INB(IDE_STATUS_REG)'

It seems to me that the status is good until it tries to read the
partition table...

In fact, every time I do

sfdisk -R /dev/hdc

the next reading from compact flash (if ever does not get 'lost
interrupt) generates the message
 hdc: status error: status=0x58 {...}
Comment 2 Marco Lazzarotto 2007-03-12 04:20:10 UTC
Created attachment 10710 [details]
Output of lspci -vvvxxx
Comment 3 Marco Lazzarotto 2007-03-12 04:21:25 UTC
Created attachment 10711 [details]
Output of hdparm --Istdout
Comment 4 Marco Lazzarotto 2007-03-12 09:35:52 UTC
Created attachment 10722 [details]
Kernel config file
Comment 5 Marco Lazzarotto 2007-03-13 02:39:24 UTC
Created attachment 10741 [details]
Output of dmesg on Gene-4312 board

On this board too, if dma is enabled it gets interrupts lost.
After initial trouble (maybe dma get automatically disabled?) all goes ok.

Disabling dma with the boot option ide=nodma all goes ok.
Disabling dma on the bios has no effect.
Comment 6 Natalie Protasevich 2007-07-08 16:22:00 UTC
Marco, anything changed with the latest kernel, is the problem still there (2.6.22-rc7 or so)?
Thanks.
Comment 7 Marco Lazzarotto 2007-07-27 05:17:20 UTC
The problem is still there.
On a SOM-4475 board (Bios versione 1.14), the Sandisk SDCFB-128 still doesn't go.
(even with no dma support in the kernel, and with ide=nodma option)
I cannot check now, if it is an hardware problem, bound to this specific board.
Comment 8 Bartlomiej Zolnierkiewicz 2008-02-16 10:38:05 UTC
Is this still a problem with 2.6.25-rc2?
Comment 9 Alan 2008-09-24 10:01:40 UTC
No response

Note You need to log in before you can comment on or make changes to this bug.