taglinefilesource code
mbo244kernel/blk_drv/scsi/aha1542.cint errstatus, mbi, mbo, mbistatus;
mbo283kernel/blk_drv/scsi/aha1542.cmbo = (scsi2int(mb[mbi].ccbptr) - ((unsigned int) &ccb[0])) / sizeof(struct ccb);
mbo291kernel/blk_drv/scsi/aha1542.cif (ccb[mbo].tarstat|ccb[mbo].hastat)
mbo293kernel/blk_drv/scsi/aha1542.cccb[mbo].tarstat + ((int) ccb[mbo].hastat << 16), mb[mbi].status);
mbo300kernel/blk_drv/scsi/aha1542.cprintk("...done %d %d\n",mbo, mbi);
mbo303kernel/blk_drv/scsi/aha1542.cSCtmp = SCint[mbo];
mbo316kernel/blk_drv/scsi/aha1542.cif (ccb[mbo].tarstat == 2)
mbo317kernel/blk_drv/scsi/aha1542.cmemcpy(SCtmp->sense_buffer, &ccb[mbo].cdb[ccb[mbo].cdblen], 
mbo326kernel/blk_drv/scsi/aha1542.cerrstatus = makecode(ccb[mbo].hastat, ccb[mbo].tarstat);
mbo332kernel/blk_drv/scsi/aha1542.cccb[mbo].hastat, ccb[mbo].tarstat);
mbo335kernel/blk_drv/scsi/aha1542.cif (ccb[mbo].tarstat == 2) {
mbo342kernel/blk_drv/scsi/aha1542.cprintk("%02x ", ccb[mbo].cdb[ccb[mbo].cdblen+i]);
mbo354kernel/blk_drv/scsi/aha1542.cSCint[mbo] = NULL;  /* This effectively frees up the mailbox slot, as
mbo370kernel/blk_drv/scsi/aha1542.cint mbo;
mbo412kernel/blk_drv/scsi/aha1542.cmbo = aha1542_last_mbo_used + 1;
mbo413kernel/blk_drv/scsi/aha1542.cif (mbo >= AHA1542_MAILBOXES) mbo = 0;
mbo416kernel/blk_drv/scsi/aha1542.cif(mb[mbo].status == 0 && SCint[mbo] == NULL)
mbo418kernel/blk_drv/scsi/aha1542.cmbo++;
mbo419kernel/blk_drv/scsi/aha1542.cif (mbo >= AHA1542_MAILBOXES) mbo = 0;
mbo420kernel/blk_drv/scsi/aha1542.c} while (mbo != aha1542_last_mbo_used);
mbo422kernel/blk_drv/scsi/aha1542.cif(mb[mbo].status || SCint[mbo])
mbo425kernel/blk_drv/scsi/aha1542.cSCint[mbo] = SCpnt;  /* This will effectively prevent someone else from
mbo428kernel/blk_drv/scsi/aha1542.caha1542_last_mbo_used = mbo;    
mbo432kernel/blk_drv/scsi/aha1542.cprintk("Sending command (%d %x)...",mbo, done);
mbo435kernel/blk_drv/scsi/aha1542.cany2scsi(mb[mbo].ccbptr, &ccb[mbo]); /* This gets trashed for some reason*/
mbo437kernel/blk_drv/scsi/aha1542.cmemset(&ccb[mbo], 0, sizeof(struct ccb));
mbo439kernel/blk_drv/scsi/aha1542.cccb[mbo].cdblen = COMMAND_SIZE(*cmd);     /* SCSI Command Descriptor Block Length */
mbo447kernel/blk_drv/scsi/aha1542.cmemcpy(ccb[mbo].cdb, cmd, ccb[mbo].cdblen);
mbo456kernel/blk_drv/scsi/aha1542.cccb[mbo].op = 2;        /* SCSI Initiator Command  w/scatter-gather*/
mbo479kernel/blk_drv/scsi/aha1542.cany2scsi(ccb[mbo].datalen, SCpnt->use_sg * sizeof(struct chain));
mbo481kernel/blk_drv/scsi/aha1542.cany2scsi(ccb[mbo].dataptr, cptr);
mbo488kernel/blk_drv/scsi/aha1542.cccb[mbo].op = 0;        /* SCSI Initiator Command */
mbo490kernel/blk_drv/scsi/aha1542.cany2scsi(ccb[mbo].datalen, bufflen);
mbo491kernel/blk_drv/scsi/aha1542.cany2scsi(ccb[mbo].dataptr, buff);
mbo493kernel/blk_drv/scsi/aha1542.cccb[mbo].idlun = (target&7)<<5 | direction | (lun & 7); /*SCSI Target Id*/
mbo494kernel/blk_drv/scsi/aha1542.cccb[mbo].rsalen = 12;
mbo495kernel/blk_drv/scsi/aha1542.cccb[mbo].linkptr[0] = ccb[mbo].linkptr[1] = ccb[mbo].linkptr[2] = 0;
mbo496kernel/blk_drv/scsi/aha1542.cccb[mbo].commlinkid = 0;
mbo501kernel/blk_drv/scsi/aha1542.cfor (i = 0; i < sizeof(ccb[mbo])-10; i++)
mbo502kernel/blk_drv/scsi/aha1542.cprintk("%02x ", ((unchar *)&ccb[mbo])[i]);
mbo509kernel/blk_drv/scsi/aha1542.cmb[mbo].status = 1;
mbo774kernel/blk_drv/scsi/aha1542.cint mbo;
mbo779kernel/blk_drv/scsi/aha1542.cfor(mbo = 0; mbo < AHA1542_MAILBOXES; mbo++)
mbo780kernel/blk_drv/scsi/aha1542.cif (SCpnt == SCint[mbo]){
mbo781kernel/blk_drv/scsi/aha1542.cmb[mbo].status = 2;  /* Abort command */