Re: 2.6.23-rc7-mm1 AHCI ATA errors -- won't boot

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

 



Berck E. Nash wrote:
Jeff Garzik wrote:
Once the blame has been squared fixed upon me :) you can use git-bisect
to locate the precise change that broke your setup.

Okay, here's the problem:

268fe6f9f15551be9abedd44a237392675d529d5 is first bad commit
commit 268fe6f9f15551be9abedd44a237392675d529d5
Author: Jeff Garzik <[email protected]>
Date:   Fri Sep 21 07:09:36 2007 -0400

    [libata] SCSI: simple TEST UNIT READY simulation

    It's trivial to ping the device, and that's a much more sane behavior
    than no-op.

    Signed-off-by: Jeff Garzik <[email protected]>

:040000 040000 44d34cdad073bd623545b8239aca9a113652c6d0
df6d21f7ce56a4e796f8f856c1f647b0395ab4df M      drivers

Does the attached patch change behavior at all? You should be able to apply it on top of libata-dev.git#upstream or -mm.

If there are still problems, an updated dmesg (w/ the attached patch) and output from enabling ATA_DEBUG (include/linux/libata.h) would be very helpful.

Thanks!

	Jeff


diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 3882c72..c9838f1 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -2800,7 +2800,9 @@ static inline ata_xlat_func_t ata_get_xlat_func(struct ata_device *dev, u8 cmd)
 		return ata_scsi_start_stop_xlat;
 
 	case TEST_UNIT_READY:
-		return ata_scsi_tur_xlat;
+		if (ata_id_has_pm(dev->id))
+			return ata_scsi_tur_xlat;
+		return NULL;
 	}
 
 	return NULL;
@@ -3021,6 +3023,7 @@ void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd,
 		case REZERO_UNIT:
 		case SEEK_6:
 		case SEEK_10:
+		case TEST_UNIT_READY:		/* only for !PM devices */
 			ata_scsi_rbuf_fill(&args, ata_scsiop_noop);
 			break;
 

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux