Re: gigabyte iRam not seen by linux

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

 



Hello, again.

On Sat, Mar 11, 2006 at 09:20:13AM +0100, Jure Pe??ar wrote:
> On Sat, 11 Mar 2006 12:31:43 +0900
> Tejun Heo <htejun@xxxxxxxxx> wrote:
> 
> > Can you apply the following patch and try again?
> 
> OK, now we have this:
> 
> SCSI subsystem initialized
> libata version 1.20 loaded.
> sata_nv 0000:00:0e.0: version 0.8
> ACPI: PCI Interrupt 0000:00:0e.0[A] -> Link [LSA0] -> GSI 23 (level, low) -> IRQ 16
> PCI: Setting latency timer of device 0000:00:0e.0 to 64
> ata_device_add: ENTER
> ata_host_add: ENTER
> ata_port_start: prd alloc, virt ffff810076c7e000, dma 76c7e000
> ata1: SATA max UDMA/133 cmd 0xE800 ctl 0xE482 bmdma 0xE000 irq 16
> ata_host_add: ENTER
> ata_port_start: prd alloc, virt ffff810074551000, dma 74551000
> ata2: SATA max UDMA/133 cmd 0xE400 ctl 0xE082 bmdma 0xE008 irq 16
> ata_device_add: probe begin
> ata_device_add: ata1: probe begin
> ata1: SATA link up 1.5 Gbps (SStatus 113)
> ata_bus_reset: ENTER, host 1, port 0
> ata_bus_reset: devmask=0x1
> ata_bus_softreset: ata1: bus reset via SRST
> ata_dev_try_classify: dev=0, TF 00 00:01:01:00:00 a0 50

It's reporting 0x00 for FEATURE when it should report 0x01 (indicates
diagnostic passed).

> ata_bus_reset: EXIT
> ata_dev_identify: ENTER/EXIT (host 1, dev 0) -- nodev
> ata_dev_identify: ENTER/EXIT (host 1, dev 1) -- nodev
> ata_device_add: ata1: probe end
> scsi0 : sata_nv

The patch at the tail of this mail makes ata_dev_try_classify() ignore
diagnostic code in FEATURE.  If the iRam successfully gets attached
with the patch, can you please post 'hdparm -I /dev/sdX' and 'hdparm
--Istdout /dev/sdX' of the iRam?  We're pretty curious.

Jeff, this reminds me that low level drivers which don't use
ata_dev_try_classify (ahci and sil24) currently don't check the
diagnostic codes.  Any ideas how this should be dealt with?

--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -477,7 +477,7 @@ ata_dev_try_classify(struct ata_port *ap
 	else if ((device == 0) && (err == 0x81))
 		/* do nothing */ ;
 	else
-		return ATA_DEV_NONE;
+		/*return ATA_DEV_NONE*/;
 
 	/* determine if device is ATA or ATAPI */
 	class = ata_dev_classify(&tf);
-
: 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