164
166
for (i = 0; i < n; i++) {
165
err = pcilib_protocol[b->protocol].read(ctx, b, addr + i, buf + i);
167
err = pcilib_protocol[b->protocol].read(ctx, b, addr + i * access, buf + i);
169
171
if ((bits > 0)&&(!err)) {
170
172
pcilib_register_value_t val = 0;
171
err = pcilib_protocol[b->protocol].read(ctx, b, addr + n, &val);
173
err = pcilib_protocol[b->protocol].read(ctx, b, addr + n * access, &val);
173
175
val = (val >> offset)&BIT_MASK(bits);
174
176
memcpy(buf + n, &val, sizeof(pcilib_register_value_t));