Re: [PATCH] 2.6.17-rc5: the latest consensus libata resume fix

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

 



Jens Axboe wrote:
On Sun, May 28 2006, Jeff Garzik wrote:
Mark Lord wrote:
Jeff Garzik wrote:
Jens Axboe wrote:
On Sun, May 28 2006, Mark Lord wrote:
..
int ata_device_resume(struct ata_port *ap, struct ata_device *dev)
{
    if (ap->flags & ATA_FLAG_SUSPENDED) {
+        ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 200000);
        ap->flags &= ~ATA_FLAG_SUSPENDED;
        ata_set_mode(ap);
Sorry for the unresponsiveness, still away and internet connectivity
spotty. Just tested the above, and it works for me! I think Marks
analisys wrt DRQ is completely correct and this validates it.
Does your box work without ATA_DRQ?
Without ATA_DRQ, we're back to the original Linus one-liner,
which Jens said did NOT work for him on Saturday.
Indeed, but nowhere in the ATA Status printks did I ever see the DRQ bit asserted. It was all 80/50/50.

Mark is right, ATA_BUSY alone does _not_ work for me. I agree it's a
little odd based on the printk output, it must be a timing thing.

Its not a timing thing, because it consumes exactly the same amount of CPU cycles, and exactly the same amount of IO cycles. You're just testing a different static constant, that's it.

<shrug>  It works and it's merged...

If you and Mark would be kind enough to satisfy my paranoia, please test the current upstream kernel, without any additional patches, and make sure it works.

	Jeff



-
: 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