Lines Matching refs:disc
191 list_for_each_safe(cur, nxt, &snic->disc.tgt_list) {
305 list_add_tail(&tgt->list, &snic->disc.tgt_list);
306 tgt->scsi_tgt_id = snic->disc.nxt_tgt_id++;
350 kfree(snic->disc.rtgt_info);
356 mutex_lock(&snic->disc.mutex);
357 /* Discover triggered during disc in progress */
358 if (snic->disc.req_cnt) {
359 snic->disc.state = SNIC_DISC_DONE;
360 snic->disc.req_cnt = 0;
361 mutex_unlock(&snic->disc.mutex);
362 kfree(snic->disc.rtgt_info);
363 snic->disc.rtgt_info = NULL;
372 tgtid = (struct snic_tgt_id *)snic->disc.rtgt_info;
374 SNIC_BUG_ON(snic->disc.rtgt_cnt == 0 || tgtid == NULL);
376 for (i = 0; i < snic->disc.rtgt_cnt; i++) {
379 int buf_sz = snic->disc.rtgt_cnt * sizeof(*tgtid);
387 snic->disc.rtgt_info = NULL;
388 snic->disc.state = SNIC_DISC_DONE;
389 mutex_unlock(&snic->disc.mutex);
434 snic->disc.rtgt_cnt = tgt_cnt;
435 snic->disc.rtgt_info = (u8 *) tgtid;
453 snic_disc_init(struct snic_disc *disc)
455 INIT_LIST_HEAD(&disc->tgt_list);
456 mutex_init(&disc->mutex);
457 disc->disc_id = 0;
458 disc->nxt_tgt_id = 0;
459 disc->state = SNIC_DISC_INIT;
460 disc->req_cnt = 0;
461 disc->rtgt_cnt = 0;
462 disc->rtgt_info = NULL;
463 disc->cb = NULL;
470 struct snic_disc *disc = &snic->disc;
472 mutex_lock(&disc->mutex);
473 if (disc->req_cnt) {
474 disc->req_cnt = 0;
477 mutex_unlock(&disc->mutex);
486 struct snic_disc *disc = &snic->disc;
502 mutex_lock(&disc->mutex);
503 if (disc->state == SNIC_DISC_PENDING) {
504 disc->req_cnt++;
505 mutex_unlock(&disc->mutex);
509 disc->state = SNIC_DISC_PENDING;
510 mutex_unlock(&disc->mutex);
553 mutex_lock(&snic->disc.mutex);
556 list_for_each_safe(cur, nxt, &snic->disc.tgt_list) {
565 mutex_unlock(&snic->disc.mutex);