Lines Matching defs:li

223 	struct ncr53c9x_linfo *li;
225 LIST_FOREACH(li, &ti->luns, link)
226 if (li->lun == lun)
227 return (li);
430 struct ncr53c9x_linfo *li, *nextli;
443 for (li = LIST_FIRST(&sc->sc_tinfo[t].luns); li;
444 li = nextli) {
445 nextli = LIST_NEXT(li, link);
446 free(li, M_DEVBUF);
588 struct ncr53c9x_linfo *li;
594 LIST_FOREACH(li, &sc->sc_tinfo[target].luns, link) {
595 ecb = li->untagged;
597 li->untagged = NULL;
602 li->busy = 0;
607 ecb = li->queued[i];
609 li->queued[i] = NULL;
614 li->used = 0;
1249 struct ncr53c9x_linfo *li;
1280 li = TINFO_LUN(ti, lun);
1281 if (li == NULL) {
1283 li = malloc(sizeof(*li), M_DEVBUF, M_NOWAIT | M_ZERO);
1284 if (li == NULL)
1286 li->lun = lun;
1288 LIST_INSERT_HEAD(&ti->luns, li, link);
1290 ti->lun[lun] = li;
1292 li->last_used = time_second;
1295 if (li->untagged == NULL)
1296 li->untagged = ecb;
1298 if (li->untagged != NULL) {
1300 if ((li->busy != 1) && li->used == 0) {
1305 ecb = li->untagged;
1313 li->queued[ecb->tag_id] = ecb;
1315 li->used++;
1317 if (li->untagged != NULL && (li->busy != 1)) {
1318 li->busy = 1;
1325 if (li->untagged == NULL && tag != 0) {
1342 struct ncr53c9x_linfo *li;
1366 li = TINFO_LUN(ti, lun);
1367 if (li->busy)
1368 li->busy = 0;
1370 li->untagged = ecb; /* Must be executed first to fix C/A. */
1371 li->busy = 2;
1389 struct ncr53c9x_linfo *li;
1399 li = TINFO_LUN(ti, lun);
1478 if (li->untagged == NULL && li->used == 0) {
1481 LIST_REMOVE(li, link);
1482 free(li, M_DEVBUF);
1494 struct ncr53c9x_linfo *li;
1502 li = TINFO_LUN(ti, lun);
1504 if (li == NULL || li->lun != lun)
1508 if (li->untagged == ecb) {
1509 li->busy = 0;
1510 li->untagged = NULL;
1512 if (ecb->tag[0] && li->queued[ecb->tag[1]] != NULL) {
1514 if (li->queued[ecb->tag[1]] != NULL &&
1515 (li->queued[ecb->tag[1]] != ecb))
1518 li->queued[ecb->tag[1]], ecb);
1520 li->queued[ecb->tag[1]] = NULL;
1521 li->used--;
1655 struct ncr53c9x_linfo *li;
1688 li = TINFO_LUN(ti, lun);
1696 if (li != NULL) {
1697 if (li->untagged != NULL && li->busy)
1698 ecb = li->untagged;
1704 ecb = li->queued[tagid];
1769 struct ncr53c9x_linfo *li;
1888 li = TINFO_LUN(ti, lun);
1890 li->queued[ecb->tag[1]] != NULL) {
1891 li->queued[ecb->tag[1]] = NULL;
1892 li->used--;
1895 li->untagged = ecb;
1896 li->busy = 1;
2330 struct ncr53c9x_linfo *li;
2536 li = LIST_FIRST(&ti->luns);
2537 while (li != NULL) {
2538 if (li->untagged == NULL && li->used == 0) {
2539 if (li->lun < NCR_NLUN)
2540 ti->lun[li->lun] = NULL;
2541 LIST_REMOVE(li, link);
2542 free(li, M_DEVBUF);
2546 li = LIST_FIRST(&ti->luns);
2549 li = LIST_NEXT(li, link);
3229 struct ncr53c9x_linfo *li;
3241 li = LIST_FIRST(&ti->luns);
3242 while (li) {
3243 if (li->last_used < old &&
3244 li->untagged == NULL &&
3245 li->used == 0) {
3246 if (li->lun < NCR_NLUN)
3247 ti->lun[li->lun] = NULL;
3248 LIST_REMOVE(li, link);
3249 free(li, M_DEVBUF);
3251 li = LIST_FIRST(&ti->luns);
3254 li = LIST_NEXT(li, link);