The patch titled ata: fix HPA handling regression has been added to the -mm tree. Its filename is fix-hpa-handling-regression.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: ata: fix HPA handling regression From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Restore the support for handling drives that report one sector too many (ie SCSI not ATA style). This worked before the HPA update but was removed in that process Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- diff -puN drivers/ata/libata-core.c~fix-hpa-handling-regression drivers/ata/libata-core.c --- a/drivers/ata/libata-core.c~fix-hpa-handling-regression +++ a/drivers/ata/libata-core.c @@ -921,7 +921,8 @@ static int ata_read_native_max_address(s *max_sectors = ata_tf_to_lba48(&tf); else *max_sectors = ata_tf_to_lba(&tf); - + if (dev->horkage & ATA_HORKAGE_HPA_SIZE) + (*max_sectors)--; return 0; } @@ -3956,6 +3957,10 @@ static const struct ata_blacklist_entry { "WDC WD2500JD-00HBB0", "WD-WMAL71490727", ATA_HORKAGE_BROKEN_HPA }, { "MAXTOR 6L080L4", "A93.0500", ATA_HORKAGE_BROKEN_HPA }, + /* Devices which report 1 sector over size HPA */ + { "ST340823A", NULL, ATA_HORKAGE_HPA_SIZE, }, + { "ST320413A", NULL, ATA_HORKAGE_HPA_SIZE, }, + /* End Marker */ { } }; diff -puN include/linux/libata.h~fix-hpa-handling-regression include/linux/libata.h --- a/include/linux/libata.h~fix-hpa-handling-regression +++ a/include/linux/libata.h @@ -315,7 +315,8 @@ enum { ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */ ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */ ATA_HORKAGE_BROKEN_HPA = (1 << 4), /* Broken HPA */ - ATA_HORKAGE_DRQ = (1 << 5), /* Device forgets to clear DRQ on error */ + ATA_HORKAGE_HPA_SIZE = (1 << 5), /* Reports native size off by one */ + ATA_HORKAGE_DRQ = (1 << 6), /* Device forgets to clear DRQ on error */ /* DMA mask for user DMA control: User visible values do not renumber */ _ Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are git-libata-all.patch pata_acpi-rework-the-acpi-drivers-based-upon-experience.patch pata_acpi-use-ata_sff_port_start.patch libata-correct-handling-of-srst-reset-sequences.patch libata-add-a-drivers-ide-style-dma-disable.patch ata-pata_marvell-use-ioread-for-iomap-ped-memory.patch drivers-ata-pata_ixp4xx_cfc-ioremap-return-code-check.patch libata-add-a-horkage-entry-for-drq-mishandling-atapi.patch pata_pdc202xx_old-fix-timings.patch pata_ns87415-initial-cut-at-87415-87560-ide-support.patch fix-hpa-handling-regression.patch libata_scsi-fix-transfer-lengths.patch pata_atiixp-audit-notes-on-locking.patch pata_hpt3x2n-clean-up-dpll-stuff.patch libata-fix-hopefully-all-the-remaining-problems-with.patch introduce-dma_mask_none-as-a-signal-for-unable-to-do.patch pcmcia-use-dma_mask_none-for-the-default-for-all.patch serial_txx9-cleanup-includes.patch serial-keep-the-dtr-setting-for-serial-console.patch 8250_pci-autodetect-mainpine-cards.patch 8250_pci-autodetect-mainpine-cards-fix.patch wake-up-from-a-serial-port.patch fix-ide-legacy-mode-resources.patch fix-ide-legacy-mode-resources-fix.patch git-scsi-misc.patch geode-mfgpt-support-for-geode-class-machines.patch geode-mfgpt-clock-event-device-support.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 tty-bring-the-old-cris-driver-back-somewhere-into-the.patch mxser-remove-use-of-dead-tty_flipbuf_size-definition.patch jsm-remove-further-unneeded-crud.patch ttyh-remove-dead-define.patch codingstyle-relax-the-80-cole-rule.patch add-config_vt_unicode.patch keys-missing-word-in-documentation.patch ide-cd-is-unmaintained.patch tty-expose-new-methods-needed-for-drivers-to-get-termios.patch tty-expose-new-methods-needed-for-drivers-to-get-termios-fix.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