[libata/sata_sil] Error on startup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am seeing a problem with libata and the sata_sil driver. I was
redirected here from the lkml so I hope it's the correct list for
this.

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
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux