The patch titled libata: spot bridge chips has been added to the -mm tree. Its filename is libata-spot-bridge-chips.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: libata: spot bridge chips From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> If we have a PATA cable with a SATA drive on it then we've found a bridge and we can flip the cable type. This fixes some cable detect problems with SATA bridges on chipsets and misdetected cable types. In theory cable detection and mode limiting is needed if you put a SATA/PATA bridge on a 40 wire cable, but I see no way to deal with that other than to point out its not a good idea anyway. Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/ata/libata-core.c | 11 +++++++++++ 1 files changed, 11 insertions(+) diff -puN drivers/ata/libata-core.c~libata-spot-bridge-chips drivers/ata/libata-core.c --- a/drivers/ata/libata-core.c~libata-spot-bridge-chips +++ a/drivers/ata/libata-core.c @@ -2182,6 +2182,17 @@ int ata_bus_probe(struct ata_port *ap) if (ap->ops->cable_detect) ap->cbl = ap->ops->cable_detect(ap); + /* We may have SATA bridge glue hiding here irrespective of the + reported cable types and sensed types */ + ata_link_for_each_dev(dev, &ap->link) { + if (!ata_dev_enabled(dev)) + continue; + /* SATA drives indicate we have a bridge. We don't know which + end of the link the bridge is which is a problem */ + if (ata_id_is_sata(dev->id)) + ap->cbl = ATA_CBL_SATA; + } + /* After the identify sequence we can now set up the devices. We do this in the normal order so that the user doesn't get confused */ _ Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are origin.patch serial-add-support-for-ite-887x-chips.patch serial_txx9-fix-modem-control-line-handling.patch serial-8250-handle-saving-the-clear-on-read-bits-from-the-lsr.patch add-blacklisting-capability-to-serial_pci-to-avoid-misdetection.patch fix-null-pointer-dereference-in-__vm_enough_memory.patch m68k-enable-arbitary-speed-tty-support.patch introduce-config_check_signature-was-re-uninline.patch git-libata-all.patch pata_acpi-rework-the-acpi-drivers-based-upon-experience.patch libata-switch-most-of-the-remaining-sff-drivers-to.patch pata_sis-add-the-fsc-amilo-and-friends.patch pata_via-add-armia-w730-k8-and-other-rebadgings.patch pata_marvell-add-more-identifiers.patch libata-portmap-remove-unused-definitions.patch libata-correct-handling-of-srst-reset-sequences.patch libata-spot-bridge-chips.patch libata-allow-for-original-ide-drives-that-dont-support-geometry-setting.patch st340823a-hpa-and-libata.patch libata-fix-hopefully-all-the-remaining-problems-with.patch tty-add-the-new-ioctls-and-definitionto-the-mips.patch serial_txx9-cleanup-includes.patch serial-keep-the-dtr-setting-for-serial-console.patch 8250_pci-autodetect-mainpine-cards.patch git-scsi-misc.patch fix-gregkh-usb-usb-serial-fix-oti6858c-segfault-in-termios-handling.patch kobil_sct-rework-driver.patch geode-mfgpt-support-for-geode-class-machines.patch geode-mfgpt-clock-event-device-support.patch xtensa-enable-arbitary-tty-speed-setting-ioctls.patch pci-align-bar-settings-for-legacy-mode-ide.patch pata_it821x-fix-regression-corruptor.patch security-convert-lsm-into-a-static-interface-vs-fix-null-pointer-dereference-in-__vm_enough_memory.patch blackfin-enable-arbitary-speed-serial-setting.patch mxser-remove-use-of-dead-tty_flipbuf_size-definition.patch jsm-remove-further-unneeded-crud.patch sysctl-remove-broken-cdrom-binary-sysctls.patch mxser-remove-commented-crap.patch char-cyclades-remove-bottom-half-processing.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html