summaryrefslogtreecommitdiffstats
path: root/drivers/xen/xen-pciback
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2016-07-06 08:59:35 +0200
committerDavid Vrabel <david.vrabel@citrix.com>2016-07-06 11:35:38 +0200
commitee87d6d0d36d98c550f99274a81841033226e3bf (patch)
tree8e74a364719986b2370c77bffd54362eee778230 /drivers/xen/xen-pciback
parentxen-pciback: use const and unsigned in bar_init() (diff)
downloadlinux-ee87d6d0d36d98c550f99274a81841033226e3bf.tar.xz
linux-ee87d6d0d36d98c550f99274a81841033226e3bf.zip
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/xen-pciback')
-rw-r--r--drivers/xen/xen-pciback/conf_space.c6
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)
field_end = OFFSET(cfg_entry) + field->size;
if (req_end > field_start && field_end > req_start) {
- tmp_val = 0;
-
- err = xen_pcibk_config_read(dev, field_start,
- field->size, &tmp_val);
+ err = conf_space_read(dev, cfg_entry, field_start,
+ &tmp_val);
if (err)
break;