printk("%s: qcomm, target %d.%d:%d, pid %ld, adapter busy.\n", BN(j), SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, SCpnt->pid); 
scmd_printk(KERN_INFO, SCpnt, "qcomm, pid %ld, adapter busy.\n", SCpnt->pid); 
static int u14_34f_queuecommand(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) {   unsigned int i, j, k;   struct mscp *cpp;   /* j is the board number */   j = ((struct hostdata *) SCpnt->device->host->hostdata)->board_number;   if (SCpnt->host_scribble)      panic("%s: qcomm, pid %ld, SCpnt %p already active.\n",            BN(j), SCpnt->pid, SCpnt);   /* i is the mailbox number, look for the first free mailbox      starting from last_cp_used */   i = HD(j)->last_cp_used + 1;   for (k = 0; k < sh[j]->can_queue; k++, i++) {      if (i >= sh[j]->can_queue) i = 0;      if (HD(j)->cp_stat[i] == FREE) {         HD(j)->last_cp_used = i;         break;         }      }   if (k == sh[j]->can_queue) {      printk("%s: qcomm, no free mailbox.\n", BN(j));      return 1;      }   /* Set pointer to control packet structure */   cpp = &HD(j)->cp[i];   memset(cpp, 0, sizeof(struct mscp) - CP_TAIL_SIZE);   SCpnt->scsi_done = done;   cpp->cpp_index = i;   SCpnt->host_scribble = (unsigned char *) &cpp->cpp_index;   if (do_trace) printk("%s: qcomm, mbox %d, target %d.%d:%d, pid %ld.\n",                        BN(j), i, SCpnt->device->channel, SCpnt->device->id,                        SCpnt->device->lun, SCpnt->pid);   cpp->opcode = OP_SCSI;   cpp->channel = SCpnt->device->channel;   cpp->target = SCpnt->device->id;   cpp->lun = SCpnt->device->lun;   cpp->SCpnt = SCpnt;   cpp->cdb_len = SCpnt->cmd_len;   memcpy(cpp->cdb, SCpnt->cmnd, SCpnt->cmd_len);   /* Use data transfer direction SCpnt->sc_data_direction */   scsi_to_dev_dir(i, j);   /* Map DMA buffers and SG list */   map_dma(i, j);   if (linked_comm && SCpnt->device->queue_depth > 2                                     && TLDEV(SCpnt->device->type)) {      HD(j)->cp_stat[i] = READY;      flush_dev(SCpnt->device, SCpnt->request->sector, j, FALSE);      return 0;      }   if (wait_on_busy(sh[j]->io_port, MAXLOOP)) {      unmap_dma(i, j);      SCpnt->host_scribble = NULL;      printk("%s: qcomm, target %d.%d:%d, pid %ld, adapter busy.\n",             BN(j), SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, SCpnt->pid);      return 1;      }   /* Store pointer in OGM address bytes */   outl(H2DEV(cpp->cp_dma_addr), sh[j]->io_port + REG_OGM);   /* Issue OGM interrupt */   outb(CMD_OGM_INTR, sh[j]->io_port + REG_LCL_INTR);   HD(j)->cp_stat[i] = IN_USE;   return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/017560fca496f72ed9dd734ffde63ce39dfe0411/u14-34f.c/buggy/drivers/scsi/u14-34f.c