diff options
| author | xun ni - Sun Microsystems - Beijing China <Xun.Ni@Sun.COM> | 2010-04-19 11:31:17 +0800 |
|---|---|---|
| committer | xun ni - Sun Microsystems - Beijing China <Xun.Ni@Sun.COM> | 2010-04-19 11:31:17 +0800 |
| commit | f2e8686e6101ad6ab3df43205537e610151b5434 (patch) | |
| tree | 1a0e61b09d25476c8f2f61481d0da5046b49ca8a /usr/src/lib/sun_sas | |
| parent | 0870f17b1158eef95a9cbc509c015c6467c7cdec (diff) | |
| download | illumos-joyent-f2e8686e6101ad6ab3df43205537e610151b5434.tar.gz | |
6931122 Need SMHBA support for Mptsas driver
6932019 sun_sas lib should ignore the virtual port for mptsas driver
Diffstat (limited to 'usr/src/lib/sun_sas')
| -rw-r--r-- | usr/src/lib/sun_sas/common/devtree_hba_disco.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/usr/src/lib/sun_sas/common/devtree_hba_disco.c b/usr/src/lib/sun_sas/common/devtree_hba_disco.c index 65b2212598..2ba9ef6e57 100644 --- a/usr/src/lib/sun_sas/common/devtree_hba_disco.c +++ b/usr/src/lib/sun_sas/common/devtree_hba_disco.c @@ -20,11 +20,9 @@ */ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. + * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. */ - #include <sun_sas.h> #include <sys/modctl.h> #include <sys/types.h> @@ -332,6 +330,14 @@ refresh_hba(di_node_t hbaNode, struct sun_sas_hba *hba_ptr) } while (portNode != DI_NODE_NIL) { + if (di_prop_lookup_ints(DDI_DEV_T_ANY, portNode, + "virtual-port", &propIntData) >= 0) { + if (*propIntData) { + /* ignore a virtual port. */ + portNode = di_sibling_node(portNode); + continue; + } + } if (add_hba_port_info(portNode, hba_ptr, protocol) == HBA_STATUS_ERROR) { S_FREE(hba_ptr->first_port); @@ -540,6 +546,14 @@ devtree_get_one_hba(di_node_t hbaNode) } while (portNode != DI_NODE_NIL) { + if (di_prop_lookup_ints(DDI_DEV_T_ANY, portNode, + "virtual-port", &propIntData) >= 0) { + if (*propIntData) { + /* ignore a virtual port. */ + portNode = di_sibling_node(portNode); + continue; + } + } if (add_hba_port_info(portNode, new_hba, protocol) == HBA_STATUS_ERROR) { S_FREE(new_hba->first_port); |
