tag | line | file | source code |
SCpnt | 358 | kernel/blk_drv/scsi/aha1542.c | int aha1542_queuecommand(Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *)) |
SCpnt | 362 | kernel/blk_drv/scsi/aha1542.c | unchar *cmd = (unchar *) SCpnt->cmnd; |
SCpnt | 363 | kernel/blk_drv/scsi/aha1542.c | unchar target = SCpnt->target; |
SCpnt | 364 | kernel/blk_drv/scsi/aha1542.c | unchar lun = SCpnt->lun; |
SCpnt | 365 | kernel/blk_drv/scsi/aha1542.c | void *buff = SCpnt->request_buffer; |
SCpnt | 366 | kernel/blk_drv/scsi/aha1542.c | int bufflen = SCpnt->request_bufflen; |
SCpnt | 372 | kernel/blk_drv/scsi/aha1542.c | SCpnt->result = DID_TIME_OUT << 16; |
SCpnt | 373 | kernel/blk_drv/scsi/aha1542.c | done(SCpnt); return 0;}); |
SCpnt | 382 | kernel/blk_drv/scsi/aha1542.c | SCpnt->result = 0; |
SCpnt | 383 | kernel/blk_drv/scsi/aha1542.c | done(SCpnt); |
SCpnt | 422 | kernel/blk_drv/scsi/aha1542.c | SCint[mbo] = SCpnt; /* This will effectively prevent someone else from |
SCpnt | 444 | kernel/blk_drv/scsi/aha1542.c | if (SCpnt->use_sg) { |
SCpnt | 452 | kernel/blk_drv/scsi/aha1542.c | SCpnt->host_scribble = scsi_malloc(512); |
SCpnt | 453 | kernel/blk_drv/scsi/aha1542.c | sgpnt = (struct scatterlist *) SCpnt->request_buffer; |
SCpnt | 454 | kernel/blk_drv/scsi/aha1542.c | cptr = (struct chain *) SCpnt->host_scribble; |
SCpnt | 456 | kernel/blk_drv/scsi/aha1542.c | for(i=0; i<SCpnt->use_sg; i++) { |
SCpnt | 457 | kernel/blk_drv/scsi/aha1542.c | if(sgpnt[i].length == 0 || SCpnt->use_sg > 16 || |
SCpnt | 460 | kernel/blk_drv/scsi/aha1542.c | printk("Bad segment list supplied to aha1542.c (%d, %d)\n",SCpnt->use_sg,i); |
SCpnt | 461 | kernel/blk_drv/scsi/aha1542.c | for(i=0;i<SCpnt->use_sg++;i++){ |
SCpnt | 473 | kernel/blk_drv/scsi/aha1542.c | any2scsi(ccb[mbo].datalen, SCpnt->use_sg * sizeof(struct chain)); |
SCpnt | 482 | kernel/blk_drv/scsi/aha1542.c | SCpnt->host_scribble = NULL; |
SCpnt | 501 | kernel/blk_drv/scsi/aha1542.c | SCpnt->scsi_done = done; |
SCpnt | 514 | kernel/blk_drv/scsi/aha1542.c | static void internal_done(Scsi_Cmnd * SCpnt) |
SCpnt | 516 | kernel/blk_drv/scsi/aha1542.c | internal_done_errcode = SCpnt->result; |
SCpnt | 520 | kernel/blk_drv/scsi/aha1542.c | int aha1542_command(Scsi_Cmnd * SCpnt) |
SCpnt | 524 | kernel/blk_drv/scsi/aha1542.c | aha1542_queuecommand(SCpnt, internal_done); |
SCpnt | 749 | kernel/blk_drv/scsi/aha1542.c | int aha1542_abort(Scsi_Cmnd * SCpnt, int i) |
SCpnt | 759 | kernel/blk_drv/scsi/aha1542.c | if (SCpnt == SCint[mbo]){ |
SCpnt | 197 | kernel/blk_drv/scsi/aha1740.c | SCtmp = ecbptr->SCpnt; |
SCpnt | 237 | kernel/blk_drv/scsi/aha1740.c | int aha1740_queuecommand(Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *)) |
SCpnt | 240 | kernel/blk_drv/scsi/aha1740.c | unchar *cmd = (unchar *) SCpnt->cmnd; |
SCpnt | 241 | kernel/blk_drv/scsi/aha1740.c | unchar target = SCpnt->target; |
SCpnt | 242 | kernel/blk_drv/scsi/aha1740.c | void *buff = SCpnt->request_buffer; |
SCpnt | 243 | kernel/blk_drv/scsi/aha1740.c | int bufflen = SCpnt->request_bufflen; |
SCpnt | 255 | kernel/blk_drv/scsi/aha1740.c | SCpnt->result = 0; |
SCpnt | 256 | kernel/blk_drv/scsi/aha1740.c | done(SCpnt); |
SCpnt | 308 | kernel/blk_drv/scsi/aha1740.c | if (SCpnt->use_sg) |
SCpnt | 317 | kernel/blk_drv/scsi/aha1740.c | SCpnt->host_scribble = scsi_malloc(512); |
SCpnt | 318 | kernel/blk_drv/scsi/aha1740.c | sgpnt = (struct scatterlist *) SCpnt->request_buffer; |
SCpnt | 319 | kernel/blk_drv/scsi/aha1740.c | cptr = (struct aha1740_chain *) SCpnt->host_scribble; |
SCpnt | 321 | kernel/blk_drv/scsi/aha1740.c | for(i=0; i<SCpnt->use_sg; i++) |
SCpnt | 326 | kernel/blk_drv/scsi/aha1740.c | ecb[ecbno].datalen = SCpnt->use_sg * sizeof(struct aha1740_chain); |
SCpnt | 336 | kernel/blk_drv/scsi/aha1740.c | SCpnt->host_scribble = NULL; |
SCpnt | 340 | kernel/blk_drv/scsi/aha1740.c | ecb[ecbno].lun = SCpnt->lun; |
SCpnt | 348 | kernel/blk_drv/scsi/aha1740.c | ecb[ecbno].SCpnt = SCpnt; |
SCpnt | 402 | kernel/blk_drv/scsi/aha1740.c | static void internal_done(Scsi_Cmnd * SCpnt) |
SCpnt | 404 | kernel/blk_drv/scsi/aha1740.c | internal_done_errcode = SCpnt->result; |
SCpnt | 408 | kernel/blk_drv/scsi/aha1740.c | int aha1740_command(Scsi_Cmnd * SCpnt) |
SCpnt | 410 | kernel/blk_drv/scsi/aha1740.c | aha1740_queuecommand(SCpnt, internal_done); |
SCpnt | 469 | kernel/blk_drv/scsi/aha1740.c | int aha1740_abort(Scsi_Cmnd * SCpnt, int i) |
SCpnt | 142 | kernel/blk_drv/scsi/aha1740.h | Scsi_Cmnd *SCpnt; /* Link to the SCSI Command Block */ |
SCpnt | 983 | kernel/blk_drv/scsi/fdomain.c | int fdomain_16x0_queue( Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *)) |
SCpnt | 990 | kernel/blk_drv/scsi/fdomain.c | SCpnt->target, |
SCpnt | 991 | kernel/blk_drv/scsi/fdomain.c | *(unsigned char *)SCpnt->cmnd, |
SCpnt | 992 | kernel/blk_drv/scsi/fdomain.c | SCpnt->use_sg, |
SCpnt | 993 | kernel/blk_drv/scsi/fdomain.c | SCpnt->request_bufflen ); |
SCpnt | 998 | kernel/blk_drv/scsi/fdomain.c | current_SC = SCpnt; /* Save this for the done function */ |
SCpnt | 1034 | kernel/blk_drv/scsi/fdomain.c | int fdomain_16x0_command( Scsi_Cmnd *SCpnt ) |
SCpnt | 1036 | kernel/blk_drv/scsi/fdomain.c | const char *cmd_pt = SCpnt->cmnd; |
SCpnt | 1037 | kernel/blk_drv/scsi/fdomain.c | const char *the_command = SCpnt->cmnd; |
SCpnt | 1038 | kernel/blk_drv/scsi/fdomain.c | unsigned char *out_buf_pt = SCpnt->request_buffer; |
SCpnt | 1039 | kernel/blk_drv/scsi/fdomain.c | unsigned char *in_buf_pt = SCpnt->request_buffer; |
SCpnt | 1040 | kernel/blk_drv/scsi/fdomain.c | unsigned char target = SCpnt->target; |
SCpnt | 1041 | kernel/blk_drv/scsi/fdomain.c | void *buff = SCpnt->request_buffer; |
SCpnt | 1042 | kernel/blk_drv/scsi/fdomain.c | int bufflen = SCpnt->request_bufflen; |
SCpnt | 1052 | kernel/blk_drv/scsi/fdomain.c | current_SC = SCpnt; |
SCpnt | 1223 | kernel/blk_drv/scsi/fdomain.c | int fdomain_16x0_abort( Scsi_Cmnd *SCpnt, int code ) |
SCpnt | 33 | kernel/blk_drv/scsi/scsi.c | static void scsi_done (Scsi_Cmnd *SCpnt); |
SCpnt | 36 | kernel/blk_drv/scsi/scsi.c | static void scsi_times_out (Scsi_Cmnd * SCpnt); |
SCpnt | 142 | kernel/blk_drv/scsi/scsi.c | static void scan_scsis_done (Scsi_Cmnd * SCpnt) |
SCpnt | 146 | kernel/blk_drv/scsi/scsi.c | printk ("scan_scsis_done(%d, %06x)\n", SCpnt->host, SCpnt->result); |
SCpnt | 148 | kernel/blk_drv/scsi/scsi.c | SCpnt->request.dev = 0xfffe; |
SCpnt | 382 | kernel/blk_drv/scsi/scsi.c | static void scsi_times_out (Scsi_Cmnd * SCpnt) |
SCpnt | 385 | kernel/blk_drv/scsi/scsi.c | switch (SCpnt->internal_timeout & (IN_ABORT | IN_RESET)) |
SCpnt | 390 | kernel/blk_drv/scsi/scsi.c | SCpnt->host); |
SCpnt | 392 | kernel/blk_drv/scsi/scsi.c | if (!scsi_abort (SCpnt, DID_TIME_OUT)) |
SCpnt | 396 | kernel/blk_drv/scsi/scsi.c | SCpnt->host); |
SCpnt | 397 | kernel/blk_drv/scsi/scsi.c | if (!scsi_reset (SCpnt)) |
SCpnt | 401 | kernel/blk_drv/scsi/scsi.c | printk("Unable to reset scsi host %d\n",SCpnt->host); |
SCpnt | 419 | kernel/blk_drv/scsi/scsi.c | Scsi_Cmnd * SCpnt = NULL; |
SCpnt | 428 | kernel/blk_drv/scsi/scsi.c | SCpnt = host_queue[host]; |
SCpnt | 429 | kernel/blk_drv/scsi/scsi.c | while(SCpnt){ |
SCpnt | 430 | kernel/blk_drv/scsi/scsi.c | if(SCpnt->target == scsi_devices[index].id && |
SCpnt | 431 | kernel/blk_drv/scsi/scsi.c | SCpnt->lun == scsi_devices[index].lun) |
SCpnt | 432 | kernel/blk_drv/scsi/scsi.c | if(SCpnt->request.dev < 0) break; |
SCpnt | 433 | kernel/blk_drv/scsi/scsi.c | SCpnt = SCpnt->next; |
SCpnt | 436 | kernel/blk_drv/scsi/scsi.c | if (!SCpnt) return NULL; |
SCpnt | 442 | kernel/blk_drv/scsi/scsi.c | memcpy(&SCpnt->request, req, sizeof(struct request)); |
SCpnt | 445 | kernel/blk_drv/scsi/scsi.c | SCpnt->request.dev = 0xffff; /* Busy, but no request */ |
SCpnt | 446 | kernel/blk_drv/scsi/scsi.c | SCpnt->request.waiting = NULL; /* And no one is waiting for the device either */ |
SCpnt | 449 | kernel/blk_drv/scsi/scsi.c | SCpnt->use_sg = 0; /* Reset the scatter-gather flag */ |
SCpnt | 450 | kernel/blk_drv/scsi/scsi.c | SCpnt->transfersize = 0; |
SCpnt | 451 | kernel/blk_drv/scsi/scsi.c | SCpnt->underflow = 0; |
SCpnt | 452 | kernel/blk_drv/scsi/scsi.c | return SCpnt; |
SCpnt | 468 | kernel/blk_drv/scsi/scsi.c | Scsi_Cmnd * SCpnt = NULL; |
SCpnt | 482 | kernel/blk_drv/scsi/scsi.c | SCpnt = host_queue[host]; |
SCpnt | 483 | kernel/blk_drv/scsi/scsi.c | while(SCpnt){ |
SCpnt | 484 | kernel/blk_drv/scsi/scsi.c | if(SCpnt->target == scsi_devices[index].id && |
SCpnt | 485 | kernel/blk_drv/scsi/scsi.c | SCpnt->lun == scsi_devices[index].lun) { |
SCpnt | 486 | kernel/blk_drv/scsi/scsi.c | SCwait = SCpnt; |
SCpnt | 487 | kernel/blk_drv/scsi/scsi.c | if(SCpnt->request.dev < 0) break; |
SCpnt | 489 | kernel/blk_drv/scsi/scsi.c | SCpnt = SCpnt->next; |
SCpnt | 497 | kernel/blk_drv/scsi/scsi.c | if (!SCpnt || SCpnt->request.dev >= 0) /* Might have changed */ |
SCpnt | 510 | kernel/blk_drv/scsi/scsi.c | memcpy(&SCpnt->request, req, sizeof(struct request)); |
SCpnt | 514 | kernel/blk_drv/scsi/scsi.c | SCpnt->request.dev = 0xffff; /* Busy */ |
SCpnt | 515 | kernel/blk_drv/scsi/scsi.c | SCpnt->request.waiting = NULL; /* And no one is waiting for this to complete */ |
SCpnt | 522 | kernel/blk_drv/scsi/scsi.c | SCpnt->use_sg = 0; /* Reset the scatter-gather flag */ |
SCpnt | 523 | kernel/blk_drv/scsi/scsi.c | SCpnt->transfersize = 0; /* No default transfer size */ |
SCpnt | 524 | kernel/blk_drv/scsi/scsi.c | SCpnt->underflow = 0; /* Do not flag underflow conditions */ |
SCpnt | 525 | kernel/blk_drv/scsi/scsi.c | return SCpnt; |
SCpnt | 532 | kernel/blk_drv/scsi/scsi.c | inline void internal_cmnd (Scsi_Cmnd * SCpnt) |
SCpnt | 540 | kernel/blk_drv/scsi/scsi.c | host = SCpnt->host; |
SCpnt | 552 | kernel/blk_drv/scsi/scsi.c | update_timeout(SCpnt, SCpnt->timeout_per_command); |
SCpnt | 560 | kernel/blk_drv/scsi/scsi.c | "bufflen = %d, done = %08x)\n", SCpnt->host, SCpnt->target, SCpnt->cmnd, SCpnt->buffer, SCpnt->bufflen, SCpnt->done); |
SCpnt | 569 | kernel/blk_drv/scsi/scsi.c | scsi_hosts[host].queuecommand (SCpnt, scsi_done); |
SCpnt | 577 | kernel/blk_drv/scsi/scsi.c | temp=scsi_hosts[host].command (SCpnt); |
SCpnt | 578 | kernel/blk_drv/scsi/scsi.c | SCpnt->result = temp; |
SCpnt | 584 | kernel/blk_drv/scsi/scsi.c | scsi_done(SCpnt); |
SCpnt | 591 | kernel/blk_drv/scsi/scsi.c | static void scsi_request_sense (Scsi_Cmnd * SCpnt) |
SCpnt | 594 | kernel/blk_drv/scsi/scsi.c | SCpnt->flags |= WAS_SENSE; |
SCpnt | 595 | kernel/blk_drv/scsi/scsi.c | update_timeout(SCpnt, SENSE_TIMEOUT); |
SCpnt | 599 | kernel/blk_drv/scsi/scsi.c | memcpy ((void *) SCpnt->cmnd , (void *) generic_sense, |
SCpnt | 602 | kernel/blk_drv/scsi/scsi.c | SCpnt->cmnd[1] = SCpnt->lun << 5; |
SCpnt | 603 | kernel/blk_drv/scsi/scsi.c | SCpnt->cmnd[4] = sizeof(SCpnt->sense_buffer); |
SCpnt | 605 | kernel/blk_drv/scsi/scsi.c | SCpnt->request_buffer = &SCpnt->sense_buffer; |
SCpnt | 606 | kernel/blk_drv/scsi/scsi.c | SCpnt->request_bufflen = sizeof(SCpnt->sense_buffer); |
SCpnt | 607 | kernel/blk_drv/scsi/scsi.c | internal_cmnd (SCpnt); |
SCpnt | 619 | kernel/blk_drv/scsi/scsi.c | void scsi_do_cmd (Scsi_Cmnd * SCpnt, const void *cmnd , |
SCpnt | 624 | kernel/blk_drv/scsi/scsi.c | int host = SCpnt->host; |
SCpnt | 629 | kernel/blk_drv/scsi/scsi.c | int target = SCpnt->target; |
SCpnt | 676 | kernel/blk_drv/scsi/scsi.c | memcpy ((void *) SCpnt->data_cmnd , (void *) cmnd, 10); |
SCpnt | 678 | kernel/blk_drv/scsi/scsi.c | SCpnt->host = host; |
SCpnt | 679 | kernel/blk_drv/scsi/scsi.c | SCpnt->target = target; |
SCpnt | 680 | kernel/blk_drv/scsi/scsi.c | SCpnt->lun = (SCpnt->data_cmnd[1] >> 5); |
SCpnt | 682 | kernel/blk_drv/scsi/scsi.c | SCpnt->bufflen = bufflen; |
SCpnt | 683 | kernel/blk_drv/scsi/scsi.c | SCpnt->buffer = buffer; |
SCpnt | 684 | kernel/blk_drv/scsi/scsi.c | SCpnt->flags=0; |
SCpnt | 685 | kernel/blk_drv/scsi/scsi.c | SCpnt->retries=0; |
SCpnt | 686 | kernel/blk_drv/scsi/scsi.c | SCpnt->allowed=retries; |
SCpnt | 687 | kernel/blk_drv/scsi/scsi.c | SCpnt->done = done; |
SCpnt | 688 | kernel/blk_drv/scsi/scsi.c | SCpnt->timeout_per_command = timeout; |
SCpnt | 690 | kernel/blk_drv/scsi/scsi.c | memcpy ((void *) SCpnt->cmnd , (void *) cmnd, 10); |
SCpnt | 691 | kernel/blk_drv/scsi/scsi.c | SCpnt->request_buffer = buffer; |
SCpnt | 692 | kernel/blk_drv/scsi/scsi.c | SCpnt->request_bufflen = bufflen; |
SCpnt | 696 | kernel/blk_drv/scsi/scsi.c | SCpnt->internal_timeout = 0; |
SCpnt | 697 | kernel/blk_drv/scsi/scsi.c | internal_cmnd (SCpnt); |
SCpnt | 712 | kernel/blk_drv/scsi/scsi.c | static void reset (Scsi_Cmnd * SCpnt) |
SCpnt | 715 | kernel/blk_drv/scsi/scsi.c | printk("reset(%d)\n", SCpnt->host); |
SCpnt | 718 | kernel/blk_drv/scsi/scsi.c | SCpnt->flags |= (WAS_RESET | IS_RESETTING); |
SCpnt | 719 | kernel/blk_drv/scsi/scsi.c | scsi_reset(SCpnt); |
SCpnt | 725 | kernel/blk_drv/scsi/scsi.c | scsi_request_sense (SCpnt); |
SCpnt | 730 | kernel/blk_drv/scsi/scsi.c | static int check_sense (Scsi_Cmnd * SCpnt) |
SCpnt | 732 | kernel/blk_drv/scsi/scsi.c | if (((SCpnt->sense_buffer[0] & 0x70) >> 4) == 7) { |
SCpnt | 733 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->sense_buffer[2] &0xe0) |
SCpnt | 735 | kernel/blk_drv/scsi/scsi.c | switch (SCpnt->sense_buffer[2] & 0xf) |
SCpnt | 787 | kernel/blk_drv/scsi/scsi.c | static void scsi_done (Scsi_Cmnd * SCpnt) |
SCpnt | 793 | kernel/blk_drv/scsi/scsi.c | int host = SCpnt->host; |
SCpnt | 794 | kernel/blk_drv/scsi/scsi.c | int result = SCpnt->result; |
SCpnt | 795 | kernel/blk_drv/scsi/scsi.c | oldto = update_timeout(SCpnt, 0); |
SCpnt | 807 | kernel/blk_drv/scsi/scsi.c | update_timeout(SCpnt, 0); |
SCpnt | 814 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->flags & IS_RESETTING) |
SCpnt | 816 | kernel/blk_drv/scsi/scsi.c | SCpnt->flags &= ~IS_RESETTING; |
SCpnt | 821 | kernel/blk_drv/scsi/scsi.c | if (status_byte(result) && (SCpnt->flags & |
SCpnt | 824 | kernel/blk_drv/scsi/scsi.c | SCpnt->flags &= ~WAS_SENSE; |
SCpnt | 825 | kernel/blk_drv/scsi/scsi.c | SCpnt->internal_timeout &= ~SENSE_TIMEOUT; |
SCpnt | 827 | kernel/blk_drv/scsi/scsi.c | if (!(SCpnt->flags & WAS_RESET)) |
SCpnt | 829 | kernel/blk_drv/scsi/scsi.c | reset(SCpnt); |
SCpnt | 844 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->flags & WAS_SENSE) |
SCpnt | 850 | kernel/blk_drv/scsi/scsi.c | SCpnt->flags &= ~WAS_SENSE; |
SCpnt | 851 | kernel/blk_drv/scsi/scsi.c | SCpnt->internal_timeout &= ~SENSE_TIMEOUT; |
SCpnt | 853 | kernel/blk_drv/scsi/scsi.c | switch (checked = check_sense(SCpnt)) |
SCpnt | 860 | kernel/blk_drv/scsi/scsi.c | update_timeout(SCpnt, oldto); |
SCpnt | 902 | kernel/blk_drv/scsi/scsi.c | scsi_request_sense (SCpnt); |
SCpnt | 918 | kernel/blk_drv/scsi/scsi.c | update_timeout(SCpnt, oldto); |
SCpnt | 923 | kernel/blk_drv/scsi/scsi.c | reset(SCpnt); |
SCpnt | 947 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->flags & WAS_TIMEDOUT) |
SCpnt | 959 | kernel/blk_drv/scsi/scsi.c | SCpnt->flags |= WAS_TIMEDOUT; |
SCpnt | 984 | kernel/blk_drv/scsi/scsi.c | scsi_request_sense (SCpnt); |
SCpnt | 1004 | kernel/blk_drv/scsi/scsi.c | SCpnt->allowed, SCpnt->retries); |
SCpnt | 1007 | kernel/blk_drv/scsi/scsi.c | if ((++SCpnt->retries) < SCpnt->allowed) |
SCpnt | 1009 | kernel/blk_drv/scsi/scsi.c | if ((SCpnt->retries >= (SCpnt->allowed >> 1)) |
SCpnt | 1010 | kernel/blk_drv/scsi/scsi.c | && !(SCpnt->flags & WAS_RESET)) |
SCpnt | 1012 | kernel/blk_drv/scsi/scsi.c | reset(SCpnt); |
SCpnt | 1025 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->flags & WAS_SENSE) |
SCpnt | 1026 | kernel/blk_drv/scsi/scsi.c | scsi_request_sense(SCpnt); |
SCpnt | 1029 | kernel/blk_drv/scsi/scsi.c | memcpy ((void *) SCpnt->cmnd, |
SCpnt | 1030 | kernel/blk_drv/scsi/scsi.c | (void*) SCpnt->data_cmnd, |
SCpnt | 1031 | kernel/blk_drv/scsi/scsi.c | sizeof(SCpnt->data_cmnd)); |
SCpnt | 1032 | kernel/blk_drv/scsi/scsi.c | SCpnt->request_buffer = SCpnt->buffer; |
SCpnt | 1033 | kernel/blk_drv/scsi/scsi.c | SCpnt->request_bufflen = SCpnt->bufflen; |
SCpnt | 1034 | kernel/blk_drv/scsi/scsi.c | internal_cmnd (SCpnt); |
SCpnt | 1044 | kernel/blk_drv/scsi/scsi.c | printk("Calling done function - at address %08x\n", SCpnt->done); |
SCpnt | 1048 | kernel/blk_drv/scsi/scsi.c | SCpnt->result = result | ((exit & 0xff) << 24); |
SCpnt | 1049 | kernel/blk_drv/scsi/scsi.c | SCpnt->done (SCpnt); |
SCpnt | 1075 | kernel/blk_drv/scsi/scsi.c | int scsi_abort (Scsi_Cmnd * SCpnt, int why) |
SCpnt | 1078 | kernel/blk_drv/scsi/scsi.c | int host = SCpnt->host; |
SCpnt | 1083 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->internal_timeout & IN_ABORT) |
SCpnt | 1086 | kernel/blk_drv/scsi/scsi.c | while (SCpnt->internal_timeout & IN_ABORT); |
SCpnt | 1090 | kernel/blk_drv/scsi/scsi.c | SCpnt->internal_timeout |= IN_ABORT; |
SCpnt | 1091 | kernel/blk_drv/scsi/scsi.c | oldto = update_timeout(SCpnt, ABORT_TIMEOUT); |
SCpnt | 1095 | kernel/blk_drv/scsi/scsi.c | if (!host_busy[host] || !scsi_hosts[host].abort(SCpnt, why)) |
SCpnt | 1101 | kernel/blk_drv/scsi/scsi.c | SCpnt->internal_timeout &= ~IN_ABORT; |
SCpnt | 1102 | kernel/blk_drv/scsi/scsi.c | update_timeout(SCpnt, oldto); |
SCpnt | 1109 | kernel/blk_drv/scsi/scsi.c | int scsi_reset (Scsi_Cmnd * SCpnt) |
SCpnt | 1113 | kernel/blk_drv/scsi/scsi.c | int host = SCpnt->host; |
SCpnt | 1120 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->internal_timeout & IN_RESET) |
SCpnt | 1123 | kernel/blk_drv/scsi/scsi.c | while (SCpnt->internal_timeout & IN_RESET); |
SCpnt | 1127 | kernel/blk_drv/scsi/scsi.c | SCpnt->internal_timeout |= IN_RESET; |
SCpnt | 1128 | kernel/blk_drv/scsi/scsi.c | oldto = update_timeout(SCpnt, RESET_TIMEOUT); |
SCpnt | 1155 | kernel/blk_drv/scsi/scsi.c | SCpnt->internal_timeout &= ~IN_RESET; |
SCpnt | 1156 | kernel/blk_drv/scsi/scsi.c | update_timeout(SCpnt, oldto); |
SCpnt | 1171 | kernel/blk_drv/scsi/scsi.c | Scsi_Cmnd * SCpnt = NULL; |
SCpnt | 1183 | kernel/blk_drv/scsi/scsi.c | SCpnt = host_queue[host]; |
SCpnt | 1184 | kernel/blk_drv/scsi/scsi.c | while (SCpnt){ |
SCpnt | 1185 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->timeout != 0 && SCpnt->timeout <= time_elapsed) |
SCpnt | 1188 | kernel/blk_drv/scsi/scsi.c | SCpnt->timeout = 0; |
SCpnt | 1189 | kernel/blk_drv/scsi/scsi.c | scsi_times_out(SCpnt); |
SCpnt | 1193 | kernel/blk_drv/scsi/scsi.c | SCpnt = SCpnt->next; |
SCpnt | 1219 | kernel/blk_drv/scsi/scsi.c | Scsi_Cmnd * SCpnt = NULL; |
SCpnt | 1245 | kernel/blk_drv/scsi/scsi.c | SCpnt = host_queue[host]; |
SCpnt | 1246 | kernel/blk_drv/scsi/scsi.c | while (SCpnt){ |
SCpnt | 1247 | kernel/blk_drv/scsi/scsi.c | if (SCpnt->timeout > 0 && (SCpnt->timeout -= used) < least) |
SCpnt | 1248 | kernel/blk_drv/scsi/scsi.c | least = SCpnt->timeout; |
SCpnt | 1249 | kernel/blk_drv/scsi/scsi.c | SCpnt = SCpnt->next; |
SCpnt | 1349 | kernel/blk_drv/scsi/scsi.c | Scsi_Cmnd * SCpnt; |
SCpnt | 1371 | kernel/blk_drv/scsi/scsi.c | SCpnt = last_cmnd; |
SCpnt | 1391 | kernel/blk_drv/scsi/scsi.c | SCpnt->host = scsi_devices[i].host_no; |
SCpnt | 1392 | kernel/blk_drv/scsi/scsi.c | SCpnt->target = scsi_devices[i].id; |
SCpnt | 1393 | kernel/blk_drv/scsi/scsi.c | SCpnt->lun = scsi_devices[i].lun; |
SCpnt | 1394 | kernel/blk_drv/scsi/scsi.c | SCpnt->index = i; |
SCpnt | 1395 | kernel/blk_drv/scsi/scsi.c | SCpnt->request.dev = -1; /* Mark not busy */ |
SCpnt | 1396 | kernel/blk_drv/scsi/scsi.c | SCpnt->use_sg = 0; |
SCpnt | 1397 | kernel/blk_drv/scsi/scsi.c | SCpnt->underflow = 0; |
SCpnt | 1398 | kernel/blk_drv/scsi/scsi.c | SCpnt->transfersize = 0; |
SCpnt | 1401 | kernel/blk_drv/scsi/scsi.c | host_queue[host]->prev = SCpnt; |
SCpnt | 1402 | kernel/blk_drv/scsi/scsi.c | SCpnt->next = host_queue[host]; |
SCpnt | 1403 | kernel/blk_drv/scsi/scsi.c | SCpnt->prev = NULL; |
SCpnt | 1404 | kernel/blk_drv/scsi/scsi.c | host_queue[host] = SCpnt; |
SCpnt | 1405 | kernel/blk_drv/scsi/scsi.c | SCpnt++; |
SCpnt | 1410 | kernel/blk_drv/scsi/scsi.c | memory_start = (int) SCpnt; |
SCpnt | 447 | kernel/blk_drv/scsi/scsi.h | static void end_scsi_request(Scsi_Cmnd * SCpnt, int uptodate, int sectors) |
SCpnt | 453 | kernel/blk_drv/scsi/scsi.h | req = &SCpnt->request; |
SCpnt | 490 | kernel/blk_drv/scsi/scsi.h | wake_up(&scsi_devices[SCpnt->index].device_wait); |
SCpnt | 49 | kernel/blk_drv/scsi/scsi_debug.c | if ((SCpnt->request.dev & 0xf) != 0) start = starts[(SCpnt->request.dev & 0xf) - 1]; \ |
SCpnt | 55 | kernel/blk_drv/scsi/scsi_debug.c | if (bh->b_dev != SCpnt->request.dev) panic ("Bad bh target");\ |
SCpnt | 61 | kernel/blk_drv/scsi/scsi_debug.c | if ((SCpnt->request.dev & 0xfff0) != ((target + NR_REAL) << 4) +(MAJOR_NR << 8)){ \ |
SCpnt | 62 | kernel/blk_drv/scsi/scsi_debug.c | printk("Dev #s %x %x ",SCpnt->request.dev, target); \ |
SCpnt | 68 | kernel/blk_drv/scsi/scsi_debug.c | if (bufflen != 1024 && (!SCpnt->use_sg)) {printk("%x %d\n ",bufflen, SCpnt->use_sg); panic("Bad bufflen");}; \ |
SCpnt | 70 | kernel/blk_drv/scsi/scsi_debug.c | if ((SCpnt->request.dev & 0xf) > npart) panic ("Bad partition"); \ |
SCpnt | 71 | kernel/blk_drv/scsi/scsi_debug.c | if ((SCpnt->request.dev & 0xf) != 0) start = starts[(SCpnt->request.dev & 0xf) - 1]; \ |
SCpnt | 72 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.cmd != RW) panic ("Wrong operation"); \ |
SCpnt | 73 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.sector + start != block) panic("Wrong block."); \ |
SCpnt | 74 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.current_nr_sectors != 2 && (!SCpnt->use_sg)) panic ("Wrong # blocks"); \ |
SCpnt | 75 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.bh){ \ |
SCpnt | 76 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.bh->b_size != 1024) panic ("Wrong bh size"); \ |
SCpnt | 77 | kernel/blk_drv/scsi/scsi_debug.c | if ((SCpnt->request.bh->b_blocknr << 1) + start != block) \ |
SCpnt | 78 | kernel/blk_drv/scsi/scsi_debug.c | { printk("Wrong bh block# %d %d ",SCpnt->request.bh->b_blocknr, block); \ |
SCpnt | 80 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->request.bh->b_dev != SCpnt->request.dev) panic ("Bad bh target");\ |
SCpnt | 92 | kernel/blk_drv/scsi/scsi_debug.c | static void scsi_dump(Scsi_Cmnd * SCpnt, int flag){ |
SCpnt | 99 | kernel/blk_drv/scsi/scsi_debug.c | printk("use_sg: %d",SCpnt->use_sg); |
SCpnt | 100 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->use_sg){ |
SCpnt | 101 | kernel/blk_drv/scsi/scsi_debug.c | sgpnt = (struct scatterlist *) SCpnt->buffer; |
SCpnt | 102 | kernel/blk_drv/scsi/scsi_debug.c | for(i=0; i<SCpnt->use_sg; i++) { |
SCpnt | 108 | kernel/blk_drv/scsi/scsi_debug.c | printk("nosg: %x %x %d\n",SCpnt->request.buffer, SCpnt->buffer, |
SCpnt | 109 | kernel/blk_drv/scsi/scsi_debug.c | SCpnt->bufflen); |
SCpnt | 110 | kernel/blk_drv/scsi/scsi_debug.c | lpnt = (int *) SCpnt->request.buffer; |
SCpnt | 113 | kernel/blk_drv/scsi/scsi_debug.c | lpnt = (unsigned int *) SCpnt; |
SCpnt | 137 | kernel/blk_drv/scsi/scsi_debug.c | int scsi_debug_queuecommand(Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *)) |
SCpnt | 139 | kernel/blk_drv/scsi/scsi_debug.c | unchar *cmd = (unchar *) SCpnt->cmnd; |
SCpnt | 147 | kernel/blk_drv/scsi/scsi_debug.c | int target = SCpnt->target; |
SCpnt | 148 | kernel/blk_drv/scsi/scsi_debug.c | int bufflen = SCpnt->request_bufflen; |
SCpnt | 153 | kernel/blk_drv/scsi/scsi_debug.c | DEB(if (target > 1) { SCpnt->result = DID_TIME_OUT << 16;done(SCpnt);return 0;}); |
SCpnt | 155 | kernel/blk_drv/scsi/scsi_debug.c | buff = (unsigned char *) SCpnt->request_buffer; |
SCpnt | 157 | kernel/blk_drv/scsi/scsi_debug.c | if(target>=2 || SCpnt->lun != 0) { |
SCpnt | 158 | kernel/blk_drv/scsi/scsi_debug.c | SCpnt->result = DID_NO_CONNECT << 16; |
SCpnt | 159 | kernel/blk_drv/scsi/scsi_debug.c | done(SCpnt); |
SCpnt | 168 | kernel/blk_drv/scsi/scsi_debug.c | printk("scsi_debug: Requesting sense buffer (%x %x %x %d):", SCpnt, buff, done, bufflen); |
SCpnt | 176 | kernel/blk_drv/scsi/scsi_debug.c | SCpnt->result = 0; |
SCpnt | 177 | kernel/blk_drv/scsi/scsi_debug.c | done(SCpnt); |
SCpnt | 203 | kernel/blk_drv/scsi/scsi_debug.c | if(NR_REAL < 0) NR_REAL = (SCpnt->request.dev >> 4) & 0x0f; |
SCpnt | 222 | kernel/blk_drv/scsi/scsi_debug.c | printk("(r%d)",SCpnt->request.nr_sectors); |
SCpnt | 224 | kernel/blk_drv/scsi/scsi_debug.c | if(SCpnt->use_sg){ |
SCpnt | 229 | kernel/blk_drv/scsi/scsi_debug.c | bh = SCpnt->request.bh; |
SCpnt | 252 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->use_sg) printk("Block %x (%d %d)\n",block, SCpnt->request.nr_sectors, |
SCpnt | 253 | kernel/blk_drv/scsi/scsi_debug.c | SCpnt->request.current_nr_sectors); |
SCpnt | 277 | kernel/blk_drv/scsi/scsi_debug.c | memcpy(buff+64, SCpnt, sizeof(Scsi_Cmnd)); |
SCpnt | 279 | kernel/blk_drv/scsi/scsi_debug.c | if(SCpnt->use_sg){ |
SCpnt | 291 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->use_sg && !scsi_debug_errsts) |
SCpnt | 292 | kernel/blk_drv/scsi/scsi_debug.c | if(bh) scsi_dump(SCpnt, 0); |
SCpnt | 304 | kernel/blk_drv/scsi/scsi_debug.c | printk("(w%d)",SCpnt->request.nr_sectors); |
SCpnt | 305 | kernel/blk_drv/scsi/scsi_debug.c | if (SCpnt->use_sg){ |
SCpnt | 306 | kernel/blk_drv/scsi/scsi_debug.c | if ((bufflen >> 9) != SCpnt->request.nr_sectors) |
SCpnt | 314 | kernel/blk_drv/scsi/scsi_debug.c | scsi_dump(SCpnt,1); |
SCpnt | 322 | kernel/blk_drv/scsi/scsi_debug.c | SCpnt->result = DID_NO_CONNECT << 16; |
SCpnt | 323 | kernel/blk_drv/scsi/scsi_debug.c | done(SCpnt); |
SCpnt | 335 | kernel/blk_drv/scsi/scsi_debug.c | SCint[i] = SCpnt; |
SCpnt | 355 | kernel/blk_drv/scsi/scsi_debug.c | SCpnt->result = scsi_debug_errsts; |
SCpnt | 367 | kernel/blk_drv/scsi/scsi_debug.c | static void internal_done(Scsi_Cmnd * SCpnt) |
SCpnt | 369 | kernel/blk_drv/scsi/scsi_debug.c | internal_done_errcode = SCpnt->result; |
SCpnt | 373 | kernel/blk_drv/scsi/scsi_debug.c | int scsi_debug_command(Scsi_Cmnd * SCpnt) |
SCpnt | 376 | kernel/blk_drv/scsi/scsi_debug.c | scsi_debug_queuecommand(SCpnt, internal_done); |
SCpnt | 462 | kernel/blk_drv/scsi/scsi_debug.c | int scsi_debug_abort(Scsi_Cmnd * SCpnt,int i) |
SCpnt | 467 | kernel/blk_drv/scsi/scsi_debug.c | SCpnt->result = i << 16; |
SCpnt | 469 | kernel/blk_drv/scsi/scsi_debug.c | if(SCpnt == SCint[j]) { |
SCpnt | 471 | kernel/blk_drv/scsi/scsi_debug.c | my_done(SCpnt); |
SCpnt | 73 | kernel/blk_drv/scsi/scsi_ioctl.c | static void scsi_ioctl_done (Scsi_Cmnd * SCpnt) |
SCpnt | 78 | kernel/blk_drv/scsi/scsi_ioctl.c | req = &SCpnt->request; |
SCpnt | 92 | kernel/blk_drv/scsi/scsi_ioctl.c | Scsi_Cmnd * SCpnt; |
SCpnt | 96 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt = allocate_device(NULL, dev->index, 1); |
SCpnt | 97 | kernel/blk_drv/scsi/scsi_ioctl.c | scsi_do_cmd(SCpnt, cmd, NULL, 0, |
SCpnt | 101 | kernel/blk_drv/scsi/scsi_ioctl.c | if (SCpnt->request.dev != 0xfffe){ |
SCpnt | 102 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt->request.waiting = current; |
SCpnt | 104 | kernel/blk_drv/scsi/scsi_ioctl.c | while (SCpnt->request.dev != 0xfffe) schedule(); |
SCpnt | 107 | kernel/blk_drv/scsi/scsi_ioctl.c | if(driver_byte(SCpnt->result) != 0) |
SCpnt | 108 | kernel/blk_drv/scsi/scsi_ioctl.c | switch(SCpnt->sense_buffer[2] & 0xf) { |
SCpnt | 121 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt->result = 0; /* This is no longer considered an error */ |
SCpnt | 130 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt->result); |
SCpnt | 132 | kernel/blk_drv/scsi/scsi_ioctl.c | sense_class(SCpnt->sense_buffer[0]), |
SCpnt | 133 | kernel/blk_drv/scsi/scsi_ioctl.c | sense_error(SCpnt->sense_buffer[0]), |
SCpnt | 134 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt->sense_buffer[2] & 0xf); |
SCpnt | 138 | kernel/blk_drv/scsi/scsi_ioctl.c | result = SCpnt->result; |
SCpnt | 139 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 140 | kernel/blk_drv/scsi/scsi_ioctl.c | wake_up(&scsi_devices[SCpnt->index].device_wait); |
SCpnt | 149 | kernel/blk_drv/scsi/scsi_ioctl.c | Scsi_Cmnd * SCpnt; |
SCpnt | 180 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt = allocate_device(NULL, dev->index, 1); |
SCpnt | 182 | kernel/blk_drv/scsi/scsi_ioctl.c | scsi_do_cmd(SCpnt, cmd, buf, ((outlen > MAX_BUF) ? |
SCpnt | 186 | kernel/blk_drv/scsi/scsi_ioctl.c | if (SCpnt->request.dev != 0xfffe){ |
SCpnt | 187 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt->request.waiting = current; |
SCpnt | 189 | kernel/blk_drv/scsi/scsi_ioctl.c | while (SCpnt->request.dev != 0xfffe) schedule(); |
SCpnt | 196 | kernel/blk_drv/scsi/scsi_ioctl.c | result = SCpnt->result; |
SCpnt | 197 | kernel/blk_drv/scsi/scsi_ioctl.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 199 | kernel/blk_drv/scsi/scsi_ioctl.c | wake_up(&scsi_devices[SCpnt->index].device_wait); |
SCpnt | 57 | kernel/blk_drv/scsi/sd.c | static void requeue_sd_request (Scsi_Cmnd * SCpnt); |
SCpnt | 138 | kernel/blk_drv/scsi/sd.c | static void rw_intr (Scsi_Cmnd *SCpnt) |
SCpnt | 140 | kernel/blk_drv/scsi/sd.c | int result = SCpnt->result; |
SCpnt | 141 | kernel/blk_drv/scsi/sd.c | int this_count = SCpnt->bufflen >> 9; |
SCpnt | 144 | kernel/blk_drv/scsi/sd.c | printk("sd%d : rw_intr(%d, %x)\n", MINOR(SCpnt->request.dev), SCpnt->host, result); |
SCpnt | 156 | kernel/blk_drv/scsi/sd.c | printk("sd%d : %d sectors remain.\n", MINOR(SCpnt->request.dev), SCpnt->request.nr_sectors); |
SCpnt | 157 | kernel/blk_drv/scsi/sd.c | printk("use_sg is %d\n ",SCpnt->use_sg); |
SCpnt | 159 | kernel/blk_drv/scsi/sd.c | if (SCpnt->use_sg) { |
SCpnt | 162 | kernel/blk_drv/scsi/sd.c | sgpnt = (struct scatterlist *) SCpnt->buffer; |
SCpnt | 163 | kernel/blk_drv/scsi/sd.c | for(i=0; i<SCpnt->use_sg; i++) { |
SCpnt | 168 | kernel/blk_drv/scsi/sd.c | if (SCpnt->request.cmd == READ) |
SCpnt | 173 | kernel/blk_drv/scsi/sd.c | scsi_free(SCpnt->buffer, SCpnt->sglist_len); /* Free list of scatter-gather pointers */ |
SCpnt | 175 | kernel/blk_drv/scsi/sd.c | if (SCpnt->buffer != SCpnt->request.buffer) { |
SCpnt | 177 | kernel/blk_drv/scsi/sd.c | printk("nosg: %x %x %d\n",SCpnt->request.buffer, SCpnt->buffer, |
SCpnt | 178 | kernel/blk_drv/scsi/sd.c | SCpnt->bufflen); |
SCpnt | 180 | kernel/blk_drv/scsi/sd.c | if (SCpnt->request.cmd == READ) |
SCpnt | 181 | kernel/blk_drv/scsi/sd.c | memcpy(SCpnt->request.buffer, SCpnt->buffer, |
SCpnt | 182 | kernel/blk_drv/scsi/sd.c | SCpnt->bufflen); |
SCpnt | 183 | kernel/blk_drv/scsi/sd.c | scsi_free(SCpnt->buffer, SCpnt->bufflen); |
SCpnt | 191 | kernel/blk_drv/scsi/sd.c | if (SCpnt->request.nr_sectors > this_count) |
SCpnt | 193 | kernel/blk_drv/scsi/sd.c | SCpnt->request.errors = 0; |
SCpnt | 195 | kernel/blk_drv/scsi/sd.c | if (!SCpnt->request.bh) |
SCpnt | 199 | kernel/blk_drv/scsi/sd.c | MINOR(SCpnt->request.dev)); |
SCpnt | 206 | kernel/blk_drv/scsi/sd.c | SCpnt->request.sector, this_count); |
SCpnt | 210 | kernel/blk_drv/scsi/sd.c | end_scsi_request(SCpnt, 1, this_count); |
SCpnt | 211 | kernel/blk_drv/scsi/sd.c | requeue_sd_request(SCpnt); |
SCpnt | 216 | kernel/blk_drv/scsi/sd.c | if (SCpnt->use_sg) { |
SCpnt | 219 | kernel/blk_drv/scsi/sd.c | sgpnt = (struct scatterlist *) SCpnt->buffer; |
SCpnt | 220 | kernel/blk_drv/scsi/sd.c | for(i=0; i<SCpnt->use_sg; i++) { |
SCpnt | 222 | kernel/blk_drv/scsi/sd.c | printk("err: %x %x %d\n",SCpnt->request.buffer, SCpnt->buffer, |
SCpnt | 223 | kernel/blk_drv/scsi/sd.c | SCpnt->bufflen); |
SCpnt | 229 | kernel/blk_drv/scsi/sd.c | scsi_free(SCpnt->buffer, SCpnt->sglist_len); /* Free list of scatter-gather pointers */ |
SCpnt | 232 | kernel/blk_drv/scsi/sd.c | printk("nosgerr: %x %x %d\n",SCpnt->request.buffer, SCpnt->buffer, |
SCpnt | 233 | kernel/blk_drv/scsi/sd.c | SCpnt->bufflen); |
SCpnt | 235 | kernel/blk_drv/scsi/sd.c | if (SCpnt->buffer != SCpnt->request.buffer) |
SCpnt | 236 | kernel/blk_drv/scsi/sd.c | scsi_free(SCpnt->buffer, SCpnt->bufflen); |
SCpnt | 249 | kernel/blk_drv/scsi/sd.c | for(i=0;i<10;i++) printk(" %d",SCpnt->sense_buffer[i]); |
SCpnt | 257 | kernel/blk_drv/scsi/sd.c | if rscsi_disks[DEVICE_NR(SCpnt->request.dev)].remap |
SCpnt | 266 | kernel/blk_drv/scsi/sd.c | if ((SCpnt->sense_buffer[0] & 0x7f) == 0x70) { |
SCpnt | 267 | kernel/blk_drv/scsi/sd.c | if ((SCpnt->sense_buffer[2] & 0xf) == UNIT_ATTENTION) { |
SCpnt | 271 | kernel/blk_drv/scsi/sd.c | rscsi_disks[DEVICE_NR(SCpnt->request.dev)].device->changed = 1; |
SCpnt | 272 | kernel/blk_drv/scsi/sd.c | end_scsi_request(SCpnt, 0, this_count); |
SCpnt | 273 | kernel/blk_drv/scsi/sd.c | requeue_sd_request(SCpnt); |
SCpnt | 286 | kernel/blk_drv/scsi/sd.c | if (SCpnt->sense_buffer[2] == ILLEGAL_REQUEST) { |
SCpnt | 287 | kernel/blk_drv/scsi/sd.c | if (rscsi_disks[DEVICE_NR(SCpnt->request.dev)].ten) { |
SCpnt | 288 | kernel/blk_drv/scsi/sd.c | rscsi_disks[DEVICE_NR(SCpnt->request.dev)].ten = 0; |
SCpnt | 289 | kernel/blk_drv/scsi/sd.c | requeue_sd_request(SCpnt); |
SCpnt | 297 | kernel/blk_drv/scsi/sd.c | rscsi_disks[DEVICE_NR(SCpnt->request.dev)].device->host_no, |
SCpnt | 298 | kernel/blk_drv/scsi/sd.c | rscsi_disks[DEVICE_NR(SCpnt->request.dev)].device->id, |
SCpnt | 299 | kernel/blk_drv/scsi/sd.c | rscsi_disks[DEVICE_NR(SCpnt->request.dev)].device->lun, result); |
SCpnt | 303 | kernel/blk_drv/scsi/sd.c | sense_class(SCpnt->sense_buffer[0]), |
SCpnt | 304 | kernel/blk_drv/scsi/sd.c | sense_error(SCpnt->sense_buffer[0]), |
SCpnt | 305 | kernel/blk_drv/scsi/sd.c | SCpnt->sense_buffer[2] & 0xf); |
SCpnt | 307 | kernel/blk_drv/scsi/sd.c | end_scsi_request(SCpnt, 0, SCpnt->request.current_nr_sectors); |
SCpnt | 308 | kernel/blk_drv/scsi/sd.c | requeue_sd_request(SCpnt); |
SCpnt | 321 | kernel/blk_drv/scsi/sd.c | Scsi_Cmnd * SCpnt = NULL; |
SCpnt | 345 | kernel/blk_drv/scsi/sd.c | SCpnt = allocate_device(&CURRENT, |
SCpnt | 347 | kernel/blk_drv/scsi/sd.c | else SCpnt = NULL; |
SCpnt | 357 | kernel/blk_drv/scsi/sd.c | if (!SCpnt && NR_SD > 1){ |
SCpnt | 363 | kernel/blk_drv/scsi/sd.c | SCpnt = request_queueable(req, |
SCpnt | 365 | kernel/blk_drv/scsi/sd.c | if(SCpnt) break; |
SCpnt | 369 | kernel/blk_drv/scsi/sd.c | if (SCpnt) { |
SCpnt | 378 | kernel/blk_drv/scsi/sd.c | if (!SCpnt) return; /* Could not find anything to do */ |
SCpnt | 383 | kernel/blk_drv/scsi/sd.c | requeue_sd_request(SCpnt); |
SCpnt | 387 | kernel/blk_drv/scsi/sd.c | static void requeue_sd_request (Scsi_Cmnd * SCpnt) |
SCpnt | 395 | kernel/blk_drv/scsi/sd.c | if(SCpnt->request.dev <= 0) |
SCpnt | 398 | kernel/blk_drv/scsi/sd.c | dev = MINOR(SCpnt->request.dev); |
SCpnt | 399 | kernel/blk_drv/scsi/sd.c | block = SCpnt->request.sector; |
SCpnt | 406 | kernel/blk_drv/scsi/sd.c | if (dev >= (NR_SD << 4) || block + SCpnt->request.nr_sectors > sd[dev].nr_sects) |
SCpnt | 408 | kernel/blk_drv/scsi/sd.c | end_scsi_request(SCpnt, 0, SCpnt->request.nr_sectors); |
SCpnt | 421 | kernel/blk_drv/scsi/sd.c | end_scsi_request(SCpnt, 0, SCpnt->request.nr_sectors); |
SCpnt | 426 | kernel/blk_drv/scsi/sd.c | printk("sd%d : real dev = /dev/sd%d, block = %d\n", MINOR(SCpnt->request.dev), dev, block); |
SCpnt | 429 | kernel/blk_drv/scsi/sd.c | switch (SCpnt->request.cmd) |
SCpnt | 434 | kernel/blk_drv/scsi/sd.c | end_scsi_request(SCpnt, 0, SCpnt->request.nr_sectors); |
SCpnt | 443 | kernel/blk_drv/scsi/sd.c | printk ("Unknown sd command %d\n", SCpnt->request.cmd); |
SCpnt | 447 | kernel/blk_drv/scsi/sd.c | SCpnt->this_count = 0; |
SCpnt | 449 | kernel/blk_drv/scsi/sd.c | if (!SCpnt->request.bh || |
SCpnt | 450 | kernel/blk_drv/scsi/sd.c | (SCpnt->request.nr_sectors == SCpnt->request.current_nr_sectors)) { |
SCpnt | 453 | kernel/blk_drv/scsi/sd.c | this_count = SCpnt->request.nr_sectors; |
SCpnt | 454 | kernel/blk_drv/scsi/sd.c | buff = SCpnt->request.buffer; |
SCpnt | 455 | kernel/blk_drv/scsi/sd.c | SCpnt->use_sg = 0; |
SCpnt | 457 | kernel/blk_drv/scsi/sd.c | } else if (scsi_hosts[SCpnt->host].sg_tablesize == 0 || |
SCpnt | 468 | kernel/blk_drv/scsi/sd.c | if (scsi_hosts[SCpnt->host].sg_tablesize != 0 && |
SCpnt | 473 | kernel/blk_drv/scsi/sd.c | this_count = SCpnt->request.current_nr_sectors; |
SCpnt | 474 | kernel/blk_drv/scsi/sd.c | buff = SCpnt->request.buffer; |
SCpnt | 475 | kernel/blk_drv/scsi/sd.c | SCpnt->use_sg = 0; |
SCpnt | 483 | kernel/blk_drv/scsi/sd.c | bh = SCpnt->request.bh; |
SCpnt | 487 | kernel/blk_drv/scsi/sd.c | while(bh && count < scsi_hosts[SCpnt->host].sg_tablesize) { |
SCpnt | 493 | kernel/blk_drv/scsi/sd.c | SCpnt->use_sg = count; /* Number of chains */ |
SCpnt | 495 | kernel/blk_drv/scsi/sd.c | while( count < (SCpnt->use_sg * sizeof(struct scatterlist))) |
SCpnt | 497 | kernel/blk_drv/scsi/sd.c | SCpnt->sglist_len = count; |
SCpnt | 501 | kernel/blk_drv/scsi/sd.c | SCpnt->use_sg = 0; /* No memory left - bail out */ |
SCpnt | 502 | kernel/blk_drv/scsi/sd.c | this_count = SCpnt->request.current_nr_sectors; |
SCpnt | 503 | kernel/blk_drv/scsi/sd.c | buff = SCpnt->request.buffer; |
SCpnt | 507 | kernel/blk_drv/scsi/sd.c | bh = SCpnt->request.bh; |
SCpnt | 508 | kernel/blk_drv/scsi/sd.c | for(count = 0, bh = SCpnt->request.bh; count < SCpnt->use_sg; |
SCpnt | 514 | kernel/blk_drv/scsi/sd.c | ISA_DMA_THRESHOLD & (scsi_hosts[SCpnt->host].unchecked_isa_dma)) { |
SCpnt | 535 | kernel/blk_drv/scsi/sd.c | this_count = SCpnt->request.current_nr_sectors; |
SCpnt | 536 | kernel/blk_drv/scsi/sd.c | buff = SCpnt->request.buffer; |
SCpnt | 537 | kernel/blk_drv/scsi/sd.c | SCpnt->use_sg = 0; |
SCpnt | 538 | kernel/blk_drv/scsi/sd.c | scsi_free(buff, SCpnt->sglist_len); |
SCpnt | 542 | kernel/blk_drv/scsi/sd.c | if (SCpnt->request.cmd == WRITE) |
SCpnt | 552 | kernel/blk_drv/scsi/sd.c | if(SCpnt->use_sg == 0){ |
SCpnt | 554 | kernel/blk_drv/scsi/sd.c | (scsi_hosts[SCpnt->host].unchecked_isa_dma)) { |
SCpnt | 557 | kernel/blk_drv/scsi/sd.c | if (SCpnt->request.cmd == WRITE) |
SCpnt | 558 | kernel/blk_drv/scsi/sd.c | memcpy(buff, (char *)SCpnt->request.buffer, this_count << 9); |
SCpnt | 563 | kernel/blk_drv/scsi/sd.c | printk("sd%d : %s %d/%d 512 byte blocks.\n", MINOR(SCpnt->request.dev), |
SCpnt | 564 | kernel/blk_drv/scsi/sd.c | (SCpnt->request.cmd == WRITE) ? "writing" : "reading", |
SCpnt | 565 | kernel/blk_drv/scsi/sd.c | this_count, SCpnt->request.nr_sectors); |
SCpnt | 568 | kernel/blk_drv/scsi/sd.c | cmd[1] = (SCpnt->lun << 5) & 0xe0; |
SCpnt | 614 | kernel/blk_drv/scsi/sd.c | SCpnt->transfersize = rscsi_disks[dev].sector_size; |
SCpnt | 615 | kernel/blk_drv/scsi/sd.c | SCpnt->underflow = this_count << 9; |
SCpnt | 617 | kernel/blk_drv/scsi/sd.c | scsi_do_cmd (SCpnt, (void *) cmd, buff, |
SCpnt | 654 | kernel/blk_drv/scsi/sd.c | static void sd_init_done (Scsi_Cmnd * SCpnt) |
SCpnt | 659 | kernel/blk_drv/scsi/sd.c | req = &SCpnt->request; |
SCpnt | 676 | kernel/blk_drv/scsi/sd.c | Scsi_Cmnd * SCpnt; |
SCpnt | 682 | kernel/blk_drv/scsi/sd.c | SCpnt = allocate_device(NULL, rscsi_disks[i].device->index, 1); |
SCpnt | 689 | kernel/blk_drv/scsi/sd.c | SCpnt->request.dev = 0xffff; /* Mark as really busy again */ |
SCpnt | 690 | kernel/blk_drv/scsi/sd.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 691 | kernel/blk_drv/scsi/sd.c | SCpnt->sense_buffer[2] = 0; |
SCpnt | 693 | kernel/blk_drv/scsi/sd.c | scsi_do_cmd (SCpnt, |
SCpnt | 699 | kernel/blk_drv/scsi/sd.c | while(SCpnt->request.dev != 0xfffe); |
SCpnt | 701 | kernel/blk_drv/scsi/sd.c | if (SCpnt->request.dev != 0xfffe){ |
SCpnt | 702 | kernel/blk_drv/scsi/sd.c | SCpnt->request.waiting = current; |
SCpnt | 704 | kernel/blk_drv/scsi/sd.c | while (SCpnt->request.dev != 0xfffe) schedule(); |
SCpnt | 707 | kernel/blk_drv/scsi/sd.c | the_result = SCpnt->result; |
SCpnt | 712 | kernel/blk_drv/scsi/sd.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 714 | kernel/blk_drv/scsi/sd.c | wake_up(&scsi_devices[SCpnt->index].device_wait); |
SCpnt | 744 | kernel/blk_drv/scsi/sd.c | printk("sd%d : extended sense code = %1x \n", i, SCpnt->sense_buffer[2] & 0xf); |
SCpnt | 755 | kernel/blk_drv/scsi/sd.c | SCpnt->sense_buffer[2] == NOT_READY) |
SCpnt | 385 | kernel/blk_drv/scsi/seagate.c | int seagate_st0x_queue_command (Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *)) |
SCpnt | 391 | kernel/blk_drv/scsi/seagate.c | current_target = SCpnt->target; |
SCpnt | 392 | kernel/blk_drv/scsi/seagate.c | current_lun = SCpnt->lun; |
SCpnt | 393 | kernel/blk_drv/scsi/seagate.c | (const void *) current_cmnd = SCpnt->cmnd; |
SCpnt | 394 | kernel/blk_drv/scsi/seagate.c | current_data = SCpnt->request_buffer; |
SCpnt | 395 | kernel/blk_drv/scsi/seagate.c | current_bufflen = SCpnt->request_bufflen; |
SCpnt | 396 | kernel/blk_drv/scsi/seagate.c | SCint = SCpnt; |
SCpnt | 446 | kernel/blk_drv/scsi/seagate.c | int seagate_st0x_command (Scsi_Cmnd * SCpnt) { |
SCpnt | 447 | kernel/blk_drv/scsi/seagate.c | return internal_command (SCpnt->target, SCpnt->lun, SCpnt->cmnd, SCpnt->request_buffer, |
SCpnt | 448 | kernel/blk_drv/scsi/seagate.c | SCpnt->request_bufflen, |
SCpnt | 1345 | kernel/blk_drv/scsi/seagate.c | int seagate_st0x_abort (Scsi_Cmnd * SCpnt, int code) |
SCpnt | 43 | kernel/blk_drv/scsi/sr.c | void requeue_sr_request (Scsi_Cmnd * SCpnt); |
SCpnt | 109 | kernel/blk_drv/scsi/sr.c | static void rw_intr (Scsi_Cmnd * SCpnt) |
SCpnt | 111 | kernel/blk_drv/scsi/sr.c | int result = SCpnt->result; |
SCpnt | 112 | kernel/blk_drv/scsi/sr.c | int this_count = SCpnt->this_count; |
SCpnt | 115 | kernel/blk_drv/scsi/sr.c | printk("sr.c done: %x %x\n",result, SCpnt->request.bh->b_data); |
SCpnt | 119 | kernel/blk_drv/scsi/sr.c | if (SCpnt->use_sg == 0) { |
SCpnt | 120 | kernel/blk_drv/scsi/sr.c | if (SCpnt->buffer != SCpnt->request.buffer) |
SCpnt | 123 | kernel/blk_drv/scsi/sr.c | offset = (SCpnt->request.sector % 4) << 9; |
SCpnt | 124 | kernel/blk_drv/scsi/sr.c | memcpy((char *)SCpnt->request.buffer, |
SCpnt | 125 | kernel/blk_drv/scsi/sr.c | SCpnt->buffer + offset, |
SCpnt | 132 | kernel/blk_drv/scsi/sr.c | SCpnt->request.nr_sectors > this_count && |
SCpnt | 133 | kernel/blk_drv/scsi/sr.c | SCpnt->request.bh && |
SCpnt | 134 | kernel/blk_drv/scsi/sr.c | SCpnt->request.bh->b_reqnext && |
SCpnt | 135 | kernel/blk_drv/scsi/sr.c | SCpnt->request.bh->b_reqnext->b_size == 1024) { |
SCpnt | 136 | kernel/blk_drv/scsi/sr.c | memcpy((char *)SCpnt->request.bh->b_reqnext->b_data, |
SCpnt | 137 | kernel/blk_drv/scsi/sr.c | SCpnt->buffer + 1024, |
SCpnt | 142 | kernel/blk_drv/scsi/sr.c | scsi_free(SCpnt->buffer, 2048); |
SCpnt | 147 | kernel/blk_drv/scsi/sr.c | sgpnt = (struct scatterlist *) SCpnt->buffer; |
SCpnt | 148 | kernel/blk_drv/scsi/sr.c | for(i=0; i<SCpnt->use_sg; i++) { |
SCpnt | 156 | kernel/blk_drv/scsi/sr.c | scsi_free(SCpnt->buffer, SCpnt->sglist_len); /* Free list of scatter-gather pointers */ |
SCpnt | 157 | kernel/blk_drv/scsi/sr.c | if(SCpnt->request.sector % 4) this_count -= 2; |
SCpnt | 159 | kernel/blk_drv/scsi/sr.c | if(this_count > SCpnt->request.nr_sectors) |
SCpnt | 164 | kernel/blk_drv/scsi/sr.c | printk("(%x %x %x) ",SCpnt->request.bh, SCpnt->request.nr_sectors, |
SCpnt | 167 | kernel/blk_drv/scsi/sr.c | if (SCpnt->request.nr_sectors > this_count) |
SCpnt | 169 | kernel/blk_drv/scsi/sr.c | SCpnt->request.errors = 0; |
SCpnt | 170 | kernel/blk_drv/scsi/sr.c | if (!SCpnt->request.bh) |
SCpnt | 173 | kernel/blk_drv/scsi/sr.c | SCpnt->request.sector, this_count); |
SCpnt | 178 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 1, this_count); /* All done */ |
SCpnt | 179 | kernel/blk_drv/scsi/sr.c | requeue_sr_request(SCpnt); |
SCpnt | 186 | kernel/blk_drv/scsi/sr.c | if (SCpnt->use_sg) { |
SCpnt | 189 | kernel/blk_drv/scsi/sr.c | sgpnt = (struct scatterlist *) SCpnt->buffer; |
SCpnt | 190 | kernel/blk_drv/scsi/sr.c | for(i=0; i<SCpnt->use_sg; i++) { |
SCpnt | 195 | kernel/blk_drv/scsi/sr.c | scsi_free(SCpnt->buffer, SCpnt->sglist_len); /* Free list of scatter-gather pointers */ |
SCpnt | 197 | kernel/blk_drv/scsi/sr.c | if (SCpnt->buffer != SCpnt->request.buffer) |
SCpnt | 198 | kernel/blk_drv/scsi/sr.c | scsi_free(SCpnt->buffer, SCpnt->bufflen); |
SCpnt | 202 | kernel/blk_drv/scsi/sr.c | if ((SCpnt->sense_buffer[0] & 0x7f) == 0x70) { |
SCpnt | 203 | kernel/blk_drv/scsi/sr.c | if ((SCpnt->sense_buffer[2] & 0xf) == UNIT_ATTENTION) { |
SCpnt | 207 | kernel/blk_drv/scsi/sr.c | scsi_CDs[DEVICE_NR(SCpnt->request.dev)].device->changed = 1; |
SCpnt | 208 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, this_count); |
SCpnt | 209 | kernel/blk_drv/scsi/sr.c | requeue_sr_request(SCpnt); |
SCpnt | 214 | kernel/blk_drv/scsi/sr.c | if (SCpnt->sense_buffer[2] == ILLEGAL_REQUEST) { |
SCpnt | 216 | kernel/blk_drv/scsi/sr.c | if (scsi_CDs[DEVICE_NR(SCpnt->request.dev)].ten) { |
SCpnt | 217 | kernel/blk_drv/scsi/sr.c | scsi_CDs[DEVICE_NR(SCpnt->request.dev)].ten = 0; |
SCpnt | 218 | kernel/blk_drv/scsi/sr.c | requeue_sr_request(SCpnt); |
SCpnt | 222 | kernel/blk_drv/scsi/sr.c | printk("CD-ROM error: Drive reports %d.\n", SCpnt->sense_buffer[2]); |
SCpnt | 223 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, this_count); |
SCpnt | 224 | kernel/blk_drv/scsi/sr.c | requeue_sr_request(SCpnt); /* Do next request */ |
SCpnt | 230 | kernel/blk_drv/scsi/sr.c | if (SCpnt->sense_buffer[2] == NOT_READY) { |
SCpnt | 232 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, this_count); |
SCpnt | 233 | kernel/blk_drv/scsi/sr.c | requeue_sr_request(SCpnt); /* Do next request */ |
SCpnt | 241 | kernel/blk_drv/scsi/sr.c | scsi_CDs[DEVICE_NR(SCpnt->request.dev)].device->host_no, |
SCpnt | 242 | kernel/blk_drv/scsi/sr.c | scsi_CDs[DEVICE_NR(SCpnt->request.dev)].device->id, |
SCpnt | 243 | kernel/blk_drv/scsi/sr.c | scsi_CDs[DEVICE_NR(SCpnt->request.dev)].device->lun, |
SCpnt | 248 | kernel/blk_drv/scsi/sr.c | sense_class(SCpnt->sense_buffer[0]), |
SCpnt | 249 | kernel/blk_drv/scsi/sr.c | sense_error(SCpnt->sense_buffer[0]), |
SCpnt | 250 | kernel/blk_drv/scsi/sr.c | SCpnt->sense_buffer[2] & 0xf); |
SCpnt | 252 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, SCpnt->request.current_nr_sectors); |
SCpnt | 253 | kernel/blk_drv/scsi/sr.c | requeue_sr_request(SCpnt); |
SCpnt | 277 | kernel/blk_drv/scsi/sr.c | Scsi_Cmnd * SCpnt = NULL; |
SCpnt | 291 | kernel/blk_drv/scsi/sr.c | SCpnt = allocate_device(&CURRENT, |
SCpnt | 293 | kernel/blk_drv/scsi/sr.c | else SCpnt = NULL; |
SCpnt | 304 | kernel/blk_drv/scsi/sr.c | if (!SCpnt && NR_SR > 1){ |
SCpnt | 310 | kernel/blk_drv/scsi/sr.c | SCpnt = request_queueable(req, |
SCpnt | 312 | kernel/blk_drv/scsi/sr.c | if(SCpnt) break; |
SCpnt | 316 | kernel/blk_drv/scsi/sr.c | if (SCpnt) { |
SCpnt | 325 | kernel/blk_drv/scsi/sr.c | if (!SCpnt) |
SCpnt | 331 | kernel/blk_drv/scsi/sr.c | requeue_sr_request(SCpnt); |
SCpnt | 335 | kernel/blk_drv/scsi/sr.c | void requeue_sr_request (Scsi_Cmnd * SCpnt) |
SCpnt | 344 | kernel/blk_drv/scsi/sr.c | if(SCpnt->request.dev <= 0) |
SCpnt | 347 | kernel/blk_drv/scsi/sr.c | dev = MINOR(SCpnt->request.dev); |
SCpnt | 348 | kernel/blk_drv/scsi/sr.c | block = SCpnt->request.sector; |
SCpnt | 355 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, SCpnt->request.nr_sectors); |
SCpnt | 363 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, SCpnt->request.nr_sectors); |
SCpnt | 374 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, SCpnt->request.nr_sectors); |
SCpnt | 379 | kernel/blk_drv/scsi/sr.c | switch (SCpnt->request.cmd) |
SCpnt | 382 | kernel/blk_drv/scsi/sr.c | end_scsi_request(SCpnt, 0, SCpnt->request.nr_sectors); |
SCpnt | 389 | kernel/blk_drv/scsi/sr.c | printk ("Unknown sr command %d\n", SCpnt->request.cmd); |
SCpnt | 393 | kernel/blk_drv/scsi/sr.c | cmd[1] = (SCpnt->lun << 5) & 0xe0; |
SCpnt | 411 | kernel/blk_drv/scsi/sr.c | SCpnt->use_sg = 0; |
SCpnt | 413 | kernel/blk_drv/scsi/sr.c | if (scsi_hosts[SCpnt->host].sg_tablesize > 0 && |
SCpnt | 419 | kernel/blk_drv/scsi/sr.c | bh = SCpnt->request.bh; |
SCpnt | 425 | kernel/blk_drv/scsi/sr.c | this_count = SCpnt->request.sector % 4; |
SCpnt | 427 | kernel/blk_drv/scsi/sr.c | while(bh && count < scsi_hosts[SCpnt->host].sg_tablesize) { |
SCpnt | 436 | kernel/blk_drv/scsi/sr.c | if (count < scsi_hosts[SCpnt->host].sg_tablesize) { |
SCpnt | 445 | kernel/blk_drv/scsi/sr.c | SCpnt->use_sg = count; /* Number of chains */ |
SCpnt | 447 | kernel/blk_drv/scsi/sr.c | while( count < (SCpnt->use_sg * sizeof(struct scatterlist))) |
SCpnt | 449 | kernel/blk_drv/scsi/sr.c | SCpnt->sglist_len = count; |
SCpnt | 453 | kernel/blk_drv/scsi/sr.c | SCpnt->use_sg = 0; /* No memory left - bail out */ |
SCpnt | 457 | kernel/blk_drv/scsi/sr.c | bh = SCpnt->request.bh; |
SCpnt | 458 | kernel/blk_drv/scsi/sr.c | if(SCpnt->request.sector % 4) { |
SCpnt | 459 | kernel/blk_drv/scsi/sr.c | sgpnt[count].length = (SCpnt->request.sector % 4) << 9; |
SCpnt | 466 | kernel/blk_drv/scsi/sr.c | for(bh = SCpnt->request.bh; count < SCpnt->use_sg; |
SCpnt | 477 | kernel/blk_drv/scsi/sr.c | if (count+1 != SCpnt->use_sg) panic("Bad sr request list"); |
SCpnt | 481 | kernel/blk_drv/scsi/sr.c | ISA_DMA_THRESHOLD & (scsi_hosts[SCpnt->host].unchecked_isa_dma)) { |
SCpnt | 502 | kernel/blk_drv/scsi/sr.c | SCpnt->use_sg = 0; |
SCpnt | 503 | kernel/blk_drv/scsi/sr.c | scsi_free(buffer, SCpnt->sglist_len); |
SCpnt | 509 | kernel/blk_drv/scsi/sr.c | printk("SG: %d %d %d %d %d *** ",SCpnt->use_sg, SCpnt->request.sector, |
SCpnt | 511 | kernel/blk_drv/scsi/sr.c | SCpnt->request.current_nr_sectors, |
SCpnt | 512 | kernel/blk_drv/scsi/sr.c | SCpnt->request.nr_sectors); |
SCpnt | 513 | kernel/blk_drv/scsi/sr.c | for(count=0; count<SCpnt->use_sg; count++) |
SCpnt | 522 | kernel/blk_drv/scsi/sr.c | if (SCpnt->use_sg == 0){ |
SCpnt | 524 | kernel/blk_drv/scsi/sr.c | if (!SCpnt->request.bh) |
SCpnt | 525 | kernel/blk_drv/scsi/sr.c | this_count = SCpnt->request.nr_sectors; |
SCpnt | 527 | kernel/blk_drv/scsi/sr.c | this_count = (SCpnt->request.bh->b_size >> 9); |
SCpnt | 543 | kernel/blk_drv/scsi/sr.c | buffer = SCpnt->request.buffer; |
SCpnt | 545 | kernel/blk_drv/scsi/sr.c | (scsi_hosts[SCpnt->host].unchecked_isa_dma)) |
SCpnt | 595 | kernel/blk_drv/scsi/sr.c | SCpnt->this_count = this_count; |
SCpnt | 596 | kernel/blk_drv/scsi/sr.c | scsi_do_cmd (SCpnt, (void *) cmd, buffer, |
SCpnt | 612 | kernel/blk_drv/scsi/sr.c | static void sr_init_done (Scsi_Cmnd * SCpnt) |
SCpnt | 617 | kernel/blk_drv/scsi/sr.c | req = &SCpnt->request; |
SCpnt | 634 | kernel/blk_drv/scsi/sr.c | Scsi_Cmnd * SCpnt; |
SCpnt | 648 | kernel/blk_drv/scsi/sr.c | SCpnt = allocate_device(NULL, scsi_CDs[i].device->index, 1); |
SCpnt | 655 | kernel/blk_drv/scsi/sr.c | SCpnt->request.dev = 0xffff; /* Mark as really busy */ |
SCpnt | 657 | kernel/blk_drv/scsi/sr.c | scsi_do_cmd (SCpnt, |
SCpnt | 663 | kernel/blk_drv/scsi/sr.c | while(SCpnt->request.dev != 0xfffe); |
SCpnt | 665 | kernel/blk_drv/scsi/sr.c | if (SCpnt->request.dev != 0xfffe){ |
SCpnt | 666 | kernel/blk_drv/scsi/sr.c | SCpnt->request.waiting = current; |
SCpnt | 668 | kernel/blk_drv/scsi/sr.c | while (SCpnt->request.dev != 0xfffe) schedule(); |
SCpnt | 671 | kernel/blk_drv/scsi/sr.c | the_result = SCpnt->result; |
SCpnt | 676 | kernel/blk_drv/scsi/sr.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 678 | kernel/blk_drv/scsi/sr.c | wake_up(&scsi_devices[SCpnt->index].device_wait); |
SCpnt | 20 | kernel/blk_drv/scsi/sr_ioctl.c | static void sr_ioctl_done(Scsi_Cmnd * SCpnt) |
SCpnt | 25 | kernel/blk_drv/scsi/sr_ioctl.c | req = &SCpnt->request; |
SCpnt | 42 | kernel/blk_drv/scsi/sr_ioctl.c | Scsi_Cmnd * SCpnt; |
SCpnt | 45 | kernel/blk_drv/scsi/sr_ioctl.c | SCpnt = allocate_device(NULL, scsi_CDs[target].device->index, 1); |
SCpnt | 46 | kernel/blk_drv/scsi/sr_ioctl.c | scsi_do_cmd(SCpnt, |
SCpnt | 51 | kernel/blk_drv/scsi/sr_ioctl.c | if (SCpnt->request.dev != 0xfffe){ |
SCpnt | 52 | kernel/blk_drv/scsi/sr_ioctl.c | SCpnt->request.waiting = current; |
SCpnt | 54 | kernel/blk_drv/scsi/sr_ioctl.c | while (SCpnt->request.dev != 0xfffe) schedule(); |
SCpnt | 57 | kernel/blk_drv/scsi/sr_ioctl.c | result = SCpnt->result; |
SCpnt | 61 | kernel/blk_drv/scsi/sr_ioctl.c | switch(SCpnt->sense_buffer[2] & 0xf) { |
SCpnt | 79 | kernel/blk_drv/scsi/sr_ioctl.c | sense_class(SCpnt->sense_buffer[0]), |
SCpnt | 80 | kernel/blk_drv/scsi/sr_ioctl.c | sense_error(SCpnt->sense_buffer[0]), |
SCpnt | 81 | kernel/blk_drv/scsi/sr_ioctl.c | SCpnt->sense_buffer[2] & 0xf); |
SCpnt | 85 | kernel/blk_drv/scsi/sr_ioctl.c | result = SCpnt->result; |
SCpnt | 86 | kernel/blk_drv/scsi/sr_ioctl.c | SCpnt->request.dev = -1; /* Deallocate */ |
SCpnt | 87 | kernel/blk_drv/scsi/sr_ioctl.c | wake_up(&scsi_devices[SCpnt->index].device_wait); |
SCpnt | 92 | kernel/blk_drv/scsi/st.c | static void st_sleep_done (Scsi_Cmnd * SCpnt) |
SCpnt | 96 | kernel/blk_drv/scsi/st.c | if ((st_nbr = SCpnt->request.dev) < NR_ST && st_nbr >= 0) { |
SCpnt | 98 | kernel/blk_drv/scsi/st.c | (SCpnt->sense_buffer[0] & 0x70) == 0x70 && |
SCpnt | 99 | kernel/blk_drv/scsi/st.c | (SCpnt->sense_buffer[2] & 0x40)) |
SCpnt | 102 | kernel/blk_drv/scsi/st.c | scsi_tapes[st_nbr].buffer->last_result = SCpnt->result; |
SCpnt | 104 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; |
SCpnt | 106 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = 0xffff; |
SCpnt | 193 | kernel/blk_drv/scsi/st.c | Scsi_Cmnd *SCpnt; |
SCpnt | 210 | kernel/blk_drv/scsi/st.c | SCpnt = allocate_device(NULL, scsi_tapes[dev].device->index, 1); |
SCpnt | 220 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 228 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 229 | kernel/blk_drv/scsi/st.c | scsi_do_cmd (SCpnt, |
SCpnt | 233 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 235 | kernel/blk_drv/scsi/st.c | if (SCpnt->result != 0) { |
SCpnt | 238 | kernel/blk_drv/scsi/st.c | st_chk_result(dev, SCpnt->result, SCpnt->sense_buffer); |
SCpnt | 246 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 291 | kernel/blk_drv/scsi/st.c | Scsi_Cmnd * SCpnt; |
SCpnt | 322 | kernel/blk_drv/scsi/st.c | SCpnt = allocate_device(NULL, scsi_tapes[dev].device->index, 1); |
SCpnt | 323 | kernel/blk_drv/scsi/st.c | if (!SCpnt) { |
SCpnt | 328 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0]=0; |
SCpnt | 331 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 332 | kernel/blk_drv/scsi/st.c | scsi_do_cmd(SCpnt, |
SCpnt | 336 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 338 | kernel/blk_drv/scsi/st.c | if ((SCpnt->sense_buffer[0] & 0x70) == 0x70 && |
SCpnt | 339 | kernel/blk_drv/scsi/st.c | (SCpnt->sense_buffer[2] & 0x0f) == UNIT_ATTENTION) { /* New media? */ |
SCpnt | 341 | kernel/blk_drv/scsi/st.c | decode_sns(dev, SCpnt->sense_buffer); |
SCpnt | 343 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0]=0; |
SCpnt | 346 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 347 | kernel/blk_drv/scsi/st.c | scsi_do_cmd(SCpnt, |
SCpnt | 351 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 354 | kernel/blk_drv/scsi/st.c | if (SCpnt->result != 0) { |
SCpnt | 356 | kernel/blk_drv/scsi/st.c | decode_sns(dev, SCpnt->sense_buffer); |
SCpnt | 358 | kernel/blk_drv/scsi/st.c | if ((SCpnt->sense_buffer[0] & 0x70) == 0x70 && |
SCpnt | 359 | kernel/blk_drv/scsi/st.c | (SCpnt->sense_buffer[2] & 0x0f) == NO_TAPE) |
SCpnt | 362 | kernel/blk_drv/scsi/st.c | printk("st%d: Error %x.\n", dev, SCpnt->result); |
SCpnt | 365 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 369 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0]=0; |
SCpnt | 372 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 373 | kernel/blk_drv/scsi/st.c | scsi_do_cmd(SCpnt, |
SCpnt | 377 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 379 | kernel/blk_drv/scsi/st.c | if (!SCpnt->result && !SCpnt->sense_buffer[0]) { |
SCpnt | 396 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0]=0; |
SCpnt | 400 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 401 | kernel/blk_drv/scsi/st.c | scsi_do_cmd(SCpnt, |
SCpnt | 405 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 407 | kernel/blk_drv/scsi/st.c | i = st_chk_result(dev, SCpnt->result, SCpnt->sense_buffer); |
SCpnt | 415 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 486 | kernel/blk_drv/scsi/st.c | Scsi_Cmnd * SCpnt; |
SCpnt | 501 | kernel/blk_drv/scsi/st.c | SCpnt = allocate_device(NULL, scsi_tapes[dev].device->index, 1); |
SCpnt | 503 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 507 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 508 | kernel/blk_drv/scsi/st.c | scsi_do_cmd( SCpnt, |
SCpnt | 512 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 514 | kernel/blk_drv/scsi/st.c | if (SCpnt->result) { |
SCpnt | 517 | kernel/blk_drv/scsi/st.c | st_chk_result(dev, SCpnt->result, SCpnt->sense_buffer); |
SCpnt | 520 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 552 | kernel/blk_drv/scsi/st.c | Scsi_Cmnd * SCpnt; |
SCpnt | 589 | kernel/blk_drv/scsi/st.c | SCpnt = allocate_device(NULL, scsi_tapes[dev].device->index, 1); |
SCpnt | 611 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 612 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 613 | kernel/blk_drv/scsi/st.c | scsi_do_cmd (SCpnt, |
SCpnt | 618 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 620 | kernel/blk_drv/scsi/st.c | if (SCpnt->result || SCpnt->sense_buffer[0] != 0) { |
SCpnt | 623 | kernel/blk_drv/scsi/st.c | st_chk_result(dev, SCpnt->result, SCpnt->sense_buffer); |
SCpnt | 625 | kernel/blk_drv/scsi/st.c | if ((SCpnt->sense_buffer[0] & 0x70) == 0x70 && |
SCpnt | 626 | kernel/blk_drv/scsi/st.c | (SCpnt->sense_buffer[2] & 0x40)) |
SCpnt | 630 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 651 | kernel/blk_drv/scsi/st.c | do_count = st_chk_result(dev, SCpnt->result, SCpnt->sense_buffer); |
SCpnt | 653 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; |
SCpnt | 668 | kernel/blk_drv/scsi/st.c | SCpnt->result = scsi_tapes[dev].buffer->last_result = -1; |
SCpnt | 669 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 670 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 671 | kernel/blk_drv/scsi/st.c | scsi_do_cmd (SCpnt, |
SCpnt | 678 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 691 | kernel/blk_drv/scsi/st.c | Scsi_Cmnd * SCpnt; |
SCpnt | 719 | kernel/blk_drv/scsi/st.c | SCpnt = allocate_device(NULL, scsi_tapes[dev].device->index, 1); |
SCpnt | 734 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 735 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 736 | kernel/blk_drv/scsi/st.c | scsi_do_cmd (SCpnt, |
SCpnt | 741 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 746 | kernel/blk_drv/scsi/st.c | if (SCpnt->result != 0 || SCpnt->sense_buffer[0] != 0) { |
SCpnt | 749 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0], SCpnt->sense_buffer[1], |
SCpnt | 750 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[2], SCpnt->sense_buffer[3], |
SCpnt | 751 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[4], SCpnt->sense_buffer[5], |
SCpnt | 752 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[6], SCpnt->sense_buffer[7]); |
SCpnt | 754 | kernel/blk_drv/scsi/st.c | if ((SCpnt->sense_buffer[0] & 0x70) == 0x70) { /* extended sense */ |
SCpnt | 756 | kernel/blk_drv/scsi/st.c | if ((SCpnt->sense_buffer[2] & 0xe0) != 0) { /* EOF, EOM, or ILI */ |
SCpnt | 757 | kernel/blk_drv/scsi/st.c | transfer = (SCpnt->sense_buffer[3] << 24) | |
SCpnt | 758 | kernel/blk_drv/scsi/st.c | (SCpnt->sense_buffer[4] << 16) | |
SCpnt | 759 | kernel/blk_drv/scsi/st.c | (SCpnt->sense_buffer[5] << 8) | SCpnt->sense_buffer[6]; |
SCpnt | 761 | kernel/blk_drv/scsi/st.c | if (SCpnt->sense_buffer[2] & 0x20) { |
SCpnt | 763 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 766 | kernel/blk_drv/scsi/st.c | else if (SCpnt->sense_buffer[2] & 0x40) { |
SCpnt | 776 | kernel/blk_drv/scsi/st.c | else if (SCpnt->sense_buffer[2] & 0x80) { |
SCpnt | 790 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[2] & 0x0f); |
SCpnt | 791 | kernel/blk_drv/scsi/st.c | decode_sns(dev, SCpnt->sense_buffer); |
SCpnt | 793 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; |
SCpnt | 801 | kernel/blk_drv/scsi/st.c | transfer = st_chk_result(dev, SCpnt->result, SCpnt->sense_buffer); |
SCpnt | 802 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 830 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 840 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 855 | kernel/blk_drv/scsi/st.c | Scsi_Cmnd * SCpnt; |
SCpnt | 1045 | kernel/blk_drv/scsi/st.c | SCpnt = allocate_device(NULL, scsi_tapes[dev].device->index, 1); |
SCpnt | 1046 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 1047 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 1048 | kernel/blk_drv/scsi/st.c | scsi_do_cmd(SCpnt, |
SCpnt | 1052 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 1054 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 1056 | kernel/blk_drv/scsi/st.c | ioctl_result = st_chk_result(dev, SCpnt->result, SCpnt->sense_buffer); |
SCpnt | 1096 | kernel/blk_drv/scsi/st.c | Scsi_Cmnd *SCpnt; |
SCpnt | 1153 | kernel/blk_drv/scsi/st.c | SCpnt = allocate_device(NULL, scsi_tapes[dev].device->index, 1); |
SCpnt | 1155 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0]=0; |
SCpnt | 1165 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = dev; |
SCpnt | 1166 | kernel/blk_drv/scsi/st.c | SCpnt->sense_buffer[0] = 0; |
SCpnt | 1167 | kernel/blk_drv/scsi/st.c | scsi_do_cmd(SCpnt, |
SCpnt | 1171 | kernel/blk_drv/scsi/st.c | if (SCpnt->request.dev == dev) sleep_on( &scsi_tapes[dev].waiting ); |
SCpnt | 1173 | kernel/blk_drv/scsi/st.c | if (SCpnt->result || SCpnt->sense_buffer[0]) { |
SCpnt | 1194 | kernel/blk_drv/scsi/st.c | SCpnt->request.dev = -1; /* Mark as not busy */ |
SCpnt | 38 | kernel/blk_drv/scsi/st.h | Scsi_Cmnd SCpnt; |
SCpnt | 177 | kernel/blk_drv/scsi/ultrastor.c | static inline void build_sg_list(Scsi_Cmnd *SCpnt); |
SCpnt | 336 | kernel/blk_drv/scsi/ultrastor.c | static inline void build_sg_list(Scsi_Cmnd *SCpnt) |
SCpnt | 343 | kernel/blk_drv/scsi/ultrastor.c | sl = (struct scatterlist *) SCpnt->request_buffer; |
SCpnt | 344 | kernel/blk_drv/scsi/ultrastor.c | SCpnt->host_scribble = scsi_malloc(512); |
SCpnt | 345 | kernel/blk_drv/scsi/ultrastor.c | if (SCpnt->host_scribble == NULL) |
SCpnt | 349 | kernel/blk_drv/scsi/ultrastor.c | sglist = (ultrastor_sg_list *) SCpnt->host_scribble; |
SCpnt | 350 | kernel/blk_drv/scsi/ultrastor.c | for (i = 0; i < SCpnt->use_sg; i++) { |
SCpnt | 355 | kernel/blk_drv/scsi/ultrastor.c | mscp.number_of_sg_list = (char) SCpnt->use_sg; |
SCpnt | 362 | kernel/blk_drv/scsi/ultrastor.c | int ultrastor_queuecommand(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) |
SCpnt | 388 | kernel/blk_drv/scsi/ultrastor.c | mscp.target_id = SCpnt->target; |
SCpnt | 390 | kernel/blk_drv/scsi/ultrastor.c | mscp.lun = SCpnt->lun; |
SCpnt | 391 | kernel/blk_drv/scsi/ultrastor.c | if (SCpnt->use_sg) { |
SCpnt | 394 | kernel/blk_drv/scsi/ultrastor.c | build_sg_list(SCpnt); |
SCpnt | 399 | kernel/blk_drv/scsi/ultrastor.c | mscp.transfer_data = *(Longword *)&SCpnt->request_buffer; |
SCpnt | 400 | kernel/blk_drv/scsi/ultrastor.c | mscp.transfer_data_length = *(Longword *)&SCpnt->request_bufflen; |
SCpnt | 401 | kernel/blk_drv/scsi/ultrastor.c | SCpnt->host_scribble = NULL; |
SCpnt | 406 | kernel/blk_drv/scsi/ultrastor.c | mscp.length_of_scsi_cdbs = COMMAND_SIZE(*(unsigned char *)SCpnt->cmnd); |
SCpnt | 407 | kernel/blk_drv/scsi/ultrastor.c | memcpy(mscp.scsi_cdbs, SCpnt->cmnd, mscp.length_of_scsi_cdbs); |
SCpnt | 434 | kernel/blk_drv/scsi/ultrastor.c | SCint = SCpnt; |
SCpnt | 443 | kernel/blk_drv/scsi/ultrastor.c | int ultrastor_abort(Scsi_Cmnd *SCpnt, int code) |
SCpnt | 452 | kernel/blk_drv/scsi/ultrastor.c | if (SCpnt->host_scribble) |
SCpnt | 453 | kernel/blk_drv/scsi/ultrastor.c | scsi_free(SCpnt->host_scribble, 512); |
SCpnt | 283 | kernel/blk_drv/scsi/wd7000.c | static void wd7000_scsi_done(Scsi_Cmnd * SCpnt) |
SCpnt | 285 | kernel/blk_drv/scsi/wd7000.c | DEB(printk("wd7000_scsi_done: %06x\n",SCpnt);) |
SCpnt | 286 | kernel/blk_drv/scsi/wd7000.c | SCpnt->SCp.phase = 0; |
SCpnt | 296 | kernel/blk_drv/scsi/wd7000.c | Scsi_Cmnd *SCpnt; |
SCpnt | 326 | kernel/blk_drv/scsi/wd7000.c | SCpnt = scb->SCpnt; |
SCpnt | 327 | kernel/blk_drv/scsi/wd7000.c | if (--(SCpnt->SCp.phase) <= 0) { /* all scbs for SCpnt are done */ |
SCpnt | 331 | kernel/blk_drv/scsi/wd7000.c | SCpnt->result = errstatus; |
SCpnt | 333 | kernel/blk_drv/scsi/wd7000.c | if (SCpnt->host_scribble != NULL) |
SCpnt | 334 | kernel/blk_drv/scsi/wd7000.c | scsi_free(SCpnt->host_scribble,WD7000_SCRIBBLE); |
SCpnt | 337 | kernel/blk_drv/scsi/wd7000.c | SCpnt->scsi_done(SCpnt); |
SCpnt | 351 | kernel/blk_drv/scsi/wd7000.c | int wd7000_queuecommand(Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *)) |
SCpnt | 359 | kernel/blk_drv/scsi/wd7000.c | cdb = (unchar *) SCpnt->cmnd; |
SCpnt | 361 | kernel/blk_drv/scsi/wd7000.c | idlun = ((SCpnt->target << 5) & 0xe0) | (SCpnt->lun & 7); |
SCpnt | 362 | kernel/blk_drv/scsi/wd7000.c | SCpnt->scsi_done = done; |
SCpnt | 363 | kernel/blk_drv/scsi/wd7000.c | SCpnt->SCp.phase = 1; |
SCpnt | 368 | kernel/blk_drv/scsi/wd7000.c | scb->SCpnt = SCpnt; /* so we can find stuff later */ |
SCpnt | 369 | kernel/blk_drv/scsi/wd7000.c | SCpnt->host_scribble = NULL; |
SCpnt | 371 | kernel/blk_drv/scsi/wd7000.c | SCpnt->request_bufflen, SCpnt->bufflen);) |
SCpnt | 373 | kernel/blk_drv/scsi/wd7000.c | if (SCpnt->use_sg) { |
SCpnt | 374 | kernel/blk_drv/scsi/wd7000.c | struct scatterlist *sg = (struct scatterlist *) SCpnt->request_buffer; |
SCpnt | 381 | kernel/blk_drv/scsi/wd7000.c | printk("Using scatter/gather with %d elements.\n",SCpnt->use_sg); |
SCpnt | 388 | kernel/blk_drv/scsi/wd7000.c | if (SCpnt->use_sg > WD7000_SG) |
SCpnt | 391 | kernel/blk_drv/scsi/wd7000.c | SCpnt->host_scribble = scsi_malloc(WD7000_SCRIBBLE); |
SCpnt | 392 | kernel/blk_drv/scsi/wd7000.c | sgb = (Sgb *) SCpnt->host_scribble; |
SCpnt | 398 | kernel/blk_drv/scsi/wd7000.c | any2scsi(scb->maxlen, SCpnt->use_sg * sizeof (Sgb) ); |
SCpnt | 400 | kernel/blk_drv/scsi/wd7000.c | for (i = 0; i < SCpnt->use_sg; i++) { |
SCpnt | 406 | kernel/blk_drv/scsi/wd7000.c | scsi2int(scb->maxlen), SCpnt->use_sg);) |
SCpnt | 409 | kernel/blk_drv/scsi/wd7000.c | any2scsi(scb->dataptr, SCpnt->request_buffer); |
SCpnt | 410 | kernel/blk_drv/scsi/wd7000.c | any2scsi(scb->maxlen, SCpnt->request_bufflen); |
SCpnt | 417 | kernel/blk_drv/scsi/wd7000.c | int wd7000_command(Scsi_Cmnd *SCpnt) |
SCpnt | 419 | kernel/blk_drv/scsi/wd7000.c | wd7000_queuecommand(SCpnt, wd7000_scsi_done); |
SCpnt | 421 | kernel/blk_drv/scsi/wd7000.c | while (SCpnt->SCp.phase > 0); /* phase counts scbs down to 0 */ |
SCpnt | 423 | kernel/blk_drv/scsi/wd7000.c | return SCpnt->result; |
SCpnt | 577 | kernel/blk_drv/scsi/wd7000.c | int wd7000_abort(Scsi_Cmnd * SCpnt, int i) |
SCpnt | 580 | kernel/blk_drv/scsi/wd7000.c | printk("wd7000_abort: Scsi_Cmnd = 0x%08x, code = %d ", SCpnt, i); |
SCpnt | 581 | kernel/blk_drv/scsi/wd7000.c | printk("id %d lun %d cdb", SCpnt->target, SCpnt->lun); |
SCpnt | 582 | kernel/blk_drv/scsi/wd7000.c | { int j; unchar *cdbj = (unchar *) SCpnt->cmnd; |
SCpnt | 584 | kernel/blk_drv/scsi/wd7000.c | printk(" result %08x\n", SCpnt->result); |
SCpnt | 141 | kernel/blk_drv/scsi/wd7000.h | Scsi_Cmnd *SCpnt; /* Scsi_Cmnd using this SCB */ |