5920dadfb4
On certain configurations, HPA isn't or can't be unlocked during probing but it somehow ends up unlocked afterwards. In the following thread, the problem can be reliably reproduced after resuming from STR. The BIOS turns on HPA during boot but forgets to do it during resume. http://thread.gmane.org/gmane.linux.kernel/858310 This patch updates libata revalidation such that it considers native n_sectors. If the device size has increased to match native n_sectors, it's assumed that HPA has been unlocked involuntarily and the device is recognized as the same one. This should be fairly safe while nicely working around the problem. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Christof Warlich <christof@warlich.name> Signed-off-by: Jeff Garzik <jgarzik@redhat.com> |
||
---|---|---|
.. | ||
ahci.c | ||
ata_generic.c | ||
ata_piix.c | ||
Kconfig | ||
libata-acpi.c | ||
libata-core.c | ||
libata-eh.c | ||
libata-pmp.c | ||
libata-scsi.c | ||
libata-sff.c | ||
libata.h | ||
Makefile | ||
pata_acpi.c | ||
pata_ali.c | ||
pata_amd.c | ||
pata_artop.c | ||
pata_at32.c | ||
pata_at91.c | ||
pata_atiixp.c | ||
pata_bf54x.c | ||
pata_cmd64x.c | ||
pata_cmd640.c | ||
pata_cs5520.c | ||
pata_cs5530.c | ||
pata_cs5535.c | ||
pata_cs5536.c | ||
pata_cypress.c | ||
pata_efar.c | ||
pata_hpt3x2n.c | ||
pata_hpt3x3.c | ||
pata_hpt37x.c | ||
pata_hpt366.c | ||
pata_icside.c | ||
pata_isapnp.c | ||
pata_it821x.c | ||
pata_it8213.c | ||
pata_ixp4xx_cf.c | ||
pata_jmicron.c | ||
pata_legacy.c | ||
pata_marvell.c | ||
pata_mpc52xx.c | ||
pata_mpiix.c | ||
pata_netcell.c | ||
pata_ninja32.c | ||
pata_ns87410.c | ||
pata_ns87415.c | ||
pata_octeon_cf.c | ||
pata_of_platform.c | ||
pata_oldpiix.c | ||
pata_opti.c | ||
pata_optidma.c | ||
pata_palmld.c | ||
pata_pcmcia.c | ||
pata_pdc202xx_old.c | ||
pata_pdc2027x.c | ||
pata_platform.c | ||
pata_qdi.c | ||
pata_radisys.c | ||
pata_rb532_cf.c | ||
pata_rz1000.c | ||
pata_sc1200.c | ||
pata_scc.c | ||
pata_sch.c | ||
pata_serverworks.c | ||
pata_sil680.c | ||
pata_sis.c | ||
pata_sl82c105.c | ||
pata_triflex.c | ||
pata_via.c | ||
pata_winbond.c | ||
pdc_adma.c | ||
sata_fsl.c | ||
sata_inic162x.c | ||
sata_mv.c | ||
sata_nv.c | ||
sata_promise.c | ||
sata_promise.h | ||
sata_qstor.c | ||
sata_sil24.c | ||
sata_sil.c | ||
sata_sis.c | ||
sata_svw.c | ||
sata_sx4.c | ||
sata_uli.c | ||
sata_via.c | ||
sata_vsc.c | ||
sis.h |