From ee87d6d0d36d98c550f99274a81841033226e3bf Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 6 Jul 2016 00:59:35 -0600 Subject: 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 Signed-off-by: David Vrabel --- drivers/xen/xen-pciback/conf_space.c | 6 ++---- 1 file 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; -- cgit v1.2.3-55-g7522