diff options
author | Jan Beulich <JBeulich@suse.com> | 2016-07-06 02:59:35 -0400 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2016-07-06 05:35:38 -0400 |
commit | ee87d6d0d36d98c550f99274a81841033226e3bf (patch) | |
tree | 8e74a364719986b2370c77bffd54362eee778230 /drivers/xen | |
parent | 585203609c894db11dea724b743c04d0c9927f39 (diff) |
xen-pciback: short-circuit read path used for merging write values
There's no point calling xen_pcibk_config_read() here - all it'll do is
return whatever conf_space_read() returns for the field which was found
here (and which would be found there again). Also there's no point
clearing tmp_val before the call.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Diffstat (limited to 'drivers/xen')
-rw-r--r-- | drivers/xen/xen-pciback/conf_space.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/xen/xen-pciback/conf_space.c b/drivers/xen/xen-pciback/conf_space.c index 6a25533da237..6855bf552126 100644 --- a/drivers/xen/xen-pciback/conf_space.c +++ b/drivers/xen/xen-pciback/conf_space.c | |||
@@ -230,10 +230,8 @@ int xen_pcibk_config_write(struct pci_dev *dev, int offset, int size, u32 value) | |||
230 | field_end = OFFSET(cfg_entry) + field->size; | 230 | field_end = OFFSET(cfg_entry) + field->size; |
231 | 231 | ||
232 | if (req_end > field_start && field_end > req_start) { | 232 | if (req_end > field_start && field_end > req_start) { |
233 | tmp_val = 0; | 233 | err = conf_space_read(dev, cfg_entry, field_start, |
234 | 234 | &tmp_val); | |
235 | err = xen_pcibk_config_read(dev, field_start, | ||
236 | field->size, &tmp_val); | ||
237 | if (err) | 235 | if (err) |
238 | break; | 236 | break; |
239 | 237 | ||