static int add_match_busid(char *busid) { int i; if (!match_busid(busid)) return 0; spin_lock(&busid_table_lock); for (i = 0; i < MAX_BUSID; i++) if (!busid_table[i][0]) { strncpy(busid_table[i], busid, BUSID_SIZE); spin_unlock(&busid_table_lock); return 0; } spin_unlock(&busid_table_lock); return -1; }
static int add_match_busid(char *busid) { int i; if (!match_busid(busid)) return 0; spin_lock(&busid_table_lock); for (i = 0; i < MAX_BUSID; i++) if (!busid_table[i].name[0]) { strncpy(busid_table[i].name, busid, BUSID_SIZE); if ((busid_table[i].status != STUB_BUSID_ALLOC) && (busid_table[i].status != STUB_BUSID_REMOV)) busid_table[i].status = STUB_BUSID_ADDED; spin_unlock(&busid_table_lock); return 0; } spin_unlock(&busid_table_lock); return -1; }