Skip to content
  • Ondrej Zary's avatar
    paride: pf driver fixes · e62aa046
    Ondrej Zary authored
    
    
    The pf driver for parallel port floppy drives seems to be broken.  At least
    with Imation SuperDisk with EPAT chip, the driver calls pi_connect() and
    pi_disconnect after each transferred sector.  At least with EPAT, this
    operation is very expensive - causes drive recalibration.  Thus, transferring
    even a single byte (dd if=/dev/pf0 of=/dev/null bs=1 count=1) takes 20
    seconds, making the driver useless.
    
    The pf_next_buf() function seems to be broken as it returns 1 always (except
    when pf_run is non-zero), causing the loop in do_pf_read_drq (and
    do_pf_write_drq) to be executed only once.
    
    The following patch fixes this problem.  It also fixes swapped descriptions in
    pf_lock() function and removes DBMSG macro, which seems useless.
    
    Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e62aa046