On 04/04/2010 09:33 PM, Tejun Heo wrote:
Some BIOSes don't configure HPA during boot but do so while resuming. This causes harddrives to shrink during resume making libata detach and reattach them. This can be worked around by unlocking HPA if old size equals native size. Add ATA_DFLAG_UNLOCK_HPA so that HPA unlocking can be controlled per-device and update ata_dev_revalidate() such that it sets ATA_DFLAG_UNLOCK_HPA and fails with -EIO when the above condition is detected. This patch fixes the following bug. https://bugzilla.kernel.org/show_bug.cgi?id=15396 Signed-off-by: Tejun Heo<tj@xxxxxxxxxx> Reported-by: Oleksandr Yermolenko<yaa.bta@xxxxxxxxx> --- drivers/ata/libata-core.c | 74 +++++++++++++++++++++++++++------------------- include/linux/libata.h | 1 2 files changed, 46 insertions(+), 29 deletions(-)
patch is bigger than I would like for #upstream-fixes... but nothing to be done about that... applied, thanks
-- To unsubscribe from this list: 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