Home
last modified time | relevance | path

Searched refs:wq (Results 1 – 25 of 536) sorted by relevance

12345678910>>...22

/Linux-v4.19/drivers/net/ethernet/mellanox/mlx5/core/
Dwq.h80 void *wqc, struct mlx5_wq_cyc *wq,
82 u32 mlx5_wq_cyc_get_size(struct mlx5_wq_cyc *wq);
85 void *qpc, struct mlx5_wq_qp *wq,
89 void *cqc, struct mlx5_cqwq *wq,
91 u32 mlx5_cqwq_get_size(struct mlx5_cqwq *wq);
94 void *wqc, struct mlx5_wq_ll *wq,
96 u32 mlx5_wq_ll_get_size(struct mlx5_wq_ll *wq);
100 static inline int mlx5_wq_cyc_is_full(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_is_full() argument
102 return wq->cur_sz == wq->sz; in mlx5_wq_cyc_is_full()
105 static inline int mlx5_wq_cyc_missing(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_missing() argument
[all …]
Dwq.c37 u32 mlx5_wq_cyc_get_size(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_get_size() argument
39 return (u32)wq->fbc.sz_m1 + 1; in mlx5_wq_cyc_get_size()
42 u32 mlx5_cqwq_get_size(struct mlx5_cqwq *wq) in mlx5_cqwq_get_size() argument
44 return wq->fbc.sz_m1 + 1; in mlx5_cqwq_get_size()
47 u32 mlx5_wq_ll_get_size(struct mlx5_wq_ll *wq) in mlx5_wq_ll_get_size() argument
49 return (u32)wq->fbc.sz_m1 + 1; in mlx5_wq_ll_get_size()
52 static u32 mlx5_wq_cyc_get_byte_size(struct mlx5_wq_cyc *wq) in mlx5_wq_cyc_get_byte_size() argument
54 return mlx5_wq_cyc_get_size(wq) << wq->fbc.log_stride; in mlx5_wq_cyc_get_byte_size()
57 static u32 mlx5_wq_qp_get_byte_size(struct mlx5_wq_qp *wq) in mlx5_wq_qp_get_byte_size() argument
59 return mlx5_wq_cyc_get_byte_size(&wq->rq) + in mlx5_wq_qp_get_byte_size()
[all …]
Dsrq.c81 static void set_wq(void *wq, struct mlx5_srq_attr *in) in set_wq() argument
83 MLX5_SET(wq, wq, wq_signature, !!(in->flags in set_wq()
85 MLX5_SET(wq, wq, log_wq_pg_sz, in->log_page_size); in set_wq()
86 MLX5_SET(wq, wq, log_wq_stride, in->wqe_shift + 4); in set_wq()
87 MLX5_SET(wq, wq, log_wq_sz, in->log_size); in set_wq()
88 MLX5_SET(wq, wq, page_offset, in->page_offset); in set_wq()
89 MLX5_SET(wq, wq, lwm, in->lwm); in set_wq()
90 MLX5_SET(wq, wq, pd, in->pd); in set_wq()
91 MLX5_SET64(wq, wq, dbr_addr, in->db_record); in set_wq()
109 static void get_wq(void *wq, struct mlx5_srq_attr *in) in get_wq() argument
[all …]
/Linux-v4.19/drivers/net/ethernet/cisco/enic/
Dvnic_wq.c31 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument
34 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs()
38 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ(count), GFP_KERNEL); in vnic_wq_alloc_bufs()
39 if (!wq->bufs[i]) in vnic_wq_alloc_bufs()
44 buf = wq->bufs[i]; in vnic_wq_alloc_bufs()
47 buf->desc = (u8 *)wq->ring.descs + in vnic_wq_alloc_bufs()
48 wq->ring.desc_size * buf->index; in vnic_wq_alloc_bufs()
50 buf->next = wq->bufs[0]; in vnic_wq_alloc_bufs()
54 buf->next = wq->bufs[i + 1]; in vnic_wq_alloc_bufs()
64 wq->to_use = wq->to_clean = wq->bufs[0]; in vnic_wq_alloc_bufs()
[all …]
Dvnic_wq.h99 struct vnic_wq wq; member
103 static inline unsigned int vnic_wq_desc_avail(struct vnic_wq *wq) in vnic_wq_desc_avail() argument
106 return wq->ring.desc_avail; in vnic_wq_desc_avail()
109 static inline unsigned int vnic_wq_desc_used(struct vnic_wq *wq) in vnic_wq_desc_used() argument
112 return wq->ring.desc_count - wq->ring.desc_avail - 1; in vnic_wq_desc_used()
115 static inline void *vnic_wq_next_desc(struct vnic_wq *wq) in vnic_wq_next_desc() argument
117 return wq->to_use->desc; in vnic_wq_next_desc()
120 static inline void vnic_wq_doorbell(struct vnic_wq *wq) in vnic_wq_doorbell() argument
128 iowrite32(wq->to_use->index, &wq->ctrl->posted_index); in vnic_wq_doorbell()
131 static inline void vnic_wq_post(struct vnic_wq *wq, in vnic_wq_post() argument
[all …]
/Linux-v4.19/drivers/scsi/snic/
Dvnic_wq.c26 static inline int vnic_wq_get_ctrl(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_get_ctrl() argument
29 wq->ctrl = svnic_dev_get_res(vdev, res_type, index); in vnic_wq_get_ctrl()
30 if (!wq->ctrl) in vnic_wq_get_ctrl()
36 static inline int vnic_wq_alloc_ring(struct vnic_dev *vdev, struct vnic_wq *wq, in vnic_wq_alloc_ring() argument
39 return svnic_dev_alloc_desc_ring(vdev, &wq->ring, desc_count, in vnic_wq_alloc_ring()
43 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument
46 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs()
50 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ, GFP_ATOMIC); in vnic_wq_alloc_bufs()
51 if (!wq->bufs[i]) { in vnic_wq_alloc_bufs()
59 buf = wq->bufs[i]; in vnic_wq_alloc_bufs()
[all …]
Dvnic_wq.h85 static inline unsigned int svnic_wq_desc_avail(struct vnic_wq *wq) in svnic_wq_desc_avail() argument
88 return wq->ring.desc_avail; in svnic_wq_desc_avail()
91 static inline unsigned int svnic_wq_desc_used(struct vnic_wq *wq) in svnic_wq_desc_used() argument
94 return wq->ring.desc_count - wq->ring.desc_avail - 1; in svnic_wq_desc_used()
97 static inline void *svnic_wq_next_desc(struct vnic_wq *wq) in svnic_wq_next_desc() argument
99 return wq->to_use->desc; in svnic_wq_next_desc()
102 static inline void svnic_wq_post(struct vnic_wq *wq, in svnic_wq_post() argument
106 struct vnic_wq_buf *buf = wq->to_use; in svnic_wq_post()
121 iowrite32(buf->index, &wq->ctrl->posted_index); in svnic_wq_post()
123 wq->to_use = buf; in svnic_wq_post()
[all …]
/Linux-v4.19/drivers/scsi/fnic/
Dvnic_wq.c27 static int vnic_wq_alloc_bufs(struct vnic_wq *wq) in vnic_wq_alloc_bufs() argument
31 unsigned int i, j, count = wq->ring.desc_count; in vnic_wq_alloc_bufs()
34 vdev = wq->vdev; in vnic_wq_alloc_bufs()
37 wq->bufs[i] = kzalloc(VNIC_WQ_BUF_BLK_SZ, GFP_ATOMIC); in vnic_wq_alloc_bufs()
38 if (!wq->bufs[i]) { in vnic_wq_alloc_bufs()
45 buf = wq->bufs[i]; in vnic_wq_alloc_bufs()
48 buf->desc = (u8 *)wq->ring.descs + in vnic_wq_alloc_bufs()
49 wq->ring.desc_size * buf->index; in vnic_wq_alloc_bufs()
51 buf->next = wq->bufs[0]; in vnic_wq_alloc_bufs()
54 buf->next = wq->bufs[i + 1]; in vnic_wq_alloc_bufs()
[all …]
Dvnic_wq_copy.h36 static inline unsigned int vnic_wq_copy_desc_avail(struct vnic_wq_copy *wq) in vnic_wq_copy_desc_avail() argument
38 return wq->ring.desc_avail; in vnic_wq_copy_desc_avail()
41 static inline unsigned int vnic_wq_copy_desc_in_use(struct vnic_wq_copy *wq) in vnic_wq_copy_desc_in_use() argument
43 return wq->ring.desc_count - 1 - wq->ring.desc_avail; in vnic_wq_copy_desc_in_use()
46 static inline void *vnic_wq_copy_next_desc(struct vnic_wq_copy *wq) in vnic_wq_copy_next_desc() argument
48 struct fcpio_host_req *desc = wq->ring.descs; in vnic_wq_copy_next_desc()
49 return &desc[wq->to_use_index]; in vnic_wq_copy_next_desc()
52 static inline void vnic_wq_copy_post(struct vnic_wq_copy *wq) in vnic_wq_copy_post() argument
55 ((wq->to_use_index + 1) == wq->ring.desc_count) ? in vnic_wq_copy_post()
56 (wq->to_use_index = 0) : (wq->to_use_index++); in vnic_wq_copy_post()
[all …]
Dvnic_wq_copy.c25 void vnic_wq_copy_enable(struct vnic_wq_copy *wq) in vnic_wq_copy_enable() argument
27 iowrite32(1, &wq->ctrl->enable); in vnic_wq_copy_enable()
30 int vnic_wq_copy_disable(struct vnic_wq_copy *wq) in vnic_wq_copy_disable() argument
34 iowrite32(0, &wq->ctrl->enable); in vnic_wq_copy_disable()
38 if (!(ioread32(&wq->ctrl->running))) in vnic_wq_copy_disable()
45 wq->index, ioread32(&wq->ctrl->fetch_index), in vnic_wq_copy_disable()
46 ioread32(&wq->ctrl->posted_index)); in vnic_wq_copy_disable()
51 void vnic_wq_copy_clean(struct vnic_wq_copy *wq, in vnic_wq_copy_clean() argument
52 void (*q_clean)(struct vnic_wq_copy *wq, in vnic_wq_copy_clean() argument
55 BUG_ON(ioread32(&wq->ctrl->enable)); in vnic_wq_copy_clean()
[all …]
Dvnic_wq.h96 static inline unsigned int vnic_wq_desc_avail(struct vnic_wq *wq) in vnic_wq_desc_avail() argument
99 return wq->ring.desc_avail; in vnic_wq_desc_avail()
102 static inline unsigned int vnic_wq_desc_used(struct vnic_wq *wq) in vnic_wq_desc_used() argument
105 return wq->ring.desc_count - wq->ring.desc_avail - 1; in vnic_wq_desc_used()
108 static inline void *vnic_wq_next_desc(struct vnic_wq *wq) in vnic_wq_next_desc() argument
110 return wq->to_use->desc; in vnic_wq_next_desc()
113 static inline void vnic_wq_post(struct vnic_wq *wq, in vnic_wq_post() argument
117 struct vnic_wq_buf *buf = wq->to_use; in vnic_wq_post()
132 iowrite32(buf->index, &wq->ctrl->posted_index); in vnic_wq_post()
134 wq->to_use = buf; in vnic_wq_post()
[all …]
Dfnic_res.h30 static inline void fnic_queue_wq_desc(struct vnic_wq *wq, in fnic_queue_wq_desc() argument
37 struct wq_enet_desc *desc = vnic_wq_next_desc(wq); in fnic_queue_wq_desc()
51 vnic_wq_post(wq, os_buf, dma_addr, len, sop, eop); in fnic_queue_wq_desc()
54 static inline void fnic_queue_wq_eth_desc(struct vnic_wq *wq, in fnic_queue_wq_eth_desc() argument
61 struct wq_enet_desc *desc = vnic_wq_next_desc(wq); in fnic_queue_wq_eth_desc()
76 vnic_wq_post(wq, os_buf, dma_addr, len, 1, 1); in fnic_queue_wq_eth_desc()
79 static inline void fnic_queue_wq_copy_desc_icmnd_16(struct vnic_wq_copy *wq, in fnic_queue_wq_copy_desc_icmnd_16() argument
91 struct fcpio_host_req *desc = vnic_wq_copy_next_desc(wq); in fnic_queue_wq_copy_desc_icmnd_16()
121 vnic_wq_copy_post(wq); in fnic_queue_wq_copy_desc_icmnd_16()
124 static inline void fnic_queue_wq_copy_desc_itmf(struct vnic_wq_copy *wq, in fnic_queue_wq_copy_desc_itmf() argument
[all …]
/Linux-v4.19/drivers/net/ethernet/huawei/hinic/
Dhinic_hw_wq.c43 #define WQ_SIZE(wq) ((wq)->q_depth * (wq)->wqebb_size) argument
53 #define WQ_BASE_VADDR(wqs, wq) \ argument
54 ((void *)((wqs)->page_vaddr[(wq)->page_idx]) \
55 + (wq)->block_idx * WQ_BLOCK_SIZE)
57 #define WQ_BASE_PADDR(wqs, wq) \ argument
58 ((wqs)->page_paddr[(wq)->page_idx] \
59 + (wq)->block_idx * WQ_BLOCK_SIZE)
61 #define WQ_BASE_ADDR(wqs, wq) \ argument
62 ((void *)((wqs)->shadow_page_vaddr[(wq)->page_idx]) \
63 + (wq)->block_idx * WQ_BLOCK_SIZE)
[all …]
Dhinic_hw_qp.c70 #define SQ_MASKED_IDX(sq, idx) ((idx) & (sq)->wq->mask)
71 #define RQ_MASKED_IDX(rq, idx) ((idx) & (rq)->wq->mask)
109 struct hinic_wq *wq; in hinic_sq_prepare_ctxt() local
111 wq = sq->wq; in hinic_sq_prepare_ctxt()
112 ci_start = atomic_read(&wq->cons_idx); in hinic_sq_prepare_ctxt()
113 pi_start = atomic_read(&wq->prod_idx); in hinic_sq_prepare_ctxt()
116 wq_page_addr = be64_to_cpu(*wq->block_vaddr); in hinic_sq_prepare_ctxt()
122 wq_block_pfn = HINIC_WQ_BLOCK_PFN(wq->block_paddr); in hinic_sq_prepare_ctxt()
166 struct hinic_wq *wq; in hinic_rq_prepare_ctxt() local
168 wq = rq->wq; in hinic_rq_prepare_ctxt()
[all …]
/Linux-v4.19/fs/autofs/
Dwaitq.c20 struct autofs_wait_queue *wq, *nwq; in autofs_catatonic_mode() local
31 wq = sbi->queues; in autofs_catatonic_mode()
33 while (wq) { in autofs_catatonic_mode()
34 nwq = wq->next; in autofs_catatonic_mode()
35 wq->status = -ENOENT; /* Magic is gone - report failure */ in autofs_catatonic_mode()
36 kfree(wq->name.name); in autofs_catatonic_mode()
37 wq->name.name = NULL; in autofs_catatonic_mode()
38 wq->wait_ctr--; in autofs_catatonic_mode()
39 wake_up_interruptible(&wq->queue); in autofs_catatonic_mode()
40 wq = nwq; in autofs_catatonic_mode()
[all …]
/Linux-v4.19/fs/btrfs/
Dasync-thread.c65 btrfs_workqueue_owner(const struct __btrfs_workqueue *wq) in btrfs_workqueue_owner() argument
67 return wq->fs_info; in btrfs_workqueue_owner()
73 return work->wq->fs_info; in btrfs_work_owner()
76 bool btrfs_workqueue_normal_congested(const struct btrfs_workqueue *wq) in btrfs_workqueue_normal_congested() argument
84 if (wq->normal->thresh == NO_THRESHOLD) in btrfs_workqueue_normal_congested()
87 return atomic_read(&wq->normal->pending) > wq->normal->thresh * 2; in btrfs_workqueue_normal_congested()
162 __btrfs_destroy_workqueue(struct __btrfs_workqueue *wq);
200 static inline void thresh_queue_hook(struct __btrfs_workqueue *wq) in thresh_queue_hook() argument
202 if (wq->thresh == NO_THRESHOLD) in thresh_queue_hook()
204 atomic_inc(&wq->pending); in thresh_queue_hook()
[all …]
/Linux-v4.19/include/linux/
Dswait.h134 static inline int swait_active(struct swait_queue_head *wq) in swait_active() argument
136 return !list_empty(&wq->task_list); in swait_active()
147 static inline bool swq_has_sleeper(struct swait_queue_head *wq) in swq_has_sleeper() argument
157 return swait_active(wq); in swq_has_sleeper()
171 #define ___swait_event(wq, condition, state, ret, cmd) \ argument
179 long __int = prepare_to_swait_event(&wq, &__wait, state);\
191 finish_swait(&wq, &__wait); \
195 #define __swait_event(wq, condition) \ argument
196 (void)___swait_event(wq, condition, TASK_UNINTERRUPTIBLE, 0, \
199 #define swait_event_exclusive(wq, condition) \ argument
[all …]
/Linux-v4.19/kernel/
Dworkqueue.c200 struct workqueue_struct *wq; /* I: the owning workqueue */ member
354 static void workqueue_sysfs_unregister(struct workqueue_struct *wq);
364 #define assert_rcu_or_wq_mutex(wq) \ argument
366 !lockdep_is_held(&wq->mutex), \
369 #define assert_rcu_or_wq_mutex_or_pool_mutex(wq) \ argument
371 !lockdep_is_held(&wq->mutex) && \
424 #define for_each_pwq(pwq, wq) \ argument
425 list_for_each_entry_rcu((pwq), &(wq)->pwqs, pwqs_node) \
426 if (({ assert_rcu_or_wq_mutex(wq); false; })) { } \
560 static struct pool_workqueue *unbound_pwq_by_node(struct workqueue_struct *wq, in unbound_pwq_by_node() argument
[all …]
/Linux-v4.19/drivers/infiniband/hw/cxgb4/
Dt4.h479 static inline int t4_rqes_posted(struct t4_wq *wq) in t4_rqes_posted() argument
481 return wq->rq.in_use; in t4_rqes_posted()
484 static inline int t4_rq_empty(struct t4_wq *wq) in t4_rq_empty() argument
486 return wq->rq.in_use == 0; in t4_rq_empty()
489 static inline int t4_rq_full(struct t4_wq *wq) in t4_rq_full() argument
491 return wq->rq.in_use == (wq->rq.size - 1); in t4_rq_full()
494 static inline u32 t4_rq_avail(struct t4_wq *wq) in t4_rq_avail() argument
496 return wq->rq.size - 1 - wq->rq.in_use; in t4_rq_avail()
499 static inline void t4_rq_produce(struct t4_wq *wq, u8 len16) in t4_rq_produce() argument
501 wq->rq.in_use++; in t4_rq_produce()
[all …]
Dqp.c149 static int destroy_qp(struct c4iw_rdev *rdev, struct t4_wq *wq, in destroy_qp() argument
156 dealloc_sq(rdev, &wq->sq); in destroy_qp()
157 kfree(wq->sq.sw_sq); in destroy_qp()
158 c4iw_put_qpid(rdev, wq->sq.qid, uctx); in destroy_qp()
162 wq->rq.memsize, wq->rq.queue, in destroy_qp()
163 dma_unmap_addr(&wq->rq, mapping)); in destroy_qp()
164 c4iw_rqtpool_free(rdev, wq->rq.rqt_hwaddr, wq->rq.rqt_size); in destroy_qp()
165 kfree(wq->rq.sw_rq); in destroy_qp()
166 c4iw_put_qpid(rdev, wq->rq.qid, uctx); in destroy_qp()
198 static int create_qp(struct c4iw_rdev *rdev, struct t4_wq *wq, in create_qp() argument
[all …]
Dcq.c185 static void insert_recv_cqe(struct t4_wq *wq, struct t4_cq *cq, u32 srqidx) in insert_recv_cqe() argument
190 wq, cq, cq->sw_cidx, cq->sw_pidx); in insert_recv_cqe()
196 CQE_QPID_V(wq->sq.qid)); in insert_recv_cqe()
204 int c4iw_flush_rq(struct t4_wq *wq, struct t4_cq *cq, int count) in c4iw_flush_rq() argument
207 int in_use = wq->rq.in_use - count; in c4iw_flush_rq()
210 wq, cq, wq->rq.in_use, count); in c4iw_flush_rq()
212 insert_recv_cqe(wq, cq, 0); in c4iw_flush_rq()
218 static void insert_sq_cqe(struct t4_wq *wq, struct t4_cq *cq, in insert_sq_cqe() argument
224 wq, cq, cq->sw_cidx, cq->sw_pidx); in insert_sq_cqe()
230 CQE_QPID_V(wq->sq.qid)); in insert_sq_cqe()
[all …]
Drestrack.c39 static int fill_sq(struct sk_buff *msg, struct t4_wq *wq) in fill_sq() argument
42 if (rdma_nl_put_driver_u32(msg, "sqid", wq->sq.qid)) in fill_sq()
44 if (rdma_nl_put_driver_u32(msg, "flushed", wq->flushed)) in fill_sq()
46 if (rdma_nl_put_driver_u32(msg, "memsize", wq->sq.memsize)) in fill_sq()
48 if (rdma_nl_put_driver_u32(msg, "cidx", wq->sq.cidx)) in fill_sq()
50 if (rdma_nl_put_driver_u32(msg, "pidx", wq->sq.pidx)) in fill_sq()
52 if (rdma_nl_put_driver_u32(msg, "wq_pidx", wq->sq.wq_pidx)) in fill_sq()
54 if (rdma_nl_put_driver_u32(msg, "flush_cidx", wq->sq.flush_cidx)) in fill_sq()
56 if (rdma_nl_put_driver_u32(msg, "in_use", wq->sq.in_use)) in fill_sq()
58 if (rdma_nl_put_driver_u32(msg, "size", wq->sq.size)) in fill_sq()
[all …]
/Linux-v4.19/drivers/infiniband/hw/cxgb3/
Dcxio_hal.c273 struct t3_wq *wq, struct cxio_ucontext *uctx) in cxio_create_qp() argument
275 int depth = 1UL << wq->size_log2; in cxio_create_qp()
276 int rqsize = 1UL << wq->rq_size_log2; in cxio_create_qp()
278 wq->qpid = get_qpid(rdev_p, uctx); in cxio_create_qp()
279 if (!wq->qpid) in cxio_create_qp()
282 wq->rq = kcalloc(depth, sizeof(struct t3_swrq), GFP_KERNEL); in cxio_create_qp()
283 if (!wq->rq) in cxio_create_qp()
286 wq->rq_addr = cxio_hal_rqtpool_alloc(rdev_p, rqsize); in cxio_create_qp()
287 if (!wq->rq_addr) in cxio_create_qp()
290 wq->sq = kcalloc(depth, sizeof(struct t3_swsq), GFP_KERNEL); in cxio_create_qp()
[all …]
/Linux-v4.19/lib/raid6/
Dneon.uc63 register unative_t wd$$, wq$$, wp$$, w1$$, w2$$;
71 wq$$ = wp$$ = vld1q_u8(&dptr[z0][d+$$*NSIZE]);
75 w2$$ = MASK(wq$$);
76 w1$$ = SHLBYTE(wq$$);
80 wq$$ = veorq_u8(w1$$, wd$$);
83 vst1q_u8(&q[d+NSIZE*$$], wq$$);
94 register unative_t wd$$, wq$$, wp$$, w1$$, w2$$;
102 wq$$ = vld1q_u8(&dptr[z0][d+$$*NSIZE]);
103 wp$$ = veorq_u8(vld1q_u8(&p[d+$$*NSIZE]), wq$$);
109 w2$$ = MASK(wq$$);
[all …]
/Linux-v4.19/drivers/edac/
Dwq.c3 static struct workqueue_struct *wq; variable
7 return queue_delayed_work(wq, work, delay); in edac_queue_work()
13 return mod_delayed_work(wq, work, delay); in edac_mod_work()
22 flush_workqueue(wq); in edac_stop_work()
30 wq = alloc_ordered_workqueue("edac-poller", WQ_MEM_RECLAIM); in edac_workqueue_setup()
31 if (!wq) in edac_workqueue_setup()
39 flush_workqueue(wq); in edac_workqueue_teardown()
40 destroy_workqueue(wq); in edac_workqueue_teardown()
41 wq = NULL; in edac_workqueue_teardown()

12345678910>>...22