All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabio Parodi <fabio.parodi@fredreggiane.com>
To: linux-kernel@vger.kernel.org
Subject: WAIT_DRQ and ATA flash
Date: Thu, 6 Dec 2001 16:01:33 +0100	[thread overview]
Message-ID: <20011206160133.A31127@freemail.it> (raw)

Hi Guys,

We use a Samsung ATA flash as /dev/hda. Filesystem is ext3 but the same
occurs with minix. It worked fine up to kernel 2.4.10. But from kernel
2.4.11 (2.4.12) onward a troublesome problem crept in.

We fixed it by modifying the timeout value of WAIT_DRQ. 

IDE specs allow up to 20ms, standard Linux kernel allows up to
50ms, but Samsung ATA CF needs 100ms. 

What should we do? We have four options:

A - keep this patch for us. Stop bothering.
B - #define WAIT_DRQ (10*HZ/100) in standard kernel tree
C - put a parameter to be adjusted at boot time 
D - write some code that autoadjusts WAIT_DRQ depending on device type

We think that option B should not harm other users - after all, 
this timeout only occurs in case of errors. 

If you are interested in details, this is an excerpt from dmesg:

Linux version 2.4.16 (root@devel-linux) (gcc version 2.95.2 19991024
(release)) 
...
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
CS5530: IDE controller on PCI bus 00 dev 92
CS5530: chipset revision 0
CS5530: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:pio, hdd:pio
hda: SAMSUNG ATA CF, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 
hda: 123392 sectors (63 MB) w/1KiB Cache, CHS=964/4/32
Partition check:
 hda: hda1        
...


After one minute from the boot, the ide driver
prints these messages:

hda: status timeout: status=0xd0 { Busy }
hda: no DRQ after issuing WRITE
ide0: reset: master: error (0x00?)
hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
hda: status error: error=0x00 { }
hda: drive not ready for command
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hda: drive not ready for command
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hda: drive not ready for command
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hda: drive not ready for command
ide0: reset: master: error (0x00?)
end_request: I/O error, dev 03:01 (hda), sector 2
end_request: I/O error, dev 03:01 (hda), sector 16
end_request: I/O error, dev 03:01 (hda), sector 18
end_request: I/O error, dev 03:01 (hda), sector 20
end_request: I/O error, dev 03:01 (hda), sector 22
end_request: I/O error, dev 03:01 (hda), sector 24
end_request: I/O error, dev 03:01 (hda), sector 26
end_request: I/O error, dev 03:01 (hda), sector 28
end_request: I/O error, dev 03:01 (hda), sector 30       

The system becomes unstable.

Fabio Parodi

                 reply	other threads:[~2001-12-06 15:02 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011206160133.A31127@freemail.it \
    --to=fabio.parodi@fredreggiane.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.