linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Celleb cannot exit from ata_host_intr()
@ 2007-01-18  6:52 Akira Iguchi
  2007-01-19 10:48 ` Albert Lee
  0 siblings, 1 reply; 4+ messages in thread
From: Akira Iguchi @ 2007-01-18  6:52 UTC (permalink / raw)
  To: linux-ide; +Cc: kou.ishizaki

Hi,

I have a problem that our hardware (Celleb) cannot exit from
ata_host_intr() when ATAPI DMA data read fails.

This PATA controller sets bit2 (ATA_DMA_INTR) of BMDMA status register
after it finished DMA data read. If ATAPI DMA data read fails
due to no CDROM, it doesn't transfer data and generates an interrupt.
In this case, bit2 of BMDMA status register is not set.

libata ISR (ata_host_intr()) checks this bit by the following code:

			/* if it's not our irq... */
			if (!(host_stat & ATA_DMA_INTR))
				goto idle_irq;


Our driver always hits this check. As a result, ISR loops forever.
I temporarily use libata by removing this check.

I wonder if this check is necessary. In drivers/ide, cdrom_decode_status()
seems to check IDE STATUS register instead of BMDMA status register.
If there is no problem, I hope this check will be removed.

Best regards,
Akira Iguchi

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

end of thread, other threads:[~2007-01-22  7:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-18  6:52 Celleb cannot exit from ata_host_intr() Akira Iguchi
2007-01-19 10:48 ` Albert Lee
2007-01-22  2:48   ` Akira Iguchi
     [not found]   ` <200701220248.l0M2m9r4016903@toshiba.co.jp>
2007-01-22  7:58     ` Albert Lee

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).