atomic_sub_return
ATOMIC_FETCH_OPS(atomic_sub_return)
ret = atomic_sub_return(1, &dev->power.usage_count);
return atomic_sub_return(n, &device->unacked_cnt);
i = atomic_sub_return(i, &device->pp_in_use);
if (atomic_sub_return(1, &accel_dev->ref_count) == 0)
if (atomic_sub_return(1, &vcrypto_dev->ref_count) == 0)
if (!atomic_sub_return(count, &pt->used))
if (atomic_sub_return(count, &vma->pages_count) == 0) {
if (atomic_sub_return(1, &con->c.sq_wr_avail) < 0) {
if (atomic_sub_return(ioctx->n_rdma, &ch->sq_wr_avail) < 0) {
if (unlikely(atomic_sub_return(1 + ioctx->n_rdma,
!atomic_sub_return(w->prio_blocked, &b->c->prio_blocked))
if (atomic_sub_return(bio_sectors(bio), &op->c->sectors_to_gc) < 0)
if (atomic_sub_return(num_wqebbs, &wq->delta) <= 0) {
if (atomic_sub_return(entries, &tx_scrq->used) <=
if (atomic_sub_return(num_entries, &scrq->used) <=
if (atomic_sub_return(pkt_transmitted, &txq->pending_sends) < 0)
if (unlikely(atomic_sub_return(chunks, &ar->mem_free_blocks) < 0)) {
if (atomic_sub_return(send_cnt, &txq->tx_budget) <= (MAX_SKB_FRAGS + 2))
if (unlikely(atomic_sub_return(1 + rsp->n_rdma,
if (atomic_sub_return(count, &q->nr_buf_used) == 0)
if (atomic_sub_return(count, &q->nr_buf_used) == 0)
atomic_sub_return(1, &efct->xport->io_active_count);
ini_count = atomic_sub_return(1, &efct->tgt_efct.initiator_count);
atomic_sub_return(1, &efct->tgt_efct.ios_in_use);
atomic_sub_return(1, &xport->io_pending_count);
atomic_sub_return(1, &xport->io_pending_recursing);
atomic_sub_return(1, &xport->io_pending_recursing);
atomic_sub_return(1, &xport->io_pending_count);
atomic_sub_return(1, &xport->io_pending_recursing);
ioc_pend_data_len = atomic_sub_return(data_len_blks,
tg_pend_data_len = atomic_sub_return(data_len_blks,
WARN_ON(atomic_sub_return(b->size, &buf->mem_used) < 0);
r = atomic_sub_return(1, &ubufs->refcount);
new_cnt = atomic_sub_return(cnt, &vsock->queued_replies);
if (atomic_sub_return(1, &priv->hw_usecnt) == -1) {
int refcnt = atomic_sub_return(1, THERM_REFCNT(sl->family_data));
refcnt = atomic_sub_return(1, &sl->refcnt);
if (atomic_sub_return(1, &block->refcnt) == 0) {
live_grants = atomic_sub_return(successful_unmaps, &map->live_grants);
if (atomic_sub_return(nr_pages, &fs_info->async_delalloc_pages) <
if (atomic_sub_return(blks, &sdp->sd_log_blks_needed))
WARN_ON(atomic_sub_return(1, &inode->i_count) == 0);
if (atomic_sub_return(needed, total_credits) >= 0)
if (atomic_sub_return(needed, total_credits) >= 0)
int ret = atomic_sub_return(nr, &folio->_refcount);
else if (atomic_sub_return(bias, &shinfo->dataref))
} while (atomic_sub_return(v, &req->poll_refs) & IO_POLL_REF_MASK);
if (!atomic_sub_return(1, &iw->refs))
ret = atomic_sub_return(MODULE_REF_BASE, &mod->refcnt);
if ((atomic_sub_return(1, &rdma->excess_rc) >= 0)) {
tx_pending = atomic_sub_return(tx_airtime,
tx_pending = atomic_sub_return(tx_airtime,
if ((atomic_sub_return(nr, &ic->i_signaled_sends) == 0) &&
new_budget = atomic_sub_return(len, &entry->budget[tc]);
if (atomic_sub_return(cc->cc_sqecount,
if (atomic_sub_return(sqecount, &rdma->sc_sq_avail) < 0) {
new_cnt = atomic_sub_return(cnt, &vsock->queued_replies);
return atomic_sub_return(i, v);