]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen-pciback: short-circuit read path used for merging write values
authorJan Beulich <JBeulich@suse.com>
Wed, 6 Jul 2016 06:59:35 +0000 (00:59 -0600)
committerBob Liu <bob.liu@oracle.com>
Thu, 20 Oct 2016 07:59:19 +0000 (03:59 -0400)
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>
(cherry picked from commit ee87d6d0d36d98c550f99274a81841033226e3bf)
Signed-off-by: Bob Liu <bob.liu@oracle.com>
Orabug: 24820937

drivers/xen/xen-pciback/conf_space.c

index 47a4177b16d20cf30f0faece67f975ed9c2b402c..3037ecbc4b7625393ed68f4d04eeaa98f43f8397 100644 (file)
@@ -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;