/* Check valid I/O address regions */
for (i = 0; i < hw[h].num_devs; i++)
if (base[i]) {
- if (check_region(base[i], hw[h].io_size))
+ if (!request_region(base[i], hw[h].io_size, "dmascc"))
base[i] = 0;
else {
tcmd[i] = base[i] + hw[h].tmr_offset + TMR_CTRL;
/* Evaluate measurements */
for (i = 0; i < hw[h].num_devs; i++)
if (base[i]) {
- if (delay[i] >= 9 && delay[i] <= 11) {
- /* Ok, we have found an adapter */
- if (setup_adapter(base[i], h, n) == 0)
- n++;
- }
+ if ((delay[i] >= 9 && delay[i] <= 11)&&
+ /* Ok, we have found an adapter */
+ (setup_adapter(base[i], h, n) == 0))
+ n++;
+ else
+ release_region(base[i], hw[h].io_size);
}
} /* NUM_TYPES */
rtnl_unlock();
}
- request_region(card_base, hw[type].io_size, "dmascc");
info->next = first;
first = info;