--- ppa.org.c Fri Jul 7 01:05:15 2000 +++ ppa.c Fri Jul 7 21:53:36 2000 @@ -115,7 +115,7 @@ int ppa_detect(Scsi_Host_Template * host int i, nhosts, try_again; struct parport *pb = parport_enumerate(); - printk("ppa: Version %s\n", PPA_VERSION); + printk("ppa: Version %s (PJCv3)\n", PPA_VERSION); /* PJC */ nhosts = 0; try_again = 0; @@ -252,7 +252,7 @@ int ppa_proc_info(char *buffer, char **s if (inout) return ppa_proc_write(i, buffer, length); - len += sprintf(buffer + len, "Version : %s\n", PPA_VERSION); + len += sprintf(buffer + len, "Version : %s (PJCv3)\n", PPA_VERSION); len += sprintf(buffer + len, "Parport : %s\n", ppa_hosts[i].dev->port->name); len += sprintf(buffer + len, "Mode : %s\n", PPA_MODE_STRING[ppa_hosts[i].mode]); @@ -303,7 +303,7 @@ static unsigned char ppa_wait(int host_n k--; udelay(1); } - while (!(r & 0x80) && (k)); + while (((r & 0xc0)!=0xc0) && (k)); /* Wait for bit 6 and 7 - PJC */ /* * return some status information. @@ -637,7 +637,6 @@ static int ppa_completion(Scsi_Cmnd * cm * 1 Finished data transfer */ int host_no = cmd->host->unique_id; - unsigned short ppb = PPA_BASE(host_no); unsigned long start_jiffies = jiffies; unsigned char r, v; @@ -649,11 +648,7 @@ static int ppa_completion(Scsi_Cmnd * cm (v == WRITE_6) || (v == WRITE_10)); - /* - * We only get here if the drive is ready to comunicate, - * hence no need for a full ppa_wait. - */ - r = (r_str(ppb) & 0xf0); + r = ppa_wait(host_no); /* Need a ppa_wait() - PJC */ while (r != (unsigned char) 0xf0) { /* @@ -691,7 +686,7 @@ static int ppa_completion(Scsi_Cmnd * cm } } /* Now check to see if the drive is ready to comunicate */ - r = (r_str(ppb) & 0xf0); + r = ppa_wait(host_no); /* need ppa_wait() - PJC */ /* If not, drop back down to the scheduler and wait a timer tick */ if (!(r & 0x80)) return 0;