Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1672151
| From | Doug Berger <opendmb@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 2/3] libata: Add the AHCI_HFLAG_NO_WRITE_TO_RO flag |
| Date | 2017-06-22 01:30 +0200 |
| Message-ID | <tUXep-4FF-13@gated-at.bofh.it> (permalink) |
| References | <tUXep-4FF-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
While most hardware will simply ignore a write to a read-only register,
some hardware will signal an abort if this occurs.
This commit introduces the flag AHCI_HFLAG_NO_WRITE_TO_RO to prevent the
AHCI library from attempting to write to the HOST_CAP, HOST_CAP2, and
HOST_PORTS_IMPL registers which may be read-only.
Signed-off-by: Doug Berger <opendmb@gmail.com>
---
drivers/ata/ahci.h | 2 ++
drivers/ata/libahci.c | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index ee176e4af97a..8b61123d2c3c 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -249,6 +249,8 @@ enum {
#endif
AHCI_HFLAG_WAKE_BEFORE_STOP = (1 << 22), /* wake before DMA stop */
AHCI_HFLAG_YES_ALPM = (1 << 23), /* force ALPM cap on */
+ AHCI_HFLAG_NO_WRITE_TO_RO = (1 << 24), /* don't write to read
+ only registers */
/* ap->flags bits */
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index 4462f8a8cf2c..3e286d86ab42 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -945,7 +945,8 @@ int ahci_reset_controller(struct ata_host *host)
/* Some registers might be cleared on reset. Restore
* initial values.
*/
- ahci_restore_initial_config(host);
+ if (!(hpriv->flags & AHCI_HFLAG_NO_WRITE_TO_RO))
+ ahci_restore_initial_config(host);
} else
dev_info(host->dev, "skipping global host reset\n");
--
2.13.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/3] libata: prevent writes to read-only registers Doug Berger <opendmb@gmail.com> - 2017-06-22 01:30 +0200 [PATCH 1/3] libata: Add the AHCI_HFLAG_YES_ALPM flag Doug Berger <opendmb@gmail.com> - 2017-06-22 01:30 +0200 [PATCH 2/3] libata: Add the AHCI_HFLAG_NO_WRITE_TO_RO flag Doug Berger <opendmb@gmail.com> - 2017-06-22 01:30 +0200 Re: [PATCH 0/3] libata: prevent writes to read-only registers Tejun Heo <tj@kernel.org> - 2017-06-22 22:20 +0200
csiph-web