2001-04-09 17:53:01

by Hal Duston

[permalink] [raw]
Subject: [PATCH] PS/2 ESDI

All,

Here is a patch I have put together (with much assistance from Jens Axboe)
that permits ps2esdi machines to boot again. It is against 2.4.3. In
case my mailer mangles it, it is also available at the following URL.

http://www.sound.net/~hald/projects/ps2esdi/ps2esdi-2.4.3.patch0

Thanks, and not on the list,
Hal Duston
[email protected]


Attachments:
ps2esdi-2.4.3.patch0 (7.72 kB)

2001-04-09 19:03:28

by Hal Duston

[permalink] [raw]
Subject: Re: [PATCH] PS/2 ESDI

All,

OK, Helge is of course correct here. I will get a new patch out tonight.

Basically, the ending = -1; needs to be preceded by an else.
(I think so anyway, as I don't have access to that machine right now.)

Hal Duston
[email protected]

On Mon, 9 Apr 2001, Helge Deller wrote:

> Hi Hal,
>
> I don't have any ps2esdi devices, but while I was looking at your patch I
> found:
>
> case INT_CMD_COMPLETE:
> @@ -893,13 +879,9 @@
> printk("%s: timeout reading status word\n", DEVICE_NAME);
> outb((int_ret_code & 0xe0) | ATT_EOI, ESDI_ATTN);
> outb(CTRL_ENABLE_INTR, ESDI_CONTROL);
> - if ((++CURRENT->errors) < MAX_RETRIES)
> - do_ps2esdi_request(NULL);
> - else {
> - end_request(FAIL);
> - if (!QUEUE_EMPTY)
> - do_ps2esdi_request(NULL);
> - }
> + if ((++CURRENT->errors) >= MAX_RETRIES)
> + ending = FAIL;
> + ending = -1;
> break;
> }
>
> Just a thought:
> in this if().. clause ending may get the FAIL value, but directly afterwards
> it is set to -1 again....
> You have this two times in your patch.
>
> Greetings,
> Helge.