mirror of https://github.com/torvalds/linux.git
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: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| Transition-notes | ||
| aten.c | ||
| bpck.c | ||
| bpck6.c | ||
| comm.c | ||
| dstr.c | ||
| epat.c | ||
| epia.c | ||
| fit2.c | ||
| fit3.c | ||
| friq.c | ||
| frpw.c | ||
| kbic.c | ||
| ktti.c | ||
| mkd | ||
| on20.c | ||
| on26.c | ||
| paride.c | ||
| paride.h | ||
| pcd.c | ||
| pd.c | ||
| pf.c | ||
| pg.c | ||
| ppc6lnx.c | ||
| pseudo.h | ||
| pt.c | ||