diff options
author | jakub <jakub> | 1999-10-07 08:02:46 +0000 |
---|---|---|
committer | jakub <jakub> | 1999-10-07 08:02:46 +0000 |
commit | 1acde06f575984241e7845ca012d506bde14b253 (patch) | |
tree | aedc8f487aa51f21214df88598027edbbb684783 | |
parent | 8df20fe1195cacbc1d23998e9354ded74a4ad85e (diff) | |
download | anaconda-1acde06f575984241e7845ca012d506bde14b253.tar.gz anaconda-1acde06f575984241e7845ca012d506bde14b253.tar.xz anaconda-1acde06f575984241e7845ca012d506bde14b253.zip |
Fix SIGSEGV seen on bart.
-rw-r--r-- | isys/silo.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/isys/silo.c b/isys/silo.c index a300b1058..09082b093 100644 --- a/isys/silo.c +++ b/isys/silo.c @@ -281,13 +281,17 @@ scan_walk_callback(int node) { sprintf (prop, "sd(%d,%d,", v0ctrl, hd[disk].mid); break; case SDSK_TYPE_PLN: + prop = ((struct openpromio *)buf)->oprom_array; sprintf (prop, "/SUNW,pln@%x,%x/SUNW,ssd@%d,%d", hd[disk].lo & 0xf0000000, hd[disk].lo & 0xffffff, hd[disk].hi, hd[disk].mid); break; case SDSK_TYPE_FC: + prop = ((struct openpromio *)buf)->oprom_array; sprintf (prop, "/sf@0,0/ssd@w%08x%08x,%d", hd[disk].hi, hd[disk].mid, hd[disk].lo); break; + default: + continue; } hd[disk].prom_name = malloc (strlen (prom_path) + strlen(prop) + 3); if (!hd[disk].prom_name) @@ -483,7 +487,7 @@ scan_scsi(void) { } if (q == NULL) { for (disk = 0; disk < sdlen; disk++) - if (sd[disk].host == host) { + if (sd[disk].host == host && sd[disk].type) { sd[disk].prom_node = prom_node; if (p[1] == 'e') { sd[disk].type = SDSK_TYPE_PLN; |