summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorJonathan Matthew <jmatthew@cvs.openbsd.org>2014-04-07 08:43:55 +0000
committerJonathan Matthew <jmatthew@cvs.openbsd.org>2014-04-07 08:43:55 +0000
commit1ff61ee4900ceea7eedbbf02fa0f4da156e1c2e1 (patch)
tree2c36c54d12ac7f47064d2e43b7b4f24126824082 /sys/dev
parent949d2edc4e24bd80a809e5274974f625d5348446 (diff)
When iterating through fabric ports, start at our own port ID. It doesn't
matter if we don't see ourselves, and if we pick another starting point, the first port we see might disappear half way through (I have seen this happen), which makes it more complicated to identify when we're back at the start.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/qla.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ic/qla.c b/sys/dev/ic/qla.c
index ba933226db3..172fb8acf97 100644
--- a/sys/dev/ic/qla.c
+++ b/sys/dev/ic/qla.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: qla.c,v 1.34 2014/04/07 00:38:43 jmatthew Exp $ */
+/* $OpenBSD: qla.c,v 1.35 2014/04/07 08:43:54 jmatthew Exp $ */
/*
* Copyright (c) 2011 David Gwynne <dlg@openbsd.org>
@@ -548,8 +548,9 @@ qla_attach(struct qla_softc *sc)
if (qla_update_fabric(sc) == 0) {
u_int32_t firstport = 0xffffffff;
- u_int32_t lastport = 0;
+ u_int32_t lastport;
+ lastport = sc->sc_port_id;
do {
port = qla_next_fabric_port(sc, &firstport,
&lastport);