linux/drivers/ata
Tejun Heo 5920dadfb4 libata: accept late unlocking of HPA
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>
2009-07-28 21:07:09 -04:00
..
ahci.c ahci: add device IDs for Ibex Peak ahci controllers 2009-07-28 21:06:26 -04:00
ata_generic.c
ata_piix.c ata_piix: Add new short cable ID 2009-07-28 21:06:53 -04:00
Kconfig [libata] PATA driver for CF interface on AT91SAM9260 SoC 2009-06-23 01:54:24 -04:00
libata-acpi.c trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
libata-core.c libata: accept late unlocking of HPA 2009-07-28 21:07:09 -04:00
libata-eh.c libata: add missing NULL pointer check to ata_eh_reset() 2009-07-28 21:05:41 -04:00
libata-pmp.c
libata-scsi.c Merge branch 'master' into for-2.6.31 2009-05-22 20:25:34 +02:00
libata-sff.c libata-sff: avoid byte swapping in ata_sff_data_xfer() 2009-06-10 07:50:16 -04:00
libata.h
Makefile [libata] PATA driver for CF interface on AT91SAM9260 SoC 2009-06-23 01:54:24 -04:00
pata_acpi.c
pata_ali.c [libata] pata_ali: Use IGN_SIMPLEX 2009-06-05 17:10:54 -04:00
pata_amd.c
pata_artop.c
pata_at32.c
pata_at91.c libata: Updates and fixes for pata_at91 driver 2009-07-28 21:07:05 -04:00
pata_atiixp.c
pata_bf54x.c
pata_cmd64x.c
pata_cmd640.c
pata_cs5520.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pata_cs5530.c
pata_cs5535.c
pata_cs5536.c
pata_cypress.c
pata_efar.c pata_efar: fix PIO2 underclocking 2009-06-05 14:40:52 -04:00
pata_hpt3x2n.c
pata_hpt3x3.c
pata_hpt37x.c pata_hpt37x: fix HPT370 DMA timeouts 2009-04-16 15:21:15 -04:00
pata_hpt366.c
pata_icside.c
pata_isapnp.c
pata_it821x.c
pata_it8213.c
pata_ixp4xx_cf.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pata_jmicron.c
pata_legacy.c pata_legacy: wait for async probing 2009-06-05 14:40:46 -04:00
pata_marvell.c
pata_mpc52xx.c powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function 2009-06-17 00:30:22 -06:00
pata_mpiix.c
pata_netcell.c pata_netcell: Fix typo 2009-06-08 09:12:28 -07:00
pata_ninja32.c ata: Report 16/32bit PIO as best we can 2009-04-16 15:28:23 -04:00
pata_ns87410.c
pata_ns87415.c
pata_octeon_cf.c libata: remove superfluous NULL pointer checks 2009-07-28 21:06:13 -04:00
pata_of_platform.c
pata_oldpiix.c
pata_opti.c
pata_optidma.c
pata_palmld.c [ARM] 5522/1: PalmLD: IDE support 2009-05-31 14:50:40 +01:00
pata_pcmcia.c pata_pcmcia: add CNF-CDROM-ID 2009-07-28 21:05:18 -04:00
pata_pdc202xx_old.c pata_pdc202xx_old: fix UDMA33 handling 2009-05-11 14:30:07 -04:00
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_via: Cache and rewrite the device bit 2009-04-17 19:04:30 -04:00
pata_winbond.c
pdc_adma.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_fsl.c sata_fsl: Add power mgmt support 2009-06-23 01:54:27 -04:00
sata_inic162x.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_mv.c libata: remove superfluous NULL pointer checks 2009-07-28 21:06:13 -04:00
sata_nv.c sata_nv: use hardreset only for post-boot probing 2009-06-10 11:05:26 -04:00
sata_promise.c
sata_promise.h
sata_qstor.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_sil24.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_sil.c libata: remove superfluous NULL pointer checks 2009-07-28 21:06:13 -04:00
sata_sis.c
sata_svw.c
sata_sx4.c sata_sx4: speed up ECC initialization 2009-06-10 07:50:17 -04:00
sata_uli.c
sata_via.c [libata] sata_via: kill uninit'd var warning 2009-04-13 04:09:34 -04:00
sata_vsc.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sis.h