Lines Matching refs:req
100 struct upc_req *req = NULL; in coda_psdev_write() local
151 req = tmp; in coda_psdev_write()
152 list_del(&req->uc_chain); in coda_psdev_write()
158 if (!req) { in coda_psdev_write()
166 if (req->uc_outSize < nbytes) { in coda_psdev_write()
168 req->uc_outSize, (long)nbytes, hdr.opcode, hdr.unique); in coda_psdev_write()
169 nbytes = req->uc_outSize; /* don't have more space! */ in coda_psdev_write()
171 if (copy_from_user(req->uc_data, buf, nbytes)) { in coda_psdev_write()
172 req->uc_flags |= CODA_REQ_ABORT; in coda_psdev_write()
173 wake_up(&req->uc_sleep); in coda_psdev_write()
179 req->uc_outSize = nbytes; in coda_psdev_write()
180 req->uc_flags |= CODA_REQ_WRITE; in coda_psdev_write()
184 if (req->uc_opcode == CODA_OPEN_BY_FD) { in coda_psdev_write()
186 (struct coda_open_by_fd_out *)req->uc_data; in coda_psdev_write()
191 wake_up(&req->uc_sleep); in coda_psdev_write()
205 struct upc_req *req; in coda_psdev_read() local
236 req = list_entry(vcp->vc_pending.next, struct upc_req,uc_chain); in coda_psdev_read()
237 list_del(&req->uc_chain); in coda_psdev_read()
240 count = req->uc_inSize; in coda_psdev_read()
241 if (nbytes < req->uc_inSize) { in coda_psdev_read()
243 (long)nbytes, req->uc_inSize); in coda_psdev_read()
247 if (copy_to_user(buf, req->uc_data, count)) in coda_psdev_read()
251 if (!(req->uc_flags & CODA_REQ_ASYNC)) { in coda_psdev_read()
252 req->uc_flags |= CODA_REQ_READ; in coda_psdev_read()
253 list_add_tail(&(req->uc_chain), &vcp->vc_processing); in coda_psdev_read()
257 CODA_FREE(req->uc_data, sizeof(struct coda_in_hdr)); in coda_psdev_read()
258 kfree(req); in coda_psdev_read()
298 struct upc_req *req, *tmp; in coda_psdev_release() local
308 list_for_each_entry_safe(req, tmp, &vcp->vc_pending, uc_chain) { in coda_psdev_release()
309 list_del(&req->uc_chain); in coda_psdev_release()
312 if (req->uc_flags & CODA_REQ_ASYNC) { in coda_psdev_release()
313 CODA_FREE(req->uc_data, sizeof(struct coda_in_hdr)); in coda_psdev_release()
314 kfree(req); in coda_psdev_release()
317 req->uc_flags |= CODA_REQ_ABORT; in coda_psdev_release()
318 wake_up(&req->uc_sleep); in coda_psdev_release()
321 list_for_each_entry_safe(req, tmp, &vcp->vc_processing, uc_chain) { in coda_psdev_release()
322 list_del(&req->uc_chain); in coda_psdev_release()
324 req->uc_flags |= CODA_REQ_ABORT; in coda_psdev_release()
325 wake_up(&req->uc_sleep); in coda_psdev_release()