public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [libata/sata_sil] Error on startup
@ 2008-09-12 10:34 Alex Gonzalez
  2008-09-12 11:24 ` Ben Dooks
  0 siblings, 1 reply; 2+ messages in thread
From: Alex Gonzalez @ 2008-09-12 10:34 UTC (permalink / raw)
  To: linux-kernel

Hi,

I am seeing a problem with libata and the sata_sil driver. I didn't
find a libata specific mailing list so please redirect me if the lkml
is not appropriate.

I am running a 2.6.21 SMP mips kernel and on some occasions the kernel
halts on startup. This only happens at boot time, that is, once the
system is running it never exhibits the problem.

The problem occurs when trying to read the partitions from the SATA
drive, on the first call to read_dev_sector(). As I understand it, the
code finishes doing a sync_page() which starts an asynchronous I/O
operation and sleeps until awaken by an interrupt generated by the
SATA device.

I have followed the code through until the call to ata_bmdma_start(),
where it does:

iowrite8(dmactl | ATA_DMA_START, ap->ioaddr.bmdma_addr + ATA_DMA_CMD);

On a working case, the device interrupts and the flow continues. On a
non working case, there is a delay of 5 or 6 seconds, and then a
series of calls to sil_freeze(), ata_bmdma_error_handler() and
ata_bmdma_stop().

I am about to delve into the ATA specs to try to understand this
interaction, but has anybody seen this behavior before? Please CC me
on replies.

Regards,
Alex

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

end of thread, other threads:[~2008-09-12 11:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-12 10:34 [libata/sata_sil] Error on startup Alex Gonzalez
2008-09-12 11:24 ` Ben Dooks

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox