Lines Matching refs:disc
190 list_for_each_safe(cur, nxt, &snic->disc.tgt_list) { in snic_tgt_lookup()
304 list_add_tail(&tgt->list, &snic->disc.tgt_list); in snic_tgt_create()
305 tgt->scsi_tgt_id = snic->disc.nxt_tgt_id++; in snic_tgt_create()
346 kfree(snic->disc.rtgt_info); in snic_handle_tgt_disc()
352 mutex_lock(&snic->disc.mutex); in snic_handle_tgt_disc()
354 if (snic->disc.req_cnt) { in snic_handle_tgt_disc()
355 snic->disc.state = SNIC_DISC_DONE; in snic_handle_tgt_disc()
356 snic->disc.req_cnt = 0; in snic_handle_tgt_disc()
357 mutex_unlock(&snic->disc.mutex); in snic_handle_tgt_disc()
358 kfree(snic->disc.rtgt_info); in snic_handle_tgt_disc()
359 snic->disc.rtgt_info = NULL; in snic_handle_tgt_disc()
368 tgtid = (struct snic_tgt_id *)snic->disc.rtgt_info; in snic_handle_tgt_disc()
370 SNIC_BUG_ON(snic->disc.rtgt_cnt == 0 || tgtid == NULL); in snic_handle_tgt_disc()
372 for (i = 0; i < snic->disc.rtgt_cnt; i++) { in snic_handle_tgt_disc()
375 int buf_sz = snic->disc.rtgt_cnt * sizeof(*tgtid); in snic_handle_tgt_disc()
383 snic->disc.rtgt_info = NULL; in snic_handle_tgt_disc()
384 snic->disc.state = SNIC_DISC_DONE; in snic_handle_tgt_disc()
385 mutex_unlock(&snic->disc.mutex); in snic_handle_tgt_disc()
430 snic->disc.rtgt_cnt = tgt_cnt; in snic_report_tgt_cmpl_handler()
431 snic->disc.rtgt_info = (u8 *) tgtid; in snic_report_tgt_cmpl_handler()
449 snic_disc_init(struct snic_disc *disc) in snic_disc_init() argument
451 INIT_LIST_HEAD(&disc->tgt_list); in snic_disc_init()
452 mutex_init(&disc->mutex); in snic_disc_init()
453 disc->disc_id = 0; in snic_disc_init()
454 disc->nxt_tgt_id = 0; in snic_disc_init()
455 disc->state = SNIC_DISC_INIT; in snic_disc_init()
456 disc->req_cnt = 0; in snic_disc_init()
457 disc->rtgt_cnt = 0; in snic_disc_init()
458 disc->rtgt_info = NULL; in snic_disc_init()
459 disc->cb = NULL; in snic_disc_init()
466 struct snic_disc *disc = &snic->disc; in snic_disc_term() local
468 mutex_lock(&disc->mutex); in snic_disc_term()
469 if (disc->req_cnt) { in snic_disc_term()
470 disc->req_cnt = 0; in snic_disc_term()
473 mutex_unlock(&disc->mutex); in snic_disc_term()
482 struct snic_disc *disc = &snic->disc; in snic_disc_start() local
487 mutex_lock(&disc->mutex); in snic_disc_start()
488 if (disc->state == SNIC_DISC_PENDING) { in snic_disc_start()
489 disc->req_cnt++; in snic_disc_start()
490 mutex_unlock(&disc->mutex); in snic_disc_start()
494 disc->state = SNIC_DISC_PENDING; in snic_disc_start()
495 mutex_unlock(&disc->mutex); in snic_disc_start()
536 mutex_lock(&snic->disc.mutex); in snic_tgt_del_all()
539 list_for_each_safe(cur, nxt, &snic->disc.tgt_list) { in snic_tgt_del_all()
550 mutex_unlock(&snic->disc.mutex); in snic_tgt_del_all()