summaryrefslogtreecommitdiffstats
path: root/sys/dev/ciss/ciss.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-03-29 01:44:17 +0000
committersam <sam@FreeBSD.org>2005-03-29 01:44:17 +0000
commit61bf6bf48d068d19a6d9abdb529765b01a40c664 (patch)
treebe05863ac37947e0ac1e98282c65a6f96dcbd64f /sys/dev/ciss/ciss.c
parenta2c73279e6a79b29118791d4b171c1150dc0c948 (diff)
downloadFreeBSD-src-61bf6bf48d068d19a6d9abdb529765b01a40c664.zip
FreeBSD-src-61bf6bf48d068d19a6d9abdb529765b01a40c664.tar.gz
handle ciss_lookup failure
Noticed by: Coverity Prevent analysis tool
Diffstat (limited to 'sys/dev/ciss/ciss.c')
-rw-r--r--sys/dev/ciss/ciss.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c
index 789efb7..6d2c83e 100644
--- a/sys/dev/ciss/ciss.c
+++ b/sys/dev/ciss/ciss.c
@@ -377,6 +377,11 @@ ciss_attach(device_t dev)
* Work out adapter type.
*/
i = ciss_lookup(dev);
+ if (i < 0) {
+ ciss_printf(sc, "unknown adapter type\n");
+ error = ENXIO;
+ goto out;
+ }
if (ciss_vendor_data[i].flags & CISS_BOARD_SA5) {
sc->ciss_interrupt_mask = CISS_TL_SIMPLE_INTR_OPQ_SA5;
} else if (ciss_vendor_data[i].flags & CISS_BOARD_SA5B) {
OpenPOWER on IntegriCloud