Messages in this thread Patch in this message | | | Subject | PATCH: fix ppa for new scsi | Date | Fri, 14 Feb 2003 21:05:09 +0000 (GMT) | From | Alan Cox <> |
| |
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.5.60-ref/drivers/scsi/ppa.c linux-2.5.60-ac1/drivers/scsi/ppa.c --- linux-2.5.60-ref/drivers/scsi/ppa.c 2003-02-14 21:21:36.000000000 +0000 +++ linux-2.5.60-ac1/drivers/scsi/ppa.c 2003-02-14 20:36:01.000000000 +0000 @@ -148,7 +148,7 @@ "pardevice is owning the port for too longtime!\n", i); parport_unregister_device(ppa_hosts[i].dev); - spin_lock_irq(ppa_hosts[i].cur_cmd->host->host_lock); + spin_lock_irq(ppa_hosts[i].cur_cmd->device->host->host_lock); return 0; } } @@ -635,7 +635,7 @@ static inline int ppa_send_command(Scsi_Cmnd * cmd) { - int host_no = cmd->host->unique_id; + int host_no = cmd->device->host->unique_id; int k; w_ctr(PPA_BASE(host_no), 0x0c); @@ -661,7 +661,7 @@ * 0 Told to schedule * 1 Finished data transfer */ - int host_no = cmd->host->unique_id; + int host_no = cmd->device->host->unique_id; unsigned short ppb = PPA_BASE(host_no); unsigned long start_jiffies = jiffies; @@ -752,7 +752,7 @@ int ppa_command(Scsi_Cmnd * cmd) { static int first_pass = 1; - int host_no = cmd->host->unique_id; + int host_no = cmd->device->host->unique_id; if (first_pass) { printk("ppa: using non-queuing interface\n"); @@ -774,7 +774,7 @@ schedule(); if (cmd->SCp.phase) /* Only disconnect if we have connected */ - ppa_disconnect(cmd->host->unique_id); + ppa_disconnect(cmd->device->host->unique_id); ppa_pb_release(host_no); ppa_hosts[host_no].cur_cmd = 0; @@ -807,7 +807,7 @@ case DID_OK: break; case DID_NO_CONNECT: - printk("ppa: no device at SCSI ID %i\n", cmd->target); + printk("ppa: no device at SCSI ID %i\n", cmd->device->target); break; case DID_BUS_BUSY: printk("ppa: BUS BUSY - EPP timeout detected\n"); @@ -836,21 +836,21 @@ #endif if (cmd->SCp.phase > 1) - ppa_disconnect(cmd->host->unique_id); + ppa_disconnect(cmd->device->host->unique_id); if (cmd->SCp.phase > 0) - ppa_pb_release(cmd->host->unique_id); + ppa_pb_release(cmd->device->host->unique_id); tmp->cur_cmd = 0; - spin_lock_irqsave(cmd->host->host_lock, flags); + spin_lock_irqsave(cmd->device->host->host_lock, flags); cmd->scsi_done(cmd); - spin_unlock_irqrestore(cmd->host->host_lock, flags); + spin_unlock_irqrestore(cmd->device->host->host_lock, flags); return; } static int ppa_engine(ppa_struct * tmp, Scsi_Cmnd * cmd) { - int host_no = cmd->host->unique_id; + int host_no = cmd->device->host->unique_id; unsigned short ppb = PPA_BASE(host_no); unsigned char l = 0, h = 0; int retv; @@ -900,7 +900,7 @@ } case 2: /* Phase 2 - We are now talking to the scsi bus */ - if (!ppa_select(host_no, cmd->target)) { + if (!ppa_select(host_no, cmd->device->id)) { ppa_fail(host_no, DID_NO_CONNECT); return 0; } @@ -966,7 +966,7 @@ int ppa_queuecommand(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *)) { - int host_no = cmd->host->unique_id; + int host_no = cmd->device->host->unique_id; if (ppa_hosts[host_no].cur_cmd) { printk("PPA: bug in ppa_queuecommand\n"); @@ -1011,7 +1011,7 @@ int ppa_abort(Scsi_Cmnd * cmd) { - int host_no = cmd->host->unique_id; + int host_no = cmd->device->host->unique_id; /* * There is no method for aborting commands since Iomega * have tied the SCSI_MESSAGE line high in the interface @@ -1039,7 +1039,7 @@ int ppa_reset(Scsi_Cmnd * cmd) { - int host_no = cmd->host->unique_id; + int host_no = cmd->device->host->unique_id; if (cmd->SCp.phase) ppa_disconnect(host_no); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |