• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/scsi/

Lines Matching refs:srp

176 static int sg_start_req(Sg_request * srp);
177 static void sg_finish_rem_req(Sg_request * srp);
182 Sg_request * srp);
185 static int sg_common_write(Sg_fd * sfp, Sg_request * srp,
189 static int sg_write_xfer(Sg_request * srp);
190 static int sg_read_xfer(Sg_request * srp);
191 static int sg_read_oxfer(Sg_request * srp, char __user *outp, int num_read_xfer);
194 static void sg_link_reserve(Sg_fd * sfp, Sg_request * srp, int size);
195 static void sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp);
203 static int sg_remove_request(Sg_fd * sfp, Sg_request * srp);
206 static int sg_build_direct(Sg_request * srp, Sg_fd * sfp, int dxfer_len);
333 Sg_request *srp;
374 srp = sg_get_rq_mark(sfp, req_pack_id);
375 if (!srp) { /* now wait on packet to arrive */
388 (srp = sg_get_rq_mark(sfp, req_pack_id))),
401 if (srp->header.interface_id != '\0') {
402 retval = sg_new_read(sfp, buf, count, srp);
406 hp = &srp->header;
419 ((srp->data.cmd_opcode >= 0xc0) && (12 == hp->cmd_len)) ? 1 : 0;
425 memcpy(old_hdr->sense_buffer, srp->sense_b,
448 old_hdr->result = (srp->sense_b[0] == 0 &&
466 if (sg_read_oxfer(srp, buf, count - SZ_SG_HEADER)) {
473 sg_finish_rem_req(srp);
481 sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, Sg_request * srp)
483 sg_io_hdr_t *hp = &srp->header;
497 len = 8 + (int) srp->sense_b[7]; /* Additional sense length field */
499 if (copy_to_user(hp->sbp, srp->sense_b, len)) {
512 err = sg_read_xfer(srp);
514 sg_finish_rem_req(srp);
526 Sg_request *srp;
553 if (!(srp = sg_add_request(sfp))) {
563 sg_remove_request(sfp, srp);
581 sg_remove_request(sfp, srp);
584 hp = &srp->header;
617 k = sg_common_write(sfp, srp, cmnd, sfp->timeout, blocking);
626 Sg_request *srp;
638 if (!(srp = sg_add_request(sfp))) {
642 hp = &srp->header;
644 sg_remove_request(sfp, srp);
648 sg_remove_request(sfp, srp);
653 sg_remove_request(sfp, srp);
657 sg_remove_request(sfp, srp);
661 sg_remove_request(sfp, srp);
665 ul_timeout = msecs_to_jiffies(srp->header.timeout);
668 sg_remove_request(sfp, srp);
672 sg_remove_request(sfp, srp);
676 sg_remove_request(sfp, srp);
681 sg_remove_request(sfp, srp);
684 k = sg_common_write(sfp, srp, cmnd, timeout, blocking);
688 *o_srp = srp;
693 sg_common_write(Sg_fd * sfp, Sg_request * srp,
698 sg_io_hdr_t *hp = &srp->header;
700 srp->data.cmd_opcode = cmnd[0]; /* hold opcode of command */
711 if ((k = sg_start_req(srp))) {
713 sg_finish_rem_req(srp);
716 if ((k = sg_write_xfer(srp))) {
718 sg_finish_rem_req(srp);
722 sg_finish_rem_req(srp);
744 if (scsi_execute_async(sdp->device, cmnd, hp->cmd_len, data_dir, srp->data.buffer,
745 hp->dxfer_len, srp->data.k_use_sg, timeout,
746 SG_DEFAULT_RETRIES, srp, sg_cmd_done,
752 sg_finish_rem_req(srp);
759 sg_srp_done(Sg_request *srp, Sg_fd *sfp)
765 done = srp->done;
779 Sg_request *srp;
801 blocking, read_only, &srp);
804 srp->sg_io_owned = 1;
808 (sdp->detached || sfp->closed || sg_srp_done(srp, sfp)),
816 srp->orphan = 1;
820 srp->done = 2;
822 result = sg_new_read(sfp, p, SZ_SG_IO_HDR, srp);
892 for (srp = sfp->headrp; srp; srp = srp->nextrp) {
893 if ((1 == srp->done) && (!srp->sg_io_owned)) {
896 __put_user(srp->header.pack_id, ip);
905 for (val = 0, srp = sfp->headrp; srp; srp = srp->nextrp) {
906 if ((1 == srp->done) && (!srp->sg_io_owned))
972 for (srp = sfp->headrp, val = 0; val < SG_MAX_QUEUE;
973 ++val, srp = srp ? srp->nextrp : srp) {
975 if (srp) {
976 rinfo[val].req_state = srp->done + 1;
978 srp->header.masked_status &
979 srp->header.host_status &
980 srp->header.driver_status;
981 if (srp->done)
983 srp->header.duration;
987 (ms > srp->header.duration) ?
988 (ms - srp->header.duration) : 0;
990 rinfo[val].orphan = srp->orphan;
992 srp->sg_io_owned;
994 srp->header.pack_id;
996 srp->header.usr_ptr;
1105 Sg_request *srp;
1114 for (srp = sfp->headrp; srp; srp = srp->nextrp) {
1116 if ((0 == res) && (1 == srp->done) && (!srp->sg_io_owned))
1233 Sg_request *srp = data;
1239 if (NULL == srp) {
1243 sfp = srp->parentfp;
1253 sdp->disk->disk_name, srp->header.pack_id, result));
1254 srp->header.resid = resid;
1256 srp->header.duration = (ms > srp->header.duration) ?
1257 (ms - srp->header.duration) : 0;
1261 memcpy(srp->sense_b, sense, sizeof (srp->sense_b));
1262 srp->header.status = 0xff & result;
1263 srp->header.masked_status = status_byte(result);
1264 srp->header.msg_status = msg_byte(result);
1265 srp->header.host_status = host_byte(result);
1266 srp->header.driver_status = driver_byte(result);
1268 ((CHECK_CONDITION == srp->header.masked_status) ||
1269 (COMMAND_TERMINATED == srp->header.masked_status)))
1284 /* Rely on write phase to clean out srp status values, so no "else" */
1288 sg_finish_rem_req(srp);
1289 srp = NULL;
1297 } else if (srp && srp->orphan) {
1299 srp->sg_io_owned = 0;
1301 sg_finish_rem_req(srp);
1302 srp = NULL;
1305 if (sfp && srp) {
1309 srp->done = 1;
1489 Sg_request *srp;
1505 for (srp = sfp->headrp; srp; srp = tsrp) {
1506 tsrp = srp->nextrp;
1507 if (sfp->closed || (0 == sg_srp_done(srp, sfp)))
1508 sg_finish_rem_req(srp);
1618 sg_start_req(Sg_request * srp)
1621 Sg_fd *sfp = srp->parentfp;
1622 sg_io_hdr_t *hp = &srp->header;
1625 Sg_scatter_hold *req_schp = &srp->data;
1634 res = sg_build_direct(srp, sfp, dxfer_len);
1639 sg_link_reserve(sfp, srp, dxfer_len);
1651 sg_finish_rem_req(Sg_request * srp)
1653 Sg_fd *sfp = srp->parentfp;
1654 Sg_scatter_hold *req_schp = &srp->data;
1656 SCSI_LOG_TIMEOUT(4, printk("sg_finish_rem_req: res_used=%d\n", (int) srp->res_used));
1657 if (srp->res_used)
1658 sg_unlink_reserve(sfp, srp);
1661 sg_remove_request(sfp, srp);
1791 sg_build_direct(Sg_request * srp, Sg_fd * sfp, int dxfer_len)
1794 sg_io_hdr_t *hp = &srp->header;
1795 Sg_scatter_hold *schp = &srp->data;
1890 sg_write_xfer(Sg_request * srp)
1892 sg_io_hdr_t *hp = &srp->header;
1893 Sg_scatter_hold *schp = &srp->data;
2022 sg_read_xfer(Sg_request * srp)
2024 sg_io_hdr_t *hp = &srp->header;
2025 Sg_scatter_hold *schp = &srp->data;
2098 sg_read_oxfer(Sg_request * srp, char __user *outp, int num_read_xfer)
2100 Sg_scatter_hold *schp = &srp->data;
2148 sg_link_reserve(Sg_fd * sfp, Sg_request * srp, int size)
2150 Sg_scatter_hold *req_schp = &srp->data;
2155 srp->res_used = 1;
2180 sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp)
2182 Sg_scatter_hold *req_schp = &srp->data;
2201 srp->res_used = 0;
2284 sg_remove_request(Sg_fd * sfp, Sg_request * srp)
2291 if ((!sfp) || (!srp) || (!sfp->headrp))
2295 if (srp == prev_rp) {
2301 if (srp == rp) {
2407 Sg_request *srp;
2412 for (srp = sfp->headrp; srp; srp = tsrp) {
2413 tsrp = srp->nextrp;
2414 if (sg_srp_done(srp, sfp))
2415 sg_finish_rem_req(srp);
2453 const Sg_request *srp;
2457 for (srp = sfp->headrp; srp; srp = srp->nextrp)
2458 if (srp->res_used)
2461 return srp ? 1 : 0;
2866 Sg_request *srp;
2882 for (m = 0; (srp = sg_get_nth_request(fp, m)); ++m) {
2883 hp = &srp->header;
2885 if (srp->res_used) {
2898 blen = srp->data.bufflen;
2899 usg = srp->data.k_use_sg;
2900 seq_printf(s, srp->done ?
2901 ((1 == srp->done) ? "rcv:" : "fin:")
2904 srp->header.pack_id, blen);
2905 if (srp->done)
2915 (int) srp->data.cmd_opcode);