LKC_EXREQ
if (count & (LKC_EXREQ | LKC_EXREQ2 | LKC_SMASK | LKC_UPREQ)) {
while ((count & (LKC_EXREQ | LKC_UPREQ | LKC_CANCEL)) &&
if (count & LKC_EXREQ) {
ncount = (count + 1) & ~(LKC_EXREQ | LKC_EXREQ2 |
if ((count & LKC_EXREQ) == 0) {
ncount = count & ~(LKC_EXREQ | LKC_EXREQ2);
ncount = count & ~(LKC_EXREQ | LKC_EXREQ2);
ncount = count & ~(LKC_EXREQ | LKC_EXREQ2);
ncount = (count + 1) & ~(LKC_EXREQ | LKC_EXREQ2);
} else if (count & LKC_EXREQ) {
ncount &= ~(LKC_EXREQ | LKC_EXREQ2 | LKC_UPREQ);
KKASSERT((count & (LKC_EXREQ | LKC_UPREQ)) == 0 &&
if (count & (LKC_XMASK | LKC_SMASK | LKC_EXREQ | LKC_UPREQ)) {
if ((count & (LKC_EXREQ | LKC_UPREQ)) ||
(count & (LKC_EXREQ | LKC_UPREQ))) {
(count & (LKC_EXREQ | LKC_UPREQ))) {
if ((count & (LKC_XMASK | LKC_EXREQ |
if ((count & (LKC_UPREQ | LKC_EXREQ |
if (count & (LKC_EXREQ | LKC_XMASK))
ncount = count | LKC_EXREQ;
if ((count & (LKC_EXREQ | LKC_XMASK)) == 0) {
if ((count & LKC_EXREQ) == 0) {
if ((count & LKC_EXREQ) == 0) {
if ((count & (LKC_UPREQ | LKC_EXREQ |
} else if ((count & (LKC_EXREQ | LKC_XMASK)) ==
(LKC_EXREQ | 1)) {
ncount = count & ~LKC_EXREQ;
if ((count & (LKC_EXREQ | LKC_UPREQ | LKC_SMASK)) ==
} else if ((count & (LKC_EXREQ | LKC_SMASK)) ==
(LKC_EXREQ | LKC_SCOUNT)) {
~(LKC_EXREQ | LKC_EXREQ2 |
return ((lkp->lk_count & (LKC_EXREQ | LKC_EXREQ2)) != 0);