Re: SiI3124 + SiI3726 pm

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

 



Hi,
      I think the 6th port is for the SEMB(Sata Enclosure Management
Bridge) device, this device reportssignature with lbam=0x3c and lbah
0xc3, but the linux classifies it as a disk:

 if (((tf->lbam == 0) && (tf->lbah == 0)) ||
 ((tf->lbam == 0x3c) && (tf->lbah == 0xc3))) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DPRINTK("found ATA device by sig\n");
return ATA_DEV_ATA;

Can you print the signature of the device on that port?
Anyway, the 0x3C, 0xC3 signature should be classifies as a SEMB device
and not a disk according to the SATA standard.

saeed

On 5/25/06, Tejun Heo <htejun@xxxxxxxxx> wrote:
Jérôme VUARAND wrote:
> I just realised after the mail that the driver was really thinking
> there are 6 ports on the pm, since it's testing ata3.05 and ata4.05.
> These don't exist and generate errors. There's a bug somewhere and
> here is a workaround I made quickly to have correct enumeration
> behaviour (I hope no automatic process parse mails on this mailing
> list for patches, coz this one is not really clean) :

Can you try the attached patch?

--
tejun


diff --git a/drivers/scsi/libata-pm.c b/drivers/scsi/libata-pm.c
index 002d8b2..7a56ab7 100644
--- a/drivers/scsi/libata-pm.c
+++ b/drivers/scsi/libata-pm.c
@@ -327,6 +327,14 @@ static void ata_pm_quirks(u32 *gscr, int
                *nr_ports -= 2;
                *link_flags |= ATA_LFLAG_HRST_TO_RESUME;
        }
+
+       /* Sil3726 reports one extra port and needs hardreset to
+        * resume PM link.
+        */
+       if (vendor == 0x1095 && devid == 0x3726) {
+               *nr_ports -= 1;
+               *link_flags |= ATA_LFLAG_HRST_TO_RESUME;
+       }
 }

 static int ata_pm_configure(struct ata_device *dev, int *r_nr_ports,



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