Bug 78191 - Parport PC driver ignores nACK line state
Summary: Parport PC driver ignores nACK line state
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Parallel (show other bugs)
Hardware: i386 Linux
: P1 normal
Assignee: drivers_parallel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-17 14:42 UTC by Evgeniy
Modified: 2014-06-17 14:42 UTC (History)
0 users

See Also:
Kernel Version: 3.11.7
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Evgeniy 2014-06-17 14:42:14 UTC
Looks like parport_pc driver ignores nACK line state and checks only BUSY line. 

There is this text it IEEE1284-2000:

Compatibility Mode forward data transfer phase: Begins when the host asserts nStrobe and ends following data hold time and nStrobe de-assertion. (Note that the host is not free to send the next data byte until the peripheral acknowledges the transfer using nAck.) The host may not initiate negotiation to a new
operating mode until the interface returns to Compatibility Mode forward idle phase.

I've set SPP mode in BIOS, Linux detected it:

user@host~$ cat /proc/sys/dev/parport/parport0/modes 
PCSPP,TRISTATE

NACK and BUSY is pulled up with port internal resistor to +5V, when I'm pulling down BUSY input to GND of LPT port, and trying to write there something (for example cat /dev/zero > /dev/lp0) there are no nACK lock ("successful" writing of any data without acknowledge from device). I've tried to read sources and haven't found any nACK checks/interrupts, looks like parport_ieee1284_write_compat() do not checks it, but it should.

Note You need to log in before you can comment on or make changes to this bug.