diff options
author | mav <mav@FreeBSD.org> | 2012-10-10 17:51:23 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2012-10-10 17:51:23 +0000 |
commit | 33a3526a8ca99f30cbe9b0681c798346b920c6c1 (patch) | |
tree | 49d6321eb67831583c04ab0d049692d41023457c /sys/dev/ata | |
parent | 6764c204386b7e2539d22a9829cb9a90a4a7d52e (diff) | |
download | FreeBSD-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.c | 8 |
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"); |