summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-10-10 17:51:23 +0000
committermav <mav@FreeBSD.org>2012-10-10 17:51:23 +0000
commit33a3526a8ca99f30cbe9b0681c798346b920c6c1 (patch)
tree49d6321eb67831583c04ab0d049692d41023457c /sys/dev/ata
parent6764c204386b7e2539d22a9829cb9a90a4a7d52e (diff)
downloadFreeBSD-src-33a3526a8ca99f30cbe9b0681c798346b920c6c1.zip
FreeBSD-src-33a3526a8ca99f30cbe9b0681c798346b920c6c1.tar.gz
Add checks for ata_sata_scr_read() return statuses. It is mostly to silence
Clang Static Analyzer warnings as errors there are usually unlikely.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-sata.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/ata/ata-sata.c b/sys/dev/ata/ata-sata.c
index 9ab38d6..2a85d38 100644
--- a/sys/dev/ata/ata-sata.c
+++ b/sys/dev/ata/ata-sata.c
@@ -53,7 +53,8 @@ ata_sata_phy_check_events(device_t dev, int port)
struct ata_channel *ch = device_get_softc(dev);
u_int32_t error, status;
- ata_sata_scr_read(ch, port, ATA_SERROR, &error);
+ if (ata_sata_scr_read(ch, port, ATA_SERROR, &error))
+ return;
/* Check that SError value is sane. */
if (error == 0xffffffff)
@@ -66,8 +67,9 @@ ata_sata_phy_check_events(device_t dev, int port)
/* if we have a connection event deal with it */
if ((error & ATA_SE_PHY_CHANGED) && (ch->pm_level == 0)) {
if (bootverbose) {
- ata_sata_scr_read(ch, port, ATA_SSTATUS, &status);
- if (((status & ATA_SS_DET_MASK) == ATA_SS_DET_PHY_ONLINE) &&
+ if (ata_sata_scr_read(ch, port, ATA_SSTATUS, &status)) {
+ device_printf(dev, "PHYRDY change\n");
+ } else if (((status & ATA_SS_DET_MASK) == ATA_SS_DET_PHY_ONLINE) &&
((status & ATA_SS_SPD_MASK) != ATA_SS_SPD_NO_SPEED) &&
((status & ATA_SS_IPM_MASK) == ATA_SS_IPM_ACTIVE)) {
device_printf(dev, "CONNECT requested\n");
OpenPOWER on IntegriCloud