diff options
author | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-05-30 23:57:05 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-05-30 23:57:05 -0500 |
commit | 5bc65793cbf8da0d35f19ef025dda22887e79e80 (patch) | |
tree | 8291998abd73055de6f487fafa174ee2a5d3afee /arch/powerpc/boot/flatdevtree.c | |
parent | 6edae708bf77e012d855a7e2c7766f211d234f4f (diff) | |
parent | 3f0a6766e0cc5a577805732e5adb50a585c58175 (diff) | |
download | kernel-crypto-5bc65793cbf8da0d35f19ef025dda22887e79e80.tar.gz kernel-crypto-5bc65793cbf8da0d35f19ef025dda22887e79e80.tar.xz kernel-crypto-5bc65793cbf8da0d35f19ef025dda22887e79e80.zip |
[SCSI] Merge up to linux-2.6 head
Conflicts:
drivers/scsi/jazz_esp.c
Same changes made by both SCSI and SPARC trees: problem with UTF-8
conversion in the copyright.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'arch/powerpc/boot/flatdevtree.c')
-rw-r--r-- | arch/powerpc/boot/flatdevtree.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/powerpc/boot/flatdevtree.c b/arch/powerpc/boot/flatdevtree.c index d00fbd92a45..b732644788d 100644 --- a/arch/powerpc/boot/flatdevtree.c +++ b/arch/powerpc/boot/flatdevtree.c @@ -891,28 +891,27 @@ int ft_set_prop(struct ft_cxt *cxt, const void *phandle, const char *propname, struct ft_atom atom; void *node; char *p, *next; - int nextra, depth; + int nextra; node = ft_node_ph2node(cxt, phandle); if (node == NULL) return -1; - depth = 0; - p = node; + next = ft_next(cxt, node, &atom); + if (atom.tag != OF_DT_BEGIN_NODE) + /* phandle didn't point to a node */ + return -1; + p = next; while ((next = ft_next(cxt, p, &atom)) != NULL) { switch (atom.tag) { - case OF_DT_BEGIN_NODE: - ++depth; - break; + case OF_DT_BEGIN_NODE: /* properties must go before subnodes */ case OF_DT_END_NODE: - if (--depth > 0) - break; /* haven't found the property, insert here */ cxt->p = p; return ft_prop(cxt, propname, buf, buflen); case OF_DT_PROP: - if ((depth != 1) || strcmp(atom.name, propname)) + if (strcmp(atom.name, propname)) break; /* found an existing property, overwrite it */ nextra = _ALIGN(buflen, 4) - _ALIGN(atom.size, 4); |