Message ID | 4DD418EE.8020405@teksavvy.com |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
Hello, Mark. On Wed, May 18, 2011 at 03:07:26PM -0400, Mark Lord wrote: > But it also fails equally well without the patch. :) Awesome! :) > The eSATA host controller is the ever-popular JMicron: > > 04:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 Serial ATA > Controller (rev 02) > (197b:2363) > > Just about everything around here has one of those JMicron chips > for the eSATA ports, so I'm guessing that this problem may be > somewhat more widespread than just my home office. Can you send me a link of the PMP device? > So what next? > I suspect something isn't quite right in the JMicron AHCI driver code. I have no idea. I'll get one and see what's up with it. Thanks.
On 11-05-19 05:39 AM, Tejun Heo wrote: > Hello, Mark. > > On Wed, May 18, 2011 at 03:07:26PM -0400, Mark Lord wrote: >> But it also fails equally well without the patch. :) > > Awesome! :) > >> The eSATA host controller is the ever-popular JMicron: >> >> 04:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 Serial ATA >> Controller (rev 02) >> (197b:2363) >> >> Just about everything around here has one of those JMicron chips >> for the eSATA ports, so I'm guessing that this problem may be >> somewhat more widespread than just my home office. > > Can you send me a link of the PMP device? Here's the URL. It's a dual-bay eSATA/USB2 dock. I use these all over the place, with fans added on (by me): ncix.com/products/?sku=36051 >> So what next? >> I suspect something isn't quite right in the JMicron AHCI driver code. > > I have no idea. I'll get one and see what's up with it. Thanks! Whatever the chip inside is, it is reasonably clever: 1. With just a single drive installed, it shows up as a single-drive, not a PMP. 2. With two drives installed, it enumerates as a PMP. 3. When used over USB2 instead of eSATA, it shows up as a single dev with two LUNs, rather than as a USB-hub with two devices. Fine by me. :) 4. Spins down the drives when the USB cable is detached (or host sleeps). Cheers -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- linux/drivers/ata/libata-pmp.c.orig 2011-05-09 22:33:54.000000000 -0400 +++ linux/drivers/ata/libata-pmp.c 2011-05-18 14:47:56.051148187 -0400 @@ -449,6 +449,13 @@ * otherwise. Don't try hard to recover it. */ ap->pmp_link[ap->nr_pmp_links - 1].flags |= ATA_LFLAG_NO_RETRY; + } else if (vendor == 0x197b && devid == 0x2352) { + ata_for_each_link(link, ap, EDGE) { + ata_link_printk(link, KERN_INFO, "setting NO_LPM,NO_SRST,ASSUM_ATA for pmp link"); + link->flags |= ATA_LFLAG_NO_LPM | + ATA_LFLAG_NO_SRST | + ATA_LFLAG_ASSUME_ATA; + } } }