[PARPORT] imm driver patch for 2.2.1


David Campbell (campbell@torque.net)
Sat, 13 Feb 1999 13:54:58 +0800


Linus and Alan,

I have managed to track down a problem which prevented the imm driver
comunicating with some newer Iomega ZIP drives. It turns out I
accidently left used a reset routine from the ppa driver (older ZIP
drives). Attached is a patch which fixes this problem.

Thanks for your time

David Campbell
=======================================================
campbell@torque.net
Check http://www.torque.net/parport for all Linux parallel port solutions.
(also check http://www.torque.net/parport/archive/current/)
Current project list:
a) Catch up on the ZIP Plus backlog (drive back from waranty)
b) Maintain Linux ZIP drivers (need to update docs)
c) sleep
d) real life

--- linux/drivers/scsi/imm.c Sat Feb 13 13:01:15 1999
+++ linux/drivers/scsi/imm.c Sat Feb 13 13:41:30 1999
@@ -1204,19 +1204,16 @@
             status = imm_out(host_no, &cmd[l << 1], 2);
 
         if (!status) {
- imm_disconnect(host_no);
- imm_connect(host_no, CONNECT_EPP_MAYBE);
- w_dtr(ppb, 0x40);
- w_ctr(ppb, 0x08);
- udelay(30);
- w_ctr(ppb, 0x0c);
- udelay(1000);
- imm_disconnect(host_no);
- udelay(1000);
- if (imm_hosts[host_no].mode == IMM_EPP_32) {
- imm_hosts[host_no].mode = old_mode;
- goto second_pass;
- }
+ imm_disconnect(host_no);
+ imm_connect(host_no, CONNECT_EPP_MAYBE);
+ imm_reset_pulse(IMM_BASE(host_no));
+ udelay(1000);
+ imm_disconnect(host_no);
+ udelay(1000);
+ if (imm_hosts[host_no].mode == IMM_EPP_32) {
+ imm_hosts[host_no].mode = old_mode;
+ goto second_pass;
+ }
             printk("imm: Unable to establish communication, aborting driver load.\n");
             return 1;
         }

-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --



This archive was generated by hypermail 2.0b3 on Sat 13 Feb 1999 - 00:58:29 EST