Re: [PARPORT] Re: 2.2.1 crash


David Cambell (campbell@gear.torque.net)
Tue, 2 Mar 1999 08:20:42 -0500 (EST)


>
> It happened again!
>
> On Mon, 1 Mar 1999, Marc Heckmann wrote:
>
> > > The system totally hung, even SAK couldn't tell it to stop. It was
> > > apparently trying to do something with the ZIP, since the orange light on
> > > the ZIP was flashing in a repeating pattern. Ejecting the ZIP cartridge
> > > didn't help. I was forced to power-cycle the machine (then manual fsck).
> > There have been on alot of reports of systems freezes (2.2.1) with ZIP
> > drives. I have experienced myself. What type of filesystem was on the
> > disk, cause there have been a lot of crash reports with vfat as well.
>
> More precisely: I use autofs. autofs tries to mount as vfat /dev/sda4. It
> autoloads the imm module (alias scsi_hostadapter...). The system crashes.
>
> Now I have a possible explanation. Sometimes, for some mysterious reason,
> the imm module refuses to load. Apparently, the ZIP doesn't answer well.

I forgot I traced that down about a week ago where some people had troubles
loading imm manually. There was a problem in the init code with a bad reset
function (actually the one from ppa :-(

David Campbell

--- 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 Tue 02 Mar 1999 - 08:21:32 EST