Loading drivers/scsi/atp870u.c +30 −38 Original line number Diff line number Diff line Loading @@ -617,7 +617,7 @@ static DEF_SCSI_QCMD(atp870u_queuecommand) */ static void send_s870(struct atp_unit *dev,unsigned char c) { struct scsi_cmnd *workreq; struct scsi_cmnd *workreq = NULL; unsigned int i;//,k; unsigned char j, target_id; unsigned char *prd; Loading @@ -638,15 +638,15 @@ static void send_s870(struct atp_unit *dev,unsigned char c) if ((dev->last_cmd[c] != 0xff) && ((dev->last_cmd[c] & 0x40) != 0)) { dev->last_cmd[c] &= 0x0f; workreq = dev->id[c][dev->last_cmd[c]].curr_req; if (workreq != NULL) { /* check NULL pointer */ goto cmd_subp; } if (!workreq) { dev->last_cmd[c] = 0xff; if (dev->quhd[c] == dev->quend[c]) { dev->in_snd[c] = 0; return; } } } if (!workreq) { if ((dev->last_cmd[c] != 0xff) && (dev->working[c] != 0)) { dev->in_snd[c] = 0; return; Loading @@ -654,34 +654,26 @@ static void send_s870(struct atp_unit *dev,unsigned char c) dev->working[c]++; j = dev->quhd[c]; dev->quhd[c]++; if (dev->quhd[c] >= qcnt) { if (dev->quhd[c] >= qcnt) dev->quhd[c] = 0; } workreq = dev->quereq[c][dev->quhd[c]]; if (dev->id[c][scmd_id(workreq)].curr_req == NULL) { dev->id[c][scmd_id(workreq)].curr_req = workreq; dev->last_cmd[c] = scmd_id(workreq); goto cmd_subp; } if (dev->id[c][scmd_id(workreq)].curr_req != NULL) { dev->quhd[c] = j; dev->working[c]--; dev->in_snd[c] = 0; return; cmd_subp: if ((inb(dev->ioport[c] + 0x1f) & 0xb0) != 0) { goto abortsnd; } if (inb(dev->ioport[c] + 0x1c) == 0) { goto oktosend; dev->id[c][scmd_id(workreq)].curr_req = workreq; dev->last_cmd[c] = scmd_id(workreq); } abortsnd: if ((inb(dev->ioport[c] + 0x1f) & 0xb0) != 0 || inb(dev->ioport[c] + 0x1c) != 0) { #ifdef ED_DBGP printk("Abort to Send\n"); #endif dev->last_cmd[c] |= 0x40; dev->in_snd[c] = 0; return; oktosend: } #ifdef ED_DBGP printk("OK to Send\n"); scmd_printk(KERN_DEBUG, workreq, "CDB"); Loading Loading
drivers/scsi/atp870u.c +30 −38 Original line number Diff line number Diff line Loading @@ -617,7 +617,7 @@ static DEF_SCSI_QCMD(atp870u_queuecommand) */ static void send_s870(struct atp_unit *dev,unsigned char c) { struct scsi_cmnd *workreq; struct scsi_cmnd *workreq = NULL; unsigned int i;//,k; unsigned char j, target_id; unsigned char *prd; Loading @@ -638,15 +638,15 @@ static void send_s870(struct atp_unit *dev,unsigned char c) if ((dev->last_cmd[c] != 0xff) && ((dev->last_cmd[c] & 0x40) != 0)) { dev->last_cmd[c] &= 0x0f; workreq = dev->id[c][dev->last_cmd[c]].curr_req; if (workreq != NULL) { /* check NULL pointer */ goto cmd_subp; } if (!workreq) { dev->last_cmd[c] = 0xff; if (dev->quhd[c] == dev->quend[c]) { dev->in_snd[c] = 0; return; } } } if (!workreq) { if ((dev->last_cmd[c] != 0xff) && (dev->working[c] != 0)) { dev->in_snd[c] = 0; return; Loading @@ -654,34 +654,26 @@ static void send_s870(struct atp_unit *dev,unsigned char c) dev->working[c]++; j = dev->quhd[c]; dev->quhd[c]++; if (dev->quhd[c] >= qcnt) { if (dev->quhd[c] >= qcnt) dev->quhd[c] = 0; } workreq = dev->quereq[c][dev->quhd[c]]; if (dev->id[c][scmd_id(workreq)].curr_req == NULL) { dev->id[c][scmd_id(workreq)].curr_req = workreq; dev->last_cmd[c] = scmd_id(workreq); goto cmd_subp; } if (dev->id[c][scmd_id(workreq)].curr_req != NULL) { dev->quhd[c] = j; dev->working[c]--; dev->in_snd[c] = 0; return; cmd_subp: if ((inb(dev->ioport[c] + 0x1f) & 0xb0) != 0) { goto abortsnd; } if (inb(dev->ioport[c] + 0x1c) == 0) { goto oktosend; dev->id[c][scmd_id(workreq)].curr_req = workreq; dev->last_cmd[c] = scmd_id(workreq); } abortsnd: if ((inb(dev->ioport[c] + 0x1f) & 0xb0) != 0 || inb(dev->ioport[c] + 0x1c) != 0) { #ifdef ED_DBGP printk("Abort to Send\n"); #endif dev->last_cmd[c] |= 0x40; dev->in_snd[c] = 0; return; oktosend: } #ifdef ED_DBGP printk("OK to Send\n"); scmd_printk(KERN_DEBUG, workreq, "CDB"); Loading