diff options
author | Martyn Welch <martyn@welchs.me.uk> | 2016-10-21 12:36:19 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-10-28 08:25:18 -0400 |
commit | 6ad37567b6b886121e250036e489d82cde5e5e94 (patch) | |
tree | adfaced0a77fe648869c1888ff63cddaff2eabbf /drivers/vme | |
parent | cfcc1456e4a2afdca85c7df3baa777f18da1d642 (diff) |
vme: vme_get_size potentially returning incorrect value on failure
The function vme_get_size returns the size of the window to the caller,
however it doesn't check the return value of the call to vme_master_get.
Return 0 on failure rather than anything else.
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martyn Welch <martyn.welch@collabora.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/vme')
-rw-r--r-- | drivers/vme/vme.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/vme/vme.c b/drivers/vme/vme.c index 15b64076bc26..bdbadaa47ef3 100644 --- a/drivers/vme/vme.c +++ b/drivers/vme/vme.c | |||
@@ -156,12 +156,16 @@ size_t vme_get_size(struct vme_resource *resource) | |||
156 | case VME_MASTER: | 156 | case VME_MASTER: |
157 | retval = vme_master_get(resource, &enabled, &base, &size, | 157 | retval = vme_master_get(resource, &enabled, &base, &size, |
158 | &aspace, &cycle, &dwidth); | 158 | &aspace, &cycle, &dwidth); |
159 | if (retval) | ||
160 | return 0; | ||
159 | 161 | ||
160 | return size; | 162 | return size; |
161 | break; | 163 | break; |
162 | case VME_SLAVE: | 164 | case VME_SLAVE: |
163 | retval = vme_slave_get(resource, &enabled, &base, &size, | 165 | retval = vme_slave_get(resource, &enabled, &base, &size, |
164 | &buf_base, &aspace, &cycle); | 166 | &buf_base, &aspace, &cycle); |
167 | if (retval) | ||
168 | return 0; | ||
165 | 169 | ||
166 | return size; | 170 | return size; |
167 | break; | 171 | break; |