struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
        const struct config_field_entry *cfg_entry;
        const struct config_field *field;
-       int req_start, req_end, field_start, field_end;
+       int field_start, field_end;
        /* if read fails for any reason, return 0
         * (as if device didn't respond) */
        u32 value = 0, tmp_val;
        list_for_each_entry(cfg_entry, &dev_data->config_fields, list) {
                field = cfg_entry->field;
 
-               req_start = offset;
-               req_end = offset + size;
                field_start = OFFSET(cfg_entry);
                field_end = OFFSET(cfg_entry) + field->size;
 
-                if (req_end > field_start && field_end > req_start) {
+               if (offset + size > field_start && field_end > offset) {
                        err = conf_space_read(dev, cfg_entry, field_start,
                                              &tmp_val);
                        if (err)
 
                        value = merge_value(value, tmp_val,
                                            get_mask(field->size),
-                                           field_start - req_start);
+                                           field_start - offset);
                }
        }
 
        const struct config_field_entry *cfg_entry;
        const struct config_field *field;
        u32 tmp_val;
-       int req_start, req_end, field_start, field_end;
+       int field_start, field_end;
 
        if (unlikely(verbose_request))
                printk(KERN_DEBUG
        list_for_each_entry(cfg_entry, &dev_data->config_fields, list) {
                field = cfg_entry->field;
 
-               req_start = offset;
-               req_end = offset + size;
                field_start = OFFSET(cfg_entry);
                field_end = OFFSET(cfg_entry) + field->size;
 
-                if (req_end > field_start && field_end > req_start) {
+               if (offset + size > field_start && field_end > offset) {
                        err = conf_space_read(dev, cfg_entry, field_start,
                                              &tmp_val);
                        if (err)
                                break;
 
                        tmp_val = merge_value(tmp_val, value, get_mask(size),
-                                             req_start - field_start);
+                                             offset - field_start);
 
                        err = conf_space_write(dev, cfg_entry, field_start,
                                               tmp_val);