Lines Matching refs:disc

177 	list_for_each_safe(cur, nxt, &snic->disc.tgt_list) {
291 list_add_tail(&tgt->list, &snic->disc.tgt_list);
292 tgt->scsi_tgt_id = snic->disc.nxt_tgt_id++;
336 kfree(snic->disc.rtgt_info);
342 mutex_lock(&snic->disc.mutex);
343 /* Discover triggered during disc in progress */
344 if (snic->disc.req_cnt) {
345 snic->disc.state = SNIC_DISC_DONE;
346 snic->disc.req_cnt = 0;
347 mutex_unlock(&snic->disc.mutex);
348 kfree(snic->disc.rtgt_info);
349 snic->disc.rtgt_info = NULL;
358 tgtid = (struct snic_tgt_id *)snic->disc.rtgt_info;
360 SNIC_BUG_ON(snic->disc.rtgt_cnt == 0 || tgtid == NULL);
362 for (i = 0; i < snic->disc.rtgt_cnt; i++) {
365 int buf_sz = snic->disc.rtgt_cnt * sizeof(*tgtid);
373 snic->disc.rtgt_info = NULL;
374 snic->disc.state = SNIC_DISC_DONE;
375 mutex_unlock(&snic->disc.mutex);
420 snic->disc.rtgt_cnt = tgt_cnt;
421 snic->disc.rtgt_info = (u8 *) tgtid;
439 snic_disc_init(struct snic_disc *disc)
441 INIT_LIST_HEAD(&disc->tgt_list);
442 mutex_init(&disc->mutex);
443 disc->disc_id = 0;
444 disc->nxt_tgt_id = 0;
445 disc->state = SNIC_DISC_INIT;
446 disc->req_cnt = 0;
447 disc->rtgt_cnt = 0;
448 disc->rtgt_info = NULL;
449 disc->cb = NULL;
456 struct snic_disc *disc = &snic->disc;
458 mutex_lock(&disc->mutex);
459 if (disc->req_cnt) {
460 disc->req_cnt = 0;
463 mutex_unlock(&disc->mutex);
472 struct snic_disc *disc = &snic->disc;
488 mutex_lock(&disc->mutex);
489 if (disc->state == SNIC_DISC_PENDING) {
490 disc->req_cnt++;
491 mutex_unlock(&disc->mutex);
495 disc->state = SNIC_DISC_PENDING;
496 mutex_unlock(&disc->mutex);
539 mutex_lock(&snic->disc.mutex);
542 list_for_each_safe(cur, nxt, &snic->disc.tgt_list) {
551 mutex_unlock(&snic->disc.mutex);