diff options
author | Jody McIntyre <scjody@steamballoon.com> | 2005-11-22 12:17:11 -0500 |
---|---|---|
committer | Jody McIntyre <scjody@modernduck.com> | 2005-11-22 12:17:11 -0500 |
commit | 5303a986c33ae6c75d5ffb57d06ccf9246a8725a (patch) | |
tree | 9e305aeba9188fd0693be26a96ff1eb2efa09cbe /drivers/ieee1394/csr1212.c | |
parent | b12479ddce4aed112e0018fdf8bbb7cfb349ebdc (diff) |
csr1212: check results of keyval reads
csr1212_parse_csr() did not properly check return values when reading
keyvals. Fix this by using _csr1212_read_keyval() instead of
csr1212_get_keyval() and checking the return code.
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Diffstat (limited to 'drivers/ieee1394/csr1212.c')
-rw-r--r-- | drivers/ieee1394/csr1212.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/ieee1394/csr1212.c b/drivers/ieee1394/csr1212.c index c0f8ed6fca8a..4812d59e8976 100644 --- a/drivers/ieee1394/csr1212.c +++ b/drivers/ieee1394/csr1212.c | |||
@@ -1610,15 +1610,16 @@ int csr1212_parse_csr(struct csr1212_csr *csr) | |||
1610 | csr->root_kv->valid = 0; | 1610 | csr->root_kv->valid = 0; |
1611 | csr->root_kv->next = csr->root_kv; | 1611 | csr->root_kv->next = csr->root_kv; |
1612 | csr->root_kv->prev = csr->root_kv; | 1612 | csr->root_kv->prev = csr->root_kv; |
1613 | csr1212_get_keyval(csr, csr->root_kv); | 1613 | ret = _csr1212_read_keyval(csr, csr->root_kv); |
1614 | if (ret != CSR1212_SUCCESS) | ||
1615 | return ret; | ||
1614 | 1616 | ||
1615 | /* Scan through the Root directory finding all extended ROM regions | 1617 | /* Scan through the Root directory finding all extended ROM regions |
1616 | * and make cache regions for them */ | 1618 | * and make cache regions for them */ |
1617 | for (dentry = csr->root_kv->value.directory.dentries_head; | 1619 | for (dentry = csr->root_kv->value.directory.dentries_head; |
1618 | dentry; dentry = dentry->next) { | 1620 | dentry; dentry = dentry->next) { |
1619 | if (dentry->kv->key.id == CSR1212_KV_ID_EXTENDED_ROM) { | 1621 | if (dentry->kv->key.id == CSR1212_KV_ID_EXTENDED_ROM) { |
1620 | csr1212_get_keyval(csr, dentry->kv); | 1622 | ret = _csr1212_read_keyval(csr, dentry->kv); |
1621 | |||
1622 | if (ret != CSR1212_SUCCESS) | 1623 | if (ret != CSR1212_SUCCESS) |
1623 | return ret; | 1624 | return ret; |
1624 | } | 1625 | } |