Re: [PARPORT] I/O hang with epat in kernel 2.4

From: Joshua Jore (moomonk@wolverine.timelords.org)
Date: Fri Mar 02 2001 - 18:41:22 EST

  • Next message: Gunther Mayer: "[PARPORT] Patch(Linux-2.4.2): Parport ACPI PNP0400/0401 Autodetect"

    I recall that the commercial, closed source superdisk drivers would also
    lock up plenty o' folks pcs. Usually that seemed to be due to chipset
    oddness and the drivers' propensity to muck around with the parport chip
    directly (to make it go faster). I also know that the current 1.01 and
    1.02 epat protocols in lknl spend (much) more time than they need to doing
    epat_connect than they need to. I'm ignorent on multithreading so if the
    problem is caused by epat being slow and holding something else up... I
    wouldn't know a thing about it.

    Perhaps this'll help someone who has more of a clue than I.

    Josh (the clueless one) Jore

    World War III will be a guerilla information war, with no division between military and civilian participation --Marsha

    On Fri, 2 Mar 2001, Stephen Mollett wrote:

    > I am using a SyQuest EZ230 drive (epat protocol) with kernel 2.4.x (all 2.4
    > versions so far are affected). When I try to access the drive, having
    > modprobed the drivers, the process attempting to access it hangs
    > (uninterruptible sleep) and can only be killed by a reboot. The console log
    > shows repeated errors.
    >
    > I have tried this with different port delays, in SPP, PS/2 and EPP modes,
    > with and without SuperIO detection enabled and on two different machines (one
    > SMP, the other UP). If I boot to kernel 2.2.17, the drive works perfectly.
    >
    > Regards,
    > Stephen Mollett
    >
    > [console log dumps follow]
    >
    > $ modprobe parport_pc
    >
    > ...
    > Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...
    > Winbond chip at EFER=0x3f0 key=0x87 devid=97 devrev=73 oldid=ff
    > Winbond chip type 83977TF / SMSC 97w33x/97w34x
    > Winbond LPT Config: cr_30=01 60,61=0378 70=07 74=04, f0=39
    > Winbond LPT Config: active=yes, io=0x0378 irq=7, dma=none
    > Winbond LPT Config: irqtype=pulsed low, high-Z, ECP fifo threshold=7
    > Winbond LPT Config: Port mode=EPP-1.9 and SPP
    > SMSC Super-IO detection, now testing Ports 2F0, 370 ...
    > parport0: PC-style at 0x378 [PCSPP,TRISTATE,EPP]
    > parport0: irq 7 detected
    > parport0: cpp_mux: aa55f00f52ad51(16)
    > parport0: cpp_daisy: aa5500ff(10)
    > parport0: assign_addrs: aa5500ff(10)
    > parport0: cpp_mux: aa55f00f52ad51(06)
    > parport0: cpp_daisy: aa5500ff(00)
    > parport0: assign_addrs: aa5500ff(00)
    > parport0: No more nibble data (0 bytes)
    > parport0: faking semi-colon
    > parport0: Legacy device
    >
    >
    > $ modprobe epat
    > $ modprobe pd
    >
    > ...
    > paride: version 1.05 installed
    > paride: epat registered as protocol 0
    > pd: pd version 1.05, major 45, cluster 64, nice 0
    > pda: Sharing parport0 at 0x378
    > pda: epat 1.01, Shuttle EPAT chip c3 at 0x378, mode 5 (EPP-32), delay 0
    > pda: SyQuest EZ230A, master, 450560 blocks [220M], (880/16/32), removable
    > media
    > pda: pda1
    >
    > $ mke2fs /dev/pda1
    >
    > ...
    > pda: do_pd_write_drq: status = 0x10052 = INDEX SEEK READY TMO
    > pda: do_pd_write_drq: status = 0x10052 = INDEX SEEK READY TMO
    > (etc.)
    >
    > or
    > $ mount /dev/pda1 /syquest
    >
    > pda: do_pd_read_drq: status = 0x205b = ERR INDEX DRQ SEEK READY MC
    > pda: do_pd_read: status = 0x205b = ERR INDEX DRQ SEEK READY MC
    > pda: do_pd_read: status = 0x205b = ERR INDEX DRQ SEEK READY MC
    > (etc.)
    >
    > -- To unsubscribe, send mail to: linux-parport-request@torque.net --
    > -- with the single word "unsubscribe" in the body of the message. --
    >
    >

    -- 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 2b29 : Sat Mar 03 2001 - 07:06:28 EST